special-forms 16.2.1 → 18.0.0-SNAPSHOT-1
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/esm2022/lib/components/index.mjs +13 -13
- package/esm2022/lib/components/special-autocomplete/special-autocomplete.component.mjs +75 -75
- package/esm2022/lib/components/special-autocomplete/special-autocomplete.interface.mjs +2 -2
- package/esm2022/lib/components/special-checkbox/special-checkbox.component.mjs +38 -36
- package/esm2022/lib/components/special-checkbox/special-checkbox.interface.mjs +3 -2
- package/esm2022/lib/components/special-datepicker/special-datepicker.component.mjs +42 -40
- package/esm2022/lib/components/special-datepicker/special-datepicker.interface.mjs +3 -2
- package/esm2022/lib/components/special-dropdown/special-dropdown.component.mjs +48 -47
- package/esm2022/lib/components/special-dropdown/special-dropdown.interface.mjs +3 -2
- package/esm2022/lib/components/special-form/special-form.component.mjs +99 -99
- package/esm2022/lib/components/special-form/special-form.module.mjs +78 -78
- package/esm2022/lib/components/special-input/special-input.component.mjs +55 -56
- package/esm2022/lib/components/special-input/special-input.interface.mjs +2 -2
- package/esm2022/lib/components/special-label/special-label.component.mjs +27 -27
- package/esm2022/lib/components/special-label/special-label.interface.mjs +2 -2
- package/esm2022/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.component.mjs +97 -97
- package/esm2022/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.interface.mjs +2 -2
- package/esm2022/lib/components/special-richtext/special-richtext.component.mjs +57 -45
- package/esm2022/lib/components/special-richtext/special-richtext.interface.mjs +3 -2
- package/esm2022/lib/components/special-text-area/special-text-area.component.mjs +43 -44
- package/esm2022/lib/components/special-text-area/special-text-area.interface.mjs +2 -2
- package/esm2022/lib/components/special-upload/special-upload-viewer.pipe.mjs +93 -0
- package/esm2022/lib/components/special-upload/special-upload.component.mjs +73 -84
- package/esm2022/lib/components/special-upload/special-upload.interface.mjs +2 -2
- package/esm2022/lib/core/aux-data/control-types.enum.mjs +17 -17
- package/esm2022/lib/core/aux-data/input-types.mjs +15 -15
- package/esm2022/lib/core/forms/special-forms.mjs +240 -260
- package/esm2022/lib/core/interfaces/field-basics.interfaces.mjs +1 -1
- package/esm2022/lib/core/interfaces/form.interfaces.mjs +2 -2
- package/esm2022/lib/core/interfaces/special-control.interface.mjs +2 -2
- package/esm2022/lib/core/masks/currency.mask.mjs +10 -10
- package/esm2022/lib/core/masks/index.mjs +2 -2
- package/esm2022/lib/core/masks/number.mask.mjs +2 -2
- package/esm2022/lib/core/pipes/controls-list-pipe/controls-list.pipe.mjs +17 -17
- package/esm2022/lib/core/pipes/error-message-pipe/error.pipe.mjs +23 -23
- package/esm2022/lib/core/pipes/index.mjs +3 -3
- package/esm2022/lib/core/pipes/text-by-function/text-by-function.pipe.mjs +22 -22
- package/esm2022/lib/core/services/error-state-matcher/error-matcher.mjs +12 -12
- package/esm2022/lib/core/services/index.mjs +3 -3
- package/esm2022/lib/core/services/special-form-builder/special-form-builder.service.mjs +156 -156
- package/esm2022/public-api.mjs +12 -12
- package/esm2022/special-forms.mjs +4 -4
- package/fesm2022/special-forms.mjs +1109 -1037
- package/fesm2022/special-forms.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/components/index.d.ts +23 -23
- package/lib/components/special-autocomplete/special-autocomplete.component.d.ts +19 -19
- package/lib/components/special-autocomplete/special-autocomplete.interface.d.ts +19 -18
- package/lib/components/special-checkbox/special-checkbox.component.d.ts +12 -11
- package/lib/components/special-checkbox/special-checkbox.interface.d.ts +13 -12
- package/lib/components/special-datepicker/special-datepicker.component.d.ts +13 -12
- package/lib/components/special-datepicker/special-datepicker.interface.d.ts +12 -11
- package/lib/components/special-dropdown/special-dropdown.component.d.ts +11 -11
- package/lib/components/special-dropdown/special-dropdown.interface.d.ts +17 -16
- package/lib/components/special-form/special-form.component.d.ts +31 -31
- package/lib/components/special-form/special-form.module.d.ts +20 -20
- package/lib/components/special-input/special-input.component.d.ts +15 -15
- package/lib/components/special-input/special-input.interface.d.ts +17 -16
- package/lib/components/special-label/special-label.component.d.ts +13 -13
- package/lib/components/special-label/special-label.interface.d.ts +13 -12
- package/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.component.d.ts +22 -22
- package/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.interface.d.ts +19 -18
- package/lib/components/special-richtext/special-richtext.component.d.ts +15 -17
- package/lib/components/special-richtext/special-richtext.interface.d.ts +11 -9
- package/lib/components/special-text-area/special-text-area.component.d.ts +13 -13
- package/lib/components/special-text-area/special-text-area.interface.d.ts +8 -7
- package/lib/components/special-upload/special-upload-viewer.pipe.d.ts +25 -0
- package/lib/components/special-upload/special-upload.component.d.ts +14 -21
- package/lib/components/special-upload/special-upload.interface.d.ts +13 -11
- package/lib/core/aux-data/control-types.enum.d.ts +16 -16
- package/lib/core/aux-data/input-types.d.ts +2 -2
- package/lib/core/forms/special-forms.d.ts +108 -123
- package/lib/core/interfaces/field-basics.interfaces.d.ts +22 -22
- package/lib/core/interfaces/form.interfaces.d.ts +58 -55
- package/lib/core/interfaces/special-control.interface.d.ts +4 -4
- package/lib/core/masks/currency.mask.d.ts +1 -1
- package/lib/core/masks/index.d.ts +2 -2
- package/lib/core/masks/number.mask.d.ts +1 -1
- package/lib/core/pipes/controls-list-pipe/controls-list.pipe.d.ts +11 -11
- package/lib/core/pipes/error-message-pipe/error.pipe.d.ts +12 -12
- package/lib/core/pipes/index.d.ts +3 -3
- package/lib/core/pipes/text-by-function/text-by-function.pipe.d.ts +7 -7
- package/lib/core/services/error-state-matcher/error-matcher.d.ts +8 -8
- package/lib/core/services/index.d.ts +3 -3
- package/lib/core/services/special-form-builder/special-form-builder.service.d.ts +25 -25
- package/lib/styles/tailwind-final.scss +173 -5
- package/package.json +9 -9
- package/public-api.d.ts +9 -9
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { debounceTime } from 'rxjs/operators';
|
|
3
|
-
import { MatAutocompleteModule, } from '@angular/material/autocomplete';
|
|
4
|
-
import { Subscription } from 'rxjs';
|
|
5
|
-
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
6
|
-
import { MatInputModule } from '@angular/material/input';
|
|
7
|
-
import { CommonModule } from '@angular/common';
|
|
8
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
10
|
-
import { MatChipsModule } from '@angular/material/chips';
|
|
11
|
-
import { ErrorMessagePipe, TextByFunctionPipe } from '../../core/pipes';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@angular/material/input";
|
|
14
|
-
import * as i2 from "@angular/material/form-field";
|
|
15
|
-
import * as i3 from "@angular/common";
|
|
16
|
-
import * as i4 from "@angular/material/autocomplete";
|
|
17
|
-
import * as i5 from "@angular/material/core";
|
|
18
|
-
import * as i6 from "@angular/material/icon";
|
|
19
|
-
import * as i7 from "@angular/forms";
|
|
20
|
-
import * as i8 from "@angular/material/button";
|
|
21
|
-
import * as i9 from "@angular/material/chips";
|
|
22
|
-
export class SpecialMultipleAutocompleteComponent {
|
|
23
|
-
constructor() {
|
|
24
|
-
this.subs = new Subscription();
|
|
25
|
-
this.internalControl = new FormControl();
|
|
26
|
-
this.configValue = (item) => {
|
|
27
|
-
if (!item)
|
|
28
|
-
return '';
|
|
29
|
-
const fieldName = this.control.settings.fieldName;
|
|
30
|
-
return fieldName instanceof Function ? fieldName(item) : item[fieldName];
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
this.init();
|
|
35
|
-
}
|
|
36
|
-
get settings() {
|
|
37
|
-
return this.control.settings;
|
|
38
|
-
}
|
|
39
|
-
init() {
|
|
40
|
-
this.subs.add(this.internalControl.valueChanges
|
|
41
|
-
.pipe(debounceTime(500))
|
|
42
|
-
.subscribe((value) => {
|
|
43
|
-
if (typeof value === 'string') {
|
|
44
|
-
this.control.settings.getData(value, this.control);
|
|
45
|
-
}
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
48
|
-
optionSelected(data) {
|
|
49
|
-
const newItem = data.option.value;
|
|
50
|
-
this.internalControl.reset();
|
|
51
|
-
this.control.setValue([
|
|
52
|
-
...(this.control.value || []).filter((item) => item[this.control.settings.fieldId] !==
|
|
53
|
-
newItem[this.control.settings.fieldId]),
|
|
54
|
-
newItem,
|
|
55
|
-
]);
|
|
56
|
-
if (this.settings.onSelect)
|
|
57
|
-
this.settings.onSelect(newItem);
|
|
58
|
-
}
|
|
59
|
-
iconClick(event) {
|
|
60
|
-
if (this.settings.iconAction) {
|
|
61
|
-
this.settings.iconAction(this.control.value);
|
|
62
|
-
event.stopPropagation();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
remove(value) {
|
|
66
|
-
let currentValues = Array.from(this.control.value);
|
|
67
|
-
const index = currentValues.indexOf(value);
|
|
68
|
-
if (index > -1) {
|
|
69
|
-
currentValues.splice(index, 1);
|
|
70
|
-
const value = currentValues;
|
|
71
|
-
this.control.markAsDirty();
|
|
72
|
-
this.control.setValue(value);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
ngOnDestroy() {
|
|
76
|
-
this.subs.unsubscribe();
|
|
77
|
-
}
|
|
78
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
79
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
80
|
-
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
82
|
-
type: Component,
|
|
83
|
-
args: [{ standalone: true, selector: 'sp-multiple-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
84
|
-
MatInputModule,
|
|
85
|
-
CommonModule,
|
|
86
|
-
MatAutocompleteModule,
|
|
87
|
-
MatIconModule,
|
|
88
|
-
ReactiveFormsModule,
|
|
89
|
-
MatButtonModule,
|
|
90
|
-
ErrorMessagePipe,
|
|
91
|
-
TextByFunctionPipe,
|
|
92
|
-
MatChipsModule,
|
|
93
|
-
], template: "<div\r\n
|
|
94
|
-
}], ctorParameters:
|
|
95
|
-
type: Input
|
|
96
|
-
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFDTCxxQkFBcUIsR0FFdEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFr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LENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQVFELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFCLENBQUM7OEdBdEVVLG9DQUFvQztrR0FBcEMsb0NBQW9DLG9IQ3BDakQsdzdFQWdGQSxrRkR2REksY0FBYyw2aUNBQ2QsWUFBWSxvVEFDWixxQkFBcUIsZ2NBQ3JCLGFBQWEsbUxBQ2IsbUJBQW1CLHN5QkFDbkIsZUFBZSx1TEFDZixnQkFBZ0IsZ0RBQ2hCLGtCQUFrQixzREFDbEIsY0FBYzs7MkZBR0wsb0NBQW9DO2tCQWxCaEQsU0FBUztpQ0FDSSxJQUFJLFlBQ04sMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixjQUFjO3FCQUNmOzBFQUdRLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtcclxuICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCxcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3BlY2lhbEZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vY29yZS9mb3Jtcy9zcGVjaWFsLWZvcm1zJztcclxuaW1wb3J0IHsgSU11bHRpcGxlQXV0b2NvbXBsZXRlU2V0dGluZ3MgfSBmcm9tICcuL3NwZWNpYWwtbXVsdGlwbGUtYXV0b2NvbXBsZXRlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5cclxuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IEVycm9yTWVzc2FnZVBpcGUsIFRleHRCeUZ1bmN0aW9uUGlwZSB9IGZyb20gJy4uLy4uL2NvcmUvcGlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzZWxlY3RvcjogJ3NwLW11bHRpcGxlLWF1dG9jb21wbGV0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwZWNpYWwtbXVsdGlwbGUtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zcGVjaWFsLW11bHRpcGxlLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBFcnJvck1lc3NhZ2VQaXBlLFxyXG4gICAgVGV4dEJ5RnVuY3Rpb25QaXBlLFxyXG4gICAgTWF0Q2hpcHNNb2R1bGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwZWNpYWxNdWx0aXBsZUF1dG9jb21wbGV0ZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY29udHJvbCE6IFNwZWNpYWxGb3JtQ29udHJvbDxJTXVsdGlwbGVBdXRvY29tcGxldGVTZXR0aW5ncz47XHJcblxyXG4gIHN1YnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgaW50ZXJuYWxDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIGdldCBzZXR0aW5ncygpOiBJTXVsdGlwbGVBdXRvY29tcGxldGVTZXR0aW5ncyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLnNldHRpbmdzO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIHRoaXMuc3Vicy5hZGQoXHJcbiAgICAgIHRoaXMuaW50ZXJuYWxDb250cm9sLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuc2V0dGluZ3MuZ2V0RGF0YSh2YWx1ZSwgdGhpcy5jb250cm9sKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG9wdGlvblNlbGVjdGVkKGRhdGE6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcclxuICAgIGNvbnN0IG5ld0l0ZW0gPSBkYXRhLm9wdGlvbi52YWx1ZTtcclxuICAgIHRoaXMuaW50ZXJuYWxDb250cm9sLnJlc2V0KCk7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoW1xyXG4gICAgICAuLi4odGhpcy5jb250cm9sLnZhbHVlIHx8IFtdKS5maWx0ZXIoXHJcbiAgICAgICAgKGl0ZW06IGFueSkgPT5cclxuICAgICAgICAgIGl0ZW1bdGhpcy5jb250cm9sLnNldHRpbmdzLmZpZWxkSWRdICE9PVxyXG4gICAgICAgICAgbmV3SXRlbVt0aGlzLmNvbnRyb2wuc2V0dGluZ3MuZmllbGRJZF1cclxuICAgICAgKSxcclxuICAgICAgbmV3SXRlbSxcclxuICAgIF0pO1xyXG5cclxuICAgIGlmICh0aGlzLnNldHRpbmdzLm9uU2VsZWN0KSB0aGlzLnNldHRpbmdzLm9uU2VsZWN0KG5ld0l0ZW0pO1xyXG4gIH1cclxuXHJcbiAgaWNvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MuaWNvbkFjdGlvbikge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLmljb25BY3Rpb24odGhpcy5jb250cm9sLnZhbHVlKTtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmUodmFsdWU6IGFueVtdKTogdm9pZCB7XHJcbiAgICBsZXQgY3VycmVudFZhbHVlcyA9IEFycmF5LmZyb20odGhpcy5jb250cm9sLnZhbHVlKTtcclxuICAgIGNvbnN0IGluZGV4ID0gY3VycmVudFZhbHVlcy5pbmRleE9mKHZhbHVlKTtcclxuXHJcbiAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICBjdXJyZW50VmFsdWVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gY3VycmVudFZhbHVlcztcclxuICAgICAgdGhpcy5jb250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25maWdWYWx1ZSA9IChpdGVtOiBhbnkpID0+IHtcclxuICAgIGlmICghaXRlbSkgcmV0dXJuICcnO1xyXG4gICAgY29uc3QgZmllbGROYW1lID0gdGhpcy5jb250cm9sLnNldHRpbmdzLmZpZWxkTmFtZTtcclxuICAgIHJldHVybiBmaWVsZE5hbWUgaW5zdGFuY2VvZiBGdW5jdGlvbiA/IGZpZWxkTmFtZShpdGVtKSA6IGl0ZW1bZmllbGROYW1lXTtcclxuICB9O1xyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJzcGVjaWFsLW11bHRpcGxlLWF1dG9jb21wbGV0ZSB3LWZ1bGwgbWItMyB7eyBjb250cm9sLnN0eWxlQ2xhc3NlcyB9fVwiXHJcbiAgW2lkXT1cImNvbnRyb2wuZWxlbWVudElkXCJcclxuICAqbmdJZj1cImNvbnRyb2wgJiYgIWNvbnRyb2wuaGlkZGVuXCJcclxuPlxyXG4gIDxtYXQtZm9ybS1maWVsZFxyXG4gICAgY2xhc3M9XCJ3LWZ1bGxcIlxyXG4gICAgW2FwcGVhcmFuY2VdPVwiY29udHJvbC5sYWJlbCA/ICdvdXRsaW5lJyA6ICdmaWxsJ1wiXHJcbiAgPlxyXG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImNvbnRyb2wubGFiZWxcIj5cclxuICAgICAge3sgY29udHJvbC5sYWJlbCB9fVxyXG4gICAgPC9tYXQtbGFiZWw+XHJcbiAgICA8aW5wdXRcclxuICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICBbcmVxdWlyZWRdPVwiY29udHJvbC5yZXF1aXJlZCAmJiAhY29udHJvbC52YWx1ZT8ubGVuZ3RoXCJcclxuICAgICAgW3JlYWRvbmx5XT1cImNvbnRyb2wucmVhZE9ubHlcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiY29udHJvbC5wbGFjZWhvbGRlclwiXHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbENvbnRyb2xcIlxyXG4gICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxyXG4gICAgLz5cclxuICAgIDxtYXQtYXV0b2NvbXBsZXRlXHJcbiAgICAgICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcclxuICAgICAgW2Rpc3BsYXlXaXRoXT1cImNvbmZpZ1ZhbHVlXCJcclxuICAgICAgKG9wdGlvblNlbGVjdGVkKT1cIm9wdGlvblNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2V0dGluZ3M/LnNvdXJjZSB8IGFzeW5jXCJcclxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAqbmdJZj1cInNldHRpbmdzLmZpZWxkSW1hZ2VcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInctOCBwci0yXCJcclxuICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgW3NyY109XCJvcHRpb24gfCB0ZXh0QnlGdW5jdGlvbjogc2V0dGluZ3MuZmllbGRJbWFnZVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgIHt7IG9wdGlvbiB8IHRleHRCeUZ1bmN0aW9uOiBzZXR0aW5ncy5maWVsZE5hbWUgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiY29udHJvbC5pY29uXCIgbWF0UHJlZml4Pnt7IGNvbnRyb2wuaWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICpuZ0lmPVwic2V0dGluZ3MuaWNvblwiXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICBtYXRTdWZmaXhcclxuICAgICAgKGNsaWNrKT1cImljb25DbGljaygkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uPlxyXG4gICAgICAgIHt7IHNldHRpbmdzLmljb24gfX1cclxuICAgICAgPC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPG1hdC1oaW50Pnt7IGNvbnRyb2wudG9vbHRpcCB9fTwvbWF0LWhpbnQ+XHJcbiAgICA8bWF0LWVycm9yPlxyXG4gICAgICB7eyBjb250cm9sLmVycm9ycyB8IGVycm9yTWVzc2FnZTogY29udHJvbC5lcnJvck1lc3NhZ2VzIH19XHJcbiAgICA8L21hdC1lcnJvcj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICA8bWF0LWNoaXAtbGlzdGJveD5cclxuICAgIDxtYXQtY2hpcFxyXG4gICAgICAqbmdGb3I9XCJsZXQgY2hpcCBvZiBjb250cm9sLnZhbHVlXCJcclxuICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcclxuICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlKGNoaXApXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgKm5nSWY9XCJzZXR0aW5ncy5maWVsZEltYWdlXCJcclxuICAgICAgICAgIGNsYXNzPVwidy04IHByLTJcIlxyXG4gICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgIFtzcmNdPVwiY2hpcCB8IHRleHRCeUZ1bmN0aW9uOiBzZXR0aW5ncy5maWVsZEltYWdlXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIHt7IGNoaXAgfCB0ZXh0QnlGdW5jdGlvbjogc2V0dGluZ3MuZmllbGROYW1lIH19XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1jaGlwPlxyXG4gIDwvbWF0LWNoaXAtbGlzdGJveD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { debounceTime } from 'rxjs/operators';
|
|
3
|
+
import { MatAutocompleteModule, } from '@angular/material/autocomplete';
|
|
4
|
+
import { Subscription } from 'rxjs';
|
|
5
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
6
|
+
import { MatInputModule } from '@angular/material/input';
|
|
7
|
+
import { CommonModule } from '@angular/common';
|
|
8
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
10
|
+
import { MatChipsModule } from '@angular/material/chips';
|
|
11
|
+
import { ErrorMessagePipe, TextByFunctionPipe } from '../../core/pipes';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/material/input";
|
|
14
|
+
import * as i2 from "@angular/material/form-field";
|
|
15
|
+
import * as i3 from "@angular/common";
|
|
16
|
+
import * as i4 from "@angular/material/autocomplete";
|
|
17
|
+
import * as i5 from "@angular/material/core";
|
|
18
|
+
import * as i6 from "@angular/material/icon";
|
|
19
|
+
import * as i7 from "@angular/forms";
|
|
20
|
+
import * as i8 from "@angular/material/button";
|
|
21
|
+
import * as i9 from "@angular/material/chips";
|
|
22
|
+
export class SpecialMultipleAutocompleteComponent {
|
|
23
|
+
constructor() {
|
|
24
|
+
this.subs = new Subscription();
|
|
25
|
+
this.internalControl = new FormControl();
|
|
26
|
+
this.configValue = (item) => {
|
|
27
|
+
if (!item)
|
|
28
|
+
return '';
|
|
29
|
+
const fieldName = this.control.settings.fieldName;
|
|
30
|
+
return fieldName instanceof Function ? fieldName(item) : item[fieldName];
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
this.init();
|
|
35
|
+
}
|
|
36
|
+
get settings() {
|
|
37
|
+
return this.control.settings;
|
|
38
|
+
}
|
|
39
|
+
init() {
|
|
40
|
+
this.subs.add(this.internalControl.valueChanges
|
|
41
|
+
.pipe(debounceTime(500))
|
|
42
|
+
.subscribe((value) => {
|
|
43
|
+
if (typeof value === 'string') {
|
|
44
|
+
this.control.settings.getData(value, this.control);
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
optionSelected(data) {
|
|
49
|
+
const newItem = data.option.value;
|
|
50
|
+
this.internalControl.reset();
|
|
51
|
+
this.control.setValue([
|
|
52
|
+
...(this.control.value || []).filter((item) => item[this.control.settings.fieldId] !==
|
|
53
|
+
newItem[this.control.settings.fieldId]),
|
|
54
|
+
newItem,
|
|
55
|
+
]);
|
|
56
|
+
if (this.settings.onSelect)
|
|
57
|
+
this.settings.onSelect(newItem);
|
|
58
|
+
}
|
|
59
|
+
iconClick(event) {
|
|
60
|
+
if (this.settings.iconAction) {
|
|
61
|
+
this.settings.iconAction(this.control.value);
|
|
62
|
+
event.stopPropagation();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
remove(value) {
|
|
66
|
+
let currentValues = Array.from(this.control.value);
|
|
67
|
+
const index = currentValues.indexOf(value);
|
|
68
|
+
if (index > -1) {
|
|
69
|
+
currentValues.splice(index, 1);
|
|
70
|
+
const value = currentValues;
|
|
71
|
+
this.control.markAsDirty();
|
|
72
|
+
this.control.setValue(value);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
ngOnDestroy() {
|
|
76
|
+
this.subs.unsubscribe();
|
|
77
|
+
}
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialMultipleAutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
79
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: SpecialMultipleAutocompleteComponent, isStandalone: true, selector: "sp-multiple-autocomplete", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\r\n <div\r\n class=\"special-multiple-autocomplete w-full mb-3 {{ control.styleClasses }}\"\r\n [id]=\"control.elementId\"\r\n >\r\n <mat-form-field\r\n class=\"w-full\"\r\n [appearance]=\"control.label ? 'outline' : 'fill'\"\r\n >\r\n @if (control.label) {\r\n <mat-label>\r\n {{ control.label }}\r\n </mat-label>\r\n }\r\n <input\r\n type=\"text\"\r\n autocomplete=\"off\"\r\n [required]=\"control.required && !control.value?.length\"\r\n [readonly]=\"control.readOnly\"\r\n [placeholder]=\"control.placeholder\"\r\n matInput\r\n [formControl]=\"internalControl\"\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"configValue\"\r\n (optionSelected)=\"optionSelected($event)\"\r\n >\r\n @for (\r\n option of settings?.source | async;\r\n track option[settings.fieldId]\r\n ) {\r\n <mat-option [value]=\"option\">\r\n <div class=\"flex items-center\">\r\n @if (settings.fieldImage) {\r\n <img\r\n class=\"w-8 pr-2\"\r\n alt=\"\"\r\n [src]=\"option | textByFunction: settings.fieldImage\"\r\n />\r\n }\r\n <span>\r\n {{ option | textByFunction: settings.fieldName }}\r\n </span>\r\n </div>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n @if (control.icon) {\r\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\r\n }\r\n @if (settings.icon) {\r\n <button mat-icon-button matSuffix (click)=\"iconClick($event)\">\r\n <mat-icon>\r\n {{ settings.icon }}\r\n </mat-icon>\r\n </button>\r\n }\r\n @if (control.tooltip) {\r\n <mat-hint>{{ control.tooltip }}</mat-hint>\r\n }\r\n <mat-error>\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-chip-listbox>\r\n @for (chip of control.value; track chip[settings.fieldId]) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"remove(chip)\">\r\n <div class=\"flex items-center\">\r\n @if (settings.fieldImage) {\r\n <img\r\n class=\"w-8 pr-2\"\r\n alt=\"\"\r\n [src]=\"chip | textByFunction: settings.fieldImage\"\r\n />\r\n }\r\n {{ chip | textByFunction: settings.fieldName }}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </div>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-listbox>\r\n </div>\r\n}\r\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { 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.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "pipe", type: TextByFunctionPipe, name: "textByFunction" }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i9.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "directive", type: i9.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i9.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
80
|
+
}
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialMultipleAutocompleteComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ standalone: true, selector: 'sp-multiple-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
84
|
+
MatInputModule,
|
|
85
|
+
CommonModule,
|
|
86
|
+
MatAutocompleteModule,
|
|
87
|
+
MatIconModule,
|
|
88
|
+
ReactiveFormsModule,
|
|
89
|
+
MatButtonModule,
|
|
90
|
+
ErrorMessagePipe,
|
|
91
|
+
TextByFunctionPipe,
|
|
92
|
+
MatChipsModule,
|
|
93
|
+
], template: "@if (control && !control.hidden) {\r\n <div\r\n class=\"special-multiple-autocomplete w-full mb-3 {{ control.styleClasses }}\"\r\n [id]=\"control.elementId\"\r\n >\r\n <mat-form-field\r\n class=\"w-full\"\r\n [appearance]=\"control.label ? 'outline' : 'fill'\"\r\n >\r\n @if (control.label) {\r\n <mat-label>\r\n {{ control.label }}\r\n </mat-label>\r\n }\r\n <input\r\n type=\"text\"\r\n autocomplete=\"off\"\r\n [required]=\"control.required && !control.value?.length\"\r\n [readonly]=\"control.readOnly\"\r\n [placeholder]=\"control.placeholder\"\r\n matInput\r\n [formControl]=\"internalControl\"\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"configValue\"\r\n (optionSelected)=\"optionSelected($event)\"\r\n >\r\n @for (\r\n option of settings?.source | async;\r\n track option[settings.fieldId]\r\n ) {\r\n <mat-option [value]=\"option\">\r\n <div class=\"flex items-center\">\r\n @if (settings.fieldImage) {\r\n <img\r\n class=\"w-8 pr-2\"\r\n alt=\"\"\r\n [src]=\"option | textByFunction: settings.fieldImage\"\r\n />\r\n }\r\n <span>\r\n {{ option | textByFunction: settings.fieldName }}\r\n </span>\r\n </div>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n @if (control.icon) {\r\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\r\n }\r\n @if (settings.icon) {\r\n <button mat-icon-button matSuffix (click)=\"iconClick($event)\">\r\n <mat-icon>\r\n {{ settings.icon }}\r\n </mat-icon>\r\n </button>\r\n }\r\n @if (control.tooltip) {\r\n <mat-hint>{{ control.tooltip }}</mat-hint>\r\n }\r\n <mat-error>\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-chip-listbox>\r\n @for (chip of control.value; track chip[settings.fieldId]) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"remove(chip)\">\r\n <div class=\"flex items-center\">\r\n @if (settings.fieldImage) {\r\n <img\r\n class=\"w-8 pr-2\"\r\n alt=\"\"\r\n [src]=\"chip | textByFunction: settings.fieldImage\"\r\n />\r\n }\r\n {{ chip | textByFunction: settings.fieldName }}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </div>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-listbox>\r\n </div>\r\n}\r\n", styles: [":host{display:contents}\n"] }]
|
|
94
|
+
}], ctorParameters: () => [], propDecorators: { control: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}] } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFDTCxxQkFBcUIsR0FFdEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFr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Q0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQVFELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFCLENBQUM7OEdBdEVVLG9DQUFvQztrR0FBcEMsb0NBQW9DLG9IQ3BDakQsbXpGQXNGQSxrRkQ3REksY0FBYyw2aUNBQ2QsWUFBWSxtRkFDWixxQkFBcUIsdzFCQUNyQixhQUFhLG1MQUNiLG1CQUFtQixzeUJBQ25CLGVBQWUsdUlBQ2YsZ0JBQWdCLGdEQUNoQixrQkFBa0Isc0RBQ2xCLGNBQWM7OzJGQUdMLG9DQUFvQztrQkFsQmhELFNBQVM7aUNBQ0ksSUFBSSxZQUNOLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsY0FBYztxQkFDZjt3REFHUSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNwZWNpYWxGb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybXMvc3BlY2lhbC1mb3Jtcyc7XHJcbmltcG9ydCB7IElNdWx0aXBsZUF1dG9jb21wbGV0ZUZpZWxkLCBJTXVsdGlwbGVBdXRvY29tcGxldGVTZXR0aW5ncyB9IGZyb20gJy4vc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcblxyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgRXJyb3JNZXNzYWdlUGlwZSwgVGV4dEJ5RnVuY3Rpb25QaXBlIH0gZnJvbSAnLi4vLi4vY29yZS9waXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHNlbGVjdG9yOiAnc3AtbXVsdGlwbGUtYXV0b2NvbXBsZXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NwZWNpYWwtbXVsdGlwbGUtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIEVycm9yTWVzc2FnZVBpcGUsXHJcbiAgICBUZXh0QnlGdW5jdGlvblBpcGUsXHJcbiAgICBNYXRDaGlwc01vZHVsZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BlY2lhbE11bHRpcGxlQXV0b2NvbXBsZXRlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjb250cm9sITogU3BlY2lhbEZvcm1Db250cm9sPElNdWx0aXBsZUF1dG9jb21wbGV0ZUZpZWxkPjtcclxuXHJcbiAgc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBpbnRlcm5hbENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNldHRpbmdzKCk6IElNdWx0aXBsZUF1dG9jb21wbGV0ZVNldHRpbmdzPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5zZXR0aW5ncztcclxuICB9XHJcblxyXG4gIGluaXQoKSB7XHJcbiAgICB0aGlzLnN1YnMuYWRkKFxyXG4gICAgICB0aGlzLmludGVybmFsQ29udHJvbC52YWx1ZUNoYW5nZXNcclxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sLnNldHRpbmdzLmdldERhdGEodmFsdWUsIHRoaXMuY29udHJvbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvcHRpb25TZWxlY3RlZChkYXRhOiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KSB7XHJcbiAgICBjb25zdCBuZXdJdGVtID0gZGF0YS5vcHRpb24udmFsdWU7XHJcbiAgICB0aGlzLmludGVybmFsQ29udHJvbC5yZXNldCgpO1xyXG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKFtcclxuICAgICAgLi4uKHRoaXMuY29udHJvbC52YWx1ZSB8fCBbXSkuZmlsdGVyKFxyXG4gICAgICAgIChpdGVtOiBhbnkpID0+XHJcbiAgICAgICAgICBpdGVtW3RoaXMuY29udHJvbC5zZXR0aW5ncy5maWVsZElkXSAhPT1cclxuICAgICAgICAgIG5ld0l0ZW1bdGhpcy5jb250cm9sLnNldHRpbmdzLmZpZWxkSWRdXHJcbiAgICAgICksXHJcbiAgICAgIG5ld0l0ZW0sXHJcbiAgICBdKTtcclxuXHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5vblNlbGVjdCkgdGhpcy5zZXR0aW5ncy5vblNlbGVjdChuZXdJdGVtKTtcclxuICB9XHJcblxyXG4gIGljb25DbGljayhldmVudDogRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnNldHRpbmdzLmljb25BY3Rpb24pIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy5pY29uQWN0aW9uKHRoaXMuY29udHJvbC52YWx1ZSk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKHZhbHVlOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgbGV0IGN1cnJlbnRWYWx1ZXMgPSBBcnJheS5mcm9tKHRoaXMuY29udHJvbC52YWx1ZSk7XHJcbiAgICBjb25zdCBpbmRleCA9IGN1cnJlbnRWYWx1ZXMuaW5kZXhPZih2YWx1ZSk7XHJcblxyXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgY3VycmVudFZhbHVlcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGN1cnJlbnRWYWx1ZXM7XHJcbiAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uZmlnVmFsdWUgPSAoaXRlbTogYW55KSA9PiB7XHJcbiAgICBpZiAoIWl0ZW0pIHJldHVybiAnJztcclxuICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRoaXMuY29udHJvbC5zZXR0aW5ncy5maWVsZE5hbWU7XHJcbiAgICByZXR1cm4gZmllbGROYW1lIGluc3RhbmNlb2YgRnVuY3Rpb24gPyBmaWVsZE5hbWUoaXRlbSkgOiBpdGVtW2ZpZWxkTmFtZV07XHJcbiAgfTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1YnMudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiQGlmIChjb250cm9sICYmICFjb250cm9sLmhpZGRlbikge1xyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwic3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUgdy1mdWxsIG1iLTMge3sgY29udHJvbC5zdHlsZUNsYXNzZXMgfX1cIlxyXG4gICAgW2lkXT1cImNvbnRyb2wuZWxlbWVudElkXCJcclxuICA+XHJcbiAgICA8bWF0LWZvcm0tZmllbGRcclxuICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxyXG4gICAgICBbYXBwZWFyYW5jZV09XCJjb250cm9sLmxhYmVsID8gJ291dGxpbmUnIDogJ2ZpbGwnXCJcclxuICAgID5cclxuICAgICAgQGlmIChjb250cm9sLmxhYmVsKSB7XHJcbiAgICAgICAgPG1hdC1sYWJlbD5cclxuICAgICAgICAgIHt7IGNvbnRyb2wubGFiZWwgfX1cclxuICAgICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgfVxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICBbcmVxdWlyZWRdPVwiY29udHJvbC5yZXF1aXJlZCAmJiAhY29udHJvbC52YWx1ZT8ubGVuZ3RoXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwiY29udHJvbC5yZWFkT25seVwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbnRyb2wucGxhY2Vob2xkZXJcIlxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsQ29udHJvbFwiXHJcbiAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcclxuICAgICAgLz5cclxuICAgICAgPG1hdC1hdXRvY29tcGxldGVcclxuICAgICAgICAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImNvbmZpZ1ZhbHVlXCJcclxuICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwib3B0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgICBAZm9yIChcclxuICAgICAgICAgIG9wdGlvbiBvZiBzZXR0aW5ncz8uc291cmNlIHwgYXN5bmM7XHJcbiAgICAgICAgICB0cmFjayBvcHRpb25bc2V0dGluZ3MuZmllbGRJZF1cclxuICAgICAgICApIHtcclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcHRpb25cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgQGlmIChzZXR0aW5ncy5maWVsZEltYWdlKSB7XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy04IHByLTJcIlxyXG4gICAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgICBbc3JjXT1cIm9wdGlvbiB8IHRleHRCeUZ1bmN0aW9uOiBzZXR0aW5ncy5maWVsZEltYWdlXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uIHwgdGV4dEJ5RnVuY3Rpb246IHNldHRpbmdzLmZpZWxkTmFtZSB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgIEBpZiAoY29udHJvbC5pY29uKSB7XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdFByZWZpeD57eyBjb250cm9sLmljb24gfX08L21hdC1pY29uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2V0dGluZ3MuaWNvbikge1xyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeCAoY2xpY2spPVwiaWNvbkNsaWNrKCRldmVudClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj5cclxuICAgICAgICAgICAge3sgc2V0dGluZ3MuaWNvbiB9fVxyXG4gICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGNvbnRyb2wudG9vbHRpcCkge1xyXG4gICAgICAgIDxtYXQtaGludD57eyBjb250cm9sLnRvb2x0aXAgfX08L21hdC1oaW50PlxyXG4gICAgICB9XHJcbiAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAge3sgY29udHJvbC5lcnJvcnMgfCBlcnJvck1lc3NhZ2U6IGNvbnRyb2wuZXJyb3JNZXNzYWdlcyB9fVxyXG4gICAgICA8L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgPG1hdC1jaGlwLWxpc3Rib3g+XHJcbiAgICAgIEBmb3IgKGNoaXAgb2YgY29udHJvbC52YWx1ZTsgdHJhY2sgY2hpcFtzZXR0aW5ncy5maWVsZElkXSkge1xyXG4gICAgICAgIDxtYXQtY2hpcC1yb3cgW3JlbW92YWJsZV09XCJ0cnVlXCIgKHJlbW92ZWQpPVwicmVtb3ZlKGNoaXApXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgQGlmIChzZXR0aW5ncy5maWVsZEltYWdlKSB7XHJcbiAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTggcHItMlwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCJjaGlwIHwgdGV4dEJ5RnVuY3Rpb246IHNldHRpbmdzLmZpZWxkSW1hZ2VcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAge3sgY2hpcCB8IHRleHRCeUZ1bmN0aW9uOiBzZXR0aW5ncy5maWVsZE5hbWUgfX1cclxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LWNoaXAtcm93PlxyXG4gICAgICB9XHJcbiAgICA8L21hdC1jaGlwLWxpc3Rib3g+XHJcbiAgPC9kaXY+XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUvc3BlY2lhbC1tdWx0aXBsZS1hdXRvY29tcGxldGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRUNvbnRyb2xUeXBlcyB9IGZyb20gJy4uLy4uL2NvcmUvYXV4LWRhdGEvY29udHJvbC10eXBlcy5lbnVtJztcclxuaW1wb3J0IHsgSUZpZWxkRGF0YSB9IGZyb20gJy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9maWVsZC1iYXNpY3MuaW50ZXJmYWNlcyc7XHJcblxyXG5leHBvcnQgdHlwZSBJTXVsdGlwbGVBdXRvY29tcGxldGVTZXR0aW5nczxUPiA9IHtcclxuICBnZXREYXRhOiAocXVlcnk6IHN0cmluZywgY29udHJvbD86IEFic3RyYWN0Q29udHJvbCkgPT4gdm9pZDtcclxuICBzb3VyY2U6IE9ic2VydmFibGU8VFtdPjtcclxuICBmaWVsZElkOiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBpY29uQWN0aW9uPzogKGRhdGE6IFQpID0+IHZvaWQ7XHJcbiAgb25TZWxlY3Q/OiAoZGF0YTogVCkgPT4gdm9pZDtcclxuICBmaWVsZE5hbWU6IHN0cmluZyB8ICgoYT86IFQpID0+IHN0cmluZyk7XHJcbiAgZmllbGRJbWFnZT86IHN0cmluZyB8ICgoYT86IFQpID0+IHN0cmluZyk7XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElNdWx0aXBsZUF1dG9jb21wbGV0ZUZpZWxkPFQgPSBhbnk+IGV4dGVuZHMgSUZpZWxkRGF0YSB7XHJcbiAgc2V0dGluZ3M6IElNdWx0aXBsZUF1dG9jb21wbGV0ZVNldHRpbmdzPFQ+O1xyXG4gIHR5cGU6IEVDb250cm9sVHlwZXMubXVsdGlwbGU7XHJcbiAgZGVmYXVsdFZhbHVlOiBhbnk7XHJcbn1cclxuIl19
|
|
@@ -1,45 +1,57 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
3
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { NgxEditorModule, Editor } from 'ngx-editor';
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import * as
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
this.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
['
|
|
22
|
-
['
|
|
23
|
-
['
|
|
24
|
-
['
|
|
25
|
-
[
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { NgxEditorModule, Editor } from 'ngx-editor';
|
|
6
|
+
import { MatInputModule } from '@angular/material/input';
|
|
7
|
+
import { ErrorMessagePipe } from '../../core/pipes';
|
|
8
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/forms";
|
|
11
|
+
import * as i2 from "ngx-editor";
|
|
12
|
+
export class SpecialRichtextComponent {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.colorPresets = ['red', 'yellow', 'green', 'blue', 'black'];
|
|
15
|
+
this.toolbar = [
|
|
16
|
+
// default value
|
|
17
|
+
['bold', 'italic'],
|
|
18
|
+
['underline', 'strike'],
|
|
19
|
+
['code', 'blockquote'],
|
|
20
|
+
['ordered_list', 'bullet_list'],
|
|
21
|
+
[{ heading: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] }],
|
|
22
|
+
['link', 'image'],
|
|
23
|
+
['text_color', 'background_color'],
|
|
24
|
+
['align_left', 'align_center', 'align_right', 'align_justify'],
|
|
25
|
+
['horizontal_rule', 'format_clear'],
|
|
26
|
+
];
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
if (this.control.settings.colorPresets)
|
|
30
|
+
this.colorPresets = this.control.settings.colorPresets;
|
|
31
|
+
this.editor = new Editor();
|
|
32
|
+
this.control.valueChanges.subscribe((val) => {
|
|
33
|
+
console.log(this.control);
|
|
34
|
+
console.log(val);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
ngOnDestroy() {
|
|
38
|
+
this.editor.destroy();
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialRichtextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: SpecialRichtextComponent, isStandalone: true, selector: "sp-input", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\r\n <div\r\n class=\"special-richtext w-full mb-3 {{ control.styleClasses }}\"\r\n [id]=\"control.elementId\"\r\n >\r\n @if (control.label) {\r\n <h4 class=\"text-md font-medium pl-2 mb-2\">\r\n {{ control.label }}\r\n </h4>\r\n }\r\n <ngx-editor-menu\r\n [colorPresets]=\"colorPresets\"\r\n [toolbar]=\"toolbar\"\r\n [editor]=\"editor\"\r\n >\r\n </ngx-editor-menu>\r\n <ngx-editor\r\n [editor]=\"editor\"\r\n [formControl]=\"control\"\r\n [required]=\"control.required\"\r\n [outputFormat]=\"control.settings.outputFormat || 'html'\"\r\n [disabled]=\"false\"\r\n [placeholder]=\"control.placeholder\"\r\n ></ngx-editor>\r\n <div class=\"px-5 mt-2\">\r\n @if (\r\n control.dirty && control.errors | errorMessage: control.errorMessages;\r\n as error\r\n ) {\r\n <div class=\"text-sm text-rose-500\">\r\n {{ error }}\r\n </div>\r\n } @else {\r\n <div class=\"text-sm font-medium\">{{ control.tooltip }}</div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgxEditorModule }, { kind: "component", type: i2.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i2.MenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "ngmodule", type: MatFormFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialRichtextComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ standalone: true, selector: 'sp-input', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
46
|
+
CommonModule,
|
|
47
|
+
MatInputModule,
|
|
48
|
+
MatIconModule,
|
|
49
|
+
ReactiveFormsModule,
|
|
50
|
+
NgxEditorModule,
|
|
51
|
+
ErrorMessagePipe,
|
|
52
|
+
MatFormFieldModule,
|
|
53
|
+
], template: "@if (control && !control.hidden) {\r\n <div\r\n class=\"special-richtext w-full mb-3 {{ control.styleClasses }}\"\r\n [id]=\"control.elementId\"\r\n >\r\n @if (control.label) {\r\n <h4 class=\"text-md font-medium pl-2 mb-2\">\r\n {{ control.label }}\r\n </h4>\r\n }\r\n <ngx-editor-menu\r\n [colorPresets]=\"colorPresets\"\r\n [toolbar]=\"toolbar\"\r\n [editor]=\"editor\"\r\n >\r\n </ngx-editor-menu>\r\n <ngx-editor\r\n [editor]=\"editor\"\r\n [formControl]=\"control\"\r\n [required]=\"control.required\"\r\n [outputFormat]=\"control.settings.outputFormat || 'html'\"\r\n [disabled]=\"false\"\r\n [placeholder]=\"control.placeholder\"\r\n ></ngx-editor>\r\n <div class=\"px-5 mt-2\">\r\n @if (\r\n control.dirty && control.errors | errorMessage: control.errorMessages;\r\n as error\r\n ) {\r\n <div class=\"text-sm text-rose-500\">\r\n {{ error }}\r\n </div>\r\n } @else {\r\n <div class=\"text-sm font-medium\">{{ control.tooltip }}</div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n", styles: [":host{display:contents}\n"] }]
|
|
54
|
+
}], propDecorators: { control: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC1yaWNodGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVjaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsLXJpY2h0ZXh0L3NwZWNpYWwtcmljaHRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC1yaWNodGV4dC9zcGVjaWFsLXJpY2h0ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxlQUFlLEVBQVcsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQWtCbEUsTUFBTSxPQUFPLHdCQUF3QjtJQWhCckM7UUFtQkUsaUJBQVksR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUczRCxZQUFPLEdBQVk7WUFDakIsZ0JBQWdCO1lBQ2hCLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUNsQixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUM7WUFDdkIsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDO1lBQ3RCLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQztZQUMvQixDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ25ELENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQztZQUNqQixDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQztZQUNsQyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQztZQUM5RCxDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQztTQUNwQyxDQUFDO0tBY0g7SUFaQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ3pELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBOUJVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG9HQ2hDckMsdW5DQXNDQSxrRkRmSSxZQUFZLDhCQUNaLGNBQWMsOEJBQ2QsYUFBYSw4QkFDYixtQkFBbUIsc2hCQUNuQixlQUFlLHdXQUNmLGdCQUFnQixvREFDaEIsa0JBQWtCOzsyRkFHVCx3QkFBd0I7a0JBaEJwQyxTQUFTO2lDQUNJLElBQUksWUFDTixVQUFVLG1CQUdILHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3FCQUNuQjs4QkFPUSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgU3BlY2lhbEZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vY29yZS9mb3Jtcy9zcGVjaWFsLWZvcm1zJztcclxuaW1wb3J0IHsgSVJpY2hUZXh0RmllbGQgfSBmcm9tICcuL3NwZWNpYWwtcmljaHRleHQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTmd4RWRpdG9yTW9kdWxlLCBUb29sYmFyLCBFZGl0b3IgfSBmcm9tICduZ3gtZWRpdG9yJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IEVycm9yTWVzc2FnZVBpcGUgfSBmcm9tICcuLi8uLi9jb3JlL3BpcGVzJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHNlbGVjdG9yOiAnc3AtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGVjaWFsLXJpY2h0ZXh0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zcGVjaWFsLXJpY2h0ZXh0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE5neEVkaXRvck1vZHVsZSxcclxuICAgIEVycm9yTWVzc2FnZVBpcGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwZWNpYWxSaWNodGV4dENvbXBvbmVudCB7XHJcbiAgZWRpdG9yOiBFZGl0b3I7XHJcbiAgZm9ybUNvbnRyb2w6IFNwZWNpYWxGb3JtQ29udHJvbDxJUmljaFRleHRGaWVsZD47XHJcbiAgY29sb3JQcmVzZXRzID0gWydyZWQnLCAneWVsbG93JywgJ2dyZWVuJywgJ2JsdWUnLCAnYmxhY2snXTtcclxuXHJcbiAgQElucHV0KCkgY29udHJvbDogU3BlY2lhbEZvcm1Db250cm9sPElSaWNoVGV4dEZpZWxkPjtcclxuICB0b29sYmFyOiBUb29sYmFyID0gW1xyXG4gICAgLy8gZGVmYXVsdCB2YWx1ZVxyXG4gICAgWydib2xkJywgJ2l0YWxpYyddLFxyXG4gICAgWyd1bmRlcmxpbmUnLCAnc3RyaWtlJ10sXHJcbiAgICBbJ2NvZGUnLCAnYmxvY2txdW90ZSddLFxyXG4gICAgWydvcmRlcmVkX2xpc3QnLCAnYnVsbGV0X2xpc3QnXSxcclxuICAgIFt7IGhlYWRpbmc6IFsnaDEnLCAnaDInLCAnaDMnLCAnaDQnLCAnaDUnLCAnaDYnXSB9XSxcclxuICAgIFsnbGluaycsICdpbWFnZSddLFxyXG4gICAgWyd0ZXh0X2NvbG9yJywgJ2JhY2tncm91bmRfY29sb3InXSxcclxuICAgIFsnYWxpZ25fbGVmdCcsICdhbGlnbl9jZW50ZXInLCAnYWxpZ25fcmlnaHQnLCAnYWxpZ25fanVzdGlmeSddLFxyXG4gICAgWydob3Jpem9udGFsX3J1bGUnLCAnZm9ybWF0X2NsZWFyJ10sXHJcbiAgXTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sLnNldHRpbmdzLmNvbG9yUHJlc2V0cylcclxuICAgICAgdGhpcy5jb2xvclByZXNldHMgPSB0aGlzLmNvbnRyb2wuc2V0dGluZ3MuY29sb3JQcmVzZXRzO1xyXG4gICAgdGhpcy5lZGl0b3IgPSBuZXcgRWRpdG9yKCk7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuY29udHJvbCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHZhbCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRvci5kZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoY29udHJvbCAmJiAhY29udHJvbC5oaWRkZW4pIHtcclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInNwZWNpYWwtcmljaHRleHQgdy1mdWxsIG1iLTMge3sgY29udHJvbC5zdHlsZUNsYXNzZXMgfX1cIlxyXG4gICAgW2lkXT1cImNvbnRyb2wuZWxlbWVudElkXCJcclxuICA+XHJcbiAgICBAaWYgKGNvbnRyb2wubGFiZWwpIHtcclxuICAgICAgPGg0IGNsYXNzPVwidGV4dC1tZCBmb250LW1lZGl1bSBwbC0yIG1iLTJcIj5cclxuICAgICAgICB7eyBjb250cm9sLmxhYmVsIH19XHJcbiAgICAgIDwvaDQ+XHJcbiAgICB9XHJcbiAgICA8bmd4LWVkaXRvci1tZW51XHJcbiAgICAgIFtjb2xvclByZXNldHNdPVwiY29sb3JQcmVzZXRzXCJcclxuICAgICAgW3Rvb2xiYXJdPVwidG9vbGJhclwiXHJcbiAgICAgIFtlZGl0b3JdPVwiZWRpdG9yXCJcclxuICAgID5cclxuICAgIDwvbmd4LWVkaXRvci1tZW51PlxyXG4gICAgPG5neC1lZGl0b3JcclxuICAgICAgW2VkaXRvcl09XCJlZGl0b3JcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJjb250cm9sLnJlcXVpcmVkXCJcclxuICAgICAgW291dHB1dEZvcm1hdF09XCJjb250cm9sLnNldHRpbmdzLm91dHB1dEZvcm1hdCB8fCAnaHRtbCdcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiY29udHJvbC5wbGFjZWhvbGRlclwiXHJcbiAgICA+PC9uZ3gtZWRpdG9yPlxyXG4gICAgPGRpdiBjbGFzcz1cInB4LTUgbXQtMlwiPlxyXG4gICAgICBAaWYgKFxyXG4gICAgICAgIGNvbnRyb2wuZGlydHkgJiYgY29udHJvbC5lcnJvcnMgfCBlcnJvck1lc3NhZ2U6IGNvbnRyb2wuZXJyb3JNZXNzYWdlcztcclxuICAgICAgICBhcyBlcnJvclxyXG4gICAgICApIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSB0ZXh0LXJvc2UtNTAwXCI+XHJcbiAgICAgICAgICB7eyBlcnJvciB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bVwiPnt7IGNvbnRyb2wudG9vbHRpcCB9fTwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
;
|
|
2
|
+
export {};
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC1yaWNodGV4dC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVjaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsLXJpY2h0ZXh0L3NwZWNpYWwtcmljaHRleHQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vLi4vY29yZS9hdXgtZGF0YS9jb250cm9sLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJRmllbGREYXRhIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzL2ZpZWxkLWJhc2ljcy5pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJpY2hUZXh0U2V0dGluZ3N7XHJcbiAgY29sb3JQcmVzZXRzPzogc3RyaW5nW107XHJcbiAgb3V0cHV0Rm9ybWF0PzonZG9jJyB8ICdodG1sJztcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJpY2hUZXh0RmllbGQgZXh0ZW5kcyBJRmllbGREYXRhIHtcclxuICBzZXR0aW5nczogSVJpY2hUZXh0U2V0dGluZ3M7XHJcbiAgdHlwZTogRUNvbnRyb2xUeXBlcy5yaWNoVGV4dDtcclxuICBkZWZhdWx0VmFsdWU6IHN0cmluZztcclxufVxyXG4iXX0=
|