@netgrif/components 6.2.0-rc.4 → 6.2.0-rc.7

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.
@@ -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,5 +1,6 @@
1
1
  import { Component } from '@angular/core';
2
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";
@@ -9,28 +10,90 @@ 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);
23
+ constructor(_router, _activatedRoute, _breakpoint, _languageService, _userService, _log, _config, _uriService, _dynamicRouteProviderService) {
24
+ super(_router, _activatedRoute, _breakpoint, _languageService, _userService, _log, _config, _uriService, _dynamicRouteProviderService);
22
25
  this._router = _router;
26
+ this._activatedRoute = _activatedRoute;
23
27
  this._breakpoint = _breakpoint;
24
28
  this._languageService = _languageService;
25
29
  this._userService = _userService;
26
30
  this._log = _log;
27
31
  this._config = _config;
32
+ this._uriService = _uriService;
33
+ this._dynamicRouteProviderService = _dynamicRouteProviderService;
34
+ this.isSectionOpen = {
35
+ folders: true,
36
+ views: true
37
+ };
38
+ }
39
+ toggleSection(section) {
40
+ this.isSectionOpen[section] = !this.isSectionOpen[section];
28
41
  }
29
42
  }
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 } });
43
+ 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.LoggerService }, { token: i3.ConfigurationService }, { token: i3.UriService }, { token: i3.DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
44
+ 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 <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 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 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.routingPath' routerLinkActive=\"active\">\n <mat-icon>{{item.icon}}</mat-icon>\n <span>{{item.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 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 ? 'folder_open' : 'folder'}}</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\">Folders</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\">Views</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.routingPath' routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">{{view.icon}}</mat-icon>\n <span>{{view.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: 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: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { 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: [
45
+ trigger('sectionExpansion', [
46
+ state('expanded, void', style({
47
+ height: '*',
48
+ visibility: 'visible'
49
+ })),
50
+ state('collapsed', style({
51
+ height: '0px',
52
+ visibility: 'hidden'
53
+ })),
54
+ transition('expanded <=> collapsed, void => expanded', [
55
+ animate('225ms cubic-bezier(0.4,0.0,0.2,1)')
56
+ ])
57
+ ]),
58
+ trigger('indicatorRotate', [
59
+ state('expanded, void', style({
60
+ transform: 'rotate(180deg)'
61
+ })),
62
+ state('collapsed', style({
63
+ transform: 'rotate(0deg)'
64
+ })),
65
+ transition('expanded <=> collapsed, void => expanded', [
66
+ animate('225ms cubic-bezier(0.4,0.0,0.2,1)')
67
+ ])
68
+ ])
69
+ ] });
32
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationDoubleDrawerComponent, decorators: [{
33
71
  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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLEVBQW9FLHVDQUF1QyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BKLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSx1Q0FBdUM7SUFFeEYsWUFBc0IsT0FBZSxFQUNmLFdBQStCLEVBQy9CLGdCQUFpQyxFQUNqQyxZQUF5QixFQUN6QixJQUFtQixFQUNuQixPQUE2QjtRQUMvQyxLQUFLLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBTnhELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQXNCO0lBRW5ELENBQUM7OzZIQVRRLCtCQUErQjtpSEFBL0IsK0JBQStCLDBGQ1Y1Qyx1bEdBc0VBOzRGRDVEYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UsIExvZ2dlclNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBBYnN0cmFjdE5hdmlnYXRpb25Eb3VibGVEcmF3ZXJDb21wb25lbnR9IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25jLW5hdmlnYXRpb24tZG91YmxlLWRyYXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3ROYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9icmVha3BvaW50OiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX3JvdXRlciwgX2JyZWFrcG9pbnQsIF9sYW5ndWFnZVNlcnZpY2UsIF91c2VyU2VydmljZSwgX2xvZywgX2NvbmZpZylcbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsb2dvXCIgW25nQ2xhc3NdPVwieydsb2dvLWNsb3NlZCc6ICFjb25maWdNZW51Mi5vcGVuZWR9XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4SGlkZS5sdC1tZD5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlTWVudTIoKVwiIGNsYXNzPVwibWF0LWJ1dHRvblwiPlxuICAgICAgICA8bWF0LWljb24+bWVudTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGltZyAqbmdJZj1cImNvbmZpZ01lbnUyLm9wZW5lZCAmJiBpbWFnZSAhPT0gdW5kZWZpbmVkXCIgI2xvZ28gW2FsdF09XCJpbWFnZUFsdFwiIFtzcmNdPVwiaW1hZ2VcIiBjbGFzcz1cImxvZ29pbWdcIlxuICAgICAgICAgW3JvdXRlckxpbmtdPVwiaW1hZ2VSb3V0ZXJMaW5rICE9PSB1bmRlZmluZWQgPyBpbWFnZVJvdXRlckxpbmsgOiBbXVwiPlxuPC9kaXY+XG48bWF0LXRvb2xiYXIgZnhIaWRlLmd0LXNtIGNsYXNzPVwidG9vbGJhclwiPlxuICAgIDxtYXQtdG9vbGJhci1yb3cgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBzdHJldGNoXCI+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVNZW51KClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bWVudTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dvLXRvb2xcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4RmxleCA+XG4gICAgICAgICAgICA8aW1nICNsb2dvIFthbHRdPVwiaW1hZ2VBbHRcIiBbc3JjXT1cImltYWdlXCIgY2xhc3M9XCJsb2dvaW1nLXRvb2xcIlxuICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpbWFnZVJvdXRlckxpbmsgIT09IHVuZGVmaW5lZCA/IGltYWdlUm91dGVyTGluayA6IFtdXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICA8L21hdC10b29sYmFyLXJvdz5cbjwvbWF0LXRvb2xiYXI+XG48bWF0LXNwaW5uZXIgKm5nSWY9XCIhbG9nb1wiPjwvbWF0LXNwaW5uZXI+XG48bWF0LXNpZGVuYXYtY29udGFpbmVyIGNsYXNzPVwicmFpbC1jb250YWluZXJcIiAqbmdJZj1cImxvZ29cIj5cbiAgICA8bWF0LXNpZGVuYXYgbW9kZT1cInNpZGVcIiBbKG9wZW5lZCldPVwiY29uZmlnTWVudS5vcGVuZWRcIiBwb3NpdGlvbj1cInN0YXJ0XCIgW2Rpc2FibGVDbG9zZV09XCJjb25maWdNZW51LmRpc2FibGVDbG9zZVwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwicmFpbC1jb250ZW50XCI+XG5cbiAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGNsYXNzPVwicmFpbC1jb2xvclwiIGZ4RmxleD5cblxuICAgICAgICAgICAgPGRpdiAqbmdUZW1wbGF0ZU91dGxldD1cInBvcnRhbExlZnRNZW51XCI+PC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPG5jLWxhbmd1YWdlLXNlbGVjdG9yIGZ4TGF5b3V0PVwicm93XCIgW2xhbmd1YWdlXT1cImdldExhbmcoKVwiPjwvbmMtbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPG1hdC1tZW51ICNyYWlsTWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImxvZ291dCgpXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5leGl0X3RvX2FwcDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ICd0b29sYmFyLm1lbnUubG9nb3V0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cIm1hcmdpbi1ib3R0b20teDIgaWNvbi1jb250YWluZXJcIiBtYXRUb29sdGlwPVwiT3R2b3JpxaUgbWVudVwiXG4gICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInJhaWxNZW51XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tbGFyZ2Ugc2lkZW1lbnUtaWNvblwiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvbWF0LXNpZGVuYXY+XG5cbiAgICA8bWF0LXNpZGVuYXYtY29udGVudD5cbiAgICAgICAgPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBjbGFzcz1cImRyYXdlci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxtYXQtc2lkZW5hdiBbbW9kZV09XCJjb25maWdNZW51Mi5tb2RlXCIgWyhvcGVuZWQpXT1cImNvbmZpZ01lbnUyLm9wZW5lZFwiIHBvc2l0aW9uPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlQ2xvc2VdPVwiY29uZmlnTWVudTIuZGlzYWJsZUNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyYXdlci1jb250ZW50IG1hdC1lbGV2YXRpb24tejhcIj5cblxuICAgICAgICAgICAgICAgIDxkaXYgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwb3J0YWxSaWdodE1lbnVcIj48L2Rpdj5cblxuICAgICAgICAgICAgPC9tYXQtc2lkZW5hdj5cblxuICAgICAgICAgICAgPG1hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxuICAgICAgICA8L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cbiAgICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XG48L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cbiJdfQ==
72
+ args: [{ selector: 'nc-navigation-double-drawer', animations: [
73
+ trigger('sectionExpansion', [
74
+ state('expanded, void', style({
75
+ height: '*',
76
+ visibility: 'visible'
77
+ })),
78
+ state('collapsed', style({
79
+ height: '0px',
80
+ visibility: 'hidden'
81
+ })),
82
+ transition('expanded <=> collapsed, void => expanded', [
83
+ animate('225ms cubic-bezier(0.4,0.0,0.2,1)')
84
+ ])
85
+ ]),
86
+ trigger('indicatorRotate', [
87
+ state('expanded, void', style({
88
+ transform: 'rotate(180deg)'
89
+ })),
90
+ state('collapsed', style({
91
+ transform: 'rotate(0deg)'
92
+ })),
93
+ transition('expanded <=> collapsed, void => expanded', [
94
+ animate('225ms cubic-bezier(0.4,0.0,0.2,1)')
95
+ ])
96
+ ])
97
+ ], 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 <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 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 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.routingPath' routerLinkActive=\"active\">\n <mat-icon>{{item.icon}}</mat-icon>\n <span>{{item.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 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 ? 'folder_open' : 'folder'}}</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\">Folders</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\">Views</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.routingPath' routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">{{view.icon}}</mat-icon>\n <span>{{view.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"] }]
98
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.BreakpointObserver }, { type: i3.LanguageService }, { type: i3.UserService }, { type: i3.LoggerService }, { type: i3.ConfigurationService }, { type: i3.UriService }, { type: i3.DynamicNavigationRouteProviderService }]; } });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLEVBTUgsdUNBQXVDLEVBRTFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlDL0UsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLHVDQUF1QztJQU94RixZQUFzQixPQUFlLEVBQ2YsZUFBK0IsRUFDL0IsV0FBK0IsRUFDL0IsZ0JBQWlDLEVBQ2pDLFlBQXlCLEVBQ3pCLElBQW1CLEVBQ25CLE9BQTZCLEVBQzdCLFdBQXVCLEVBQ3ZCLDRCQUFtRTtRQUNyRixLQUFLLENBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUNuRyw0QkFBNEIsQ0FBQyxDQUFBO1FBVmYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBdUM7UUFibEYsa0JBQWEsR0FBRztZQUNuQixPQUFPLEVBQUUsSUFBSTtZQUNiLEtBQUssRUFBRSxJQUFJO1NBQ2QsQ0FBQztJQWFGLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs2SEF0QlEsK0JBQStCO2lIQUEvQiwrQkFBK0IsMEZDN0M1QywyOVVBOExBLG83UkQ1S2dCO1FBQ1IsT0FBTyxDQUFDLGtCQUFrQixFQUFFO1lBQ3hCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7Z0JBQzFCLE1BQU0sRUFBRSxHQUFHO2dCQUNYLFVBQVUsRUFBRSxTQUFTO2FBQ3hCLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dCQUNyQixNQUFNLEVBQUUsS0FBSztnQkFDYixVQUFVLEVBQUUsUUFBUTthQUN2QixDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsMENBQTBDLEVBQUU7Z0JBQ25ELE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQzthQUMvQyxDQUFDO1NBQ0wsQ0FBQztRQUNGLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtZQUN2QixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO2dCQUMxQixTQUFTLEVBQUUsZ0JBQWdCO2FBQzlCLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dCQUNyQixTQUFTLEVBQUUsY0FBYzthQUM1QixDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsMENBQTBDLEVBQUU7Z0JBQ25ELE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQzthQUMvQyxDQUFDO1NBQ0wsQ0FBQztLQUNMOzRGQUVRLCtCQUErQjtrQkEvQjNDLFNBQVM7K0JBQ0ksNkJBQTZCLGNBRzNCO3dCQUNSLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTs0QkFDeEIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztnQ0FDMUIsTUFBTSxFQUFFLEdBQUc7Z0NBQ1gsVUFBVSxFQUFFLFNBQVM7NkJBQ3hCLENBQUMsQ0FBQzs0QkFDSCxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztnQ0FDckIsTUFBTSxFQUFFLEtBQUs7Z0NBQ2IsVUFBVSxFQUFFLFFBQVE7NkJBQ3ZCLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsMENBQTBDLEVBQUU7Z0NBQ25ELE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQzs2QkFDL0MsQ0FBQzt5QkFDTCxDQUFDO3dCQUNGLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTs0QkFDdkIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztnQ0FDMUIsU0FBUyxFQUFFLGdCQUFnQjs2QkFDOUIsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dDQUNyQixTQUFTLEVBQUUsY0FBYzs2QkFDNUIsQ0FBQyxDQUFDOzRCQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQ0FDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDOzZCQUMvQyxDQUFDO3lCQUNMLENBQUM7cUJBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge1xuICAgIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIExhbmd1YWdlU2VydmljZSxcbiAgICBVcmlTZXJ2aWNlLFxuICAgIExvZ2dlclNlcnZpY2UsXG4gICAgVXNlclNlcnZpY2UsXG4gICAgQWJzdHJhY3ROYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50LFxuICAgIER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2Vcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLW5hdmlnYXRpb24tZG91YmxlLWRyYXdlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdzZWN0aW9uRXhwYW5zaW9uJywgW1xuICAgICAgICAgICAgc3RhdGUoJ2V4cGFuZGVkLCB2b2lkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIGhlaWdodDogJyonLFxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICd2aXNpYmxlJ1xuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcwcHgnLFxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICdoaWRkZW4nXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdleHBhbmRlZCA8PT4gY29sbGFwc2VkLCB2b2lkID0+IGV4cGFuZGVkJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzIyNW1zIGN1YmljLWJlemllcigwLjQsMC4wLDAuMiwxKScpXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcignaW5kaWNhdG9yUm90YXRlJywgW1xuICAgICAgICAgICAgc3RhdGUoJ2V4cGFuZGVkLCB2b2lkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgxODBkZWcpJ1xuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdleHBhbmRlZCA8PT4gY29sbGFwc2VkLCB2b2lkID0+IGV4cGFuZGVkJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzIyNW1zIGN1YmljLWJlemllcigwLjQsMC4wLDAuMiwxKScpXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkRvdWJsZURyYXdlckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0TmF2aWdhdGlvbkRvdWJsZURyYXdlckNvbXBvbmVudCB7XG5cbiAgICBwdWJsaWMgaXNTZWN0aW9uT3BlbiA9IHtcbiAgICAgICAgZm9sZGVyczogdHJ1ZSxcbiAgICAgICAgdmlld3M6IHRydWVcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9yb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2JyZWFrcG9pbnQ6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY29uZmlnOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9keW5hbWljUm91dGVQcm92aWRlclNlcnZpY2U6IER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX3JvdXRlciwgX2FjdGl2YXRlZFJvdXRlLCBfYnJlYWtwb2ludCwgX2xhbmd1YWdlU2VydmljZSwgX3VzZXJTZXJ2aWNlLCBfbG9nLCBfY29uZmlnLCBfdXJpU2VydmljZSxcbiAgICAgICAgICAgIF9keW5hbWljUm91dGVQcm92aWRlclNlcnZpY2UpXG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZVNlY3Rpb24oc2VjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTZWN0aW9uT3BlbltzZWN0aW9uXSA9ICF0aGlzLmlzU2VjdGlvbk9wZW5bc2VjdGlvbl07XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZHJhd2VyLWNvbnRyb2wgcmFpbC1jb2xvclwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEhpZGUubHQtbWQ+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiIGNsYXNzPVwibWF0LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3JcIj5cbiAgICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG48bWF0LXRvb2xiYXIgZnhIaWRlLmd0LXNtIGNsYXNzPVwidG9vbGJhclwiPlxuICAgIDxtYXQtdG9vbGJhci1yb3cgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBzdHJldGNoXCI+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVNZW51KClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bWVudTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dvLXRvb2xcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4RmxleD5cbiAgICAgICAgICAgIDxpbWcgI2xvZ28gW2FsdF09XCJpbWFnZUFsdFwiIFtzcmNdPVwiaW1hZ2VcIiBjbGFzcz1cImxvZ29pbWctdG9vbFwiXG4gICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImltYWdlUm91dGVyTGluayAhPT0gdW5kZWZpbmVkID8gaW1hZ2VSb3V0ZXJMaW5rIDogW11cIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXItcm93PlxuPC9tYXQtdG9vbGJhcj5cbjxtYXQtc3Bpbm5lciAqbmdJZj1cIiFsb2dvXCI+PC9tYXQtc3Bpbm5lcj5cbjxtYXQtc2lkZW5hdi1jb250YWluZXIgY2xhc3M9XCJyYWlsLWNvbnRhaW5lclwiPlxuICAgIDxtYXQtc2lkZW5hdiBtb2RlPVwic2lkZVwiIFsob3BlbmVkKV09XCJjb25maWdMZWZ0TWVudS5vcGVuZWRcIiBwb3NpdGlvbj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVDbG9zZV09XCJjb25maWdMZWZ0TWVudS5kaXNhYmxlQ2xvc2VcIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cInJhaWwtY29udGVudFwiPlxuXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cInJhaWwtY29sb3JcIiBmeEZsZXg+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwb3J0YWxMZWZ0TWVudSB8fCBkZWZhdWx0TGVmdFNpZGVcIj48L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgICAgICAgIDxtYXQtbWVudSAjdXNlclJhaWxNZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSByb2xlPVwibWVudWl0ZW1cIiBjbGFzcz1cImxhcmdlLW1lbnUtaXRlbVwiIGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hcmdpbi1hdXRvXCIgZnhGbGV4PmZhY2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFyZ2UtbWVudS1pdGVtXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXhBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFyZ2UtbWVudS1pdGVtLXRleHRcIiBmeEZsZXg9XCI1MFwiPnt7dXNlci5mdWxsTmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYXJnZS1tZW51LWl0ZW0tdGV4dFwiIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiIGZ4RmxleD1cIjUwXCI+e3t1c2VyLmVtYWlsfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwibG9nb3V0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmV4aXRfdG9fYXBwPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ3Rvb2xiYXIubWVudS5sb2dvdXQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJ1c2VyUmFpbE1lbnVcIiBjbGFzcz1cIm1hdC1idXR0b24gbWF0LXR5cG9ncmFwaHkgbWVudS1mb250LWNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwidXNlci5mdWxsTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5hY2NvdW50X2NpcmNsZTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxuYy1sYW5ndWFnZS1zZWxlY3RvciBmeExheW91dD1cInJvd1wiIFtsYW5ndWFnZV09XCJnZXRMYW5nKClcIj48L25jLWxhbmd1YWdlLXNlbGVjdG9yPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxtYXQtbWVudSAjcmFpbE1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9J2xldCBpdGVtIG9mIG1vcmVNZW51SXRlbXM7IHRyYWNrQnk6IHZpZXdzVHJhY2tCeScgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPSdpdGVtLnJvdXRpbmdQYXRoJyByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57e2l0ZW0uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLnRpdGxlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cIm1hcmdpbi1ib3R0b20teDIgaWNvbi1jb250YWluZXJcIiBtYXRUb29sdGlwPVwiT3R2b3JpxaUgbWVudVwiLS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiLS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPi0tPlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwicmFpbE1lbnVcIj4tLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tbGFyZ2Ugc2lkZW1lbnUtaWNvblwiPm1vcmVfdmVydDwvbWF0LWljb24+LS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIDwvYnV0dG9uPi0tPlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgIDwvZGl2Pi0tPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInJhaWxNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvciBtYXJnaW4tYm90dG9tLXgyXCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ3Rvb2xiYXIubWVudS5vcGVuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvbWF0LXNpZGVuYXY+XG5cbiAgICA8bWF0LXNpZGVuYXYtY29udGVudD5cbiAgICAgICAgPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBjbGFzcz1cImRyYXdlci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxtYXQtc2lkZW5hdiBbbW9kZV09XCJjb25maWdSaWdodE1lbnUubW9kZVwiIFsob3BlbmVkKV09XCJjb25maWdSaWdodE1lbnUub3BlbmVkXCIgcG9zaXRpb249XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVDbG9zZV09XCJjb25maWdSaWdodE1lbnUuZGlzYWJsZUNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyYXdlci1jb250ZW50IG1hdC1lbGV2YXRpb24tejhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIG13bFJlc2l6YWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJjb25maWdSaWdodE1lbnUud2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNpemVDdXJzb3JQcmVjaXNpb25dPVwiMjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNpemVFZGdlc109XCJ7cmlnaHQ6IHRydWV9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAocmVzaXppbmcpPVwib25SZXNpemVFdmVudCgkZXZlbnQpXCI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ1RlbXBsYXRlT3V0bGV0PVwicG9ydGFsUmlnaHRNZW51IHx8IGRlZmF1bHRSaWdodFNpZGVcIj48L2Rpdj5cblxuICAgICAgICAgICAgPC9tYXQtc2lkZW5hdj5cblxuICAgICAgICAgICAgPG1hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxuICAgICAgICA8L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cbiAgICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XG48L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0TGVmdFNpZGU+XG4gICAgPCEtLSAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCItLT5cbiAgICA8IS0tICAgICAgICAgKGNsaWNrKT0nb25Ib21lQ2xpY2soKSc+LS0+XG4gICAgPCEtLSAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1sYXJnZVwiIFttYXRUb29sdGlwXT1cIidIb21lJ1wiIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiPmhvbWU8L21hdC1pY29uPi0tPlxuICAgIDwhLS0gICAgPC9kaXY+LS0+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uSG9tZUNsaWNrKClcIiBjbGFzcz1cIm1hdC1idXR0b24gbWF0LXR5cG9ncmFwaHkgbWVudS1mb250LWNvbG9yXCJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIid0b29sYmFyLm1lbnUuaG9tZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIj5cbiAgICAgICAgPG1hdC1pY29uPmhvbWU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPCEtLSAgICA8ZGl2ICpuZ0lmPSchaXNPblplcm9MZXZlbCgpJyBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiLS0+XG4gICAgPCEtLSAgICAgICAgIChjbGljayk9J29uQmFja0NsaWNrKCknPi0tPlxuICAgIDwhLS0gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tbGFyZ2VcIiBbbWF0VG9vbHRpcF09XCInQmFjaydcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj5hcnJvd19iYWNrPC9tYXQtaWNvbj4tLT5cbiAgICA8IS0tICAgIDwvZGl2Pi0tPlxuICAgIDxidXR0b24gKm5nSWY9JyFpc09uWmVyb0xldmVsKCkgJiYgKGNhbkdvQmFja0xvYWRpbmckIHwgYXN5bmMpID09PSBmYWxzZScgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkJhY2tDbGljaygpXCJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3JcIiBbbWF0VG9vbHRpcF09XCIndG9vbGJhci5tZW51LmJhY2snIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCI+XG4gICAgICAgIDxtYXQtaWNvbj5hcnJvd19iYWNrPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2ICpuZ0lmPVwiKGNhbkdvQmFja0xvYWRpbmckIHwgYXN5bmMpXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwibWFyZ2luLXRvcC1kZWZhdWx0XCI+XG4gICAgICAgIDxtYXQtc3Bpbm5lciBjb2xvcj1cInByaW1hcnlcIiBkaWFtZXRlcj1cIjMwXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1zcGlubmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1hcmdpbi10b3AteDJcIj48L2Rpdj5cbiAgICA8IS0tICAgIDxkaXYgKm5nRm9yPSdsZXQgbm9kZSBvZiBsZWZ0Tm9kZXM7IHRyYWNrQnk6IHVyaU5vZGVUcmFja0J5JyBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIi0tPlxuICAgIDwhLS0gICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiLS0+XG4gICAgPCEtLSAgICAgICAgIChjbGljayk9J29uTGVmdFNpZGVDbGljayhub2RlKSc+LS0+XG4gICAgPCEtLSAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1sYXJnZVwiIFttYXRUb29sdGlwXT1cIm5vZGUubmFtZVwiLS0+XG4gICAgPCEtLSAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiPnt7bm9kZS5pZCA9PT0gY3VycmVudE5vZGUuaWQgPyAnZm9sZGVyX29wZW4nIDogJ2ZvbGRlcid9fTwvbWF0LWljb24+LS0+XG4gICAgPCEtLSAgICA8L2Rpdj4tLT5cbiAgICA8YnV0dG9uICpuZ0Zvcj0nbGV0IG5vZGUgb2YgbGVmdE5vZGVzOyB0cmFja0J5OiB1cmlOb2RlVHJhY2tCeScgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbk5vZGVDbGljayhub2RlKVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1idXR0b24gbWF0LXR5cG9ncmFwaHkgbWVudS1mb250LWNvbG9yXCIgW21hdFRvb2x0aXBdPVwibm9kZS5uYW1lXCIgW21hdFRvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIm5vZGUuaWQgPT09IGN1cnJlbnROb2RlLmlkID8gJ3JhaWwtc2VsZWN0ZWQtY29sb3InIDogJydcIj5cbiAgICAgICAgPG1hdC1pY29uPnt7bm9kZS5pZCA9PT0gY3VycmVudE5vZGUuaWQgPyAnZm9sZGVyX29wZW4nIDogJ2ZvbGRlcid9fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiKGxlZnRMb2FkaW5nJCB8IGFzeW5jKVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm1hcmdpbi10b3AtZGVmYXVsdFwiPlxuICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgZGlhbWV0ZXI9XCIzMFwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFJpZ2h0U2lkZT5cbiAgICA8ZGl2IGNsYXNzPVwibG9nb1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhIaWRlLmx0LW1kPlxuICAgICAgICA8aW1nICpuZ0lmPVwiaW1hZ2UgIT09IHVuZGVmaW5lZFwiIFthbHRdPVwiaW1hZ2VBbHRcIiBbc3JjXT1cImltYWdlXCIgY2xhc3M9XCJsb2dvaW1nXCJcbiAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpbWFnZVJvdXRlckxpbmsgIT09IHVuZGVmaW5lZCA/IGltYWdlUm91dGVyTGluayA6IFtdXCI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIihyaWdodExvYWRpbmckIHwgYXN5bmMpID09PSBmYWxzZVwiIG5nQ2xhc3MuZ3Qtc209XCJwYWRkaW5nLXRvcC04XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tYXV0byBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPSchaXNSaWdodE5vZGVzRW1wdHkoKScgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ2ZvbGRlcnMnKVwiXG4gICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIiBmeEZsZXhBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkbGluZS10ZXh0IG1hdC10eXBvZ3JhcGh5XCI+Rm9sZGVyczwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1NlY3Rpb25PcGVuXCIgW0BpbmRpY2F0b3JSb3RhdGVdPVwiaXNTZWN0aW9uT3Blbi5mb2xkZXJzID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXhwYW5zaW9uLWluZGljYXRvciBtYXQtdHlwb2dyYXBoeVwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgW0BzZWN0aW9uRXhwYW5zaW9uXT1cImlzU2VjdGlvbk9wZW4uZm9sZGVycyA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJ1wiIGNsYXNzPVwiYm94LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9J2xldCBub2RlIG9mIHJpZ2h0Tm9kZXM7IHRyYWNrQnk6IHVyaU5vZGVUcmFja0J5JyAoY2xpY2spPVwib25Ob2RlQ2xpY2sobm9kZSlcIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cInRyZWUtbm9kZSBtYXQtdHlwb2dyYXBoeSBtYXQtYm9keS0yXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0cmVlLW5vZGUtaWNvblwiPmZvbGRlcjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3tub2RlLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtaXRlbS1mb2N1cy1vdmVybGF5XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tYXV0b1wiICpuZ0lmPSchaXNWaWV3c0VtcHR5KCknIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGbGV4QWxpZ249XCJjZW50ZXIgc3RhcnRcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNSaWdodE5vZGVzRW1wdHkoKVwiIGNsYXNzPVwibGluZSBtYXJnaW4tYm90dG9tLXgyXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0b2dnbGVTZWN0aW9uKCd2aWV3cycpXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZsZXhBbGlnbj1cInN0YXJ0IGNlbnRlclwiXG4gICAgICAgICAgICAgICAgIGZ4RmxleD5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRsaW5lLXRleHQgbWF0LXR5cG9ncmFwaHlcIj5WaWV3czwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzU2VjdGlvbk9wZW5cIiBbQGluZGljYXRvclJvdGF0ZV09XCJpc1NlY3Rpb25PcGVuLnZpZXdzID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuc2lvbi1pbmRpY2F0b3IgbWF0LXR5cG9ncmFwaHlcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgW0BzZWN0aW9uRXhwYW5zaW9uXT1cImlzU2VjdGlvbk9wZW4udmlld3MgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIiBjbGFzcz1cImJveC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPSdsZXQgdmlldyBvZiB2aWV3czsgdHJhY2tCeTogdmlld3NUcmFja0J5JyBjbGFzcz1cInRyZWUtbm9kZSBtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBbcm91dGVyTGlua109J3ZpZXcucm91dGluZ1BhdGgnIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0cmVlLW5vZGUtaWNvblwiPnt7dmlldy5pY29ufX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7dmlldy50aXRsZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1pdGVtLWZvY3VzLW92ZXJsYXlcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIihyaWdodExvYWRpbmckIHwgYXN5bmMpXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwibWFyZ2luLXRvcC1kZWZhdWx0XCI+XG4gICAgICAgIDxtYXQtc3Bpbm5lciBjb2xvcj1cInByaW1hcnlcIiBkaWFtZXRlcj1cIjQwXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1zcGlubmVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==