@messaia/cdk 22.0.0-rc.5 → 22.0.0-rc.6
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.
- package/fesm2022/messaia-cdk.mjs +268 -268
- package/fesm2022/messaia-cdk.mjs.map +1 -1
- package/package.json +1 -1
- package/types/messaia-cdk.d.ts +1 -1
package/fesm2022/messaia-cdk.mjs
CHANGED
|
@@ -70,10 +70,10 @@ import { MatDividerModule, MatDivider } from '@angular/material/divider';
|
|
|
70
70
|
import { ENTER, COMMA } from '@angular/cdk/keycodes';
|
|
71
71
|
import * as i3$4 from '@angular/material/radio';
|
|
72
72
|
import { MatRadioModule } from '@angular/material/radio';
|
|
73
|
-
import * as i3$3 from '@angular/cdk/platform';
|
|
74
|
-
import * as i4$3 from '@angular/cdk/text-field';
|
|
75
73
|
import * as i4$4 from '@angular/material/list';
|
|
76
74
|
import { MatSelectionList, MatListOption, MatListModule } from '@angular/material/list';
|
|
75
|
+
import * as i3$3 from '@angular/cdk/platform';
|
|
76
|
+
import * as i4$3 from '@angular/cdk/text-field';
|
|
77
77
|
import * as i2$7 from '@angular/material/card';
|
|
78
78
|
import { MatCardModule } from '@angular/material/card';
|
|
79
79
|
import * as i3$5 from '@angular/material/sidenav';
|
|
@@ -22474,7 +22474,7 @@ class VdChipsComponent extends AbstractMatFormField {
|
|
|
22474
22474
|
provide: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,
|
|
22475
22475
|
useValue: { overlayPanelClass: 'vd-chips-autocomplete' }
|
|
22476
22476
|
}
|
|
22477
|
-
], queries: [{ propertyName: "chipTemplate", first: true, predicate: VdChipDirective, descendants: true }, { propertyName: "autocompleteOptionTemplate", first: true, predicate: VdAutocompleteOptionDirective, descendants: true }], viewQueries: [{ propertyName: "dynamicTable", first: true, predicate: VdDynamicTableComponent, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "autocomplete", first: true, predicate: MatAutocomplete, descendants: true }, { propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-chip-grid #chipList [required]=\"required\" [disabled]=\"readonly\">\r\n <!-- #region Chips -->\r\n @for (chip of chips; track chip; let first = $first; let index = $index) {\r\n <mat-chip-row [removable]=\"!readonly\" (removed)=\"handleRemovedEvent()\" disableRipple>\r\n <span class=\"vd-chip-content\">\r\n @if (!chipTemplate?.templateRef) {\r\n <span>\r\n @if (!autocompleteOptionTemplate?.templateRef) {\r\n <span>{{ chip }}</span>\r\n }\r\n @if (autocompleteOptionTemplate && autocompleteOptionTemplate.templateRef) {\r\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate.templateRef!\" [ngTemplateOutletContext]=\"{ option: chip }\"></ng-template>\r\n }\r\n </span>\r\n }\r\n @if (chipTemplate && chipTemplate.templateRef) {\r\n <ng-template [ngTemplateOutlet]=\"chipTemplate.templateRef!\" [ngTemplateOutletContext]=\"{ chip: chip }\"></ng-template>\r\n }\r\n </span>\r\n @for (button of suffixButtons; track button; let first = $first) {\r\n <a matChipTrailingIcon [hidden]=\"button.hide && button.hide(chips[0], context)\" (click)=\"$event.stopPropagation(); button.event && button.event(chips[0], context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{button.icon}}</mat-icon>\r\n </a>\r\n }\r\n @if ((onLaunch.observers.length) > 0) {\r\n <a matChipTrailingIcon (click)=\"$event.stopPropagation(); handleLaunchClicked()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">launch</mat-icon>\r\n </a>\r\n }\r\n @if (!readonly) {\r\n <a matChipTrailingIcon (click)=\"handleRemovedEvent()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">close</mat-icon>\r\n </a>\r\n }\r\n </mat-chip-row>\r\n }\r\n <!-- #endregion -->\r\n\r\n <!-- #region Search box -->\r\n <input matInput [hidden]=\"value && !empty\" placeholder=\"{{placeholder}}\" (focus)=\"connect()\" [readonly]=\"readonly\" [matChipInputFor]=\"chipList\" [matAutocomplete]=\"auto\" [matAutocompleteConnectedTo]=\"origin\" [formControl]=\"autoCompleteChipList\" (blur)=\"customValue && addOnBlur($event)\" #filterInput />\r\n <!-- #endregion -->\r\n\r\n <!-- #region Reset button -->\r\n @if ((!value || empty) && !readonly && !disabled) {\r\n <a trailingIcon class=\"mat-mdc-select-arrow\" (click)=\"filterInput.value = ''\">\r\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\" class=\"ng-tns-c184-21\">\r\n <path d=\"M7 10l5 5 5-5z\" class=\"ng-tns-c184-21\"></path>\r\n </svg>\r\n </a>\r\n }\r\n <!-- #endregion -->\r\n</mat-chip-grid>\r\n\r\n<!-- #region Autocomplete -->\r\n<mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"addChip($event.option.value, filterInput)\" class=\"{{autocompleteCssClass}}{{classType?' table-autocomplete':''}}\">\r\n @if(!classType && opened)\r\n {\r\n @for (item of dataSource?.items; track item; let first = $first; let last = $last) {\r\n <mat-option [value]=\"item\">\r\n @if (!autocompleteOptionTemplate?.templateRef) {\r\n <span>{{item}}</span>\r\n }\r\n @if (autocompleteOptionTemplate && autocompleteOptionTemplate.templateRef) {\r\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate.templateRef!\" [ngTemplateOutletContext]=\"{ option: item }\"></ng-template>\r\n }\r\n </mat-option>\r\n <mat-divider *ngIf=\"!last\"></mat-divider>\r\n }\r\n }\r\n @if (classType && opened) {\r\n <mat-option hide=\"true\"></mat-option>\r\n <vd-dynamic-table [dataSource]=\"dataSource\" [classType]=\"classType\" [entityObject]=\"entityObject\" [parentControl]=\"parentControl\" [context]=\"context\" [stickyHeader]=\"true\" [sticky]=\"true\" (rowClick)=\"addChip($event, filterInput)\" matSort [sortActive]=\"sortActive\" [sortDirection]=\"sortDirection\"></vd-dynamic-table>\r\n }\r\n <div class=\"vd-chips-paginator\">\r\n <mat-divider></mat-divider>\r\n <mat-paginator [length]=\"dataSource?.total ?? 0\" [pageIndex]=\"dataSource?.pageIndex ?? 0\" [pageSize]=\"dataSource?.pageSize ?? 15\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons=\"true\" hidePageSize=\"true\"></mat-paginator>\r\n </div>\r\n</mat-autocomplete>\r\n<!-- #endregion -->\r\n\r\n<div matAutocompleteOrigin #origin=\"matAutocompleteOrigin\" class=\"autocomplete-origin\"></div>", styles: [":host ::ng-deep .mat-mdc-chip-set{width:100%}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0!important;margin-right:0;align-items:center}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip{display:flex;flex-direction:row;width:100%;padding:0 5px;justify-content:center;background-color:transparent!important;margin-right:0!important;margin-left:0!important;padding:0!important;margin:0;height:initial}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip.mdc-evolution-chip--disabled{opacity:.6;pointer-events:all}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mdc-evolution-chip__action{justify-content:left}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mdc-evolution-chip__action--primary{padding-left:0}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mdc-evolution-chip__cell--trailing{margin-right:-10px;display:flex}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mat-mdc-chip-focus-overlay{background-color:transparent!important}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mat-icon{cursor:pointer;font-size:1.2em;opacity:.8}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip.mat-chip-disabled{opacity:.6}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .vd-chip-content{-ms-flex-positive:1!important;flex-grow:1!important;font-weight:initial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;justify-content:center}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .vd-chip-launch{font-size:18px;position:absolute;right:4px;top:0;cursor:pointer}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .vd-chip-launch.removable{right:34px}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip .mdc-evolution-chip__action--primary:before,:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary:before{border-color:transparent!important}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip .mdc-evolution-chip__text-label,:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:inherit!important}:host ::ng-deep .autocomplete-origin{position:absolute;width:calc(100% + 28px);bottom:0;height:2px;margin-left:-14px}mat-spinner{margin-top:-9px;margin-right:6px}.mat-mdc-form-field-infix{display:flex}::ng-deep .vd-chips-autocomplete .mat-mdc-autocomplete-panel{padding:0!important}::ng-deep .vd-chips-autocomplete .table-autocomplete{overflow:hidden}::ng-deep .vd-chips-autocomplete .table-autocomplete .mat-table-container{height:calc(100% - 56px)!important;max-height:100vh!important}::ng-deep .vd-chips-autocomplete .vd-chips-paginator{position:sticky;bottom:0}::ng-deep .vd-chips-autocomplete .vd-chips-paginator .mat-mdc-paginator .mat-mdc-paginator-container{padding:0}::ng-deep .vd-chips-autocomplete .vd-chips-paginator .mat-mdc-paginator .mat-mdc-paginator-container .mat-mdc-paginator-range-actions .mat-mdc-paginator-range-label{margin:0 16px 0 24px}::ng-deep .mat-mdc-table .mat-mdc-form-field .mdc-text-field--outlined .mat-mdc-notch-piece,::ng-deep .mat-mdc-table .mat-mdc-form-field .mdc-text-field--outlined .mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline))!important;border-width:var(--mat-form-field-outlined-outline-width, 1px)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i4$2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i4$2.MatAutocompleteOrigin, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i7.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i7.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "component", type: i7.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "directive", type: i7.MatChipTrailingIcon, selector: "mat-chip-trailing-icon, [matChipTrailingIcon]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$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", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: VdDynamicTableComponent, selector: "vd-dynamic-table", inputs: ["dataSource", "data", "parentControl", "entityObject", "formArray", "debugValue", "classType", "context", "dataSourceFilter", "static", "filterable", "sticky", "tableWidth", "useFilterOperator", "paginable", "selectable", "sortActive", "sortDirection", "stickyHeader", "stickyFilter", "columnSets", "rowNgClass", "detailsTemplate", "readonly", "selectAllFilter", "paginatorRef", "columns", "rowMenuItems", "rowAction", "excludedColumns", "pageSize", "pageSizeOptions"], outputs: ["rowClick"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
22477
|
+
], queries: [{ propertyName: "chipTemplate", first: true, predicate: VdChipDirective, descendants: true }, { propertyName: "autocompleteOptionTemplate", first: true, predicate: VdAutocompleteOptionDirective, descendants: true }], viewQueries: [{ propertyName: "dynamicTable", first: true, predicate: VdDynamicTableComponent, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "autocomplete", first: true, predicate: MatAutocomplete, descendants: true }, { propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-chip-grid #chipList [required]=\"required\" [disabled]=\"readonly\">\r\n <!-- #region Chips -->\r\n @for (chip of chips; track chip; let first = $first; let index = $index) {\r\n <mat-chip-row [removable]=\"!readonly\" (removed)=\"handleRemovedEvent()\" disableRipple>\r\n <span class=\"vd-chip-content\">\r\n @if (!chipTemplate?.templateRef) {\r\n <span>\r\n @if (!autocompleteOptionTemplate?.templateRef) {\r\n <span>{{ chip }}</span>\r\n }\r\n @if (autocompleteOptionTemplate && autocompleteOptionTemplate.templateRef) {\r\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate.templateRef!\" [ngTemplateOutletContext]=\"{ option: chip }\"></ng-template>\r\n }\r\n </span>\r\n }\r\n @if (chipTemplate && chipTemplate.templateRef) {\r\n <ng-template [ngTemplateOutlet]=\"chipTemplate.templateRef!\" [ngTemplateOutletContext]=\"{ chip: chip }\"></ng-template>\r\n }\r\n </span>\r\n @for (button of suffixButtons; track button; let first = $first) {\r\n <a matChipTrailingIcon [hidden]=\"button.hide && button.hide(chips[0], context)\" (click)=\"$event.stopPropagation(); button.event && button.event(chips[0], context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{button.icon}}</mat-icon>\r\n </a>\r\n }\r\n @if ((onLaunch.observers.length) > 0) {\r\n <a matChipTrailingIcon (click)=\"$event.stopPropagation(); handleLaunchClicked()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">launch</mat-icon>\r\n </a>\r\n }\r\n @if (!readonly) {\r\n <a matChipTrailingIcon (click)=\"handleRemovedEvent()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">close</mat-icon>\r\n </a>\r\n }\r\n </mat-chip-row>\r\n }\r\n <!-- #endregion -->\r\n\r\n <!-- #region Search box -->\r\n <input matInput [hidden]=\"value && !empty\" placeholder=\"{{placeholder}}\" (focus)=\"connect()\" [readonly]=\"readonly\" [matChipInputFor]=\"chipList\" [matAutocomplete]=\"auto\" [matAutocompleteConnectedTo]=\"origin\" [formControl]=\"autoCompleteChipList\" (blur)=\"customValue && addOnBlur($event)\" #filterInput />\r\n <!-- #endregion -->\r\n\r\n <!-- #region Reset button -->\r\n @if ((!value || empty) && !readonly && !disabled) {\r\n <a trailingIcon class=\"mat-mdc-select-arrow\" (click)=\"filterInput.value = ''\">\r\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\" class=\"ng-tns-c184-21\">\r\n <path d=\"M7 10l5 5 5-5z\" class=\"ng-tns-c184-21\"></path>\r\n </svg>\r\n </a>\r\n }\r\n <!-- #endregion -->\r\n</mat-chip-grid>\r\n\r\n<!-- #region Autocomplete -->\r\n<mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"addChip($event.option.value, filterInput)\" class=\"{{autocompleteCssClass}}{{classType?' table-autocomplete':''}}\">\r\n @if(opened){\r\n Class Type 2: {{ classType }}\r\n @if(!classType)\r\n {\r\n <div>????</div>\r\n @for (item of dataSource?.items; track item; let first = $first; let last = $last) {\r\n <mat-option [value]=\"item\">\r\n @if (!autocompleteOptionTemplate?.templateRef) {\r\n <span>{{item}}</span>\r\n }\r\n @if (autocompleteOptionTemplate && autocompleteOptionTemplate.templateRef) {\r\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate.templateRef!\" [ngTemplateOutletContext]=\"{ option: item }\"></ng-template>\r\n }\r\n </mat-option>\r\n @if(!last){\r\n <mat-divider></mat-divider>\r\n }\r\n }\r\n }\r\n @if (classType) {\r\n <mat-option hide=\"true\"></mat-option>\r\n <vd-dynamic-table [dataSource]=\"dataSource\" [classType]=\"classType\" [entityObject]=\"entityObject\" [parentControl]=\"parentControl\" [context]=\"context\" [stickyHeader]=\"true\" [sticky]=\"true\" (rowClick)=\"addChip($event, filterInput)\" matSort [sortActive]=\"sortActive\" [sortDirection]=\"sortDirection\"></vd-dynamic-table>\r\n }\r\n }\r\n <div class=\"vd-chips-paginator\">\r\n <mat-divider></mat-divider>\r\n <mat-paginator [length]=\"dataSource?.total ?? 0\" [pageIndex]=\"dataSource?.pageIndex ?? 0\" [pageSize]=\"dataSource?.pageSize ?? 15\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons=\"true\" hidePageSize=\"true\"></mat-paginator>\r\n </div>\r\n</mat-autocomplete>\r\n<!-- #endregion -->\r\n\r\n<div matAutocompleteOrigin #origin=\"matAutocompleteOrigin\" class=\"autocomplete-origin\"></div>", styles: [":host ::ng-deep .mat-mdc-chip-set{width:100%}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0!important;margin-right:0;align-items:center}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip{display:flex;flex-direction:row;width:100%;padding:0 5px;justify-content:center;background-color:transparent!important;margin-right:0!important;margin-left:0!important;padding:0!important;margin:0;height:initial}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip.mdc-evolution-chip--disabled{opacity:.6;pointer-events:all}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mdc-evolution-chip__action{justify-content:left}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mdc-evolution-chip__action--primary{padding-left:0}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mdc-evolution-chip__cell--trailing{margin-right:-10px;display:flex}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mat-mdc-chip-focus-overlay{background-color:transparent!important}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mat-icon{cursor:pointer;font-size:1.2em;opacity:.8}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip.mat-chip-disabled{opacity:.6}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .vd-chip-content{-ms-flex-positive:1!important;flex-grow:1!important;font-weight:initial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;justify-content:center}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .vd-chip-launch{font-size:18px;position:absolute;right:4px;top:0;cursor:pointer}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .vd-chip-launch.removable{right:34px}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip .mdc-evolution-chip__action--primary:before,:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary:before{border-color:transparent!important}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip .mdc-evolution-chip__text-label,:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:inherit!important}:host ::ng-deep .autocomplete-origin{position:absolute;width:calc(100% + 28px);bottom:0;height:2px;margin-left:-14px}mat-spinner{margin-top:-9px;margin-right:6px}.mat-mdc-form-field-infix{display:flex}::ng-deep .vd-chips-autocomplete .mat-mdc-autocomplete-panel{padding:0!important}::ng-deep .vd-chips-autocomplete .table-autocomplete{overflow:hidden}::ng-deep .vd-chips-autocomplete .table-autocomplete .mat-table-container{height:calc(100% - 56px)!important;max-height:100vh!important}::ng-deep .vd-chips-autocomplete .vd-chips-paginator{position:sticky;bottom:0}::ng-deep .vd-chips-autocomplete .vd-chips-paginator .mat-mdc-paginator .mat-mdc-paginator-container{padding:0}::ng-deep .vd-chips-autocomplete .vd-chips-paginator .mat-mdc-paginator .mat-mdc-paginator-container .mat-mdc-paginator-range-actions .mat-mdc-paginator-range-label{margin:0 16px 0 24px}::ng-deep .mat-mdc-table .mat-mdc-form-field .mdc-text-field--outlined .mat-mdc-notch-piece,::ng-deep .mat-mdc-table .mat-mdc-form-field .mdc-text-field--outlined .mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline))!important;border-width:var(--mat-form-field-outlined-outline-width, 1px)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i4$2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i4$2.MatAutocompleteOrigin, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i7.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i7.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "component", type: i7.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "directive", type: i7.MatChipTrailingIcon, selector: "mat-chip-trailing-icon, [matChipTrailingIcon]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$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", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: VdDynamicTableComponent, selector: "vd-dynamic-table", inputs: ["dataSource", "data", "parentControl", "entityObject", "formArray", "debugValue", "classType", "context", "dataSourceFilter", "static", "filterable", "sticky", "tableWidth", "useFilterOperator", "paginable", "selectable", "sortActive", "sortDirection", "stickyHeader", "stickyFilter", "columnSets", "rowNgClass", "detailsTemplate", "readonly", "selectAllFilter", "paginatorRef", "columns", "rowMenuItems", "rowAction", "excludedColumns", "pageSize", "pageSizeOptions"], outputs: ["rowClick"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
22478
22478
|
}
|
|
22479
22479
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdChipsComponent, decorators: [{
|
|
22480
22480
|
type: Component,
|
|
@@ -22494,7 +22494,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
22494
22494
|
MatIconModule,
|
|
22495
22495
|
MatInputModule,
|
|
22496
22496
|
VdDynamicTableComponent,
|
|
22497
|
-
], template: "<mat-chip-grid #chipList [required]=\"required\" [disabled]=\"readonly\">\r\n <!-- #region Chips -->\r\n @for (chip of chips; track chip; let first = $first; let index = $index) {\r\n <mat-chip-row [removable]=\"!readonly\" (removed)=\"handleRemovedEvent()\" disableRipple>\r\n <span class=\"vd-chip-content\">\r\n @if (!chipTemplate?.templateRef) {\r\n <span>\r\n @if (!autocompleteOptionTemplate?.templateRef) {\r\n <span>{{ chip }}</span>\r\n }\r\n @if (autocompleteOptionTemplate && autocompleteOptionTemplate.templateRef) {\r\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate.templateRef!\" [ngTemplateOutletContext]=\"{ option: chip }\"></ng-template>\r\n }\r\n </span>\r\n }\r\n @if (chipTemplate && chipTemplate.templateRef) {\r\n <ng-template [ngTemplateOutlet]=\"chipTemplate.templateRef!\" [ngTemplateOutletContext]=\"{ chip: chip }\"></ng-template>\r\n }\r\n </span>\r\n @for (button of suffixButtons; track button; let first = $first) {\r\n <a matChipTrailingIcon [hidden]=\"button.hide && button.hide(chips[0], context)\" (click)=\"$event.stopPropagation(); button.event && button.event(chips[0], context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{button.icon}}</mat-icon>\r\n </a>\r\n }\r\n @if ((onLaunch.observers.length) > 0) {\r\n <a matChipTrailingIcon (click)=\"$event.stopPropagation(); handleLaunchClicked()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">launch</mat-icon>\r\n </a>\r\n }\r\n @if (!readonly) {\r\n <a matChipTrailingIcon (click)=\"handleRemovedEvent()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">close</mat-icon>\r\n </a>\r\n }\r\n </mat-chip-row>\r\n }\r\n <!-- #endregion -->\r\n\r\n <!-- #region Search box -->\r\n <input matInput [hidden]=\"value && !empty\" placeholder=\"{{placeholder}}\" (focus)=\"connect()\" [readonly]=\"readonly\" [matChipInputFor]=\"chipList\" [matAutocomplete]=\"auto\" [matAutocompleteConnectedTo]=\"origin\" [formControl]=\"autoCompleteChipList\" (blur)=\"customValue && addOnBlur($event)\" #filterInput />\r\n <!-- #endregion -->\r\n\r\n <!-- #region Reset button -->\r\n @if ((!value || empty) && !readonly && !disabled) {\r\n <a trailingIcon class=\"mat-mdc-select-arrow\" (click)=\"filterInput.value = ''\">\r\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\" class=\"ng-tns-c184-21\">\r\n <path d=\"M7 10l5 5 5-5z\" class=\"ng-tns-c184-21\"></path>\r\n </svg>\r\n </a>\r\n }\r\n <!-- #endregion -->\r\n</mat-chip-grid>\r\n\r\n<!-- #region Autocomplete -->\r\n<mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"addChip($event.option.value, filterInput)\" class=\"{{autocompleteCssClass}}{{classType?' table-autocomplete':''}}\">\r\n @if(
|
|
22497
|
+
], template: "<mat-chip-grid #chipList [required]=\"required\" [disabled]=\"readonly\">\r\n <!-- #region Chips -->\r\n @for (chip of chips; track chip; let first = $first; let index = $index) {\r\n <mat-chip-row [removable]=\"!readonly\" (removed)=\"handleRemovedEvent()\" disableRipple>\r\n <span class=\"vd-chip-content\">\r\n @if (!chipTemplate?.templateRef) {\r\n <span>\r\n @if (!autocompleteOptionTemplate?.templateRef) {\r\n <span>{{ chip }}</span>\r\n }\r\n @if (autocompleteOptionTemplate && autocompleteOptionTemplate.templateRef) {\r\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate.templateRef!\" [ngTemplateOutletContext]=\"{ option: chip }\"></ng-template>\r\n }\r\n </span>\r\n }\r\n @if (chipTemplate && chipTemplate.templateRef) {\r\n <ng-template [ngTemplateOutlet]=\"chipTemplate.templateRef!\" [ngTemplateOutletContext]=\"{ chip: chip }\"></ng-template>\r\n }\r\n </span>\r\n @for (button of suffixButtons; track button; let first = $first) {\r\n <a matChipTrailingIcon [hidden]=\"button.hide && button.hide(chips[0], context)\" (click)=\"$event.stopPropagation(); button.event && button.event(chips[0], context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{button.icon}}</mat-icon>\r\n </a>\r\n }\r\n @if ((onLaunch.observers.length) > 0) {\r\n <a matChipTrailingIcon (click)=\"$event.stopPropagation(); handleLaunchClicked()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">launch</mat-icon>\r\n </a>\r\n }\r\n @if (!readonly) {\r\n <a matChipTrailingIcon (click)=\"handleRemovedEvent()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">close</mat-icon>\r\n </a>\r\n }\r\n </mat-chip-row>\r\n }\r\n <!-- #endregion -->\r\n\r\n <!-- #region Search box -->\r\n <input matInput [hidden]=\"value && !empty\" placeholder=\"{{placeholder}}\" (focus)=\"connect()\" [readonly]=\"readonly\" [matChipInputFor]=\"chipList\" [matAutocomplete]=\"auto\" [matAutocompleteConnectedTo]=\"origin\" [formControl]=\"autoCompleteChipList\" (blur)=\"customValue && addOnBlur($event)\" #filterInput />\r\n <!-- #endregion -->\r\n\r\n <!-- #region Reset button -->\r\n @if ((!value || empty) && !readonly && !disabled) {\r\n <a trailingIcon class=\"mat-mdc-select-arrow\" (click)=\"filterInput.value = ''\">\r\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\" class=\"ng-tns-c184-21\">\r\n <path d=\"M7 10l5 5 5-5z\" class=\"ng-tns-c184-21\"></path>\r\n </svg>\r\n </a>\r\n }\r\n <!-- #endregion -->\r\n</mat-chip-grid>\r\n\r\n<!-- #region Autocomplete -->\r\n<mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"addChip($event.option.value, filterInput)\" class=\"{{autocompleteCssClass}}{{classType?' table-autocomplete':''}}\">\r\n @if(opened){\r\n Class Type 2: {{ classType }}\r\n @if(!classType)\r\n {\r\n <div>????</div>\r\n @for (item of dataSource?.items; track item; let first = $first; let last = $last) {\r\n <mat-option [value]=\"item\">\r\n @if (!autocompleteOptionTemplate?.templateRef) {\r\n <span>{{item}}</span>\r\n }\r\n @if (autocompleteOptionTemplate && autocompleteOptionTemplate.templateRef) {\r\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate.templateRef!\" [ngTemplateOutletContext]=\"{ option: item }\"></ng-template>\r\n }\r\n </mat-option>\r\n @if(!last){\r\n <mat-divider></mat-divider>\r\n }\r\n }\r\n }\r\n @if (classType) {\r\n <mat-option hide=\"true\"></mat-option>\r\n <vd-dynamic-table [dataSource]=\"dataSource\" [classType]=\"classType\" [entityObject]=\"entityObject\" [parentControl]=\"parentControl\" [context]=\"context\" [stickyHeader]=\"true\" [sticky]=\"true\" (rowClick)=\"addChip($event, filterInput)\" matSort [sortActive]=\"sortActive\" [sortDirection]=\"sortDirection\"></vd-dynamic-table>\r\n }\r\n }\r\n <div class=\"vd-chips-paginator\">\r\n <mat-divider></mat-divider>\r\n <mat-paginator [length]=\"dataSource?.total ?? 0\" [pageIndex]=\"dataSource?.pageIndex ?? 0\" [pageSize]=\"dataSource?.pageSize ?? 15\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons=\"true\" hidePageSize=\"true\"></mat-paginator>\r\n </div>\r\n</mat-autocomplete>\r\n<!-- #endregion -->\r\n\r\n<div matAutocompleteOrigin #origin=\"matAutocompleteOrigin\" class=\"autocomplete-origin\"></div>", styles: [":host ::ng-deep .mat-mdc-chip-set{width:100%}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0!important;margin-right:0;align-items:center}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip{display:flex;flex-direction:row;width:100%;padding:0 5px;justify-content:center;background-color:transparent!important;margin-right:0!important;margin-left:0!important;padding:0!important;margin:0;height:initial}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip.mdc-evolution-chip--disabled{opacity:.6;pointer-events:all}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mdc-evolution-chip__action{justify-content:left}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mdc-evolution-chip__action--primary{padding-left:0}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mdc-evolution-chip__cell--trailing{margin-right:-10px;display:flex}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mat-mdc-chip-focus-overlay{background-color:transparent!important}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .mat-icon{cursor:pointer;font-size:1.2em;opacity:.8}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip.mat-chip-disabled{opacity:.6}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .vd-chip-content{-ms-flex-positive:1!important;flex-grow:1!important;font-weight:initial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;justify-content:center}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .vd-chip-launch{font-size:18px;position:absolute;right:4px;top:0;cursor:pointer}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip .vd-chip-launch.removable{right:34px}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip .mdc-evolution-chip__action--primary:before,:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary:before{border-color:transparent!important}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip .mdc-evolution-chip__text-label,:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:inherit!important}:host ::ng-deep .autocomplete-origin{position:absolute;width:calc(100% + 28px);bottom:0;height:2px;margin-left:-14px}mat-spinner{margin-top:-9px;margin-right:6px}.mat-mdc-form-field-infix{display:flex}::ng-deep .vd-chips-autocomplete .mat-mdc-autocomplete-panel{padding:0!important}::ng-deep .vd-chips-autocomplete .table-autocomplete{overflow:hidden}::ng-deep .vd-chips-autocomplete .table-autocomplete .mat-table-container{height:calc(100% - 56px)!important;max-height:100vh!important}::ng-deep .vd-chips-autocomplete .vd-chips-paginator{position:sticky;bottom:0}::ng-deep .vd-chips-autocomplete .vd-chips-paginator .mat-mdc-paginator .mat-mdc-paginator-container{padding:0}::ng-deep .vd-chips-autocomplete .vd-chips-paginator .mat-mdc-paginator .mat-mdc-paginator-container .mat-mdc-paginator-range-actions .mat-mdc-paginator-range-label{margin:0 16px 0 24px}::ng-deep .mat-mdc-table .mat-mdc-form-field .mdc-text-field--outlined .mat-mdc-notch-piece,::ng-deep .mat-mdc-table .mat-mdc-form-field .mdc-text-field--outlined .mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline))!important;border-width:var(--mat-form-field-outlined-outline-width, 1px)!important}\n"] }]
|
|
22498
22498
|
}], ctorParameters: () => [{ type: VdMediaService }], propDecorators: { dynamicTable: [{
|
|
22499
22499
|
type: ViewChild,
|
|
22500
22500
|
args: [VdDynamicTableComponent, { static: false }]
|
|
@@ -24236,6 +24236,265 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
24236
24236
|
`, styles: ["mat-form-field{width:100%}\n"] }]
|
|
24237
24237
|
}] });
|
|
24238
24238
|
|
|
24239
|
+
/**
|
|
24240
|
+
* @class MsaGenericFormMsaChipsFieldComponent
|
|
24241
|
+
* @description Renders a VdChips case for `MsaGenericFormComponent`.
|
|
24242
|
+
*/
|
|
24243
|
+
class MsaGenericFormMsaChipsFieldComponent extends MsaGenericFormFieldBaseComponent {
|
|
24244
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MsaGenericFormMsaChipsFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
24245
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MsaGenericFormMsaChipsFieldComponent, isStandalone: true, selector: "msa-generic-form-msa-chips-field", usesInheritance: true, ngImport: i0, template: `Class Type 1: {{ field.classType }}
|
|
24246
|
+
<mat-form-field [class]="field.cssClass">
|
|
24247
|
+
<mat-label>{{field.label}}</mat-label>
|
|
24248
|
+
<vd-chips #vdChip
|
|
24249
|
+
[formControlName]="field.name!"
|
|
24250
|
+
[endpoint]="field.endpoint??'' | func:formValue:formGroup:context"
|
|
24251
|
+
[params]="field.params || {} | func:formValue:formGroup:context"
|
|
24252
|
+
[searchField]="field.searchField"
|
|
24253
|
+
[searchFields]="field.searchFields"
|
|
24254
|
+
[filters]="field.filters"
|
|
24255
|
+
[selectFirst]="field.selectFirst"
|
|
24256
|
+
[classType]="field.classType"
|
|
24257
|
+
[projection]="field.projection"
|
|
24258
|
+
[key]="field.optionValueProperty"
|
|
24259
|
+
[readonly]="(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false"
|
|
24260
|
+
[removable]="!field.clear"
|
|
24261
|
+
[context]="context"
|
|
24262
|
+
[suffixButtons]="field.suffixButtons"
|
|
24263
|
+
[autocompleteCssClass]="field.autocompleteCssClass"
|
|
24264
|
+
(initSelect)="field.itemSelect && field.itemSelect($event, formValue, formGroup, context);"
|
|
24265
|
+
(selected)="!field.itemChange ? $event.callback(true) : $event.callback(field.itemChange($event.value, formValue, formGroup, context) !== false)"
|
|
24266
|
+
(cleared)="field.clear && field.clear(formValue, formGroup, context);"
|
|
24267
|
+
[customValue]="field.customValue"
|
|
24268
|
+
layout="row"
|
|
24269
|
+
flex>
|
|
24270
|
+
@if (field.chipTemplate; as chip) {
|
|
24271
|
+
<ng-template vd-chip let-chip="chip">
|
|
24272
|
+
<div [outerHTML]="field.chipTemplate(chip, formValue, formGroup, context)"></div>
|
|
24273
|
+
</ng-template>
|
|
24274
|
+
}
|
|
24275
|
+
@if (field.autocompleteTemplate; as option) {
|
|
24276
|
+
<ng-template vd-autocomplete-option let-option="option">
|
|
24277
|
+
<div [outerHTML]="field.autocompleteTemplate(option, formValue, formGroup, context)"></div>
|
|
24278
|
+
</ng-template>
|
|
24279
|
+
}
|
|
24280
|
+
</vd-chips>
|
|
24281
|
+
@if (field.hint) {
|
|
24282
|
+
<mat-hint>{{field.hint}}</mat-hint>
|
|
24283
|
+
}
|
|
24284
|
+
@if (vdChip.emptyResult) {
|
|
24285
|
+
<mat-hint class="tc-red-400" i18n="@@noResultsFound">No results were found.</mat-hint>
|
|
24286
|
+
}
|
|
24287
|
+
@for (errorMessage of $any(formGroup.controls[field.name!])['errorMessages']; track errorMessage) {
|
|
24288
|
+
<mat-error>{{errorMessage}}</mat-error>
|
|
24289
|
+
}
|
|
24290
|
+
</mat-form-field>
|
|
24291
|
+
`, isInline: true, styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: VdChipsComponent, selector: "vd-chips", inputs: ["classType", "chips", "endpoint", "params", "projection", "paginated", "customValue", "context", "key", "searchField", "searchFields", "filters", "removable", "selectFirst", "debounce", "autocompleteCssClass", "suffixButtons"], outputs: ["initSelect", "selected", "cleared", "launch", "chipFocus"] }, { kind: "directive", type: VdChipDirective, selector: "[vd-chip]ng-template" }, { kind: "directive", type: VdAutocompleteOptionDirective, selector: "[vd-autocomplete-option]ng-template" }, { kind: "pipe", type: FuncPipe, name: "func" }], viewProviders: [{ provide: ControlContainer, useExisting: FormGroupDirective }] });
|
|
24292
|
+
}
|
|
24293
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MsaGenericFormMsaChipsFieldComponent, decorators: [{
|
|
24294
|
+
type: Component,
|
|
24295
|
+
args: [{ selector: 'msa-generic-form-msa-chips-field', standalone: true, imports: [
|
|
24296
|
+
CommonModule,
|
|
24297
|
+
ReactiveFormsModule,
|
|
24298
|
+
MatFormFieldModule,
|
|
24299
|
+
FuncPipe,
|
|
24300
|
+
VdChipsComponent,
|
|
24301
|
+
VdChipDirective,
|
|
24302
|
+
VdAutocompleteOptionDirective
|
|
24303
|
+
], viewProviders: [{ provide: ControlContainer, useExisting: FormGroupDirective }], template: `Class Type 1: {{ field.classType }}
|
|
24304
|
+
<mat-form-field [class]="field.cssClass">
|
|
24305
|
+
<mat-label>{{field.label}}</mat-label>
|
|
24306
|
+
<vd-chips #vdChip
|
|
24307
|
+
[formControlName]="field.name!"
|
|
24308
|
+
[endpoint]="field.endpoint??'' | func:formValue:formGroup:context"
|
|
24309
|
+
[params]="field.params || {} | func:formValue:formGroup:context"
|
|
24310
|
+
[searchField]="field.searchField"
|
|
24311
|
+
[searchFields]="field.searchFields"
|
|
24312
|
+
[filters]="field.filters"
|
|
24313
|
+
[selectFirst]="field.selectFirst"
|
|
24314
|
+
[classType]="field.classType"
|
|
24315
|
+
[projection]="field.projection"
|
|
24316
|
+
[key]="field.optionValueProperty"
|
|
24317
|
+
[readonly]="(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false"
|
|
24318
|
+
[removable]="!field.clear"
|
|
24319
|
+
[context]="context"
|
|
24320
|
+
[suffixButtons]="field.suffixButtons"
|
|
24321
|
+
[autocompleteCssClass]="field.autocompleteCssClass"
|
|
24322
|
+
(initSelect)="field.itemSelect && field.itemSelect($event, formValue, formGroup, context);"
|
|
24323
|
+
(selected)="!field.itemChange ? $event.callback(true) : $event.callback(field.itemChange($event.value, formValue, formGroup, context) !== false)"
|
|
24324
|
+
(cleared)="field.clear && field.clear(formValue, formGroup, context);"
|
|
24325
|
+
[customValue]="field.customValue"
|
|
24326
|
+
layout="row"
|
|
24327
|
+
flex>
|
|
24328
|
+
@if (field.chipTemplate; as chip) {
|
|
24329
|
+
<ng-template vd-chip let-chip="chip">
|
|
24330
|
+
<div [outerHTML]="field.chipTemplate(chip, formValue, formGroup, context)"></div>
|
|
24331
|
+
</ng-template>
|
|
24332
|
+
}
|
|
24333
|
+
@if (field.autocompleteTemplate; as option) {
|
|
24334
|
+
<ng-template vd-autocomplete-option let-option="option">
|
|
24335
|
+
<div [outerHTML]="field.autocompleteTemplate(option, formValue, formGroup, context)"></div>
|
|
24336
|
+
</ng-template>
|
|
24337
|
+
}
|
|
24338
|
+
</vd-chips>
|
|
24339
|
+
@if (field.hint) {
|
|
24340
|
+
<mat-hint>{{field.hint}}</mat-hint>
|
|
24341
|
+
}
|
|
24342
|
+
@if (vdChip.emptyResult) {
|
|
24343
|
+
<mat-hint class="tc-red-400" i18n="@@noResultsFound">No results were found.</mat-hint>
|
|
24344
|
+
}
|
|
24345
|
+
@for (errorMessage of $any(formGroup.controls[field.name!])['errorMessages']; track errorMessage) {
|
|
24346
|
+
<mat-error>{{errorMessage}}</mat-error>
|
|
24347
|
+
}
|
|
24348
|
+
</mat-form-field>
|
|
24349
|
+
`, styles: ["mat-form-field{width:100%}\n"] }]
|
|
24350
|
+
}] });
|
|
24351
|
+
|
|
24352
|
+
/**
|
|
24353
|
+
* VdListOptionDirective class
|
|
24354
|
+
*/
|
|
24355
|
+
class VdListOptionDirective extends CdkPortal {
|
|
24356
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdListOptionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
24357
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: VdListOptionDirective, isStandalone: true, selector: "[vd-list-option]ng-template", usesInheritance: true, ngImport: i0 });
|
|
24358
|
+
}
|
|
24359
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdListOptionDirective, decorators: [{
|
|
24360
|
+
type: Directive,
|
|
24361
|
+
args: [{
|
|
24362
|
+
selector: '[vd-list-option]ng-template'
|
|
24363
|
+
}]
|
|
24364
|
+
}] });
|
|
24365
|
+
|
|
24366
|
+
class VdListComponent extends AbstractSelectFormField {
|
|
24367
|
+
/**
|
|
24368
|
+
* Option template
|
|
24369
|
+
*/
|
|
24370
|
+
optionTemplate;
|
|
24371
|
+
/**
|
|
24372
|
+
* The select element.
|
|
24373
|
+
*/
|
|
24374
|
+
selectEl;
|
|
24375
|
+
/**
|
|
24376
|
+
* The select element.
|
|
24377
|
+
*/
|
|
24378
|
+
filterInput;
|
|
24379
|
+
/**
|
|
24380
|
+
* Whether the select has a value.
|
|
24381
|
+
*/
|
|
24382
|
+
get empty() { return this._readonly ? !this.currentValue : (this.selectEl?.selectedOptions?.isEmpty() ?? true); }
|
|
24383
|
+
/**
|
|
24384
|
+
* Constructor
|
|
24385
|
+
*/
|
|
24386
|
+
constructor() {
|
|
24387
|
+
super("vd-list");
|
|
24388
|
+
}
|
|
24389
|
+
/**
|
|
24390
|
+
* Sets control focus
|
|
24391
|
+
*/
|
|
24392
|
+
focus() {
|
|
24393
|
+
this.selectEl?.focus();
|
|
24394
|
+
}
|
|
24395
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24396
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: VdListComponent, isStandalone: true, selector: "vd-list", host: { classAttribute: "vd-list" }, providers: [{ provide: MatFormFieldControl, useExisting: VdListComponent }], queries: [{ propertyName: "optionTemplate", first: true, predicate: VdListOptionDirective, descendants: true }], viewQueries: [{ propertyName: "selectEl", first: true, predicate: MatSelectionList, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-selection-list i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelectionList\" (selectionChange)=\"handleChange($event)\" [multiple]=\"multiple\" [compareWith]=\"compareWith??defaultCompareWith\" [disabled]=\"disabled || readonly\" [hideSingleSelectionIndicator]=\"false\" flex>\n <!-- #region Options -->\n @for (option of filteredOptions; track option; let first = $first) {\n <mat-list-option [value]=\"mapper ? option : option[optionValueProperty]\">\n @if (!optionTemplate?.templateRef) {\n <span i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other{{{option[optionTextProperty]}}}}</span>\n } @if (optionTemplate?.templateRef) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(optionTemplate.templateRef)!\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\n }\n </mat-list-option>\n }\n <!-- #endregion -->\n</mat-selection-list>", styles: ["::ng-deep .vd-list{overflow:auto;max-height:100%}::ng-deep .mat-mdc-form-field-type-vd-list .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-mdc-form-field-type-vd-list .mdc-text-field{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
24397
|
+
}
|
|
24398
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdListComponent, decorators: [{
|
|
24399
|
+
type: Component,
|
|
24400
|
+
args: [{ selector: 'vd-list', host: { 'class': 'vd-list' }, providers: [{ provide: MatFormFieldControl, useExisting: VdListComponent }], changeDetection: ChangeDetectionStrategy.Eager, imports: [
|
|
24401
|
+
CommonModule,
|
|
24402
|
+
MatSelectionList,
|
|
24403
|
+
MatListOption,
|
|
24404
|
+
FormsModule
|
|
24405
|
+
], template: "<mat-selection-list i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelectionList\" (selectionChange)=\"handleChange($event)\" [multiple]=\"multiple\" [compareWith]=\"compareWith??defaultCompareWith\" [disabled]=\"disabled || readonly\" [hideSingleSelectionIndicator]=\"false\" flex>\n <!-- #region Options -->\n @for (option of filteredOptions; track option; let first = $first) {\n <mat-list-option [value]=\"mapper ? option : option[optionValueProperty]\">\n @if (!optionTemplate?.templateRef) {\n <span i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other{{{option[optionTextProperty]}}}}</span>\n } @if (optionTemplate?.templateRef) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(optionTemplate.templateRef)!\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\n }\n </mat-list-option>\n }\n <!-- #endregion -->\n</mat-selection-list>", styles: ["::ng-deep .vd-list{overflow:auto;max-height:100%}::ng-deep .mat-mdc-form-field-type-vd-list .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-mdc-form-field-type-vd-list .mdc-text-field{padding:0}\n"] }]
|
|
24406
|
+
}], ctorParameters: () => [], propDecorators: { optionTemplate: [{
|
|
24407
|
+
type: ContentChild,
|
|
24408
|
+
args: [VdListOptionDirective]
|
|
24409
|
+
}], selectEl: [{
|
|
24410
|
+
type: ViewChild,
|
|
24411
|
+
args: [MatSelectionList, { static: false }]
|
|
24412
|
+
}], filterInput: [{
|
|
24413
|
+
type: ViewChild,
|
|
24414
|
+
args: ['filterInput', { static: false }]
|
|
24415
|
+
}] } });
|
|
24416
|
+
|
|
24417
|
+
/**
|
|
24418
|
+
* @class MsaGenericFormMsaListFieldComponent
|
|
24419
|
+
* @description Renders a MsaList case for `MsaGenericFormComponent`.
|
|
24420
|
+
*/
|
|
24421
|
+
class MsaGenericFormMsaListFieldComponent extends MsaGenericFormFieldBaseComponent {
|
|
24422
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MsaGenericFormMsaListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
24423
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MsaGenericFormMsaListFieldComponent, isStandalone: true, selector: "msa-generic-form-msa-list-field", usesInheritance: true, ngImport: i0, template: `
|
|
24424
|
+
<mat-form-field [class]="field.cssClass"
|
|
24425
|
+
floatLabel="always"
|
|
24426
|
+
class="form-field-type-list">
|
|
24427
|
+
<mat-label>{{field.label}}</mat-label>
|
|
24428
|
+
<vd-list [formControlName]="field.name!"
|
|
24429
|
+
[endpoint]="field.endpoint??'' | func:formValue:formGroup:context"
|
|
24430
|
+
[params]="field.params ??{} | func:formValue:formGroup:context"
|
|
24431
|
+
[projection]="field.projection"
|
|
24432
|
+
[mapper]="field.mapper"
|
|
24433
|
+
[compareWith]="field.compareWith"
|
|
24434
|
+
[loadData]="field.fetchCondition | func:formValue:formGroup:context"
|
|
24435
|
+
[optionValueProperty]="field.optionValueProperty"
|
|
24436
|
+
[optionTextProperty]="field.optionTextProperty"
|
|
24437
|
+
[multiple]="field.multiple"
|
|
24438
|
+
[readonly]="(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false"
|
|
24439
|
+
(itemSelected)="field.itemSelect && field.itemSelect($event, formValue, formGroup, context);"
|
|
24440
|
+
(itemChange)="field.itemChange && field.itemChange($event, formValue, formGroup, context);"
|
|
24441
|
+
[style.max-width]="field.maxWidth"
|
|
24442
|
+
[style.max-height]="field.maxHeight"
|
|
24443
|
+
flex>
|
|
24444
|
+
@if (field.optionTemplate; as option) {
|
|
24445
|
+
<ng-template vd-list-option let-option="option">
|
|
24446
|
+
<span [outerHTML]="field.optionTemplate(option, formValue, formGroup, context)"></span>
|
|
24447
|
+
</ng-template>
|
|
24448
|
+
}
|
|
24449
|
+
</vd-list>
|
|
24450
|
+
@if (field.hint) {
|
|
24451
|
+
<mat-hint>{{field.hint}}</mat-hint>
|
|
24452
|
+
}
|
|
24453
|
+
@for (errorMessage of $any(formGroup.controls[field.name!])['errorMessages']; track errorMessage) {
|
|
24454
|
+
<mat-error>{{errorMessage}}</mat-error>
|
|
24455
|
+
}
|
|
24456
|
+
</mat-form-field>
|
|
24457
|
+
`, isInline: true, styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: VdListComponent, selector: "vd-list" }, { kind: "pipe", type: FuncPipe, name: "func" }], viewProviders: [{ provide: ControlContainer, useExisting: FormGroupDirective }] });
|
|
24458
|
+
}
|
|
24459
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MsaGenericFormMsaListFieldComponent, decorators: [{
|
|
24460
|
+
type: Component,
|
|
24461
|
+
args: [{ selector: 'msa-generic-form-msa-list-field', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, FuncPipe, VdListComponent], viewProviders: [{ provide: ControlContainer, useExisting: FormGroupDirective }], template: `
|
|
24462
|
+
<mat-form-field [class]="field.cssClass"
|
|
24463
|
+
floatLabel="always"
|
|
24464
|
+
class="form-field-type-list">
|
|
24465
|
+
<mat-label>{{field.label}}</mat-label>
|
|
24466
|
+
<vd-list [formControlName]="field.name!"
|
|
24467
|
+
[endpoint]="field.endpoint??'' | func:formValue:formGroup:context"
|
|
24468
|
+
[params]="field.params ??{} | func:formValue:formGroup:context"
|
|
24469
|
+
[projection]="field.projection"
|
|
24470
|
+
[mapper]="field.mapper"
|
|
24471
|
+
[compareWith]="field.compareWith"
|
|
24472
|
+
[loadData]="field.fetchCondition | func:formValue:formGroup:context"
|
|
24473
|
+
[optionValueProperty]="field.optionValueProperty"
|
|
24474
|
+
[optionTextProperty]="field.optionTextProperty"
|
|
24475
|
+
[multiple]="field.multiple"
|
|
24476
|
+
[readonly]="(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false"
|
|
24477
|
+
(itemSelected)="field.itemSelect && field.itemSelect($event, formValue, formGroup, context);"
|
|
24478
|
+
(itemChange)="field.itemChange && field.itemChange($event, formValue, formGroup, context);"
|
|
24479
|
+
[style.max-width]="field.maxWidth"
|
|
24480
|
+
[style.max-height]="field.maxHeight"
|
|
24481
|
+
flex>
|
|
24482
|
+
@if (field.optionTemplate; as option) {
|
|
24483
|
+
<ng-template vd-list-option let-option="option">
|
|
24484
|
+
<span [outerHTML]="field.optionTemplate(option, formValue, formGroup, context)"></span>
|
|
24485
|
+
</ng-template>
|
|
24486
|
+
}
|
|
24487
|
+
</vd-list>
|
|
24488
|
+
@if (field.hint) {
|
|
24489
|
+
<mat-hint>{{field.hint}}</mat-hint>
|
|
24490
|
+
}
|
|
24491
|
+
@for (errorMessage of $any(formGroup.controls[field.name!])['errorMessages']; track errorMessage) {
|
|
24492
|
+
<mat-error>{{errorMessage}}</mat-error>
|
|
24493
|
+
}
|
|
24494
|
+
</mat-form-field>
|
|
24495
|
+
`, styles: ["mat-form-field{width:100%}\n"] }]
|
|
24496
|
+
}] });
|
|
24497
|
+
|
|
24239
24498
|
/**
|
|
24240
24499
|
* @class MsaGenericFormMsaSelectFieldComponent
|
|
24241
24500
|
* @description Renders a MsaSelect case for `MsaGenericFormComponent`.
|
|
@@ -25144,265 +25403,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
25144
25403
|
`, styles: ["mat-form-field{width:100%}\n"] }]
|
|
25145
25404
|
}] });
|
|
25146
25405
|
|
|
25147
|
-
/**
|
|
25148
|
-
* VdListOptionDirective class
|
|
25149
|
-
*/
|
|
25150
|
-
class VdListOptionDirective extends CdkPortal {
|
|
25151
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdListOptionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
25152
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: VdListOptionDirective, isStandalone: true, selector: "[vd-list-option]ng-template", usesInheritance: true, ngImport: i0 });
|
|
25153
|
-
}
|
|
25154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdListOptionDirective, decorators: [{
|
|
25155
|
-
type: Directive,
|
|
25156
|
-
args: [{
|
|
25157
|
-
selector: '[vd-list-option]ng-template'
|
|
25158
|
-
}]
|
|
25159
|
-
}] });
|
|
25160
|
-
|
|
25161
|
-
class VdListComponent extends AbstractSelectFormField {
|
|
25162
|
-
/**
|
|
25163
|
-
* Option template
|
|
25164
|
-
*/
|
|
25165
|
-
optionTemplate;
|
|
25166
|
-
/**
|
|
25167
|
-
* The select element.
|
|
25168
|
-
*/
|
|
25169
|
-
selectEl;
|
|
25170
|
-
/**
|
|
25171
|
-
* The select element.
|
|
25172
|
-
*/
|
|
25173
|
-
filterInput;
|
|
25174
|
-
/**
|
|
25175
|
-
* Whether the select has a value.
|
|
25176
|
-
*/
|
|
25177
|
-
get empty() { return this._readonly ? !this.currentValue : (this.selectEl?.selectedOptions?.isEmpty() ?? true); }
|
|
25178
|
-
/**
|
|
25179
|
-
* Constructor
|
|
25180
|
-
*/
|
|
25181
|
-
constructor() {
|
|
25182
|
-
super("vd-list");
|
|
25183
|
-
}
|
|
25184
|
-
/**
|
|
25185
|
-
* Sets control focus
|
|
25186
|
-
*/
|
|
25187
|
-
focus() {
|
|
25188
|
-
this.selectEl?.focus();
|
|
25189
|
-
}
|
|
25190
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25191
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: VdListComponent, isStandalone: true, selector: "vd-list", host: { classAttribute: "vd-list" }, providers: [{ provide: MatFormFieldControl, useExisting: VdListComponent }], queries: [{ propertyName: "optionTemplate", first: true, predicate: VdListOptionDirective, descendants: true }], viewQueries: [{ propertyName: "selectEl", first: true, predicate: MatSelectionList, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-selection-list i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelectionList\" (selectionChange)=\"handleChange($event)\" [multiple]=\"multiple\" [compareWith]=\"compareWith??defaultCompareWith\" [disabled]=\"disabled || readonly\" [hideSingleSelectionIndicator]=\"false\" flex>\n <!-- #region Options -->\n @for (option of filteredOptions; track option; let first = $first) {\n <mat-list-option [value]=\"mapper ? option : option[optionValueProperty]\">\n @if (!optionTemplate?.templateRef) {\n <span i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other{{{option[optionTextProperty]}}}}</span>\n } @if (optionTemplate?.templateRef) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(optionTemplate.templateRef)!\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\n }\n </mat-list-option>\n }\n <!-- #endregion -->\n</mat-selection-list>", styles: ["::ng-deep .vd-list{overflow:auto;max-height:100%}::ng-deep .mat-mdc-form-field-type-vd-list .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-mdc-form-field-type-vd-list .mdc-text-field{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
25192
|
-
}
|
|
25193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdListComponent, decorators: [{
|
|
25194
|
-
type: Component,
|
|
25195
|
-
args: [{ selector: 'vd-list', host: { 'class': 'vd-list' }, providers: [{ provide: MatFormFieldControl, useExisting: VdListComponent }], changeDetection: ChangeDetectionStrategy.Eager, imports: [
|
|
25196
|
-
CommonModule,
|
|
25197
|
-
MatSelectionList,
|
|
25198
|
-
MatListOption,
|
|
25199
|
-
FormsModule
|
|
25200
|
-
], template: "<mat-selection-list i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelectionList\" (selectionChange)=\"handleChange($event)\" [multiple]=\"multiple\" [compareWith]=\"compareWith??defaultCompareWith\" [disabled]=\"disabled || readonly\" [hideSingleSelectionIndicator]=\"false\" flex>\n <!-- #region Options -->\n @for (option of filteredOptions; track option; let first = $first) {\n <mat-list-option [value]=\"mapper ? option : option[optionValueProperty]\">\n @if (!optionTemplate?.templateRef) {\n <span i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other{{{option[optionTextProperty]}}}}</span>\n } @if (optionTemplate?.templateRef) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(optionTemplate.templateRef)!\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\n }\n </mat-list-option>\n }\n <!-- #endregion -->\n</mat-selection-list>", styles: ["::ng-deep .vd-list{overflow:auto;max-height:100%}::ng-deep .mat-mdc-form-field-type-vd-list .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-mdc-form-field-type-vd-list .mdc-text-field{padding:0}\n"] }]
|
|
25201
|
-
}], ctorParameters: () => [], propDecorators: { optionTemplate: [{
|
|
25202
|
-
type: ContentChild,
|
|
25203
|
-
args: [VdListOptionDirective]
|
|
25204
|
-
}], selectEl: [{
|
|
25205
|
-
type: ViewChild,
|
|
25206
|
-
args: [MatSelectionList, { static: false }]
|
|
25207
|
-
}], filterInput: [{
|
|
25208
|
-
type: ViewChild,
|
|
25209
|
-
args: ['filterInput', { static: false }]
|
|
25210
|
-
}] } });
|
|
25211
|
-
|
|
25212
|
-
/**
|
|
25213
|
-
* @class MsaGenericFormVdListFieldComponent
|
|
25214
|
-
* @description Renders a VdList case for `MsaGenericFormComponent`.
|
|
25215
|
-
*/
|
|
25216
|
-
class MsaGenericFormVdListFieldComponent extends MsaGenericFormFieldBaseComponent {
|
|
25217
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MsaGenericFormVdListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25218
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MsaGenericFormVdListFieldComponent, isStandalone: true, selector: "msa-generic-form-vd-list-field", usesInheritance: true, ngImport: i0, template: `
|
|
25219
|
-
<mat-form-field [class]="field.cssClass"
|
|
25220
|
-
floatLabel="always"
|
|
25221
|
-
class="form-field-type-list">
|
|
25222
|
-
<mat-label>{{field.label}}</mat-label>
|
|
25223
|
-
<vd-list [formControlName]="field.name!"
|
|
25224
|
-
[endpoint]="field.endpoint??'' | func:formValue:formGroup:context"
|
|
25225
|
-
[params]="field.params ??{} | func:formValue:formGroup:context"
|
|
25226
|
-
[projection]="field.projection"
|
|
25227
|
-
[mapper]="field.mapper"
|
|
25228
|
-
[compareWith]="field.compareWith"
|
|
25229
|
-
[loadData]="field.fetchCondition | func:formValue:formGroup:context"
|
|
25230
|
-
[optionValueProperty]="field.optionValueProperty"
|
|
25231
|
-
[optionTextProperty]="field.optionTextProperty"
|
|
25232
|
-
[multiple]="field.multiple"
|
|
25233
|
-
[readonly]="(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false"
|
|
25234
|
-
(itemSelected)="field.itemSelect && field.itemSelect($event, formValue, formGroup, context);"
|
|
25235
|
-
(itemChange)="field.itemChange && field.itemChange($event, formValue, formGroup, context);"
|
|
25236
|
-
[style.max-width]="field.maxWidth"
|
|
25237
|
-
[style.max-height]="field.maxHeight"
|
|
25238
|
-
flex>
|
|
25239
|
-
@if (field.optionTemplate; as option) {
|
|
25240
|
-
<ng-template vd-list-option let-option="option">
|
|
25241
|
-
<span [outerHTML]="field.optionTemplate(option, formValue, formGroup, context)"></span>
|
|
25242
|
-
</ng-template>
|
|
25243
|
-
}
|
|
25244
|
-
</vd-list>
|
|
25245
|
-
@if (field.hint) {
|
|
25246
|
-
<mat-hint>{{field.hint}}</mat-hint>
|
|
25247
|
-
}
|
|
25248
|
-
@for (errorMessage of $any(formGroup.controls[field.name!])['errorMessages']; track errorMessage) {
|
|
25249
|
-
<mat-error>{{errorMessage}}</mat-error>
|
|
25250
|
-
}
|
|
25251
|
-
</mat-form-field>
|
|
25252
|
-
`, isInline: true, styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: VdListComponent, selector: "vd-list" }, { kind: "pipe", type: FuncPipe, name: "func" }], viewProviders: [{ provide: ControlContainer, useExisting: FormGroupDirective }] });
|
|
25253
|
-
}
|
|
25254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MsaGenericFormVdListFieldComponent, decorators: [{
|
|
25255
|
-
type: Component,
|
|
25256
|
-
args: [{ selector: 'msa-generic-form-vd-list-field', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, FuncPipe, VdListComponent], viewProviders: [{ provide: ControlContainer, useExisting: FormGroupDirective }], template: `
|
|
25257
|
-
<mat-form-field [class]="field.cssClass"
|
|
25258
|
-
floatLabel="always"
|
|
25259
|
-
class="form-field-type-list">
|
|
25260
|
-
<mat-label>{{field.label}}</mat-label>
|
|
25261
|
-
<vd-list [formControlName]="field.name!"
|
|
25262
|
-
[endpoint]="field.endpoint??'' | func:formValue:formGroup:context"
|
|
25263
|
-
[params]="field.params ??{} | func:formValue:formGroup:context"
|
|
25264
|
-
[projection]="field.projection"
|
|
25265
|
-
[mapper]="field.mapper"
|
|
25266
|
-
[compareWith]="field.compareWith"
|
|
25267
|
-
[loadData]="field.fetchCondition | func:formValue:formGroup:context"
|
|
25268
|
-
[optionValueProperty]="field.optionValueProperty"
|
|
25269
|
-
[optionTextProperty]="field.optionTextProperty"
|
|
25270
|
-
[multiple]="field.multiple"
|
|
25271
|
-
[readonly]="(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false"
|
|
25272
|
-
(itemSelected)="field.itemSelect && field.itemSelect($event, formValue, formGroup, context);"
|
|
25273
|
-
(itemChange)="field.itemChange && field.itemChange($event, formValue, formGroup, context);"
|
|
25274
|
-
[style.max-width]="field.maxWidth"
|
|
25275
|
-
[style.max-height]="field.maxHeight"
|
|
25276
|
-
flex>
|
|
25277
|
-
@if (field.optionTemplate; as option) {
|
|
25278
|
-
<ng-template vd-list-option let-option="option">
|
|
25279
|
-
<span [outerHTML]="field.optionTemplate(option, formValue, formGroup, context)"></span>
|
|
25280
|
-
</ng-template>
|
|
25281
|
-
}
|
|
25282
|
-
</vd-list>
|
|
25283
|
-
@if (field.hint) {
|
|
25284
|
-
<mat-hint>{{field.hint}}</mat-hint>
|
|
25285
|
-
}
|
|
25286
|
-
@for (errorMessage of $any(formGroup.controls[field.name!])['errorMessages']; track errorMessage) {
|
|
25287
|
-
<mat-error>{{errorMessage}}</mat-error>
|
|
25288
|
-
}
|
|
25289
|
-
</mat-form-field>
|
|
25290
|
-
`, styles: ["mat-form-field{width:100%}\n"] }]
|
|
25291
|
-
}] });
|
|
25292
|
-
|
|
25293
|
-
/**
|
|
25294
|
-
* @class MsaGenericFormVdChipsFieldComponent
|
|
25295
|
-
* @description Renders a VdChips case for `MsaGenericFormComponent`.
|
|
25296
|
-
*/
|
|
25297
|
-
class MsaGenericFormVdChipsFieldComponent extends MsaGenericFormFieldBaseComponent {
|
|
25298
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MsaGenericFormVdChipsFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25299
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MsaGenericFormVdChipsFieldComponent, isStandalone: true, selector: "msa-generic-form-vdchips-field", usesInheritance: true, ngImport: i0, template: `
|
|
25300
|
-
<mat-form-field [class]="field.cssClass">
|
|
25301
|
-
<mat-label>{{field.label}}</mat-label>
|
|
25302
|
-
<vd-chips #vdChip
|
|
25303
|
-
[formControlName]="field.name!"
|
|
25304
|
-
[endpoint]="field.endpoint??'' | func:formValue:formGroup:context"
|
|
25305
|
-
[params]="field.params || {} | func:formValue:formGroup:context"
|
|
25306
|
-
[searchField]="field.searchField"
|
|
25307
|
-
[searchFields]="field.searchFields"
|
|
25308
|
-
[filters]="field.filters"
|
|
25309
|
-
[selectFirst]="field.selectFirst"
|
|
25310
|
-
[classType]="field.classType"
|
|
25311
|
-
[projection]="field.projection"
|
|
25312
|
-
[key]="field.optionValueProperty"
|
|
25313
|
-
[readonly]="(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false"
|
|
25314
|
-
[removable]="!field.clear"
|
|
25315
|
-
[context]="context"
|
|
25316
|
-
[suffixButtons]="field.suffixButtons"
|
|
25317
|
-
[autocompleteCssClass]="field.autocompleteCssClass"
|
|
25318
|
-
(initSelect)="field.itemSelect && field.itemSelect($event, formValue, formGroup, context);"
|
|
25319
|
-
(selected)="!field.itemChange ? $event.callback(true) : $event.callback(field.itemChange($event.value, formValue, formGroup, context) !== false)"
|
|
25320
|
-
(cleared)="field.clear && field.clear(formValue, formGroup, context);"
|
|
25321
|
-
[customValue]="field.customValue"
|
|
25322
|
-
layout="row"
|
|
25323
|
-
flex>
|
|
25324
|
-
@if (field.chipTemplate; as chip) {
|
|
25325
|
-
<ng-template vd-chip let-chip="chip">
|
|
25326
|
-
<div [outerHTML]="field.chipTemplate(chip, formValue, formGroup, context)"></div>
|
|
25327
|
-
</ng-template>
|
|
25328
|
-
}
|
|
25329
|
-
@if (field.autocompleteTemplate; as option) {
|
|
25330
|
-
<ng-template vd-autocomplete-option let-option="option">
|
|
25331
|
-
<div [outerHTML]="field.autocompleteTemplate(option, formValue, formGroup, context)"></div>
|
|
25332
|
-
</ng-template>
|
|
25333
|
-
}
|
|
25334
|
-
</vd-chips>
|
|
25335
|
-
@if (field.hint) {
|
|
25336
|
-
<mat-hint>{{field.hint}}</mat-hint>
|
|
25337
|
-
}
|
|
25338
|
-
@if (vdChip.emptyResult) {
|
|
25339
|
-
<mat-hint class="tc-red-400" i18n="@@noResultsFound">No results were found.</mat-hint>
|
|
25340
|
-
}
|
|
25341
|
-
@for (errorMessage of $any(formGroup.controls[field.name!])['errorMessages']; track errorMessage) {
|
|
25342
|
-
<mat-error>{{errorMessage}}</mat-error>
|
|
25343
|
-
}
|
|
25344
|
-
</mat-form-field>
|
|
25345
|
-
`, isInline: true, styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: VdChipsComponent, selector: "vd-chips", inputs: ["classType", "chips", "endpoint", "params", "projection", "paginated", "customValue", "context", "key", "searchField", "searchFields", "filters", "removable", "selectFirst", "debounce", "autocompleteCssClass", "suffixButtons"], outputs: ["initSelect", "selected", "cleared", "launch", "chipFocus"] }, { kind: "directive", type: VdChipDirective, selector: "[vd-chip]ng-template" }, { kind: "directive", type: VdAutocompleteOptionDirective, selector: "[vd-autocomplete-option]ng-template" }, { kind: "pipe", type: FuncPipe, name: "func" }], viewProviders: [{ provide: ControlContainer, useExisting: FormGroupDirective }] });
|
|
25346
|
-
}
|
|
25347
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MsaGenericFormVdChipsFieldComponent, decorators: [{
|
|
25348
|
-
type: Component,
|
|
25349
|
-
args: [{ selector: 'msa-generic-form-vdchips-field', standalone: true, imports: [
|
|
25350
|
-
CommonModule,
|
|
25351
|
-
ReactiveFormsModule,
|
|
25352
|
-
MatFormFieldModule,
|
|
25353
|
-
FuncPipe,
|
|
25354
|
-
VdChipsComponent,
|
|
25355
|
-
VdChipDirective,
|
|
25356
|
-
VdAutocompleteOptionDirective
|
|
25357
|
-
], viewProviders: [{ provide: ControlContainer, useExisting: FormGroupDirective }], template: `
|
|
25358
|
-
<mat-form-field [class]="field.cssClass">
|
|
25359
|
-
<mat-label>{{field.label}}</mat-label>
|
|
25360
|
-
<vd-chips #vdChip
|
|
25361
|
-
[formControlName]="field.name!"
|
|
25362
|
-
[endpoint]="field.endpoint??'' | func:formValue:formGroup:context"
|
|
25363
|
-
[params]="field.params || {} | func:formValue:formGroup:context"
|
|
25364
|
-
[searchField]="field.searchField"
|
|
25365
|
-
[searchFields]="field.searchFields"
|
|
25366
|
-
[filters]="field.filters"
|
|
25367
|
-
[selectFirst]="field.selectFirst"
|
|
25368
|
-
[classType]="field.classType"
|
|
25369
|
-
[projection]="field.projection"
|
|
25370
|
-
[key]="field.optionValueProperty"
|
|
25371
|
-
[readonly]="(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false"
|
|
25372
|
-
[removable]="!field.clear"
|
|
25373
|
-
[context]="context"
|
|
25374
|
-
[suffixButtons]="field.suffixButtons"
|
|
25375
|
-
[autocompleteCssClass]="field.autocompleteCssClass"
|
|
25376
|
-
(initSelect)="field.itemSelect && field.itemSelect($event, formValue, formGroup, context);"
|
|
25377
|
-
(selected)="!field.itemChange ? $event.callback(true) : $event.callback(field.itemChange($event.value, formValue, formGroup, context) !== false)"
|
|
25378
|
-
(cleared)="field.clear && field.clear(formValue, formGroup, context);"
|
|
25379
|
-
[customValue]="field.customValue"
|
|
25380
|
-
layout="row"
|
|
25381
|
-
flex>
|
|
25382
|
-
@if (field.chipTemplate; as chip) {
|
|
25383
|
-
<ng-template vd-chip let-chip="chip">
|
|
25384
|
-
<div [outerHTML]="field.chipTemplate(chip, formValue, formGroup, context)"></div>
|
|
25385
|
-
</ng-template>
|
|
25386
|
-
}
|
|
25387
|
-
@if (field.autocompleteTemplate; as option) {
|
|
25388
|
-
<ng-template vd-autocomplete-option let-option="option">
|
|
25389
|
-
<div [outerHTML]="field.autocompleteTemplate(option, formValue, formGroup, context)"></div>
|
|
25390
|
-
</ng-template>
|
|
25391
|
-
}
|
|
25392
|
-
</vd-chips>
|
|
25393
|
-
@if (field.hint) {
|
|
25394
|
-
<mat-hint>{{field.hint}}</mat-hint>
|
|
25395
|
-
}
|
|
25396
|
-
@if (vdChip.emptyResult) {
|
|
25397
|
-
<mat-hint class="tc-red-400" i18n="@@noResultsFound">No results were found.</mat-hint>
|
|
25398
|
-
}
|
|
25399
|
-
@for (errorMessage of $any(formGroup.controls[field.name!])['errorMessages']; track errorMessage) {
|
|
25400
|
-
<mat-error>{{errorMessage}}</mat-error>
|
|
25401
|
-
}
|
|
25402
|
-
</mat-form-field>
|
|
25403
|
-
`, styles: ["mat-form-field{width:100%}\n"] }]
|
|
25404
|
-
}] });
|
|
25405
|
-
|
|
25406
25406
|
/**
|
|
25407
25407
|
* @class VdEditorDirective
|
|
25408
25408
|
* @description The `VdEditorDirective` is a custom directive that attaches a `CdkPortal`
|
|
@@ -25909,13 +25909,13 @@ class VdGenericFormComponent {
|
|
|
25909
25909
|
console.log(message, optionalParams);
|
|
25910
25910
|
}
|
|
25911
25911
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdGenericFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25912
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: VdGenericFormComponent, isStandalone: true, selector: "vd-generic-form", inputs: { formGroup: "formGroup", classType: "classType", formDefinition: "formDefinition", fieldGroups: "fieldGroups", groupName: "groupName", fieldSets: "fieldSets", context: "context", debugValue: "debugValue", readonly: "readonly", separatorKeysCodes: "separatorKeysCodes" }, outputs: { onInit: "init" }, queries: [{ propertyName: "editorTemplate", first: true, predicate: VdEditorDirective, descendants: true }, { propertyName: "codeTemplate", first: true, predicate: VdCodeDirective, descendants: true }, { propertyName: "fileTemplate", first: true, predicate: VdFileDirective, descendants: true }, { propertyName: "customTemplate", first: true, predicate: VdCustomDirective, descendants: true }, { propertyName: "bottom", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "customFields", first: true, predicate: ["customFields"], descendants: true }, { propertyName: "customFieldsTemplates", predicate: VdGenericFormCustomFieldDirective }], ngImport: i0, template: "@if (formGroup && fieldRows) {\n <div [formGroup]=\"formGroup!\">\n <!-- #region Fields -->\n @for (fields of fieldRows; track fields; let i = $index) {\n <div layout-gt-sm=\"row\" layout=\"column\">\n @for (field of fields; track field) {\n @if (!field.hidden && !(field.hide && field.hide(formValue, formGroup, context))) {\n @switch (field.type) {\n <!-- #region Text input -->\n @case (FormFieldType.Text) {\n <msa-generic-form-text-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-text-field>\n }\n <!-- #endregion -->\n\n <!-- #region Textarea -->\n @case (FormFieldType.TextArea) {\n <msa-generic-form-textarea-field [field]=\"field\"\n [formGroup]=\"formGroup\" [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-textarea-field>\n }\n <!-- #endregion -->\n\n <!-- #region Enum -->\n @case (FormFieldType.Enum) {\n <msa-generic-form-enum-field [field]=\"field\" [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-enum-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdSelect -->\n @case (FormFieldType.VdSelect) {\n <msa-generic-form-msa-select-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-msa-select-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdList -->\n @case (FormFieldType.VdList) {\n <msa-generic-form-vd-list-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-vd-list-field>\n }\n <!-- #endregion -->\n\n <!-- #region Chips -->\n @case (FormFieldType.Chips) {\n <msa-generic-form-chips-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [separatorKeysCodes]=\"separatorKeysCodes\"\n [autocompleteFilteredOptions]=\"autocompleteFilteredOptions\"\n [filterAutocomplete]=\"filterAutocomplete.bind(this)\"\n [autocompleteValueSelected]=\"autocompleteValueSelected.bind(this)\"\n [addChip]=\"addChip.bind(this)\"\n [onPasteChips]=\"onPasteChips.bind(this)\"\n [removeChip]=\"removeChip.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-chips-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdChips -->\n @case (FormFieldType.VdChips) {\n <msa-generic-form-vdchips-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-vdchips-field>\n }\n <!-- #endregion -->\n\n <!-- #region Select -->\n @case (FormFieldType.Select) {\n <msa-generic-form-select-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-select-field>\n }\n <!-- #endregion -->\n\n <!-- #region Autocomplete -->\n @case (FormFieldType.Autocomplete) {\n <msa-generic-form-autocomplete-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [autocompleteFilteredOptions]=\"autocompleteFilteredOptions\"\n [filterAutocomplete]=\"filterAutocomplete.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-autocomplete-field>\n }\n <!-- #endregion -->\n\n <!-- #region Date -->\n @case (FormFieldType.Date) {\n <msa-generic-form-date-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [datePickerHeaderComponent]=\"datePickerHeaderComponent\"\n [handleDatePickerFilterAsync]=\"handleDatePickerFilterAsync.bind(this)\"\n [handleDatePickerOpened]=\"handleDatePickerOpened.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-date-field>\n }\n <!-- #endregion -->\n\n <!-- #region Calendar -->\n @case (FormFieldType.Calendar) {\n <msa-generic-form-calendar-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [datePickerHeaderComponent]=\"datePickerHeaderComponent\"\n [handleCalendarFilterAsync]=\"handleCalendarFilterAsync.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-calendar-field>\n }\n <!-- #endregion -->\n\n <!-- #region Color input -->\n @case (FormFieldType.Color) {\n <msa-generic-form-color-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-color-field>\n }\n <!-- #endregion -->\n\n <!-- #region Checkbox -->\n @case (FormFieldType.Checkbox) {\n <msa-generic-form-checkbox-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\">\n </msa-generic-form-checkbox-field>\n }\n <!-- #endregion -->\n\n <!-- #region Radio -->\n @case(FormFieldType.Radio) {\n <msa-generic-form-radio-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-radio-field>\n }\n <!-- #endregion -->\n\n <!-- #region Editor -->\n @case (FormFieldType.Editor) {\n <msa-generic-form-editor-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [editorTemplate]=\"editorTemplate\">\n </msa-generic-form-editor-field>\n }\n <!-- #endregion -->\n\n <!-- #region Code -->\n @case (FormFieldType.Code) {\n <msa-generic-form-code-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [codeTemplate]=\"codeTemplate\">\n </msa-generic-form-code-field>\n }\n <!-- #endregion -->\n\n <!-- #region File -->\n @case (FormFieldType.File) {\n <msa-generic-form-file-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-file-field>\n }\n <!-- #endregion -->\n\n <!-- #region Custom -->\n @case (FormFieldType.Custom) {\n <msa-generic-form-custom-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [customTemplate]=\"customTemplate\">\n </msa-generic-form-custom-field>\n }\n <!-- #endregion -->\n }\n }\n }\n\n <!-- #region Template for custom fields -->\n @for (customField of customFieldsTemplates; track customField) {\n @if (customField?.templateRef && customField.row == fields[0]?.row && customField.inline) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(customField?.templateRef)!\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-template>\n }\n }\n <!-- #endregion -->\n </div>\n <!-- #region Template for custom fields -->\n @if (customFields) {\n <ng-container [ngTemplateOutlet]=\"customFields\" [ngTemplateOutletContext]=\"{formGroup: formGroup, row: fields[0].row}\"></ng-container>\n } @for (customField of customFieldsTemplates; track customField) {\n @if(customField?.templateRef && customField.row == ((($safeNavigationMigration(fields[0]?.row) | func:formValue:formGroup:context) ??0)+1) && !customField.inline) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(customField?.templateRef)!\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-template>\n }\n }\n <!-- #endregion -->\n }\n <!-- #endregion -->\n\n <!-- #region Form bottom -->\n @if (bottom) {\n <ng-container [ngTemplateOutlet]=\"bottom\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-container>\n }\n <!-- #endregion -->\n\n <!-- #region Template for suffix buttons -->\n <ng-template #suffixButtons let-field>\n @for (suffixButton of field.suffixButtons; track suffixButton) {\n <ng-container matSuffix>\n @if (!suffixButton.hide || !suffixButton.hide(formValue, context)) {\n <button type=\"button\"\n mat-icon-button\n (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\n </button>\n }\n </ng-container>\n }\n </ng-template>\n <!-- #endregion -->\n <!-- #region Debug value -->\n @if (debugValue) {\n <code>\n <pre>{{formValue | json}}</pre>\n </code>\n }\n <!-- #endregion -->\n </div>\n}", styles: [".mat-checkbox-wrap mat-error{transform:translate(36px,-20px);max-width:93%;font-size:var(--mat-typography-caption-font-size, 12px)}::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-icon-suffix .color-picker{width:40px;display:block}::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .has-time input:first-child{width:84px;max-width:inherit;min-width:84px}::ng-deep .mat-mdc-form-field-type-mat-chip-grid .mat-mdc-form-field-infix{padding-top:7px!important;padding-bottom:7px!important}::ng-deep .mat-mdc-form-field-type-mat-chip-grid .mat-mdc-chip{padding-top:0!important;padding-bottom:0!important;margin-top:2px!important;margin-bottom:2px!important;margin-left:4px!important}.radio-form-field{width:100%}.radio-form-field ::ng-deep .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}.radio-form-field ::ng-deep .mat-mdc-floating-label{transform:translateY(-1.5em) scale(1)}.radio-form-field mat-radio-group{display:flex;flex-direction:row;gap:20px;padding-top:4px;margin-left:-12px}.radio-form-field .mat-mdc-form-field-infix{min-height:48px;display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type:
|
|
25912
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: VdGenericFormComponent, isStandalone: true, selector: "vd-generic-form", inputs: { formGroup: "formGroup", classType: "classType", formDefinition: "formDefinition", fieldGroups: "fieldGroups", groupName: "groupName", fieldSets: "fieldSets", context: "context", debugValue: "debugValue", readonly: "readonly", separatorKeysCodes: "separatorKeysCodes" }, outputs: { onInit: "init" }, queries: [{ propertyName: "editorTemplate", first: true, predicate: VdEditorDirective, descendants: true }, { propertyName: "codeTemplate", first: true, predicate: VdCodeDirective, descendants: true }, { propertyName: "fileTemplate", first: true, predicate: VdFileDirective, descendants: true }, { propertyName: "customTemplate", first: true, predicate: VdCustomDirective, descendants: true }, { propertyName: "bottom", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "customFields", first: true, predicate: ["customFields"], descendants: true }, { propertyName: "customFieldsTemplates", predicate: VdGenericFormCustomFieldDirective }], ngImport: i0, template: "@if (formGroup && fieldRows) {\n <div [formGroup]=\"formGroup!\">\n <!-- #region Fields -->\n @for (fields of fieldRows; track fields; let i = $index) {\n <div layout-gt-sm=\"row\" layout=\"column\">\n @for (field of fields; track field) {\n @if (!field.hidden && !(field.hide && field.hide(formValue, formGroup, context))) {\n @switch (field.type) {\n <!-- #region Text input -->\n @case (FormFieldType.Text) {\n <msa-generic-form-text-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-text-field>\n }\n <!-- #endregion -->\n\n <!-- #region Textarea -->\n @case (FormFieldType.TextArea) {\n <msa-generic-form-textarea-field [field]=\"field\"\n [formGroup]=\"formGroup\" [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-textarea-field>\n }\n <!-- #endregion -->\n\n <!-- #region Enum -->\n @case (FormFieldType.Enum) {\n <msa-generic-form-enum-field [field]=\"field\" [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-enum-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdSelect -->\n @case (FormFieldType.VdSelect) {\n <msa-generic-form-msa-select-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-msa-select-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdList -->\n @case (FormFieldType.VdList) {\n <msa-generic-form-msa-list-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-msa-list-field>\n }\n <!-- #endregion -->\n\n <!-- #region Chips -->\n @case (FormFieldType.Chips) {\n <msa-generic-form-chips-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [separatorKeysCodes]=\"separatorKeysCodes\"\n [autocompleteFilteredOptions]=\"autocompleteFilteredOptions\"\n [filterAutocomplete]=\"filterAutocomplete.bind(this)\"\n [autocompleteValueSelected]=\"autocompleteValueSelected.bind(this)\"\n [addChip]=\"addChip.bind(this)\"\n [onPasteChips]=\"onPasteChips.bind(this)\"\n [removeChip]=\"removeChip.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-chips-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdChips -->\n @case (FormFieldType.VdChips) {\n <msa-generic-form-msa-chips-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-msa-chips-field>\n }\n <!-- #endregion -->\n\n <!-- #region Select -->\n @case (FormFieldType.Select) {\n <msa-generic-form-select-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-select-field>\n }\n <!-- #endregion -->\n\n <!-- #region Autocomplete -->\n @case (FormFieldType.Autocomplete) {\n <msa-generic-form-autocomplete-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [autocompleteFilteredOptions]=\"autocompleteFilteredOptions\"\n [filterAutocomplete]=\"filterAutocomplete.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-autocomplete-field>\n }\n <!-- #endregion -->\n\n <!-- #region Date -->\n @case (FormFieldType.Date) {\n <msa-generic-form-date-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [datePickerHeaderComponent]=\"datePickerHeaderComponent\"\n [handleDatePickerFilterAsync]=\"handleDatePickerFilterAsync.bind(this)\"\n [handleDatePickerOpened]=\"handleDatePickerOpened.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-date-field>\n }\n <!-- #endregion -->\n\n <!-- #region Calendar -->\n @case (FormFieldType.Calendar) {\n <msa-generic-form-calendar-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [datePickerHeaderComponent]=\"datePickerHeaderComponent\"\n [handleCalendarFilterAsync]=\"handleCalendarFilterAsync.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-calendar-field>\n }\n <!-- #endregion -->\n\n <!-- #region Color input -->\n @case (FormFieldType.Color) {\n <msa-generic-form-color-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-color-field>\n }\n <!-- #endregion -->\n\n <!-- #region Checkbox -->\n @case (FormFieldType.Checkbox) {\n <msa-generic-form-checkbox-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\">\n </msa-generic-form-checkbox-field>\n }\n <!-- #endregion -->\n\n <!-- #region Radio -->\n @case(FormFieldType.Radio) {\n <msa-generic-form-radio-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-radio-field>\n }\n <!-- #endregion -->\n\n <!-- #region Editor -->\n @case (FormFieldType.Editor) {\n <msa-generic-form-editor-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [editorTemplate]=\"editorTemplate\">\n </msa-generic-form-editor-field>\n }\n <!-- #endregion -->\n\n <!-- #region Code -->\n @case (FormFieldType.Code) {\n <msa-generic-form-code-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [codeTemplate]=\"codeTemplate\">\n </msa-generic-form-code-field>\n }\n <!-- #endregion -->\n\n <!-- #region File -->\n @case (FormFieldType.File) {\n <msa-generic-form-file-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-file-field>\n }\n <!-- #endregion -->\n\n <!-- #region Custom -->\n @case (FormFieldType.Custom) {\n <msa-generic-form-custom-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [customTemplate]=\"customTemplate\">\n </msa-generic-form-custom-field>\n }\n <!-- #endregion -->\n }\n }\n }\n\n <!-- #region Template for custom fields -->\n @for (customField of customFieldsTemplates; track customField) {\n @if (customField?.templateRef && customField.row == fields[0]?.row && customField.inline) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(customField?.templateRef)!\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-template>\n }\n }\n <!-- #endregion -->\n </div>\n <!-- #region Template for custom fields -->\n @if (customFields) {\n <ng-container [ngTemplateOutlet]=\"customFields\" [ngTemplateOutletContext]=\"{formGroup: formGroup, row: fields[0].row}\"></ng-container>\n } @for (customField of customFieldsTemplates; track customField) {\n @if(customField?.templateRef && customField.row == ((($safeNavigationMigration(fields[0]?.row) | func:formValue:formGroup:context) ??0)+1) && !customField.inline) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(customField?.templateRef)!\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-template>\n }\n }\n <!-- #endregion -->\n }\n <!-- #endregion -->\n\n <!-- #region Form bottom -->\n @if (bottom) {\n <ng-container [ngTemplateOutlet]=\"bottom\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-container>\n }\n <!-- #endregion -->\n\n <!-- #region Template for suffix buttons -->\n <ng-template #suffixButtons let-field>\n @for (suffixButton of field.suffixButtons; track suffixButton) {\n <ng-container matSuffix>\n @if (!suffixButton.hide || !suffixButton.hide(formValue, context)) {\n <button type=\"button\"\n mat-icon-button\n (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\n </button>\n }\n </ng-container>\n }\n </ng-template>\n <!-- #endregion -->\n <!-- #region Debug value -->\n @if (debugValue) {\n <code>\n <pre>{{formValue | json}}</pre>\n </code>\n }\n <!-- #endregion -->\n </div>\n}", styles: [".mat-checkbox-wrap mat-error{transform:translate(36px,-20px);max-width:93%;font-size:var(--mat-typography-caption-font-size, 12px)}::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-icon-suffix .color-picker{width:40px;display:block}::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .has-time input:first-child{width:84px;max-width:inherit;min-width:84px}::ng-deep .mat-mdc-form-field-type-mat-chip-grid .mat-mdc-form-field-infix{padding-top:7px!important;padding-bottom:7px!important}::ng-deep .mat-mdc-form-field-type-mat-chip-grid .mat-mdc-chip{padding-top:0!important;padding-bottom:0!important;margin-top:2px!important;margin-bottom:2px!important;margin-left:4px!important}.radio-form-field{width:100%}.radio-form-field ::ng-deep .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}.radio-form-field ::ng-deep .mat-mdc-floating-label{transform:translateY(-1.5em) scale(1)}.radio-form-field mat-radio-group{display:flex;flex-direction:row;gap:20px;padding-top:4px;margin-left:-12px}.radio-form-field .mat-mdc-form-field-infix{min-height:48px;display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type:
|
|
25913
25913
|
//--------------------
|
|
25914
25914
|
MatAutocompleteModule }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i2$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatRadioModule }, { kind: "ngmodule", type:
|
|
25915
25915
|
//--------------------
|
|
25916
25916
|
VdFileModule }, { kind: "component", type:
|
|
25917
25917
|
//--------------------
|
|
25918
|
-
MsaGenericFormAutocompleteFieldComponent, selector: "msa-generic-form-autocomplete-field", inputs: ["autocompleteFilteredOptions", "filterAutocomplete"] }, { kind: "component", type: MsaGenericFormCalendarFieldComponent, selector: "msa-generic-form-calendar-field", inputs: ["datePickerHeaderComponent", "handleCalendarFilterAsync"] }, { kind: "component", type: MsaGenericFormCheckboxFieldComponent, selector: "msa-generic-form-checkbox-field" }, { kind: "component", type: MsaGenericFormChipsFieldComponent, selector: "msa-generic-form-chips-field", inputs: ["separatorKeysCodes", "autocompleteFilteredOptions", "filterAutocomplete", "autocompleteValueSelected", "addChip", "onPasteChips", "removeChip"] }, { kind: "component", type: MsaGenericFormCodeFieldComponent, selector: "msa-generic-form-code-field", inputs: ["field", "formGroup", "codeTemplate"] }, { kind: "component", type: MsaGenericFormColorFieldComponent, selector: "msa-generic-form-color-field" }, { kind: "component", type: MsaGenericFormCustomFieldComponent, selector: "msa-generic-form-custom-field", inputs: ["field", "formGroup", "customTemplate"] }, { kind: "component", type: MsaGenericFormDateFieldComponent, selector: "msa-generic-form-date-field", inputs: ["datePickerHeaderComponent", "handleDatePickerFilterAsync", "handleDatePickerOpened"] }, { kind: "component", type: MsaGenericFormEditorFieldComponent, selector: "msa-generic-form-editor-field", inputs: ["field", "formGroup", "editorTemplate"] }, { kind: "component", type: MsaGenericFormEnumFieldComponent, selector: "msa-generic-form-enum-field" }, { kind: "component", type: MsaGenericFormFileFieldComponent, selector: "msa-generic-form-file-field" }, { kind: "component", type: MsaGenericFormRadioFieldComponent, selector: "msa-generic-form-radio-field" }, { kind: "component", type: MsaGenericFormSelectFieldComponent, selector: "msa-generic-form-select-field" }, { kind: "component", type: MsaGenericFormTextFieldComponent, selector: "msa-generic-form-text-field" }, { kind: "component", type: MsaGenericFormTextareaFieldComponent, selector: "msa-generic-form-textarea-field" }, { kind: "component", type: MsaGenericFormMsaSelectFieldComponent, selector: "msa-generic-form-msa-select-field" }, { kind: "component", type:
|
|
25918
|
+
MsaGenericFormAutocompleteFieldComponent, selector: "msa-generic-form-autocomplete-field", inputs: ["autocompleteFilteredOptions", "filterAutocomplete"] }, { kind: "component", type: MsaGenericFormCalendarFieldComponent, selector: "msa-generic-form-calendar-field", inputs: ["datePickerHeaderComponent", "handleCalendarFilterAsync"] }, { kind: "component", type: MsaGenericFormCheckboxFieldComponent, selector: "msa-generic-form-checkbox-field" }, { kind: "component", type: MsaGenericFormChipsFieldComponent, selector: "msa-generic-form-chips-field", inputs: ["separatorKeysCodes", "autocompleteFilteredOptions", "filterAutocomplete", "autocompleteValueSelected", "addChip", "onPasteChips", "removeChip"] }, { kind: "component", type: MsaGenericFormCodeFieldComponent, selector: "msa-generic-form-code-field", inputs: ["field", "formGroup", "codeTemplate"] }, { kind: "component", type: MsaGenericFormColorFieldComponent, selector: "msa-generic-form-color-field" }, { kind: "component", type: MsaGenericFormCustomFieldComponent, selector: "msa-generic-form-custom-field", inputs: ["field", "formGroup", "customTemplate"] }, { kind: "component", type: MsaGenericFormDateFieldComponent, selector: "msa-generic-form-date-field", inputs: ["datePickerHeaderComponent", "handleDatePickerFilterAsync", "handleDatePickerOpened"] }, { kind: "component", type: MsaGenericFormEditorFieldComponent, selector: "msa-generic-form-editor-field", inputs: ["field", "formGroup", "editorTemplate"] }, { kind: "component", type: MsaGenericFormEnumFieldComponent, selector: "msa-generic-form-enum-field" }, { kind: "component", type: MsaGenericFormFileFieldComponent, selector: "msa-generic-form-file-field" }, { kind: "component", type: MsaGenericFormRadioFieldComponent, selector: "msa-generic-form-radio-field" }, { kind: "component", type: MsaGenericFormSelectFieldComponent, selector: "msa-generic-form-select-field" }, { kind: "component", type: MsaGenericFormTextFieldComponent, selector: "msa-generic-form-text-field" }, { kind: "component", type: MsaGenericFormTextareaFieldComponent, selector: "msa-generic-form-textarea-field" }, { kind: "component", type: MsaGenericFormMsaSelectFieldComponent, selector: "msa-generic-form-msa-select-field" }, { kind: "component", type: MsaGenericFormMsaChipsFieldComponent, selector: "msa-generic-form-msa-chips-field" }, { kind: "component", type: MsaGenericFormMsaListFieldComponent, selector: "msa-generic-form-msa-list-field" }, { kind: "pipe", type: i1$2.JsonPipe, name: "json" }, { kind: "pipe", type:
|
|
25919
25919
|
//--------------------
|
|
25920
25920
|
FuncPipe, name: "func" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
25921
25921
|
}
|
|
@@ -25957,9 +25957,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
25957
25957
|
MsaGenericFormTextFieldComponent,
|
|
25958
25958
|
MsaGenericFormTextareaFieldComponent,
|
|
25959
25959
|
MsaGenericFormMsaSelectFieldComponent,
|
|
25960
|
-
|
|
25961
|
-
|
|
25962
|
-
], template: "@if (formGroup && fieldRows) {\n <div [formGroup]=\"formGroup!\">\n <!-- #region Fields -->\n @for (fields of fieldRows; track fields; let i = $index) {\n <div layout-gt-sm=\"row\" layout=\"column\">\n @for (field of fields; track field) {\n @if (!field.hidden && !(field.hide && field.hide(formValue, formGroup, context))) {\n @switch (field.type) {\n <!-- #region Text input -->\n @case (FormFieldType.Text) {\n <msa-generic-form-text-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-text-field>\n }\n <!-- #endregion -->\n\n <!-- #region Textarea -->\n @case (FormFieldType.TextArea) {\n <msa-generic-form-textarea-field [field]=\"field\"\n [formGroup]=\"formGroup\" [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-textarea-field>\n }\n <!-- #endregion -->\n\n <!-- #region Enum -->\n @case (FormFieldType.Enum) {\n <msa-generic-form-enum-field [field]=\"field\" [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-enum-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdSelect -->\n @case (FormFieldType.VdSelect) {\n <msa-generic-form-msa-select-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-msa-select-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdList -->\n @case (FormFieldType.VdList) {\n <msa-generic-form-vd-list-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-vd-list-field>\n }\n <!-- #endregion -->\n\n <!-- #region Chips -->\n @case (FormFieldType.Chips) {\n <msa-generic-form-chips-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [separatorKeysCodes]=\"separatorKeysCodes\"\n [autocompleteFilteredOptions]=\"autocompleteFilteredOptions\"\n [filterAutocomplete]=\"filterAutocomplete.bind(this)\"\n [autocompleteValueSelected]=\"autocompleteValueSelected.bind(this)\"\n [addChip]=\"addChip.bind(this)\"\n [onPasteChips]=\"onPasteChips.bind(this)\"\n [removeChip]=\"removeChip.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-chips-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdChips -->\n @case (FormFieldType.VdChips) {\n <msa-generic-form-vdchips-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-vdchips-field>\n }\n <!-- #endregion -->\n\n <!-- #region Select -->\n @case (FormFieldType.Select) {\n <msa-generic-form-select-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-select-field>\n }\n <!-- #endregion -->\n\n <!-- #region Autocomplete -->\n @case (FormFieldType.Autocomplete) {\n <msa-generic-form-autocomplete-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [autocompleteFilteredOptions]=\"autocompleteFilteredOptions\"\n [filterAutocomplete]=\"filterAutocomplete.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-autocomplete-field>\n }\n <!-- #endregion -->\n\n <!-- #region Date -->\n @case (FormFieldType.Date) {\n <msa-generic-form-date-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [datePickerHeaderComponent]=\"datePickerHeaderComponent\"\n [handleDatePickerFilterAsync]=\"handleDatePickerFilterAsync.bind(this)\"\n [handleDatePickerOpened]=\"handleDatePickerOpened.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-date-field>\n }\n <!-- #endregion -->\n\n <!-- #region Calendar -->\n @case (FormFieldType.Calendar) {\n <msa-generic-form-calendar-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [datePickerHeaderComponent]=\"datePickerHeaderComponent\"\n [handleCalendarFilterAsync]=\"handleCalendarFilterAsync.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-calendar-field>\n }\n <!-- #endregion -->\n\n <!-- #region Color input -->\n @case (FormFieldType.Color) {\n <msa-generic-form-color-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-color-field>\n }\n <!-- #endregion -->\n\n <!-- #region Checkbox -->\n @case (FormFieldType.Checkbox) {\n <msa-generic-form-checkbox-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\">\n </msa-generic-form-checkbox-field>\n }\n <!-- #endregion -->\n\n <!-- #region Radio -->\n @case(FormFieldType.Radio) {\n <msa-generic-form-radio-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-radio-field>\n }\n <!-- #endregion -->\n\n <!-- #region Editor -->\n @case (FormFieldType.Editor) {\n <msa-generic-form-editor-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [editorTemplate]=\"editorTemplate\">\n </msa-generic-form-editor-field>\n }\n <!-- #endregion -->\n\n <!-- #region Code -->\n @case (FormFieldType.Code) {\n <msa-generic-form-code-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [codeTemplate]=\"codeTemplate\">\n </msa-generic-form-code-field>\n }\n <!-- #endregion -->\n\n <!-- #region File -->\n @case (FormFieldType.File) {\n <msa-generic-form-file-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-file-field>\n }\n <!-- #endregion -->\n\n <!-- #region Custom -->\n @case (FormFieldType.Custom) {\n <msa-generic-form-custom-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [customTemplate]=\"customTemplate\">\n </msa-generic-form-custom-field>\n }\n <!-- #endregion -->\n }\n }\n }\n\n <!-- #region Template for custom fields -->\n @for (customField of customFieldsTemplates; track customField) {\n @if (customField?.templateRef && customField.row == fields[0]?.row && customField.inline) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(customField?.templateRef)!\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-template>\n }\n }\n <!-- #endregion -->\n </div>\n <!-- #region Template for custom fields -->\n @if (customFields) {\n <ng-container [ngTemplateOutlet]=\"customFields\" [ngTemplateOutletContext]=\"{formGroup: formGroup, row: fields[0].row}\"></ng-container>\n } @for (customField of customFieldsTemplates; track customField) {\n @if(customField?.templateRef && customField.row == ((($safeNavigationMigration(fields[0]?.row) | func:formValue:formGroup:context) ??0)+1) && !customField.inline) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(customField?.templateRef)!\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-template>\n }\n }\n <!-- #endregion -->\n }\n <!-- #endregion -->\n\n <!-- #region Form bottom -->\n @if (bottom) {\n <ng-container [ngTemplateOutlet]=\"bottom\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-container>\n }\n <!-- #endregion -->\n\n <!-- #region Template for suffix buttons -->\n <ng-template #suffixButtons let-field>\n @for (suffixButton of field.suffixButtons; track suffixButton) {\n <ng-container matSuffix>\n @if (!suffixButton.hide || !suffixButton.hide(formValue, context)) {\n <button type=\"button\"\n mat-icon-button\n (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\n </button>\n }\n </ng-container>\n }\n </ng-template>\n <!-- #endregion -->\n <!-- #region Debug value -->\n @if (debugValue) {\n <code>\n <pre>{{formValue | json}}</pre>\n </code>\n }\n <!-- #endregion -->\n </div>\n}", styles: [".mat-checkbox-wrap mat-error{transform:translate(36px,-20px);max-width:93%;font-size:var(--mat-typography-caption-font-size, 12px)}::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-icon-suffix .color-picker{width:40px;display:block}::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .has-time input:first-child{width:84px;max-width:inherit;min-width:84px}::ng-deep .mat-mdc-form-field-type-mat-chip-grid .mat-mdc-form-field-infix{padding-top:7px!important;padding-bottom:7px!important}::ng-deep .mat-mdc-form-field-type-mat-chip-grid .mat-mdc-chip{padding-top:0!important;padding-bottom:0!important;margin-top:2px!important;margin-bottom:2px!important;margin-left:4px!important}.radio-form-field{width:100%}.radio-form-field ::ng-deep .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}.radio-form-field ::ng-deep .mat-mdc-floating-label{transform:translateY(-1.5em) scale(1)}.radio-form-field mat-radio-group{display:flex;flex-direction:row;gap:20px;padding-top:4px;margin-left:-12px}.radio-form-field .mat-mdc-form-field-infix{min-height:48px;display:flex;align-items:center}\n"] }]
|
|
25960
|
+
MsaGenericFormMsaChipsFieldComponent,
|
|
25961
|
+
MsaGenericFormMsaListFieldComponent
|
|
25962
|
+
], template: "@if (formGroup && fieldRows) {\n <div [formGroup]=\"formGroup!\">\n <!-- #region Fields -->\n @for (fields of fieldRows; track fields; let i = $index) {\n <div layout-gt-sm=\"row\" layout=\"column\">\n @for (field of fields; track field) {\n @if (!field.hidden && !(field.hide && field.hide(formValue, formGroup, context))) {\n @switch (field.type) {\n <!-- #region Text input -->\n @case (FormFieldType.Text) {\n <msa-generic-form-text-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-text-field>\n }\n <!-- #endregion -->\n\n <!-- #region Textarea -->\n @case (FormFieldType.TextArea) {\n <msa-generic-form-textarea-field [field]=\"field\"\n [formGroup]=\"formGroup\" [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-textarea-field>\n }\n <!-- #endregion -->\n\n <!-- #region Enum -->\n @case (FormFieldType.Enum) {\n <msa-generic-form-enum-field [field]=\"field\" [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-enum-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdSelect -->\n @case (FormFieldType.VdSelect) {\n <msa-generic-form-msa-select-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-msa-select-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdList -->\n @case (FormFieldType.VdList) {\n <msa-generic-form-msa-list-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-msa-list-field>\n }\n <!-- #endregion -->\n\n <!-- #region Chips -->\n @case (FormFieldType.Chips) {\n <msa-generic-form-chips-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [separatorKeysCodes]=\"separatorKeysCodes\"\n [autocompleteFilteredOptions]=\"autocompleteFilteredOptions\"\n [filterAutocomplete]=\"filterAutocomplete.bind(this)\"\n [autocompleteValueSelected]=\"autocompleteValueSelected.bind(this)\"\n [addChip]=\"addChip.bind(this)\"\n [onPasteChips]=\"onPasteChips.bind(this)\"\n [removeChip]=\"removeChip.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-chips-field>\n }\n <!-- #endregion -->\n\n <!-- #region VdChips -->\n @case (FormFieldType.VdChips) {\n <msa-generic-form-msa-chips-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-msa-chips-field>\n }\n <!-- #endregion -->\n\n <!-- #region Select -->\n @case (FormFieldType.Select) {\n <msa-generic-form-select-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-select-field>\n }\n <!-- #endregion -->\n\n <!-- #region Autocomplete -->\n @case (FormFieldType.Autocomplete) {\n <msa-generic-form-autocomplete-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [autocompleteFilteredOptions]=\"autocompleteFilteredOptions\"\n [filterAutocomplete]=\"filterAutocomplete.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-autocomplete-field>\n }\n <!-- #endregion -->\n\n <!-- #region Date -->\n @case (FormFieldType.Date) {\n <msa-generic-form-date-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [datePickerHeaderComponent]=\"datePickerHeaderComponent\"\n [handleDatePickerFilterAsync]=\"handleDatePickerFilterAsync.bind(this)\"\n [handleDatePickerOpened]=\"handleDatePickerOpened.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-date-field>\n }\n <!-- #endregion -->\n\n <!-- #region Calendar -->\n @case (FormFieldType.Calendar) {\n <msa-generic-form-calendar-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [datePickerHeaderComponent]=\"datePickerHeaderComponent\"\n [handleCalendarFilterAsync]=\"handleCalendarFilterAsync.bind(this)\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-calendar-field>\n }\n <!-- #endregion -->\n\n <!-- #region Color input -->\n @case (FormFieldType.Color) {\n <msa-generic-form-color-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-color-field>\n }\n <!-- #endregion -->\n\n <!-- #region Checkbox -->\n @case (FormFieldType.Checkbox) {\n <msa-generic-form-checkbox-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\">\n </msa-generic-form-checkbox-field>\n }\n <!-- #endregion -->\n\n <!-- #region Radio -->\n @case(FormFieldType.Radio) {\n <msa-generic-form-radio-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-radio-field>\n }\n <!-- #endregion -->\n\n <!-- #region Editor -->\n @case (FormFieldType.Editor) {\n <msa-generic-form-editor-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [editorTemplate]=\"editorTemplate\">\n </msa-generic-form-editor-field>\n }\n <!-- #endregion -->\n\n <!-- #region Code -->\n @case (FormFieldType.Code) {\n <msa-generic-form-code-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [codeTemplate]=\"codeTemplate\">\n </msa-generic-form-code-field>\n }\n <!-- #endregion -->\n\n <!-- #region File -->\n @case (FormFieldType.File) {\n <msa-generic-form-file-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [readonly]=\"readonly ?? false\"\n [context]=\"context\"\n [attr.flex]=\"field.flex||0\"\n layout-margin>\n </msa-generic-form-file-field>\n }\n <!-- #endregion -->\n\n <!-- #region Custom -->\n @case (FormFieldType.Custom) {\n <msa-generic-form-custom-field [field]=\"field\"\n [formGroup]=\"formGroup\"\n [customTemplate]=\"customTemplate\">\n </msa-generic-form-custom-field>\n }\n <!-- #endregion -->\n }\n }\n }\n\n <!-- #region Template for custom fields -->\n @for (customField of customFieldsTemplates; track customField) {\n @if (customField?.templateRef && customField.row == fields[0]?.row && customField.inline) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(customField?.templateRef)!\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-template>\n }\n }\n <!-- #endregion -->\n </div>\n <!-- #region Template for custom fields -->\n @if (customFields) {\n <ng-container [ngTemplateOutlet]=\"customFields\" [ngTemplateOutletContext]=\"{formGroup: formGroup, row: fields[0].row}\"></ng-container>\n } @for (customField of customFieldsTemplates; track customField) {\n @if(customField?.templateRef && customField.row == ((($safeNavigationMigration(fields[0]?.row) | func:formValue:formGroup:context) ??0)+1) && !customField.inline) {\n <ng-template [ngTemplateOutlet]=\"$safeNavigationMigration(customField?.templateRef)!\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-template>\n }\n }\n <!-- #endregion -->\n }\n <!-- #endregion -->\n\n <!-- #region Form bottom -->\n @if (bottom) {\n <ng-container [ngTemplateOutlet]=\"bottom\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-container>\n }\n <!-- #endregion -->\n\n <!-- #region Template for suffix buttons -->\n <ng-template #suffixButtons let-field>\n @for (suffixButton of field.suffixButtons; track suffixButton) {\n <ng-container matSuffix>\n @if (!suffixButton.hide || !suffixButton.hide(formValue, context)) {\n <button type=\"button\"\n mat-icon-button\n (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\n </button>\n }\n </ng-container>\n }\n </ng-template>\n <!-- #endregion -->\n <!-- #region Debug value -->\n @if (debugValue) {\n <code>\n <pre>{{formValue | json}}</pre>\n </code>\n }\n <!-- #endregion -->\n </div>\n}", styles: [".mat-checkbox-wrap mat-error{transform:translate(36px,-20px);max-width:93%;font-size:var(--mat-typography-caption-font-size, 12px)}::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-icon-suffix .color-picker{width:40px;display:block}::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .has-time input:first-child{width:84px;max-width:inherit;min-width:84px}::ng-deep .mat-mdc-form-field-type-mat-chip-grid .mat-mdc-form-field-infix{padding-top:7px!important;padding-bottom:7px!important}::ng-deep .mat-mdc-form-field-type-mat-chip-grid .mat-mdc-chip{padding-top:0!important;padding-bottom:0!important;margin-top:2px!important;margin-bottom:2px!important;margin-left:4px!important}.radio-form-field{width:100%}.radio-form-field ::ng-deep .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}.radio-form-field ::ng-deep .mat-mdc-floating-label{transform:translateY(-1.5em) scale(1)}.radio-form-field mat-radio-group{display:flex;flex-direction:row;gap:20px;padding-top:4px;margin-left:-12px}.radio-form-field .mat-mdc-form-field-infix{min-height:48px;display:flex;align-items:center}\n"] }]
|
|
25963
25963
|
}], propDecorators: { formGroup: [{
|
|
25964
25964
|
type: Input
|
|
25965
25965
|
}], classType: [{
|