@netgrif/components 6.2.0-rc.1 → 6.2.0-rc.10

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.
Files changed (30) hide show
  1. package/esm2020/lib/data-fields/user-field/user-field.component.mjs +3 -3
  2. package/esm2020/lib/header/header-modes/search-mode/search-mode.component.mjs +11 -12
  3. package/esm2020/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.mjs +76 -22
  4. package/esm2020/lib/navigation/navigation-tree/navigation-tree.component.mjs +5 -5
  5. package/esm2020/lib/navigation/navigation.module.mjs +6 -2
  6. package/esm2020/lib/navigation/public-api.mjs +4 -1
  7. package/esm2020/lib/panel/panel.component.mjs +3 -3
  8. package/esm2020/lib/panel/panel.module.mjs +10 -5
  9. package/esm2020/lib/panel/public-api.mjs +2 -1
  10. package/esm2020/lib/panel/task-panel/task-panel.component.mjs +3 -3
  11. package/esm2020/lib/panel/task-panel-single/single-task.component.mjs +31 -0
  12. package/esm2020/lib/tabs/tab-view/tab-view.component.mjs +3 -3
  13. package/esm2020/lib/tabs/tabs.module.mjs +4 -2
  14. package/fesm2015/netgrif-components.mjs +245 -165
  15. package/fesm2015/netgrif-components.mjs.map +1 -1
  16. package/fesm2020/netgrif-components.mjs +243 -165
  17. package/fesm2020/netgrif-components.mjs.map +1 -1
  18. package/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.d.ts +8 -9
  19. package/lib/navigation/navigation-tree/navigation-tree.component.d.ts +2 -2
  20. package/lib/navigation/navigation.module.d.ts +2 -1
  21. package/lib/navigation/public-api.d.ts +2 -0
  22. package/lib/panel/panel.module.d.ts +8 -7
  23. package/lib/panel/public-api.d.ts +1 -0
  24. package/lib/panel/task-panel-single/single-task.component.d.ts +10 -0
  25. package/lib/tabs/tabs.module.d.ts +1 -1
  26. package/package.json +2 -2
  27. package/src/lib/data-fields/data-field.theme.scss +0 -1
  28. package/src/lib/header/header.theme.scss +4 -0
  29. package/src/lib/navigation/navigation.theme.scss +8 -0
  30. package/src/lib/panel/panel.theme.scss +10 -0
@@ -19,14 +19,14 @@ export class UserFieldComponent extends AbstractUserFieldComponent {
19
19
  }
20
20
  }
21
21
  UserFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UserFieldComponent, deps: [{ token: i1.SideMenuService }, { token: i1.SnackBarService }, { token: i2.TranslateService }, { token: NAE_INFORM_ABOUT_INVALID_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
22
- UserFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UserFieldComponent, selector: "nc-user-field", usesInheritance: true, ngImport: i0, template: "<nc-data-field-template *ngIf=\"!dataField.behavior.hidden\"\n [dataField]=\"dataField\"\n [dataFieldTemplate]=\"dataFieldTemplate\"\n [offset]=\"taskOffset\">\n</nc-data-field-template>\n\n<ng-template #dataFieldTemplate let-showLargeLayout=\"showLargeLayout\">\n\n <div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n <br>\n </mat-label>\n <button mat-stroked-button\n *ngIf=\"dataField.value !== undefined\"\n [disabled]=\"formControl.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\">\n <mat-icon>how_to_reg</mat-icon>\n {{dataField.value.fullName}}\n </button>\n <button mat-stroked-button\n *ngIf=\"dataField.value === undefined\"\n [disabled]=\"formControl.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\">\n <mat-icon>person_add</mat-icon>\n Select user\n </button>\n <mat-error *ngIf=\"dataField.isInvalid(formControl)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n\n</ng-template>\n", styles: [""], components: [{ type: i3.DataFieldTemplateComponent, selector: "nc-data-field-template" }, { type: i4.RequiredLabelComponent, selector: "nc-required-label", inputs: ["isIn"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatLabel, selector: "mat-label" }, { type: i8.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe } });
22
+ UserFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UserFieldComponent, selector: "nc-user-field", usesInheritance: true, ngImport: i0, template: "<nc-data-field-template *ngIf=\"!dataField.behavior.hidden\"\n [dataField]=\"dataField\"\n [dataFieldTemplate]=\"dataFieldTemplate\"\n [offset]=\"taskOffset\">\n</nc-data-field-template>\n\n<ng-template #dataFieldTemplate let-showLargeLayout=\"showLargeLayout\">\n\n <div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n <br>\n </mat-label>\n <button mat-stroked-button\n *ngIf=\"dataField.value !== undefined\"\n [disabled]=\"formControl.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\">\n <mat-icon>how_to_reg</mat-icon>\n {{dataField.value.fullName}}\n </button>\n <button mat-stroked-button\n *ngIf=\"dataField.value === undefined\"\n [disabled]=\"formControl.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\">\n <mat-icon>person_add</mat-icon>\n {{'dataField.user.selectUser' | translate}}\n </button>\n <mat-error *ngIf=\"dataField.isInvalid(formControl)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n\n</ng-template>\n", styles: [""], components: [{ type: i3.DataFieldTemplateComponent, selector: "nc-data-field-template" }, { type: i4.RequiredLabelComponent, selector: "nc-required-label", inputs: ["isIn"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatLabel, selector: "mat-label" }, { type: i8.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe } });
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UserFieldComponent, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'nc-user-field', template: "<nc-data-field-template *ngIf=\"!dataField.behavior.hidden\"\n [dataField]=\"dataField\"\n [dataFieldTemplate]=\"dataFieldTemplate\"\n [offset]=\"taskOffset\">\n</nc-data-field-template>\n\n<ng-template #dataFieldTemplate let-showLargeLayout=\"showLargeLayout\">\n\n <div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n <br>\n </mat-label>\n <button mat-stroked-button\n *ngIf=\"dataField.value !== undefined\"\n [disabled]=\"formControl.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\">\n <mat-icon>how_to_reg</mat-icon>\n {{dataField.value.fullName}}\n </button>\n <button mat-stroked-button\n *ngIf=\"dataField.value === undefined\"\n [disabled]=\"formControl.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\">\n <mat-icon>person_add</mat-icon>\n Select user\n </button>\n <mat-error *ngIf=\"dataField.isInvalid(formControl)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n\n</ng-template>\n", styles: [""] }]
25
+ args: [{ selector: 'nc-user-field', template: "<nc-data-field-template *ngIf=\"!dataField.behavior.hidden\"\n [dataField]=\"dataField\"\n [dataFieldTemplate]=\"dataFieldTemplate\"\n [offset]=\"taskOffset\">\n</nc-data-field-template>\n\n<ng-template #dataFieldTemplate let-showLargeLayout=\"showLargeLayout\">\n\n <div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n <br>\n </mat-label>\n <button mat-stroked-button\n *ngIf=\"dataField.value !== undefined\"\n [disabled]=\"formControl.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\">\n <mat-icon>how_to_reg</mat-icon>\n {{dataField.value.fullName}}\n </button>\n <button mat-stroked-button\n *ngIf=\"dataField.value === undefined\"\n [disabled]=\"formControl.disabled\"\n color=\"primary\"\n (click)=\"selectUser()\">\n <mat-icon>person_add</mat-icon>\n {{'dataField.user.selectUser' | translate}}\n </button>\n <mat-error *ngIf=\"dataField.isInvalid(formControl)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n\n</ng-template>\n", styles: [""] }]
26
26
  }], ctorParameters: function () { return [{ type: i1.SideMenuService }, { type: i1.SnackBarService }, { type: i2.TranslateService }, { type: undefined, decorators: [{
27
27
  type: Optional
28
28
  }, {
29
29
  type: Inject,
30
30
  args: [NAE_INFORM_ABOUT_INVALID_DATA]
31
31
  }] }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRhLWZpZWxkcy91c2VyLWZpZWxkL3VzZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1maWVsZHMvdXNlci1maWVsZC91c2VyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUUsNkJBQTZCLEVBQW1DLE1BQU0sMEJBQTBCLENBQUM7QUFDckksT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0VBQXNFLENBQUM7Ozs7Ozs7Ozs7QUFRekcsTUFBTSxPQUFPLGtCQUFtQixTQUFRLDBCQUEwQjtJQUU5RCxZQUFZLGVBQWdDLEVBQ2hDLFFBQXlCLEVBQ3pCLFNBQTJCLEVBQ3dCLHNCQUFzQztRQUNqRyxLQUFLLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O2dIQVhRLGtCQUFrQixnSEFLSyw2QkFBNkI7b0dBTHBELGtCQUFrQiw0RUNWL0IsNDNDQWlDQTs0RkR2QmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLGVBQWU7OzBCQVNaLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFVzZXJGaWVsZENvbXBvbmVudCwgTkFFX0lORk9STV9BQk9VVF9JTlZBTElEX0RBVEEsIFNpZGVNZW51U2VydmljZSwgU25hY2tCYXJTZXJ2aWNlfSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtVc2VyQXNzaWduQ29tcG9uZW50fSBmcm9tICcuLi8uLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3VzZXItYXNzaWduL3VzZXItYXNzaWduLmNvbXBvbmVudCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLXVzZXItZmllbGQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91c2VyLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91c2VyLWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVXNlckZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RVc2VyRmllbGRDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3Ioc2lkZU1lbnVTZXJ2aWNlOiBTaWRlTWVudVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfSU5GT1JNX0FCT1VUX0lOVkFMSURfREFUQSkgaW5mb3JtQWJvdXRJbnZhbGlkRGF0YTogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgc3VwZXIoc2lkZU1lbnVTZXJ2aWNlLCBzbmFja2JhciwgdHJhbnNsYXRlLCBpbmZvcm1BYm91dEludmFsaWREYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0VXNlcigpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RBYnN0cmFjdFVzZXIoVXNlckFzc2lnbkNvbXBvbmVudCk7XG4gICAgfVxufVxuIiwiPG5jLWRhdGEtZmllbGQtdGVtcGxhdGUgKm5nSWY9XCIhZGF0YUZpZWxkLmJlaGF2aW9yLmhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YUZpZWxkXT1cImRhdGFGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YUZpZWxkVGVtcGxhdGVdPVwiZGF0YUZpZWxkVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW29mZnNldF09XCJ0YXNrT2Zmc2V0XCI+XG48L25jLWRhdGEtZmllbGQtdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGF0YUZpZWxkVGVtcGxhdGUgbGV0LXNob3dMYXJnZUxheW91dD1cInNob3dMYXJnZUxheW91dFwiPlxuXG4gICAgPGRpdj5cbiAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cIm5ldGdyaWYtbGFiZWxcIiAqbmdJZj1cIiFzaG93TGFyZ2VMYXlvdXQudmFsdWVcIj57e2RhdGFGaWVsZC50aXRsZX19XG4gICAgICAgICAgICA8bmMtcmVxdWlyZWQtbGFiZWwgKm5nSWY9XCJkYXRhRmllbGQuYmVoYXZpb3IucmVxdWlyZWRcIiBbaXNJbl09XCIhZGF0YUZpZWxkLmRpc2FibGVkXCI+PC9uYy1yZXF1aXJlZC1sYWJlbD5cbiAgICAgICAgICAgIDxicj5cbiAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhRmllbGQudmFsdWUgIT09IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1Db250cm9sLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RVc2VyKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5ob3dfdG9fcmVnPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIHt7ZGF0YUZpZWxkLnZhbHVlLmZ1bGxOYW1lfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhRmllbGQudmFsdWUgPT09IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1Db250cm9sLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RVc2VyKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5wZXJzb25fYWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIFNlbGVjdCB1c2VyXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZGF0YUZpZWxkLmlzSW52YWxpZChmb3JtQ29udHJvbClcIj57eydkYXRhRmllbGQudmFsaWRhdGlvbnMucmVxdWlyZWQnIHwgdHJhbnNsYXRlfX08L21hdC1lcnJvcj5cbiAgICA8L2Rpdj5cblxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRhLWZpZWxkcy91c2VyLWZpZWxkL3VzZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1maWVsZHMvdXNlci1maWVsZC91c2VyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUUsNkJBQTZCLEVBQW1DLE1BQU0sMEJBQTBCLENBQUM7QUFDckksT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0VBQXNFLENBQUM7Ozs7Ozs7Ozs7QUFRekcsTUFBTSxPQUFPLGtCQUFtQixTQUFRLDBCQUEwQjtJQUU5RCxZQUFZLGVBQWdDLEVBQ2hDLFFBQXlCLEVBQ3pCLFNBQTJCLEVBQ3dCLHNCQUFzQztRQUNqRyxLQUFLLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O2dIQVhRLGtCQUFrQixnSEFLSyw2QkFBNkI7b0dBTHBELGtCQUFrQiw0RUNWL0IsNDVDQWlDQTs0RkR2QmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLGVBQWU7OzBCQVNaLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFVzZXJGaWVsZENvbXBvbmVudCwgTkFFX0lORk9STV9BQk9VVF9JTlZBTElEX0RBVEEsIFNpZGVNZW51U2VydmljZSwgU25hY2tCYXJTZXJ2aWNlfSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtVc2VyQXNzaWduQ29tcG9uZW50fSBmcm9tICcuLi8uLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3VzZXItYXNzaWduL3VzZXItYXNzaWduLmNvbXBvbmVudCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLXVzZXItZmllbGQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91c2VyLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91c2VyLWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVXNlckZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RVc2VyRmllbGRDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3Ioc2lkZU1lbnVTZXJ2aWNlOiBTaWRlTWVudVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfSU5GT1JNX0FCT1VUX0lOVkFMSURfREFUQSkgaW5mb3JtQWJvdXRJbnZhbGlkRGF0YTogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgc3VwZXIoc2lkZU1lbnVTZXJ2aWNlLCBzbmFja2JhciwgdHJhbnNsYXRlLCBpbmZvcm1BYm91dEludmFsaWREYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0VXNlcigpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RBYnN0cmFjdFVzZXIoVXNlckFzc2lnbkNvbXBvbmVudCk7XG4gICAgfVxufVxuIiwiPG5jLWRhdGEtZmllbGQtdGVtcGxhdGUgKm5nSWY9XCIhZGF0YUZpZWxkLmJlaGF2aW9yLmhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YUZpZWxkXT1cImRhdGFGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YUZpZWxkVGVtcGxhdGVdPVwiZGF0YUZpZWxkVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW29mZnNldF09XCJ0YXNrT2Zmc2V0XCI+XG48L25jLWRhdGEtZmllbGQtdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGF0YUZpZWxkVGVtcGxhdGUgbGV0LXNob3dMYXJnZUxheW91dD1cInNob3dMYXJnZUxheW91dFwiPlxuXG4gICAgPGRpdj5cbiAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cIm5ldGdyaWYtbGFiZWxcIiAqbmdJZj1cIiFzaG93TGFyZ2VMYXlvdXQudmFsdWVcIj57e2RhdGFGaWVsZC50aXRsZX19XG4gICAgICAgICAgICA8bmMtcmVxdWlyZWQtbGFiZWwgKm5nSWY9XCJkYXRhRmllbGQuYmVoYXZpb3IucmVxdWlyZWRcIiBbaXNJbl09XCIhZGF0YUZpZWxkLmRpc2FibGVkXCI+PC9uYy1yZXF1aXJlZC1sYWJlbD5cbiAgICAgICAgICAgIDxicj5cbiAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhRmllbGQudmFsdWUgIT09IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1Db250cm9sLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RVc2VyKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5ob3dfdG9fcmVnPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIHt7ZGF0YUZpZWxkLnZhbHVlLmZ1bGxOYW1lfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhRmllbGQudmFsdWUgPT09IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1Db250cm9sLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RVc2VyKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5wZXJzb25fYWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIHt7J2RhdGFGaWVsZC51c2VyLnNlbGVjdFVzZXInIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJkYXRhRmllbGQuaXNJbnZhbGlkKGZvcm1Db250cm9sKVwiPnt7J2RhdGFGaWVsZC52YWxpZGF0aW9ucy5yZXF1aXJlZCcgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxuICAgIDwvZGl2PlxuXG48L25nLXRlbXBsYXRlPlxuIl19
@@ -8,15 +8,14 @@ import * as i1 from "@netgrif/components-core";
8
8
  import * as i2 from "@angular/material/form-field";
9
9
  import * as i3 from "@angular/material/datepicker";
10
10
  import * as i4 from "@angular-material-components/datetime-picker";
11
- import * as i5 from "@angular/material/slide-toggle";
12
- import * as i6 from "@angular/material/button";
13
- import * as i7 from "@angular/material/icon";
14
- import * as i8 from "@angular/flex-layout/flex";
15
- import * as i9 from "@angular/common";
16
- import * as i10 from "@angular/flex-layout/extended";
17
- import * as i11 from "@angular/material/input";
18
- import * as i12 from "@angular/forms";
19
- import * as i13 from "@ngx-translate/core";
11
+ import * as i5 from "@angular/material/select";
12
+ import * as i6 from "@angular/material/core";
13
+ import * as i7 from "@angular/flex-layout/flex";
14
+ import * as i8 from "@angular/common";
15
+ import * as i9 from "@angular/flex-layout/extended";
16
+ import * as i10 from "@angular/material/input";
17
+ import * as i11 from "@angular/forms";
18
+ import * as i12 from "@ngx-translate/core";
20
19
  export class SearchModeComponent extends AbstractSearchModeComponent {
21
20
  constructor(_sideMenuService) {
22
21
  super(_sideMenuService);
@@ -30,12 +29,12 @@ SearchModeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", vers
30
29
  SearchModeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: SearchModeComponent, selector: "nc-search-mode", providers: [
31
30
  { provide: MAT_DATE_FORMATS, useValue: DATE_FORMAT },
32
31
  { provide: NGX_MAT_DATE_FORMATS, useValue: DATE_TIME_FORMAT }
33
- ], usesInheritance: true, ngImport: i0, template: "<div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div *ngFor=\"let header of this.headerService.selectedHeaders$ | async; let i = index\"\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders\" fxFlex [ngStyle]=\"{'min-width': getMinWidth()}\">\n <div\n *ngIf=\"!!header && header.fieldType !== 'button'; then thenBlock else elseBlock\"\n fxFlex></div>\n <ng-template #thenBlock>\n <div fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex [ngSwitch]=\"header.fieldType\" class=\"netgrif-input netgrif-input-fix netgrif-input-primary-fix\">\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'date'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [matDatepicker]=\"datepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.date' | translate\"\n (click)=\"datepicker.open()\"\n (keydown.enter)=\"datepicker.close()\">\n <mat-datepicker-toggle matPrefix [for]=\"datepicker\"></mat-datepicker-toggle>\n <mat-datepicker #datepicker></mat-datepicker>\n </mat-form-field>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'dateTime'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [ngxMatDatetimePicker]=\"datetimepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.dateTime' | translate\"\n (click)=\"datetimepicker.open()\"\n (keydown.enter)=\"datetimepicker.close()\">\n <mat-datepicker-toggle matPrefix [for]=\"datetimepicker\"></mat-datepicker-toggle>\n <ngx-mat-datetime-picker #datetimepicker\n [showSpinners]=\"true\"\n [showSeconds]=\"false\"\n [stepHour]=\"1\"\n [stepMinute]=\"5\"\n [color]=\"'primary'\"\n [enableMeridian]=\"false\">\n </ngx-mat-datetime-picker>\n </mat-form-field>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'number'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"formControls[i]\">\n </mat-form-field>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" *ngSwitchCase=\"'boolean'\" >\n <mat-slide-toggle color=\"accent\" [formControl]=\"formControls[i]\">\n {{header.title | translate}}\n </mat-slide-toggle>\n </div>\n <div fxLayout=\"column\" fxLayoutAlign=\"center start\" *ngSwitchCase=\"'user'\">\n <mat-label>{{header.title | translate}}</mat-label>\n <button mat-flat-button\n color=\"accent\"\n (click)=\"selectUser(i)\">\n <mat-icon>person_search</mat-icon>\n {{formControls[i].value ? formControls[i].value.fullName : ('headers.selectUser' | translate)}}\n </button>\n </div>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchDefault appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput [formControl]=\"formControls[i]\">\n </mat-form-field>\n </div>\n </ng-template>\n\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [""], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i4.NgxMatDatetimePicker, selector: "ngx-mat-datetime-picker", inputs: ["calendarHeaderComponent", "startAt", "startView", "defaultColor", "color", "touchUi", "hideTime", "disabled", "panelClass", "dateClass", "opened", "showSpinners", "showSeconds", "stepHour", "stepMinute", "stepSecond", "enableMeridian", "disableMinute", "defaultTime"], outputs: ["yearSelected", "monthSelected", "opened", "closed"], exportAs: ["ngxMatDatetimePicker"] }, { type: i5.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i9.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i10.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i12.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i12.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i12.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2.MatPrefix, selector: "[matPrefix]" }, { type: i4.NgxMatDatetimeInput, selector: "input[ngxMatDatetimePicker]", inputs: ["ngxMatDatetimePicker", "ngxMatDatetimePickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["ngxMatDatetimePickerInput"] }, { type: i12.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i9.AsyncPipe, "translate": i13.TranslatePipe } });
32
+ ], usesInheritance: true, ngImport: i0, template: "<div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div *ngFor=\"let header of this.headerService.selectedHeaders$ | async; let i = index\"\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders\" fxFlex [ngStyle]=\"{'min-width': getMinWidth()}\">\n <div\n *ngIf=\"!!header && header.fieldType !== 'button'; then thenBlock else elseBlock\"\n fxFlex></div>\n <ng-template #thenBlock>\n <div fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex [ngSwitch]=\"header.fieldType\" class=\"netgrif-input netgrif-input-fix netgrif-input-primary-fix\">\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'date'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [matDatepicker]=\"datepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.date' | translate\"\n (click)=\"datepicker.open()\"\n (keydown.enter)=\"datepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datepicker\"></mat-datepicker-toggle>-->\n <mat-datepicker #datepicker></mat-datepicker>\n </mat-form-field>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'dateTime'\"\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [ngxMatDatetimePicker]=\"datetimepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.dateTime' | translate\"\n (click)=\"datetimepicker.open()\"\n (keydown.enter)=\"datetimepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datetimepicker\"></mat-datepicker-toggle>-->\n <ngx-mat-datetime-picker #datetimepicker\n [showSpinners]=\"true\"\n [showSeconds]=\"false\"\n [stepHour]=\"1\"\n [stepMinute]=\"5\"\n [color]=\"'primary'\"\n [enableMeridian]=\"false\">\n </ngx-mat-datetime-picker>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'number'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'boolean'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <mat-select matInput [formControl]=\"formControls[i]\">\n <mat-option>---</mat-option>\n <mat-option [value]=\"true\">{{'dataField.values.boolean.true' | translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'user'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput (click)=\"selectUser(i)\" autocomplete=\"false\"\n [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchDefault\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput [formControl]=\"formControls[i]\">\n </mat-form-field>\n </div>\n </ng-template>\n\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [""], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i4.NgxMatDatetimePicker, selector: "ngx-mat-datetime-picker", inputs: ["calendarHeaderComponent", "startAt", "startView", "defaultColor", "color", "touchUi", "hideTime", "disabled", "panelClass", "dateClass", "opened", "showSpinners", "showSeconds", "stepHour", "stepMinute", "stepSecond", "enableMeridian", "disableMinute", "defaultTime"], outputs: ["yearSelected", "monthSelected", "opened", "closed"], exportAs: ["ngxMatDatetimePicker"] }, { type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i9.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.NgxMatDatetimeInput, selector: "input[ngxMatDatetimePicker]", inputs: ["ngxMatDatetimePicker", "ngxMatDatetimePickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["ngxMatDatetimePickerInput"] }, { type: i11.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i8.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i8.AsyncPipe, "translate": i12.TranslatePipe } });
34
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SearchModeComponent, decorators: [{
35
34
  type: Component,
36
35
  args: [{ selector: 'nc-search-mode', providers: [
37
36
  { provide: MAT_DATE_FORMATS, useValue: DATE_FORMAT },
38
37
  { provide: NGX_MAT_DATE_FORMATS, useValue: DATE_TIME_FORMAT }
39
- ], template: "<div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div *ngFor=\"let header of this.headerService.selectedHeaders$ | async; let i = index\"\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders\" fxFlex [ngStyle]=\"{'min-width': getMinWidth()}\">\n <div\n *ngIf=\"!!header && header.fieldType !== 'button'; then thenBlock else elseBlock\"\n fxFlex></div>\n <ng-template #thenBlock>\n <div fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex [ngSwitch]=\"header.fieldType\" class=\"netgrif-input netgrif-input-fix netgrif-input-primary-fix\">\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'date'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [matDatepicker]=\"datepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.date' | translate\"\n (click)=\"datepicker.open()\"\n (keydown.enter)=\"datepicker.close()\">\n <mat-datepicker-toggle matPrefix [for]=\"datepicker\"></mat-datepicker-toggle>\n <mat-datepicker #datepicker></mat-datepicker>\n </mat-form-field>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'dateTime'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [ngxMatDatetimePicker]=\"datetimepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.dateTime' | translate\"\n (click)=\"datetimepicker.open()\"\n (keydown.enter)=\"datetimepicker.close()\">\n <mat-datepicker-toggle matPrefix [for]=\"datetimepicker\"></mat-datepicker-toggle>\n <ngx-mat-datetime-picker #datetimepicker\n [showSpinners]=\"true\"\n [showSeconds]=\"false\"\n [stepHour]=\"1\"\n [stepMinute]=\"5\"\n [color]=\"'primary'\"\n [enableMeridian]=\"false\">\n </ngx-mat-datetime-picker>\n </mat-form-field>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'number'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"formControls[i]\">\n </mat-form-field>\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" *ngSwitchCase=\"'boolean'\" >\n <mat-slide-toggle color=\"accent\" [formControl]=\"formControls[i]\">\n {{header.title | translate}}\n </mat-slide-toggle>\n </div>\n <div fxLayout=\"column\" fxLayoutAlign=\"center start\" *ngSwitchCase=\"'user'\">\n <mat-label>{{header.title | translate}}</mat-label>\n <button mat-flat-button\n color=\"accent\"\n (click)=\"selectUser(i)\">\n <mat-icon>person_search</mat-icon>\n {{formControls[i].value ? formControls[i].value.fullName : ('headers.selectUser' | translate)}}\n </button>\n </div>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchDefault appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput [formControl]=\"formControls[i]\">\n </mat-form-field>\n </div>\n </ng-template>\n\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [""] }]
38
+ ], template: "<div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div *ngFor=\"let header of this.headerService.selectedHeaders$ | async; let i = index\"\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders\" fxFlex [ngStyle]=\"{'min-width': getMinWidth()}\">\n <div\n *ngIf=\"!!header && header.fieldType !== 'button'; then thenBlock else elseBlock\"\n fxFlex></div>\n <ng-template #thenBlock>\n <div fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex [ngSwitch]=\"header.fieldType\" class=\"netgrif-input netgrif-input-fix netgrif-input-primary-fix\">\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'date'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [matDatepicker]=\"datepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.date' | translate\"\n (click)=\"datepicker.open()\"\n (keydown.enter)=\"datepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datepicker\"></mat-datepicker-toggle>-->\n <mat-datepicker #datepicker></mat-datepicker>\n </mat-form-field>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'dateTime'\"\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [ngxMatDatetimePicker]=\"datetimepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.dateTime' | translate\"\n (click)=\"datetimepicker.open()\"\n (keydown.enter)=\"datetimepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datetimepicker\"></mat-datepicker-toggle>-->\n <ngx-mat-datetime-picker #datetimepicker\n [showSpinners]=\"true\"\n [showSeconds]=\"false\"\n [stepHour]=\"1\"\n [stepMinute]=\"5\"\n [color]=\"'primary'\"\n [enableMeridian]=\"false\">\n </ngx-mat-datetime-picker>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'number'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'boolean'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <mat-select matInput [formControl]=\"formControls[i]\">\n <mat-option>---</mat-option>\n <mat-option [value]=\"true\">{{'dataField.values.boolean.true' | translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'user'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput (click)=\"selectUser(i)\" autocomplete=\"false\"\n [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchDefault\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput [formControl]=\"formControls[i]\">\n </mat-form-field>\n </div>\n </ng-template>\n\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [""] }]
40
39
  }], ctorParameters: function () { return [{ type: i1.SideMenuService }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW1vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvaGVhZGVyL2hlYWRlci1tb2Rlcy9zZWFyY2gtbW9kZS9zZWFyY2gtbW9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLW1vZGVzL3NlYXJjaC1tb2RlL3NlYXJjaC1tb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFDLDJCQUEyQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNySCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUM1RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBV2xGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSwyQkFBMkI7SUFFaEUsWUFBc0IsZ0JBQWlDO1FBQ25ELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRE4scUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtJQUV2RCxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7O2lIQVJRLG1CQUFtQjtxR0FBbkIsbUJBQW1CLHlDQUxqQjtRQUNQLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUM7UUFDbEQsRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFDO0tBQzlELGlEQ2JMLDhoSkFzRUE7NEZEdkRhLG1CQUFtQjtrQkFUL0IsU0FBUzsrQkFDSSxnQkFBZ0IsYUFHZjt3QkFDUCxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFDO3dCQUNsRCxFQUFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUM7cUJBQzlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNQVRfREFURV9GT1JNQVRTfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RTZWFyY2hNb2RlQ29tcG9uZW50LCBEQVRFX0ZPUk1BVCwgREFURV9USU1FX0ZPUk1BVCwgU2lkZU1lbnVTZXJ2aWNlfSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtVc2VyQXNzaWduQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3VzZXItYXNzaWduL3VzZXItYXNzaWduLmNvbXBvbmVudCc7XG5pbXBvcnQge05HWF9NQVRfREFURV9GT1JNQVRTfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtc2VhcmNoLW1vZGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtbW9kZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLW1vZGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge3Byb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBEQVRFX0ZPUk1BVH0sXG4gICAgICAgIHtwcm92aWRlOiBOR1hfTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IERBVEVfVElNRV9GT1JNQVR9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hNb2RlQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTZWFyY2hNb2RlQ29tcG9uZW50IHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfc2lkZU1lbnVTZXJ2aWNlOiBTaWRlTWVudVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX3NpZGVNZW51U2VydmljZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdFVzZXIoY29sdW1uOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RBYnN0cmFjdFVzZXIoY29sdW1uLCBVc2VyQXNzaWduQ29tcG9uZW50KTtcbiAgICB9XG59XG4iLCI8ZGl2IGZ4RmxleD1cIjEwMFwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgdGhpcy5oZWFkZXJTZXJ2aWNlLnNlbGVjdGVkSGVhZGVycyQgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICBbZnhIaWRlLmx0LXhsXT1cImkgPj0gNCAmJiB0aGlzLmhlYWRlclNlcnZpY2UucmVzcG9uc2l2ZUhlYWRlcnNcIlxuICAgICAgICAgW2Z4SGlkZS5sdC1sZ109XCJpID49IDMgJiYgdGhpcy5oZWFkZXJTZXJ2aWNlLnJlc3BvbnNpdmVIZWFkZXJzXCJcbiAgICAgICAgIFtmeEhpZGUubHQtbWRdPVwiaSA+PSAyICYmIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVyc1wiXG4gICAgICAgICBbZnhIaWRlLmx0LXNtXT1cImkgPj0gMSAmJiB0aGlzLmhlYWRlclNlcnZpY2UucmVzcG9uc2l2ZUhlYWRlcnNcIiBmeEZsZXggW25nU3R5bGVdPVwieydtaW4td2lkdGgnOiBnZXRNaW5XaWR0aCgpfVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cIiEhaGVhZGVyICYmIGhlYWRlci5maWVsZFR5cGUgIT09ICdidXR0b24nOyB0aGVuIHRoZW5CbG9jayBlbHNlIGVsc2VCbG9ja1wiXG4gICAgICAgICAgICBmeEZsZXg+PC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGhlbkJsb2NrPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgZnhGbGV4IFtuZ1N3aXRjaF09XCJoZWFkZXIuZmllbGRUeXBlXCIgY2xhc3M9XCJuZXRncmlmLWlucHV0IG5ldGdyaWYtaW5wdXQtZml4IG5ldGdyaWYtaW5wdXQtcHJpbWFyeS1maXhcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY29sb3I9XCJwcmltYXJ5XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiIGNlbnRlclwiIGZ4RmxleCAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e2hlYWRlci50aXRsZSB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwiZGF0ZXBpY2tlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xzW2ldXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInaGVhZGVycy5kYXRlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5vcGVuKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGF0ZXBpY2tlci5jbG9zZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0UHJlZml4IFtmb3JdPVwiZGF0ZXBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI2RhdGVwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjb2xvcj1cInByaW1hcnlcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgZnhGbGV4ICpuZ1N3aXRjaENhc2U9XCInZGF0ZVRpbWUnXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e2hlYWRlci50aXRsZSB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25neE1hdERhdGV0aW1lUGlja2VyXT1cImRhdGV0aW1lcGlja2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidoZWFkZXJzLmRhdGVUaW1lJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGF0ZXRpbWVwaWNrZXIub3BlbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImRhdGV0aW1lcGlja2VyLmNsb3NlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRQcmVmaXggW2Zvcl09XCJkYXRldGltZXBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bmd4LW1hdC1kYXRldGltZS1waWNrZXIgI2RhdGV0aW1lcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1NwaW5uZXJzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwSG91cl09XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwTWludXRlXT1cIjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlTWVyaWRpYW5dPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZ3gtbWF0LWRhdGV0aW1lLXBpY2tlcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjb2xvcj1cInByaW1hcnlcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgZnhGbGV4ICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3toZWFkZXIudGl0bGUgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiICpuZ1N3aXRjaENhc2U9XCInYm9vbGVhbidcIiA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNvbG9yPVwiYWNjZW50XCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sc1tpXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3toZWFkZXIudGl0bGUgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgc3RhcnRcIiAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXInXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3toZWFkZXIudGl0bGUgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VXNlcihpKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnBlcnNvbl9zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tmb3JtQ29udHJvbHNbaV0udmFsdWUgPyBmb3JtQ29udHJvbHNbaV0udmFsdWUuZnVsbE5hbWUgOiAoJ2hlYWRlcnMuc2VsZWN0VXNlcicgfCB0cmFuc2xhdGUpfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoRGVmYXVsdCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7aGVhZGVyLnRpdGxlIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW1vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvaGVhZGVyL2hlYWRlci1tb2Rlcy9zZWFyY2gtbW9kZS9zZWFyY2gtbW9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLW1vZGVzL3NlYXJjaC1tb2RlL3NlYXJjaC1tb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFDLDJCQUEyQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNySCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUM1RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFXbEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLDJCQUEyQjtJQUVoRSxZQUFzQixnQkFBaUM7UUFDbkQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFETixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO0lBRXZELENBQUM7SUFFTSxVQUFVLENBQUMsTUFBYztRQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDekQsQ0FBQzs7aUhBUlEsbUJBQW1CO3FHQUFuQixtQkFBbUIseUNBTGpCO1FBQ1AsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQztRQUNsRCxFQUFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUM7S0FDOUQsaURDYkwsMnNKQTBFQTs0RkQzRGEsbUJBQW1CO2tCQVQvQixTQUFTOytCQUNJLGdCQUFnQixhQUdmO3dCQUNQLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUM7d0JBQ2xELEVBQUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQztxQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01BVF9EQVRFX0ZPUk1BVFN9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFNlYXJjaE1vZGVDb21wb25lbnQsIERBVEVfRk9STUFULCBEQVRFX1RJTUVfRk9STUFULCBTaWRlTWVudVNlcnZpY2V9IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge1VzZXJBc3NpZ25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvdXNlci1hc3NpZ24vdXNlci1hc3NpZ24uY29tcG9uZW50JztcbmltcG9ydCB7TkdYX01BVF9EQVRFX0ZPUk1BVFN9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1zZWFyY2gtbW9kZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1tb2RlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbW9kZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IERBVEVfRk9STUFUfSxcbiAgICAgICAge3Byb3ZpZGU6IE5HWF9NQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogREFURV9USU1FX0ZPUk1BVH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaE1vZGVDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFNlYXJjaE1vZGVDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9zaWRlTWVudVNlcnZpY2U6IFNpZGVNZW51U2VydmljZSkge1xuICAgICAgICBzdXBlcihfc2lkZU1lbnVTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0VXNlcihjb2x1bW46IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdEFic3RyYWN0VXNlcihjb2x1bW4sIFVzZXJBc3NpZ25Db21wb25lbnQpO1xuICAgIH1cbn1cbiIsIjxkaXYgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiIGNlbnRlclwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGhlYWRlciBvZiB0aGlzLmhlYWRlclNlcnZpY2Uuc2VsZWN0ZWRIZWFkZXJzJCB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgIFtmeEhpZGUubHQteGxdPVwiaSA+PSA0ICYmIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVyc1wiXG4gICAgICAgICBbZnhIaWRlLmx0LWxnXT1cImkgPj0gMyAmJiB0aGlzLmhlYWRlclNlcnZpY2UucmVzcG9uc2l2ZUhlYWRlcnNcIlxuICAgICAgICAgW2Z4SGlkZS5sdC1tZF09XCJpID49IDIgJiYgdGhpcy5oZWFkZXJTZXJ2aWNlLnJlc3BvbnNpdmVIZWFkZXJzXCJcbiAgICAgICAgIFtmeEhpZGUubHQtc21dPVwiaSA+PSAxICYmIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVyc1wiIGZ4RmxleCBbbmdTdHlsZV09XCJ7J21pbi13aWR0aCc6IGdldE1pbldpZHRoKCl9XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiISFoZWFkZXIgJiYgaGVhZGVyLmZpZWxkVHlwZSAhPT0gJ2J1dHRvbic7IHRoZW4gdGhlbkJsb2NrIGVsc2UgZWxzZUJsb2NrXCJcbiAgICAgICAgICAgIGZ4RmxleD48L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0aGVuQmxvY2s+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggW25nU3dpdGNoXT1cImhlYWRlci5maWVsZFR5cGVcIiBjbGFzcz1cIm5ldGdyaWYtaW5wdXQgbmV0Z3JpZi1pbnB1dC1maXggbmV0Z3JpZi1pbnB1dC1wcmltYXJ5LWZpeFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjb2xvcj1cInByaW1hcnlcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgZnhGbGV4ICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7aGVhZGVyLnRpdGxlIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJkYXRlcGlja2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidoZWFkZXJzLmRhdGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkYXRlcGlja2VyLm9wZW4oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJkYXRlcGlja2VyLmNsb3NlKClcIj5cbjwhLS0gICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0UHJlZml4IFtmb3JdPVwiZGF0ZXBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPi0tPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI2RhdGVwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjb2xvcj1cInByaW1hcnlcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgZnhGbGV4ICpuZ1N3aXRjaENhc2U9XCInZGF0ZVRpbWUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e2hlYWRlci50aXRsZSB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25neE1hdERhdGV0aW1lUGlja2VyXT1cImRhdGV0aW1lcGlja2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidoZWFkZXJzLmRhdGVUaW1lJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGF0ZXRpbWVwaWNrZXIub3BlbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImRhdGV0aW1lcGlja2VyLmNsb3NlKClcIj5cbjwhLS0gICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0UHJlZml4IFtmb3JdPVwiZGF0ZXRpbWVwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT4tLT5cbiAgICAgICAgICAgICAgICAgICAgPG5neC1tYXQtZGF0ZXRpbWUtcGlja2VyICNkYXRldGltZXBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTcGlubmVyc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93U2Vjb25kc109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcEhvdXJdPVwiMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcE1pbnV0ZV09XCI1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCIncHJpbWFyeSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZU1lcmlkaWFuXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmd4LW1hdC1kYXRldGltZS1waWNrZXI+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjb2xvcj1cInByaW1hcnlcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgZnhGbGV4ICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3toZWFkZXIudGl0bGUgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoQ2FzZT1cIidib29sZWFuJ1wiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3toZWFkZXIudGl0bGUgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xzW2ldXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbj4tLS08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidHJ1ZVwiPnt7J2RhdGFGaWVsZC52YWx1ZXMuYm9vbGVhbi50cnVlJyB8IHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjb2xvcj1cInByaW1hcnlcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgZnhGbGV4ICpuZ1N3aXRjaENhc2U9XCIndXNlcidcIiAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e2hlYWRlci50aXRsZSB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAoY2xpY2spPVwic2VsZWN0VXNlcihpKVwiIGF1dG9jb21wbGV0ZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xzW2ldXCI+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjb2xvcj1cInByaW1hcnlcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgZnhGbGV4ICpuZ1N3aXRjaERlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e2hlYWRlci50aXRsZSB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xzW2ldXCI+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUJsb2NrPlxuICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,36 +1,90 @@
1
1
  import { Component } from '@angular/core';
2
- import { AbstractNavigationDoubleDrawerComponent } from 'netgrif-components-core';
2
+ import { AbstractNavigationDoubleDrawerComponent } from '@netgrif/components-core';
3
+ import { animate, state, style, transition, trigger } from "@angular/animations";
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/router";
5
6
  import * as i2 from "@angular/cdk/layout";
6
- import * as i3 from "netgrif-components-core";
7
+ import * as i3 from "@netgrif/components-core";
7
8
  import * as i4 from "@angular/material/button";
8
9
  import * as i5 from "@angular/material/icon";
9
10
  import * as i6 from "@angular/material/toolbar";
10
11
  import * as i7 from "@angular/material/progress-spinner";
11
12
  import * as i8 from "@angular/material/sidenav";
12
- import * as i9 from "../quick-panel/components/language-selector/language-selector.component";
13
- import * as i10 from "@angular/material/menu";
14
- import * as i11 from "@angular/flex-layout/flex";
15
- import * as i12 from "@angular/flex-layout/extended";
16
- import * as i13 from "@angular/common";
17
- import * as i14 from "@angular/material/tooltip";
18
- import * as i15 from "@ngx-translate/core";
13
+ import * as i9 from "@angular/material/menu";
14
+ import * as i10 from "../quick-panel/components/language-selector/language-selector.component";
15
+ import * as i11 from "@angular/material/divider";
16
+ import * as i12 from "@angular/flex-layout/flex";
17
+ import * as i13 from "@angular/flex-layout/extended";
18
+ import * as i14 from "@angular/common";
19
+ import * as i15 from "@angular/material/tooltip";
20
+ import * as i16 from "angular-resizable-element";
21
+ import * as i17 from "@ngx-translate/core";
19
22
  export class NavigationDoubleDrawerComponent extends AbstractNavigationDoubleDrawerComponent {
20
- constructor(_router, _breakpoint, _languageService, _userService, _log, _config) {
21
- super(_router, _breakpoint, _languageService, _userService, _log, _config);
22
- this._router = _router;
23
- this._breakpoint = _breakpoint;
24
- this._languageService = _languageService;
25
- this._userService = _userService;
26
- this._log = _log;
27
- this._config = _config;
23
+ constructor(_router, _activatedRoute, _breakpoint, _languageService, _userService, _accessService, _log, _config, _uriService, _dynamicRouteProviderService) {
24
+ super(_router, _activatedRoute, _breakpoint, _languageService, _userService, _accessService, _log, _config, _uriService, _dynamicRouteProviderService);
25
+ this.isSectionOpen = {
26
+ folders: true,
27
+ views: true
28
+ };
29
+ }
30
+ toggleSection(section) {
31
+ this.isSectionOpen[section] = !this.isSectionOpen[section];
28
32
  }
29
33
  }
30
- NavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationDoubleDrawerComponent, deps: [{ token: i1.Router }, { token: i2.BreakpointObserver }, { token: i3.LanguageService }, { token: i3.UserService }, { token: i3.LoggerService }, { token: i3.ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
31
- NavigationDoubleDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NavigationDoubleDrawerComponent, selector: "nc-navigation-double-drawer", usesInheritance: true, ngImport: i0, template: "<div class=\"logo\" [ngClass]=\"{'logo-closed': !configMenu2.opened}\" fxLayoutAlign=\"start center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu2()\" class=\"mat-button\">\n <mat-icon>menu</mat-icon>\n </button>\n <img *ngIf=\"configMenu2.opened && image !== undefined\" #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n</div>\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div class=\"logo-tool\" fxLayoutAlign=\"center center\" fxFlex >\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container\" *ngIf=\"logo\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configMenu.opened\" position=\"start\" [disableClose]=\"configMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu\"></div>\n\n <div fxFlex></div>\n\n <div fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\">\n <nc-language-selector fxLayout=\"row\" [language]=\"getLang()\"></nc-language-selector>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button mat-menu-item (click)=\"logout()\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n\n <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"\n fxLayoutAlign=\"center center\">\n <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">\n <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>\n </button>\n </div>\n\n </div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <mat-sidenav-container class=\"drawer-container\">\n <mat-sidenav [mode]=\"configMenu2.mode\" [(opened)]=\"configMenu2.opened\" position=\"start\"\n [disableClose]=\"configMenu2.disableClose\"\n class=\"drawer-content mat-elevation-z8\">\n\n <div *ngTemplateOutlet=\"portalRightMenu\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [".rail-container{height:100%}.rail-content{width:60px;min-width:60px;top:48px;border-right:none!important}.drawer-container{height:100%}.mat-button{margin-left:10px;margin-right:10px}.drawer-content{width:300px;min-width:300px}.logo{width:359px;height:48px;position:absolute;top:0;left:0;z-index:2;border-bottom:1px solid #ddd}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:46px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#0009}.icon-container{outline:none!important;height:46px}.icon-large:hover{cursor:pointer}.margin-top-65{margin-top:49px}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:2px;color:#0009}.tree-node mat-icon.tree-node-icon{line-height:40px;height:40px;width:24px;margin-right:4px}.tree-node .margin-component{width:8px;margin-right:4px}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logo-tool{height:48px}.logoimg-tool{height:46px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:48px!important;height:48px;border-bottom:1px solid #ddd}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 49px)}.rail-content{width:60px;min-width:60px;top:0px;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}\n"], components: [{ type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i8.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i8.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i9.LanguageSelectorComponent, selector: "nc-language-selector" }, { type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i8.MatSidenavContent, selector: "mat-sidenav-content" }], directives: [{ type: i11.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i12.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i6.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i14.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], pipes: { "translate": i15.TranslatePipe } });
34
+ NavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationDoubleDrawerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.BreakpointObserver }, { token: i3.LanguageService }, { token: i3.UserService }, { token: i3.AccessService }, { token: i3.LoggerService }, { token: i3.ConfigurationService }, { token: i3.UriService }, { token: i3.DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
35
+ NavigationDoubleDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NavigationDoubleDrawerComponent, selector: "nc-navigation-double-drawer", usesInheritance: true, ngImport: i0, template: "<div class=\"drawer-control rail-color\" fxLayoutAlign=\"start center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu()\" class=\"mat-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n</div>\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div class=\"logo-tool\" fxLayoutAlign=\"center center\" fxFlex>\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configLeftMenu.opened\" position=\"start\"\n [disableClose]=\"configLeftMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu || defaultLeftSide\"></div>\n\n <div fxFlex></div>\n\n <mat-menu #userRailMenu=\"matMenu\">\n <div mat-menu-item role=\"menuitem\" class=\"large-menu-item\" fxLayout=\"row\" fxFlexAlign=\"center center\"\n [routerLink]=\"profileRouterLink\" routerLinkActive=\"active\">\n <mat-icon class=\"margin-auto\" fxFlex>face</mat-icon>\n <div class=\"large-menu-item\" fxLayout=\"column\" fxFlexAlign=\"start center\" fxFlex>\n <span class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}}</span>\n <span class=\"large-menu-item-text\" style=\"font-size: 12px;\" fxFlex=\"50\">{{user.email}}</span>\n </div>\n </div>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n <button *ngIf=\"includeUser\" mat-icon-button [matMenuTriggerFor]=\"userRailMenu\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"user.fullName\"\n [matTooltipPosition]=\"'right'\">\n <mat-icon>account_circle</mat-icon>\n </button>\n\n <div *ngIf=\"includeLanguage\" fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\">\n <nc-language-selector fxLayout=\"row\" [language]=\"getLang()\"></nc-language-selector>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button *ngFor='let item of moreMenuItems; trackBy: viewsTrackBy' mat-menu-item\n [routerLink]='item.routing.path' routerLinkActive=\"active\">\n <mat-icon>{{item.navigation.icon}}</mat-icon>\n <span>{{item.navigation.title}}</span>\n </button>\n </mat-menu>\n <!-- <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"-->\n <!-- matTooltipPosition=\"right\"-->\n <!-- fxLayoutAlign=\"center center\">-->\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">-->\n <!-- <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>-->\n <!-- </button>-->\n <!-- </div>-->\n <button *ngIf=\"includeMoreMenu\" mat-icon-button [matMenuTriggerFor]=\"railMenu\"\n class=\"mat-button mat-typography menu-font-color margin-bottom-x2\"\n [matTooltip]=\"'toolbar.menu.open' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n </div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <mat-sidenav-container class=\"drawer-container\">\n <mat-sidenav [mode]=\"configRightMenu.mode\" [(opened)]=\"configRightMenu.opened\" position=\"start\"\n [disableClose]=\"configRightMenu.disableClose\"\n class=\"drawer-content mat-elevation-z8\"\n mwlResizable\n [style.width.px]=\"configRightMenu.width\"\n [resizeCursorPrecision]=\"20\"\n [resizeEdges]=\"{right: true}\"\n (resizing)=\"onResizeEvent($event)\">\n\n <div *ngTemplateOutlet=\"portalRightMenu || defaultRightSide\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n\n<ng-template #defaultLeftSide>\n <!-- <div fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onHomeClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Home'\" [matTooltipPosition]=\"'right'\">home</mat-icon>-->\n <!-- </div>-->\n <button mat-icon-button (click)=\"onHomeClick()\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"'toolbar.menu.home' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>home</mat-icon>\n </button>\n\n <!-- <div *ngIf='!isOnZeroLevel()' fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onBackClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Back'\" [matTooltipPosition]=\"'right'\">arrow_back</mat-icon>-->\n <!-- </div>-->\n <button *ngIf='!isOnZeroLevel() && (canGoBackLoading$ | async) === false' mat-icon-button (click)=\"onBackClick()\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"'toolbar.menu.back' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div *ngIf=\"(canGoBackLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n\n <div class=\"margin-top-x2\"></div>\n <!-- <div *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' fxLayout=\"row\" class=\"icon-container\"-->\n <!-- fxLayoutAlign=\"center center\"-->\n <!-- (click)='onLeftSideClick(node)'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"node.name\"-->\n <!-- [matTooltipPosition]=\"'right'\">{{node.id === currentNode.id ? 'folder_open' : 'folder'}}</mat-icon>-->\n <!-- </div>-->\n <button *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' mat-icon-button (click)=\"onNodeClick(node)\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"node.name\" [matTooltipPosition]=\"'right'\"\n [ngClass]=\"node.id === currentNode.id ? 'rail-selected-color' : ''\">\n <mat-icon>{{node.id === currentNode.id ? openedFolderIcon : folderIcon}}</mat-icon>\n </button>\n\n <div *ngIf=\"(leftLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n\n<ng-template #defaultRightSide>\n <div class=\"logo\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <img *ngIf=\"image !== undefined\" [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div *ngIf=\"(rightLoading$ | async) === false\" ngClass.gt-sm=\"padding-top-8\">\n <div class=\"margin-auto cursor-pointer\" *ngIf='!isRightNodesEmpty()' (click)=\"toggleSection('folders')\"\n fxLayout=\"row\" fxFlexAlign=\"start center\">\n <span class=\"headline-text mat-typography\">{{foldersCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let node of rightNodes; trackBy: uriNodeTrackBy' (click)=\"onNodeClick(node)\"\n class=\"tree-node mat-typography mat-body-2\" fxLayoutAlign=\"start center\" routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">folder</mat-icon>\n <span>{{node.name}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n\n <div class=\"margin-auto\" *ngIf='!isViewsEmpty()' fxLayout=\"column\" fxFlexAlign=\"center start\">\n <div *ngIf=\"!isRightNodesEmpty()\" class=\"line margin-bottom-x2\">\n <mat-divider></mat-divider>\n </div>\n <div class=\"cursor-pointer\" (click)=\"toggleSection('views')\" fxLayout=\"row\" fxFlexAlign=\"start center\"\n fxFlex>\n <span class=\"headline-text mat-typography\">{{viewsCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let view of views; trackBy: viewsTrackBy' class=\"tree-node mat-typography\"\n fxLayoutAlign=\"start center\" [routerLink]='view.routing.path' routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">{{view.navigation.icon}}</mat-icon>\n <span>{{view.navigation.title}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"(rightLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"40\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n", styles: [".rail-container{height:100%}.rail-content{width:60px;min-width:60px;top:48px;border-right:none!important}.drawer-container{height:100%}.mat-button{margin-left:10px;margin-right:10px}.drawer-content{width:300px;min-width:300px}.drawer-control{width:60px!important;height:48px;position:absolute;top:0;left:0;z-index:2}.logo{height:48px}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:46px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#000000b3}.icon-container{outline:none!important;height:40px}.icon-large:hover{cursor:pointer}.menu-font-color{color:#000000b3!important}.margin-top-65{margin-top:49px}.margin-auto{margin:auto}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:8px;color:#000000b3;line-height:24px;position:relative;border-radius:18px}.tree-node mat-icon.tree-node-icon{height:24px;width:24px;font-size:24px;margin-right:4px}.tree-node .tree-node-label{height:24px;font-size:16px}.tree-node .margin-component{width:8px;margin-right:4px}.tree-node .menu-item-focus-overlay{opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;border-radius:inherit;background:black;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}.tree-node:hover .menu-item-focus-overlay{opacity:.04}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logo-tool{height:48px}.logoimg-tool{height:46px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:48px!important;height:48px;border-bottom:1px solid #ddd}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 49px)}.rail-content{width:60px;min-width:60px;top:0px;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}.line{width:calc(100% - 16px);padding-left:8px;padding-right:8px;flex:1}.headline-text{color:#000000b3;padding-left:8px;padding-right:10px;margin-bottom:8px}.large-menu-item{height:64px;line-height:64px}.large-menu-item-text{line-height:32px}.cursor-pointer{cursor:pointer}.box-container{box-sizing:content-box;display:block;overflow:hidden}.expansion-indicator{color:#00000080;margin-right:10px}.expansion-indicator:after{border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;padding:3px;vertical-align:middle;transform:rotate(45deg)}\n"], components: [{ type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i8.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i8.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.LanguageSelectorComponent, selector: "nc-language-selector" }, { type: i8.MatSidenavContent, selector: "mat-sidenav-content" }, { type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i13.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i6.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i12.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i12.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i16.ResizableDirective, selector: "[mwlResizable]", inputs: ["resizeEdges", "enableGhostResize", "resizeSnapGrid", "resizeCursors", "resizeCursorPrecision", "ghostElementPositioning", "allowNegativeResizes", "mouseMoveThrottleMS", "validateResize"], outputs: ["resizeStart", "resizing", "resizeEnd"] }, { type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }], pipes: { "translate": i17.TranslatePipe, "async": i14.AsyncPipe }, animations: [
36
+ trigger('sectionExpansion', [
37
+ state('expanded, void', style({
38
+ height: '*',
39
+ visibility: 'visible'
40
+ })),
41
+ state('collapsed', style({
42
+ height: '0px',
43
+ visibility: 'hidden'
44
+ })),
45
+ transition('expanded <=> collapsed, void => expanded', [
46
+ animate('225ms cubic-bezier(0.4,0.0,0.2,1)')
47
+ ])
48
+ ]),
49
+ trigger('indicatorRotate', [
50
+ state('expanded, void', style({
51
+ transform: 'rotate(180deg)'
52
+ })),
53
+ state('collapsed', style({
54
+ transform: 'rotate(0deg)'
55
+ })),
56
+ transition('expanded <=> collapsed, void => expanded', [
57
+ animate('225ms cubic-bezier(0.4,0.0,0.2,1)')
58
+ ])
59
+ ])
60
+ ] });
32
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationDoubleDrawerComponent, decorators: [{
33
62
  type: Component,
34
- args: [{ selector: 'nc-navigation-double-drawer', template: "<div class=\"logo\" [ngClass]=\"{'logo-closed': !configMenu2.opened}\" fxLayoutAlign=\"start center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu2()\" class=\"mat-button\">\n <mat-icon>menu</mat-icon>\n </button>\n <img *ngIf=\"configMenu2.opened && image !== undefined\" #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n</div>\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div class=\"logo-tool\" fxLayoutAlign=\"center center\" fxFlex >\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container\" *ngIf=\"logo\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configMenu.opened\" position=\"start\" [disableClose]=\"configMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu\"></div>\n\n <div fxFlex></div>\n\n <div fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\">\n <nc-language-selector fxLayout=\"row\" [language]=\"getLang()\"></nc-language-selector>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button mat-menu-item (click)=\"logout()\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n\n <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"\n fxLayoutAlign=\"center center\">\n <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">\n <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>\n </button>\n </div>\n\n </div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <mat-sidenav-container class=\"drawer-container\">\n <mat-sidenav [mode]=\"configMenu2.mode\" [(opened)]=\"configMenu2.opened\" position=\"start\"\n [disableClose]=\"configMenu2.disableClose\"\n class=\"drawer-content mat-elevation-z8\">\n\n <div *ngTemplateOutlet=\"portalRightMenu\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [".rail-container{height:100%}.rail-content{width:60px;min-width:60px;top:48px;border-right:none!important}.drawer-container{height:100%}.mat-button{margin-left:10px;margin-right:10px}.drawer-content{width:300px;min-width:300px}.logo{width:359px;height:48px;position:absolute;top:0;left:0;z-index:2;border-bottom:1px solid #ddd}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:46px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#0009}.icon-container{outline:none!important;height:46px}.icon-large:hover{cursor:pointer}.margin-top-65{margin-top:49px}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:2px;color:#0009}.tree-node mat-icon.tree-node-icon{line-height:40px;height:40px;width:24px;margin-right:4px}.tree-node .margin-component{width:8px;margin-right:4px}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logo-tool{height:48px}.logoimg-tool{height:46px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:48px!important;height:48px;border-bottom:1px solid #ddd}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 49px)}.rail-content{width:60px;min-width:60px;top:0px;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}\n"] }]
35
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.BreakpointObserver }, { type: i3.LanguageService }, { type: i3.UserService }, { type: i3.LoggerService }, { type: i3.ConfigurationService }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLEVBQW9FLHVDQUF1QyxFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT25KLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSx1Q0FBdUM7SUFFeEYsWUFBc0IsT0FBZSxFQUNmLFdBQStCLEVBQy9CLGdCQUFpQyxFQUNqQyxZQUF5QixFQUN6QixJQUFtQixFQUNuQixPQUE2QjtRQUMvQyxLQUFLLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBTnhELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQXNCO0lBRW5ELENBQUM7OzZIQVRRLCtCQUErQjtpSEFBL0IsK0JBQStCLDBGQ1Y1Qyx1bEdBc0VBOzRGRDVEYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UsIExvZ2dlclNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBBYnN0cmFjdE5hdmlnYXRpb25Eb3VibGVEcmF3ZXJDb21wb25lbnR9IGZyb20gJ25ldGdyaWYtY29tcG9uZW50cy1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmMtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25Eb3VibGVEcmF3ZXJDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdE5hdmlnYXRpb25Eb3VibGVEcmF3ZXJDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9yb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2JyZWFrcG9pbnQ6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY29uZmlnOiBDb25maWd1cmF0aW9uU2VydmljZSkge1xuICAgICAgICBzdXBlcihfcm91dGVyLCBfYnJlYWtwb2ludCwgX2xhbmd1YWdlU2VydmljZSwgX3VzZXJTZXJ2aWNlLCBfbG9nLCBfY29uZmlnKVxuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImxvZ29cIiBbbmdDbGFzc109XCJ7J2xvZ28tY2xvc2VkJzogIWNvbmZpZ01lbnUyLm9wZW5lZH1cIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhIaWRlLmx0LW1kPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVNZW51MigpXCIgY2xhc3M9XCJtYXQtYnV0dG9uXCI+XG4gICAgICAgIDxtYXQtaWNvbj5tZW51PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8aW1nICpuZ0lmPVwiY29uZmlnTWVudTIub3BlbmVkICYmIGltYWdlICE9PSB1bmRlZmluZWRcIiAjbG9nbyBbYWx0XT1cImltYWdlQWx0XCIgW3NyY109XCJpbWFnZVwiIGNsYXNzPVwibG9nb2ltZ1wiXG4gICAgICAgICBbcm91dGVyTGlua109XCJpbWFnZVJvdXRlckxpbmsgIT09IHVuZGVmaW5lZCA/IGltYWdlUm91dGVyTGluayA6IFtdXCI+XG48L2Rpdj5cbjxtYXQtdG9vbGJhciBmeEhpZGUuZ3Qtc20gY2xhc3M9XCJ0b29sYmFyXCI+XG4gICAgPG1hdC10b29sYmFyLXJvdyBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIHN0cmV0Y2hcIj5cbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tZW51PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxvZ28tdG9vbFwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhGbGV4ID5cbiAgICAgICAgICAgIDxpbWcgI2xvZ28gW2FsdF09XCJpbWFnZUFsdFwiIFtzcmNdPVwiaW1hZ2VcIiBjbGFzcz1cImxvZ29pbWctdG9vbFwiXG4gICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImltYWdlUm91dGVyTGluayAhPT0gdW5kZWZpbmVkID8gaW1hZ2VSb3V0ZXJMaW5rIDogW11cIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXItcm93PlxuPC9tYXQtdG9vbGJhcj5cbjxtYXQtc3Bpbm5lciAqbmdJZj1cIiFsb2dvXCI+PC9tYXQtc3Bpbm5lcj5cbjxtYXQtc2lkZW5hdi1jb250YWluZXIgY2xhc3M9XCJyYWlsLWNvbnRhaW5lclwiICpuZ0lmPVwibG9nb1wiPlxuICAgIDxtYXQtc2lkZW5hdiBtb2RlPVwic2lkZVwiIFsob3BlbmVkKV09XCJjb25maWdNZW51Lm9wZW5lZFwiIHBvc2l0aW9uPVwic3RhcnRcIiBbZGlzYWJsZUNsb3NlXT1cImNvbmZpZ01lbnUuZGlzYWJsZUNsb3NlXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJyYWlsLWNvbnRlbnRcIj5cblxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJyYWlsLWNvbG9yXCIgZnhGbGV4PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ1RlbXBsYXRlT3V0bGV0PVwicG9ydGFsTGVmdE1lbnVcIj48L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8bmMtbGFuZ3VhZ2Utc2VsZWN0b3IgZnhMYXlvdXQ9XCJyb3dcIiBbbGFuZ3VhZ2VdPVwiZ2V0TGFuZygpXCI+PC9uYy1sYW5ndWFnZS1zZWxlY3Rvcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8bWF0LW1lbnUgI3JhaWxNZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwibG9nb3V0KClcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmV4aXRfdG9fYXBwPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ3Rvb2xiYXIubWVudS5sb2dvdXQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtbWVudT5cblxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwibWFyZ2luLWJvdHRvbS14MiBpY29uLWNvbnRhaW5lclwiIG1hdFRvb2x0aXA9XCJPdHZvcmnFpSBtZW51XCJcbiAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwicmFpbE1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1sYXJnZSBzaWRlbWVudS1pY29uXCI+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9tYXQtc2lkZW5hdj5cblxuICAgIDxtYXQtc2lkZW5hdi1jb250ZW50PlxuICAgICAgICA8bWF0LXNpZGVuYXYtY29udGFpbmVyIGNsYXNzPVwiZHJhd2VyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG1hdC1zaWRlbmF2IFttb2RlXT1cImNvbmZpZ01lbnUyLm1vZGVcIiBbKG9wZW5lZCldPVwiY29uZmlnTWVudTIub3BlbmVkXCIgcG9zaXRpb249XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVDbG9zZV09XCJjb25maWdNZW51Mi5kaXNhYmxlQ2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJhd2VyLWNvbnRlbnQgbWF0LWVsZXZhdGlvbi16OFwiPlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdUZW1wbGF0ZU91dGxldD1cInBvcnRhbFJpZ2h0TWVudVwiPjwvZGl2PlxuXG4gICAgICAgICAgICA8L21hdC1zaWRlbmF2PlxuXG4gICAgICAgICAgICA8bWF0LXNpZGVuYXYtY29udGVudD5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgICAgIDwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuICAgIDwvbWF0LXNpZGVuYXYtY29udGVudD5cbjwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuIl19
63
+ args: [{ selector: 'nc-navigation-double-drawer', animations: [
64
+ trigger('sectionExpansion', [
65
+ state('expanded, void', style({
66
+ height: '*',
67
+ visibility: 'visible'
68
+ })),
69
+ state('collapsed', style({
70
+ height: '0px',
71
+ visibility: 'hidden'
72
+ })),
73
+ transition('expanded <=> collapsed, void => expanded', [
74
+ animate('225ms cubic-bezier(0.4,0.0,0.2,1)')
75
+ ])
76
+ ]),
77
+ trigger('indicatorRotate', [
78
+ state('expanded, void', style({
79
+ transform: 'rotate(180deg)'
80
+ })),
81
+ state('collapsed', style({
82
+ transform: 'rotate(0deg)'
83
+ })),
84
+ transition('expanded <=> collapsed, void => expanded', [
85
+ animate('225ms cubic-bezier(0.4,0.0,0.2,1)')
86
+ ])
87
+ ])
88
+ ], template: "<div class=\"drawer-control rail-color\" fxLayoutAlign=\"start center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu()\" class=\"mat-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n</div>\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div class=\"logo-tool\" fxLayoutAlign=\"center center\" fxFlex>\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configLeftMenu.opened\" position=\"start\"\n [disableClose]=\"configLeftMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu || defaultLeftSide\"></div>\n\n <div fxFlex></div>\n\n <mat-menu #userRailMenu=\"matMenu\">\n <div mat-menu-item role=\"menuitem\" class=\"large-menu-item\" fxLayout=\"row\" fxFlexAlign=\"center center\"\n [routerLink]=\"profileRouterLink\" routerLinkActive=\"active\">\n <mat-icon class=\"margin-auto\" fxFlex>face</mat-icon>\n <div class=\"large-menu-item\" fxLayout=\"column\" fxFlexAlign=\"start center\" fxFlex>\n <span class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}}</span>\n <span class=\"large-menu-item-text\" style=\"font-size: 12px;\" fxFlex=\"50\">{{user.email}}</span>\n </div>\n </div>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n <button *ngIf=\"includeUser\" mat-icon-button [matMenuTriggerFor]=\"userRailMenu\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"user.fullName\"\n [matTooltipPosition]=\"'right'\">\n <mat-icon>account_circle</mat-icon>\n </button>\n\n <div *ngIf=\"includeLanguage\" fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\">\n <nc-language-selector fxLayout=\"row\" [language]=\"getLang()\"></nc-language-selector>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button *ngFor='let item of moreMenuItems; trackBy: viewsTrackBy' mat-menu-item\n [routerLink]='item.routing.path' routerLinkActive=\"active\">\n <mat-icon>{{item.navigation.icon}}</mat-icon>\n <span>{{item.navigation.title}}</span>\n </button>\n </mat-menu>\n <!-- <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"-->\n <!-- matTooltipPosition=\"right\"-->\n <!-- fxLayoutAlign=\"center center\">-->\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">-->\n <!-- <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>-->\n <!-- </button>-->\n <!-- </div>-->\n <button *ngIf=\"includeMoreMenu\" mat-icon-button [matMenuTriggerFor]=\"railMenu\"\n class=\"mat-button mat-typography menu-font-color margin-bottom-x2\"\n [matTooltip]=\"'toolbar.menu.open' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n </div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <mat-sidenav-container class=\"drawer-container\">\n <mat-sidenav [mode]=\"configRightMenu.mode\" [(opened)]=\"configRightMenu.opened\" position=\"start\"\n [disableClose]=\"configRightMenu.disableClose\"\n class=\"drawer-content mat-elevation-z8\"\n mwlResizable\n [style.width.px]=\"configRightMenu.width\"\n [resizeCursorPrecision]=\"20\"\n [resizeEdges]=\"{right: true}\"\n (resizing)=\"onResizeEvent($event)\">\n\n <div *ngTemplateOutlet=\"portalRightMenu || defaultRightSide\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n\n<ng-template #defaultLeftSide>\n <!-- <div fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onHomeClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Home'\" [matTooltipPosition]=\"'right'\">home</mat-icon>-->\n <!-- </div>-->\n <button mat-icon-button (click)=\"onHomeClick()\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"'toolbar.menu.home' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>home</mat-icon>\n </button>\n\n <!-- <div *ngIf='!isOnZeroLevel()' fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onBackClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Back'\" [matTooltipPosition]=\"'right'\">arrow_back</mat-icon>-->\n <!-- </div>-->\n <button *ngIf='!isOnZeroLevel() && (canGoBackLoading$ | async) === false' mat-icon-button (click)=\"onBackClick()\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"'toolbar.menu.back' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div *ngIf=\"(canGoBackLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n\n <div class=\"margin-top-x2\"></div>\n <!-- <div *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' fxLayout=\"row\" class=\"icon-container\"-->\n <!-- fxLayoutAlign=\"center center\"-->\n <!-- (click)='onLeftSideClick(node)'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"node.name\"-->\n <!-- [matTooltipPosition]=\"'right'\">{{node.id === currentNode.id ? 'folder_open' : 'folder'}}</mat-icon>-->\n <!-- </div>-->\n <button *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' mat-icon-button (click)=\"onNodeClick(node)\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"node.name\" [matTooltipPosition]=\"'right'\"\n [ngClass]=\"node.id === currentNode.id ? 'rail-selected-color' : ''\">\n <mat-icon>{{node.id === currentNode.id ? openedFolderIcon : folderIcon}}</mat-icon>\n </button>\n\n <div *ngIf=\"(leftLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n\n<ng-template #defaultRightSide>\n <div class=\"logo\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <img *ngIf=\"image !== undefined\" [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div *ngIf=\"(rightLoading$ | async) === false\" ngClass.gt-sm=\"padding-top-8\">\n <div class=\"margin-auto cursor-pointer\" *ngIf='!isRightNodesEmpty()' (click)=\"toggleSection('folders')\"\n fxLayout=\"row\" fxFlexAlign=\"start center\">\n <span class=\"headline-text mat-typography\">{{foldersCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let node of rightNodes; trackBy: uriNodeTrackBy' (click)=\"onNodeClick(node)\"\n class=\"tree-node mat-typography mat-body-2\" fxLayoutAlign=\"start center\" routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">folder</mat-icon>\n <span>{{node.name}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n\n <div class=\"margin-auto\" *ngIf='!isViewsEmpty()' fxLayout=\"column\" fxFlexAlign=\"center start\">\n <div *ngIf=\"!isRightNodesEmpty()\" class=\"line margin-bottom-x2\">\n <mat-divider></mat-divider>\n </div>\n <div class=\"cursor-pointer\" (click)=\"toggleSection('views')\" fxLayout=\"row\" fxFlexAlign=\"start center\"\n fxFlex>\n <span class=\"headline-text mat-typography\">{{viewsCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let view of views; trackBy: viewsTrackBy' class=\"tree-node mat-typography\"\n fxLayoutAlign=\"start center\" [routerLink]='view.routing.path' routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">{{view.navigation.icon}}</mat-icon>\n <span>{{view.navigation.title}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"(rightLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"40\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n", styles: [".rail-container{height:100%}.rail-content{width:60px;min-width:60px;top:48px;border-right:none!important}.drawer-container{height:100%}.mat-button{margin-left:10px;margin-right:10px}.drawer-content{width:300px;min-width:300px}.drawer-control{width:60px!important;height:48px;position:absolute;top:0;left:0;z-index:2}.logo{height:48px}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:46px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#000000b3}.icon-container{outline:none!important;height:40px}.icon-large:hover{cursor:pointer}.menu-font-color{color:#000000b3!important}.margin-top-65{margin-top:49px}.margin-auto{margin:auto}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:8px;color:#000000b3;line-height:24px;position:relative;border-radius:18px}.tree-node mat-icon.tree-node-icon{height:24px;width:24px;font-size:24px;margin-right:4px}.tree-node .tree-node-label{height:24px;font-size:16px}.tree-node .margin-component{width:8px;margin-right:4px}.tree-node .menu-item-focus-overlay{opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;border-radius:inherit;background:black;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}.tree-node:hover .menu-item-focus-overlay{opacity:.04}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logo-tool{height:48px}.logoimg-tool{height:46px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:48px!important;height:48px;border-bottom:1px solid #ddd}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 49px)}.rail-content{width:60px;min-width:60px;top:0px;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}.line{width:calc(100% - 16px);padding-left:8px;padding-right:8px;flex:1}.headline-text{color:#000000b3;padding-left:8px;padding-right:10px;margin-bottom:8px}.large-menu-item{height:64px;line-height:64px}.large-menu-item-text{line-height:32px}.cursor-pointer{cursor:pointer}.box-container{box-sizing:content-box;display:block;overflow:hidden}.expansion-indicator{color:#00000080;margin-right:10px}.expansion-indicator:after{border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;padding:3px;vertical-align:middle;transform:rotate(45deg)}\n"] }]
89
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.BreakpointObserver }, { type: i3.LanguageService }, { type: i3.UserService }, { type: i3.AccessService }, { type: i3.LoggerService }, { type: i3.ConfigurationService }, { type: i3.UriService }, { type: i3.DynamicNavigationRouteProviderService }]; } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLEVBTUgsdUNBQXVDLEVBRTFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlDL0UsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLHVDQUF1QztJQU94RixZQUFZLE9BQWUsRUFDZixlQUErQixFQUMvQixXQUErQixFQUMvQixnQkFBaUMsRUFDakMsWUFBeUIsRUFDekIsY0FBNkIsRUFDN0IsSUFBbUIsRUFDbkIsT0FBNkIsRUFDN0IsV0FBdUIsRUFDdkIsNEJBQW1FO1FBQzNFLEtBQUssQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUNuSCw0QkFBNEIsQ0FBQyxDQUFBO1FBaEI5QixrQkFBYSxHQUFHO1lBQ25CLE9BQU8sRUFBRSxJQUFJO1lBQ2IsS0FBSyxFQUFFLElBQUk7U0FDZCxDQUFDO0lBY0YsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7OzZIQXZCUSwrQkFBK0I7aUhBQS9CLCtCQUErQiwwRkM3QzVDLG91VkErTEEsbzdSRDdLZ0I7UUFDUixPQUFPLENBQUMsa0JBQWtCLEVBQUU7WUFDeEIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztnQkFDMUIsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsVUFBVSxFQUFFLFNBQVM7YUFDeEIsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7Z0JBQ3JCLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFVBQVUsRUFBRSxRQUFRO2FBQ3ZCLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQkFDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDO2FBQy9DLENBQUM7U0FDTCxDQUFDO1FBQ0YsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQ3ZCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7Z0JBQzFCLFNBQVMsRUFBRSxnQkFBZ0I7YUFDOUIsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7Z0JBQ3JCLFNBQVMsRUFBRSxjQUFjO2FBQzVCLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQkFDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDO2FBQy9DLENBQUM7U0FDTCxDQUFDO0tBQ0w7NEZBRVEsK0JBQStCO2tCQS9CM0MsU0FBUzsrQkFDSSw2QkFBNkIsY0FHM0I7d0JBQ1IsT0FBTyxDQUFDLGtCQUFrQixFQUFFOzRCQUN4QixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO2dDQUMxQixNQUFNLEVBQUUsR0FBRztnQ0FDWCxVQUFVLEVBQUUsU0FBUzs2QkFDeEIsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dDQUNyQixNQUFNLEVBQUUsS0FBSztnQ0FDYixVQUFVLEVBQUUsUUFBUTs2QkFDdkIsQ0FBQyxDQUFDOzRCQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQ0FDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDOzZCQUMvQyxDQUFDO3lCQUNMLENBQUM7d0JBQ0YsT0FBTyxDQUFDLGlCQUFpQixFQUFFOzRCQUN2QixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO2dDQUMxQixTQUFTLEVBQUUsZ0JBQWdCOzZCQUM5QixDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7Z0NBQ3JCLFNBQVMsRUFBRSxjQUFjOzZCQUM1QixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLDBDQUEwQyxFQUFFO2dDQUNuRCxPQUFPLENBQUMsbUNBQW1DLENBQUM7NkJBQy9DLENBQUM7eUJBQ0wsQ0FBQztxQkFDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QnJlYWtwb2ludE9ic2VydmVyfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7XG4gICAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIFVyaVNlcnZpY2UsXG4gICAgTG9nZ2VyU2VydmljZSxcbiAgICBVc2VyU2VydmljZSxcbiAgICBBYnN0cmFjdE5hdmlnYXRpb25Eb3VibGVEcmF3ZXJDb21wb25lbnQsXG4gICAgRHluYW1pY05hdmlnYXRpb25Sb3V0ZVByb3ZpZGVyU2VydmljZSwgQWNjZXNzU2VydmljZVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3NlY3Rpb25FeHBhbnNpb24nLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQsIHZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnKicsXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIGhlaWdodDogJzBweCcsXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbidcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkIDw9PiBjb2xsYXBzZWQsIHZvaWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pLFxuICAgICAgICB0cmlnZ2VyKCdpbmRpY2F0b3JSb3RhdGUnLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQsIHZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAncm90YXRlKDE4MGRlZyknXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgwZGVnKSdcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkIDw9PiBjb2xsYXBzZWQsIHZvaWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3ROYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IHtcblxuICAgIHB1YmxpYyBpc1NlY3Rpb25PcGVuID0ge1xuICAgICAgICBmb2xkZXJzOiB0cnVlLFxuICAgICAgICB2aWV3czogdHJ1ZVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgICBfYnJlYWtwb2ludDogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICAgICAgICAgICAgIF9sYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICAgICAgICAgICAgICBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9hY2Nlc3NTZXJ2aWNlOiBBY2Nlc3NTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2NvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2R5bmFtaWNSb3V0ZVByb3ZpZGVyU2VydmljZTogRHluYW1pY05hdmlnYXRpb25Sb3V0ZVByb3ZpZGVyU2VydmljZSkge1xuICAgICAgICBzdXBlcihfcm91dGVyLCBfYWN0aXZhdGVkUm91dGUsIF9icmVha3BvaW50LCBfbGFuZ3VhZ2VTZXJ2aWNlLCBfdXNlclNlcnZpY2UsIF9hY2Nlc3NTZXJ2aWNlLCBfbG9nLCBfY29uZmlnLCBfdXJpU2VydmljZSxcbiAgICAgICAgICAgIF9keW5hbWljUm91dGVQcm92aWRlclNlcnZpY2UpXG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZVNlY3Rpb24oc2VjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTZWN0aW9uT3BlbltzZWN0aW9uXSA9ICF0aGlzLmlzU2VjdGlvbk9wZW5bc2VjdGlvbl07XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZHJhd2VyLWNvbnRyb2wgcmFpbC1jb2xvclwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEhpZGUubHQtbWQ+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiIGNsYXNzPVwibWF0LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3JcIj5cbiAgICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG48bWF0LXRvb2xiYXIgZnhIaWRlLmd0LXNtIGNsYXNzPVwidG9vbGJhclwiPlxuICAgIDxtYXQtdG9vbGJhci1yb3cgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBzdHJldGNoXCI+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVNZW51KClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bWVudTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dvLXRvb2xcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4RmxleD5cbiAgICAgICAgICAgIDxpbWcgI2xvZ28gW2FsdF09XCJpbWFnZUFsdFwiIFtzcmNdPVwiaW1hZ2VcIiBjbGFzcz1cImxvZ29pbWctdG9vbFwiXG4gICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImltYWdlUm91dGVyTGluayAhPT0gdW5kZWZpbmVkID8gaW1hZ2VSb3V0ZXJMaW5rIDogW11cIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXItcm93PlxuPC9tYXQtdG9vbGJhcj5cbjxtYXQtc3Bpbm5lciAqbmdJZj1cIiFsb2dvXCI+PC9tYXQtc3Bpbm5lcj5cbjxtYXQtc2lkZW5hdi1jb250YWluZXIgY2xhc3M9XCJyYWlsLWNvbnRhaW5lclwiPlxuICAgIDxtYXQtc2lkZW5hdiBtb2RlPVwic2lkZVwiIFsob3BlbmVkKV09XCJjb25maWdMZWZ0TWVudS5vcGVuZWRcIiBwb3NpdGlvbj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVDbG9zZV09XCJjb25maWdMZWZ0TWVudS5kaXNhYmxlQ2xvc2VcIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cInJhaWwtY29udGVudFwiPlxuXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cInJhaWwtY29sb3JcIiBmeEZsZXg+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwb3J0YWxMZWZ0TWVudSB8fCBkZWZhdWx0TGVmdFNpZGVcIj48L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgICAgICAgIDxtYXQtbWVudSAjdXNlclJhaWxNZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSByb2xlPVwibWVudWl0ZW1cIiBjbGFzcz1cImxhcmdlLW1lbnUtaXRlbVwiIGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicHJvZmlsZVJvdXRlckxpbmtcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hcmdpbi1hdXRvXCIgZnhGbGV4PmZhY2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFyZ2UtbWVudS1pdGVtXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXhBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFyZ2UtbWVudS1pdGVtLXRleHRcIiBmeEZsZXg9XCI1MFwiPnt7dXNlci5mdWxsTmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYXJnZS1tZW51LWl0ZW0tdGV4dFwiIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiIGZ4RmxleD1cIjUwXCI+e3t1c2VyLmVtYWlsfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwibG9nb3V0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmV4aXRfdG9fYXBwPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ3Rvb2xiYXIubWVudS5sb2dvdXQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJpbmNsdWRlVXNlclwiIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwidXNlclJhaWxNZW51XCIgY2xhc3M9XCJtYXQtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInVzZXIuZnVsbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+YWNjb3VudF9jaXJjbGU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbmNsdWRlTGFuZ3VhZ2VcIiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxuYy1sYW5ndWFnZS1zZWxlY3RvciBmeExheW91dD1cInJvd1wiIFtsYW5ndWFnZV09XCJnZXRMYW5nKClcIj48L25jLWxhbmd1YWdlLXNlbGVjdG9yPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxtYXQtbWVudSAjcmFpbE1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9J2xldCBpdGVtIG9mIG1vcmVNZW51SXRlbXM7IHRyYWNrQnk6IHZpZXdzVHJhY2tCeScgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPSdpdGVtLnJvdXRpbmcucGF0aCcgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+e3tpdGVtLm5hdmlnYXRpb24uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLm5hdmlnYXRpb24udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwibWFyZ2luLWJvdHRvbS14MiBpY29uLWNvbnRhaW5lclwiIG1hdFRvb2x0aXA9XCJPdHZvcmnFpSBtZW51XCItLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCItLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+LS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJyYWlsTWVudVwiPi0tPlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1sYXJnZSBzaWRlbWVudS1pY29uXCI+bW9yZV92ZXJ0PC9tYXQtaWNvbj4tLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgPC9idXR0b24+LS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgPC9kaXY+LS0+XG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaW5jbHVkZU1vcmVNZW51XCIgbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJyYWlsTWVudVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3IgbWFyZ2luLWJvdHRvbS14MlwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIid0b29sYmFyLm1lbnUub3BlbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L21hdC1zaWRlbmF2PlxuXG4gICAgPG1hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgICAgIDxtYXQtc2lkZW5hdi1jb250YWluZXIgY2xhc3M9XCJkcmF3ZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bWF0LXNpZGVuYXYgW21vZGVdPVwiY29uZmlnUmlnaHRNZW51Lm1vZGVcIiBbKG9wZW5lZCldPVwiY29uZmlnUmlnaHRNZW51Lm9wZW5lZFwiIHBvc2l0aW9uPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlQ2xvc2VdPVwiY29uZmlnUmlnaHRNZW51LmRpc2FibGVDbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkcmF3ZXItY29udGVudCBtYXQtZWxldmF0aW9uLXo4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtd2xSZXNpemFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiY29uZmlnUmlnaHRNZW51LndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzaXplQ3Vyc29yUHJlY2lzaW9uXT1cIjIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzaXplRWRnZXNdPVwie3JpZ2h0OiB0cnVlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKHJlc2l6aW5nKT1cIm9uUmVzaXplRXZlbnQoJGV2ZW50KVwiPlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdUZW1wbGF0ZU91dGxldD1cInBvcnRhbFJpZ2h0TWVudSB8fCBkZWZhdWx0UmlnaHRTaWRlXCI+PC9kaXY+XG5cbiAgICAgICAgICAgIDwvbWF0LXNpZGVuYXY+XG5cbiAgICAgICAgICAgIDxtYXQtc2lkZW5hdi1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LXNpZGVuYXYtY29udGVudD5cbiAgICAgICAgPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XG4gICAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxuPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExlZnRTaWRlPlxuICAgIDwhLS0gICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiLS0+XG4gICAgPCEtLSAgICAgICAgIChjbGljayk9J29uSG9tZUNsaWNrKCknPi0tPlxuICAgIDwhLS0gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tbGFyZ2VcIiBbbWF0VG9vbHRpcF09XCInSG9tZSdcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj5ob21lPC9tYXQtaWNvbj4tLT5cbiAgICA8IS0tICAgIDwvZGl2Pi0tPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkhvbWVDbGljaygpXCIgY2xhc3M9XCJtYXQtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCIndG9vbGJhci5tZW51LmhvbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCI+XG4gICAgICAgIDxtYXQtaWNvbj5ob21lPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDwhLS0gICAgPGRpdiAqbmdJZj0nIWlzT25aZXJvTGV2ZWwoKScgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIi0tPlxuICAgIDwhLS0gICAgICAgICAoY2xpY2spPSdvbkJhY2tDbGljaygpJz4tLT5cbiAgICA8IS0tICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uLWxhcmdlXCIgW21hdFRvb2x0aXBdPVwiJ0JhY2snXCIgW21hdFRvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCI+YXJyb3dfYmFjazwvbWF0LWljb24+LS0+XG4gICAgPCEtLSAgICA8L2Rpdj4tLT5cbiAgICA8YnV0dG9uICpuZ0lmPSchaXNPblplcm9MZXZlbCgpICYmIChjYW5Hb0JhY2tMb2FkaW5nJCB8IGFzeW5jKSA9PT0gZmFsc2UnIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib25CYWNrQ2xpY2soKVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1idXR0b24gbWF0LXR5cG9ncmFwaHkgbWVudS1mb250LWNvbG9yXCIgW21hdFRvb2x0aXBdPVwiJ3Rvb2xiYXIubWVudS5iYWNrJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiPlxuICAgICAgICA8bWF0LWljb24+YXJyb3dfYmFjazwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiAqbmdJZj1cIihjYW5Hb0JhY2tMb2FkaW5nJCB8IGFzeW5jKVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm1hcmdpbi10b3AtZGVmYXVsdFwiPlxuICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgZGlhbWV0ZXI9XCIzMFwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tdG9wLXgyXCI+PC9kaXY+XG4gICAgPCEtLSAgICA8ZGl2ICpuZ0Zvcj0nbGV0IG5vZGUgb2YgbGVmdE5vZGVzOyB0cmFja0J5OiB1cmlOb2RlVHJhY2tCeScgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cImljb24tY29udGFpbmVyXCItLT5cbiAgICA8IS0tICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIi0tPlxuICAgIDwhLS0gICAgICAgICAoY2xpY2spPSdvbkxlZnRTaWRlQ2xpY2sobm9kZSknPi0tPlxuICAgIDwhLS0gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tbGFyZ2VcIiBbbWF0VG9vbHRpcF09XCJub2RlLm5hbWVcIi0tPlxuICAgIDwhLS0gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj57e25vZGUuaWQgPT09IGN1cnJlbnROb2RlLmlkID8gJ2ZvbGRlcl9vcGVuJyA6ICdmb2xkZXInfX08L21hdC1pY29uPi0tPlxuICAgIDwhLS0gICAgPC9kaXY+LS0+XG4gICAgPGJ1dHRvbiAqbmdGb3I9J2xldCBub2RlIG9mIGxlZnROb2RlczsgdHJhY2tCeTogdXJpTm9kZVRyYWNrQnknIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib25Ob2RlQ2xpY2sobm9kZSlcIlxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiIFttYXRUb29sdGlwXT1cIm5vZGUubmFtZVwiIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJub2RlLmlkID09PSBjdXJyZW50Tm9kZS5pZCA/ICdyYWlsLXNlbGVjdGVkLWNvbG9yJyA6ICcnXCI+XG4gICAgICAgIDxtYXQtaWNvbj57e25vZGUuaWQgPT09IGN1cnJlbnROb2RlLmlkID8gb3BlbmVkRm9sZGVySWNvbiA6IGZvbGRlckljb259fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiKGxlZnRMb2FkaW5nJCB8IGFzeW5jKVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm1hcmdpbi10b3AtZGVmYXVsdFwiPlxuICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgZGlhbWV0ZXI9XCIzMFwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFJpZ2h0U2lkZT5cbiAgICA8ZGl2IGNsYXNzPVwibG9nb1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhIaWRlLmx0LW1kPlxuICAgICAgICA8aW1nICpuZ0lmPVwiaW1hZ2UgIT09IHVuZGVmaW5lZFwiIFthbHRdPVwiaW1hZ2VBbHRcIiBbc3JjXT1cImltYWdlXCIgY2xhc3M9XCJsb2dvaW1nXCJcbiAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpbWFnZVJvdXRlckxpbmsgIT09IHVuZGVmaW5lZCA/IGltYWdlUm91dGVyTGluayA6IFtdXCI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIihyaWdodExvYWRpbmckIHwgYXN5bmMpID09PSBmYWxzZVwiIG5nQ2xhc3MuZ3Qtc209XCJwYWRkaW5nLXRvcC04XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tYXV0byBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPSchaXNSaWdodE5vZGVzRW1wdHkoKScgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ2ZvbGRlcnMnKVwiXG4gICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIiBmeEZsZXhBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkbGluZS10ZXh0IG1hdC10eXBvZ3JhcGh5XCI+e3tmb2xkZXJzQ2F0ZWdvcnlOYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNTZWN0aW9uT3BlblwiIFtAaW5kaWNhdG9yUm90YXRlXT1cImlzU2VjdGlvbk9wZW4uZm9sZGVycyA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJ1wiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuc2lvbi1pbmRpY2F0b3IgbWF0LXR5cG9ncmFwaHlcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtAc2VjdGlvbkV4cGFuc2lvbl09XCJpc1NlY3Rpb25PcGVuLmZvbGRlcnMgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIiBjbGFzcz1cImJveC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPSdsZXQgbm9kZSBvZiByaWdodE5vZGVzOyB0cmFja0J5OiB1cmlOb2RlVHJhY2tCeScgKGNsaWNrKT1cIm9uTm9kZUNsaWNrKG5vZGUpXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmVlLW5vZGUgbWF0LXR5cG9ncmFwaHkgbWF0LWJvZHktMlwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidHJlZS1ub2RlLWljb25cIj5mb2xkZXI8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7bm9kZS5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tZm9jdXMtb3ZlcmxheVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLWF1dG9cIiAqbmdJZj0nIWlzVmlld3NFbXB0eSgpJyBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleEFsaWduPVwiY2VudGVyIHN0YXJ0XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzUmlnaHROb2Rlc0VtcHR5KClcIiBjbGFzcz1cImxpbmUgbWFyZ2luLWJvdHRvbS14MlwiPlxuICAgICAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidG9nZ2xlU2VjdGlvbigndmlld3MnKVwiIGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4QWxpZ249XCJzdGFydCBjZW50ZXJcIlxuICAgICAgICAgICAgICAgICBmeEZsZXg+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkbGluZS10ZXh0IG1hdC10eXBvZ3JhcGh5XCI+e3t2aWV3c0NhdGVnb3J5TmFtZSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNTZWN0aW9uT3BlblwiIFtAaW5kaWNhdG9yUm90YXRlXT1cImlzU2VjdGlvbk9wZW4udmlld3MgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXhwYW5zaW9uLWluZGljYXRvciBtYXQtdHlwb2dyYXBoeVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbQHNlY3Rpb25FeHBhbnNpb25dPVwiaXNTZWN0aW9uT3Blbi52aWV3cyA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJ1wiIGNsYXNzPVwiYm94LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9J2xldCB2aWV3IG9mIHZpZXdzOyB0cmFja0J5OiB2aWV3c1RyYWNrQnknIGNsYXNzPVwidHJlZS1ub2RlIG1hdC10eXBvZ3JhcGh5XCJcbiAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIFtyb3V0ZXJMaW5rXT0ndmlldy5yb3V0aW5nLnBhdGgnIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0cmVlLW5vZGUtaWNvblwiPnt7dmlldy5uYXZpZ2F0aW9uLmljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3t2aWV3Lm5hdmlnYXRpb24udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtaXRlbS1mb2N1cy1vdmVybGF5XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIocmlnaHRMb2FkaW5nJCB8IGFzeW5jKVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm1hcmdpbi10b3AtZGVmYXVsdFwiPlxuICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgZGlhbWV0ZXI9XCI0MFwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=