@netgrif/components 6.2.2 → 6.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (19) hide show
  1. package/esm2020/lib/admin/ldap-group-role-assignment/ldap-group-role-assignment.component.mjs +3 -3
  2. package/esm2020/lib/data-fields/boolean-field/boolean-field.component.mjs +3 -3
  3. package/esm2020/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/enumeration-autocomplete-select-field.component.mjs +3 -3
  4. package/esm2020/lib/data-fields/enumeration-field/enumeration-icon-field/enumeration-icon-field.component.mjs +3 -3
  5. package/esm2020/lib/data-fields/file-field/file-field.component.mjs +2 -2
  6. package/esm2020/lib/data-fields/i18n-field/i18n-divider-field/i18n-divider-field.component.mjs +3 -3
  7. package/esm2020/lib/data-fields/i18n-field/i18n-text-field/i18n-text-field.component.mjs +3 -3
  8. package/esm2020/lib/data-fields/multichoice-field/multichoice-autocomplete-field/multichoice-autocomplete-field.component.mjs +3 -3
  9. package/esm2020/lib/data-fields/number-field/number-currency-field/number-currency-field.component.mjs +3 -3
  10. package/esm2020/lib/data-fields/text-field/rich-textarea-field/easymde-wrapper/easymde-wrapper.component.mjs +5 -2
  11. package/esm2020/lib/data-fields/user-field/user-field.component.mjs +3 -3
  12. package/esm2020/lib/side-menu/content-components/new-case/new-case.component.mjs +3 -3
  13. package/fesm2015/netgrif-components.mjs +26 -23
  14. package/fesm2015/netgrif-components.mjs.map +1 -1
  15. package/fesm2020/netgrif-components.mjs +26 -23
  16. package/fesm2020/netgrif-components.mjs.map +1 -1
  17. package/nae-theme.scss +5 -0
  18. package/package.json +2 -2
  19. package/src/lib/data-fields/data-field.theme.scss +5 -1
@@ -106,12 +106,12 @@ class LdapGroupRoleAssignmentComponent extends AbstractLdapGroupRoleAssignmentCo
106
106
  LdapGroupRoleAssignmentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LdapGroupRoleAssignmentComponent, deps: [{ token: i1.RoleAssignmentLdapGroupService }], target: i0.ɵɵFactoryTarget.Component });
107
107
  LdapGroupRoleAssignmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: LdapGroupRoleAssignmentComponent, selector: "nc-ldap-group-role-assignment", providers: [
108
108
  RoleAssignmentLdapGroupService
109
- ], usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"full-height full-width padding-default\">\n\n <div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex=\"47\" class=\"full-height\">\n <ng-container *ngIf=\"ldapGroup.ldapGroups$ | async as ldapGroups_\">\n\n <mat-toolbar color=\"primary\" class=\"min-height-72\">\n <span matTooltip=\"{{ldapGroups_.length}}/{{ldapGroup.totalLdapGroups}}\">\n {{'admin.ldapGroup-list.listTitle' | translate}}\n </span>\n <div fxFlex=\"5\"></div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"netgrif-input netgrif-input-fix netgrif-input-primary-fix netgrif-input-search-fix\">\n <mat-icon fxFlex class=\"search-icon\">search</mat-icon>\n <mat-form-field fxFlex=\"100\" class=\"ldapGroup-assign-search\" color=\"primary\" appearance=\"outline\">\n <mat-label>{{ 'side-menu.ldapGroup.choose' | translate }}</mat-label>\n <input matInput [formControl]=\"searchLdapGroupControl\">\n <button mat-button *ngIf=\"searchLdapGroupControl.value\" matSuffix mat-icon-button\n (click)=\"searchLdapGroupControl.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <span style=\"flex: 1 1 auto;\"></span>\n <button mat-icon-button matTooltip=\"{{ 'side-menu.tooltip.SelectAll' | translate }}\" (click)=\"selectAllLdapGroup(true)\">\n <mat-icon>done_all</mat-icon>\n </button>\n <button mat-icon-button matTooltip=\"{{ 'side-menu.tooltip.DeselectAll' | translate }}\" (click)=\"selectAllLdapGroup(false)\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-toolbar>\n\n <div *ngIf=\"(ldapGroup.loading$ | async) === false && ldapGroups_.length === 0\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"margin-top-x2\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default no-ldapGroup-icon\">perm_identity</mat-icon>\n <span class=\"font-size-20\">{{ 'admin.ldapGroup-list.noLdapGroupsWereFound' | translate}}</span>\n </div>\n\n <mat-selection-list #ldapGroupList color=\"accent\" fxFlex=\"100\" class=\"full-width\">\n\n <cdk-virtual-scroll-viewport itemSize=\"72\" (scrolledIndexChange)=\"loadNextLdapGroupPage()\"\n class=\"full-width full-height\">\n <mat-list-option *cdkVirtualFor=\"let ldapGroup of ldapGroups_; let i = index;\" checkboxPosition=\"before\"\n [selected]=\"ldapGroup.selected\"\n [value]=\"ldapGroup\"\n [ngClass]=\"{'list-item-selected':ldapGroup.selected}\"\n (click)=\"ldapGroup.toggle();autoSelectRoles()\">\n <h3 matLine>{{ldapGroup.cn}}</h3>\n <p *ngIf=\"ldapGroup.description !== undefined\" matLine>DN: {{ldapGroup.dn}}, Description: {{ldapGroup.description}}</p>\n <p *ngIf=\"ldapGroup.description === undefined\" matLine>DN: {{ldapGroup.dn}}</p>\n </mat-list-option>\n\n <div *ngIf=\"ldapGroup.loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-spinner color=\"primary\" diameter=\"50\"></mat-spinner>\n </div>\n\n </cdk-virtual-scroll-viewport>\n\n </mat-selection-list>\n </ng-container>\n </div>\n\n <div fxFlex=\"3\"></div>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex=\"50\" class=\"full-height\">\n\n <mat-toolbar color=\"primary\" class=\"min-height-72\">\n <span>{{'admin.process-list.listTitle' | translate}}</span>\n <span style=\"flex: 1 1 auto;\"></span>\n <mat-spinner *ngIf=\"ldapGroup.updating$ | async\" color=\"accent\" diameter=\"30\"></mat-spinner>\n </mat-toolbar>\n\n <div *ngIf=\"(ldapGroup.loading$ | async) === false && nets.processes.length === 0\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"margin-top-x2\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default no-ldapGroup-icon\">timeline</mat-icon>\n <span class=\"font-size-20\">{{ 'admin.process-list.noProcessesWereFound' | translate}}</span>\n </div>\n\n <mat-accordion class=\"full-width margin-top-default process-list-accordion\" multi fxFlex>\n\n <mat-expansion-panel *ngFor=\"let item of nets.processes\" (afterExpand)=\"nets.loadProcessItemRoles(item)\"\n (afterCollapse)=\"nets.prepareToTryAgainToLoadRoles(item)\">\n\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon *ngIf=\"item.someRolesSelected\" color=\"accent\" class=\"margin-right-x2\">tour</mat-icon>\n <span>{{item.initials}} - {{item.title}}</span>\n </mat-panel-title>\n <mat-panel-description class=\"process-item-description\">\n <span\n class=\"process-item-description full-width\">{{'admin.process-list.newestVersion' | translate}}\n : {{item.newestVersion}}</span>\n </mat-panel-description>\n </mat-expansion-panel-header>\n\n <div *ngIf=\"item.loading\" fxFlex=\"100\" class=\"full-width\">\n <mat-progress-bar mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\n </div>\n\n <div *ngIf=\"!item.loading && item.emptyRoles\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"full-width full-height net-panel-content\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default\">account_circle</mat-icon>\n <span class=\"font-size-15\">{{ 'admin.process-list.noRoles' | translate}}</span>\n </div>\n\n <div *ngIf=\"!item.loading && !item.emptyRoles\" fxLayout=\"column\" fxLayoutAlign=\"start start\"\n class=\"full-height full-width net-panel-content\">\n <h3>{{ 'admin.process-list.roles' | translate}}</h3>\n <div *ngFor=\"let net of item.processes; let first = first\" fxLayout=\"column\"\n fxLayoutAlign=\"start center\" class=\"full-width\">\n <mat-divider *ngIf=\"!first\" style=\"position: relative\"></mat-divider>\n\n <button mat-button matTooltip=\"{{item.someRolesSelected ? 'Deselect All' : 'Select All'}}\"\n (click)=\"toggleAllRoles(net, !item.someRolesSelected)\">\n {{net.version}}\n </button>\n\n <mat-selection-list color=\"accent\" fxLayout=\"row wrap\" fxLayoutAlign=\"start center\"\n class=\"full-width\">\n <mat-list-option *ngFor=\"let role of net.roles\" checkboxPosition=\"before\"\n [selected]=\"role.selected\" (click)=\"role.toggle();update(role)\"\n fxFlex=\"50\">\n <h3 matLine>{{role.name}}</h3>\n </mat-list-option>\n </mat-selection-list>\n </div>\n </div>\n\n </mat-expansion-panel>\n\n </mat-accordion>\n\n <div *ngIf=\"nets.loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFlex=\"100\">\n <mat-spinner color=\"primary\" diameter=\"65\"></mat-spinner>\n </div>\n </div>\n</div>\n", styles: [".full-height{height:100%;min-height:100%}.full-width{width:100%;min-width:100%}.padding-default{padding:8px}.padding-half{padding:4px}.padding-x2{padding:16px}.margin-default{margin:8px}.margin-half{margin:4px}.margin-x2{margin:16px}.margin-top-default{margin-top:8px}.margin-top-half{margin-top:4px}.margin-top-x2{margin-top:16px}.margin-bottom-default{margin-bottom:8px}.margin-bottom-half{margin-bottom:4px}.margin-bottom-x2{margin-bottom:16px}.margin-left-default{margin-left:8px}.margin-left-half{margin-left:4px}.margin-left-x2{margin-left:16px}.margin-right-default{margin-right:8px}.margin-right-half{margin-right:4px}.margin-right-x2{margin-right:16px}.user-list-item-margin{margin:4px 0}.net-panel-content{padding-left:24px;padding-right:24px;padding-bottom:24px}.font-size-20{font-size:20px}.font-size-15{font-size:15px}.no-user-icon{font-size:40px;width:40px;height:40px}.process-item-description{text-align:right}.process-list-accordion{overflow-y:auto;padding:0 2px 4px}.user-assign-search{width:100%}.search-icon{margin-right:10px}.min-height-72{min-height:72px}\n"], components: [{ type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { 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.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "tabIndex", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { type: i7.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: i6.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i9.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i9.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { type: i10.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i7$1.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$1.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: i7$1.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: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i7$2.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: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$1.MatSuffix, selector: "[matSuffix]" }, { type: i7.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i7.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { type: i5$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7$3.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: i3$1.MatLine, selector: "[mat-line], [matLine]" }, { type: i9.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i9.MatExpansionPanelDescription, selector: "mat-panel-description" }], pipes: { "async": i5$2.AsyncPipe, "translate": i2$2.TranslatePipe } });
109
+ ], usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"full-height full-width padding-default\">\n\n <div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex=\"47\" class=\"full-height\">\n <ng-container *ngIf=\"ldapGroup.ldapGroups$ | async as ldapGroups_\">\n\n <mat-toolbar color=\"primary\" class=\"min-height-72\">\n <span matTooltip=\"{{ 'admin.ldapGroup-list.count' | translate }}: {{ldapGroups_.length}}\">\n {{'admin.ldapGroup-list.listTitle' | translate}}\n </span>\n <div fxFlex=\"5\"></div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"netgrif-input netgrif-input-fix netgrif-input-primary-fix netgrif-input-search-fix\">\n <mat-icon fxFlex class=\"search-icon\">search</mat-icon>\n <mat-form-field fxFlex=\"100\" class=\"ldapGroup-assign-search\" color=\"primary\" appearance=\"outline\">\n <mat-label>{{ 'side-menu.ldapGroup.choose' | translate }}</mat-label>\n <input matInput [formControl]=\"searchLdapGroupControl\">\n <button mat-button *ngIf=\"searchLdapGroupControl.value\" matSuffix mat-icon-button\n (click)=\"searchLdapGroupControl.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <span style=\"flex: 1 1 auto;\"></span>\n <button mat-icon-button matTooltip=\"{{ 'side-menu.tooltip.SelectAll' | translate }}\" (click)=\"selectAllLdapGroup(true)\">\n <mat-icon>done_all</mat-icon>\n </button>\n <button mat-icon-button matTooltip=\"{{ 'side-menu.tooltip.DeselectAll' | translate }}\" (click)=\"selectAllLdapGroup(false)\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-toolbar>\n\n <div *ngIf=\"(ldapGroup.loading$ | async) === false && ldapGroups_.length === 0\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"margin-top-x2\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default no-ldapGroup-icon\">perm_identity</mat-icon>\n <span class=\"font-size-20\">{{ 'admin.ldapGroup-list.noLdapGroupsWereFound' | translate}}</span>\n </div>\n\n <mat-selection-list #ldapGroupList color=\"accent\" fxFlex=\"100\" class=\"full-width\">\n\n <cdk-virtual-scroll-viewport itemSize=\"72\" (scrolledIndexChange)=\"loadNextLdapGroupPage()\"\n class=\"full-width full-height\">\n <mat-list-option *cdkVirtualFor=\"let ldapGroup of ldapGroups_; let i = index;\" checkboxPosition=\"before\"\n [selected]=\"ldapGroup.selected\"\n [value]=\"ldapGroup\"\n [ngClass]=\"{'list-item-selected':ldapGroup.selected}\"\n (click)=\"ldapGroup.toggle();autoSelectRoles()\">\n <h3 matLine>{{ldapGroup.cn}}</h3>\n <p *ngIf=\"ldapGroup.description !== undefined\" matLine>DN: {{ldapGroup.dn}}, Description: {{ldapGroup.description}}</p>\n <p *ngIf=\"ldapGroup.description === undefined\" matLine>DN: {{ldapGroup.dn}}</p>\n </mat-list-option>\n\n <div *ngIf=\"ldapGroup.loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-spinner color=\"primary\" diameter=\"50\"></mat-spinner>\n </div>\n\n </cdk-virtual-scroll-viewport>\n\n </mat-selection-list>\n </ng-container>\n </div>\n\n <div fxFlex=\"3\"></div>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex=\"50\" class=\"full-height\">\n\n <mat-toolbar color=\"primary\" class=\"min-height-72\">\n <span>{{'admin.process-list.listTitle' | translate}}</span>\n <span style=\"flex: 1 1 auto;\"></span>\n <mat-spinner *ngIf=\"ldapGroup.updating$ | async\" color=\"accent\" diameter=\"30\"></mat-spinner>\n </mat-toolbar>\n\n <div *ngIf=\"(ldapGroup.loading$ | async) === false && nets.processes.length === 0\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"margin-top-x2\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default no-ldapGroup-icon\">timeline</mat-icon>\n <span class=\"font-size-20\">{{ 'admin.process-list.noProcessesWereFound' | translate}}</span>\n </div>\n\n <mat-accordion class=\"full-width margin-top-default process-list-accordion\" multi fxFlex>\n\n <mat-expansion-panel *ngFor=\"let item of nets.processes\" (afterExpand)=\"nets.loadProcessItemRoles(item)\"\n (afterCollapse)=\"nets.prepareToTryAgainToLoadRoles(item)\">\n\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon *ngIf=\"item.someRolesSelected\" color=\"accent\" class=\"margin-right-x2\">tour</mat-icon>\n <span>{{item.initials}} - {{item.title}}</span>\n </mat-panel-title>\n <mat-panel-description class=\"process-item-description\">\n <span\n class=\"process-item-description full-width\">{{'admin.process-list.newestVersion' | translate}}\n : {{item.newestVersion}}</span>\n </mat-panel-description>\n </mat-expansion-panel-header>\n\n <div *ngIf=\"item.loading\" fxFlex=\"100\" class=\"full-width\">\n <mat-progress-bar mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\n </div>\n\n <div *ngIf=\"!item.loading && item.emptyRoles\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"full-width full-height net-panel-content\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default\">account_circle</mat-icon>\n <span class=\"font-size-15\">{{ 'admin.process-list.noRoles' | translate}}</span>\n </div>\n\n <div *ngIf=\"!item.loading && !item.emptyRoles\" fxLayout=\"column\" fxLayoutAlign=\"start start\"\n class=\"full-height full-width net-panel-content\">\n <h3>{{ 'admin.process-list.roles' | translate}}</h3>\n <div *ngFor=\"let net of item.processes; let first = first\" fxLayout=\"column\"\n fxLayoutAlign=\"start center\" class=\"full-width\">\n <mat-divider *ngIf=\"!first\" style=\"position: relative\"></mat-divider>\n\n <button mat-button matTooltip=\"{{item.someRolesSelected ? 'Deselect All' : 'Select All'}}\"\n (click)=\"toggleAllRoles(net, !item.someRolesSelected)\">\n {{net.version}}\n </button>\n\n <mat-selection-list color=\"accent\" fxLayout=\"row wrap\" fxLayoutAlign=\"start center\"\n class=\"full-width\">\n <mat-list-option *ngFor=\"let role of net.roles\" checkboxPosition=\"before\"\n [selected]=\"role.selected\" (click)=\"role.toggle();update(role)\"\n fxFlex=\"50\">\n <h3 matLine>{{role.name}}</h3>\n </mat-list-option>\n </mat-selection-list>\n </div>\n </div>\n\n </mat-expansion-panel>\n\n </mat-accordion>\n\n <div *ngIf=\"nets.loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFlex=\"100\">\n <mat-spinner color=\"primary\" diameter=\"65\"></mat-spinner>\n </div>\n </div>\n</div>\n", styles: [".full-height{height:100%;min-height:100%}.full-width{width:100%;min-width:100%}.padding-default{padding:8px}.padding-half{padding:4px}.padding-x2{padding:16px}.margin-default{margin:8px}.margin-half{margin:4px}.margin-x2{margin:16px}.margin-top-default{margin-top:8px}.margin-top-half{margin-top:4px}.margin-top-x2{margin-top:16px}.margin-bottom-default{margin-bottom:8px}.margin-bottom-half{margin-bottom:4px}.margin-bottom-x2{margin-bottom:16px}.margin-left-default{margin-left:8px}.margin-left-half{margin-left:4px}.margin-left-x2{margin-left:16px}.margin-right-default{margin-right:8px}.margin-right-half{margin-right:4px}.margin-right-x2{margin-right:16px}.user-list-item-margin{margin:4px 0}.net-panel-content{padding-left:24px;padding-right:24px;padding-bottom:24px}.font-size-20{font-size:20px}.font-size-15{font-size:15px}.no-user-icon{font-size:40px;width:40px;height:40px}.process-item-description{text-align:right}.process-list-accordion{overflow-y:auto;padding:0 2px 4px}.user-assign-search{width:100%}.search-icon{margin-right:10px}.min-height-72{min-height:72px}\n"], components: [{ type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { 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.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "tabIndex", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { type: i7.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: i6.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i9.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i9.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { type: i10.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i7$1.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$1.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: i7$1.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: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i7$2.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: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$1.MatSuffix, selector: "[matSuffix]" }, { type: i7.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i7.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { type: i5$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7$3.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: i3$1.MatLine, selector: "[mat-line], [matLine]" }, { type: i9.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i9.MatExpansionPanelDescription, selector: "mat-panel-description" }], pipes: { "async": i5$2.AsyncPipe, "translate": i2$2.TranslatePipe } });
110
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LdapGroupRoleAssignmentComponent, decorators: [{
111
111
  type: Component,
112
112
  args: [{ selector: 'nc-ldap-group-role-assignment', providers: [
113
113
  RoleAssignmentLdapGroupService
114
- ], template: "<div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"full-height full-width padding-default\">\n\n <div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex=\"47\" class=\"full-height\">\n <ng-container *ngIf=\"ldapGroup.ldapGroups$ | async as ldapGroups_\">\n\n <mat-toolbar color=\"primary\" class=\"min-height-72\">\n <span matTooltip=\"{{ldapGroups_.length}}/{{ldapGroup.totalLdapGroups}}\">\n {{'admin.ldapGroup-list.listTitle' | translate}}\n </span>\n <div fxFlex=\"5\"></div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"netgrif-input netgrif-input-fix netgrif-input-primary-fix netgrif-input-search-fix\">\n <mat-icon fxFlex class=\"search-icon\">search</mat-icon>\n <mat-form-field fxFlex=\"100\" class=\"ldapGroup-assign-search\" color=\"primary\" appearance=\"outline\">\n <mat-label>{{ 'side-menu.ldapGroup.choose' | translate }}</mat-label>\n <input matInput [formControl]=\"searchLdapGroupControl\">\n <button mat-button *ngIf=\"searchLdapGroupControl.value\" matSuffix mat-icon-button\n (click)=\"searchLdapGroupControl.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <span style=\"flex: 1 1 auto;\"></span>\n <button mat-icon-button matTooltip=\"{{ 'side-menu.tooltip.SelectAll' | translate }}\" (click)=\"selectAllLdapGroup(true)\">\n <mat-icon>done_all</mat-icon>\n </button>\n <button mat-icon-button matTooltip=\"{{ 'side-menu.tooltip.DeselectAll' | translate }}\" (click)=\"selectAllLdapGroup(false)\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-toolbar>\n\n <div *ngIf=\"(ldapGroup.loading$ | async) === false && ldapGroups_.length === 0\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"margin-top-x2\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default no-ldapGroup-icon\">perm_identity</mat-icon>\n <span class=\"font-size-20\">{{ 'admin.ldapGroup-list.noLdapGroupsWereFound' | translate}}</span>\n </div>\n\n <mat-selection-list #ldapGroupList color=\"accent\" fxFlex=\"100\" class=\"full-width\">\n\n <cdk-virtual-scroll-viewport itemSize=\"72\" (scrolledIndexChange)=\"loadNextLdapGroupPage()\"\n class=\"full-width full-height\">\n <mat-list-option *cdkVirtualFor=\"let ldapGroup of ldapGroups_; let i = index;\" checkboxPosition=\"before\"\n [selected]=\"ldapGroup.selected\"\n [value]=\"ldapGroup\"\n [ngClass]=\"{'list-item-selected':ldapGroup.selected}\"\n (click)=\"ldapGroup.toggle();autoSelectRoles()\">\n <h3 matLine>{{ldapGroup.cn}}</h3>\n <p *ngIf=\"ldapGroup.description !== undefined\" matLine>DN: {{ldapGroup.dn}}, Description: {{ldapGroup.description}}</p>\n <p *ngIf=\"ldapGroup.description === undefined\" matLine>DN: {{ldapGroup.dn}}</p>\n </mat-list-option>\n\n <div *ngIf=\"ldapGroup.loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-spinner color=\"primary\" diameter=\"50\"></mat-spinner>\n </div>\n\n </cdk-virtual-scroll-viewport>\n\n </mat-selection-list>\n </ng-container>\n </div>\n\n <div fxFlex=\"3\"></div>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex=\"50\" class=\"full-height\">\n\n <mat-toolbar color=\"primary\" class=\"min-height-72\">\n <span>{{'admin.process-list.listTitle' | translate}}</span>\n <span style=\"flex: 1 1 auto;\"></span>\n <mat-spinner *ngIf=\"ldapGroup.updating$ | async\" color=\"accent\" diameter=\"30\"></mat-spinner>\n </mat-toolbar>\n\n <div *ngIf=\"(ldapGroup.loading$ | async) === false && nets.processes.length === 0\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"margin-top-x2\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default no-ldapGroup-icon\">timeline</mat-icon>\n <span class=\"font-size-20\">{{ 'admin.process-list.noProcessesWereFound' | translate}}</span>\n </div>\n\n <mat-accordion class=\"full-width margin-top-default process-list-accordion\" multi fxFlex>\n\n <mat-expansion-panel *ngFor=\"let item of nets.processes\" (afterExpand)=\"nets.loadProcessItemRoles(item)\"\n (afterCollapse)=\"nets.prepareToTryAgainToLoadRoles(item)\">\n\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon *ngIf=\"item.someRolesSelected\" color=\"accent\" class=\"margin-right-x2\">tour</mat-icon>\n <span>{{item.initials}} - {{item.title}}</span>\n </mat-panel-title>\n <mat-panel-description class=\"process-item-description\">\n <span\n class=\"process-item-description full-width\">{{'admin.process-list.newestVersion' | translate}}\n : {{item.newestVersion}}</span>\n </mat-panel-description>\n </mat-expansion-panel-header>\n\n <div *ngIf=\"item.loading\" fxFlex=\"100\" class=\"full-width\">\n <mat-progress-bar mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\n </div>\n\n <div *ngIf=\"!item.loading && item.emptyRoles\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"full-width full-height net-panel-content\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default\">account_circle</mat-icon>\n <span class=\"font-size-15\">{{ 'admin.process-list.noRoles' | translate}}</span>\n </div>\n\n <div *ngIf=\"!item.loading && !item.emptyRoles\" fxLayout=\"column\" fxLayoutAlign=\"start start\"\n class=\"full-height full-width net-panel-content\">\n <h3>{{ 'admin.process-list.roles' | translate}}</h3>\n <div *ngFor=\"let net of item.processes; let first = first\" fxLayout=\"column\"\n fxLayoutAlign=\"start center\" class=\"full-width\">\n <mat-divider *ngIf=\"!first\" style=\"position: relative\"></mat-divider>\n\n <button mat-button matTooltip=\"{{item.someRolesSelected ? 'Deselect All' : 'Select All'}}\"\n (click)=\"toggleAllRoles(net, !item.someRolesSelected)\">\n {{net.version}}\n </button>\n\n <mat-selection-list color=\"accent\" fxLayout=\"row wrap\" fxLayoutAlign=\"start center\"\n class=\"full-width\">\n <mat-list-option *ngFor=\"let role of net.roles\" checkboxPosition=\"before\"\n [selected]=\"role.selected\" (click)=\"role.toggle();update(role)\"\n fxFlex=\"50\">\n <h3 matLine>{{role.name}}</h3>\n </mat-list-option>\n </mat-selection-list>\n </div>\n </div>\n\n </mat-expansion-panel>\n\n </mat-accordion>\n\n <div *ngIf=\"nets.loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFlex=\"100\">\n <mat-spinner color=\"primary\" diameter=\"65\"></mat-spinner>\n </div>\n </div>\n</div>\n", styles: [".full-height{height:100%;min-height:100%}.full-width{width:100%;min-width:100%}.padding-default{padding:8px}.padding-half{padding:4px}.padding-x2{padding:16px}.margin-default{margin:8px}.margin-half{margin:4px}.margin-x2{margin:16px}.margin-top-default{margin-top:8px}.margin-top-half{margin-top:4px}.margin-top-x2{margin-top:16px}.margin-bottom-default{margin-bottom:8px}.margin-bottom-half{margin-bottom:4px}.margin-bottom-x2{margin-bottom:16px}.margin-left-default{margin-left:8px}.margin-left-half{margin-left:4px}.margin-left-x2{margin-left:16px}.margin-right-default{margin-right:8px}.margin-right-half{margin-right:4px}.margin-right-x2{margin-right:16px}.user-list-item-margin{margin:4px 0}.net-panel-content{padding-left:24px;padding-right:24px;padding-bottom:24px}.font-size-20{font-size:20px}.font-size-15{font-size:15px}.no-user-icon{font-size:40px;width:40px;height:40px}.process-item-description{text-align:right}.process-list-accordion{overflow-y:auto;padding:0 2px 4px}.user-assign-search{width:100%}.search-icon{margin-right:10px}.min-height-72{min-height:72px}\n"] }]
114
+ ], template: "<div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"full-height full-width padding-default\">\n\n <div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex=\"47\" class=\"full-height\">\n <ng-container *ngIf=\"ldapGroup.ldapGroups$ | async as ldapGroups_\">\n\n <mat-toolbar color=\"primary\" class=\"min-height-72\">\n <span matTooltip=\"{{ 'admin.ldapGroup-list.count' | translate }}: {{ldapGroups_.length}}\">\n {{'admin.ldapGroup-list.listTitle' | translate}}\n </span>\n <div fxFlex=\"5\"></div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"netgrif-input netgrif-input-fix netgrif-input-primary-fix netgrif-input-search-fix\">\n <mat-icon fxFlex class=\"search-icon\">search</mat-icon>\n <mat-form-field fxFlex=\"100\" class=\"ldapGroup-assign-search\" color=\"primary\" appearance=\"outline\">\n <mat-label>{{ 'side-menu.ldapGroup.choose' | translate }}</mat-label>\n <input matInput [formControl]=\"searchLdapGroupControl\">\n <button mat-button *ngIf=\"searchLdapGroupControl.value\" matSuffix mat-icon-button\n (click)=\"searchLdapGroupControl.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <span style=\"flex: 1 1 auto;\"></span>\n <button mat-icon-button matTooltip=\"{{ 'side-menu.tooltip.SelectAll' | translate }}\" (click)=\"selectAllLdapGroup(true)\">\n <mat-icon>done_all</mat-icon>\n </button>\n <button mat-icon-button matTooltip=\"{{ 'side-menu.tooltip.DeselectAll' | translate }}\" (click)=\"selectAllLdapGroup(false)\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-toolbar>\n\n <div *ngIf=\"(ldapGroup.loading$ | async) === false && ldapGroups_.length === 0\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"margin-top-x2\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default no-ldapGroup-icon\">perm_identity</mat-icon>\n <span class=\"font-size-20\">{{ 'admin.ldapGroup-list.noLdapGroupsWereFound' | translate}}</span>\n </div>\n\n <mat-selection-list #ldapGroupList color=\"accent\" fxFlex=\"100\" class=\"full-width\">\n\n <cdk-virtual-scroll-viewport itemSize=\"72\" (scrolledIndexChange)=\"loadNextLdapGroupPage()\"\n class=\"full-width full-height\">\n <mat-list-option *cdkVirtualFor=\"let ldapGroup of ldapGroups_; let i = index;\" checkboxPosition=\"before\"\n [selected]=\"ldapGroup.selected\"\n [value]=\"ldapGroup\"\n [ngClass]=\"{'list-item-selected':ldapGroup.selected}\"\n (click)=\"ldapGroup.toggle();autoSelectRoles()\">\n <h3 matLine>{{ldapGroup.cn}}</h3>\n <p *ngIf=\"ldapGroup.description !== undefined\" matLine>DN: {{ldapGroup.dn}}, Description: {{ldapGroup.description}}</p>\n <p *ngIf=\"ldapGroup.description === undefined\" matLine>DN: {{ldapGroup.dn}}</p>\n </mat-list-option>\n\n <div *ngIf=\"ldapGroup.loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-spinner color=\"primary\" diameter=\"50\"></mat-spinner>\n </div>\n\n </cdk-virtual-scroll-viewport>\n\n </mat-selection-list>\n </ng-container>\n </div>\n\n <div fxFlex=\"3\"></div>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex=\"50\" class=\"full-height\">\n\n <mat-toolbar color=\"primary\" class=\"min-height-72\">\n <span>{{'admin.process-list.listTitle' | translate}}</span>\n <span style=\"flex: 1 1 auto;\"></span>\n <mat-spinner *ngIf=\"ldapGroup.updating$ | async\" color=\"accent\" diameter=\"30\"></mat-spinner>\n </mat-toolbar>\n\n <div *ngIf=\"(ldapGroup.loading$ | async) === false && nets.processes.length === 0\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"margin-top-x2\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default no-ldapGroup-icon\">timeline</mat-icon>\n <span class=\"font-size-20\">{{ 'admin.process-list.noProcessesWereFound' | translate}}</span>\n </div>\n\n <mat-accordion class=\"full-width margin-top-default process-list-accordion\" multi fxFlex>\n\n <mat-expansion-panel *ngFor=\"let item of nets.processes\" (afterExpand)=\"nets.loadProcessItemRoles(item)\"\n (afterCollapse)=\"nets.prepareToTryAgainToLoadRoles(item)\">\n\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon *ngIf=\"item.someRolesSelected\" color=\"accent\" class=\"margin-right-x2\">tour</mat-icon>\n <span>{{item.initials}} - {{item.title}}</span>\n </mat-panel-title>\n <mat-panel-description class=\"process-item-description\">\n <span\n class=\"process-item-description full-width\">{{'admin.process-list.newestVersion' | translate}}\n : {{item.newestVersion}}</span>\n </mat-panel-description>\n </mat-expansion-panel-header>\n\n <div *ngIf=\"item.loading\" fxFlex=\"100\" class=\"full-width\">\n <mat-progress-bar mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\n </div>\n\n <div *ngIf=\"!item.loading && item.emptyRoles\" fxLayout=\"column\"\n fxLayoutAlign=\"center center\" fxFlex class=\"full-width full-height net-panel-content\">\n <mat-icon color=\"accent\" class=\"margin-bottom-default\">account_circle</mat-icon>\n <span class=\"font-size-15\">{{ 'admin.process-list.noRoles' | translate}}</span>\n </div>\n\n <div *ngIf=\"!item.loading && !item.emptyRoles\" fxLayout=\"column\" fxLayoutAlign=\"start start\"\n class=\"full-height full-width net-panel-content\">\n <h3>{{ 'admin.process-list.roles' | translate}}</h3>\n <div *ngFor=\"let net of item.processes; let first = first\" fxLayout=\"column\"\n fxLayoutAlign=\"start center\" class=\"full-width\">\n <mat-divider *ngIf=\"!first\" style=\"position: relative\"></mat-divider>\n\n <button mat-button matTooltip=\"{{item.someRolesSelected ? 'Deselect All' : 'Select All'}}\"\n (click)=\"toggleAllRoles(net, !item.someRolesSelected)\">\n {{net.version}}\n </button>\n\n <mat-selection-list color=\"accent\" fxLayout=\"row wrap\" fxLayoutAlign=\"start center\"\n class=\"full-width\">\n <mat-list-option *ngFor=\"let role of net.roles\" checkboxPosition=\"before\"\n [selected]=\"role.selected\" (click)=\"role.toggle();update(role)\"\n fxFlex=\"50\">\n <h3 matLine>{{role.name}}</h3>\n </mat-list-option>\n </mat-selection-list>\n </div>\n </div>\n\n </mat-expansion-panel>\n\n </mat-accordion>\n\n <div *ngIf=\"nets.loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFlex=\"100\">\n <mat-spinner color=\"primary\" diameter=\"65\"></mat-spinner>\n </div>\n </div>\n</div>\n", styles: [".full-height{height:100%;min-height:100%}.full-width{width:100%;min-width:100%}.padding-default{padding:8px}.padding-half{padding:4px}.padding-x2{padding:16px}.margin-default{margin:8px}.margin-half{margin:4px}.margin-x2{margin:16px}.margin-top-default{margin-top:8px}.margin-top-half{margin-top:4px}.margin-top-x2{margin-top:16px}.margin-bottom-default{margin-bottom:8px}.margin-bottom-half{margin-bottom:4px}.margin-bottom-x2{margin-bottom:16px}.margin-left-default{margin-left:8px}.margin-left-half{margin-left:4px}.margin-left-x2{margin-left:16px}.margin-right-default{margin-right:8px}.margin-right-half{margin-right:4px}.margin-right-x2{margin-right:16px}.user-list-item-margin{margin:4px 0}.net-panel-content{padding-left:24px;padding-right:24px;padding-bottom:24px}.font-size-20{font-size:20px}.font-size-15{font-size:15px}.no-user-icon{font-size:40px;width:40px;height:40px}.process-item-description{text-align:right}.process-list-accordion{overflow-y:auto;padding:0 2px 4px}.user-assign-search{width:100%}.search-icon{margin-right:10px}.min-height-72{min-height:72px}\n"] }]
115
115
  }], ctorParameters: function () { return [{ type: i1.RoleAssignmentLdapGroupService }]; } });
116
116
 
117
117
  class UserInviteComponent extends AbstractUserInviteComponent {
@@ -503,10 +503,10 @@ class BooleanFieldComponent extends AbstractBooleanFieldComponent {
503
503
  }
504
504
  }
505
505
  BooleanFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BooleanFieldComponent, deps: [{ token: i2$2.TranslateService }, { token: BOOLEAN_VALUE_LABEL_ENABLED, optional: true }, { token: NAE_INFORM_ABOUT_INVALID_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
506
- BooleanFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BooleanFieldComponent, selector: "nc-boolean-field", usesInheritance: true, ngImport: i0, template: "<nc-data-field-template *ngIf=\"!dataField.behavior.hidden\"\n [dataField]=\"dataField\"\n [dataFieldTemplate]=\"boolean\"\n [offset]=\"taskOffset\">\n</nc-data-field-template>\n\n<ng-template #boolean let-showLargeLayout=\"showLargeLayout\">\n <div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"true\"></nc-required-label>\n <br></mat-label>\n <mat-slide-toggle color=\"primary\" [formControl]=\"formControl\">\n {{createValueLabel()}}\n </mat-slide-toggle>\n <mat-error *ngIf=\"dataField.isInvalid(formControl)\">{{getErrorMessage()}}</mat-error>\n </div>\n</ng-template>\n", styles: [""], components: [{ type: DataFieldTemplateComponent, selector: "nc-data-field-template" }, { type: RequiredLabelComponent, selector: "nc-required-label", inputs: ["isIn"] }, { type: i4$1.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"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }] });
506
+ BooleanFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BooleanFieldComponent, selector: "nc-boolean-field", usesInheritance: true, ngImport: i0, template: "<nc-data-field-template *ngIf=\"!dataField.behavior.hidden\"\n [dataField]=\"dataField\"\n [dataFieldTemplate]=\"boolean\"\n [offset]=\"taskOffset\">\n</nc-data-field-template>\n\n<ng-template #boolean let-showLargeLayout=\"showLargeLayout\">\n <div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"true\"></nc-required-label>\n <br></mat-label>\n <mat-slide-toggle color=\"primary\" [formControl]=\"formControl\">\n {{createValueLabel()}}\n </mat-slide-toggle>\n <mat-hint>{{dataField.description}}</mat-hint>\n <mat-error *ngIf=\"dataField.isInvalid(formControl)\">{{getErrorMessage()}}</mat-error>\n </div>\n</ng-template>\n", styles: ["mat-hint{display:block}\n"], components: [{ type: DataFieldTemplateComponent, selector: "nc-data-field-template" }, { type: RequiredLabelComponent, selector: "nc-required-label", inputs: ["isIn"] }, { type: i4$1.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"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }] });
507
507
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BooleanFieldComponent, decorators: [{
508
508
  type: Component,
509
- args: [{ selector: 'nc-boolean-field', template: "<nc-data-field-template *ngIf=\"!dataField.behavior.hidden\"\n [dataField]=\"dataField\"\n [dataFieldTemplate]=\"boolean\"\n [offset]=\"taskOffset\">\n</nc-data-field-template>\n\n<ng-template #boolean let-showLargeLayout=\"showLargeLayout\">\n <div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"true\"></nc-required-label>\n <br></mat-label>\n <mat-slide-toggle color=\"primary\" [formControl]=\"formControl\">\n {{createValueLabel()}}\n </mat-slide-toggle>\n <mat-error *ngIf=\"dataField.isInvalid(formControl)\">{{getErrorMessage()}}</mat-error>\n </div>\n</ng-template>\n", styles: [""] }]
509
+ args: [{ selector: 'nc-boolean-field', template: "<nc-data-field-template *ngIf=\"!dataField.behavior.hidden\"\n [dataField]=\"dataField\"\n [dataFieldTemplate]=\"boolean\"\n [offset]=\"taskOffset\">\n</nc-data-field-template>\n\n<ng-template #boolean let-showLargeLayout=\"showLargeLayout\">\n <div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"true\"></nc-required-label>\n <br></mat-label>\n <mat-slide-toggle color=\"primary\" [formControl]=\"formControl\">\n {{createValueLabel()}}\n </mat-slide-toggle>\n <mat-hint>{{dataField.description}}</mat-hint>\n <mat-error *ngIf=\"dataField.isInvalid(formControl)\">{{getErrorMessage()}}</mat-error>\n </div>\n</ng-template>\n", styles: ["mat-hint{display:block}\n"] }]
510
510
  }], ctorParameters: function () { return [{ type: i2$2.TranslateService }, { type: undefined, decorators: [{
511
511
  type: Optional
512
512
  }, {
@@ -610,10 +610,10 @@ class EnumerationAutocompleteSelectFieldComponent extends AbstractEnumerationAut
610
610
  }
611
611
  }
612
612
  EnumerationAutocompleteSelectFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EnumerationAutocompleteSelectFieldComponent, deps: [{ token: i2$2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
613
- EnumerationAutocompleteSelectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: EnumerationAutocompleteSelectFieldComponent, selector: "nc-enumeration-autocomplete-select-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"enumerationField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{enumerationField.title}}</mat-label>\n <input type=\"text\"\n aria-label=\"Autocomplete\"\n matInput\n #input\n [placeholder]=\"enumerationField.placeholder\"\n [formControl]=\"formControlRef\"\n [matAutocomplete]=\"auto\"\n [required]=\"enumerationField.behavior.required\"\n (focus)=\"change()\"\n (keyup)=\"change()\">\n <mat-autocomplete [displayWith]=\"renderSelection\" autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option [value]=\"null\">---</mat-option>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.key\" (click)=\"change()\">\n {{option.value}}\n </mat-option>\n </mat-autocomplete>\n <mat-hint>{{enumerationField.description}}</mat-hint>\n <mat-error *ngIf=\"enumerationField.isInvalid(formControlRef)\">{{buildErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"], components: [{ type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i7$2.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: i1$1.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: i4$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "async": i5$2.AsyncPipe } });
613
+ EnumerationAutocompleteSelectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: EnumerationAutocompleteSelectFieldComponent, selector: "nc-enumeration-autocomplete-select-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"enumerationField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{enumerationField.title}}</mat-label>\n <input type=\"text\"\n aria-label=\"Autocomplete\"\n matInput\n #input=\"ngModel\"\n [placeholder]=\"enumerationField.placeholder\"\n [matAutocomplete]=\"auto\"\n [(ngModel)]=\"tmpValue\"\n [required]=\"enumerationField.behavior.required\"\n [disabled]=\"formControlRef.disabled\"\n (focus)=\"change()\"\n (keyup)=\"change()\">\n <mat-autocomplete [displayWith]=\"renderSelection\" autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"select($event)\">\n <mat-option [value]=\"null\">---</mat-option>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.key\" (click)=\"change()\">\n {{option.value}}\n </mat-option>\n </mat-autocomplete>\n <mat-hint>{{enumerationField.description}}</mat-hint>\n <mat-error *ngIf=\"isInvalid() !== undefined\">{{buildErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"], components: [{ type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i7$2.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: i4$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "async": i5$2.AsyncPipe } });
614
614
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EnumerationAutocompleteSelectFieldComponent, decorators: [{
615
615
  type: Component,
616
- args: [{ selector: 'nc-enumeration-autocomplete-select-field', template: "<mat-form-field [appearance]=\"enumerationField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{enumerationField.title}}</mat-label>\n <input type=\"text\"\n aria-label=\"Autocomplete\"\n matInput\n #input\n [placeholder]=\"enumerationField.placeholder\"\n [formControl]=\"formControlRef\"\n [matAutocomplete]=\"auto\"\n [required]=\"enumerationField.behavior.required\"\n (focus)=\"change()\"\n (keyup)=\"change()\">\n <mat-autocomplete [displayWith]=\"renderSelection\" autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option [value]=\"null\">---</mat-option>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.key\" (click)=\"change()\">\n {{option.value}}\n </mat-option>\n </mat-autocomplete>\n <mat-hint>{{enumerationField.description}}</mat-hint>\n <mat-error *ngIf=\"enumerationField.isInvalid(formControlRef)\">{{buildErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"] }]
616
+ args: [{ selector: 'nc-enumeration-autocomplete-select-field', template: "<mat-form-field [appearance]=\"enumerationField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{enumerationField.title}}</mat-label>\n <input type=\"text\"\n aria-label=\"Autocomplete\"\n matInput\n #input=\"ngModel\"\n [placeholder]=\"enumerationField.placeholder\"\n [matAutocomplete]=\"auto\"\n [(ngModel)]=\"tmpValue\"\n [required]=\"enumerationField.behavior.required\"\n [disabled]=\"formControlRef.disabled\"\n (focus)=\"change()\"\n (keyup)=\"change()\">\n <mat-autocomplete [displayWith]=\"renderSelection\" autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"select($event)\">\n <mat-option [value]=\"null\">---</mat-option>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.key\" (click)=\"change()\">\n {{option.value}}\n </mat-option>\n </mat-autocomplete>\n <mat-hint>{{enumerationField.description}}</mat-hint>\n <mat-error *ngIf=\"isInvalid() !== undefined\">{{buildErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"] }]
617
617
  }], ctorParameters: function () { return [{ type: i2$2.TranslateService }]; } });
618
618
 
619
619
  class EnumerationListFieldComponent extends AbstractEnumerationListFieldComponent {
@@ -647,10 +647,10 @@ class EnumerationIconFieldComponent extends AbstractEnumerationIconFieldComponen
647
647
  }
648
648
  }
649
649
  EnumerationIconFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EnumerationIconFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
650
- EnumerationIconFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: EnumerationIconFieldComponent, selector: "nc-enumeration-icon-field", usesInheritance: true, ngImport: i0, template: "<div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{enumerationField.title}}\n <nc-required-label *ngIf=\"enumerationField.behavior.required\" [isIn]=\"true\"></nc-required-label>\n <br></mat-label>\n <div *ngFor=\"let option of enumerationField.choices; let i = index\">\n <div class=\"enum-icon-item enum-icon-item-row\" (click)=\"setEnumValue(option.key)\" [ngClass]=\"{'enum-icon-item-active': isSelected(option.key)}\">\n <mat-icon *ngIf=\"resolveIconType(option.key) === 'material'\">{{resolveIconValue(option.key)}}</mat-icon>\n <mat-icon *ngIf=\"resolveIconType(option.key) === 'svg'\" [svgIcon]=\"resolveIconValue(option.key)\"></mat-icon>\n <span fxFlex class=\"enum-icon-text\">{{option.value}}</span>\n <mat-icon *ngIf=\"resolveArrow(option.key)\">arrow_forward</mat-icon>\n </div>\n <mat-divider class=\"enum-icon-divider\" *ngIf=\"i !== enumerationField.choices.length - 1 && resolveDivider(option.key)\"></mat-divider>\n </div>\n</div>\n", styles: [".enum-icon-item{font-size:18px;font-family:Asap,sans-serif;font-weight:500;line-height:24px;letter-spacing:-.2px;text-align:left;color:#333;text-decoration:none;padding:8px 0}.enum-icon-item-row:hover{cursor:pointer}.enum-icon-item:focus,.enum-icon-item-row:focus{outline:none}.enum-icon-divider{position:relative!important}.enum-icon-text{padding:0 16px}\n"], components: [{ type: RequiredLabelComponent, selector: "nc-required-label", inputs: ["isIn"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7$3.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: i7$1.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"] }] });
650
+ EnumerationIconFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: EnumerationIconFieldComponent, selector: "nc-enumeration-icon-field", usesInheritance: true, ngImport: i0, template: "<div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{enumerationField.title}}\n <nc-required-label *ngIf=\"enumerationField.behavior.required\" [isIn]=\"true\"></nc-required-label>\n <br></mat-label>\n <div *ngFor=\"let option of enumerationField.choices; let i = index\">\n <div class=\"enum-icon-item enum-icon-item-row\" (click)=\"setEnumValue(option.key)\" [ngClass]=\"{'enum-icon-item-active': isSelected(option.key), 'enum-icon-item-hover': !formControlRef.disabled}\">\n <mat-icon *ngIf=\"resolveIconType(option.key) === 'material'\">{{resolveIconValue(option.key)}}</mat-icon>\n <mat-icon *ngIf=\"resolveIconType(option.key) === 'svg'\" [svgIcon]=\"resolveIconValue(option.key)\"></mat-icon>\n <span fxFlex class=\"enum-icon-text\">{{option.value}}</span>\n <mat-icon *ngIf=\"resolveArrow(option.key)\">arrow_forward</mat-icon>\n </div>\n <mat-divider class=\"enum-icon-divider\" *ngIf=\"i !== enumerationField.choices.length - 1 && resolveDivider(option.key)\"></mat-divider>\n </div>\n</div>\n", styles: [".enum-icon-item{font-size:18px;font-family:Asap,sans-serif;font-weight:500;line-height:24px;letter-spacing:-.2px;text-align:left;color:#333;text-decoration:none;padding:8px 0}.enum-icon-item-row:hover{cursor:pointer}.enum-icon-item:focus,.enum-icon-item-row:focus{outline:none}.enum-icon-divider{position:relative!important}.enum-icon-text{padding:0 16px}\n"], components: [{ type: RequiredLabelComponent, selector: "nc-required-label", inputs: ["isIn"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7$3.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: i7$1.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"] }] });
651
651
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EnumerationIconFieldComponent, decorators: [{
652
652
  type: Component,
653
- args: [{ selector: 'nc-enumeration-icon-field', template: "<div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{enumerationField.title}}\n <nc-required-label *ngIf=\"enumerationField.behavior.required\" [isIn]=\"true\"></nc-required-label>\n <br></mat-label>\n <div *ngFor=\"let option of enumerationField.choices; let i = index\">\n <div class=\"enum-icon-item enum-icon-item-row\" (click)=\"setEnumValue(option.key)\" [ngClass]=\"{'enum-icon-item-active': isSelected(option.key)}\">\n <mat-icon *ngIf=\"resolveIconType(option.key) === 'material'\">{{resolveIconValue(option.key)}}</mat-icon>\n <mat-icon *ngIf=\"resolveIconType(option.key) === 'svg'\" [svgIcon]=\"resolveIconValue(option.key)\"></mat-icon>\n <span fxFlex class=\"enum-icon-text\">{{option.value}}</span>\n <mat-icon *ngIf=\"resolveArrow(option.key)\">arrow_forward</mat-icon>\n </div>\n <mat-divider class=\"enum-icon-divider\" *ngIf=\"i !== enumerationField.choices.length - 1 && resolveDivider(option.key)\"></mat-divider>\n </div>\n</div>\n", styles: [".enum-icon-item{font-size:18px;font-family:Asap,sans-serif;font-weight:500;line-height:24px;letter-spacing:-.2px;text-align:left;color:#333;text-decoration:none;padding:8px 0}.enum-icon-item-row:hover{cursor:pointer}.enum-icon-item:focus,.enum-icon-item-row:focus{outline:none}.enum-icon-divider{position:relative!important}.enum-icon-text{padding:0 16px}\n"] }]
653
+ args: [{ selector: 'nc-enumeration-icon-field', template: "<div>\n <mat-label class=\"netgrif-label\" *ngIf=\"!showLargeLayout.value\">{{enumerationField.title}}\n <nc-required-label *ngIf=\"enumerationField.behavior.required\" [isIn]=\"true\"></nc-required-label>\n <br></mat-label>\n <div *ngFor=\"let option of enumerationField.choices; let i = index\">\n <div class=\"enum-icon-item enum-icon-item-row\" (click)=\"setEnumValue(option.key)\" [ngClass]=\"{'enum-icon-item-active': isSelected(option.key), 'enum-icon-item-hover': !formControlRef.disabled}\">\n <mat-icon *ngIf=\"resolveIconType(option.key) === 'material'\">{{resolveIconValue(option.key)}}</mat-icon>\n <mat-icon *ngIf=\"resolveIconType(option.key) === 'svg'\" [svgIcon]=\"resolveIconValue(option.key)\"></mat-icon>\n <span fxFlex class=\"enum-icon-text\">{{option.value}}</span>\n <mat-icon *ngIf=\"resolveArrow(option.key)\">arrow_forward</mat-icon>\n </div>\n <mat-divider class=\"enum-icon-divider\" *ngIf=\"i !== enumerationField.choices.length - 1 && resolveDivider(option.key)\"></mat-divider>\n </div>\n</div>\n", styles: [".enum-icon-item{font-size:18px;font-family:Asap,sans-serif;font-weight:500;line-height:24px;letter-spacing:-.2px;text-align:left;color:#333;text-decoration:none;padding:8px 0}.enum-icon-item-row:hover{cursor:pointer}.enum-icon-item:focus,.enum-icon-item-row:focus{outline:none}.enum-icon-divider{position:relative!important}.enum-icon-text{padding:0 16px}\n"] }]
654
654
  }], ctorParameters: function () { return []; } });
655
655
 
656
656
  class EnumerationSelectFieldComponent extends AbstractEnumerationSelectFieldComponent {
@@ -725,10 +725,10 @@ class FileFieldComponent extends AbstractFileFieldComponent {
725
725
  }
726
726
  }
727
727
  FileFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileFieldComponent, deps: [{ token: i1.TaskResourceService }, { token: i1.LoggerService }, { token: i1.SnackBarService }, { token: i2$2.TranslateService }, { token: i1.EventService }, { token: NAE_INFORM_ABOUT_INVALID_DATA, optional: true }, { token: i3$2.DomSanitizer }, { token: i3$6.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
728
- FileFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FileFieldComponent, selector: "nc-file-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 <div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"{{!filePreview ? '100' : '75'}}\">\n <mat-label *ngIf=\"!showLargeLayout.value\" class=\"netgrif-label\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n <br>\n </mat-label>\n <div class=\"form-input button-icon-input full-width input-margin\" fxLayout=\"row\" fxLayoutAlign=\"start center\" [ngClass]=\"{'form-input-disabled': formControl.disabled, 'form-input-error': dataField.isInvalid(formControl)}\">\n <button mat-icon-button color=\"accent\" (click)=\"chooseFile()\"\n [matTooltip]=\"'dataField.file.clickToUpload' | translate\" *ngIf=\"!formControl.disabled\"\n [class.do-not-click]=\"state.uploading\">\n <mat-icon>file_upload</mat-icon>\n </button>\n <span (click)=\"isEmpty() ? chooseFile() : download()\" fxFlex\n [matTooltip]=\"isEmpty() ? '' : ('dataField.file.clickToDownload' | translate : {fileName: constructDisplayName()})\"\n class=\"input-name-ellipsis\"\n [ngClass]=\"{'input-placeholder': isEmpty(), 'no-cursor': isEmpty() && formControl.disabled}\">{{constructDisplayName()}}</span>\n <button (click)=\"deleteFile()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"!isEmpty() && !formControl.disabled\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n <mat-progress-bar *ngIf=\"state.uploading || state.downloading\" color=\"primary\" [value]=\"state.progress\"\n [mode]=\"state.uploading ? 'determinate' : 'indeterminate'\"\n class=\"margin-bottom-default\"></mat-progress-bar>\n <input type=\"file\" #fileUploadInput name=\"fileUpload\" [multiple]=\"false\"\n accept=\"{{dataField.allowTypes}}\" class=\"invisible-input\">\n <input type=\"text\" [formControl]=\"formControl\" class=\"invisible-input\">\n <mat-hint class=\"file-hint-error\"\n *ngIf=\"!dataField.isInvalid(formControl)\">{{dataField.description}}</mat-hint>\n <mat-error class=\"file-hint-error\"\n *ngIf=\"dataField.isInvalid(formControl)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n <div *ngIf=\"filePreview\" fxFlex=\"5\"></div>\n <div *ngIf=\"filePreview\" fxFlex=\"20\" fxLayout=\"row\" fxLayoutAlign=\"center center\" #imageDiv\n (resized)=\"changeMaxWidth($event)\">\n <img *ngIf=\"previewSource !== undefined && !state.downloading && isDisplayable\" class=\"image-preview\" #imageEl\n [ngStyle]=\"!isBorderLGBTQ() && !isBorderDefault() && {\n 'border-width': getPreviewBorderWidth(),\n 'border-style': getPreviewBorderStyle(),\n 'border-color': getPreviewBorderColor()\n }\"\n [ngClass]=\"{'border-LGBTQ': isBorderLGBTQ(), 'border-default': isBorderDefault()}\"\n [src]=\"previewSource\" alt=\"Image preview\" (click)=\"showPreviewDialog()\"/>\n <mat-spinner *ngIf=\"previewSource === undefined && !!state.downloading && isDisplayable\"\n [diameter]=\"26\"></mat-spinner>\n </div>\n </div>\n</ng-template>\n", styles: [".invisible-input{display:none}.margin-bottom-default{margin-bottom:8px}.file-field-image{width:120px}.file-field-image-wrapper{border-radius:3px}.progress-bar-size{height:8px}.margin-bottom-half{margin-bottom:4px}.do-not-click:hover{cursor:not-allowed}.file-button{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.input-name-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.input-placeholder{color:#0000006b}.button-icon-input{padding:2px!important}.full-width{width:100%;min-width:100%}.input-margin{margin-top:2px!important}.form-input{background:transparent;color:#333;outline:none;border:1px solid rgba(0,0,0,.12);text-align:left;font-size:14px;line-height:20px;border-radius:6px;min-width:5px;padding:10px 15px;box-sizing:border-box;height:48px}.form-input:hover{border-color:#000;border-width:2px}.form-input-disabled:hover{border-color:#0000001f!important;border-width:1px;padding:2px!important}.placeholder{color:#0000006b!important}.file-hint-error{padding:0 1em;font-size:75%}.image-preview{width:auto;height:auto;cursor:pointer}.no-cursor{cursor:default!important}.border-LGBTQ{border:5px solid transparent;border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}.border-default{border-width:1px;border-style:solid;border-color:#000}\n"], components: [{ type: DataFieldTemplateComponent, selector: "nc-data-field-template" }, { type: 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: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7$1.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: i7$1.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$1.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: i2$1.MatLabel, selector: "mat-label" }, { type: i5$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7$3.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: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }, { type: i17.ResizedDirective, selector: "[resized]", outputs: ["resized"] }, { type: i5$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7$3.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"] }], pipes: { "translate": i2$2.TranslatePipe } });
728
+ FileFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FileFieldComponent, selector: "nc-file-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 <div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"{{!filePreview ? '100' : '75'}}\">\n <mat-label *ngIf=\"!showLargeLayout.value\" class=\"netgrif-label\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n <br>\n </mat-label>\n <div class=\"form-input button-icon-input full-width input-margin\" fxLayout=\"row\" fxLayoutAlign=\"start center\" [ngClass]=\"{'form-input-disabled': formControl.disabled, 'form-input-error': dataField.isInvalid(formControl)}\">\n <button mat-icon-button color=\"accent\" (click)=\"chooseFile()\"\n [matTooltip]=\"'dataField.file.clickToUpload' | translate\" *ngIf=\"!formControl.disabled\"\n [class.do-not-click]=\"state.uploading\">\n <mat-icon>file_upload</mat-icon>\n </button>\n <span (click)=\"isEmpty() ? chooseFile() : download()\" fxFlex\n [matTooltip]=\"isEmpty() ? '' : ('dataField.file.clickToDownload' | translate : {fileName: constructDisplayName()})\"\n class=\"input-name-ellipsis\"\n [ngClass]=\"{'input-placeholder': isEmpty(), 'no-cursor': isEmpty() && formControl.disabled}\">{{constructDisplayName()}}</span>\n <button (click)=\"deleteFile()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"!isEmpty() && !formControl.disabled\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n <mat-progress-bar *ngIf=\"state.uploading || state.downloading\" color=\"primary\" [value]=\"state.progress\"\n [mode]=\"state.uploading ? 'determinate' : 'indeterminate'\"\n class=\"margin-bottom-default\"></mat-progress-bar>\n <input type=\"file\" #fileUploadInput name=\"fileUpload\" [multiple]=\"false\"\n accept=\"{{dataField.allowTypes}}\" class=\"invisible-input\">\n <input type=\"text\" [formControl]=\"formControl\" class=\"invisible-input\">\n <mat-hint class=\"file-hint-error\"\n *ngIf=\"!dataField.isInvalid(formControl)\">{{dataField.description}}</mat-hint>\n <mat-error class=\"file-hint-error\"\n *ngIf=\"dataField.isInvalid(formControl)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n <div *ngIf=\"filePreview\" fxFlex=\"5\"></div>\n <div *ngIf=\"filePreview\" fxFlex=\"20\" fxLayout=\"row\" fxLayoutAlign=\"center center\" #imageDiv\n (resized)=\"changeMaxWidth($event)\">\n <img *ngIf=\"previewSource !== undefined && !state.downloading && isDisplayable\" class=\"image-preview\" #imageEl\n [ngStyle]=\"!isBorderLGBTQ() && !isBorderDefault() && {\n 'border-width': getPreviewBorderWidth(),\n 'border-style': getPreviewBorderStyle(),\n 'border-color': getPreviewBorderColor()\n }\"\n [ngClass]=\"{'border-LGBTQ': isBorderLGBTQ(), 'border-default': isBorderDefault()}\"\n [src]=\"previewSource\" alt=\"Image preview\" (click)=\"showPreviewDialog()\"/>\n <mat-spinner *ngIf=\"previewSource === undefined && !!state.downloading && isDisplayable\"\n [diameter]=\"26\"></mat-spinner>\n </div>\n </div>\n</ng-template>\n", styles: [".invisible-input{display:none}.margin-bottom-default{margin-bottom:8px}.file-field-image{width:120px}.file-field-image-wrapper{border-radius:3px}.progress-bar-size{height:8px}.margin-bottom-half{margin-bottom:4px}.do-not-click:hover{cursor:not-allowed}.file-button{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.input-name-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.input-placeholder{color:#0000006b}.button-icon-input{padding:2px!important}.full-width{width:100%;min-width:100%}.input-margin{margin-top:2px!important}.form-input{background:transparent;color:#333;outline:none;border:1px solid rgba(0,0,0,.12);text-align:left;font-size:14px;line-height:20px;border-radius:6px;min-width:5px;padding:10px 15px;box-sizing:border-box;height:48px}.form-input:hover{border-color:#000;border-width:2px}.form-input-disabled:hover{border-color:#0000001f!important;border-width:1px;padding:2px!important}.placeholder{color:#0000006b!important}.file-hint-error{padding:0 1em;font-size:75%}.image-preview{width:auto;height:auto;cursor:pointer}.no-cursor{cursor:default!important}.border-LGBTQ{border:5px solid transparent;border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1;animation:rainbow 10s infinite}@keyframes rainbow{0%{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}20%{border-image:linear-gradient(to bottom right,#2C90FC 0%,#B8FD33 25%,#FEC837 50%,#FD1892 75%,#B827FC 100%);border-image-slice:1}40%{border-image:linear-gradient(to bottom right,#B8FD33 0%,#FEC837 25%,#FD1892 50%,#B827FC 75%,#2C90FC 100%);border-image-slice:1}60%{border-image:linear-gradient(to bottom right,#FEC837 0%,#FD1892 25%,#B827FC 50%,#2C90FC 75%,#B8FD33 100%);border-image-slice:1}80%{border-image:linear-gradient(to bottom right,#FD1892 0%,#B827FC 25%,#2C90FC 50%,#B8FD33 75%,#FEC837 100%);border-image-slice:1}to{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}}.border-default{border-width:1px;border-style:solid;border-color:#000}\n"], components: [{ type: DataFieldTemplateComponent, selector: "nc-data-field-template" }, { type: 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: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7$1.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: i7$1.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$1.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: i2$1.MatLabel, selector: "mat-label" }, { type: i5$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7$3.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: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }, { type: i17.ResizedDirective, selector: "[resized]", outputs: ["resized"] }, { type: i5$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7$3.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"] }], pipes: { "translate": i2$2.TranslatePipe } });
729
729
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileFieldComponent, decorators: [{
730
730
  type: Component,
731
- args: [{ selector: 'nc-file-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 <div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"{{!filePreview ? '100' : '75'}}\">\n <mat-label *ngIf=\"!showLargeLayout.value\" class=\"netgrif-label\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n <br>\n </mat-label>\n <div class=\"form-input button-icon-input full-width input-margin\" fxLayout=\"row\" fxLayoutAlign=\"start center\" [ngClass]=\"{'form-input-disabled': formControl.disabled, 'form-input-error': dataField.isInvalid(formControl)}\">\n <button mat-icon-button color=\"accent\" (click)=\"chooseFile()\"\n [matTooltip]=\"'dataField.file.clickToUpload' | translate\" *ngIf=\"!formControl.disabled\"\n [class.do-not-click]=\"state.uploading\">\n <mat-icon>file_upload</mat-icon>\n </button>\n <span (click)=\"isEmpty() ? chooseFile() : download()\" fxFlex\n [matTooltip]=\"isEmpty() ? '' : ('dataField.file.clickToDownload' | translate : {fileName: constructDisplayName()})\"\n class=\"input-name-ellipsis\"\n [ngClass]=\"{'input-placeholder': isEmpty(), 'no-cursor': isEmpty() && formControl.disabled}\">{{constructDisplayName()}}</span>\n <button (click)=\"deleteFile()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"!isEmpty() && !formControl.disabled\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n <mat-progress-bar *ngIf=\"state.uploading || state.downloading\" color=\"primary\" [value]=\"state.progress\"\n [mode]=\"state.uploading ? 'determinate' : 'indeterminate'\"\n class=\"margin-bottom-default\"></mat-progress-bar>\n <input type=\"file\" #fileUploadInput name=\"fileUpload\" [multiple]=\"false\"\n accept=\"{{dataField.allowTypes}}\" class=\"invisible-input\">\n <input type=\"text\" [formControl]=\"formControl\" class=\"invisible-input\">\n <mat-hint class=\"file-hint-error\"\n *ngIf=\"!dataField.isInvalid(formControl)\">{{dataField.description}}</mat-hint>\n <mat-error class=\"file-hint-error\"\n *ngIf=\"dataField.isInvalid(formControl)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n <div *ngIf=\"filePreview\" fxFlex=\"5\"></div>\n <div *ngIf=\"filePreview\" fxFlex=\"20\" fxLayout=\"row\" fxLayoutAlign=\"center center\" #imageDiv\n (resized)=\"changeMaxWidth($event)\">\n <img *ngIf=\"previewSource !== undefined && !state.downloading && isDisplayable\" class=\"image-preview\" #imageEl\n [ngStyle]=\"!isBorderLGBTQ() && !isBorderDefault() && {\n 'border-width': getPreviewBorderWidth(),\n 'border-style': getPreviewBorderStyle(),\n 'border-color': getPreviewBorderColor()\n }\"\n [ngClass]=\"{'border-LGBTQ': isBorderLGBTQ(), 'border-default': isBorderDefault()}\"\n [src]=\"previewSource\" alt=\"Image preview\" (click)=\"showPreviewDialog()\"/>\n <mat-spinner *ngIf=\"previewSource === undefined && !!state.downloading && isDisplayable\"\n [diameter]=\"26\"></mat-spinner>\n </div>\n </div>\n</ng-template>\n", styles: [".invisible-input{display:none}.margin-bottom-default{margin-bottom:8px}.file-field-image{width:120px}.file-field-image-wrapper{border-radius:3px}.progress-bar-size{height:8px}.margin-bottom-half{margin-bottom:4px}.do-not-click:hover{cursor:not-allowed}.file-button{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.input-name-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.input-placeholder{color:#0000006b}.button-icon-input{padding:2px!important}.full-width{width:100%;min-width:100%}.input-margin{margin-top:2px!important}.form-input{background:transparent;color:#333;outline:none;border:1px solid rgba(0,0,0,.12);text-align:left;font-size:14px;line-height:20px;border-radius:6px;min-width:5px;padding:10px 15px;box-sizing:border-box;height:48px}.form-input:hover{border-color:#000;border-width:2px}.form-input-disabled:hover{border-color:#0000001f!important;border-width:1px;padding:2px!important}.placeholder{color:#0000006b!important}.file-hint-error{padding:0 1em;font-size:75%}.image-preview{width:auto;height:auto;cursor:pointer}.no-cursor{cursor:default!important}.border-LGBTQ{border:5px solid transparent;border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}.border-default{border-width:1px;border-style:solid;border-color:#000}\n"] }]
731
+ args: [{ selector: 'nc-file-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 <div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"{{!filePreview ? '100' : '75'}}\">\n <mat-label *ngIf=\"!showLargeLayout.value\" class=\"netgrif-label\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n <br>\n </mat-label>\n <div class=\"form-input button-icon-input full-width input-margin\" fxLayout=\"row\" fxLayoutAlign=\"start center\" [ngClass]=\"{'form-input-disabled': formControl.disabled, 'form-input-error': dataField.isInvalid(formControl)}\">\n <button mat-icon-button color=\"accent\" (click)=\"chooseFile()\"\n [matTooltip]=\"'dataField.file.clickToUpload' | translate\" *ngIf=\"!formControl.disabled\"\n [class.do-not-click]=\"state.uploading\">\n <mat-icon>file_upload</mat-icon>\n </button>\n <span (click)=\"isEmpty() ? chooseFile() : download()\" fxFlex\n [matTooltip]=\"isEmpty() ? '' : ('dataField.file.clickToDownload' | translate : {fileName: constructDisplayName()})\"\n class=\"input-name-ellipsis\"\n [ngClass]=\"{'input-placeholder': isEmpty(), 'no-cursor': isEmpty() && formControl.disabled}\">{{constructDisplayName()}}</span>\n <button (click)=\"deleteFile()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"!isEmpty() && !formControl.disabled\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n <mat-progress-bar *ngIf=\"state.uploading || state.downloading\" color=\"primary\" [value]=\"state.progress\"\n [mode]=\"state.uploading ? 'determinate' : 'indeterminate'\"\n class=\"margin-bottom-default\"></mat-progress-bar>\n <input type=\"file\" #fileUploadInput name=\"fileUpload\" [multiple]=\"false\"\n accept=\"{{dataField.allowTypes}}\" class=\"invisible-input\">\n <input type=\"text\" [formControl]=\"formControl\" class=\"invisible-input\">\n <mat-hint class=\"file-hint-error\"\n *ngIf=\"!dataField.isInvalid(formControl)\">{{dataField.description}}</mat-hint>\n <mat-error class=\"file-hint-error\"\n *ngIf=\"dataField.isInvalid(formControl)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n <div *ngIf=\"filePreview\" fxFlex=\"5\"></div>\n <div *ngIf=\"filePreview\" fxFlex=\"20\" fxLayout=\"row\" fxLayoutAlign=\"center center\" #imageDiv\n (resized)=\"changeMaxWidth($event)\">\n <img *ngIf=\"previewSource !== undefined && !state.downloading && isDisplayable\" class=\"image-preview\" #imageEl\n [ngStyle]=\"!isBorderLGBTQ() && !isBorderDefault() && {\n 'border-width': getPreviewBorderWidth(),\n 'border-style': getPreviewBorderStyle(),\n 'border-color': getPreviewBorderColor()\n }\"\n [ngClass]=\"{'border-LGBTQ': isBorderLGBTQ(), 'border-default': isBorderDefault()}\"\n [src]=\"previewSource\" alt=\"Image preview\" (click)=\"showPreviewDialog()\"/>\n <mat-spinner *ngIf=\"previewSource === undefined && !!state.downloading && isDisplayable\"\n [diameter]=\"26\"></mat-spinner>\n </div>\n </div>\n</ng-template>\n", styles: [".invisible-input{display:none}.margin-bottom-default{margin-bottom:8px}.file-field-image{width:120px}.file-field-image-wrapper{border-radius:3px}.progress-bar-size{height:8px}.margin-bottom-half{margin-bottom:4px}.do-not-click:hover{cursor:not-allowed}.file-button{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.input-name-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.input-placeholder{color:#0000006b}.button-icon-input{padding:2px!important}.full-width{width:100%;min-width:100%}.input-margin{margin-top:2px!important}.form-input{background:transparent;color:#333;outline:none;border:1px solid rgba(0,0,0,.12);text-align:left;font-size:14px;line-height:20px;border-radius:6px;min-width:5px;padding:10px 15px;box-sizing:border-box;height:48px}.form-input:hover{border-color:#000;border-width:2px}.form-input-disabled:hover{border-color:#0000001f!important;border-width:1px;padding:2px!important}.placeholder{color:#0000006b!important}.file-hint-error{padding:0 1em;font-size:75%}.image-preview{width:auto;height:auto;cursor:pointer}.no-cursor{cursor:default!important}.border-LGBTQ{border:5px solid transparent;border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1;animation:rainbow 10s infinite}@keyframes rainbow{0%{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}20%{border-image:linear-gradient(to bottom right,#2C90FC 0%,#B8FD33 25%,#FEC837 50%,#FD1892 75%,#B827FC 100%);border-image-slice:1}40%{border-image:linear-gradient(to bottom right,#B8FD33 0%,#FEC837 25%,#FD1892 50%,#B827FC 75%,#2C90FC 100%);border-image-slice:1}60%{border-image:linear-gradient(to bottom right,#FEC837 0%,#FD1892 25%,#B827FC 50%,#2C90FC 75%,#B8FD33 100%);border-image-slice:1}80%{border-image:linear-gradient(to bottom right,#FD1892 0%,#B827FC 25%,#2C90FC 50%,#B8FD33 75%,#FEC837 100%);border-image-slice:1}to{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}}.border-default{border-width:1px;border-style:solid;border-color:#000}\n"] }]
732
732
  }], ctorParameters: function () { return [{ type: i1.TaskResourceService }, { type: i1.LoggerService }, { type: i1.SnackBarService }, { type: i2$2.TranslateService }, { type: i1.EventService }, { type: undefined, decorators: [{
733
733
  type: Optional
734
734
  }, {
@@ -759,10 +759,10 @@ class MultichoiceAutocompleteFieldComponent extends AbstractMultichoiceAutocompl
759
759
  }
760
760
  }
761
761
  MultichoiceAutocompleteFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultichoiceAutocompleteFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
762
- MultichoiceAutocompleteFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MultichoiceAutocompleteFieldComponent, selector: "nc-multichoice-autocomplete-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"multichoiceField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{multichoiceField.title}}</mat-label>\n <mat-chip-list #chipList aria-label=\"Autocomplete\" [formControl]=\"formControlRef\">\n <mat-chip\n *ngFor=\"let option of multichoiceField.value\" (removed)=\"remove(option)\">\n {{option}}\n <button *ngIf=\"!formControlRef.disabled\" matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n <input\n aria-label=\"Autocomplete\"\n matInput\n #input\n [placeholder]=\"multichoiceField.placeholder\"\n [required]=\"multichoiceField.behavior.required\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n (keyup)=\"change()\">\n </mat-chip-list>\n <mat-autocomplete [displayWith]=\"renderSelection\" autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option [value]=\"null\">---</mat-option>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.key\" (onSelectionChange)=\"add(option)\">\n {{option.value}}\n </mat-option>\n </mat-autocomplete>\n <mat-hint>{{multichoiceField.description}}</mat-hint>\n <mat-error\n *ngIf=\"multichoiceField.isInvalid(formControlRef)\">{{'dataField.validations.required' | translate}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"], components: [{ type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2$5.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i2$5.MatChipRemove, selector: "[matChipRemove]" }, { type: i7$2.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: i4$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i2$5.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "async": i5$2.AsyncPipe, "translate": i2$2.TranslatePipe } });
762
+ MultichoiceAutocompleteFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MultichoiceAutocompleteFieldComponent, selector: "nc-multichoice-autocomplete-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"multichoiceField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{multichoiceField.title}}</mat-label>\n <mat-chip-list #chipList aria-label=\"Autocomplete\" [formControl]=\"formControlRef\">\n <mat-chip\n *ngFor=\"let option of multichoiceField.value\" (removed)=\"remove(option)\">\n {{getValueFromKey(option)}}\n <button *ngIf=\"!formControlRef.disabled\" matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n <input\n aria-label=\"Autocomplete\"\n matInput\n #input\n [placeholder]=\"multichoiceField.placeholder\"\n [required]=\"multichoiceField.behavior.required\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n (keyup)=\"change()\">\n </mat-chip-list>\n <mat-autocomplete [displayWith]=\"renderSelection\" autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option [value]=\"null\">---</mat-option>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.key\" (click)=\"add(option)\">\n {{option.value}}\n </mat-option>\n </mat-autocomplete>\n <mat-hint>{{multichoiceField.description}}</mat-hint>\n <mat-error\n *ngIf=\"multichoiceField.isInvalid(formControlRef)\">{{'dataField.validations.required' | translate}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"], components: [{ type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2$5.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i2$5.MatChipRemove, selector: "[matChipRemove]" }, { type: i7$2.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: i4$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i2$5.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "async": i5$2.AsyncPipe, "translate": i2$2.TranslatePipe } });
763
763
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultichoiceAutocompleteFieldComponent, decorators: [{
764
764
  type: Component,
765
- args: [{ selector: 'nc-multichoice-autocomplete-field', template: "<mat-form-field [appearance]=\"multichoiceField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{multichoiceField.title}}</mat-label>\n <mat-chip-list #chipList aria-label=\"Autocomplete\" [formControl]=\"formControlRef\">\n <mat-chip\n *ngFor=\"let option of multichoiceField.value\" (removed)=\"remove(option)\">\n {{option}}\n <button *ngIf=\"!formControlRef.disabled\" matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n <input\n aria-label=\"Autocomplete\"\n matInput\n #input\n [placeholder]=\"multichoiceField.placeholder\"\n [required]=\"multichoiceField.behavior.required\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n (keyup)=\"change()\">\n </mat-chip-list>\n <mat-autocomplete [displayWith]=\"renderSelection\" autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option [value]=\"null\">---</mat-option>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.key\" (onSelectionChange)=\"add(option)\">\n {{option.value}}\n </mat-option>\n </mat-autocomplete>\n <mat-hint>{{multichoiceField.description}}</mat-hint>\n <mat-error\n *ngIf=\"multichoiceField.isInvalid(formControlRef)\">{{'dataField.validations.required' | translate}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"] }]
765
+ args: [{ selector: 'nc-multichoice-autocomplete-field', template: "<mat-form-field [appearance]=\"multichoiceField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{multichoiceField.title}}</mat-label>\n <mat-chip-list #chipList aria-label=\"Autocomplete\" [formControl]=\"formControlRef\">\n <mat-chip\n *ngFor=\"let option of multichoiceField.value\" (removed)=\"remove(option)\">\n {{getValueFromKey(option)}}\n <button *ngIf=\"!formControlRef.disabled\" matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n <input\n aria-label=\"Autocomplete\"\n matInput\n #input\n [placeholder]=\"multichoiceField.placeholder\"\n [required]=\"multichoiceField.behavior.required\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n (keyup)=\"change()\">\n </mat-chip-list>\n <mat-autocomplete [displayWith]=\"renderSelection\" autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option [value]=\"null\">---</mat-option>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.key\" (click)=\"add(option)\">\n {{option.value}}\n </mat-option>\n </mat-autocomplete>\n <mat-hint>{{multichoiceField.description}}</mat-hint>\n <mat-error\n *ngIf=\"multichoiceField.isInvalid(formControlRef)\">{{'dataField.validations.required' | translate}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"] }]
766
766
  }], ctorParameters: function () { return []; } });
767
767
 
768
768
  class MultichoiceListFieldComponent extends AbstractMultichoiceListFieldComponent {
@@ -818,10 +818,10 @@ class NumberCurrencyFieldComponent extends AbstractCurrencyNumberFieldComponent
818
818
  }
819
819
  }
820
820
  NumberCurrencyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NumberCurrencyFieldComponent, deps: [{ token: i5$2.CurrencyPipe }, { token: i2$2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
821
- NumberCurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NumberCurrencyFieldComponent, selector: "nc-number-currency-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"numberField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{numberField.title}}</mat-label>\n <input matInput\n [type]=\"fieldType\"\n [value]=\"transformedValue\"\n [formControl]=\"formControlRef\"\n [placeholder]=\"numberField.placeholder\"\n [required]=\"numberField.behavior.required\"\n (focusout)=\"onFocusOut($event)\"\n (focusin)=\"onFocusIn()\">\n <mat-hint>{{numberField.description}}</mat-hint>\n <mat-error *ngIf=\"numberField.isInvalid(formControlRef)\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n<mat-label class=\"currency-label\" *ngIf=\"isNumberType()\">{{getCurrencySymbol()}}</mat-label>\n", styles: [".full-width{margin:0 auto;width:90%}.currency-label{margin-left:5px}\n"], components: [{ type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i7$2.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: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }] });
821
+ NumberCurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NumberCurrencyFieldComponent, selector: "nc-number-currency-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"numberField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{numberField.title}}</mat-label>\n <span matPrefix *ngIf=\"isNumberType()\">{{this.numberField.component.properties['code'] ?? ''}}</span>\n <input matInput\n [type]=\"fieldType\"\n [value]=\"transformedValue\"\n [formControl]=\"formControlRef\"\n [placeholder]=\"numberField.placeholder\"\n [required]=\"numberField.behavior.required\"\n (focusout)=\"onFocusOut($event)\"\n (focusin)=\"onFocusIn()\">\n <mat-hint>{{numberField.description}}</mat-hint>\n <mat-error *ngIf=\"numberField.isInvalid(formControlRef)\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"], components: [{ type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i2$1.MatPrefix, selector: "[matPrefix]" }, { type: i7$2.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: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }] });
822
822
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NumberCurrencyFieldComponent, decorators: [{
823
823
  type: Component,
824
- args: [{ selector: 'nc-number-currency-field', template: "<mat-form-field [appearance]=\"numberField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{numberField.title}}</mat-label>\n <input matInput\n [type]=\"fieldType\"\n [value]=\"transformedValue\"\n [formControl]=\"formControlRef\"\n [placeholder]=\"numberField.placeholder\"\n [required]=\"numberField.behavior.required\"\n (focusout)=\"onFocusOut($event)\"\n (focusin)=\"onFocusIn()\">\n <mat-hint>{{numberField.description}}</mat-hint>\n <mat-error *ngIf=\"numberField.isInvalid(formControlRef)\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n<mat-label class=\"currency-label\" *ngIf=\"isNumberType()\">{{getCurrencySymbol()}}</mat-label>\n", styles: [".full-width{margin:0 auto;width:90%}.currency-label{margin-left:5px}\n"] }]
824
+ args: [{ selector: 'nc-number-currency-field', template: "<mat-form-field [appearance]=\"numberField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{numberField.title}}</mat-label>\n <span matPrefix *ngIf=\"isNumberType()\">{{this.numberField.component.properties['code'] ?? ''}}</span>\n <input matInput\n [type]=\"fieldType\"\n [value]=\"transformedValue\"\n [formControl]=\"formControlRef\"\n [placeholder]=\"numberField.placeholder\"\n [required]=\"numberField.behavior.required\"\n (focusout)=\"onFocusOut($event)\"\n (focusin)=\"onFocusIn()\">\n <mat-hint>{{numberField.description}}</mat-hint>\n <mat-error *ngIf=\"numberField.isInvalid(formControlRef)\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"] }]
825
825
  }], ctorParameters: function () { return [{ type: i5$2.CurrencyPipe }, { type: i2$2.TranslateService }]; } });
826
826
 
827
827
  class NumberDefaultFieldComponent extends AbstractDefaultNumberFieldComponent {
@@ -896,6 +896,7 @@ class EasymdeWrapperComponent {
896
896
  this.options = {
897
897
  autoDownloadFontAwesome: true,
898
898
  minHeight: '95px',
899
+ spellChecker: false,
899
900
  toolbar: ['bold', 'italic', 'heading', 'strikethrough', '|', 'code', 'quote', 'unordered-list', 'ordered-list', '|',
900
901
  'link', 'image', 'table', '|', 'horizontal-rule', 'preview', '|', 'guide'],
901
902
  shortcuts: {
@@ -906,6 +907,7 @@ class EasymdeWrapperComponent {
906
907
  }
907
908
  writeValue(value) {
908
909
  this.textAreaField.value = !value ? '' : value;
910
+ this._fromEditor = false;
909
911
  }
910
912
  registerOnChange(fn) {
911
913
  this.propagateChange = fn;
@@ -922,9 +924,10 @@ class EasymdeWrapperComponent {
922
924
  this.formControlRef.valueChanges.subscribe(value => {
923
925
  if (this._easyMDE) {
924
926
  if (!this._fromEditor) {
927
+ this._fromEditor = true;
925
928
  this._easyMDE.value(value);
929
+ this._fromEditor = false;
926
930
  }
927
- this._fromEditor = false;
928
931
  }
929
932
  });
930
933
  }
@@ -1084,10 +1087,10 @@ class UserFieldComponent extends AbstractUserFieldComponent {
1084
1087
  }
1085
1088
  }
1086
1089
  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$2.TranslateService }, { token: NAE_INFORM_ABOUT_INVALID_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1087
- 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: DataFieldTemplateComponent, selector: "nc-data-field-template" }, { type: 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: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2$2.TranslatePipe } });
1090
+ 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\"\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\"\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: DataFieldTemplateComponent, selector: "nc-data-field-template" }, { type: 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: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2$2.TranslatePipe } });
1088
1091
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UserFieldComponent, decorators: [{
1089
1092
  type: Component,
1090
- 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: [""] }]
1093
+ 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\"\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\"\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: [""] }]
1091
1094
  }], ctorParameters: function () { return [{ type: i1.SideMenuService }, { type: i1.SnackBarService }, { type: i2$2.TranslateService }, { type: undefined, decorators: [{
1092
1095
  type: Optional
1093
1096
  }, {
@@ -1332,10 +1335,10 @@ class I18nDividerFieldComponent extends AbstractI18nDividerFieldComponent {
1332
1335
  }
1333
1336
  }
1334
1337
  I18nDividerFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: I18nDividerFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1335
- I18nDividerFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: I18nDividerFieldComponent, selector: "nc-i18n-divider-field", usesInheritance: true, ngImport: i0, template: "<div fxFlex fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <div fxFlex=\"20\" class=\"divider-line\"\n [ngClass]=\"{'primary-background-color': !dividerPropertyEnabled('dividerColor')}\"\n [ngStyle]=\"dividerPropertyEnabled('dividerColor') && {'background': getDividerColor()}\"></div>\n <span [ngClass]=\"{'margin-default': dividerI18nField.value.defaultValue !== ''}\"\n [ngStyle]=\"dividerPropertyEnabled('fontSize') && {'font-size': getDividerFontSize()}\">\n {{dividerI18nField.value.defaultValue}}\n </span>\n <div fxFlex class=\"divider-line\"\n [ngClass]=\"{'primary-background-color': !dividerPropertyEnabled('dividerColor')}\"\n [ngStyle]=\"dividerPropertyEnabled('dividerColor') && {'background': getDividerColor()}\"></div>\n</div>\n", styles: [".divider-line{height:1px}.margin-default{margin-right:8px;margin-left:8px}\n"], directives: [{ type: i7$1.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$1.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$1.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: i5$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7$3.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: i5$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7$3.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"] }] });
1338
+ I18nDividerFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: I18nDividerFieldComponent, selector: "nc-i18n-divider-field", usesInheritance: true, ngImport: i0, template: "<div fxFlex fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <div fxFlex=\"20\" class=\"divider-line\"\n [ngClass]=\"{'divider-line-lgbt': isDividerLGBTQ(), 'primary-background-color': !dividerPropertyEnabled('dividerColor')}\"\n [ngStyle]=\"dividerPropertyEnabled('dividerColor') && {'background': getDividerColor()}\"></div>\n <span *ngIf='!!dividerI18nField.value' [ngClass]=\"{'margin-default': dividerI18nField.value?.defaultValue !== ''}\"\n [ngStyle]=\"dividerPropertyEnabled('fontSize') && {'font-size': getDividerFontSize()}\">\n {{dividerI18nField.value?.defaultValue ?? ''}}\n </span>\n <div fxFlex class=\"divider-line\"\n [ngClass]=\"{'divider-line-lgbt': isDividerLGBTQ(), 'primary-background-color': !dividerPropertyEnabled('dividerColor')}\"\n [ngStyle]=\"dividerPropertyEnabled('dividerColor') && {'background': getDividerColor()}\"></div>\n</div>\n\n", styles: [".divider-line{height:1px}.margin-default{margin-right:8px;margin-left:8px}.divider-line-lgbt{height:2px;background:linear-gradient(to right,#B827FC 0%,#2C90FC 20%,#B8FD33 40%,#FEC837 60%,#FD1892 80%,#B827FC 100%) 0% 0/150% 100%;animation:move-divider-line-lgbt 10s linear infinite;-webkit-animation:move-divider-line-lgbt 10s linear infinite}@keyframes move-divider-line-lgbt{to{background-position:-1500% 0%}}\n"], directives: [{ type: i7$1.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$1.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$1.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: i5$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7$3.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: i5$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7$3.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: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1336
1339
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: I18nDividerFieldComponent, decorators: [{
1337
1340
  type: Component,
1338
- args: [{ selector: 'nc-i18n-divider-field', template: "<div fxFlex fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <div fxFlex=\"20\" class=\"divider-line\"\n [ngClass]=\"{'primary-background-color': !dividerPropertyEnabled('dividerColor')}\"\n [ngStyle]=\"dividerPropertyEnabled('dividerColor') && {'background': getDividerColor()}\"></div>\n <span [ngClass]=\"{'margin-default': dividerI18nField.value.defaultValue !== ''}\"\n [ngStyle]=\"dividerPropertyEnabled('fontSize') && {'font-size': getDividerFontSize()}\">\n {{dividerI18nField.value.defaultValue}}\n </span>\n <div fxFlex class=\"divider-line\"\n [ngClass]=\"{'primary-background-color': !dividerPropertyEnabled('dividerColor')}\"\n [ngStyle]=\"dividerPropertyEnabled('dividerColor') && {'background': getDividerColor()}\"></div>\n</div>\n", styles: [".divider-line{height:1px}.margin-default{margin-right:8px;margin-left:8px}\n"] }]
1341
+ args: [{ selector: 'nc-i18n-divider-field', template: "<div fxFlex fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <div fxFlex=\"20\" class=\"divider-line\"\n [ngClass]=\"{'divider-line-lgbt': isDividerLGBTQ(), 'primary-background-color': !dividerPropertyEnabled('dividerColor')}\"\n [ngStyle]=\"dividerPropertyEnabled('dividerColor') && {'background': getDividerColor()}\"></div>\n <span *ngIf='!!dividerI18nField.value' [ngClass]=\"{'margin-default': dividerI18nField.value?.defaultValue !== ''}\"\n [ngStyle]=\"dividerPropertyEnabled('fontSize') && {'font-size': getDividerFontSize()}\">\n {{dividerI18nField.value?.defaultValue ?? ''}}\n </span>\n <div fxFlex class=\"divider-line\"\n [ngClass]=\"{'divider-line-lgbt': isDividerLGBTQ(), 'primary-background-color': !dividerPropertyEnabled('dividerColor')}\"\n [ngStyle]=\"dividerPropertyEnabled('dividerColor') && {'background': getDividerColor()}\"></div>\n</div>\n\n", styles: [".divider-line{height:1px}.margin-default{margin-right:8px;margin-left:8px}.divider-line-lgbt{height:2px;background:linear-gradient(to right,#B827FC 0%,#2C90FC 20%,#B8FD33 40%,#FEC837 60%,#FD1892 80%,#B827FC 100%) 0% 0/150% 100%;animation:move-divider-line-lgbt 10s linear infinite;-webkit-animation:move-divider-line-lgbt 10s linear infinite}@keyframes move-divider-line-lgbt{to{background-position:-1500% 0%}}\n"] }]
1339
1342
  }], ctorParameters: function () { return []; } });
1340
1343
 
1341
1344
  class I18nTextFieldComponent extends AbstractI18nTextFieldComponent {
@@ -1344,7 +1347,7 @@ class I18nTextFieldComponent extends AbstractI18nTextFieldComponent {
1344
1347
  }
1345
1348
  }
1346
1349
  I18nTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: I18nTextFieldComponent, deps: [{ token: i1.LanguageIconsService }, { token: i2$2.TranslateService }, { token: i3$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
1347
- I18nTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: I18nTextFieldComponent, selector: "nc-i18n-text-field", usesInheritance: true, ngImport: i0, template: "<ng-template [ngIf]=\"formControlRef.disabled\">\n <ng-template [ngIf]=\"!isPlainText()\">\n <mat-form-field [appearance]=\"textI18nField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{textI18nField.title}}</mat-label>\n <input matInput\n [disabled]=\"true\"\n [ngModel]=\"currentValue[selectedLanguage]\"\n [placeholder]=\"textI18nField.placeholder\"\n [required]=\"textI18nField.behavior.required\">\n <mat-hint>{{textI18nField.description}}</mat-hint>\n </mat-form-field>\n </ng-template>\n <ng-template [ngIf]=\"isPlainText()\">\n <div class=\"full-width\"\n [ngStyle]=\"textPropertyEnabled('fontSize') && {'font-size': getTextFontSize()}\">\n <span [ngStyle]=\"textPropertyEnabled('textColor') && {'color': getTextColor()}\">\n {{currentValue[selectedLanguage]}}\n </span>\n </div>\n </ng-template>\n</ng-template>\n<ng-template [ngIf]=\"!formControlRef.disabled\">\n <div class=\"full-width\">\n <div #i18nLabel class=\"i18n-label\" [ngClass]=\"{'invalid-form-label': textI18nField.isInvalid(formControlRef)}\">\n {{textI18nField.title}}\n <nc-required-label *ngIf=\"textI18nField.behavior.required\" [isIn]=\"!textI18nField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input-interfield button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'invalid-form-input': textI18nField.isInvalid(formControlRef), 'form-input-disabled': formControlRef.disabled}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(i18nLabel),\n 'clip-path': getCutProperty(i18nLabel)\n }\">\n <button mat-icon-button color=\"accent\" [matTooltip]=\"'dataField.i18n.languageSelect' | translate\"\n class=\"language-selector-button\" (click)=\"languageDropdown.open()\">\n <div class=\"language-svg-wrapper\"\n [innerHTML]=\"getLanguageIcons()[this.selectedLanguage].svgIcon\"></div>\n </button>\n <mat-select #languageDropdown class=\"language-select\">\n <mat-option *ngFor=\"let languageKey of languageKeys\"\n [value]=\"languageKey\" (click)=\"selectLanguage(languageKey)\">\n <div fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div [innerHTML]=\"getLanguageIcons()[languageKey].svgIcon\" class=\"language-option-icon\"></div>\n <span class=\"language-option-value\">{{getLanguageIcons()[languageKey].languageName}}</span>\n </div>\n </mat-option>\n </mat-select>\n <input class=\"selected-language-value\"\n type=\"text\"\n [placeholder]=\"textI18nField.placeholder\"\n [required]=\"textI18nField.behavior.required\"\n [(ngModel)]=\"currentValue[selectedLanguage]\"\n (blur)=\"setSelectedValue()\">\n <button mat-icon-button (click)=\"toggleFilled()\"\n [matTooltip]=\"(filledShown ? 'dataField.i18n.hideTranslations' : 'dataField.i18n.showTranslations') | translate\">\n <mat-icon color=\"warn\">{{filledShown ? 'arrow_drop_up' : 'arrow_drop_down'}}</mat-icon>\n </button>\n </div>\n\n <div fxLayout=\"column\" class=\"filled-languages-wrapper\"\n [@languageWrapper]=\"filledShown\"\n (@languageWrapper.start)=\"$event.element.style.display = 'block'\"\n (@languageWrapper.done)=\"$event.element.style.display = ($event.toState ? 'block' : 'none')\">\n <div *ngFor=\"let filledKey of filledKeys\" fxLayout=\"row\" fxLayoutAlign=\" center\" class=\"filled-language-row\">\n <div class=\"filled-language-icon\" [innerHTML]=\"getLanguageIcons()[filledKey].svgIcon\"></div>\n <span class=\"filled-language-value\">{{currentValue[filledKey]}}</span>\n <button class=\"filled-language-button\" *ngIf=\"!isDefaultValue(filledKey)\" mat-icon-button\n (click)=\"removeTranslation(filledKey)\" [matTooltip]=\"'dataField.i18n.deleteTranslation' | translate\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n </div>\n <mat-hint class=\"i18n-hint-error\"\n *ngIf=\"!textI18nField.isInvalid(formControlRef)\">{{textI18nField.description}}</mat-hint>\n <mat-error class=\"i18n-hint-error\"\n *ngIf=\"textI18nField.isInvalid(formControlRef)\">{{getErrorMessage()}}</mat-error>\n </div>\n</ng-template>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}.selected-language-value{outline:none;padding:9px 0;width:calc(100% - 56px);font-size:14px;border:0;margin-left:8px;background:transparent}.form-input-interfield{background:transparent;color:#333;outline:none;border:1px solid rgba(0,0,0,.12);text-align:left;font-size:14px;line-height:15.75px;border-radius:6px;min-width:5px;box-sizing:border-box;height:48px}.form-input-interfield:hover{border:solid 2px black}.button-icon-input{padding:2px}.button-icon-input:hover{padding:1px!important}.i18n-hint-error{padding:0 1em;font-size:75%}.language-svg-wrapper{height:20px;line-height:normal}.language-selector-button{width:auto;margin-left:8px;margin-right:4px}.language-selector-wrapper{margin:0 8px}.language-svg-icon{border:solid 1px black}.filled-language-row{min-height:28px;padding:4px 0}.filled-language-row:not(:last-child){border-bottom:1px solid rgba(0,0,0,.1)}.filled-languages-wrapper{border-radius:0 0 6px 6px;border-left:1px solid rgba(0,0,0,.12);border-right:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);margin-top:-5px;padding-top:5px;transform-origin:top}.filled-language-icon{margin:0 10px;height:20px}.filled-language-value{margin-left:20px}.filled-language-button{margin-left:auto;height:24px;width:24px;line-height:normal;margin-right:10px}.language-select{width:18px!important}.language-option-icon{margin-left:0}.language-option-value{margin-left:16px}.i18n-label{transform:translate(.4em,-.4em) scale(.75);transform-origin:left;color:#0009;background:transparent;width:-moz-fit-content;width:fit-content;padding:0 .5em;height:0}.form-input-disabled:hover{border-color:#0000001f!important;border-width:1px}\n"], components: [{ type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: 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: i5$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i7$2.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: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i5$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7$3.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: i5$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7$3.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: i7$1.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$1.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: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2$2.TranslatePipe }, animations: [
1350
+ I18nTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: I18nTextFieldComponent, selector: "nc-i18n-text-field", usesInheritance: true, ngImport: i0, template: "<ng-template [ngIf]=\"formControlRef.disabled\">\n <ng-template [ngIf]=\"!isPlainText()\">\n <mat-form-field [appearance]=\"textI18nField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{textI18nField.title}}</mat-label>\n <input matInput\n [disabled]=\"true\"\n [ngModel]=\"currentValue[selectedLanguage]\"\n [placeholder]=\"textI18nField.placeholder ? textI18nField.placeholder : ''\"\n [required]=\"textI18nField.behavior.required\">\n <mat-hint>{{textI18nField.description}}</mat-hint>\n </mat-form-field>\n </ng-template>\n <ng-template [ngIf]=\"isPlainText()\">\n <div class=\"full-width\"\n [ngStyle]=\"textPropertyEnabled('fontSize') && {'font-size': getTextFontSize()}\">\n <span [ngStyle]=\"textPropertyEnabled('textColor') && {'color': getTextColor()}\">\n {{currentValue[selectedLanguage]}}\n </span>\n </div>\n </ng-template>\n</ng-template>\n<ng-template [ngIf]=\"!formControlRef.disabled\">\n <div class=\"full-width\">\n <div #i18nLabel class=\"i18n-label\" [ngClass]=\"{'invalid-form-label': textI18nField.isInvalid(formControlRef)}\">\n {{textI18nField.title}}\n <nc-required-label *ngIf=\"textI18nField.behavior.required\" [isIn]=\"!textI18nField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input-interfield button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'invalid-form-input': textI18nField.isInvalid(formControlRef), 'form-input-disabled': formControlRef.disabled}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(i18nLabel),\n 'clip-path': getCutProperty(i18nLabel)\n }\">\n <button mat-icon-button color=\"accent\" [matTooltip]=\"'dataField.i18n.languageSelect' | translate\"\n class=\"language-selector-button\" (click)=\"languageDropdown.open()\">\n <div class=\"language-svg-wrapper\"\n [innerHTML]=\"getLanguageIcons()[this.selectedLanguage].svgIcon\"></div>\n </button>\n <mat-select #languageDropdown class=\"language-select\">\n <mat-option *ngFor=\"let languageKey of languageKeys\"\n [value]=\"languageKey\" (click)=\"selectLanguage(languageKey)\">\n <div fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div [innerHTML]=\"getLanguageIcons()[languageKey].svgIcon\" class=\"language-option-icon\"></div>\n <span class=\"language-option-value\">{{getLanguageIcons()[languageKey].languageName}}</span>\n </div>\n </mat-option>\n </mat-select>\n <input class=\"selected-language-value\"\n type=\"text\"\n [placeholder]=\"textI18nField.placeholder ? textI18nField.placeholder : ''\"\n [required]=\"textI18nField.behavior.required\"\n [(ngModel)]=\"currentValue[selectedLanguage]\"\n (blur)=\"setSelectedValue()\">\n <button mat-icon-button (click)=\"toggleFilled()\"\n [matTooltip]=\"(filledShown ? 'dataField.i18n.hideTranslations' : 'dataField.i18n.showTranslations') | translate\">\n <mat-icon color=\"warn\">{{filledShown ? 'arrow_drop_up' : 'arrow_drop_down'}}</mat-icon>\n </button>\n </div>\n\n <div fxLayout=\"column\" class=\"filled-languages-wrapper\"\n [@languageWrapper]=\"filledShown\"\n (@languageWrapper.start)=\"$event.element.style.display = 'block'\"\n (@languageWrapper.done)=\"$event.element.style.display = ($event.toState ? 'block' : 'none')\">\n <div *ngFor=\"let filledKey of filledKeys\" fxLayout=\"row\" fxLayoutAlign=\" center\"\n class=\"filled-language-row\">\n <div class=\"filled-language-icon\" [innerHTML]=\"getLanguageIcons()[filledKey].svgIcon\"></div>\n <span class=\"filled-language-value\">{{currentValue[filledKey]}}</span>\n <button class=\"filled-language-button\" *ngIf=\"!isDefaultValue(filledKey)\" mat-icon-button\n (click)=\"removeTranslation(filledKey)\"\n [matTooltip]=\"'dataField.i18n.deleteTranslation' | translate\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n </div>\n <mat-hint class=\"i18n-hint-error\"\n *ngIf=\"!textI18nField.isInvalid(formControlRef)\">{{textI18nField.description}}</mat-hint>\n <mat-error class=\"i18n-hint-error\"\n *ngIf=\"textI18nField.isInvalid(formControlRef)\">{{getErrorMessage()}}</mat-error>\n </div>\n</ng-template>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}.selected-language-value{outline:none;padding:9px 0;width:calc(100% - 56px);font-size:14px;border:0;margin-left:8px;background:transparent}.form-input-interfield{background:transparent;color:#333;outline:none;border:1px solid rgba(0,0,0,.12);text-align:left;font-size:14px;line-height:15.75px;border-radius:6px;min-width:5px;box-sizing:border-box;height:48px}.form-input-interfield:hover{border:solid 2px black}.button-icon-input{padding:2px}.button-icon-input:hover{padding:1px!important}.i18n-hint-error{padding:0 1em;font-size:75%}.language-svg-wrapper{height:20px;line-height:normal}.language-selector-button{width:auto;margin-left:8px;margin-right:4px}.language-selector-wrapper{margin:0 8px}.language-svg-icon{border:solid 1px black}.filled-language-row{min-height:28px;padding:4px 0}.filled-language-row:not(:last-child){border-bottom:1px solid rgba(0,0,0,.1)}.filled-languages-wrapper{border-radius:0 0 6px 6px;border-left:1px solid rgba(0,0,0,.12);border-right:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);margin-top:-5px;padding-top:5px;transform-origin:top}.filled-language-icon{margin:0 10px;height:20px}.filled-language-value{margin-left:20px}.filled-language-button{margin-left:auto;height:24px;width:24px;line-height:normal;margin-right:10px}.language-select{width:18px!important}.language-option-icon{margin-left:0}.language-option-value{margin-left:16px}.i18n-label{transform:translate(.4em,-.4em) scale(.75);transform-origin:left;color:#0009;background:transparent;width:-moz-fit-content;width:fit-content;padding:0 .5em;height:0}.form-input-disabled:hover{border-color:#0000001f!important;border-width:1px}\n"], components: [{ type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: 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: i5$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i7$2.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: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i5$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7$3.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: i5$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7$3.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: i7$1.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$1.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: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2$2.TranslatePipe }, animations: [
1348
1351
  trigger('languageWrapper', [
1349
1352
  state('true', style({
1350
1353
  transform: 'scaleY(1)'
@@ -1377,7 +1380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1377
1380
  animate('0.1s')
1378
1381
  ]),
1379
1382
  ])
1380
- ], template: "<ng-template [ngIf]=\"formControlRef.disabled\">\n <ng-template [ngIf]=\"!isPlainText()\">\n <mat-form-field [appearance]=\"textI18nField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{textI18nField.title}}</mat-label>\n <input matInput\n [disabled]=\"true\"\n [ngModel]=\"currentValue[selectedLanguage]\"\n [placeholder]=\"textI18nField.placeholder\"\n [required]=\"textI18nField.behavior.required\">\n <mat-hint>{{textI18nField.description}}</mat-hint>\n </mat-form-field>\n </ng-template>\n <ng-template [ngIf]=\"isPlainText()\">\n <div class=\"full-width\"\n [ngStyle]=\"textPropertyEnabled('fontSize') && {'font-size': getTextFontSize()}\">\n <span [ngStyle]=\"textPropertyEnabled('textColor') && {'color': getTextColor()}\">\n {{currentValue[selectedLanguage]}}\n </span>\n </div>\n </ng-template>\n</ng-template>\n<ng-template [ngIf]=\"!formControlRef.disabled\">\n <div class=\"full-width\">\n <div #i18nLabel class=\"i18n-label\" [ngClass]=\"{'invalid-form-label': textI18nField.isInvalid(formControlRef)}\">\n {{textI18nField.title}}\n <nc-required-label *ngIf=\"textI18nField.behavior.required\" [isIn]=\"!textI18nField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input-interfield button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'invalid-form-input': textI18nField.isInvalid(formControlRef), 'form-input-disabled': formControlRef.disabled}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(i18nLabel),\n 'clip-path': getCutProperty(i18nLabel)\n }\">\n <button mat-icon-button color=\"accent\" [matTooltip]=\"'dataField.i18n.languageSelect' | translate\"\n class=\"language-selector-button\" (click)=\"languageDropdown.open()\">\n <div class=\"language-svg-wrapper\"\n [innerHTML]=\"getLanguageIcons()[this.selectedLanguage].svgIcon\"></div>\n </button>\n <mat-select #languageDropdown class=\"language-select\">\n <mat-option *ngFor=\"let languageKey of languageKeys\"\n [value]=\"languageKey\" (click)=\"selectLanguage(languageKey)\">\n <div fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div [innerHTML]=\"getLanguageIcons()[languageKey].svgIcon\" class=\"language-option-icon\"></div>\n <span class=\"language-option-value\">{{getLanguageIcons()[languageKey].languageName}}</span>\n </div>\n </mat-option>\n </mat-select>\n <input class=\"selected-language-value\"\n type=\"text\"\n [placeholder]=\"textI18nField.placeholder\"\n [required]=\"textI18nField.behavior.required\"\n [(ngModel)]=\"currentValue[selectedLanguage]\"\n (blur)=\"setSelectedValue()\">\n <button mat-icon-button (click)=\"toggleFilled()\"\n [matTooltip]=\"(filledShown ? 'dataField.i18n.hideTranslations' : 'dataField.i18n.showTranslations') | translate\">\n <mat-icon color=\"warn\">{{filledShown ? 'arrow_drop_up' : 'arrow_drop_down'}}</mat-icon>\n </button>\n </div>\n\n <div fxLayout=\"column\" class=\"filled-languages-wrapper\"\n [@languageWrapper]=\"filledShown\"\n (@languageWrapper.start)=\"$event.element.style.display = 'block'\"\n (@languageWrapper.done)=\"$event.element.style.display = ($event.toState ? 'block' : 'none')\">\n <div *ngFor=\"let filledKey of filledKeys\" fxLayout=\"row\" fxLayoutAlign=\" center\" class=\"filled-language-row\">\n <div class=\"filled-language-icon\" [innerHTML]=\"getLanguageIcons()[filledKey].svgIcon\"></div>\n <span class=\"filled-language-value\">{{currentValue[filledKey]}}</span>\n <button class=\"filled-language-button\" *ngIf=\"!isDefaultValue(filledKey)\" mat-icon-button\n (click)=\"removeTranslation(filledKey)\" [matTooltip]=\"'dataField.i18n.deleteTranslation' | translate\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n </div>\n <mat-hint class=\"i18n-hint-error\"\n *ngIf=\"!textI18nField.isInvalid(formControlRef)\">{{textI18nField.description}}</mat-hint>\n <mat-error class=\"i18n-hint-error\"\n *ngIf=\"textI18nField.isInvalid(formControlRef)\">{{getErrorMessage()}}</mat-error>\n </div>\n</ng-template>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}.selected-language-value{outline:none;padding:9px 0;width:calc(100% - 56px);font-size:14px;border:0;margin-left:8px;background:transparent}.form-input-interfield{background:transparent;color:#333;outline:none;border:1px solid rgba(0,0,0,.12);text-align:left;font-size:14px;line-height:15.75px;border-radius:6px;min-width:5px;box-sizing:border-box;height:48px}.form-input-interfield:hover{border:solid 2px black}.button-icon-input{padding:2px}.button-icon-input:hover{padding:1px!important}.i18n-hint-error{padding:0 1em;font-size:75%}.language-svg-wrapper{height:20px;line-height:normal}.language-selector-button{width:auto;margin-left:8px;margin-right:4px}.language-selector-wrapper{margin:0 8px}.language-svg-icon{border:solid 1px black}.filled-language-row{min-height:28px;padding:4px 0}.filled-language-row:not(:last-child){border-bottom:1px solid rgba(0,0,0,.1)}.filled-languages-wrapper{border-radius:0 0 6px 6px;border-left:1px solid rgba(0,0,0,.12);border-right:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);margin-top:-5px;padding-top:5px;transform-origin:top}.filled-language-icon{margin:0 10px;height:20px}.filled-language-value{margin-left:20px}.filled-language-button{margin-left:auto;height:24px;width:24px;line-height:normal;margin-right:10px}.language-select{width:18px!important}.language-option-icon{margin-left:0}.language-option-value{margin-left:16px}.i18n-label{transform:translate(.4em,-.4em) scale(.75);transform-origin:left;color:#0009;background:transparent;width:-moz-fit-content;width:fit-content;padding:0 .5em;height:0}.form-input-disabled:hover{border-color:#0000001f!important;border-width:1px}\n"] }]
1383
+ ], template: "<ng-template [ngIf]=\"formControlRef.disabled\">\n <ng-template [ngIf]=\"!isPlainText()\">\n <mat-form-field [appearance]=\"textI18nField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{textI18nField.title}}</mat-label>\n <input matInput\n [disabled]=\"true\"\n [ngModel]=\"currentValue[selectedLanguage]\"\n [placeholder]=\"textI18nField.placeholder ? textI18nField.placeholder : ''\"\n [required]=\"textI18nField.behavior.required\">\n <mat-hint>{{textI18nField.description}}</mat-hint>\n </mat-form-field>\n </ng-template>\n <ng-template [ngIf]=\"isPlainText()\">\n <div class=\"full-width\"\n [ngStyle]=\"textPropertyEnabled('fontSize') && {'font-size': getTextFontSize()}\">\n <span [ngStyle]=\"textPropertyEnabled('textColor') && {'color': getTextColor()}\">\n {{currentValue[selectedLanguage]}}\n </span>\n </div>\n </ng-template>\n</ng-template>\n<ng-template [ngIf]=\"!formControlRef.disabled\">\n <div class=\"full-width\">\n <div #i18nLabel class=\"i18n-label\" [ngClass]=\"{'invalid-form-label': textI18nField.isInvalid(formControlRef)}\">\n {{textI18nField.title}}\n <nc-required-label *ngIf=\"textI18nField.behavior.required\" [isIn]=\"!textI18nField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input-interfield button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'invalid-form-input': textI18nField.isInvalid(formControlRef), 'form-input-disabled': formControlRef.disabled}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(i18nLabel),\n 'clip-path': getCutProperty(i18nLabel)\n }\">\n <button mat-icon-button color=\"accent\" [matTooltip]=\"'dataField.i18n.languageSelect' | translate\"\n class=\"language-selector-button\" (click)=\"languageDropdown.open()\">\n <div class=\"language-svg-wrapper\"\n [innerHTML]=\"getLanguageIcons()[this.selectedLanguage].svgIcon\"></div>\n </button>\n <mat-select #languageDropdown class=\"language-select\">\n <mat-option *ngFor=\"let languageKey of languageKeys\"\n [value]=\"languageKey\" (click)=\"selectLanguage(languageKey)\">\n <div fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div [innerHTML]=\"getLanguageIcons()[languageKey].svgIcon\" class=\"language-option-icon\"></div>\n <span class=\"language-option-value\">{{getLanguageIcons()[languageKey].languageName}}</span>\n </div>\n </mat-option>\n </mat-select>\n <input class=\"selected-language-value\"\n type=\"text\"\n [placeholder]=\"textI18nField.placeholder ? textI18nField.placeholder : ''\"\n [required]=\"textI18nField.behavior.required\"\n [(ngModel)]=\"currentValue[selectedLanguage]\"\n (blur)=\"setSelectedValue()\">\n <button mat-icon-button (click)=\"toggleFilled()\"\n [matTooltip]=\"(filledShown ? 'dataField.i18n.hideTranslations' : 'dataField.i18n.showTranslations') | translate\">\n <mat-icon color=\"warn\">{{filledShown ? 'arrow_drop_up' : 'arrow_drop_down'}}</mat-icon>\n </button>\n </div>\n\n <div fxLayout=\"column\" class=\"filled-languages-wrapper\"\n [@languageWrapper]=\"filledShown\"\n (@languageWrapper.start)=\"$event.element.style.display = 'block'\"\n (@languageWrapper.done)=\"$event.element.style.display = ($event.toState ? 'block' : 'none')\">\n <div *ngFor=\"let filledKey of filledKeys\" fxLayout=\"row\" fxLayoutAlign=\" center\"\n class=\"filled-language-row\">\n <div class=\"filled-language-icon\" [innerHTML]=\"getLanguageIcons()[filledKey].svgIcon\"></div>\n <span class=\"filled-language-value\">{{currentValue[filledKey]}}</span>\n <button class=\"filled-language-button\" *ngIf=\"!isDefaultValue(filledKey)\" mat-icon-button\n (click)=\"removeTranslation(filledKey)\"\n [matTooltip]=\"'dataField.i18n.deleteTranslation' | translate\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n </div>\n <mat-hint class=\"i18n-hint-error\"\n *ngIf=\"!textI18nField.isInvalid(formControlRef)\">{{textI18nField.description}}</mat-hint>\n <mat-error class=\"i18n-hint-error\"\n *ngIf=\"textI18nField.isInvalid(formControlRef)\">{{getErrorMessage()}}</mat-error>\n </div>\n</ng-template>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}.selected-language-value{outline:none;padding:9px 0;width:calc(100% - 56px);font-size:14px;border:0;margin-left:8px;background:transparent}.form-input-interfield{background:transparent;color:#333;outline:none;border:1px solid rgba(0,0,0,.12);text-align:left;font-size:14px;line-height:15.75px;border-radius:6px;min-width:5px;box-sizing:border-box;height:48px}.form-input-interfield:hover{border:solid 2px black}.button-icon-input{padding:2px}.button-icon-input:hover{padding:1px!important}.i18n-hint-error{padding:0 1em;font-size:75%}.language-svg-wrapper{height:20px;line-height:normal}.language-selector-button{width:auto;margin-left:8px;margin-right:4px}.language-selector-wrapper{margin:0 8px}.language-svg-icon{border:solid 1px black}.filled-language-row{min-height:28px;padding:4px 0}.filled-language-row:not(:last-child){border-bottom:1px solid rgba(0,0,0,.1)}.filled-languages-wrapper{border-radius:0 0 6px 6px;border-left:1px solid rgba(0,0,0,.12);border-right:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);margin-top:-5px;padding-top:5px;transform-origin:top}.filled-language-icon{margin:0 10px;height:20px}.filled-language-value{margin-left:20px}.filled-language-button{margin-left:auto;height:24px;width:24px;line-height:normal;margin-right:10px}.language-select{width:18px!important}.language-option-icon{margin-left:0}.language-option-value{margin-left:16px}.i18n-label{transform:translate(.4em,-.4em) scale(.75);transform-origin:left;color:#0009;background:transparent;width:-moz-fit-content;width:fit-content;padding:0 .5em;height:0}.form-input-disabled:hover{border-color:#0000001f!important;border-width:1px}\n"] }]
1381
1384
  }], ctorParameters: function () { return [{ type: i1.LanguageIconsService }, { type: i2$2.TranslateService }, { type: i3$2.DomSanitizer }]; } });
1382
1385
 
1383
1386
  class I18nFieldComponent extends AbstractI18nFieldComponent {
@@ -3544,12 +3547,12 @@ class NewCaseComponent extends AbstractNewCaseComponent {
3544
3547
  NewCaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NewCaseComponent, deps: [{ token: NAE_SIDE_MENU_CONTROL }, { token: i1$1.FormBuilder }, { token: i1.SnackBarService }, { token: i1.CaseResourceService }, { token: i3$b.HotkeysService }, { token: i2$2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
3545
3548
  NewCaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NewCaseComponent, selector: "nc-new-case", providers: [{
3546
3549
  provide: STEPPER_GLOBAL_OPTIONS, useValue: { showError: true }
3547
- }], usesInheritance: true, ngImport: i0, template: "<div #toolbar class=\"custom-mat-toolbar\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{titleShortening()}}\n</div>\n<mat-vertical-stepper *ngIf=\"hasMultipleNets$ | async\" linear #stepper1 class=\"netgrif-input\">\n <mat-step [stepControl]=\"processFormControl\" errorMessage=\"{{'side-menu.new-case.errFirst' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.choose' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input type=\"text\" matInput [formControl]=\"processFormControl\" [matAutocomplete]=\"auto\" required\n (keyup.enter)=\"nextStep()\" (change)=\"checkVersion(processFormControl.value)\">\n <span class=\"version-span\" *ngIf=\"isVersionVisible\" matSuffix>{{netVersion}}</span>\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\"\n (optionSelected)=\"showVersion($event.option)\">\n <mat-option *ngFor=\"let option of filteredOptions$ | async\" [value]=\"option\">\n {{option.viewValue}}\n <span class=\"version-span\" *ngIf=\"isVersionVisible\">{{option.version}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div>\n <button *ngIf=\"isCaseTitleEnabled()\" mat-button (click)=\"toNextStep(processFormControl.value)\">{{'side-menu.new-case.next' | translate}}</button>\n <button *ngIf=\"!isCaseTitleEnabled()\" mat-raised-button color=\"primary\" (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n <mat-step *ngIf=\"isCaseTitleEnabled()\" [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\" [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button (click)=\"stepper1.reset(); checkVersion(processFormControl.value)\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-button (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<mat-vertical-stepper *ngIf=\"(hasMultipleNets$ | async) === false\" linear #stepper2 class=\"netgrif-input\">\n <mat-step [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\" [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button (click)=\"stepper2.reset()\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-raised-button color=\"primary\" (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<div *ngIf=\"(notInitialized$ | async)\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-spinner class=\"spinner-margin\"></mat-spinner>\n</div>\n", styles: [".version-span{padding-left:8px;color:gray}.spinner-margin{margin-top:16px}\n"], components: [{ type: i5$6.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { type: i5$6.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { 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: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i7$1.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$1.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: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$6.MatStepLabel, selector: "[matStepLabel]" }, { type: i7$2.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: i1$1.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: i4$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$1.MatSuffix, selector: "[matSuffix]" }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5$2.AsyncPipe, "translate": i2$2.TranslatePipe } });
3550
+ }], usesInheritance: true, ngImport: i0, template: "<div #toolbar class=\"custom-mat-toolbar\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{titleShortening()}}\n</div>\n<mat-vertical-stepper *ngIf=\"hasMultipleNets$ | async\" linear #stepper1 class=\"netgrif-input\">\n <mat-step [stepControl]=\"processFormControl\" errorMessage=\"{{'side-menu.new-case.errFirst' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.choose' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input type=\"text\" matInput [formControl]=\"processFormControl\" [matAutocomplete]=\"auto\" required\n (keyup.enter)=\"nextStep()\" (change)=\"checkVersion(processFormControl.value)\">\n <span class=\"version-span\" *ngIf=\"isVersionVisible\" matSuffix>{{netVersion}}</span>\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\"\n (optionSelected)=\"showVersion($event.option)\">\n <mat-option *ngFor=\"let option of filteredOptions$ | async\" [value]=\"option\">\n {{option.viewValue}}\n <span class=\"version-span\" *ngIf=\"isVersionVisible\">{{option.version}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div>\n <button *ngIf=\"isCaseTitleEnabled()\" mat-button\n (click)=\"toNextStep(processFormControl.value)\">{{'side-menu.new-case.next' | translate}}</button>\n <button *ngIf=\"!isCaseTitleEnabled()\" mat-raised-button color=\"primary\"\n (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n <mat-step *ngIf=\"isCaseTitleEnabled()\" [stepControl]=\"titleFormControl\"\n errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\"\n [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button\n (click)=\"stepper1.reset(); checkVersion(processFormControl.value)\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-button (click)=\"createNewCase()\">\n <mat-spinner *ngIf=\"loadingSubmit | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{'side-menu.new-case.create' | translate}}</span>\n </button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<mat-vertical-stepper *ngIf=\"(hasMultipleNets$ | async) === false\" linear #stepper2 class=\"netgrif-input\">\n <mat-step [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\"\n [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button (click)=\"stepper2.reset()\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-raised-button color=\"primary\"\n (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<div *ngIf=\"(notInitialized$ | async)\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-spinner class=\"spinner-margin\"></mat-spinner>\n</div>\n", styles: [".version-span{padding-left:8px;color:gray}.spinner-margin{margin-top:16px}\n"], components: [{ type: i5$6.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { type: i5$6.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { 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: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i7$1.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$1.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: i5$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$6.MatStepLabel, selector: "[matStepLabel]" }, { type: i7$2.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: i1$1.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: i4$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$1.MatSuffix, selector: "[matSuffix]" }, { type: i5$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7$1.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"] }], pipes: { "async": i5$2.AsyncPipe, "translate": i2$2.TranslatePipe } });
3548
3551
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NewCaseComponent, decorators: [{
3549
3552
  type: Component,
3550
3553
  args: [{ selector: 'nc-new-case', providers: [{
3551
3554
  provide: STEPPER_GLOBAL_OPTIONS, useValue: { showError: true }
3552
- }], template: "<div #toolbar class=\"custom-mat-toolbar\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{titleShortening()}}\n</div>\n<mat-vertical-stepper *ngIf=\"hasMultipleNets$ | async\" linear #stepper1 class=\"netgrif-input\">\n <mat-step [stepControl]=\"processFormControl\" errorMessage=\"{{'side-menu.new-case.errFirst' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.choose' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input type=\"text\" matInput [formControl]=\"processFormControl\" [matAutocomplete]=\"auto\" required\n (keyup.enter)=\"nextStep()\" (change)=\"checkVersion(processFormControl.value)\">\n <span class=\"version-span\" *ngIf=\"isVersionVisible\" matSuffix>{{netVersion}}</span>\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\"\n (optionSelected)=\"showVersion($event.option)\">\n <mat-option *ngFor=\"let option of filteredOptions$ | async\" [value]=\"option\">\n {{option.viewValue}}\n <span class=\"version-span\" *ngIf=\"isVersionVisible\">{{option.version}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div>\n <button *ngIf=\"isCaseTitleEnabled()\" mat-button (click)=\"toNextStep(processFormControl.value)\">{{'side-menu.new-case.next' | translate}}</button>\n <button *ngIf=\"!isCaseTitleEnabled()\" mat-raised-button color=\"primary\" (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n <mat-step *ngIf=\"isCaseTitleEnabled()\" [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\" [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button (click)=\"stepper1.reset(); checkVersion(processFormControl.value)\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-button (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<mat-vertical-stepper *ngIf=\"(hasMultipleNets$ | async) === false\" linear #stepper2 class=\"netgrif-input\">\n <mat-step [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\" [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button (click)=\"stepper2.reset()\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-raised-button color=\"primary\" (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<div *ngIf=\"(notInitialized$ | async)\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-spinner class=\"spinner-margin\"></mat-spinner>\n</div>\n", styles: [".version-span{padding-left:8px;color:gray}.spinner-margin{margin-top:16px}\n"] }]
3555
+ }], template: "<div #toolbar class=\"custom-mat-toolbar\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{titleShortening()}}\n</div>\n<mat-vertical-stepper *ngIf=\"hasMultipleNets$ | async\" linear #stepper1 class=\"netgrif-input\">\n <mat-step [stepControl]=\"processFormControl\" errorMessage=\"{{'side-menu.new-case.errFirst' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.choose' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input type=\"text\" matInput [formControl]=\"processFormControl\" [matAutocomplete]=\"auto\" required\n (keyup.enter)=\"nextStep()\" (change)=\"checkVersion(processFormControl.value)\">\n <span class=\"version-span\" *ngIf=\"isVersionVisible\" matSuffix>{{netVersion}}</span>\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\"\n (optionSelected)=\"showVersion($event.option)\">\n <mat-option *ngFor=\"let option of filteredOptions$ | async\" [value]=\"option\">\n {{option.viewValue}}\n <span class=\"version-span\" *ngIf=\"isVersionVisible\">{{option.version}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div>\n <button *ngIf=\"isCaseTitleEnabled()\" mat-button\n (click)=\"toNextStep(processFormControl.value)\">{{'side-menu.new-case.next' | translate}}</button>\n <button *ngIf=\"!isCaseTitleEnabled()\" mat-raised-button color=\"primary\"\n (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n <mat-step *ngIf=\"isCaseTitleEnabled()\" [stepControl]=\"titleFormControl\"\n errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\"\n [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button\n (click)=\"stepper1.reset(); checkVersion(processFormControl.value)\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-button (click)=\"createNewCase()\">\n <mat-spinner *ngIf=\"loadingSubmit | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{'side-menu.new-case.create' | translate}}</span>\n </button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<mat-vertical-stepper *ngIf=\"(hasMultipleNets$ | async) === false\" linear #stepper2 class=\"netgrif-input\">\n <mat-step [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\"\n [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button (click)=\"stepper2.reset()\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-raised-button color=\"primary\"\n (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<div *ngIf=\"(notInitialized$ | async)\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-spinner class=\"spinner-margin\"></mat-spinner>\n</div>\n", styles: [".version-span{padding-left:8px;color:gray}.spinner-margin{margin-top:16px}\n"] }]
3553
3556
  }], ctorParameters: function () { return [{ type: i1.SideMenuControl, decorators: [{
3554
3557
  type: Inject,
3555
3558
  args: [NAE_SIDE_MENU_CONTROL]