ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
45 lines • 7.53 kB
JavaScript
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=