ng-responsive-nav
Version:
A mobile friendly navigation solution
66 lines • 4.89 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: app/directives/orientation.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { WINDOW } from '../window/window.provider';
import { DOCUMENT } from '@angular/common';
import { MobileNavigationComponent } from '../mobile-navigation/mobile-navigation.component';
import { Inject, Directive } from '@angular/core';
export class OrientationDirective {
/**
* @param {?} document
* @param {?} window
* @param {?} mobileNavMenu
*/
constructor(document, window, mobileNavMenu) {
this.window = window;
this.mobileNavMenu = mobileNavMenu;
this.onInitialise();
}
/**
* @return {?}
*/
onInitialise() {
this.window.addEventListener('orientationchange', (/**
* @return {?}
*/
() => {
if (this._isLandScape()) {
this.mobileNavMenu.canActivateMobileNav = false;
document.body.style.overflowY = 'scroll';
}
}));
}
/**
* @private
* @return {?}
*/
_isLandScape() {
return this.window.outerWidth < this.window.outerHeight;
}
}
OrientationDirective.decorators = [
{ type: Directive, args: [{
selector: '[appCheckOrientation]'
},] }
];
/** @nocollapse */
OrientationDirective.ctorParameters = () => [
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
{ type: Window, decorators: [{ type: Inject, args: [WINDOW,] }] },
{ type: MobileNavigationComponent }
];
if (false) {
/**
* @type {?}
* @private
*/
OrientationDirective.prototype.window;
/**
* @type {?}
* @private
*/
OrientationDirective.prototype.mobileNavMenu;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZW50YXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctcmVzcG9uc2l2ZS1uYXYvIiwic291cmNlcyI6WyJhcHAvZGlyZWN0aXZlcy9vcmllbnRhdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBTWhELE1BQU0sT0FBTyxvQkFBb0I7Ozs7OztJQUkvQixZQUE4QixRQUFrQixFQUFrQixNQUFjLEVBQUUsYUFBd0M7UUFDeEgsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFFbkMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7Ozs7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1COzs7UUFBRSxHQUFHLEVBQUU7WUFDckQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO2dCQUNoRCxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO2FBQzFDO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUVPLFlBQVk7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUMxRCxDQUFDOzs7WUExQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7YUFDbEM7Ozs7WUFNeUMsUUFBUSx1QkFBbkMsTUFBTSxTQUFDLFFBQVE7WUFBOEMsTUFBTSx1QkFBN0IsTUFBTSxTQUFDLE1BQU07WUFYMUQseUJBQXlCOzs7Ozs7O0lBUS9CLHNDQUFnQzs7Ozs7SUFDaEMsNkNBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtXSU5ET1d9IGZyb20gJy4uL3dpbmRvdy93aW5kb3cucHJvdmlkZXInO1xyXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge01vYmlsZU5hdmlnYXRpb25Db21wb25lbnR9IGZyb20gJy4uL21vYmlsZS1uYXZpZ2F0aW9uL21vYmlsZS1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SW5qZWN0LCBEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXBwQ2hlY2tPcmllbnRhdGlvbl0nXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgT3JpZW50YXRpb25EaXJlY3RpdmUge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBXaW5kb3c7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBtb2JpbGVOYXZNZW51OiBNb2JpbGVOYXZpZ2F0aW9uQ29tcG9uZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogRG9jdW1lbnQsIEBJbmplY3QoV0lORE9XKSB3aW5kb3c6IFdpbmRvdywgbW9iaWxlTmF2TWVudTogTW9iaWxlTmF2aWdhdGlvbkNvbXBvbmVudCkge1xyXG4gICAgdGhpcy53aW5kb3cgPSB3aW5kb3c7XHJcbiAgICB0aGlzLm1vYmlsZU5hdk1lbnUgPSBtb2JpbGVOYXZNZW51O1xyXG5cclxuICAgIHRoaXMub25Jbml0aWFsaXNlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Jbml0aWFsaXNlKCk6IHZvaWQge1xyXG4gICAgdGhpcy53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb3JpZW50YXRpb25jaGFuZ2UnLCAoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLl9pc0xhbmRTY2FwZSgpKSB7XHJcbiAgICAgICAgdGhpcy5tb2JpbGVOYXZNZW51LmNhbkFjdGl2YXRlTW9iaWxlTmF2ID0gZmFsc2U7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvd1kgPSAnc2Nyb2xsJztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pc0xhbmRTY2FwZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLndpbmRvdy5vdXRlcldpZHRoIDwgdGhpcy53aW5kb3cub3V0ZXJIZWlnaHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==