UNPKG

ngx-material-drawer

Version:

A dynamic, configurable Angular Material drawer with dashboard capabilities

55 lines 6.42 kB
import { Injectable } from "@angular/core"; import { BehaviorSubject } from "rxjs"; import { NgxMaterialDrawerEventEmitter } from "./mat-event-emitter.service"; import * as i0 from "@angular/core"; import * as i1 from "./mat-event-emitter.service"; export class NgxNavService { constructor(matEventEmitterService) { this.matEventEmitterService = matEventEmitterService; this.isOpened = false; this.currentUrl = new BehaviorSubject(""); this.isDrawerOpened = false; } closeNav() { if (!this.isMiniVarient) { this.appDrawer.close(); } this.isOpened = false; this.matEventEmitterService.sideNavClosed(this.getData(this.isOpened)); } openNav() { if (!this.isMiniVarient) { this.appDrawer.open(); } this.isOpened = true; this.matEventEmitterService.sideNavOpen(this.getData(this.isOpened)); } toggleNav() { if (!this.isMiniVarient) { this.appDrawer.toggle(); } this.isOpened = !this.isOpened; if (this.isOpened) { this.matEventEmitterService.sideNavOpen(this.getData(this.isOpened)); } else { this.matEventEmitterService.sideNavClosed(this.getData(this.isOpened)); } this.matEventEmitterService.navStateChange(this.getData(this.isOpened)); } getData(b) { return { drawer: this.appDrawer, isOpened: b, }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxNavService, deps: [{ token: i1.NgxMaterialDrawerEventEmitter }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxNavService, providedIn: "root" }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxNavService, decorators: [{ type: Injectable, args: [{ providedIn: "root", }] }], ctorParameters: () => [{ type: i1.NgxMaterialDrawerEventEmitter }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZHJhd2VyL3NyYy9saWIvYXBwL3V0aWxzL25hdi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUs1RSxNQUFNLE9BQU8sYUFBYTtJQU94QixZQUFtQixzQkFBcUQ7UUFBckQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUErQjtRQUpqRSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM3QyxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQUU2QyxDQUFDO0lBRXJFLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsT0FBTyxDQUFDLENBQU07UUFDWixPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3RCLFFBQVEsRUFBRSxDQUFDO1NBQ1osQ0FBQztJQUNKLENBQUM7K0dBM0NVLGFBQWE7bUhBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBOZ3hNYXRlcmlhbERyYXdlckV2ZW50RW1pdHRlciB9IGZyb20gXCIuL21hdC1ldmVudC1lbWl0dGVyLnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgTmd4TmF2U2VydmljZSB7XG4gIHB1YmxpYyBhcHBEcmF3ZXI6IGFueTtcbiAgcHVibGljIGlzTWluaVZhcmllbnQ6IGFueTtcbiAgcHVibGljIGlzT3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjdXJyZW50VXJsID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KFwiXCIpO1xuICBwdWJsaWMgaXNEcmF3ZXJPcGVuZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWF0RXZlbnRFbWl0dGVyU2VydmljZTogTmd4TWF0ZXJpYWxEcmF3ZXJFdmVudEVtaXR0ZXIpIHt9XG5cbiAgcHVibGljIGNsb3NlTmF2KCkge1xuICAgIGlmICghdGhpcy5pc01pbmlWYXJpZW50KSB7XG4gICAgICB0aGlzLmFwcERyYXdlci5jbG9zZSgpO1xuICAgIH1cbiAgICB0aGlzLmlzT3BlbmVkID0gZmFsc2U7XG4gICAgdGhpcy5tYXRFdmVudEVtaXR0ZXJTZXJ2aWNlLnNpZGVOYXZDbG9zZWQodGhpcy5nZXREYXRhKHRoaXMuaXNPcGVuZWQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuTmF2KCkge1xuICAgIGlmICghdGhpcy5pc01pbmlWYXJpZW50KSB7XG4gICAgICB0aGlzLmFwcERyYXdlci5vcGVuKCk7XG4gICAgfVxuICAgIHRoaXMuaXNPcGVuZWQgPSB0cnVlO1xuICAgIHRoaXMubWF0RXZlbnRFbWl0dGVyU2VydmljZS5zaWRlTmF2T3Blbih0aGlzLmdldERhdGEodGhpcy5pc09wZW5lZCkpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZU5hdigpIHtcbiAgICBpZiAoIXRoaXMuaXNNaW5pVmFyaWVudCkge1xuICAgICAgdGhpcy5hcHBEcmF3ZXIudG9nZ2xlKCk7XG4gICAgfVxuICAgIHRoaXMuaXNPcGVuZWQgPSAhdGhpcy5pc09wZW5lZDtcbiAgICBpZiAodGhpcy5pc09wZW5lZCkge1xuICAgICAgdGhpcy5tYXRFdmVudEVtaXR0ZXJTZXJ2aWNlLnNpZGVOYXZPcGVuKHRoaXMuZ2V0RGF0YSh0aGlzLmlzT3BlbmVkKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWF0RXZlbnRFbWl0dGVyU2VydmljZS5zaWRlTmF2Q2xvc2VkKHRoaXMuZ2V0RGF0YSh0aGlzLmlzT3BlbmVkKSk7XG4gICAgfVxuICAgIHRoaXMubWF0RXZlbnRFbWl0dGVyU2VydmljZS5uYXZTdGF0ZUNoYW5nZSh0aGlzLmdldERhdGEodGhpcy5pc09wZW5lZCkpO1xuICB9XG5cbiAgZ2V0RGF0YShiOiBhbnkpOiBvYmplY3Qge1xuICAgIHJldHVybiB7XG4gICAgICBkcmF3ZXI6IHRoaXMuYXBwRHJhd2VyLFxuICAgICAgaXNPcGVuZWQ6IGIsXG4gICAgfTtcbiAgfVxufVxuIl19