UNPKG

ontimize-web-ngx

Version:
45 lines 7.53 kB
import { Injectable, Injector } from '@angular/core'; import { OFormLayoutManagerService } from '../../../services/o-form-layout-manager.service'; import { ShareCanActivateChildService } from '../../../services/share-can-activate-child.service'; import { Util } from '../../../util/util'; import * as i0 from "@angular/core"; export class CanActivateFormLayoutChildGuard { constructor(injector) { this.injector = injector; this.shareCanActivateChildService = this.injector.get(ShareCanActivateChildService); try { this.oFormLayoutService = this.injector.get(OFormLayoutManagerService); } catch (e) { console.error(e); } } canActivateChild(childRoute, state) { const formLayoutManager = this.oFormLayoutService.activeFormLayoutManager; this.oFormLayoutService.activeFormLayoutManager = undefined; if (formLayoutManager) { const oPermission = childRoute.data ? childRoute.data['oPermission'] : undefined; const permissionId = (oPermission || {})['permissionId']; if (Util.isDefined(permissionId)) { const restricted = !this.shareCanActivateChildService.canActivateChildUsingPermissions(childRoute, state); if (restricted) { return false; } } formLayoutManager.canAddDetailComponent().subscribe(res => { if (res) { const context = this.oFormLayoutService.context; formLayoutManager.addDetailComponent(childRoute, state.url.substring(0, state.url.indexOf('?')), context); } }); return false; } return true; } } CanActivateFormLayoutChildGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CanActivateFormLayoutChildGuard, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); CanActivateFormLayoutChildGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CanActivateFormLayoutChildGuard }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CanActivateFormLayoutChildGuard, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i0.Injector }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1mb3JtLWxheW91dC1jYW4tYWN0aXZhdGUtY2hpbGQuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvbGF5b3V0cy9mb3JtLWxheW91dC9ndWFyZHMvby1mb3JtLWxheW91dC1jYW4tYWN0aXZhdGUtY2hpbGQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDbEcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUkxQyxNQUFNLE9BQU8sK0JBQStCO0lBSzFDLFlBQXNCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDdEMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDcEYsSUFBSTtZQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQ3hFO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQWtDLEVBQUUsS0FBMEI7UUFDN0UsTUFBTSxpQkFBaUIsR0FBZ0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDO1FBQ3ZHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7UUFDNUQsSUFBSSxpQkFBaUIsRUFBRTtZQUNyQixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDakYsTUFBTSxZQUFZLEdBQVcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUNoQyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxnQ0FBZ0MsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzFHLElBQUksVUFBVSxFQUFFO29CQUNkLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7WUFDRCxpQkFBaUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDeEQsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztvQkFDaEQsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2lCQUMzRztZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7NkhBbkNVLCtCQUErQjtpSUFBL0IsK0JBQStCOzRGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGVDaGlsZCwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9Gb3JtTGF5b3V0TWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vLWZvcm0tbGF5b3V0LW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTaGFyZUNhbkFjdGl2YXRlQ2hpbGRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc2hhcmUtY2FuLWFjdGl2YXRlLWNoaWxkLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPRm9ybUxheW91dE1hbmFnZXJDb21wb25lbnQgfSBmcm9tICcuLi9vLWZvcm0tbGF5b3V0LW1hbmFnZXIuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbkFjdGl2YXRlRm9ybUxheW91dENoaWxkR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZUNoaWxkIHtcblxuICBwcm90ZWN0ZWQgb0Zvcm1MYXlvdXRTZXJ2aWNlOiBPRm9ybUxheW91dE1hbmFnZXJTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgc2hhcmVDYW5BY3RpdmF0ZUNoaWxkU2VydmljZTogU2hhcmVDYW5BY3RpdmF0ZUNoaWxkU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5zaGFyZUNhbkFjdGl2YXRlQ2hpbGRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoU2hhcmVDYW5BY3RpdmF0ZUNoaWxkU2VydmljZSk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMub0Zvcm1MYXlvdXRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoT0Zvcm1MYXlvdXRNYW5hZ2VyU2VydmljZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICB9XG4gIH1cblxuICBjYW5BY3RpdmF0ZUNoaWxkKGNoaWxkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBmb3JtTGF5b3V0TWFuYWdlcjogT0Zvcm1MYXlvdXRNYW5hZ2VyQ29tcG9uZW50ID0gdGhpcy5vRm9ybUxheW91dFNlcnZpY2UuYWN0aXZlRm9ybUxheW91dE1hbmFnZXI7XG4gICAgdGhpcy5vRm9ybUxheW91dFNlcnZpY2UuYWN0aXZlRm9ybUxheW91dE1hbmFnZXIgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGZvcm1MYXlvdXRNYW5hZ2VyKSB7XG4gICAgICBjb25zdCBvUGVybWlzc2lvbiA9IGNoaWxkUm91dGUuZGF0YSA/IGNoaWxkUm91dGUuZGF0YVsnb1Blcm1pc3Npb24nXSA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHBlcm1pc3Npb25JZDogc3RyaW5nID0gKG9QZXJtaXNzaW9uIHx8IHt9KVsncGVybWlzc2lvbklkJ107XG4gICAgICBpZiAoVXRpbC5pc0RlZmluZWQocGVybWlzc2lvbklkKSkge1xuICAgICAgICBjb25zdCByZXN0cmljdGVkID0gIXRoaXMuc2hhcmVDYW5BY3RpdmF0ZUNoaWxkU2VydmljZS5jYW5BY3RpdmF0ZUNoaWxkVXNpbmdQZXJtaXNzaW9ucyhjaGlsZFJvdXRlLCBzdGF0ZSk7XG4gICAgICAgIGlmIChyZXN0cmljdGVkKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmb3JtTGF5b3V0TWFuYWdlci5jYW5BZGREZXRhaWxDb21wb25lbnQoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLm9Gb3JtTGF5b3V0U2VydmljZS5jb250ZXh0O1xuICAgICAgICAgIGZvcm1MYXlvdXRNYW5hZ2VyLmFkZERldGFpbENvbXBvbmVudChjaGlsZFJvdXRlLCBzdGF0ZS51cmwuc3Vic3RyaW5nKDAsIHN0YXRlLnVybC5pbmRleE9mKCc/JykpLCBjb250ZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=