UNPKG

urbisoft-app-structure

Version:

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.1.2.

37 lines 5.18 kB
import { Component, Input, ViewChild } from '@angular/core'; export class SidenavComponent { constructor() { this.isLoggedIn = false; } ngOnInit() { this.toggleSideBar.pipe().subscribe(value => { if (value != null) { this.sidenav.toggle(); } }); } close() { this.sidenav.close(); } action(item) { if (item.actionOnClick) { item.actionOnClick(); } this.close(); } } SidenavComponent.decorators = [ { type: Component, args: [{ selector: 'app-sidenav', template: "<mat-sidenav-container (backdropClick)=\"close()\" autosize class=\"sidenavComponent\">\r\n <mat-sidenav #sidenav mode=\"over\" disableClose>\r\n <mat-nav-list>\r\n <ng-container>\r\n <h2 matSubheader> {{navbarConfig.title}} </h2>\r\n <hr>\r\n <a *ngFor=\"let item of navbarConfig.navbarItems\"\r\n mat-list-item\r\n (click)=\"action(item)\"\r\n [routerLink]=\"item.routerLink\"\r\n routerLinkActive=\"{{item.routerLink? 'list-item-active': null}}\">\r\n <mat-icon matListIcon class=\"nav-list-icon material-icons-outlined\">{{item.icon}}</mat-icon>\r\n {{item.title}}\r\n </a>\r\n </ng-container>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n\r\n <mat-sidenav-content\r\n [ngClass]=\"{'sidenavComponent-content-loggedIn':isLoggedIn, 'sidenavComponent-content-not-loggedIn':!isLoggedIn}\"\r\n class=\"sidenavComponent-content\">\r\n <ng-content></ng-content>\r\n </mat-sidenav-content>\r\n\r\n</mat-sidenav-container>\r\n", styles: [".sidenavComponent-content-loggedIn{height:calc(100vh - 64px);overflow-x:hidden;overflow-y:auto}@media (max-width:425px){.sidenavComponent-content-loggedIn{height:calc(100vh - 56px)}}.sidenavComponent-content-not-loggedIn{height:100vh;overflow-x:hidden;overflow-y:auto}.sidenavComponent .nav-list-icon{margin:0 12px}.sidenavComponent .toolbar-title{margin:0 16px}.sidenavComponent .list-item-active{background:rgba(0,0,0,.04);font-weight:700}.sidenavComponent mat-sidenav{width:250px}@media (max-width:425px){.sidenavComponent mat-sidenav{width:300px}}"] },] } ]; SidenavComponent.ctorParameters = () => []; SidenavComponent.propDecorators = { navbarConfig: [{ type: Input }], sidenav: [{ type: ViewChild, args: ['sidenav',] }], toggleSideBar: [{ type: Input }], isLoggedIn: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3VyYmlzb2Z0LW1haW4tc3RydWN0dXJlL2NvbXBvbmVudHMvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFVbEUsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQjtRQUZTLGVBQVUsR0FBRyxLQUFLLENBQUM7SUFHNUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQyxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sTUFBTSxDQUFDLElBQXdCO1FBQ3BDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDOzs7WUEvQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixxaENBQXVDOzthQUV4Qzs7OzsyQkFFRSxLQUFLO3NCQUNMLFNBQVMsU0FBQyxTQUFTOzRCQUNuQixLQUFLO3lCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNYXRTaWRlbmF2fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtVcmJpc29mdE5hdmJhckNvbmZpZywgVXJiaXNvZnRBY3Rpb25JdGVtfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3VyYmlzb2Z0LW1haW4tc3RydWN0dXJlLWNvbmZpZy5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2lkZW5hdicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGVuYXYuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NpZGVuYXYuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2lkZW5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbmF2YmFyQ29uZmlnOiBVcmJpc29mdE5hdmJhckNvbmZpZztcclxuICBAVmlld0NoaWxkKCdzaWRlbmF2Jykgc2lkZW5hdjogTWF0U2lkZW5hdjtcclxuICBASW5wdXQoKSB0b2dnbGVTaWRlQmFyOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gIEBJbnB1dCgpIGlzTG9nZ2VkSW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudG9nZ2xlU2lkZUJhci5waXBlKCkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLnNpZGVuYXYudG9nZ2xlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaWRlbmF2LmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWN0aW9uKGl0ZW06IFVyYmlzb2Z0QWN0aW9uSXRlbSk6IHZvaWQge1xyXG4gICAgaWYgKGl0ZW0uYWN0aW9uT25DbGljaykge1xyXG4gICAgICBpdGVtLmFjdGlvbk9uQ2xpY2soKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIl19