ngx-material-entity 15.3.0 → 16.0.0
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/classes/entity.model.d.ts +2 -2
- package/components/confirm-dialog/confirm-dialog-data.d.ts +1 -1
- package/components/edit-page/edit-page.component.d.ts +4 -2
- package/components/edit-page/page-edit-data.builder.d.ts +1 -1
- package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +1 -0
- package/components/input/array/array-table.class.d.ts +4 -2
- package/components/input/base-input.component.d.ts +5 -1
- package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts +1 -1
- package/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.d.ts +1 -1
- package/components/input/file/file-default-input/file-default-input.component.d.ts +0 -2
- package/components/input/file/file-image-input/file-image-input.component.d.ts +3 -2
- package/components/input/file/file-input/file-input.component.d.ts +4 -2
- package/components/input/input.component.d.ts +9 -4
- package/components/input/input.module.d.ts +2 -1
- package/components/table/display-column-value/base-display-column-value.component.d.ts +1 -1
- package/components/table/display-column-value/display-column-value.component.d.ts +1 -1
- package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +3 -1
- package/components/table/table-data.builder.d.ts +1 -1
- package/components/table/table-data.d.ts +1 -1
- package/components/table/table.component.d.ts +1 -1
- package/decorators/base/decorator-types.enum.d.ts +1 -1
- package/decorators/base/property-decorator.data.d.ts +1 -1
- package/decorators/file/file-decorator.data.d.ts +1 -1
- package/decorators/number/number-decorator.data.d.ts +1 -1
- package/decorators/string/string-decorator.data.d.ts +1 -1
- package/encapsulation/jszip.utilities.d.ts +1 -1
- package/encapsulation/uuid.utilities.d.ts +11 -0
- package/esm2022/classes/base.builder.mjs +44 -0
- package/esm2022/classes/entity.model.mjs +26 -0
- package/esm2022/components/confirm-dialog/confirm-dialog-data.builder.mjs +58 -0
- package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +60 -0
- package/esm2022/components/edit-page/edit-page.component.mjs +291 -0
- package/esm2022/components/input/array/array-date-input/array-date-input.component.mjs +23 -0
- package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +49 -0
- package/esm2022/components/input/array/array-date-time-input/array-date-time-input.component.mjs +49 -0
- package/esm2022/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +50 -0
- package/esm2022/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +69 -0
- package/esm2022/components/input/array/array-table.class.mjs +100 -0
- package/esm2022/components/input/base-input.component.mjs +88 -0
- package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +21 -0
- package/esm2022/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +17 -0
- package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +21 -0
- package/esm2022/components/input/custom/custom.component.mjs +28 -0
- package/esm2022/components/input/date/date-input/date-input.component.mjs +19 -0
- package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +68 -0
- package/esm2022/components/input/date/date-time-input/date-time-input.component.mjs +69 -0
- package/esm2022/components/input/file/file-default-input/file-default-input.component.mjs +18 -0
- package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +101 -0
- package/esm2022/components/input/file/file-input/dragDrop.directive.mjs +62 -0
- package/esm2022/components/input/file/file-input/file-input.component.mjs +206 -0
- package/esm2022/components/input/input.component.mjs +849 -0
- package/esm2022/components/input/input.module.mjs +172 -0
- package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +23 -0
- package/esm2022/components/input/number/number-input/number-input.component.mjs +16 -0
- package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +17 -0
- package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +102 -0
- package/esm2022/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +36 -0
- package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +23 -0
- package/esm2022/components/input/string/string-input/string-input.component.mjs +16 -0
- package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +39 -0
- package/esm2022/components/input/string/string-textbox-input/string-textbox-input.component.mjs +17 -0
- package/esm2022/components/table/create-dialog/create-dialog-data.builder.mjs +42 -0
- package/esm2022/components/table/create-dialog/create-entity-dialog-data.builder.mjs +32 -0
- package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +107 -0
- package/esm2022/components/table/display-column-value/base-display-column-value.component.mjs +28 -0
- package/esm2022/components/table/display-column-value/display-column-value.component.mjs +37 -0
- package/esm2022/components/table/edit-dialog/edit-data.builder.mjs +106 -0
- package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +209 -0
- package/esm2022/components/table/edit-dialog/edit-entity.builder.mjs +39 -0
- package/esm2022/components/table/table-data.builder.mjs +269 -0
- package/esm2022/components/table/table.component.mjs +348 -0
- package/esm2022/decorators/array/array-decorator-internal.data.mjs +286 -0
- package/esm2022/decorators/array/array-decorator.data.mjs +21 -0
- package/esm2022/decorators/base/property-decorator-internal.data.mjs +82 -0
- package/esm2022/decorators/base/property-decorator.data.mjs +56 -0
- package/esm2022/decorators/boolean/boolean-decorator-internal.data.mjs +43 -0
- package/esm2022/decorators/boolean/boolean-decorator.data.mjs +11 -0
- package/esm2022/decorators/custom/custom-decorator-internal.data.mjs +35 -0
- package/{esm2020 → esm2022}/decorators/date/date-decorator-internal.data.mjs +43 -1
- package/esm2022/decorators/date/date-decorator.data.mjs +11 -0
- package/esm2022/decorators/file/file-decorator-internal.data.mjs +143 -0
- package/esm2022/decorators/file/file-decorator.data.mjs +64 -0
- package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +42 -0
- package/esm2022/decorators/number/number-decorator-internal.data.mjs +76 -0
- package/esm2022/decorators/number/number-decorator.data.mjs +11 -0
- package/esm2022/decorators/object/object-decorator-internal.data.mjs +20 -0
- package/esm2022/decorators/object/object-decorator.data.mjs +22 -0
- package/esm2022/decorators/references-many/references-many-decorator-internal.data.mjs +48 -0
- package/esm2022/decorators/references-one/references-one-decorator-internal.data.mjs +24 -0
- package/esm2022/decorators/string/string-decorator-internal.data.mjs +114 -0
- package/esm2022/decorators/string/string-decorator.data.mjs +11 -0
- package/esm2022/encapsulation/uuid.utilities.mjs +15 -0
- package/esm2022/services/entity.service.mjs +276 -0
- package/esm2022/utilities/date.utilities.mjs +159 -0
- package/esm2022/utilities/entity.utilities.mjs +905 -0
- package/esm2022/utilities/file.utilities.mjs +180 -0
- package/{fesm2020 → fesm2022}/ngx-material-entity.mjs +1355 -484
- package/fesm2022/ngx-material-entity.mjs.map +1 -0
- package/package.json +11 -17
- package/utilities/date.utilities.d.ts +1 -1
- package/utilities/entity.utilities.d.ts +7 -3
- package/utilities/file.utilities.d.ts +6 -2
- package/esm2020/classes/base.builder.mjs +0 -42
- package/esm2020/classes/entity.model.mjs +0 -22
- package/esm2020/components/confirm-dialog/confirm-dialog-data.builder.mjs +0 -44
- package/esm2020/components/confirm-dialog/confirm-dialog.component.mjs +0 -57
- package/esm2020/components/edit-page/edit-page.component.mjs +0 -274
- package/esm2020/components/input/array/array-date-input/array-date-input.component.mjs +0 -26
- package/esm2020/components/input/array/array-date-range-input/array-date-range-input.component.mjs +0 -50
- package/esm2020/components/input/array/array-date-time-input/array-date-time-input.component.mjs +0 -49
- package/esm2020/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +0 -49
- package/esm2020/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +0 -70
- package/esm2020/components/input/array/array-table.class.mjs +0 -93
- package/esm2020/components/input/base-input.component.mjs +0 -64
- package/esm2020/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +0 -21
- package/esm2020/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +0 -17
- package/esm2020/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +0 -21
- package/esm2020/components/input/custom/custom.component.mjs +0 -26
- package/esm2020/components/input/date/date-input/date-input.component.mjs +0 -22
- package/esm2020/components/input/date/date-range-input/date-range-input.component.mjs +0 -71
- package/esm2020/components/input/date/date-time-input/date-time-input.component.mjs +0 -71
- package/esm2020/components/input/file/file-default-input/file-default-input.component.mjs +0 -23
- package/esm2020/components/input/file/file-image-input/file-image-input.component.mjs +0 -98
- package/esm2020/components/input/file/file-input/dragDrop.directive.mjs +0 -63
- package/esm2020/components/input/file/file-input/file-input.component.mjs +0 -195
- package/esm2020/components/input/input.component.mjs +0 -746
- package/esm2020/components/input/input.module.mjs +0 -169
- package/esm2020/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +0 -26
- package/esm2020/components/input/number/number-input/number-input.component.mjs +0 -16
- package/esm2020/components/input/number/number-slider-input/number-slider-input.component.mjs +0 -17
- package/esm2020/components/input/relations/references-many-input/references-many-input.component.mjs +0 -100
- package/esm2020/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +0 -34
- package/esm2020/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +0 -26
- package/esm2020/components/input/string/string-input/string-input.component.mjs +0 -16
- package/esm2020/components/input/string/string-password-input/string-password-input.component.mjs +0 -42
- package/esm2020/components/input/string/string-textbox-input/string-textbox-input.component.mjs +0 -17
- package/esm2020/components/table/create-dialog/create-dialog-data.builder.mjs +0 -32
- package/esm2020/components/table/create-dialog/create-entity-dialog-data.builder.mjs +0 -26
- package/esm2020/components/table/create-dialog/create-entity-dialog.component.mjs +0 -100
- package/esm2020/components/table/display-column-value/base-display-column-value.component.mjs +0 -27
- package/esm2020/components/table/display-column-value/display-column-value.component.mjs +0 -33
- package/esm2020/components/table/edit-dialog/edit-data.builder.mjs +0 -76
- package/esm2020/components/table/edit-dialog/edit-entity-dialog.component.mjs +0 -195
- package/esm2020/components/table/edit-dialog/edit-entity.builder.mjs +0 -29
- package/esm2020/components/table/table-data.builder.mjs +0 -205
- package/esm2020/components/table/table.component.mjs +0 -333
- package/esm2020/decorators/array/array-decorator-internal.data.mjs +0 -150
- package/esm2020/decorators/array/array-decorator.data.mjs +0 -7
- package/esm2020/decorators/base/property-decorator-internal.data.mjs +0 -58
- package/esm2020/decorators/base/property-decorator.data.mjs +0 -6
- package/esm2020/decorators/boolean/boolean-decorator-internal.data.mjs +0 -33
- package/esm2020/decorators/boolean/boolean-decorator.data.mjs +0 -7
- package/esm2020/decorators/custom/custom-decorator-internal.data.mjs +0 -27
- package/esm2020/decorators/date/date-decorator.data.mjs +0 -7
- package/esm2020/decorators/file/file-decorator-internal.data.mjs +0 -97
- package/esm2020/decorators/file/file-decorator.data.mjs +0 -7
- package/esm2020/decorators/has-many/has-many-decorator-internal.data.mjs +0 -32
- package/esm2020/decorators/number/number-decorator-internal.data.mjs +0 -54
- package/esm2020/decorators/number/number-decorator.data.mjs +0 -7
- package/esm2020/decorators/object/object-decorator-internal.data.mjs +0 -14
- package/esm2020/decorators/object/object-decorator.data.mjs +0 -7
- package/esm2020/decorators/references-many/references-many-decorator-internal.data.mjs +0 -30
- package/esm2020/decorators/references-one/references-one-decorator-internal.data.mjs +0 -16
- package/esm2020/decorators/string/string-decorator-internal.data.mjs +0 -72
- package/esm2020/decorators/string/string-decorator.data.mjs +0 -7
- package/esm2020/services/entity.service.mjs +0 -274
- package/esm2020/utilities/date.utilities.mjs +0 -159
- package/esm2020/utilities/entity.utilities.mjs +0 -896
- package/esm2020/utilities/file.utilities.mjs +0 -176
- package/fesm2015/ngx-material-entity.mjs +0 -6300
- package/fesm2015/ngx-material-entity.mjs.map +0 -1
- package/fesm2020/ngx-material-entity.mjs.map +0 -1
- /package/{esm2020 → esm2022}/components/confirm-dialog/confirm-dialog-data.mjs +0 -0
- /package/{esm2020 → esm2022}/components/edit-page/edit-data.route.mjs +0 -0
- /package/{esm2020 → esm2022}/components/edit-page/page-edit-data.builder.mjs +0 -0
- /package/{esm2020 → esm2022}/components/get-validation-error-message.function.mjs +0 -0
- /package/{esm2020 → esm2022}/components/table/create-dialog/create-entity-dialog-data.mjs +0 -0
- /package/{esm2020 → esm2022}/components/table/default.actions.mjs +0 -0
- /package/{esm2020 → esm2022}/components/table/edit-dialog/edit-entity-data.mjs +0 -0
- /package/{esm2020 → esm2022}/components/table/table-data.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/array/array.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/base/base-property.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/base/decorator-types.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/base/dropdown-value.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/boolean/boolean.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/custom/custom-decorator.data.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/custom/custom.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/date/date.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/file/file.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/has-many/has-many-decorator.data.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/has-many/has-many.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/number/number.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/object/object.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/references-many/references-many-decorator.data.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/references-many/references-many.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/references-one/references-one-decorator.data.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/references-one/references-one.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/string/string.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/encapsulation/js-2-xml.utilities.mjs +0 -0
- /package/{esm2020 → esm2022}/encapsulation/jszip.utilities.mjs +0 -0
- /package/{esm2020 → esm2022}/encapsulation/lodash.utilities.mjs +0 -0
- /package/{esm2020 → esm2022}/encapsulation/reflect.utilities.mjs +0 -0
- /package/{esm2020 → esm2022}/functions/default-false.function.mjs +0 -0
- /package/{esm2020 → esm2022}/functions/default-true.function.mjs +0 -0
- /package/{esm2020 → esm2022}/functions/is-async-function.function.mjs +0 -0
- /package/{esm2020 → esm2022}/mocks/placeholder-data.png.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-material-entity.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/services/unsaved-changes.guard.mjs +0 -0
- /package/{esm2020 → esm2022}/utilities/selection.utilities.mjs +0 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
5
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
7
|
+
import { MatChipsModule } from '@angular/material/chips';
|
|
8
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
9
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
10
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
11
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
12
|
+
import { MatInputModule } from '@angular/material/input';
|
|
13
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
14
|
+
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
15
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
16
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
17
|
+
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
18
|
+
import { MatSliderModule } from '@angular/material/slider';
|
|
19
|
+
import { MatTableModule } from '@angular/material/table';
|
|
20
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
21
|
+
import { DisplayColumnValueComponent } from '../table/display-column-value/display-column-value.component';
|
|
22
|
+
import { ArrayDateInputComponent } from './array/array-date-input/array-date-input.component';
|
|
23
|
+
import { ArrayDateRangeInputComponent } from './array/array-date-range-input/array-date-range-input.component';
|
|
24
|
+
import { ArrayDateTimeInputComponent } from './array/array-date-time-input/array-date-time-input.component';
|
|
25
|
+
import { ArrayStringAutocompleteChipsComponent } from './array/array-string-autocomplete-chips/array-string-autocomplete-chips.component';
|
|
26
|
+
import { ArrayStringChipsInputComponent } from './array/array-string-chips-input/array-string-chips-input.component';
|
|
27
|
+
import { BooleanCheckboxInputComponent } from './boolean/boolean-checkbox-input/boolean-checkbox-input.component';
|
|
28
|
+
import { BooleanDropdownInputComponent } from './boolean/boolean-dropdown-input/boolean-dropdown-input.component';
|
|
29
|
+
import { BooleanToggleInputComponent } from './boolean/boolean-toggle-input/boolean-toggle-input.component';
|
|
30
|
+
import { CustomInputComponent } from './custom/custom.component';
|
|
31
|
+
import { DateInputComponent } from './date/date-input/date-input.component';
|
|
32
|
+
import { DateRangeInputComponent } from './date/date-range-input/date-range-input.component';
|
|
33
|
+
import { DateTimeInputComponent } from './date/date-time-input/date-time-input.component';
|
|
34
|
+
import { FileDefaultInputComponent } from './file/file-default-input/file-default-input.component';
|
|
35
|
+
import { FileImageInputComponent } from './file/file-image-input/file-image-input.component';
|
|
36
|
+
import { DragDropDirective } from './file/file-input/dragDrop.directive';
|
|
37
|
+
import { FileInputComponent } from './file/file-input/file-input.component';
|
|
38
|
+
import { NgxMatEntityInputComponent } from './input.component';
|
|
39
|
+
import { NumberDropdownInputComponent } from './number/number-dropdown-input/number-dropdown-input.component';
|
|
40
|
+
import { NumberInputComponent } from './number/number-input/number-input.component';
|
|
41
|
+
import { NumberSliderInputComponent } from './number/number-slider-input/number-slider-input.component';
|
|
42
|
+
import { ReferencesManyInputComponent } from './relations/references-many-input/references-many-input.component';
|
|
43
|
+
import { StringAutocompleteInputComponent } from './string/string-autocomplete-input/string-autocomplete-input.component';
|
|
44
|
+
import { StringDropdownInputComponent } from './string/string-dropdown-input/string-dropdown-input.component';
|
|
45
|
+
import { StringInputComponent } from './string/string-input/string-input.component';
|
|
46
|
+
import { StringPasswordInputComponent } from './string/string-password-input/string-password-input.component';
|
|
47
|
+
import { StringTextboxInputComponent } from './string/string-textbox-input/string-textbox-input.component';
|
|
48
|
+
import * as i0 from "@angular/core";
|
|
49
|
+
export class NgxMatEntityInputModule {
|
|
50
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NgxMatEntityInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
51
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: NgxMatEntityInputModule, declarations: [StringInputComponent,
|
|
52
|
+
StringTextboxInputComponent,
|
|
53
|
+
StringAutocompleteInputComponent,
|
|
54
|
+
StringDropdownInputComponent,
|
|
55
|
+
StringPasswordInputComponent,
|
|
56
|
+
BooleanCheckboxInputComponent,
|
|
57
|
+
BooleanToggleInputComponent,
|
|
58
|
+
BooleanDropdownInputComponent,
|
|
59
|
+
NumberInputComponent,
|
|
60
|
+
NumberDropdownInputComponent,
|
|
61
|
+
NumberSliderInputComponent,
|
|
62
|
+
ArrayStringChipsInputComponent,
|
|
63
|
+
ArrayStringAutocompleteChipsComponent,
|
|
64
|
+
DateInputComponent,
|
|
65
|
+
DateRangeInputComponent,
|
|
66
|
+
DateTimeInputComponent,
|
|
67
|
+
ArrayDateInputComponent,
|
|
68
|
+
ArrayDateTimeInputComponent,
|
|
69
|
+
ArrayDateRangeInputComponent,
|
|
70
|
+
FileInputComponent,
|
|
71
|
+
FileImageInputComponent,
|
|
72
|
+
FileDefaultInputComponent,
|
|
73
|
+
DragDropDirective,
|
|
74
|
+
ReferencesManyInputComponent,
|
|
75
|
+
CustomInputComponent,
|
|
76
|
+
NgxMatEntityInputComponent], imports: [CommonModule,
|
|
77
|
+
MatInputModule,
|
|
78
|
+
FormsModule,
|
|
79
|
+
MatFormFieldModule,
|
|
80
|
+
MatSelectModule,
|
|
81
|
+
MatAutocompleteModule,
|
|
82
|
+
MatCheckboxModule,
|
|
83
|
+
MatSlideToggleModule,
|
|
84
|
+
MatChipsModule,
|
|
85
|
+
MatIconModule,
|
|
86
|
+
MatTableModule,
|
|
87
|
+
MatDialogModule,
|
|
88
|
+
MatButtonModule,
|
|
89
|
+
MatDatepickerModule,
|
|
90
|
+
MatSliderModule,
|
|
91
|
+
MatTabsModule,
|
|
92
|
+
MatMenuModule,
|
|
93
|
+
MatProgressSpinnerModule,
|
|
94
|
+
MatPaginatorModule,
|
|
95
|
+
DisplayColumnValueComponent], exports: [NgxMatEntityInputComponent] });
|
|
96
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NgxMatEntityInputModule, imports: [CommonModule,
|
|
97
|
+
MatInputModule,
|
|
98
|
+
FormsModule,
|
|
99
|
+
MatFormFieldModule,
|
|
100
|
+
MatSelectModule,
|
|
101
|
+
MatAutocompleteModule,
|
|
102
|
+
MatCheckboxModule,
|
|
103
|
+
MatSlideToggleModule,
|
|
104
|
+
MatChipsModule,
|
|
105
|
+
MatIconModule,
|
|
106
|
+
MatTableModule,
|
|
107
|
+
MatDialogModule,
|
|
108
|
+
MatButtonModule,
|
|
109
|
+
MatDatepickerModule,
|
|
110
|
+
MatSliderModule,
|
|
111
|
+
MatTabsModule,
|
|
112
|
+
MatMenuModule,
|
|
113
|
+
MatProgressSpinnerModule,
|
|
114
|
+
MatPaginatorModule] });
|
|
115
|
+
}
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NgxMatEntityInputModule, decorators: [{
|
|
117
|
+
type: NgModule,
|
|
118
|
+
args: [{
|
|
119
|
+
declarations: [
|
|
120
|
+
StringInputComponent,
|
|
121
|
+
StringTextboxInputComponent,
|
|
122
|
+
StringAutocompleteInputComponent,
|
|
123
|
+
StringDropdownInputComponent,
|
|
124
|
+
StringPasswordInputComponent,
|
|
125
|
+
BooleanCheckboxInputComponent,
|
|
126
|
+
BooleanToggleInputComponent,
|
|
127
|
+
BooleanDropdownInputComponent,
|
|
128
|
+
NumberInputComponent,
|
|
129
|
+
NumberDropdownInputComponent,
|
|
130
|
+
NumberSliderInputComponent,
|
|
131
|
+
ArrayStringChipsInputComponent,
|
|
132
|
+
ArrayStringAutocompleteChipsComponent,
|
|
133
|
+
DateInputComponent,
|
|
134
|
+
DateRangeInputComponent,
|
|
135
|
+
DateTimeInputComponent,
|
|
136
|
+
ArrayDateInputComponent,
|
|
137
|
+
ArrayDateTimeInputComponent,
|
|
138
|
+
ArrayDateRangeInputComponent,
|
|
139
|
+
FileInputComponent,
|
|
140
|
+
FileImageInputComponent,
|
|
141
|
+
FileDefaultInputComponent,
|
|
142
|
+
DragDropDirective,
|
|
143
|
+
ReferencesManyInputComponent,
|
|
144
|
+
CustomInputComponent,
|
|
145
|
+
NgxMatEntityInputComponent
|
|
146
|
+
],
|
|
147
|
+
imports: [
|
|
148
|
+
CommonModule,
|
|
149
|
+
MatInputModule,
|
|
150
|
+
FormsModule,
|
|
151
|
+
MatFormFieldModule,
|
|
152
|
+
MatSelectModule,
|
|
153
|
+
MatAutocompleteModule,
|
|
154
|
+
MatCheckboxModule,
|
|
155
|
+
MatSlideToggleModule,
|
|
156
|
+
MatChipsModule,
|
|
157
|
+
MatIconModule,
|
|
158
|
+
MatTableModule,
|
|
159
|
+
MatDialogModule,
|
|
160
|
+
MatButtonModule,
|
|
161
|
+
MatDatepickerModule,
|
|
162
|
+
MatSliderModule,
|
|
163
|
+
MatTabsModule,
|
|
164
|
+
MatMenuModule,
|
|
165
|
+
MatProgressSpinnerModule,
|
|
166
|
+
MatPaginatorModule,
|
|
167
|
+
DisplayColumnValueComponent
|
|
168
|
+
],
|
|
169
|
+
exports: [NgxMatEntityInputComponent]
|
|
170
|
+
}]
|
|
171
|
+
}] });
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFB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QixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQiwyQkFBMkI7cUJBQzlCO29CQUNELE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZXInO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBEaXNwbGF5Q29sdW1uVmFsdWVDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS9kaXNwbGF5LWNvbHVtbi12YWx1ZS9kaXNwbGF5LWNvbHVtbi12YWx1ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXJyYXlEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2FycmF5L2FycmF5LWRhdGUtaW5wdXQvYXJyYXktZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXJyYXlEYXRlUmFuZ2VJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vYXJyYXkvYXJyYXktZGF0ZS1yYW5nZS1pbnB1dC9hcnJheS1kYXRlLXJhbmdlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcnJheURhdGVUaW1lSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2FycmF5L2FycmF5LWRhdGUtdGltZS1pbnB1dC9hcnJheS1kYXRlLXRpbWUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEFycmF5U3RyaW5nQXV0b2NvbXBsZXRlQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuL2FycmF5L2FycmF5LXN0cmluZy1hdXRvY29tcGxldGUtY2hpcHMvYXJyYXktc3RyaW5nLWF1dG9jb21wbGV0ZS1jaGlwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXJyYXlTdHJpbmdDaGlwc0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9hcnJheS9hcnJheS1zdHJpbmctY2hpcHMtaW5wdXQvYXJyYXktc3RyaW5nLWNoaXBzLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb29sZWFuQ2hlY2tib3hJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vYm9vbGVhbi9ib29sZWFuLWNoZWNrYm94LWlucHV0L2Jvb2xlYW4tY2hlY2tib3gtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEJvb2xlYW5Ecm9wZG93bklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9ib29sZWFuL2Jvb2xlYW4tZHJvcGRvd24taW5wdXQvYm9vbGVhbi1kcm9wZG93bi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm9vbGVhblRvZ2dsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9ib29sZWFuL2Jvb2xlYW4tdG9nZ2xlLWlucHV0L2Jvb2xlYW4tdG9nZ2xlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXN0b21JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY3VzdG9tL2N1c3RvbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRlL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUvZGF0ZS1yYW5nZS1pbnB1dC9kYXRlLXJhbmdlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlVGltZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRlL2RhdGUtdGltZS1pbnB1dC9kYXRlLXRpbWUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVEZWZhdWx0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUvZmlsZS1kZWZhdWx0LWlucHV0L2ZpbGUtZGVmYXVsdC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZUltYWdlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUvZmlsZS1pbWFnZS1pbnB1dC9maWxlLWltYWdlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcmFnRHJvcERpcmVjdGl2ZSB9IGZyb20gJy4vZmlsZS9maWxlLWlucHV0L2RyYWdEcm9wLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWxlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUvZmlsZS1pbnB1dC9maWxlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3hNYXRFbnRpdHlJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE51bWJlckRyb3Bkb3duSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL251bWJlci9udW1iZXItZHJvcGRvd24taW5wdXQvbnVtYmVyLWRyb3Bkb3duLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOdW1iZXJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vbnVtYmVyL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE51bWJlclNsaWRlcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXIvbnVtYmVyLXNsaWRlci1pbnB1dC9udW1iZXItc2xpZGVyLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWZlcmVuY2VzTWFueUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9yZWxhdGlvbnMvcmVmZXJlbmNlcy1tYW55LWlucHV0L3JlZmVyZW5jZXMtbWFueS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RyaW5nQXV0b2NvbXBsZXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3N0cmluZy9zdHJpbmctYXV0b2NvbXBsZXRlLWlucHV0L3N0cmluZy1hdXRvY29tcGxldGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFN0cmluZ0Ryb3Bkb3duSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3N0cmluZy9zdHJpbmctZHJvcGRvd24taW5wdXQvc3RyaW5nLWRyb3Bkb3duLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdHJpbmdJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vc3RyaW5nL3N0cmluZy1pbnB1dC9zdHJpbmctaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFN0cmluZ1Bhc3N3b3JkSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3N0cmluZy9zdHJpbmctcGFzc3dvcmQtaW5wdXQvc3RyaW5nLXBhc3N3b3JkLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdHJpbmdUZXh0Ym94SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3N0cmluZy9zdHJpbmctdGV4dGJveC1pbnB1dC9zdHJpbmctdGV4dGJveC1pbnB1dC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBTdHJpbmdJbnB1dENvbXBvbmVudCxcbiAgICAgICAgU3RyaW5nVGV4dGJveElucHV0Q29tcG9uZW50LFxuICAgICAgICBTdHJpbmdBdXRvY29tcGxldGVJbnB1dENvbXBvbmVudCxcbiAgICAgICAgU3RyaW5nRHJvcGRvd25JbnB1dENvbXBvbmVudCxcbiAgICAgICAgU3RyaW5nUGFzc3dvcmRJbnB1dENvbXBvbmVudCxcbiAgICAgICAgQm9vbGVhbkNoZWNrYm94SW5wdXRDb21wb25lbnQsXG4gICAgICAgIEJvb2xlYW5Ub2dnbGVJbnB1dENvbXBvbmVudCxcbiAgICAgICAgQm9vbGVhbkRyb3Bkb3duSW5wdXRDb21wb25lbnQsXG4gICAgICAgIE51bWJlcklucHV0Q29tcG9uZW50LFxuICAgICAgICBOdW1iZXJEcm9wZG93bklucHV0Q29tcG9uZW50LFxuICAgICAgICBOdW1iZXJTbGlkZXJJbnB1dENvbXBvbmVudCxcbiAgICAgICAgQXJyYXlTdHJpbmdDaGlwc0lucHV0Q29tcG9uZW50LFxuICAgICAgICBBcnJheVN0cmluZ0F1dG9jb21wbGV0ZUNoaXBzQ29tcG9uZW50LFxuICAgICAgICBEYXRlSW5wdXRDb21wb25lbnQsXG4gICAgICAgIERhdGVSYW5nZUlucHV0Q29tcG9uZW50LFxuICAgICAgICBEYXRlVGltZUlucHV0Q29tcG9uZW50LFxuICAgICAgICBBcnJheURhdGVJbnB1dENvbXBvbmVudCxcbiAgICAgICAgQXJyYXlEYXRlVGltZUlucHV0Q29tcG9uZW50LFxuICAgICAgICBBcnJheURhdGVSYW5nZUlucHV0Q29tcG9uZW50LFxuICAgICAgICBGaWxlSW5wdXRDb21wb25lbnQsXG4gICAgICAgIEZpbGVJbWFnZUlucHV0Q29tcG9uZW50LFxuICAgICAgICBGaWxlRGVmYXVsdElucHV0Q29tcG9uZW50LFxuICAgICAgICBEcmFnRHJvcERpcmVjdGl2ZSxcbiAgICAgICAgUmVmZXJlbmNlc01hbnlJbnB1dENvbXBvbmVudCxcbiAgICAgICAgQ3VzdG9tSW5wdXRDb21wb25lbnQsXG4gICAgICAgIE5neE1hdEVudGl0eUlucHV0Q29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICAgICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgICAgIE1hdENoaXBzTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgICAgIE1hdFNsaWRlck1vZHVsZSxcbiAgICAgICAgTWF0VGFic01vZHVsZSxcbiAgICAgICAgTWF0TWVudU1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgICAgIERpc3BsYXlDb2x1bW5WYWx1ZUNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW05neE1hdEVudGl0eUlucHV0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hNYXRFbnRpdHlJbnB1dE1vZHVsZSB7fSJdfQ==
|
package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/material/form-field";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "@angular/material/select";
|
|
9
|
+
import * as i5 from "@angular/material/core";
|
|
10
|
+
export class NumberDropdownInputComponent extends NgxMatEntityBaseInputComponent {
|
|
11
|
+
dropdownValues = [];
|
|
12
|
+
async ngOnInit() {
|
|
13
|
+
super.ngOnInit();
|
|
14
|
+
this.dropdownValues = await this.metadata.dropdownValues(this.entity);
|
|
15
|
+
}
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NumberDropdownInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: NumberDropdownInputComponent, selector: "number-dropdown-input", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <mat-select [(ngModel)]=\"propertyValue\" [name]=\"key.toString() + uuid\" #model=\"ngModel\" [required]=\"metadata.required(entity)\" [disabled]=\"isReadOnly\" (selectionChange)=\"emitChange()\">\n <mat-option *ngFor=\"let value of dropdownValues\" [value]=\"value.value\">{{value.displayName}}</mat-option>\n </mat-select>\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NumberDropdownInputComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: 'number-dropdown-input', template: "<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <mat-select [(ngModel)]=\"propertyValue\" [name]=\"key.toString() + uuid\" #model=\"ngModel\" [required]=\"metadata.required(entity)\" [disabled]=\"isReadOnly\" (selectionChange)=\"emitChange()\">\n <mat-option *ngFor=\"let value of dropdownValues\" [value]=\"value.value\">{{value.displayName}}</mat-option>\n </mat-select>\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWRyb3Bkb3duLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvaW5wdXQvbnVtYmVyL251bWJlci1kcm9wZG93bi1pbnB1dC9udW1iZXItZHJvcGRvd24taW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9pbnB1dC9udW1iZXIvbnVtYmVyLWRyb3Bkb3duLWlucHV0L251bWJlci1kcm9wZG93bi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUlsRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQVE1RSxNQUFNLE9BQU8sNEJBQ1QsU0FBUSw4QkFBa0Y7SUFFMUYsY0FBYyxHQUF3QyxFQUFFLENBQUM7SUFFaEQsS0FBSyxDQUFDLFFBQVE7UUFDbkIsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUUsQ0FBQzt1R0FSUSw0QkFBNEI7MkZBQTVCLDRCQUE0QixvRkNiekMsK2VBTWlCOzsyRkRPSiw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBRUksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUganNkb2MvcmVxdWlyZS1qc2RvYyAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgRHJvcGRvd25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RlY29yYXRvcnMvYmFzZS9kcm9wZG93bi12YWx1ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmd4TWF0RW50aXR5QmFzZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnbnVtYmVyLWRyb3Bkb3duLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWRyb3Bkb3duLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9udW1iZXItZHJvcGRvd24taW5wdXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJEcm9wZG93bklucHV0Q29tcG9uZW50PEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj5cbiAgICBleHRlbmRzIE5neE1hdEVudGl0eUJhc2VJbnB1dENvbXBvbmVudDxFbnRpdHlUeXBlLCBEZWNvcmF0b3JUeXBlcy5OVU1CRVJfRFJPUERPV04sIG51bWJlcj4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgZHJvcGRvd25WYWx1ZXM6IERyb3Bkb3duVmFsdWU8bnVtYmVyIHwgdW5kZWZpbmVkPltdID0gW107XG5cbiAgICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5kcm9wZG93blZhbHVlcyA9IGF3YWl0IHRoaXMubWV0YWRhdGEuZHJvcGRvd25WYWx1ZXModGhpcy5lbnRpdHkpO1xuICAgIH1cbn0iLCI8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57e21ldGFkYXRhLmRpc3BsYXlOYW1lfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cInByb3BlcnR5VmFsdWVcIiBbbmFtZV09XCJrZXkudG9TdHJpbmcoKSArIHV1aWRcIiAjbW9kZWw9XCJuZ01vZGVsXCIgW3JlcXVpcmVkXT1cIm1ldGFkYXRhLnJlcXVpcmVkKGVudGl0eSlcIiBbZGlzYWJsZWRdPVwiaXNSZWFkT25seVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiZW1pdENoYW5nZSgpXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBkcm9wZG93blZhbHVlc1wiIFt2YWx1ZV09XCJ2YWx1ZS52YWx1ZVwiPnt7dmFsdWUuZGlzcGxheU5hbWV9fTwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gICAgPG1hdC1lcnJvcj57e2dldFZhbGlkYXRpb25FcnJvck1lc3NhZ2UobW9kZWwpfX08L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+Il19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/input";
|
|
6
|
+
import * as i2 from "@angular/material/form-field";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
export class NumberInputComponent extends NgxMatEntityBaseInputComponent {
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NumberInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: NumberInputComponent, selector: "number-input", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <input\n matInput\n type=\"number\"\n [(ngModel)]=\"propertyValue\"\n [name]=\"key.toString() + uuid\"\n #model=\"ngModel\"\n [required]=\"metadata.required(entity)\"\n [min]=\"metadata.min ?? null\"\n [max]=\"metadata.max ?? null\"\n (ngModelChange)=\"emitChange()\"\n [disabled]=\"isReadOnly\"\n >\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NumberInputComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'number-input', template: "<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <input\n matInput\n type=\"number\"\n [(ngModel)]=\"propertyValue\"\n [name]=\"key.toString() + uuid\"\n #model=\"ngModel\"\n [required]=\"metadata.required(entity)\"\n [min]=\"metadata.min ?? null\"\n [max]=\"metadata.max ?? null\"\n (ngModelChange)=\"emitChange()\"\n [disabled]=\"isReadOnly\"\n >\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvaW5wdXQvbnVtYmVyL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9pbnB1dC9udW1iZXIvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUdsRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFRNUUsTUFBTSxPQUFPLG9CQUNULFNBQVEsOEJBQXlFO3VHQUR4RSxvQkFBb0I7MkZBQXBCLG9CQUFvQiwyRUNaakMscWhCQWVpQjs7MkZESEosb0JBQW9CO2tCQU5oQyxTQUFTOytCQUVJLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBqc2RvYy9yZXF1aXJlLWpzZG9jICovXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBOZ3hNYXRFbnRpdHlCYXNlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlLWlucHV0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdudW1iZXItaW5wdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL251bWJlci1pbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlcklucHV0Q29tcG9uZW50PEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj5cbiAgICBleHRlbmRzIE5neE1hdEVudGl0eUJhc2VJbnB1dENvbXBvbmVudDxFbnRpdHlUeXBlLCBEZWNvcmF0b3JUeXBlcy5OVU1CRVIsIG51bWJlcj4gaW1wbGVtZW50cyBPbkluaXQge1xufSIsIjxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7bWV0YWRhdGEuZGlzcGxheU5hbWV9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJwcm9wZXJ0eVZhbHVlXCJcbiAgICAgICAgW25hbWVdPVwia2V5LnRvU3RyaW5nKCkgKyB1dWlkXCJcbiAgICAgICAgI21vZGVsPVwibmdNb2RlbFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJtZXRhZGF0YS5yZXF1aXJlZChlbnRpdHkpXCJcbiAgICAgICAgW21pbl09XCJtZXRhZGF0YS5taW4gPz8gbnVsbFwiXG4gICAgICAgIFttYXhdPVwibWV0YWRhdGEubWF4ID8/IG51bGxcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlbWl0Q2hhbmdlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWFkT25seVwiXG4gICAgPlxuICAgIDxtYXQtZXJyb3I+e3tnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlKG1vZGVsKX19PC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/input";
|
|
6
|
+
import * as i2 from "@angular/material/form-field";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "@angular/material/slider";
|
|
9
|
+
export class NumberSliderInputComponent extends NgxMatEntityBaseInputComponent {
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NumberSliderInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: NumberSliderInputComponent, selector: "number-slider-input", usesInheritance: true, ngImport: i0, template: "<mat-slider\n id=\"slider\"\n color=\"primary\"\n (click)=\"model.control.markAsTouched()\"\n [min]=\"metadata.min ?? null\"\n [max]=\"metadata.max ?? null\"\n [step]=\"metadata.step\"\n [discrete]=\"true\"\n [displayWith]=\"metadata.formatThumbLabelValue\"\n [showTickMarks]=\"metadata.showTickMarks\"\n [disabled]=\"isReadOnly\"\n>\n <input matSliderThumb\n [(ngModel)]=\"propertyValue\"\n [name]=\"key.toString() + 'Helper' + uuid\"\n #model=\"ngModel\"\n [required]=\"metadata.required(entity)\"\n [min]=\"metadata.min ?? null\"\n [max]=\"metadata.max ?? null\"\n (ngModelChange)=\"emitChange()\"\n [disabled]=\"isReadOnly\"\n >\n</mat-slider>\n\n<mat-form-field floatLabel=\"always\">\n <mat-label>{{metadata.displayName}}</mat-label>\n <!-- hidden input is needed so that the slider can be used inside a mat-form-field -->\n <input matInput style=\"opacity: 0%;\">\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%;margin-top:-40px}mat-slider{width:calc(100% - 40px);margin-left:20px;margin-right:20px;margin-bottom:-40px;z-index:999}::ng-deep #slider .mdc-slider__value-indicator-container{top:23px;left:57px;display:flex;transform:rotate(90deg) scale(1);border-radius:50%;pointer-events:auto}::ng-deep #slider .mdc-slider__value-indicator{padding-right:5px;padding-left:5px;transition:transform .1s 0ms cubic-bezier(0,0,.2,1);transform:scale(1)}::ng-deep #slider .mdc-slider__value-indicator-text{transform:rotate(270deg)}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatSlider, selector: "mat-slider", inputs: ["color", "disableRipple", "disabled", "discrete", "showTickMarks", "min", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i4.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }] });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NumberSliderInputComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{ selector: 'number-slider-input', template: "<mat-slider\n id=\"slider\"\n color=\"primary\"\n (click)=\"model.control.markAsTouched()\"\n [min]=\"metadata.min ?? null\"\n [max]=\"metadata.max ?? null\"\n [step]=\"metadata.step\"\n [discrete]=\"true\"\n [displayWith]=\"metadata.formatThumbLabelValue\"\n [showTickMarks]=\"metadata.showTickMarks\"\n [disabled]=\"isReadOnly\"\n>\n <input matSliderThumb\n [(ngModel)]=\"propertyValue\"\n [name]=\"key.toString() + 'Helper' + uuid\"\n #model=\"ngModel\"\n [required]=\"metadata.required(entity)\"\n [min]=\"metadata.min ?? null\"\n [max]=\"metadata.max ?? null\"\n (ngModelChange)=\"emitChange()\"\n [disabled]=\"isReadOnly\"\n >\n</mat-slider>\n\n<mat-form-field floatLabel=\"always\">\n <mat-label>{{metadata.displayName}}</mat-label>\n <!-- hidden input is needed so that the slider can be used inside a mat-form-field -->\n <input matInput style=\"opacity: 0%;\">\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%;margin-top:-40px}mat-slider{width:calc(100% - 40px);margin-left:20px;margin-right:20px;margin-bottom:-40px;z-index:999}::ng-deep #slider .mdc-slider__value-indicator-container{top:23px;left:57px;display:flex;transform:rotate(90deg) scale(1);border-radius:50%;pointer-events:auto}::ng-deep #slider .mdc-slider__value-indicator{padding-right:5px;padding-left:5px;transition:transform .1s 0ms cubic-bezier(0,0,.2,1);transform:scale(1)}::ng-deep #slider .mdc-slider__value-indicator-text{transform:rotate(270deg)}\n"] }]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXNsaWRlci1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL2lucHV0L251bWJlci9udW1iZXItc2xpZGVyLWlucHV0L251bWJlci1zbGlkZXItaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9pbnB1dC9udW1iZXIvbnVtYmVyLXNsaWRlci1pbnB1dC9udW1iZXItc2xpZGVyLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdDQUF3QztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFRNUUsTUFBTSxPQUFPLDBCQUNULFNBQVEsOEJBQWdGO3VHQUQvRSwwQkFBMEI7MkZBQTFCLDBCQUEwQixrRkNadkMsaWlDQTZCaUI7OzJGRGpCSiwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBRUkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUganNkb2MvcmVxdWlyZS1qc2RvYyAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlY29yYXRvclR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGVjb3JhdG9ycy9iYXNlL2RlY29yYXRvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgTmd4TWF0RW50aXR5QmFzZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnbnVtYmVyLXNsaWRlci1pbnB1dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1zbGlkZXItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL251bWJlci1zbGlkZXItaW5wdXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJTbGlkZXJJbnB1dENvbXBvbmVudDxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+XG4gICAgZXh0ZW5kcyBOZ3hNYXRFbnRpdHlCYXNlSW5wdXRDb21wb25lbnQ8RW50aXR5VHlwZSwgRGVjb3JhdG9yVHlwZXMuTlVNQkVSX1NMSURFUiwgbnVtYmVyPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG59IiwiPG1hdC1zbGlkZXJcbiAgICBpZD1cInNsaWRlclwiXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAoY2xpY2spPVwibW9kZWwuY29udHJvbC5tYXJrQXNUb3VjaGVkKClcIlxuICAgIFttaW5dPVwibWV0YWRhdGEubWluID8/IG51bGxcIlxuICAgIFttYXhdPVwibWV0YWRhdGEubWF4ID8/IG51bGxcIlxuICAgIFtzdGVwXT1cIm1ldGFkYXRhLnN0ZXBcIlxuICAgIFtkaXNjcmV0ZV09XCJ0cnVlXCJcbiAgICBbZGlzcGxheVdpdGhdPVwibWV0YWRhdGEuZm9ybWF0VGh1bWJMYWJlbFZhbHVlXCJcbiAgICBbc2hvd1RpY2tNYXJrc109XCJtZXRhZGF0YS5zaG93VGlja01hcmtzXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNSZWFkT25seVwiXG4+XG4gICAgPGlucHV0IG1hdFNsaWRlclRodW1iXG4gICAgICAgIFsobmdNb2RlbCldPVwicHJvcGVydHlWYWx1ZVwiXG4gICAgICAgIFtuYW1lXT1cImtleS50b1N0cmluZygpICsgJ0hlbHBlcicgKyB1dWlkXCJcbiAgICAgICAgI21vZGVsPVwibmdNb2RlbFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJtZXRhZGF0YS5yZXF1aXJlZChlbnRpdHkpXCJcbiAgICAgICAgW21pbl09XCJtZXRhZGF0YS5taW4gPz8gbnVsbFwiXG4gICAgICAgIFttYXhdPVwibWV0YWRhdGEubWF4ID8/IG51bGxcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlbWl0Q2hhbmdlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWFkT25seVwiXG4gICAgPlxuPC9tYXQtc2xpZGVyPlxuXG48bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiPlxuICAgIDxtYXQtbGFiZWw+e3ttZXRhZGF0YS5kaXNwbGF5TmFtZX19PC9tYXQtbGFiZWw+XG4gICAgPCEtLSBoaWRkZW4gaW5wdXQgaXMgbmVlZGVkIHNvIHRoYXQgdGhlIHNsaWRlciBjYW4gYmUgdXNlZCBpbnNpZGUgYSBtYXQtZm9ybS1maWVsZCAtLT5cbiAgICA8aW5wdXQgbWF0SW5wdXQgc3R5bGU9XCJvcGFjaXR5OiAwJTtcIj5cbiAgICA8bWF0LWVycm9yPnt7Z2V0VmFsaWRhdGlvbkVycm9yTWVzc2FnZShtb2RlbCl9fTwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
|
package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
+
import { SelectionModel } from '@angular/cdk/collections';
|
|
3
|
+
import { Component, EnvironmentInjector } from '@angular/core';
|
|
4
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
5
|
+
import { LodashUtilities } from '../../../../encapsulation/lodash.utilities';
|
|
6
|
+
import { SelectionUtilities } from '../../../../utilities/selection.utilities';
|
|
7
|
+
import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
import * as i2 from "@angular/material/form-field";
|
|
11
|
+
import * as i3 from "@angular/forms";
|
|
12
|
+
import * as i4 from "@angular/material/select";
|
|
13
|
+
import * as i5 from "@angular/material/core";
|
|
14
|
+
import * as i6 from "@angular/material/checkbox";
|
|
15
|
+
import * as i7 from "@angular/material/table";
|
|
16
|
+
import * as i8 from "@angular/material/button";
|
|
17
|
+
export class ReferencesManyInputComponent extends NgxMatEntityBaseInputComponent {
|
|
18
|
+
injector;
|
|
19
|
+
allReferencedEntities = [];
|
|
20
|
+
allDropdownValues = [];
|
|
21
|
+
dropdownValues = [];
|
|
22
|
+
input = '';
|
|
23
|
+
referencedEntitiesDataSource = new MatTableDataSource();
|
|
24
|
+
displayedColumns;
|
|
25
|
+
selection = new SelectionModel(true, []);
|
|
26
|
+
SelectionUtilities = SelectionUtilities;
|
|
27
|
+
constructor(injector) {
|
|
28
|
+
super();
|
|
29
|
+
this.injector = injector;
|
|
30
|
+
}
|
|
31
|
+
async ngOnInit() {
|
|
32
|
+
super.ngOnInit();
|
|
33
|
+
this.propertyValue = this.propertyValue ?? [];
|
|
34
|
+
const givenDisplayColumns = this.metadata.displayColumns.map((v) => v.displayName);
|
|
35
|
+
if (givenDisplayColumns.find(s => s === 'select')) {
|
|
36
|
+
throw new Error(`The name "select" for a display column is reserved.
|
|
37
|
+
Please choose a different name.`);
|
|
38
|
+
}
|
|
39
|
+
this.displayedColumns = this.isReadOnly ? givenDisplayColumns : ['select'].concat(givenDisplayColumns);
|
|
40
|
+
this.referencedEntitiesDataSource.data = this.propertyValue;
|
|
41
|
+
await this.injector.runInContext(async () => {
|
|
42
|
+
this.allReferencedEntities = await this.metadata.getReferencedEntities();
|
|
43
|
+
});
|
|
44
|
+
this.allDropdownValues = this.metadata.getDropdownValues(LodashUtilities.cloneDeep(this.allReferencedEntities));
|
|
45
|
+
this.dropdownValues = LodashUtilities.cloneDeep(this.allDropdownValues);
|
|
46
|
+
for (const value of this.propertyValue) {
|
|
47
|
+
const foundValue = this.dropdownValues.find(v => v.value === value);
|
|
48
|
+
if (foundValue) {
|
|
49
|
+
this.dropdownValues.splice(this.dropdownValues.indexOf(foundValue), 1);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Gets the value to display in the column.
|
|
55
|
+
* Runs in environment context to enable injection.
|
|
56
|
+
*
|
|
57
|
+
* @param entityId - The id of the entity to get the value from.
|
|
58
|
+
* @param displayColumn - The display column to get the value from.
|
|
59
|
+
* @returns The value of the display column.
|
|
60
|
+
*/
|
|
61
|
+
getDisplayColumnValue(entityId, displayColumn) {
|
|
62
|
+
return this.injector.runInContext(() => {
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
64
|
+
return displayColumn.value(this.metadata.getEntityForId(entityId, this.allReferencedEntities));
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
async add() {
|
|
68
|
+
this.propertyValue = this.propertyValue ?? [];
|
|
69
|
+
this.propertyValue.push(LodashUtilities.cloneDeep(this.input));
|
|
70
|
+
const foundDropdownValue = this.dropdownValues.find(v => v.value === this.input);
|
|
71
|
+
this.dropdownValues.splice(this.dropdownValues.indexOf(foundDropdownValue), 1);
|
|
72
|
+
this.referencedEntitiesDataSource.data = this.propertyValue;
|
|
73
|
+
this.input = '';
|
|
74
|
+
this.emitChange();
|
|
75
|
+
}
|
|
76
|
+
addAll() {
|
|
77
|
+
this.propertyValue = this.allDropdownValues.map(dv => dv.value);
|
|
78
|
+
this.dropdownValues = [];
|
|
79
|
+
this.referencedEntitiesDataSource.data = this.propertyValue;
|
|
80
|
+
this.input = '';
|
|
81
|
+
this.emitChange();
|
|
82
|
+
}
|
|
83
|
+
remove() {
|
|
84
|
+
this.selection.selected.forEach(s => {
|
|
85
|
+
this.propertyValue?.splice(this.propertyValue.indexOf(s), 1);
|
|
86
|
+
const foundDropdownValue = this.allDropdownValues.find(v => v.value === s);
|
|
87
|
+
if (foundDropdownValue) {
|
|
88
|
+
this.dropdownValues.push(foundDropdownValue);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
this.referencedEntitiesDataSource.data = this.propertyValue ?? [];
|
|
92
|
+
this.selection.clear();
|
|
93
|
+
this.emitChange();
|
|
94
|
+
}
|
|
95
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReferencesManyInputComponent, deps: [{ token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: ReferencesManyInputComponent, selector: "references-many-input", usesInheritance: true, ngImport: i0, template: "<div class=\"mat-elevation-z8 elevation-container\">\n <div class=\"array-headline\">\n <b>{{metadata.displayName}}</b>\n </div>\n\n <mat-form-field>\n <mat-label>{{metadata.dropdownLabel}}</mat-label>\n <mat-select [(ngModel)]=\"input\" [name]=\"key.toString() + 'input' + uuid\" #inputModel=\"ngModel\" [disabled]=\"isReadOnly\">\n <mat-option>-</mat-option>\n <mat-option *ngFor=\"let value of dropdownValues\" [value]=\"value.value\">{{value.displayName}}</mat-option>\n </mat-select>\n <mat-error>{{getValidationErrorMessage(inputModel)}}</mat-error>\n </mat-form-field>\n\n <button type=\"button\" *ngIf=\"metadata.addAll\" style=\"margin-left: 20px;\" mat-raised-button [disabled]=\"!dropdownValues.length || isReadOnly\" (click)=\"addAll()\">\n {{metadata.addAllButtonLabel}}\n </button>\n\n <div class=\"buttons\">\n <button type=\"button\" mat-raised-button [disabled]=\"!input\" (click)=\"add()\">\n {{metadata.addButtonLabel}}\n </button>\n <button type=\"button\" mat-raised-button [disabled]=\"!selection.selected.length\" (click)=\"remove()\">\n {{metadata.removeButtonLabel}}\n </button>\n </div>\n\n <mat-table [dataSource]=\"referencedEntitiesDataSource\">\n <!-- select Column -->\n <ng-container matColumnDef=\"select\" *ngIf=\"!isReadOnly\">\n <mat-header-cell *matHeaderCellDef>\n <mat-checkbox\n [disabled]=\"!referencedEntitiesDataSource.data.length\" (change)=\"$event ? SelectionUtilities.masterToggle(selection, referencedEntitiesDataSource) : null\"\n [checked]=\"selection.hasValue() && SelectionUtilities.isAllSelected(selection, referencedEntitiesDataSource)\"\n [indeterminate]=\"selection.hasValue() && !SelectionUtilities.isAllSelected(selection, referencedEntitiesDataSource)\">\n </mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let entity\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(entity) : null\" [checked]=\"selection.isSelected(entity)\"></mat-checkbox>\n </mat-cell>\n </ng-container>\n \n <ng-container *ngFor=\"let dCol of metadata.displayColumns\" [matColumnDef]=\"dCol.displayName\">\n <mat-header-cell *matHeaderCellDef>\n {{dCol.displayName}}\n </mat-header-cell>\n <mat-cell class=\"entity\" *matCellDef=\"let entityId\">\n {{getDisplayColumnValue(entityId, dCol)}}\n </mat-cell>\n </ng-container>\n \n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n</div>", styles: [".mdc-data-table__row:last-child .mdc-data-table__cell{border-bottom:1px solid rgba(0,0,0,.12)}.elevation-container{border-radius:5px;padding:15px;margin-bottom:15px;margin-top:15px}.array-headline{padding-bottom:10px}.buttons{display:flex;justify-content:space-between;margin-bottom:10px;margin-top:5px}mat-table{border:1px solid #E0E0E0;border-radius:5px;padding-top:5px;padding-bottom:25px}.mat-column-select{flex:0 0 75px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i7.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i7.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i7.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i7.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i7.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i7.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i7.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i7.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i7.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i7.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
|
|
97
|
+
}
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReferencesManyInputComponent, decorators: [{
|
|
99
|
+
type: Component,
|
|
100
|
+
args: [{ selector: 'references-many-input', template: "<div class=\"mat-elevation-z8 elevation-container\">\n <div class=\"array-headline\">\n <b>{{metadata.displayName}}</b>\n </div>\n\n <mat-form-field>\n <mat-label>{{metadata.dropdownLabel}}</mat-label>\n <mat-select [(ngModel)]=\"input\" [name]=\"key.toString() + 'input' + uuid\" #inputModel=\"ngModel\" [disabled]=\"isReadOnly\">\n <mat-option>-</mat-option>\n <mat-option *ngFor=\"let value of dropdownValues\" [value]=\"value.value\">{{value.displayName}}</mat-option>\n </mat-select>\n <mat-error>{{getValidationErrorMessage(inputModel)}}</mat-error>\n </mat-form-field>\n\n <button type=\"button\" *ngIf=\"metadata.addAll\" style=\"margin-left: 20px;\" mat-raised-button [disabled]=\"!dropdownValues.length || isReadOnly\" (click)=\"addAll()\">\n {{metadata.addAllButtonLabel}}\n </button>\n\n <div class=\"buttons\">\n <button type=\"button\" mat-raised-button [disabled]=\"!input\" (click)=\"add()\">\n {{metadata.addButtonLabel}}\n </button>\n <button type=\"button\" mat-raised-button [disabled]=\"!selection.selected.length\" (click)=\"remove()\">\n {{metadata.removeButtonLabel}}\n </button>\n </div>\n\n <mat-table [dataSource]=\"referencedEntitiesDataSource\">\n <!-- select Column -->\n <ng-container matColumnDef=\"select\" *ngIf=\"!isReadOnly\">\n <mat-header-cell *matHeaderCellDef>\n <mat-checkbox\n [disabled]=\"!referencedEntitiesDataSource.data.length\" (change)=\"$event ? SelectionUtilities.masterToggle(selection, referencedEntitiesDataSource) : null\"\n [checked]=\"selection.hasValue() && SelectionUtilities.isAllSelected(selection, referencedEntitiesDataSource)\"\n [indeterminate]=\"selection.hasValue() && !SelectionUtilities.isAllSelected(selection, referencedEntitiesDataSource)\">\n </mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let entity\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(entity) : null\" [checked]=\"selection.isSelected(entity)\"></mat-checkbox>\n </mat-cell>\n </ng-container>\n \n <ng-container *ngFor=\"let dCol of metadata.displayColumns\" [matColumnDef]=\"dCol.displayName\">\n <mat-header-cell *matHeaderCellDef>\n {{dCol.displayName}}\n </mat-header-cell>\n <mat-cell class=\"entity\" *matCellDef=\"let entityId\">\n {{getDisplayColumnValue(entityId, dCol)}}\n </mat-cell>\n </ng-container>\n \n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n</div>", styles: [".mdc-data-table__row:last-child .mdc-data-table__cell{border-bottom:1px solid rgba(0,0,0,.12)}.elevation-container{border-radius:5px;padding:15px;margin-bottom:15px;margin-top:15px}.array-headline{padding-bottom:10px}.buttons{display:flex;justify-content:space-between;margin-bottom:10px;margin-top:5px}mat-table{border:1px solid #E0E0E0;border-radius:5px;padding-top:5px;padding-bottom:25px}.mat-column-select{flex:0 0 75px}\n"] }]
|
|
101
|
+
}], ctorParameters: function () { return [{ type: i0.EnvironmentInjector }]; } });
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlcy1tYW55LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvaW5wdXQvcmVsYXRpb25zL3JlZmVyZW5jZXMtbWFueS1pbnB1dC9yZWZlcmVuY2VzLW1hbnktaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9pbnB1dC9yZWxhdGlvbnMvcmVmZXJlbmNlcy1tYW55LWlucHV0L3JlZmVyZW5jZXMtbWFueS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7O0FBUTVFLE1BQU0sT0FBTyw0QkFDVCxTQUFRLDhCQUFvRjtJQWtCL0Q7SUFoQjdCLHFCQUFxQixHQUFpQixFQUFFLENBQUM7SUFFekMsaUJBQWlCLEdBQTRCLEVBQUUsQ0FBQztJQUVoRCxjQUFjLEdBQTRCLEVBQUUsQ0FBQztJQUU3QyxLQUFLLEdBQVcsRUFBRSxDQUFDO0lBRW5CLDRCQUE0QixHQUErQixJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFFcEYsZ0JBQWdCLENBQVk7SUFF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a0JBQWtCLENBQUMsQ0FBQzthQUNoRDtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztRQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO3VHQTlGUSw0QkFBNEI7MkZBQTVCLDRCQUE0QixvRkNsQnpDLHUxRkFzRE07OzJGRHBDTyw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBRUksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUganNkb2MvcmVxdWlyZS1qc2RvYyAqL1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbnZpcm9ubWVudEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgRHJvcGRvd25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RlY29yYXRvcnMvYmFzZS9kcm9wZG93bi12YWx1ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9kYXNoVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW5jYXBzdWxhdGlvbi9sb2Rhc2gudXRpbGl0aWVzJztcbmltcG9ydCB7IFNlbGVjdGlvblV0aWxpdGllcyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9zZWxlY3Rpb24udXRpbGl0aWVzJztcbmltcG9ydCB7IERpc3BsYXlDb2x1bW4gfSBmcm9tICcuLi8uLi8uLi90YWJsZS90YWJsZS1kYXRhJztcbmltcG9ydCB7IE5neE1hdEVudGl0eUJhc2VJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtaW5wdXQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ3JlZmVyZW5jZXMtbWFueS1pbnB1dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlZmVyZW5jZXMtbWFueS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmVmZXJlbmNlcy1tYW55LWlucHV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVmZXJlbmNlc01hbnlJbnB1dENvbXBvbmVudDxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+XG4gICAgZXh0ZW5kcyBOZ3hNYXRFbnRpdHlCYXNlSW5wdXRDb21wb25lbnQ8RW50aXR5VHlwZSwgRGVjb3JhdG9yVHlwZXMuUkVGRVJFTkNFU19NQU5ZLCBzdHJpbmdbXT4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgYWxsUmVmZXJlbmNlZEVudGl0aWVzOiBFbnRpdHlUeXBlW10gPSBbXTtcblxuICAgIGFsbERyb3Bkb3duVmFsdWVzOiBEcm9wZG93blZhbHVlPHN0cmluZz5bXSA9IFtdO1xuXG4gICAgZHJvcGRvd25WYWx1ZXM6IERyb3Bkb3duVmFsdWU8c3RyaW5nPltdID0gW107XG5cbiAgICBpbnB1dDogc3RyaW5nID0gJyc7XG5cbiAgICByZWZlcmVuY2VkRW50aXRpZXNEYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8c3RyaW5nPiA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoKTtcblxuICAgIGRpc3BsYXllZENvbHVtbnMhOiBzdHJpbmdbXTtcblxuICAgIHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8c3RyaW5nPiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxzdHJpbmc+KHRydWUsIFtdKTtcblxuICAgIFNlbGVjdGlvblV0aWxpdGllczogdHlwZW9mIFNlbGVjdGlvblV0aWxpdGllcyA9IFNlbGVjdGlvblV0aWxpdGllcztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5wcm9wZXJ0eVZhbHVlID0gdGhpcy5wcm9wZXJ0eVZhbHVlID8/IFtdO1xuICAgICAgICBjb25zdCBnaXZlbkRpc3BsYXlDb2x1bW5zOiBzdHJpbmdbXSA9IHRoaXMubWV0YWRhdGEuZGlzcGxheUNvbHVtbnMubWFwKCh2KSA9PiB2LmRpc3BsYXlOYW1lKTtcbiAgICAgICAgaWYgKGdpdmVuRGlzcGxheUNvbHVtbnMuZmluZChzID0+IHMgPT09ICdzZWxlY3QnKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBUaGUgbmFtZSBcInNlbGVjdFwiIGZvciBhIGRpc3BsYXkgY29sdW1uIGlzIHJlc2VydmVkLlxuICAgICAgICAgICAgICAgIFBsZWFzZSBjaG9vc2UgYSBkaWZmZXJlbnQgbmFtZS5gXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuaXNSZWFkT25seSA/IGdpdmVuRGlzcGxheUNvbHVtbnMgOiBbJ3NlbGVjdCddLmNvbmNhdChnaXZlbkRpc3BsYXlDb2x1bW5zKTtcbiAgICAgICAgdGhpcy5yZWZlcmVuY2VkRW50aXRpZXNEYXRhU291cmNlLmRhdGEgPSB0aGlzLnByb3BlcnR5VmFsdWU7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5pbmplY3Rvci5ydW5JbkNvbnRleHQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGxSZWZlcmVuY2VkRW50aXRpZXMgPSBhd2FpdCB0aGlzLm1ldGFkYXRhLmdldFJlZmVyZW5jZWRFbnRpdGllcygpIGFzIEVudGl0eVR5cGVbXTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hbGxEcm9wZG93blZhbHVlcyA9IHRoaXMubWV0YWRhdGEuZ2V0RHJvcGRvd25WYWx1ZXMoTG9kYXNoVXRpbGl0aWVzLmNsb25lRGVlcCh0aGlzLmFsbFJlZmVyZW5jZWRFbnRpdGllcykpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duVmFsdWVzID0gTG9kYXNoVXRpbGl0aWVzLmNsb25lRGVlcCh0aGlzLmFsbERyb3Bkb3duVmFsdWVzKTtcbiAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiB0aGlzLnByb3BlcnR5VmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kVmFsdWU6IERyb3Bkb3duVmFsdWU8c3RyaW5nPiB8IHVuZGVmaW5lZCA9IHRoaXMuZHJvcGRvd25WYWx1ZXMuZmluZCh2ID0+IHYudmFsdWUgPT09IHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChmb3VuZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93blZhbHVlcy5zcGxpY2UodGhpcy5kcm9wZG93blZhbHVlcy5pbmRleE9mKGZvdW5kVmFsdWUpLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHZhbHVlIHRvIGRpc3BsYXkgaW4gdGhlIGNvbHVtbi5cbiAgICAgKiBSdW5zIGluIGVudmlyb25tZW50IGNvbnRleHQgdG8gZW5hYmxlIGluamVjdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlbnRpdHlJZCAtIFRoZSBpZCBvZiB0aGUgZW50aXR5IHRvIGdldCB0aGUgdmFsdWUgZnJvbS5cbiAgICAgKiBAcGFyYW0gZGlzcGxheUNvbHVtbiAtIFRoZSBkaXNwbGF5IGNvbHVtbiB0byBnZXQgdGhlIHZhbHVlIGZyb20uXG4gICAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIHRoZSBkaXNwbGF5IGNvbHVtbi5cbiAgICAgKi9cbiAgICBnZXREaXNwbGF5Q29sdW1uVmFsdWUoZW50aXR5SWQ6IHN0cmluZywgZGlzcGxheUNvbHVtbjogRGlzcGxheUNvbHVtbjxFbnRpdHlUeXBlPik6IHVua25vd24ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5ydW5JbkNvbnRleHQoKCkgPT4ge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcbiAgICAgICAgICAgIHJldHVybiBkaXNwbGF5Q29sdW1uLnZhbHVlKHRoaXMubWV0YWRhdGEuZ2V0RW50aXR5Rm9ySWQoZW50aXR5SWQsIHRoaXMuYWxsUmVmZXJlbmNlZEVudGl0aWVzKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFzeW5jIGFkZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5wcm9wZXJ0eVZhbHVlID0gdGhpcy5wcm9wZXJ0eVZhbHVlID8/IFtdO1xuICAgICAgICB0aGlzLnByb3BlcnR5VmFsdWUucHVzaChMb2Rhc2hVdGlsaXRpZXMuY2xvbmVEZWVwKHRoaXMuaW5wdXQpKTtcbiAgICAgICAgY29uc3QgZm91bmREcm9wZG93blZhbHVlOiBEcm9wZG93blZhbHVlPHN0cmluZz4gPSB0aGlzLmRyb3Bkb3duVmFsdWVzLmZpbmQodiA9PiB2LnZhbHVlID09PSB0aGlzLmlucHV0KSBhcyBEcm9wZG93blZhbHVlPHN0cmluZz47XG4gICAgICAgIHRoaXMuZHJvcGRvd25WYWx1ZXMuc3BsaWNlKHRoaXMuZHJvcGRvd25WYWx1ZXMuaW5kZXhPZihmb3VuZERyb3Bkb3duVmFsdWUpLCAxKTtcbiAgICAgICAgdGhpcy5yZWZlcmVuY2VkRW50aXRpZXNEYXRhU291cmNlLmRhdGEgPSB0aGlzLnByb3BlcnR5VmFsdWU7XG4gICAgICAgIHRoaXMuaW5wdXQgPSAnJztcbiAgICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgfVxuXG4gICAgYWRkQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb3BlcnR5VmFsdWUgPSB0aGlzLmFsbERyb3Bkb3duVmFsdWVzLm1hcChkdiA9PiBkdi52YWx1ZSk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25WYWx1ZXMgPSBbXTtcbiAgICAgICAgdGhpcy5yZWZlcmVuY2VkRW50aXRpZXNEYXRhU291cmNlLmRhdGEgPSB0aGlzLnByb3BlcnR5VmFsdWU7XG4gICAgICAgIHRoaXMuaW5wdXQgPSAnJztcbiAgICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5mb3JFYWNoKHMgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wZXJ0eVZhbHVlPy5zcGxpY2UodGhpcy5wcm9wZXJ0eVZhbHVlLmluZGV4T2YocyksIDEpO1xuICAgICAgICAgICAgY29uc3QgZm91bmREcm9wZG93blZhbHVlOiBEcm9wZG93blZhbHVlPHN0cmluZz4gfCB1bmRlZmluZWQgPSB0aGlzLmFsbERyb3Bkb3duVmFsdWVzLmZpbmQodiA9PiB2LnZhbHVlID09PSBzKTtcbiAgICAgICAgICAgIGlmIChmb3VuZERyb3Bkb3duVmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duVmFsdWVzLnB1c2goZm91bmREcm9wZG93blZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVmZXJlbmNlZEVudGl0aWVzRGF0YVNvdXJjZS5kYXRhID0gdGhpcy5wcm9wZXJ0eVZhbHVlID8/IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICAgICAgICB0aGlzLmVtaXRDaGFuZ2UoKTtcbiAgICB9XG59IiwiPGRpdiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejggZWxldmF0aW9uLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhcnJheS1oZWFkbGluZVwiPlxuICAgICAgICA8Yj57e21ldGFkYXRhLmRpc3BsYXlOYW1lfX08L2I+XG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+e3ttZXRhZGF0YS5kcm9wZG93bkxhYmVsfX08L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJpbnB1dFwiIFtuYW1lXT1cImtleS50b1N0cmluZygpICsgJ2lucHV0JyArIHV1aWRcIiAjaW5wdXRNb2RlbD1cIm5nTW9kZWxcIiBbZGlzYWJsZWRdPVwiaXNSZWFkT25seVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24+LTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBkcm9wZG93blZhbHVlc1wiIFt2YWx1ZV09XCJ2YWx1ZS52YWx1ZVwiPnt7dmFsdWUuZGlzcGxheU5hbWV9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8bWF0LWVycm9yPnt7Z2V0VmFsaWRhdGlvbkVycm9yTWVzc2FnZShpbnB1dE1vZGVsKX19PC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwibWV0YWRhdGEuYWRkQWxsXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIiBtYXQtcmFpc2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwiIWRyb3Bkb3duVmFsdWVzLmxlbmd0aCB8fCBpc1JlYWRPbmx5XCIgKGNsaWNrKT1cImFkZEFsbCgpXCI+XG4gICAgICAgIHt7bWV0YWRhdGEuYWRkQWxsQnV0dG9uTGFiZWx9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXJhaXNlZC1idXR0b24gW2Rpc2FibGVkXT1cIiFpbnB1dFwiIChjbGljayk9XCJhZGQoKVwiPlxuICAgICAgICAgICAge3ttZXRhZGF0YS5hZGRCdXR0b25MYWJlbH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtcmFpc2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwiIXNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGhcIiAoY2xpY2spPVwicmVtb3ZlKClcIj5cbiAgICAgICAgICAgIHt7bWV0YWRhdGEucmVtb3ZlQnV0dG9uTGFiZWx9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwicmVmZXJlbmNlZEVudGl0aWVzRGF0YVNvdXJjZVwiPlxuICAgICAgICA8IS0tIHNlbGVjdCBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic2VsZWN0XCIgKm5nSWY9XCIhaXNSZWFkT25seVwiPlxuICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cbiAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhcmVmZXJlbmNlZEVudGl0aWVzRGF0YVNvdXJjZS5kYXRhLmxlbmd0aFwiIChjaGFuZ2UpPVwiJGV2ZW50ID8gU2VsZWN0aW9uVXRpbGl0aWVzLm1hc3RlclRvZ2dsZShzZWxlY3Rpb24sIHJlZmVyZW5jZWRFbnRpdGllc0RhdGFTb3VyY2UpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIFNlbGVjdGlvblV0aWxpdGllcy5pc0FsbFNlbGVjdGVkKHNlbGVjdGlvbiwgcmVmZXJlbmNlZEVudGl0aWVzRGF0YVNvdXJjZSlcIlxuICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhU2VsZWN0aW9uVXRpbGl0aWVzLmlzQWxsU2VsZWN0ZWQoc2VsZWN0aW9uLCByZWZlcmVuY2VkRW50aXRpZXNEYXRhU291cmNlKVwiPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZW50aXR5XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKGNoYW5nZSk9XCIkZXZlbnQgPyBzZWxlY3Rpb24udG9nZ2xlKGVudGl0eSkgOiBudWxsXCIgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoZW50aXR5KVwiPjwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRDb2wgb2YgbWV0YWRhdGEuZGlzcGxheUNvbHVtbnNcIiBbbWF0Q29sdW1uRGVmXT1cImRDb2wuZGlzcGxheU5hbWVcIj5cbiAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XG4gICAgICAgICAgICAgICAge3tkQ29sLmRpc3BsYXlOYW1lfX1cbiAgICAgICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgICAgPG1hdC1jZWxsIGNsYXNzPVwiZW50aXR5XCIgKm1hdENlbGxEZWY9XCJsZXQgZW50aXR5SWRcIj5cbiAgICAgICAgICAgICAgICB7e2dldERpc3BsYXlDb2x1bW5WYWx1ZShlbnRpdHlJZCwgZENvbCl9fVxuICAgICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgXG4gICAgICAgIDxtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvbWF0LWhlYWRlci1yb3c+XG4gICAgICAgIDxtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zXCI+PC9tYXQtcm93PlxuICAgIDwvbWF0LXRhYmxlPlxuPC9kaXY+Il19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { LodashUtilities } from '../../../../encapsulation/lodash.utilities';
|
|
4
|
+
import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/material/input";
|
|
8
|
+
import * as i3 from "@angular/material/form-field";
|
|
9
|
+
import * as i4 from "@angular/forms";
|
|
10
|
+
import * as i5 from "@angular/material/core";
|
|
11
|
+
import * as i6 from "@angular/material/autocomplete";
|
|
12
|
+
export class StringAutocompleteInputComponent extends NgxMatEntityBaseInputComponent {
|
|
13
|
+
autocompleteStrings;
|
|
14
|
+
filteredAutocompleteStrings;
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
super.ngOnInit();
|
|
17
|
+
this.autocompleteStrings = this.metadata.autocompleteValues;
|
|
18
|
+
this.filteredAutocompleteStrings = LodashUtilities.cloneDeep(this.autocompleteStrings);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Dynamically filters the Autocomplete options when the user inputs something.
|
|
22
|
+
*
|
|
23
|
+
* @param input - The input of the user.
|
|
24
|
+
*/
|
|
25
|
+
filterAutocompleteStrings(input) {
|
|
26
|
+
const searchString = input ?? '';
|
|
27
|
+
this.filteredAutocompleteStrings = this.autocompleteStrings.filter(s => s.toLowerCase().includes(searchString.toLowerCase()));
|
|
28
|
+
}
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: StringAutocompleteInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: StringAutocompleteInputComponent, selector: "string-autocomplete-input", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <input\n matInput\n [(ngModel)]=\"propertyValue\"\n [name]=\"key.toString() + uuid\"\n #model=\"ngModel\"\n [matAutocomplete]=\"auto\"\n (keyup)=\"filterAutocompleteStrings(propertyValue)\"\n [required]=\"metadata.required(entity)\"\n [minlength]=\"metadata.minLength ?? null\"\n [maxlength]=\"metadata.maxLength ?? null\"\n [pattern]=\"metadata.regex ?? '[\\\\s\\\\S]*'\"\n (ngModelChange)=\"emitChange()\"\n [disabled]=\"isReadOnly\"\n >\n <mat-autocomplete #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let value of filteredAutocompleteStrings\" [value]=\"value\">\n {{value}}\n </mat-option>\n </mat-autocomplete>\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }] });
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: StringAutocompleteInputComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{ selector: 'string-autocomplete-input', template: "<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <input\n matInput\n [(ngModel)]=\"propertyValue\"\n [name]=\"key.toString() + uuid\"\n #model=\"ngModel\"\n [matAutocomplete]=\"auto\"\n (keyup)=\"filterAutocompleteStrings(propertyValue)\"\n [required]=\"metadata.required(entity)\"\n [minlength]=\"metadata.minLength ?? null\"\n [maxlength]=\"metadata.maxLength ?? null\"\n [pattern]=\"metadata.regex ?? '[\\\\s\\\\S]*'\"\n (ngModelChange)=\"emitChange()\"\n [disabled]=\"isReadOnly\"\n >\n <mat-autocomplete #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let value of filteredAutocompleteStrings\" [value]=\"value\">\n {{value}}\n </mat-option>\n </mat-autocomplete>\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWF1dG9jb21wbGV0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL2lucHV0L3N0cmluZy9zdHJpbmctYXV0b2NvbXBsZXRlLWlucHV0L3N0cmluZy1hdXRvY29tcGxldGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9pbnB1dC9zdHJpbmcvc3RyaW5nLWF1dG9jb21wbGV0ZS1pbnB1dC9zdHJpbmctYXV0b2NvbXBsZXRlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdDQUF3QztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFRNUUsTUFBTSxPQUFPLGdDQUNULFNBQVEsOEJBQXNGO0lBRTlGLG1CQUFtQixDQUFZO0lBQy9CLDJCQUEyQixDQUFZO0lBRTlCLFFBQVE7UUFDYixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7UUFDNUQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx5QkFBeUIsQ0FBQyxLQUFjO1FBQ3BDLE1BQU0sWUFBWSxHQUFXLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEksQ0FBQzt1R0FwQlEsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0Msd0ZDYjdDLG80QkFzQmlCOzsyRkRUSixnQ0FBZ0M7a0JBTjVDLFNBQVM7K0JBRUksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUganNkb2MvcmVxdWlyZS1qc2RvYyAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgTG9kYXNoVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW5jYXBzdWxhdGlvbi9sb2Rhc2gudXRpbGl0aWVzJztcbmltcG9ydCB7IE5neE1hdEVudGl0eUJhc2VJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtaW5wdXQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ3N0cmluZy1hdXRvY29tcGxldGUtaW5wdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdHJpbmctYXV0b2NvbXBsZXRlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHJpbmctYXV0b2NvbXBsZXRlLWlucHV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3RyaW5nQXV0b2NvbXBsZXRlSW5wdXRDb21wb25lbnQ8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PlxuICAgIGV4dGVuZHMgTmd4TWF0RW50aXR5QmFzZUlucHV0Q29tcG9uZW50PEVudGl0eVR5cGUsIERlY29yYXRvclR5cGVzLlNUUklOR19BVVRPQ09NUExFVEUsIHN0cmluZz4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgYXV0b2NvbXBsZXRlU3RyaW5ncyE6IHN0cmluZ1tdO1xuICAgIGZpbHRlcmVkQXV0b2NvbXBsZXRlU3RyaW5ncyE6IHN0cmluZ1tdO1xuXG4gICAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlU3RyaW5ncyA9IHRoaXMubWV0YWRhdGEuYXV0b2NvbXBsZXRlVmFsdWVzO1xuICAgICAgICB0aGlzLmZpbHRlcmVkQXV0b2NvbXBsZXRlU3RyaW5ncyA9IExvZGFzaFV0aWxpdGllcy5jbG9uZURlZXAodGhpcy5hdXRvY29tcGxldGVTdHJpbmdzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEeW5hbWljYWxseSBmaWx0ZXJzIHRoZSBBdXRvY29tcGxldGUgb3B0aW9ucyB3aGVuIHRoZSB1c2VyIGlucHV0cyBzb21ldGhpbmcuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW5wdXQgLSBUaGUgaW5wdXQgb2YgdGhlIHVzZXIuXG4gICAgICovXG4gICAgZmlsdGVyQXV0b2NvbXBsZXRlU3RyaW5ncyhpbnB1dD86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWFyY2hTdHJpbmc6IHN0cmluZyA9IGlucHV0ID8/ICcnO1xuICAgICAgICB0aGlzLmZpbHRlcmVkQXV0b2NvbXBsZXRlU3RyaW5ncyA9IHRoaXMuYXV0b2NvbXBsZXRlU3RyaW5ncy5maWx0ZXIocyA9PiBzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpKTtcbiAgICB9XG59IiwiPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3ttZXRhZGF0YS5kaXNwbGF5TmFtZX19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIFsobmdNb2RlbCldPVwicHJvcGVydHlWYWx1ZVwiXG4gICAgICAgIFtuYW1lXT1cImtleS50b1N0cmluZygpICsgdXVpZFwiXG4gICAgICAgICNtb2RlbD1cIm5nTW9kZWxcIlxuICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAoa2V5dXApPVwiZmlsdGVyQXV0b2NvbXBsZXRlU3RyaW5ncyhwcm9wZXJ0eVZhbHVlKVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJtZXRhZGF0YS5yZXF1aXJlZChlbnRpdHkpXCJcbiAgICAgICAgW21pbmxlbmd0aF09XCJtZXRhZGF0YS5taW5MZW5ndGggPz8gbnVsbFwiXG4gICAgICAgIFttYXhsZW5ndGhdPVwibWV0YWRhdGEubWF4TGVuZ3RoID8/IG51bGxcIlxuICAgICAgICBbcGF0dGVybl09XCJtZXRhZGF0YS5yZWdleCA/PyAnW1xcXFxzXFxcXFNdKidcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlbWl0Q2hhbmdlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWFkT25seVwiXG4gICAgPlxuICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBmaWx0ZXJlZEF1dG9jb21wbGV0ZVN0cmluZ3NcIiBbdmFsdWVdPVwidmFsdWVcIj5cbiAgICAgICAgICAgIHt7dmFsdWV9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgIDxtYXQtZXJyb3I+e3tnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlKG1vZGVsKX19PC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/material/form-field";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "@angular/material/select";
|
|
9
|
+
import * as i5 from "@angular/material/core";
|
|
10
|
+
export class StringDropdownInputComponent extends NgxMatEntityBaseInputComponent {
|
|
11
|
+
dropdownValues = [];
|
|
12
|
+
async ngOnInit() {
|
|
13
|
+
super.ngOnInit();
|
|
14
|
+
this.dropdownValues = await this.metadata.dropdownValues(this.entity);
|
|
15
|
+
}
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: StringDropdownInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: StringDropdownInputComponent, selector: "string-dropdown-input", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <mat-select [(ngModel)]=\"propertyValue\" [name]=\"key.toString() + uuid\" #model=\"ngModel\" [required]=\"metadata.required(entity)\" [disabled]=\"isReadOnly\" (selectionChange)=\"emitChange()\">\n <mat-option *ngFor=\"let value of dropdownValues\" [value]=\"value.value\">{{value.displayName}}</mat-option>\n </mat-select>\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: StringDropdownInputComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: 'string-dropdown-input', template: "<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <mat-select [(ngModel)]=\"propertyValue\" [name]=\"key.toString() + uuid\" #model=\"ngModel\" [required]=\"metadata.required(entity)\" [disabled]=\"isReadOnly\" (selectionChange)=\"emitChange()\">\n <mat-option *ngFor=\"let value of dropdownValues\" [value]=\"value.value\">{{value.displayName}}</mat-option>\n </mat-select>\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWRyb3Bkb3duLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvaW5wdXQvc3RyaW5nL3N0cmluZy1kcm9wZG93bi1pbnB1dC9zdHJpbmctZHJvcGRvd24taW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9pbnB1dC9zdHJpbmcvc3RyaW5nLWRyb3Bkb3duLWlucHV0L3N0cmluZy1kcm9wZG93bi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUlsRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQVE1RSxNQUFNLE9BQU8sNEJBQ1QsU0FBUSw4QkFBa0Y7SUFFMUYsY0FBYyxHQUF3QyxFQUFFLENBQUM7SUFFaEQsS0FBSyxDQUFDLFFBQVE7UUFDbkIsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUUsQ0FBQzt1R0FSUSw0QkFBNEI7MkZBQTVCLDRCQUE0QixvRkNiekMsK2VBTWlCOzsyRkRPSiw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBRUksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUganNkb2MvcmVxdWlyZS1qc2RvYyAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgRHJvcGRvd25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RlY29yYXRvcnMvYmFzZS9kcm9wZG93bi12YWx1ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmd4TWF0RW50aXR5QmFzZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnc3RyaW5nLWRyb3Bkb3duLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3RyaW5nLWRyb3Bkb3duLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHJpbmctZHJvcGRvd24taW5wdXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTdHJpbmdEcm9wZG93bklucHV0Q29tcG9uZW50PEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj5cbiAgICBleHRlbmRzIE5neE1hdEVudGl0eUJhc2VJbnB1dENvbXBvbmVudDxFbnRpdHlUeXBlLCBEZWNvcmF0b3JUeXBlcy5TVFJJTkdfRFJPUERPV04sIHN0cmluZz4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgZHJvcGRvd25WYWx1ZXM6IERyb3Bkb3duVmFsdWU8c3RyaW5nIHwgdW5kZWZpbmVkPltdID0gW107XG5cbiAgICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5kcm9wZG93blZhbHVlcyA9IGF3YWl0IHRoaXMubWV0YWRhdGEuZHJvcGRvd25WYWx1ZXModGhpcy5lbnRpdHkpO1xuICAgIH1cbn0iLCI8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57e21ldGFkYXRhLmRpc3BsYXlOYW1lfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cInByb3BlcnR5VmFsdWVcIiBbbmFtZV09XCJrZXkudG9TdHJpbmcoKSArIHV1aWRcIiAjbW9kZWw9XCJuZ01vZGVsXCIgW3JlcXVpcmVkXT1cIm1ldGFkYXRhLnJlcXVpcmVkKGVudGl0eSlcIiBbZGlzYWJsZWRdPVwiaXNSZWFkT25seVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiZW1pdENoYW5nZSgpXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBkcm9wZG93blZhbHVlc1wiIFt2YWx1ZV09XCJ2YWx1ZS52YWx1ZVwiPnt7dmFsdWUuZGlzcGxheU5hbWV9fTwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gICAgPG1hdC1lcnJvcj57e2dldFZhbGlkYXRpb25FcnJvck1lc3NhZ2UobW9kZWwpfX08L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+Il19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/input";
|
|
6
|
+
import * as i2 from "@angular/material/form-field";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
export class StringInputComponent extends NgxMatEntityBaseInputComponent {
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: StringInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: StringInputComponent, selector: "string-input", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <input\n matInput\n [(ngModel)]=\"propertyValue\"\n [name]=\"key.toString() + uuid\"\n #model=\"ngModel\"\n [required]=\"metadata.required(entity)\"\n [pattern]=\"metadata.regex ?? '[\\\\s\\\\S]*'\"\n [minlength]=\"metadata.minLength ?? null\"\n [maxlength]=\"metadata.maxLength ?? null\"\n (ngModelChange)=\"emitChange()\"\n [disabled]=\"isReadOnly\"\n >\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: StringInputComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'string-input', template: "<mat-form-field>\n <mat-label>{{metadata.displayName}}</mat-label>\n <input\n matInput\n [(ngModel)]=\"propertyValue\"\n [name]=\"key.toString() + uuid\"\n #model=\"ngModel\"\n [required]=\"metadata.required(entity)\"\n [pattern]=\"metadata.regex ?? '[\\\\s\\\\S]*'\"\n [minlength]=\"metadata.minLength ?? null\"\n [maxlength]=\"metadata.maxLength ?? null\"\n (ngModelChange)=\"emitChange()\"\n [disabled]=\"isReadOnly\"\n >\n <mat-error>{{getValidationErrorMessage(model)}}</mat-error>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvaW5wdXQvc3RyaW5nL3N0cmluZy1pbnB1dC9zdHJpbmctaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9pbnB1dC9zdHJpbmcvc3RyaW5nLWlucHV0L3N0cmluZy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUdsRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFRNUUsTUFBTSxPQUFPLG9CQUNULFNBQVEsOEJBQXlFO3VHQUR4RSxvQkFBb0I7MkZBQXBCLG9CQUFvQiwyRUNaakMsNmtCQWVpQjs7MkZESEosb0JBQW9CO2tCQU5oQyxTQUFTOytCQUVJLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBqc2RvYy9yZXF1aXJlLWpzZG9jICovXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBOZ3hNYXRFbnRpdHlCYXNlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlLWlucHV0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdzdHJpbmctaW5wdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdHJpbmctaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0cmluZy1pbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN0cmluZ0lucHV0Q29tcG9uZW50PEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj5cbiAgICBleHRlbmRzIE5neE1hdEVudGl0eUJhc2VJbnB1dENvbXBvbmVudDxFbnRpdHlUeXBlLCBEZWNvcmF0b3JUeXBlcy5TVFJJTkcsIHN0cmluZz4gaW1wbGVtZW50cyBPbkluaXQge1xufSIsIjxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7bWV0YWRhdGEuZGlzcGxheU5hbWV9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBbKG5nTW9kZWwpXT1cInByb3BlcnR5VmFsdWVcIlxuICAgICAgICBbbmFtZV09XCJrZXkudG9TdHJpbmcoKSArIHV1aWRcIlxuICAgICAgICAjbW9kZWw9XCJuZ01vZGVsXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cIm1ldGFkYXRhLnJlcXVpcmVkKGVudGl0eSlcIlxuICAgICAgICBbcGF0dGVybl09XCJtZXRhZGF0YS5yZWdleCA/PyAnW1xcXFxzXFxcXFNdKidcIlxuICAgICAgICBbbWlubGVuZ3RoXT1cIm1ldGFkYXRhLm1pbkxlbmd0aCA/PyBudWxsXCJcbiAgICAgICAgW21heGxlbmd0aF09XCJtZXRhZGF0YS5tYXhMZW5ndGggPz8gbnVsbFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImVtaXRDaGFuZ2UoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1JlYWRPbmx5XCJcbiAgICA+XG4gICAgPG1hdC1lcnJvcj57e2dldFZhbGlkYXRpb25FcnJvck1lc3NhZ2UobW9kZWwpfX08L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+Il19
|