Exemple #1
0
    didInsertElement: function () {
        // #### Navigating within the sidebar closes it.
        var self = this;

        $('body').on('click tap', '.js-nav-item', function () {
            Ember.run(function () {
                if (mobileQuery.matches) {
                    self.set('controller.showGlobalMobileNav', false);
                }
            });
        });

        // #### Close the nav if mobile and clicking outside of the nav or not the burger toggle
        $('.js-nav-cover').on('click tap', function () {
            Ember.run(function () {
                var isOpen = self.get('controller.showGlobalMobileNav');

                if (isOpen) {
                    self.set('controller.showGlobalMobileNav', false);
                }
            });
        });

        function swapUserMenuDropdownTriangleClasses(mq) {
            if (mq.matches) {
                $('.js-user-menu-dropdown-menu').removeClass('dropdown-triangle-top-right ').addClass('dropdown-triangle-bottom');
            } else {
                $('.js-user-menu-dropdown-menu').removeClass('dropdown-triangle-bottom').addClass('dropdown-triangle-top-right');
            }
        }

        // #### Listen to the viewport and change user-menu dropdown triangle classes accordingly
        this.set('swapUserMenuDropdownTriangleClasses', Ember.run.bind(this, swapUserMenuDropdownTriangleClasses));

        mobileQuery.addListener(this.get('swapUserMenuDropdownTriangleClasses'));
        swapUserMenuDropdownTriangleClasses(mobileQuery);

        this.set('closeGlobalMobileNavOnDesktop', Ember.run.bind(this, function closeGlobalMobileNavOnDesktop(mq) {
            if (!mq.matches) {
                // Is desktop sized
                this.set('controller.showGlobalMobileNav', false);
            }
        }));

        mobileQuery.addListener(this.get('closeGlobalMobileNavOnDesktop'));
    },
 setupCloseNavOnDesktop: function () {
     this.set('closeGlobalMobileNavOnDesktop', _.bind(function closeGlobalMobileNavOnDesktop(mq) {
         if (!mq.matches) {
             // Is desktop sized
             this.set('controller.showGlobalMobileNav', false);
         }
     }, this));
     mobileQuery.addListener(this.closeGlobalMobileNavOnDesktop);
 }.on('didInsertElement'),
Exemple #3
0
    didInsertElement: function () {
        // #### Navigating within the sidebar closes it.
        var self = this;

        $('body').on('click tap', '.js-nav-item', function () {
            Ember.run(function () {
                if (mobileQuery.matches) {
                    self.set('controller.showGlobalMobileNav', false);
                }
            });
        });

        // #### Close the nav if mobile and clicking outside of the nav or not the burger toggle
        $('.js-nav-cover').on('click tap', function () {
            Ember.run(function () {
                var isOpen = self.get('controller.showGlobalMobileNav');

                if (isOpen) {
                    self.set('controller.showGlobalMobileNav', false);
                }
            });
        });

        // TODO: ABOVE - All of this can be removed
        // TODO: BELOW - John wrote this, reimplement in a not-shit way

        // #### Toggle nav between fixed and auto
        $('.gh-autonav-toggle').on('click tap', function () {
            $('.gh-viewport').toggleClass('gh-autonav');
            $('.gh-autonav-toggle i').toggleClass('icon-minimise').toggleClass('icon-maximise');
            $('.gh-nav').removeClass('open');
        });

        // #### Open and close the nav on hover
        $('.gh-nav').mouseenter(function () {
            $('.gh-nav').addClass('open');
        });
        $('.gh-main').mouseenter(function () {
            $('.gh-nav').removeClass('open');
        });

        mobileQuery.addListener(this.get('closeGlobalMobileNavOnDesktop'));
    },
    setupGlobalMobileNav: function () {
        // #### Navigating within the sidebar closes it.
        var self = this;
        $('body').on('click', '.js-nav-item', function () {
            if (mobileQuery.matches) {
                self.set('controller.showGlobalMobileNav', false);
            }
        });

        // #### Close the nav if mobile and clicking outside of the nav or not the burger toggle
        $('.js-nav-cover').on('click', function () {
            var isOpen = self.get('controller.showGlobalMobileNav');
            if (isOpen) {
                self.set('controller.showGlobalMobileNav', false);
            }
        });

        // #### Listen to the viewport and change user-menu dropdown triangle classes accordingly
        mobileQuery.addListener(this.swapUserMenuPopoverTriangleClasses);
        this.swapUserMenuPopoverTriangleClasses(mobileQuery);

    }.on('didInsertElement'),
Exemple #5
0
 activate: function attachDesktopTransition() {
     this._super();
     mobileQuery.addListener(this.desktopTransitionMQ);
 },