@lucasferreiralsf/angular-frontend-library
Version:
This is a set of custom angular components to easy the development of any Subway frontend project.
123 lines • 10.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input } from '@angular/core';
import { trigger, state, style, transition, animate } from '@angular/animations';
import { HeaderService } from '../header/header.service';
import { SidenavService } from './sidenav.service';
export class SideNavComponent {
/**
* @param {?} headerService
* @param {?} sidenavService
*/
constructor(headerService, sidenavService) {
this.headerService = headerService;
this.sidenavService = sidenavService;
this.isExpanded = true;
this.isShowing = false;
this.isHideToggle = !this.isExpanded;
}
/**
* @return {?}
*/
ngOnInit() {
this.headerService.showMenuClickEvent.subscribe((/**
* @return {?}
*/
() => {
if (this.isExpanded === true) {
this.sidenavService.expandEmit(false);
this.isExpanded = false;
}
else {
this.sidenavService.expandEmit(true);
this.isExpanded = true;
}
if (this.isHideToggle === true) {
this.sidenavService.hideToggleEmit(false);
this.isHideToggle = false;
}
else {
this.sidenavService.hideToggleEmit(true);
this.isHideToggle = true;
}
}));
}
/**
* @return {?}
*/
mouseenter() {
if (!this.isExpanded) {
this.isShowing = true;
this.sidenavService.showEmit(true);
this.isHideToggle = false;
this.sidenavService.hideToggleEmit(false);
}
}
/**
* @return {?}
*/
mouseleave() {
if (!this.isExpanded) {
this.isShowing = false;
this.sidenavService.showEmit(false);
this.isHideToggle = true;
this.sidenavService.hideToggleEmit(true);
}
}
}
SideNavComponent.decorators = [
{ type: Component, args: [{
selector: 'sb-side-nav',
template: "<mat-sidenav-container class=\"sb-sidenav-container\" autosize>\n <mat-sidenav\n #sidenav\n class=\"mat-elevation-z3 sb-sidenav\"\n [@openClose]=\"isHideToggle ? 'closed' : 'open'\"\n mode=\"side\"\n opened=\"true\"\n (mouseenter)=\"mouseenter()\"\n (mouseleave)=\"mouseleave()\"\n *ngIf=\"isRenderSidenav\"\n >\n <perfect-scrollbar>\n <ng-content select=\".sb-sidenav-menus\"></ng-content>\n </perfect-scrollbar>\n </mat-sidenav>\n\n <!-- Main content -->\n <mat-sidenav-content>\n <perfect-scrollbar>\n <ng-content select=\".sb-sidenav-content\"></ng-content>\n </perfect-scrollbar>\n </mat-sidenav-content>\n</mat-sidenav-container>\n",
animations: [
trigger('openClose', [
state('open', style({
width: '238px'
})),
state('closed', style({
width: '72px'
})),
transition('open => closed', [
style({ width: '72px' }),
animate('200ms ease-in')
]),
transition('closed => open', [
style({ width: '238px' }),
animate('200ms ease-in')
]),
]),
],
styles: [".sb-sidenav-container{height:100%}.sb-sidenav{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}"]
}] }
];
/** @nocollapse */
SideNavComponent.ctorParameters = () => [
{ type: HeaderService },
{ type: SidenavService }
];
SideNavComponent.propDecorators = {
isRenderSidenav: [{ type: Input }]
};
if (false) {
/** @type {?} */
SideNavComponent.prototype.isExpanded;
/** @type {?} */
SideNavComponent.prototype.isShowing;
/** @type {?} */
SideNavComponent.prototype.isHideToggle;
/** @type {?} */
SideNavComponent.prototype.isRenderSidenav;
/**
* @type {?}
* @private
*/
SideNavComponent.prototype.headerService;
/**
* @type {?}
* @private
*/
SideNavComponent.prototype.sidenavService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGx1Y2FzZmVycmVpcmFsc2YvYW5ndWxhci1mcm9udGVuZC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL3NpZGUtbmF2L3NpZGUtbmF2LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBeUJuRCxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQU8zQixZQUFvQixhQUE0QixFQUFVLGNBQThCO1FBQXBFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTHhGLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUcyRCxDQUFDOzs7O0lBRTVGLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRTtZQUNuRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFO2dCQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7YUFDekI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ3hCO1lBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksRUFBRTtnQkFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzthQUMxQjtRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7Ozs7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDOzs7WUFwRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2Qiw2ckJBQXdDO2dCQUV4QyxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7NEJBQ2xCLEtBQUssRUFBRSxPQUFPO3lCQUNmLENBQUMsQ0FBQzt3QkFDSCxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQzs0QkFDcEIsS0FBSyxFQUFFLE1BQU07eUJBQ2QsQ0FBQyxDQUFDO3dCQUNILFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDM0IsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDOzRCQUN4QixPQUFPLENBQUMsZUFBZSxDQUFDO3lCQUN6QixDQUFDO3dCQUNGLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDM0IsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDOzRCQUN6QixPQUFPLENBQUMsZUFBZSxDQUFDO3lCQUN6QixDQUFDO3FCQUNILENBQUM7aUJBQ0g7O2FBQ0Y7Ozs7WUF6QlEsYUFBYTtZQUNiLGNBQWM7Ozs4QkE4QnBCLEtBQUs7Ozs7SUFITixzQ0FBa0I7O0lBQ2xCLHFDQUFrQjs7SUFDbEIsd0NBQWdDOztJQUNoQywyQ0FBa0M7Ozs7O0lBRXRCLHlDQUFvQzs7Ozs7SUFBRSwwQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgYW5pbWF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTaWRlbmF2U2VydmljZSB9IGZyb20gJy4vc2lkZW5hdi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2Itc2lkZS1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZS1uYXYuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWRlLW5hdi5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignb3BlbkNsb3NlJywgW1xuICAgICAgc3RhdGUoJ29wZW4nLCBzdHlsZSh7XG4gICAgICAgIHdpZHRoOiAnMjM4cHgnXG4gICAgICB9KSksXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe1xuICAgICAgICB3aWR0aDogJzcycHgnXG4gICAgICB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuID0+IGNsb3NlZCcsIFtcbiAgICAgICAgc3R5bGUoeyB3aWR0aDogJzcycHgnIH0pLFxuICAgICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLWluJylcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignY2xvc2VkID0+IG9wZW4nLCBbXG4gICAgICAgIHN0eWxlKHsgd2lkdGg6ICcyMzhweCcgfSksXG4gICAgICAgIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4nKVxuICAgICAgXSksXG4gICAgXSksXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2lkZU5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgaXNFeHBhbmRlZCA9IHRydWU7XG4gIGlzU2hvd2luZyA9IGZhbHNlO1xuICBpc0hpZGVUb2dnbGUgPSAhdGhpcy5pc0V4cGFuZGVkO1xuICBASW5wdXQoKSBpc1JlbmRlclNpZGVuYXY6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBoZWFkZXJTZXJ2aWNlOiBIZWFkZXJTZXJ2aWNlLCBwcml2YXRlIHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmhlYWRlclNlcnZpY2Uuc2hvd01lbnVDbGlja0V2ZW50LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pc0V4cGFuZGVkID09PSB0cnVlKSB7XG4gICAgICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UuZXhwYW5kRW1pdChmYWxzZSk7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5leHBhbmRFbWl0KHRydWUpO1xuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pc0hpZGVUb2dnbGUgPT09IHRydWUpIHtcbiAgICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5oaWRlVG9nZ2xlRW1pdChmYWxzZSk7XG4gICAgICAgIHRoaXMuaXNIaWRlVG9nZ2xlID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLmhpZGVUb2dnbGVFbWl0KHRydWUpO1xuICAgICAgICB0aGlzLmlzSGlkZVRvZ2dsZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbW91c2VlbnRlcigpIHtcbiAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgdGhpcy5pc1Nob3dpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5zaG93RW1pdCh0cnVlKTtcbiAgICAgIHRoaXMuaXNIaWRlVG9nZ2xlID0gZmFsc2U7XG4gICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLmhpZGVUb2dnbGVFbWl0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbW91c2VsZWF2ZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgdGhpcy5pc1Nob3dpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2lkZW5hdlNlcnZpY2Uuc2hvd0VtaXQoZmFsc2UpO1xuICAgICAgdGhpcy5pc0hpZGVUb2dnbGUgPSB0cnVlO1xuICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5oaWRlVG9nZ2xlRW1pdCh0cnVlKTtcbiAgICB9XG4gIH1cblxufVxuIl19