bpm-core 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,62 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { LayoutComponent } from "../components/app-component-sections/layout/layout.component";
3
+ import { DOCUMENT } from "@angular/common";
4
+ import { Form, Messages } from "../interfaces";
5
+ import * as constants from "../constants";
6
+ import loadFormHooks from "../hooks/load-form";
7
+ import { ServiceHeaderComponent, WorkflowSectionComponent } from "../components/app-component-sections";
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/router";
10
+ import * as i2 from "../services";
11
+ import * as i3 from "../services/core.service.ts";
12
+ export class AppComponent {
13
+ document;
14
+ router;
15
+ sidenavService;
16
+ coreService;
17
+ loading = {
18
+ form: false
19
+ };
20
+ form;
21
+ formTitle = 'Test';
22
+ constructor(document, router, sidenavService, coreService) {
23
+ this.document = document;
24
+ this.router = router;
25
+ this.sidenavService = sidenavService;
26
+ this.coreService = coreService;
27
+ this.loading['form'] = true;
28
+ this.coreService.loadForm().then((form) => {
29
+ this.loading['form'] = false;
30
+ if (form instanceof Form) {
31
+ this.form = form;
32
+ }
33
+ else if (form instanceof Messages) {
34
+ this.errorResponse(form);
35
+ }
36
+ });
37
+ }
38
+ errorResponse(form) {
39
+ if (!this.form) {
40
+ this.form = new Form(constants.NO_VALUE, constants.NO_VALUE, constants.NO_VALUE, constants.NO_VALUE, constants.NO_VALUE, constants.NO_VALUE, form);
41
+ }
42
+ else {
43
+ this.form.messages = form;
44
+ this.form = loadFormHooks.afterTranspilePayload(this.form);
45
+ }
46
+ window.scrollTo(0, 0);
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppComponent, deps: [{ token: DOCUMENT }, { token: i1.Router }, { token: i2.SidenavService }, { token: i3.CoreService }], target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: AppComponent, isStandalone: true, selector: "lib-app", ngImport: i0, template: "<core-layout>\r\n @if (!loading['form']) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n <app-workflow-section\r\n workflow\r\n [form]=\"form\"\r\n [sections]=\"form?.sections\">\r\n </app-workflow-section>\r\n } @else {\r\n <core-service-header header [formTitle]=\"formTitle\" [isLoading]=\"true\">\r\n </core-service-header>\r\n }\r\n</core-layout>\r\n", styles: [""], dependencies: [{ kind: "component", type: LayoutComponent, selector: "core-layout", inputs: ["form", "formTitle", "isLoading", "serviceBrief"] }, { kind: "component", type: ServiceHeaderComponent, selector: "core-service-header", inputs: ["form", "showHistory", "isLoading", "showApprovalHistory", "approvalHistory", "creationDate", "formTitle", "section", "serviceBrief"] }, { kind: "component", type: WorkflowSectionComponent, selector: "app-workflow-section", inputs: ["sections", "isReadOnly", "isLoading", "form", "contentClass", "sectionsController", "segmentDynamicLoaderService", "sectionFormComponent", "sectionName"], outputs: ["sectionSubmitted"] }] });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'lib-app', standalone: true, imports: [
54
+ LayoutComponent,
55
+ ServiceHeaderComponent,
56
+ WorkflowSectionComponent
57
+ ], template: "<core-layout>\r\n @if (!loading['form']) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n <app-workflow-section\r\n workflow\r\n [form]=\"form\"\r\n [sections]=\"form?.sections\">\r\n </app-workflow-section>\r\n } @else {\r\n <core-service-header header [formTitle]=\"formTitle\" [isLoading]=\"true\">\r\n </core-service-header>\r\n }\r\n</core-layout>\r\n" }]
58
+ }], ctorParameters: () => [{ type: Document, decorators: [{
59
+ type: Inject,
60
+ args: [DOCUMENT]
61
+ }] }, { type: i1.Router }, { type: i2.SidenavService }, { type: i3.CoreService }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvYXBwL2FwcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2FwcC9hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUl6QyxPQUFPLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEtBQUssU0FBUyxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLGFBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7QUFldEcsTUFBTSxPQUFPLFlBQVk7SUFRYztJQUNsQjtJQUNBO0lBQ1Q7SUFWVixPQUFPLEdBQUc7UUFDUixJQUFJLEVBQUUsS0FBSztLQUNaLENBQUE7SUFDRCxJQUFJLENBQU07SUFDVixTQUFTLEdBQVcsTUFBTSxDQUFDO0lBRTNCLFlBQ3FDLFFBQWtCLEVBQ3BDLE1BQWMsRUFDZCxjQUE4QixFQUN2QyxXQUF3QjtRQUhHLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUN2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUVoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFBO1lBQzVCLElBQUksSUFBSSxZQUFZLElBQUksRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNuQixDQUFDO2lCQUFNLElBQUksSUFBSSxZQUFZLFFBQVEsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzFCLENBQUM7UUFDSCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBUztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksQ0FDbEIsU0FBUyxDQUFDLFFBQVEsRUFDbEIsU0FBUyxDQUFDLFFBQVEsRUFDbEIsU0FBUyxDQUFDLFFBQVEsRUFDbEIsU0FBUyxDQUFDLFFBQVEsRUFDbEIsU0FBUyxDQUFDLFFBQVEsRUFDbEIsU0FBUyxDQUFDLFFBQVEsRUFDbEIsSUFBSSxDQUNMLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7dUdBekNVLFlBQVksa0JBUWIsUUFBUTsyRkFSUCxZQUFZLG1FQ3hCekIsK2VBaUJBLDBEREVJLGVBQWUsb0hBQ2Ysc0JBQXNCLGdOQUN0Qix3QkFBd0I7OzJGQUdmLFlBQVk7a0JBWHhCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FHUDt3QkFDUCxlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3FCQUN6Qjs7MEJBVUUsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TGF5b3V0Q29tcG9uZW50fSBmcm9tIFwiLi4vY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2xheW91dC9sYXlvdXQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtTaWRlbmF2U2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7Q29yZVNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy9jb3JlLnNlcnZpY2UudHNcIjtcclxuaW1wb3J0IHtGb3JtLCBNZXNzYWdlc30gZnJvbSBcIi4uL2ludGVyZmFjZXNcIjtcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gXCIuLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IGxvYWRGb3JtSG9va3MgZnJvbSBcIi4uL2hvb2tzL2xvYWQtZm9ybVwiO1xyXG5pbXBvcnQge1NlcnZpY2VIZWFkZXJDb21wb25lbnQsIFdvcmtmbG93U2VjdGlvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9uc1wiO1xyXG5pbXBvcnQge01ZX0xJQl9DT05GSUdfVE9LRU59IGZyb20gXCIuLi8uLi9wdWJsaWMtYXBpXCI7XHJcbmltcG9ydCB7ZW52aXJvbm1lbnR9IGZyb20gXCIuLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQubG9jYWxcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFwcCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYXBwLmNvbXBvbmVudC5jc3MnLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIExheW91dENvbXBvbmVudCxcclxuICAgIFNlcnZpY2VIZWFkZXJDb21wb25lbnQsXHJcbiAgICBXb3JrZmxvd1NlY3Rpb25Db21wb25lbnRcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwQ29tcG9uZW50IHtcclxuICBsb2FkaW5nID0ge1xyXG4gICAgZm9ybTogZmFsc2VcclxuICB9XHJcbiAgZm9ybTogRm9ybVxyXG4gIGZvcm1UaXRsZTogc3RyaW5nID0gJ1Rlc3QnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb3JlU2VydmljZTogQ29yZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMubG9hZGluZ1snZm9ybSddID0gdHJ1ZVxyXG4gICAgdGhpcy5jb3JlU2VydmljZS5sb2FkRm9ybSgpLnRoZW4oKGZvcm06IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1snZm9ybSddID0gZmFsc2VcclxuICAgICAgICBpZiAoZm9ybSBpbnN0YW5jZW9mIEZvcm0pIHtcclxuICAgICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XHJcbiAgICAgICAgfSBlbHNlIGlmIChmb3JtIGluc3RhbmNlb2YgTWVzc2FnZXMpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JSZXNwb25zZShmb3JtKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGVycm9yUmVzcG9uc2UoZm9ybTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybShcclxuICAgICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBmb3JtXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm0ubWVzc2FnZXMgPSBmb3JtO1xyXG4gICAgICB0aGlzLmZvcm0gPSBsb2FkRm9ybUhvb2tzLmFmdGVyVHJhbnNwaWxlUGF5bG9hZCh0aGlzLmZvcm0pO1xyXG4gICAgfVxyXG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xyXG4gIH1cclxufVxyXG4iLCI8Y29yZS1sYXlvdXQ+XHJcbiAgQGlmICghbG9hZGluZ1snZm9ybSddKSB7XHJcbiAgICA8Y29yZS1zZXJ2aWNlLWhlYWRlclxyXG4gICAgICBbaXNMb2FkaW5nXT1cImZhbHNlXCJcclxuICAgICAgW2Zvcm1UaXRsZV09XCJmb3JtVGl0bGVcIlxyXG4gICAgICBbZm9ybV09XCJmb3JtXCI+XHJcbiAgICA8L2NvcmUtc2VydmljZS1oZWFkZXI+XHJcbiAgICA8YXBwLXdvcmtmbG93LXNlY3Rpb25cclxuICAgICAgd29ya2Zsb3dcclxuICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgIFtzZWN0aW9uc109XCJmb3JtPy5zZWN0aW9uc1wiPlxyXG4gICAgPC9hcHAtd29ya2Zsb3ctc2VjdGlvbj5cclxuICB9IEBlbHNlIHtcclxuICAgIDxjb3JlLXNlcnZpY2UtaGVhZGVyIGhlYWRlciBbZm9ybVRpdGxlXT1cImZvcm1UaXRsZVwiIFtpc0xvYWRpbmddPVwidHJ1ZVwiPlxyXG4gICAgPC9jb3JlLXNlcnZpY2UtaGVhZGVyPlxyXG4gIH1cclxuPC9jb3JlLWxheW91dD5cclxuIl19
@@ -6,4 +6,5 @@ export * from './main-request-details/main-request-details.component';
6
6
  export * from './feedback-section/feedback-section.component';
7
7
  export * from './profile-section/profile-section.component';
8
8
  export * from './comment-section/comment-section.component';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsMkJBQTJCLENBQUE7QUFDekMsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkNBQTZDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlcnZpY2UtaGVhZGVyL3NlcnZpY2UtaGVhZGVyLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi93b3JrZmxvdy1zZWN0aW9uL3dvcmtmbG93LXNlY3Rpb24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tc2VjdGlvbi9mb3JtLXNlY3Rpb24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL21haW4tcmVxdWVzdC1kZXRhaWxzL21haW4tcmVxdWVzdC1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmVlZGJhY2stc2VjdGlvbi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlLXNlY3Rpb24vcHJvZmlsZS1zZWN0aW9uLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9jb21tZW50LXNlY3Rpb24vY29tbWVudC1zZWN0aW9uLmNvbXBvbmVudCdcclxuIl19
9
+ export * from './layout/layout.component';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsMkJBQTJCLENBQUE7QUFDekMsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYywyQkFBMkIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cy9zdGF0dXMuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3dvcmtmbG93LXNlY3Rpb24vd29ya2Zsb3ctc2VjdGlvbi5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1zZWN0aW9uL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbWFpbi1yZXF1ZXN0LWRldGFpbHMvbWFpbi1yZXF1ZXN0LWRldGFpbHMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9mZWVkYmFjay1zZWN0aW9uL2ZlZWRiYWNrLXNlY3Rpb24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb2ZpbGUtc2VjdGlvbi9wcm9maWxlLXNlY3Rpb24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbW1lbnQtc2VjdGlvbi9jb21tZW50LXNlY3Rpb24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xheW91dC9sYXlvdXQuY29tcG9uZW50J1xyXG4iXX0=
@@ -0,0 +1,103 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Inject, PLATFORM_ID } from '@angular/core';
3
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatMenuModule } from '@angular/material/menu';
5
+ import { MatToolbarModule } from '@angular/material/toolbar';
6
+ import { RouterModule } from '@angular/router';
7
+ import * as Constants from '../../../../constants';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../../services";
10
+ import * as i2 from "../../../../services/core.service.ts";
11
+ import * as i3 from "@angular/router";
12
+ import * as i4 from "@angular/common";
13
+ import * as i5 from "@angular/material/menu";
14
+ import * as i6 from "@angular/material/toolbar";
15
+ export class HeaderComponent {
16
+ translate;
17
+ sidenavService;
18
+ coreService;
19
+ router;
20
+ platformId;
21
+ search = new FormControl('');
22
+ sidenavSubscription;
23
+ isSidenavOpened = false;
24
+ device = '';
25
+ isMobile;
26
+ userData;
27
+ userName;
28
+ constructor(translate, sidenavService, coreService, router, platformId) {
29
+ this.translate = translate;
30
+ this.sidenavService = sidenavService;
31
+ this.coreService = coreService;
32
+ this.router = router;
33
+ this.platformId = platformId;
34
+ this.device = navigator.userAgent;
35
+ if (this.isMobile) {
36
+ document.documentElement.classList.add('inside-mobile-app');
37
+ }
38
+ }
39
+ setLanguage() {
40
+ const targetLang = this.translate.getLanguage() === 'en' ? 'ar' : 'en';
41
+ let url = location.origin + `/${targetLang}/group/i-gate/asset-management`;
42
+ window.open(url, '_self');
43
+ }
44
+ logout() {
45
+ let logoutUrl = Constants.LOGOUT_URL;
46
+ localStorage.removeItem('token');
47
+ localStorage.removeItem('userName');
48
+ localStorage.removeItem('user');
49
+ const userSelectedLanguage = localStorage.getItem('language') ?? 'en';
50
+ sessionStorage.clear();
51
+ localStorage.setItem('language', userSelectedLanguage);
52
+ window.open(logoutUrl, '_self');
53
+ }
54
+ ngOnInit() {
55
+ this.sidenavSubscription = this.sidenavService.sideNavOpened.subscribe((val) => {
56
+ this.isSidenavOpened = val;
57
+ });
58
+ }
59
+ ngAfterViewInit() {
60
+ setTimeout(() => {
61
+ console.log('xx', this.coreService.loggedInUserData);
62
+ }, 1000);
63
+ }
64
+ toggleSideNav() {
65
+ document.documentElement.classList.toggle('main-sidenav-opened');
66
+ this.sidenavService.sideNavOpened.next(!this.isSidenavOpened);
67
+ }
68
+ openDemandRequest() {
69
+ // this.sidenavService.publish('open', DemandRequestComponent, 'end', 'over');
70
+ }
71
+ openTicket() {
72
+ // this.sidenavService.publish('open', OpenTicketComponent, 'end', 'over');
73
+ }
74
+ openEService() {
75
+ // this.sidenavService.publish('open', VhrComponent, 'end', 'over');
76
+ }
77
+ // goToAdmin() {
78
+ // this.router.navigate(['/admin']);
79
+ // }
80
+ openApp(url) {
81
+ window.open(url, '_blank')?.focus();
82
+ }
83
+ ngOnDestroy() {
84
+ // this.sidenavSubscription.unsubscribe()
85
+ }
86
+ location = location;
87
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.CoreI18nService }, { token: i1.SidenavService }, { token: i2.CoreService }, { token: i3.Router }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
88
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: HeaderComponent, isStandalone: true, selector: "app-header", ngImport: i0, template: "<ng-container *ngIf=\"!isMobile\">\r\n <mat-toolbar\r\n class=\"align-items-center justify-content-between gap-3 border-bottom\"\r\n >\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button\r\n shape=\"flat\"\r\n icon\r\n color=\"light-gray\"\r\n square\r\n (click)=\"toggleSideNav()\"\r\n >\r\n <ds-icon icon=\"burger-menu-1\" class=\"fs-24 fc-dark-gray\"></ds-icon>\r\n </ds-button>\r\n\r\n <a [href]=\"location.origin\">\r\n <figure class=\"m-0 d-flex\">\r\n <img class=\"main-logo\" src=\"assets/images/hub.svg\" alt=\"\" />\r\n </figure>\r\n </a>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button\r\n shape=\"flat\"\r\n color=\"light-gray\"\r\n class=\"user-menu-btn\"\r\n [matMenuTriggerFor]=\"userMenu\"\r\n >\r\n <ds-avatar\r\n image=\"/group/i-gate/wm-bpm/forms/-/proxy/portrait?email={{userData?.email}}\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user2.jpg'\"\r\n slot=\"prefix\"\r\n class=\"avatar\"\r\n >\r\n </ds-avatar>\r\n\r\n <span class=\"fs-14 fw-medium fc-black\">\r\n {{ userData?.firstName }} {{ userData?.lastName }}\r\n </span>\r\n\r\n <ds-icon\r\n slot=\"suffix\"\r\n icon=\"arrow\"\r\n class=\"fc-dark-gray fs-16\"\r\n ></ds-icon>\r\n </ds-button>\r\n </div>\r\n </mat-toolbar>\r\n\r\n <!-- User Menu -->\r\n <mat-menu #userMenu=\"matMenu\" class=\"user-menu\">\r\n <div mat-menu-item>\r\n <span class=\"fs-14\">{{ translate.translate('welcome') }}, </span>\r\n <br />\r\n <span class=\"fs-14 fw-medium line-height-1\">{{ userData?.firstName }}</span>\r\n </div>\r\n <button mat-menu-item (click)=\"setLanguage()\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <ds-icon icon=\"globe\" class=\"fs-25 fc-purple\"></ds-icon>\r\n <span class=\"fs-14 fw-medium fc-black\">{{\r\n translate.translate('otherLang')\r\n }}</span>\r\n </div>\r\n </button>\r\n <button mat-menu-item (click)=\"logout()\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <ds-icon icon=\"logout\" class=\"fs-25 fc-red\"></ds-icon>\r\n <span class=\"fs-14 fw-medium fc-black\">{{\r\n translate.translate('logout')\r\n }}</span>\r\n </div>\r\n </button>\r\n </mat-menu>\r\n</ng-container>\r\n", styles: [".test-user-agent{position:fixed;top:90px;width:100%;z-index:99999;color:#fff}ds-button[square].burger-menu::part(base){--btn-padding: 10px;margin-bottom:-1px;width:37px;height:37px;--default-size: 37px}[dir=rtl] :host ds-button::part(overlay){inset:0}mat-toolbar{background-color:var(--main-toolbar-bc);height:var(--main-toolbar-height);position:fixed;top:0;z-index:var(--main-toolbar-zIndex);border-bottom:1px solid var(--light-gray)!important}mat-toolbar .logo img{min-width:100px}@media (max-width: 991px){.user-menu-btn::part(base){border:0px;padding:0;--default-size: 40px}.user-menu-btn::part(overlay){border-radius:50%}.user-menu-btn::part(label),.user-menu-btn::part(suffix){display:none}}:host::ng-deep .avatar{min-width:24px;width:24px;height:24px;background-color:transparent}:host::ng-deep ds-button.add::part(base){--btn-bg-color: var(--coral)}@media (max-width: 991px){:host::ng-deep .avatar{min-width:40px;width:40px;height:40px}:host::ng-deep .avatar .avatar--x-small{--default-size: 40px}}.linkS{position:fixed;z-index:2;bottom:100px;right:20px}.dashboard-menu-icon{display:inline-flex;align-items:center;justify-content:center;min-width:56px;width:56px;height:56px;border-radius:50%;background-color:var(--coral);margin-bottom:10px}::ng-deep .inside-mobile-app{--main-toolbar-height: 0px}::ng-deep ds-button.transparent::part(base){--btn-bg-color: transparent;--btn-border-color: transparent;--btn-overlay-color: transparent}::ng-deep .mat-divider-vertical{border-right-color:var(--black)}.mat-divider{--mat-divider-width: 1px;--mat-divider-color: var(--dark-gray)}.header-search{width:500px}@media (max-width: 1130px){.header-search{width:200px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }] });
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderComponent, decorators: [{
91
+ type: Component,
92
+ args: [{ selector: 'app-header', standalone: true, imports: [
93
+ CommonModule,
94
+ ReactiveFormsModule,
95
+ RouterModule,
96
+ MatMenuModule,
97
+ MatToolbarModule
98
+ ], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container *ngIf=\"!isMobile\">\r\n <mat-toolbar\r\n class=\"align-items-center justify-content-between gap-3 border-bottom\"\r\n >\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button\r\n shape=\"flat\"\r\n icon\r\n color=\"light-gray\"\r\n square\r\n (click)=\"toggleSideNav()\"\r\n >\r\n <ds-icon icon=\"burger-menu-1\" class=\"fs-24 fc-dark-gray\"></ds-icon>\r\n </ds-button>\r\n\r\n <a [href]=\"location.origin\">\r\n <figure class=\"m-0 d-flex\">\r\n <img class=\"main-logo\" src=\"assets/images/hub.svg\" alt=\"\" />\r\n </figure>\r\n </a>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button\r\n shape=\"flat\"\r\n color=\"light-gray\"\r\n class=\"user-menu-btn\"\r\n [matMenuTriggerFor]=\"userMenu\"\r\n >\r\n <ds-avatar\r\n image=\"/group/i-gate/wm-bpm/forms/-/proxy/portrait?email={{userData?.email}}\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user2.jpg'\"\r\n slot=\"prefix\"\r\n class=\"avatar\"\r\n >\r\n </ds-avatar>\r\n\r\n <span class=\"fs-14 fw-medium fc-black\">\r\n {{ userData?.firstName }} {{ userData?.lastName }}\r\n </span>\r\n\r\n <ds-icon\r\n slot=\"suffix\"\r\n icon=\"arrow\"\r\n class=\"fc-dark-gray fs-16\"\r\n ></ds-icon>\r\n </ds-button>\r\n </div>\r\n </mat-toolbar>\r\n\r\n <!-- User Menu -->\r\n <mat-menu #userMenu=\"matMenu\" class=\"user-menu\">\r\n <div mat-menu-item>\r\n <span class=\"fs-14\">{{ translate.translate('welcome') }}, </span>\r\n <br />\r\n <span class=\"fs-14 fw-medium line-height-1\">{{ userData?.firstName }}</span>\r\n </div>\r\n <button mat-menu-item (click)=\"setLanguage()\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <ds-icon icon=\"globe\" class=\"fs-25 fc-purple\"></ds-icon>\r\n <span class=\"fs-14 fw-medium fc-black\">{{\r\n translate.translate('otherLang')\r\n }}</span>\r\n </div>\r\n </button>\r\n <button mat-menu-item (click)=\"logout()\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <ds-icon icon=\"logout\" class=\"fs-25 fc-red\"></ds-icon>\r\n <span class=\"fs-14 fw-medium fc-black\">{{\r\n translate.translate('logout')\r\n }}</span>\r\n </div>\r\n </button>\r\n </mat-menu>\r\n</ng-container>\r\n", styles: [".test-user-agent{position:fixed;top:90px;width:100%;z-index:99999;color:#fff}ds-button[square].burger-menu::part(base){--btn-padding: 10px;margin-bottom:-1px;width:37px;height:37px;--default-size: 37px}[dir=rtl] :host ds-button::part(overlay){inset:0}mat-toolbar{background-color:var(--main-toolbar-bc);height:var(--main-toolbar-height);position:fixed;top:0;z-index:var(--main-toolbar-zIndex);border-bottom:1px solid var(--light-gray)!important}mat-toolbar .logo img{min-width:100px}@media (max-width: 991px){.user-menu-btn::part(base){border:0px;padding:0;--default-size: 40px}.user-menu-btn::part(overlay){border-radius:50%}.user-menu-btn::part(label),.user-menu-btn::part(suffix){display:none}}:host::ng-deep .avatar{min-width:24px;width:24px;height:24px;background-color:transparent}:host::ng-deep ds-button.add::part(base){--btn-bg-color: var(--coral)}@media (max-width: 991px){:host::ng-deep .avatar{min-width:40px;width:40px;height:40px}:host::ng-deep .avatar .avatar--x-small{--default-size: 40px}}.linkS{position:fixed;z-index:2;bottom:100px;right:20px}.dashboard-menu-icon{display:inline-flex;align-items:center;justify-content:center;min-width:56px;width:56px;height:56px;border-radius:50%;background-color:var(--coral);margin-bottom:10px}::ng-deep .inside-mobile-app{--main-toolbar-height: 0px}::ng-deep ds-button.transparent::part(base){--btn-bg-color: transparent;--btn-border-color: transparent;--btn-overlay-color: transparent}::ng-deep .mat-divider-vertical{border-right-color:var(--black)}.mat-divider{--mat-divider-width: 1px;--mat-divider-color: var(--dark-gray)}.header-search{width:500px}@media (max-width: 1130px){.header-search{width:200px}}\n"] }]
99
+ }], ctorParameters: () => [{ type: i1.CoreI18nService }, { type: i1.SidenavService }, { type: i2.CoreService }, { type: i3.Router }, { type: undefined, decorators: [{
100
+ type: Inject,
101
+ args: [PLATFORM_ID]
102
+ }] }] });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2xheW91dC9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2xheW91dC9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQVMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHckQsT0FBTyxLQUFLLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFrQm5ELE1BQU0sT0FBTyxlQUFlO0lBVVI7SUFDUjtJQUNBO0lBQ0E7SUFDcUI7SUFiL0IsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLG1CQUFtQixDQUFnQjtJQUNuQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDWixRQUFRLENBQVc7SUFDbkIsUUFBUSxDQUFNO0lBQ2QsUUFBUSxDQUFNO0lBRWQsWUFD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M0RJLFlBQVksa0lBQ1osbUJBQW1CLDhCQUNuQixZQUFZLDhCQUNaLGFBQWEsNnZCQUNiLGdCQUFnQjs7MkZBTVAsZUFBZTtrQkFkM0IsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQixXQUdRLENBQUMsc0JBQXNCLENBQUM7OzBCQWdCOUIsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbmplY3QsIFBMQVRGT1JNX0lEfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge01hdE1lbnVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQge01hdFRvb2xiYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xyXG5pbXBvcnQge1JvdXRlciwgUm91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7Q29yZUkxOG5TZXJ2aWNlLCBTaWRlbmF2U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgKiBhcyBDb25zdGFudHMgZnJvbSAnLi4vLi4vLi4vLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHtDb3JlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvcmUuc2VydmljZS50c1wiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWhlYWRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdFRvb2xiYXJNb2R1bGVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IHtcclxuICBzZWFyY2ggPSBuZXcgRm9ybUNvbnRyb2woJycpO1xyXG4gIHNpZGVuYXZTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgaXNTaWRlbmF2T3BlbmVkID0gZmFsc2U7XHJcbiAgZGV2aWNlID0gJyc7XHJcbiAgaXNNb2JpbGUhOiBib29sZWFuO1xyXG4gIHVzZXJEYXRhOiBhbnk7XHJcbiAgdXNlck5hbWU6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNsYXRlOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZSxcclxuICAgIHByaXZhdGUgY29yZVNlcnZpY2U6IENvcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55XHJcbiAgKSB7XHJcbiAgICB0aGlzLmRldmljZSA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcclxuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2luc2lkZS1tb2JpbGUtYXBwJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0TGFuZ3VhZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCB0YXJnZXRMYW5nID0gdGhpcy50cmFuc2xhdGUuZ2V0TGFuZ3VhZ2UoKSA9PT0gJ2VuJyA/ICdhcicgOiAnZW4nO1xyXG4gICAgbGV0IHVybCA9IGxvY2F0aW9uLm9yaWdpbiArIGAvJHt0YXJnZXRMYW5nfS9ncm91cC9pLWdhdGUvYXNzZXQtbWFuYWdlbWVudGA7XHJcbiAgICB3aW5kb3cub3Blbih1cmwsICdfc2VsZicpO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgbGV0IGxvZ291dFVybCA9IENvbnN0YW50cy5MT0dPVVRfVVJMO1xyXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3Rva2VuJyk7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndXNlck5hbWUnKTtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd1c2VyJyk7XHJcbiAgICBjb25zdCB1c2VyU2VsZWN0ZWRMYW5ndWFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5ndWFnZScpID8/ICdlbic7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xhbmd1YWdlJywgdXNlclNlbGVjdGVkTGFuZ3VhZ2UpO1xyXG4gICAgd2luZG93Lm9wZW4obG9nb3V0VXJsLCAnX3NlbGYnKTtcclxuICB9XHJcblxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2lkZW5hdlN1YnNjcmlwdGlvbiA9IHRoaXMuc2lkZW5hdlNlcnZpY2Uuc2lkZU5hdk9wZW5lZC5zdWJzY3JpYmUoKHZhbCkgPT4ge1xyXG4gICAgICB0aGlzLmlzU2lkZW5hdk9wZW5lZCA9IHZhbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCd4eCcsIHRoaXMuY29yZVNlcnZpY2UubG9nZ2VkSW5Vc2VyRGF0YSlcclxuICAgIH0sIDEwMDApO1xyXG4gIH1cclxuXHJcblxyXG4gIHRvZ2dsZVNpZGVOYXYoKSB7XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnbWFpbi1zaWRlbmF2LW9wZW5lZCcpO1xyXG4gICAgdGhpcy5zaWRlbmF2U2VydmljZS5zaWRlTmF2T3BlbmVkLm5leHQoIXRoaXMuaXNTaWRlbmF2T3BlbmVkKTtcclxuICB9XHJcblxyXG5cclxuICBvcGVuRGVtYW5kUmVxdWVzdCgpIHtcclxuICAgIC8vIHRoaXMuc2lkZW5hdlNlcnZpY2UucHVibGlzaCgnb3BlbicsIERlbWFuZFJlcXVlc3RDb21wb25lbnQsICdlbmQnLCAnb3ZlcicpO1xyXG4gIH1cclxuXHJcbiAgb3BlblRpY2tldCgpIHtcclxuICAgIC8vIHRoaXMuc2lkZW5hdlNlcnZpY2UucHVibGlzaCgnb3BlbicsIE9wZW5UaWNrZXRDb21wb25lbnQsICdlbmQnLCAnb3ZlcicpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkVTZXJ2aWNlKCkge1xyXG4gICAgLy8gdGhpcy5zaWRlbmF2U2VydmljZS5wdWJsaXNoKCdvcGVuJywgVmhyQ29tcG9uZW50LCAnZW5kJywgJ292ZXInKTtcclxuICB9XHJcblxyXG4gIC8vIGdvVG9BZG1pbigpIHtcclxuICAvLyAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FkbWluJ10pO1xyXG4gIC8vIH1cclxuXHJcblxyXG4gIG9wZW5BcHAodXJsOiBzdHJpbmcpIHtcclxuICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpPy5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyB0aGlzLnNpZGVuYXZTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvY2F0aW9uID0gbG9jYXRpb247XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc01vYmlsZVwiPlxyXG4gIDxtYXQtdG9vbGJhclxyXG4gICAgY2xhc3M9XCJhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTMgYm9yZGVyLWJvdHRvbVwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cclxuICAgICAgPGRzLWJ1dHRvblxyXG4gICAgICAgIHNoYXBlPVwiZmxhdFwiXHJcbiAgICAgICAgaWNvblxyXG4gICAgICAgIGNvbG9yPVwibGlnaHQtZ3JheVwiXHJcbiAgICAgICAgc3F1YXJlXHJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNpZGVOYXYoKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwiYnVyZ2VyLW1lbnUtMVwiIGNsYXNzPVwiZnMtMjQgZmMtZGFyay1ncmF5XCI+PC9kcy1pY29uPlxyXG4gICAgICA8L2RzLWJ1dHRvbj5cclxuXHJcbiAgICAgIDxhIFtocmVmXT1cImxvY2F0aW9uLm9yaWdpblwiPlxyXG4gICAgICAgIDxmaWd1cmUgY2xhc3M9XCJtLTAgZC1mbGV4XCI+XHJcbiAgICAgICAgICA8aW1nIGNsYXNzPVwibWFpbi1sb2dvXCIgc3JjPVwiYXNzZXRzL2ltYWdlcy9odWIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICA8L2ZpZ3VyZT5cclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cclxuICAgICAgPGRzLWJ1dHRvblxyXG4gICAgICAgIHNoYXBlPVwiZmxhdFwiXHJcbiAgICAgICAgY29sb3I9XCJsaWdodC1ncmF5XCJcclxuICAgICAgICBjbGFzcz1cInVzZXItbWVudS1idG5cIlxyXG4gICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJ1c2VyTWVudVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZHMtYXZhdGFyXHJcbiAgICAgICAgICBpbWFnZT1cIi9ncm91cC9pLWdhdGUvd20tYnBtL2Zvcm1zLy0vcHJveHkvcG9ydHJhaXQ/ZW1haWw9e3t1c2VyRGF0YT8uZW1haWx9fVwiXHJcbiAgICAgICAgICBvbmVycm9yPVwidGhpcy5vbmVycm9yPW51bGw7dGhpcy5zcmM9J2Fzc2V0cy9pbWFnZXMvdXNlcjIuanBnJ1wiXHJcbiAgICAgICAgICBzbG90PVwicHJlZml4XCJcclxuICAgICAgICAgIGNsYXNzPVwiYXZhdGFyXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9kcy1hdmF0YXI+XHJcblxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTQgZnctbWVkaXVtIGZjLWJsYWNrXCI+XHJcbiAgICAgICAgICB7eyB1c2VyRGF0YT8uZmlyc3ROYW1lIH19IHt7IHVzZXJEYXRhPy5sYXN0TmFtZSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPGRzLWljb25cclxuICAgICAgICAgIHNsb3Q9XCJzdWZmaXhcIlxyXG4gICAgICAgICAgaWNvbj1cImFycm93XCJcclxuICAgICAgICAgIGNsYXNzPVwiZmMtZGFyay1ncmF5IGZzLTE2XCJcclxuICAgICAgICA+PC9kcy1pY29uPlxyXG4gICAgICA8L2RzLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LXRvb2xiYXI+XHJcblxyXG4gIDwhLS0gVXNlciBNZW51IC0tPlxyXG4gIDxtYXQtbWVudSAjdXNlck1lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJ1c2VyLW1lbnVcIj5cclxuICAgIDxkaXYgbWF0LW1lbnUtaXRlbT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xNFwiPnt7IHRyYW5zbGF0ZS50cmFuc2xhdGUoJ3dlbGNvbWUnKSB9fSwgPC9zcGFuPlxyXG4gICAgICA8YnIgLz5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xNCBmdy1tZWRpdW0gbGluZS1oZWlnaHQtMVwiPnt7IHVzZXJEYXRhPy5maXJzdE5hbWUgfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0TGFuZ3VhZ2UoKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJnbG9iZVwiIGNsYXNzPVwiZnMtMjUgZmMtcHVycGxlXCI+PC9kcy1pY29uPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTQgZnctbWVkaXVtIGZjLWJsYWNrXCI+e3tcclxuICAgICAgICAgICAgdHJhbnNsYXRlLnRyYW5zbGF0ZSgnb3RoZXJMYW5nJylcclxuICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJsb2dvdXQoKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJsb2dvdXRcIiBjbGFzcz1cImZzLTI1IGZjLXJlZFwiPjwvZHMtaWNvbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTE0IGZ3LW1lZGl1bSBmYy1ibGFja1wiPnt7XHJcbiAgICAgICAgICAgIHRyYW5zbGF0ZS50cmFuc2xhdGUoJ2xvZ291dCcpXHJcbiAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L21hdC1tZW51PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
@@ -0,0 +1,101 @@
1
+ import { DOCUMENT, NgClass, NgComponentOutlet, NgIf } from '@angular/common';
2
+ import { Component, Inject, Input, ViewChild } from "@angular/core";
3
+ import { MatSidenavModule } from '@angular/material/sidenav';
4
+ import { RouterOutlet } from "@angular/router";
5
+ import { HeaderComponent } from "./header/header.component";
6
+ import { SideNavComponent } from "./side-nav/side-nav.component";
7
+ import { WorkflowSectionComponent } from "../workflow-section/workflow-section.component";
8
+ import { ServiceHeaderComponent } from "../service-header/service-header.component";
9
+ import { CoreService } from "../../../services/core.service.ts";
10
+ import { MY_LIB_CONFIG_TOKEN } from "../../../../public-api";
11
+ import { environment } from "../../../environments/environment.local";
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/router";
14
+ import * as i2 from "../../../services";
15
+ import * as i3 from "@angular/material/sidenav";
16
+ export class LayoutComponent {
17
+ document;
18
+ router;
19
+ sidenavService;
20
+ sidenav;
21
+ sideContent;
22
+ sidenavSubscription;
23
+ form;
24
+ formTitle;
25
+ isLoading = false;
26
+ serviceBrief = [];
27
+ constructor(document, router, sidenavService) {
28
+ this.document = document;
29
+ this.router = router;
30
+ this.sidenavService = sidenavService;
31
+ }
32
+ ngOnInit() {
33
+ this.sidenavSubscription = this.sidenavService.subject.subscribe((value) => {
34
+ this.sideContent = value.componentName;
35
+ this.sidenav.mode = value.mode;
36
+ this.sidenav.position = value.position;
37
+ if (value.eventName === "open") {
38
+ this.openSideNav();
39
+ }
40
+ else {
41
+ this.closeSideNav();
42
+ }
43
+ });
44
+ }
45
+ ngOnDestroy() {
46
+ if (this.sidenavSubscription) {
47
+ this.sidenavSubscription.unsubscribe();
48
+ }
49
+ }
50
+ onClose() {
51
+ this.document.body.classList.remove("NoScroll");
52
+ this.document.documentElement.classList.remove("NoScroll");
53
+ }
54
+ backdropClick() {
55
+ this.sidenav.close().then(r => { });
56
+ this.sidenavService.closeSidenav();
57
+ this.document.body.classList.remove("NoScroll");
58
+ this.document.documentElement.classList.remove("NoScroll");
59
+ }
60
+ openSideNav() {
61
+ this.sidenav.open().then(r => { });
62
+ this.document.body.classList.add("NoScroll");
63
+ this.document.documentElement.classList.add("NoScroll");
64
+ }
65
+ closeSideNav() {
66
+ this.sidenav.close().then(r => { });
67
+ }
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LayoutComponent, deps: [{ token: DOCUMENT }, { token: i1.Router }, { token: i2.SidenavService }], target: i0.ɵɵFactoryTarget.Component });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: LayoutComponent, isStandalone: true, selector: "core-layout", inputs: { form: "form", formTitle: "formTitle", isLoading: "isLoading", serviceBrief: "serviceBrief" }, providers: [
70
+ CoreService,
71
+ {
72
+ provide: MY_LIB_CONFIG_TOKEN,
73
+ useValue: environment
74
+ }
75
+ ], viewQueries: [{ propertyName: "sidenav", first: true, predicate: ["sidenav"], descendants: true, static: true }], ngImport: i0, template: "<app-header></app-header>\r\n<section class=\"d-flex\">\r\n <app-side-nav></app-side-nav>\r\n <mat-sidenav-container\r\n class=\"flex-grow-1\"\r\n [hasBackdrop]=\"true\"\r\n (backdropClick)=\"backdropClick()\"\r\n >\r\n <mat-sidenav\r\n #sidenav\r\n autoFocus=\"false\"\r\n fixedInViewport\r\n [position]=\"'end'\"\r\n (closedStart)=\"onClose()\"\r\n >\r\n <ng-container *ngComponentOutlet=\"sideContent\">\r\n <app-side-nav></app-side-nav>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <main\r\n class=\"hadPadding service-wrapper\"\r\n [ngClass]=\"form?.header?.status?.key == 'NEW' ? 'hub-container-mini' : 'hub-container'\">\r\n\r\n <ng-content ></ng-content>\r\n <ng-content select=\"[workflow]\"></ng-content>\r\n\r\n </main>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n</section>\r\n", styles: [":host ::ng-deep .mat-drawer-container{overflow:visible;margin-top:var(--main-toolbar-height);min-height:calc(100vh - var(--main-toolbar-height));background-color:var(--body-bg)!important;z-index:initial!important;min-width:calc(100% - var(--main-aside-width));width:calc(100% - var(--main-aside-width))}:host ::ng-deep .mat-drawer-container .mat-drawer-content{display:flex;flex-direction:column;overflow:visible}.hup-wrapper :host ::ng-deep .mat-drawer-container .mat-drawer-content{min-height:auto}:host ::ng-deep footer{bottom:-65px}.mat-drawer{border-radius:10px!important;margin:1rem;box-shadow:0 8px 16px 7px rgba(var(--rgb-black),.06);background-color:var(--white)}@media (max-width: 767px){.mat-drawer{padding:0;border-radius:0;margin:0;width:100%}}.customize-btn{min-width:166px}.zer-pt{padding-top:0!important}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header" }, { kind: "component", type: SideNavComponent, selector: "app-side-nav", inputs: ["isOpened"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i3.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i3.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LayoutComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: "core-layout", standalone: true, imports: [HeaderComponent, SideNavComponent, MatSidenavModule, RouterOutlet, NgComponentOutlet, WorkflowSectionComponent, ServiceHeaderComponent, NgClass, NgIf], providers: [
80
+ CoreService,
81
+ {
82
+ provide: MY_LIB_CONFIG_TOKEN,
83
+ useValue: environment
84
+ }
85
+ ], template: "<app-header></app-header>\r\n<section class=\"d-flex\">\r\n <app-side-nav></app-side-nav>\r\n <mat-sidenav-container\r\n class=\"flex-grow-1\"\r\n [hasBackdrop]=\"true\"\r\n (backdropClick)=\"backdropClick()\"\r\n >\r\n <mat-sidenav\r\n #sidenav\r\n autoFocus=\"false\"\r\n fixedInViewport\r\n [position]=\"'end'\"\r\n (closedStart)=\"onClose()\"\r\n >\r\n <ng-container *ngComponentOutlet=\"sideContent\">\r\n <app-side-nav></app-side-nav>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <main\r\n class=\"hadPadding service-wrapper\"\r\n [ngClass]=\"form?.header?.status?.key == 'NEW' ? 'hub-container-mini' : 'hub-container'\">\r\n\r\n <ng-content ></ng-content>\r\n <ng-content select=\"[workflow]\"></ng-content>\r\n\r\n </main>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n</section>\r\n", styles: [":host ::ng-deep .mat-drawer-container{overflow:visible;margin-top:var(--main-toolbar-height);min-height:calc(100vh - var(--main-toolbar-height));background-color:var(--body-bg)!important;z-index:initial!important;min-width:calc(100% - var(--main-aside-width));width:calc(100% - var(--main-aside-width))}:host ::ng-deep .mat-drawer-container .mat-drawer-content{display:flex;flex-direction:column;overflow:visible}.hup-wrapper :host ::ng-deep .mat-drawer-container .mat-drawer-content{min-height:auto}:host ::ng-deep footer{bottom:-65px}.mat-drawer{border-radius:10px!important;margin:1rem;box-shadow:0 8px 16px 7px rgba(var(--rgb-black),.06);background-color:var(--white)}@media (max-width: 767px){.mat-drawer{padding:0;border-radius:0;margin:0;width:100%}}.customize-btn{min-width:166px}.zer-pt{padding-top:0!important}\n"] }]
86
+ }], ctorParameters: () => [{ type: Document, decorators: [{
87
+ type: Inject,
88
+ args: [DOCUMENT]
89
+ }] }, { type: i1.Router }, { type: i2.SidenavService }], propDecorators: { sidenav: [{
90
+ type: ViewChild,
91
+ args: ["sidenav", { static: true }]
92
+ }], form: [{
93
+ type: Input
94
+ }], formTitle: [{
95
+ type: Input
96
+ }], isLoading: [{
97
+ type: Input
98
+ }], serviceBrief: [{
99
+ type: Input
100
+ }] } });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxRSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQWEsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RSxPQUFPLEVBQVMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRXhGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUNBQXlDLENBQUM7Ozs7O0FBZ0JwRSxNQUFNLE9BQU8sZUFBZTtJQVdXO0lBQ2xCO0lBQ0E7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RkFXOUksZUFBZTtrQkFkM0IsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBR3JKO3dCQUNULFdBQVc7d0JBQ1g7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsUUFBUSxFQUFFLFdBQVc7eUJBQ3RCO3FCQUNGOzswQkFhRSxNQUFNOzJCQUFDLFFBQVE7MkZBVjJCLE9BQU87c0JBQW5ELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFHM0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVCwgTmdDbGFzcywgTmdDb21wb25lbnRPdXRsZXQsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7TWF0U2lkZW5hdiwgTWF0U2lkZW5hdk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdidcclxuaW1wb3J0IHtSb3V0ZXIsIFJvdXRlck91dGxldH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtTaWRlbmF2U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7SGVhZGVyQ29tcG9uZW50fSBmcm9tIFwiLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NpZGVOYXZDb21wb25lbnR9IGZyb20gXCIuL3NpZGUtbmF2L3NpZGUtbmF2LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1dvcmtmbG93U2VjdGlvbkNvbXBvbmVudH0gZnJvbSBcIi4uL3dvcmtmbG93LXNlY3Rpb24vd29ya2Zsb3ctc2VjdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGb3JtfSBmcm9tIFwiLi4vLi4vLi4vaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQge1NlcnZpY2VIZWFkZXJDb21wb25lbnR9IGZyb20gXCIuLi9zZXJ2aWNlLWhlYWRlci9zZXJ2aWNlLWhlYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtDb3JlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2NvcmUuc2VydmljZS50c1wiO1xyXG5pbXBvcnQge01ZX0xJQl9DT05GSUdfVE9LRU59IGZyb20gXCIuLi8uLi8uLi8uLi9wdWJsaWMtYXBpXCI7XHJcbmltcG9ydCB7ZW52aXJvbm1lbnR9IGZyb20gXCIuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQubG9jYWxcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvcmUtbGF5b3V0XCIsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbSGVhZGVyQ29tcG9uZW50LCBTaWRlTmF2Q29tcG9uZW50LCBNYXRTaWRlbmF2TW9kdWxlLCBSb3V0ZXJPdXRsZXQsIE5nQ29tcG9uZW50T3V0bGV0LCBXb3JrZmxvd1NlY3Rpb25Db21wb25lbnQsIFNlcnZpY2VIZWFkZXJDb21wb25lbnQsIE5nQ2xhc3MsIE5nSWZdLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vbGF5b3V0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9sYXlvdXQuY29tcG9uZW50LnNjc3NcIixcclxuICBwcm92aWRlcnM6IFtcclxuICAgIENvcmVTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNWV9MSUJfQ09ORklHX1RPS0VOLFxyXG4gICAgICB1c2VWYWx1ZTogZW52aXJvbm1lbnRcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChcInNpZGVuYXZcIiwge3N0YXRpYzogdHJ1ZX0pIHB1YmxpYyBzaWRlbmF2ITogTWF0U2lkZW5hdjtcclxuICBzaWRlQ29udGVudDogYW55O1xyXG4gIHByaXZhdGUgc2lkZW5hdlN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtXHJcbiAgQElucHV0KCkgZm9ybVRpdGxlOiBzdHJpbmdcclxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXJ2aWNlQnJpZWY6IGFueVtdID0gW107XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaWRlbmF2U3Vic2NyaXB0aW9uID0gdGhpcy5zaWRlbmF2U2VydmljZS5zdWJqZWN0LnN1YnNjcmliZShcclxuICAgICAgKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnNpZGVDb250ZW50ID0gdmFsdWUuY29tcG9uZW50TmFtZTtcclxuICAgICAgICB0aGlzLnNpZGVuYXYubW9kZSA9IHZhbHVlLm1vZGU7XHJcbiAgICAgICAgdGhpcy5zaWRlbmF2LnBvc2l0aW9uID0gdmFsdWUucG9zaXRpb247XHJcbiAgICAgICAgaWYgKHZhbHVlLmV2ZW50TmFtZSA9PT0gXCJvcGVuXCIpIHtcclxuICAgICAgICAgIHRoaXMub3BlblNpZGVOYXYoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZVNpZGVOYXYoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNpZGVuYXZTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zaWRlbmF2U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlKCkge1xyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoXCJOb1Njcm9sbFwiKTtcclxuICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJOb1Njcm9sbFwiKTtcclxuICB9XHJcblxyXG4gIGJhY2tkcm9wQ2xpY2soKSB7XHJcbiAgICB0aGlzLnNpZGVuYXYuY2xvc2UoKS50aGVuKHIgPT4ge30pO1xyXG4gICAgdGhpcy5zaWRlbmF2U2VydmljZS5jbG9zZVNpZGVuYXYoKTtcclxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKFwiTm9TY3JvbGxcIik7XHJcbiAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwiTm9TY3JvbGxcIik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9wZW5TaWRlTmF2KCkge1xyXG4gICAgdGhpcy5zaWRlbmF2Lm9wZW4oKS50aGVuKHIgPT4ge30pO1xyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJOb1Njcm9sbFwiKTtcclxuICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJOb1Njcm9sbFwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2VTaWRlTmF2KCkge1xyXG4gICAgdGhpcy5zaWRlbmF2LmNsb3NlKCkudGhlbihyID0+IHt9KTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1oZWFkZXI+PC9hcHAtaGVhZGVyPlxyXG48c2VjdGlvbiBjbGFzcz1cImQtZmxleFwiPlxyXG4gIDxhcHAtc2lkZS1uYXY+PC9hcHAtc2lkZS1uYXY+XHJcbiAgPG1hdC1zaWRlbmF2LWNvbnRhaW5lclxyXG4gICAgY2xhc3M9XCJmbGV4LWdyb3ctMVwiXHJcbiAgICBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiXHJcbiAgICAoYmFja2Ryb3BDbGljayk9XCJiYWNrZHJvcENsaWNrKClcIlxyXG4gID5cclxuICAgIDxtYXQtc2lkZW5hdlxyXG4gICAgICAjc2lkZW5hdlxyXG4gICAgICBhdXRvRm9jdXM9XCJmYWxzZVwiXHJcbiAgICAgIGZpeGVkSW5WaWV3cG9ydFxyXG4gICAgICBbcG9zaXRpb25dPVwiJ2VuZCdcIlxyXG4gICAgICAoY2xvc2VkU3RhcnQpPVwib25DbG9zZSgpXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJzaWRlQ29udGVudFwiPlxyXG4gICAgICAgIDxhcHAtc2lkZS1uYXY+PC9hcHAtc2lkZS1uYXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtc2lkZW5hdj5cclxuICAgIDxtYXQtc2lkZW5hdi1jb250ZW50PlxyXG4gICAgICA8bWFpblxyXG4gICAgICAgIGNsYXNzPVwiaGFkUGFkZGluZyBzZXJ2aWNlLXdyYXBwZXJcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5rZXkgPT0gJ05FVycgPyAnaHViLWNvbnRhaW5lci1taW5pJyA6ICdodWItY29udGFpbmVyJ1wiPlxyXG5cclxuICAgICAgICA8bmctY29udGVudCA+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt3b3JrZmxvd11cIj48L25nLWNvbnRlbnQ+XHJcblxyXG4gICAgICA8L21haW4+XHJcbiAgICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XHJcbiAgPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XHJcbjwvc2VjdGlvbj5cclxuIl19
@@ -0,0 +1,158 @@
1
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, ViewChild } from '@angular/core';
2
+ import { RouterLink, RouterLinkActive } from '@angular/router';
3
+ import { MatTooltipModule } from '@angular/material/tooltip';
4
+ import { MatMenu, MatMenuTrigger } from '@angular/material/menu';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../../services";
7
+ import * as i2 from "@angular/router";
8
+ import * as i3 from "@angular/material/tooltip";
9
+ export class SideNavComponent {
10
+ sidenavService;
11
+ router;
12
+ isOpened = false;
13
+ lang = '';
14
+ Menu = [
15
+ {
16
+ name: 'Home',
17
+ routerLink: '/group/hub/home1',
18
+ icon: 'home-o',
19
+ matmenu: false,
20
+ List: []
21
+ },
22
+ {
23
+ name: 'Inbox',
24
+ routerLink: '/group/hub/inbox',
25
+ icon: 'mail-o',
26
+ matmenu: false,
27
+ List: []
28
+ },
29
+ {
30
+ name: 'Dobox',
31
+ routerLink: '/group/hub/dobox',
32
+ icon: 'chick-sqaure',
33
+ matmenu: false,
34
+ List: []
35
+ },
36
+ {
37
+ name: 'Chat',
38
+ routerLink: '/group/hub/chat',
39
+ icon: 'chat-circle-2',
40
+ matmenu: false,
41
+ List: []
42
+ },
43
+ {
44
+ name: 'Mail',
45
+ routerLink: '/group/hub/mail',
46
+ icon: 'mail-f',
47
+ matmenu: false,
48
+ List: []
49
+ },
50
+ {
51
+ name: 'Meetings',
52
+ routerLink: '/group/hub/meetings',
53
+ icon: 'calendar',
54
+ matmenu: false,
55
+ List: []
56
+ },
57
+ {
58
+ name: 'Offers',
59
+ routerLink: '/group/hub/hub-offers',
60
+ icon: 'voucher',
61
+ matmenu: false,
62
+ List: []
63
+ },
64
+ {
65
+ name: 'stc today',
66
+ routerLink: '/group/hub/stc-profile',
67
+ icon: 'stc-profile-o',
68
+ matmenu: false,
69
+ List: []
70
+ },
71
+ {
72
+ name: 'Articles',
73
+ routerLink: '/group/hub/articles',
74
+ icon: 'file-returned',
75
+ matmenu: false,
76
+ List: []
77
+ },
78
+ {
79
+ name: 'Timeline',
80
+ routerLink: '/group/hub/timeline',
81
+ icon: 'list-dots',
82
+ matmenu: false,
83
+ List: []
84
+ },
85
+ {
86
+ name: 'eforms',
87
+ routerLink: '/group/hub/efroms',
88
+ icon: 'file-o',
89
+ matmenu: false,
90
+ List: []
91
+ },
92
+ {
93
+ name: 'Apps',
94
+ routerLink: '/group/hub/apps',
95
+ icon: 'card',
96
+ matmenu: false,
97
+ List: []
98
+ },
99
+ ];
100
+ constructor(sidenavService, router) {
101
+ this.sidenavService = sidenavService;
102
+ this.router = router;
103
+ }
104
+ closeSidenav() {
105
+ document.documentElement.classList.remove('main-sidenav-opened');
106
+ // this.sidenavService.sideNavOpened.next(false);
107
+ }
108
+ navigateTo(item) {
109
+ window.location.href = item.routerLink;
110
+ }
111
+ innerWidth;
112
+ menuMobile;
113
+ MenuTrigger;
114
+ ngOnInit() {
115
+ this.innerWidth = window.innerWidth;
116
+ if (this.innerWidth < 1024) {
117
+ this.menuMobile = true;
118
+ }
119
+ else {
120
+ this.menuMobile = false;
121
+ }
122
+ }
123
+ mouseover(matmenu, i) {
124
+ if (!this.menuMobile) {
125
+ if (matmenu) {
126
+ document.documentElement.classList.remove('main-overlay-closed');
127
+ // this.MenuTrigger[i].openMenu();
128
+ }
129
+ else {
130
+ document.documentElement.classList.add('main-overlay-closed');
131
+ // this.MenuTrigger[i].closeMenu();
132
+ }
133
+ }
134
+ }
135
+ goto(url, matmenu) {
136
+ if (!this.menuMobile) {
137
+ if (matmenu) {
138
+ document.documentElement.classList.remove('main-overlay-closed');
139
+ }
140
+ else {
141
+ document.documentElement.classList.add('main-overlay-closed');
142
+ }
143
+ }
144
+ this.router.navigate([url]);
145
+ }
146
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SideNavComponent, deps: [{ token: i1.SidenavService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
147
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SideNavComponent, isStandalone: true, selector: "app-side-nav", inputs: { isOpened: "isOpened" }, viewQueries: [{ propertyName: "MenuTrigger", first: true, predicate: ["MenuTrigger"], descendants: true }], ngImport: i0, template: "<aside>\r\n <div class=\"header d-flex d-lg-none\">\r\n <div class=\"d-flex h-100 mt-auto justify-content-between w-100\">\r\n <h1 class=\"fs-26 fw-bold fc-white logo\">academy</h1>\r\n <ds-button size=\"small\" color=\"purple\" class=\"close purple\" (click)=\"closeSidenav()\">\r\n <ds-icon icon=\"close\" class=\"fs-15 fc-white\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n </div>\r\n <nav>\r\n <ul>\r\n <!-- (mouseenter)=\"menuMobile ? null : MenuTrigger.openMenu()\"-->\r\n <!-- (click)=\"goto(item.routerLink,item.matmenu) -->\r\n @for (item of Menu; track $index) {\r\n @if (item.matmenu) {\r\n <li\r\n (click)=\"closeSidenav();navigateTo(item)\" matTooltipPosition=\"right\" matTooltip=\"{{item.name }}\"\r\n [routerLinkActive]=\"'active'\" (click)=\"goto(item.routerLink!,item.matmenu)\" #MenuTrigger=\"matMenuTrigger\"\r\n [matMenuTriggerFor]=\"menuMenu\" [routerLinkActiveOptions]=\"{ exact: true }\" class=\"cursor-pointer\">\r\n <ds-icon icon=\"{{item.icon}}\" class=\"icon\"></ds-icon>\r\n <span class=\"menu-label\">\r\n {{ item.name }}\r\n </span>\r\n </li>\r\n <mat-menu #menuMenu=\"matMenu\" class=\"aside-menu visible-{{item.matmenu}}\">\r\n <app-mat-menu [title]=\"item.name \" [icon]=\"item.icon\" [list]=\"item.List\"></app-mat-menu>\r\n </mat-menu>\r\n } @else {\r\n <li\r\n (click)=\"closeSidenav();navigateTo(item)\" matTooltipPosition=\"right\" matTooltip=\"{{item.name }}\"\r\n [routerLinkActive]=\"'active'\" [routerLinkActiveOptions]=\"{ exact: true }\" class=\"cursor-pointer\">\r\n <ds-icon icon=\"{{item.icon}}\" class=\"icon\"></ds-icon>\r\n <span class=\"menu-label\">\r\n {{ item.name }}\r\n </span>\r\n </li>\r\n }\r\n }\r\n </ul>\r\n </nav>\r\n</aside>\r\n", styles: [":host ::ng-deep aside{min-width:var(--main-aside-width);width:var(--main-aside-width);height:calc(100vh - var(--main-toolbar-height));display:flex;position:var(--main-aside-position);right:var(--main-aside-right);left:var(--main-aside-left);top:var(--main-toolbar-height);z-index:var(--main-toolbar-zIndex);background-color:var(--main-aside-bc);transform:var(--main-aside-transform);transition:all .5s cubic-bezier(.685,.0473,.346,1)}@media (max-width: 1024px){:host ::ng-deep aside{height:100%;flex-direction:column;--main-toolbar-height: 0}}:host ::ng-deep aside nav{width:100%}:host ::ng-deep aside ul{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;padding:0rem;margin:37px 0;list-style:none;counter-reset:itemCounter}:host ::ng-deep aside ul li{display:flex;align-items:center;flex-wrap:nowrap;overflow:hidden;max-width:calc(var(--main-aside-width-active) - 15px);width:100%;gap:var(--gap-width, 2.5rem);padding:3px 0 3px 10px;cursor:pointer;color:var(--main-aside-item-fc);border-radius:0;transition:var(--default-transition)}[dir=rtl] :host ::ng-deep aside ul li{padding:3px 10px 3px 0!important}@media (max-width: 1024px){@keyframes liAnimation{0%{transform:translateY(-500px)}to{transform:translateY(0)}}}:host ::ng-deep aside ul li.active,:host ::ng-deep aside ul li:hover{background-color:var(--main-aside-item-bc)}[dir=ltr] :host ::ng-deep aside ul li.active,[dir=ltr] :host ::ng-deep aside ul li:hover{border-left:5px solid var(--coral)}[dir=rtl] :host ::ng-deep aside ul li.active,[dir=rtl] :host ::ng-deep aside ul li:hover{border-right:5px solid var(--coral)}:host ::ng-deep aside ul li .menu-label{font-size:var(--main-aside-item-fs);flex-grow:1;opacity:1;min-width:calc(var(--main-aside-width-active) - 2rem - 40px);display:var(--main-aside-item-display)}:host ::ng-deep aside .header{background-color:#0003!important;padding:15px;flex-direction:row}:host ::ng-deep aside .header div{display:flex;align-items:center;margin-top:auto}:host ::ng-deep aside .footer{margin-top:auto;margin-bottom:80px;padding:0 30px}:host ::ng-deep aside ds-icon{font-size:1.55rem;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;min-width:40px;width:40px;height:40px}:host ::ng-deep ds-button.close::part(base){height:37px;width:37px}:host ::ng-deep ds-button.close ds-icon{font-size:18px;min-width:18px;width:18px;height:18px}:host ::ng-deep .viewAll:hover{background-color:var(--purple)}:host ::ng-deep .viewAll:hover span{color:var(--white)}:host ::ng-deep .justify-content-between{justify-content:space-between}:host ::ng-deep .flex-column{flex-direction:column}:host ::ng-deep .d-flex{display:flex}:host ::ng-deep .w-100{width:100%}:host ::ng-deep .gap-3{gap:1rem!important}:host ::ng-deep ds-button.purple::part(base){--btn-border-color: var(--purple)}:host ::ng-deep ds-button.purple::part(overlay){--btn-overlay-color: var(--purple)}:host ::ng-deep ds-button.secondary::part(base){--btn-border-color: var(--secondary)}:host ::ng-deep ds-button.secondary::part(overlay){--btn-overlay-color: var(--secondary)}@media (min-width: 1024px){:host ::ng-deep .d-md-none{display:none!important}}@media (max-height: 430px){:host ::ng-deep aside .header{margin-bottom:50px}:host ::ng-deep aside nav{padding:15px 0 0;overflow:auto}:host ::ng-deep aside .footer{margin-bottom:20px}}@media (max-height: 300px){:host ::ng-deep aside .header{margin-bottom:5px}}:host ::ng-deep .logo{color:#fff}::ng-deep .aside-menu .mat-mdc-menu-content{border:none;box-shadow:none;padding:0!important}\n"], dependencies: [{ kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] });
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SideNavComponent, decorators: [{
150
+ type: Component,
151
+ args: [{ selector: 'app-side-nav', standalone: true, imports: [RouterLinkActive, RouterLink, MatTooltipModule, MatMenu, MatMenuTrigger], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<aside>\r\n <div class=\"header d-flex d-lg-none\">\r\n <div class=\"d-flex h-100 mt-auto justify-content-between w-100\">\r\n <h1 class=\"fs-26 fw-bold fc-white logo\">academy</h1>\r\n <ds-button size=\"small\" color=\"purple\" class=\"close purple\" (click)=\"closeSidenav()\">\r\n <ds-icon icon=\"close\" class=\"fs-15 fc-white\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n </div>\r\n <nav>\r\n <ul>\r\n <!-- (mouseenter)=\"menuMobile ? null : MenuTrigger.openMenu()\"-->\r\n <!-- (click)=\"goto(item.routerLink,item.matmenu) -->\r\n @for (item of Menu; track $index) {\r\n @if (item.matmenu) {\r\n <li\r\n (click)=\"closeSidenav();navigateTo(item)\" matTooltipPosition=\"right\" matTooltip=\"{{item.name }}\"\r\n [routerLinkActive]=\"'active'\" (click)=\"goto(item.routerLink!,item.matmenu)\" #MenuTrigger=\"matMenuTrigger\"\r\n [matMenuTriggerFor]=\"menuMenu\" [routerLinkActiveOptions]=\"{ exact: true }\" class=\"cursor-pointer\">\r\n <ds-icon icon=\"{{item.icon}}\" class=\"icon\"></ds-icon>\r\n <span class=\"menu-label\">\r\n {{ item.name }}\r\n </span>\r\n </li>\r\n <mat-menu #menuMenu=\"matMenu\" class=\"aside-menu visible-{{item.matmenu}}\">\r\n <app-mat-menu [title]=\"item.name \" [icon]=\"item.icon\" [list]=\"item.List\"></app-mat-menu>\r\n </mat-menu>\r\n } @else {\r\n <li\r\n (click)=\"closeSidenav();navigateTo(item)\" matTooltipPosition=\"right\" matTooltip=\"{{item.name }}\"\r\n [routerLinkActive]=\"'active'\" [routerLinkActiveOptions]=\"{ exact: true }\" class=\"cursor-pointer\">\r\n <ds-icon icon=\"{{item.icon}}\" class=\"icon\"></ds-icon>\r\n <span class=\"menu-label\">\r\n {{ item.name }}\r\n </span>\r\n </li>\r\n }\r\n }\r\n </ul>\r\n </nav>\r\n</aside>\r\n", styles: [":host ::ng-deep aside{min-width:var(--main-aside-width);width:var(--main-aside-width);height:calc(100vh - var(--main-toolbar-height));display:flex;position:var(--main-aside-position);right:var(--main-aside-right);left:var(--main-aside-left);top:var(--main-toolbar-height);z-index:var(--main-toolbar-zIndex);background-color:var(--main-aside-bc);transform:var(--main-aside-transform);transition:all .5s cubic-bezier(.685,.0473,.346,1)}@media (max-width: 1024px){:host ::ng-deep aside{height:100%;flex-direction:column;--main-toolbar-height: 0}}:host ::ng-deep aside nav{width:100%}:host ::ng-deep aside ul{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;padding:0rem;margin:37px 0;list-style:none;counter-reset:itemCounter}:host ::ng-deep aside ul li{display:flex;align-items:center;flex-wrap:nowrap;overflow:hidden;max-width:calc(var(--main-aside-width-active) - 15px);width:100%;gap:var(--gap-width, 2.5rem);padding:3px 0 3px 10px;cursor:pointer;color:var(--main-aside-item-fc);border-radius:0;transition:var(--default-transition)}[dir=rtl] :host ::ng-deep aside ul li{padding:3px 10px 3px 0!important}@media (max-width: 1024px){@keyframes liAnimation{0%{transform:translateY(-500px)}to{transform:translateY(0)}}}:host ::ng-deep aside ul li.active,:host ::ng-deep aside ul li:hover{background-color:var(--main-aside-item-bc)}[dir=ltr] :host ::ng-deep aside ul li.active,[dir=ltr] :host ::ng-deep aside ul li:hover{border-left:5px solid var(--coral)}[dir=rtl] :host ::ng-deep aside ul li.active,[dir=rtl] :host ::ng-deep aside ul li:hover{border-right:5px solid var(--coral)}:host ::ng-deep aside ul li .menu-label{font-size:var(--main-aside-item-fs);flex-grow:1;opacity:1;min-width:calc(var(--main-aside-width-active) - 2rem - 40px);display:var(--main-aside-item-display)}:host ::ng-deep aside .header{background-color:#0003!important;padding:15px;flex-direction:row}:host ::ng-deep aside .header div{display:flex;align-items:center;margin-top:auto}:host ::ng-deep aside .footer{margin-top:auto;margin-bottom:80px;padding:0 30px}:host ::ng-deep aside ds-icon{font-size:1.55rem;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;min-width:40px;width:40px;height:40px}:host ::ng-deep ds-button.close::part(base){height:37px;width:37px}:host ::ng-deep ds-button.close ds-icon{font-size:18px;min-width:18px;width:18px;height:18px}:host ::ng-deep .viewAll:hover{background-color:var(--purple)}:host ::ng-deep .viewAll:hover span{color:var(--white)}:host ::ng-deep .justify-content-between{justify-content:space-between}:host ::ng-deep .flex-column{flex-direction:column}:host ::ng-deep .d-flex{display:flex}:host ::ng-deep .w-100{width:100%}:host ::ng-deep .gap-3{gap:1rem!important}:host ::ng-deep ds-button.purple::part(base){--btn-border-color: var(--purple)}:host ::ng-deep ds-button.purple::part(overlay){--btn-overlay-color: var(--purple)}:host ::ng-deep ds-button.secondary::part(base){--btn-border-color: var(--secondary)}:host ::ng-deep ds-button.secondary::part(overlay){--btn-overlay-color: var(--secondary)}@media (min-width: 1024px){:host ::ng-deep .d-md-none{display:none!important}}@media (max-height: 430px){:host ::ng-deep aside .header{margin-bottom:50px}:host ::ng-deep aside nav{padding:15px 0 0;overflow:auto}:host ::ng-deep aside .footer{margin-bottom:20px}}@media (max-height: 300px){:host ::ng-deep aside .header{margin-bottom:5px}}:host ::ng-deep .logo{color:#fff}::ng-deep .aside-menu .mat-mdc-menu-content{border:none;box-shadow:none;padding:0!important}\n"] }]
152
+ }], ctorParameters: () => [{ type: i1.SidenavService }, { type: i2.Router }], propDecorators: { isOpened: [{
153
+ type: Input
154
+ }], MenuTrigger: [{
155
+ type: ViewChild,
156
+ args: ['MenuTrigger']
157
+ }] } });
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvbGF5b3V0L3NpZGUtbmF2L3NpZGUtbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2xheW91dC9zaWRlLW5hdi9zaWRlLW5hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFTLFVBQVUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBVy9ELE1BQU0sT0FBTyxnQkFBZ0I7SUEyRlI7SUFBd0M7SUF6RmxELFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsSUFBSSxHQUFRLEVBQUUsQ0FBQztJQUNmLElBQUksR0FBRztRQUNMO1lBQ0UsSUFBSSxFQUFFLE1BQU07WUFDWixVQUFVLEVBQUUsa0JBQWtCO1lBQzlCLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsRUFBRTtTQUNUO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsT0FBTztZQUNiLFVBQVUsRUFBRSxrQkFBa0I7WUFDOUIsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxFQUFFO1NB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QUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztnQkFDakUsa0NBQWtDO1lBQ3BDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztnQkFDOUQsbUNBQW1DO1lBQ3JDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFZLEVBQUUsT0FBaUI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ25FLENBQUM7aUJBQU0sQ0FBQztnQkFDTixRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNoRSxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO3VHQXpJVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQixzTkNkN0IscThEQXlDQSx3aEhEaENZLGdCQUFnQiw2TUFBYyxnQkFBZ0IsNlRBQUUsT0FBTywyUUFBRSxjQUFjOzsyRkFLdEUsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxXQUd6RSxDQUFDLHNCQUFzQixDQUFDO3dHQUl4QixRQUFRO3NCQUFoQixLQUFLO2dCQXVHb0IsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1JvdXRlciwgUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtNYXRUb29sdGlwTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51VHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7U2lkZW5hdlNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNpZGUtbmF2JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtSb3V0ZXJMaW5rQWN0aXZlLCBSb3V0ZXJMaW5rLCBNYXRUb29sdGlwTW9kdWxlLCBNYXRNZW51LCBNYXRNZW51VHJpZ2dlcl0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtbmF2LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2lkZS1uYXYuY29tcG9uZW50LnNjc3MnLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2lkZU5hdkNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGlzT3BlbmVkID0gZmFsc2U7XHJcbiAgbGFuZzogYW55ID0gJyc7XHJcbiAgTWVudSA9IFtcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0hvbWUnLFxyXG4gICAgICByb3V0ZXJMaW5rOiAnL2dyb3VwL2h1Yi9ob21lMScsXHJcbiAgICAgIGljb246ICdob21lLW8nLFxyXG4gICAgICBtYXRtZW51OiBmYWxzZSxcclxuICAgICAgTGlzdDogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdJbmJveCcsXHJcbiAgICAgIHJvdXRlckxpbms6ICcvZ3JvdXAvaHViL2luYm94JyxcclxuICAgICAgaWNvbjogJ21haWwtbycsXHJcbiAgICAgIG1hdG1lbnU6IGZhbHNlLFxyXG4gICAgICBMaXN0OiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0RvYm94JyxcclxuICAgICAgcm91dGVyTGluazogJy9ncm91cC9odWIvZG9ib3gnLFxyXG4gICAgICBpY29uOiAnY2hpY2stc3FhdXJlJyxcclxuICAgICAgbWF0bWVudTogZmFsc2UsXHJcbiAgICAgIExpc3Q6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnQ2hhdCcsXHJcbiAgICAgIHJvdXRlckxpbms6ICcvZ3JvdXAvaHViL2NoYXQnLFxyXG4gICAgICBpY29uOiAnY2hhdC1jaXJjbGUtMicsXHJcbiAgICAgIG1hdG1lbnU6IGZhbHNlLFxyXG4gICAgICBMaXN0OiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ01haWwnLFxyXG4gICAgICByb3V0ZXJMaW5rOiAnL2dyb3VwL2h1Yi9tYWlsJyxcclxuICAgICAgaWNvbjogJ21haWwtZicsXHJcbiAgICAgIG1hdG1lbnU6IGZhbHNlLFxyXG4gICAgICBMaXN0OiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ01lZXRpbmdzJyxcclxuICAgICAgcm91dGVyTGluazogJy9ncm91cC9odWIvbWVldGluZ3MnLFxyXG4gICAgICBpY29uOiAnY2FsZW5kYXInLFxyXG4gICAgICBtYXRtZW51OiBmYWxzZSxcclxuICAgICAgTGlzdDogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdPZmZlcnMnLFxyXG4gICAgICByb3V0ZXJMaW5rOiAnL2dyb3VwL2h1Yi9odWItb2ZmZXJzJyxcclxuICAgICAgaWNvbjogJ3ZvdWNoZXInLFxyXG4gICAgICBtYXRtZW51OiBmYWxzZSxcclxuICAgICAgTGlzdDogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdzdGMgdG9kYXknLFxyXG4gICAgICByb3V0ZXJMaW5rOiAnL2dyb3VwL2h1Yi9zdGMtcHJvZmlsZScsXHJcbiAgICAgIGljb246ICdzdGMtcHJvZmlsZS1vJyxcclxuICAgICAgbWF0bWVudTogZmFsc2UsXHJcbiAgICAgIExpc3Q6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnQXJ0aWNsZXMnLFxyXG4gICAgICByb3V0ZXJMaW5rOiAnL2dyb3VwL2h1Yi9hcnRpY2xlcycsXHJcbiAgICAgIGljb246ICdmaWxlLXJldHVybmVkJyxcclxuICAgICAgbWF0bWVudTogZmFsc2UsXHJcbiAgICAgIExpc3Q6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnVGltZWxpbmUnLFxyXG4gICAgICByb3V0ZXJMaW5rOiAnL2dyb3VwL2h1Yi90aW1lbGluZScsXHJcbiAgICAgIGljb246ICdsaXN0LWRvdHMnLFxyXG4gICAgICBtYXRtZW51OiBmYWxzZSxcclxuICAgICAgTGlzdDogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdlZm9ybXMnLFxyXG4gICAgICByb3V0ZXJMaW5rOiAnL2dyb3VwL2h1Yi9lZnJvbXMnLFxyXG4gICAgICBpY29uOiAnZmlsZS1vJyxcclxuICAgICAgbWF0bWVudTogZmFsc2UsXHJcbiAgICAgIExpc3Q6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnQXBwcycsXHJcbiAgICAgIHJvdXRlckxpbms6ICcvZ3JvdXAvaHViL2FwcHMnLFxyXG4gICAgICBpY29uOiAnY2FyZCcsXHJcbiAgICAgIG1hdG1lbnU6IGZhbHNlLFxyXG4gICAgICBMaXN0OiBbXVxyXG4gICAgfSxcclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxyXG5cclxuXHJcbiAgY2xvc2VTaWRlbmF2KCkge1xyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ21haW4tc2lkZW5hdi1vcGVuZWQnKTtcclxuICAgIC8vIHRoaXMuc2lkZW5hdlNlcnZpY2Uuc2lkZU5hdk9wZW5lZC5uZXh0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIG5hdmlnYXRlVG8oaXRlbTogYW55KSB7XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGl0ZW0ucm91dGVyTGluaztcclxuICB9XHJcblxyXG4gIGlubmVyV2lkdGg6IGFueTtcclxuICBtZW51TW9iaWxlITogYm9vbGVhbjtcclxuICBAVmlld0NoaWxkKCdNZW51VHJpZ2dlcicpIE1lbnVUcmlnZ2VyITogTWF0TWVudVRyaWdnZXI7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pbm5lcldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICBpZiAodGhpcy5pbm5lcldpZHRoIDwgMTAyNCkge1xyXG4gICAgICB0aGlzLm1lbnVNb2JpbGUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tZW51TW9iaWxlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb3VzZW92ZXIobWF0bWVudTogYm9vbGVhbiwgaTogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMubWVudU1vYmlsZSkge1xyXG4gICAgICBpZiAobWF0bWVudSkge1xyXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdtYWluLW92ZXJsYXktY2xvc2VkJyk7XHJcbiAgICAgICAgLy8gdGhpcy5NZW51VHJpZ2dlcltpXS5vcGVuTWVudSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdtYWluLW92ZXJsYXktY2xvc2VkJyk7XHJcbiAgICAgICAgLy8gdGhpcy5NZW51VHJpZ2dlcltpXS5jbG9zZU1lbnUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ290byh1cmw/OiBzdHJpbmcsIG1hdG1lbnU/OiBib29sZWFuKSB7XHJcbiAgICBpZiAoIXRoaXMubWVudU1vYmlsZSkge1xyXG4gICAgICBpZiAobWF0bWVudSkge1xyXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdtYWluLW92ZXJsYXktY2xvc2VkJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21haW4tb3ZlcmxheS1jbG9zZWQnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xyXG4gIH1cclxufVxyXG4iLCI8YXNpZGU+XHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlciBkLWZsZXggZC1sZy1ub25lXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGgtMTAwIG10LWF1dG8ganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgPGgxIGNsYXNzPVwiZnMtMjYgZnctYm9sZCBmYy13aGl0ZSBsb2dvXCI+YWNhZGVteTwvaDE+XHJcbiAgICAgIDxkcy1idXR0b24gc2l6ZT1cInNtYWxsXCIgY29sb3I9XCJwdXJwbGVcIiBjbGFzcz1cImNsb3NlIHB1cnBsZVwiIChjbGljayk9XCJjbG9zZVNpZGVuYXYoKVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJjbG9zZVwiIGNsYXNzPVwiZnMtMTUgZmMtd2hpdGVcIj48L2RzLWljb24+XHJcbiAgICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPG5hdj5cclxuICAgIDx1bD5cclxuICAgICAgPCEtLSAgKG1vdXNlZW50ZXIpPVwibWVudU1vYmlsZSA/IG51bGwgOiBNZW51VHJpZ2dlci5vcGVuTWVudSgpXCItLT5cclxuICAgICAgPCEtLSAoY2xpY2spPVwiZ290byhpdGVtLnJvdXRlckxpbmssaXRlbS5tYXRtZW51KSAtLT5cclxuICAgICAgQGZvciAoaXRlbSBvZiBNZW51OyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICBAaWYgKGl0ZW0ubWF0bWVudSkge1xyXG4gICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVNpZGVuYXYoKTtuYXZpZ2F0ZVRvKGl0ZW0pXCIgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCIgbWF0VG9vbHRpcD1cInt7aXRlbS5uYW1lIH19XCJcclxuICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVdPVwiJ2FjdGl2ZSdcIiAoY2xpY2spPVwiZ290byhpdGVtLnJvdXRlckxpbmshLGl0ZW0ubWF0bWVudSlcIiAjTWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiXHJcbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51TWVudVwiIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7IGV4YWN0OiB0cnVlIH1cIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgIDxkcy1pY29uIGljb249XCJ7e2l0ZW0uaWNvbn19XCIgY2xhc3M9XCJpY29uXCI+PC9kcy1pY29uPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtbGFiZWxcIj5cclxuICAgICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDxtYXQtbWVudSAjbWVudU1lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJhc2lkZS1tZW51ICB2aXNpYmxlLXt7aXRlbS5tYXRtZW51fX1cIj5cclxuICAgICAgICAgICAgPGFwcC1tYXQtbWVudSBbdGl0bGVdPVwiaXRlbS5uYW1lIFwiIFtpY29uXT1cIml0ZW0uaWNvblwiIFtsaXN0XT1cIml0ZW0uTGlzdFwiPjwvYXBwLW1hdC1tZW51PlxyXG4gICAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VTaWRlbmF2KCk7bmF2aWdhdGVUbyhpdGVtKVwiICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiIG1hdFRvb2x0aXA9XCJ7e2l0ZW0ubmFtZSB9fVwiXHJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlXT1cIidhY3RpdmUnXCIgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IHRydWUgfVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgPGRzLWljb24gaWNvbj1cInt7aXRlbS5pY29ufX1cIiBjbGFzcz1cImljb25cIj48L2RzLWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgIHt7IGl0ZW0ubmFtZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgPC91bD5cclxuICA8L25hdj5cclxuPC9hc2lkZT5cclxuIl19