@ai-table/grid 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
- package/components/cell-editors/cell-editor.scss +22 -2
- package/components/cell-editors/select/select-editor.component.d.ts +7 -8
- package/components/cell-editors/select/select-editor.component.d.ts.map +1 -1
- package/components/cell-views/select/option.component.d.ts +11 -0
- package/components/cell-views/select/option.component.d.ts.map +1 -0
- package/components/field-property-editor/field-property-editor.component.d.ts +13 -4
- package/components/field-property-editor/field-property-editor.component.d.ts.map +1 -1
- package/components/index.d.ts +1 -0
- package/components/index.d.ts.map +1 -1
- package/constants/field.d.ts.map +1 -1
- package/core/action/field.d.ts +3 -3
- package/core/action/field.d.ts.map +1 -1
- package/core/action/general.d.ts +1 -1
- package/core/action/general.d.ts.map +1 -1
- package/core/action/index.d.ts +1 -1
- package/core/action/record.d.ts +3 -3
- package/core/action/record.d.ts.map +1 -1
- package/core/constants/field.d.ts +22 -4
- package/core/constants/field.d.ts.map +1 -1
- package/core/types/action.d.ts +10 -8
- package/core/types/action.d.ts.map +1 -1
- package/core/types/core.d.ts +30 -18
- package/core/types/core.d.ts.map +1 -1
- package/core/utils/field.d.ts +1 -1
- package/core/utils/id-creator.d.ts +1 -1
- package/core/utils/id-creator.d.ts.map +1 -1
- package/core/utils/queries.d.ts +5 -4
- package/core/utils/queries.d.ts.map +1 -1
- package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +6 -8
- package/esm2022/components/cell-editors/date-time/date-time-editor.component.mjs +3 -3
- package/esm2022/components/cell-editors/link/number-editor.component.mjs +3 -3
- package/esm2022/components/cell-editors/number/number-editor.component.mjs +3 -3
- package/esm2022/components/cell-editors/progress/progress-editor.component.mjs +3 -3
- package/esm2022/components/cell-editors/rating/rating-editor.component.mjs +3 -3
- package/esm2022/components/cell-editors/select/select-editor.component.mjs +37 -27
- package/esm2022/components/cell-editors/text/text-editor.component.mjs +3 -3
- package/esm2022/components/cell-views/select/option.component.mjs +27 -0
- package/esm2022/components/field-menu/field-menu.component.mjs +3 -3
- package/esm2022/components/field-property-editor/field-property-editor.component.mjs +17 -13
- package/esm2022/components/index.mjs +2 -1
- package/esm2022/constants/field.mjs +3 -4
- package/esm2022/core/action/field.mjs +12 -9
- package/esm2022/core/action/general.mjs +45 -32
- package/esm2022/core/action/record.mjs +1 -1
- package/esm2022/core/constants/field.mjs +10 -2
- package/esm2022/core/types/action.mjs +1 -1
- package/esm2022/core/types/core.mjs +8 -1
- package/esm2022/core/utils/field.mjs +3 -3
- package/esm2022/core/utils/id-creator.mjs +4 -10
- package/esm2022/core/utils/queries.mjs +12 -12
- package/esm2022/grid.component.mjs +19 -13
- package/esm2022/pipes/grid.pipe.mjs +67 -7
- package/esm2022/services/event.service.mjs +8 -5
- package/esm2022/services/field.service.mjs +6 -6
- package/esm2022/services/selection.service.mjs +3 -3
- package/esm2022/types/field.mjs +1 -1
- package/esm2022/types/grid.mjs +1 -1
- package/esm2022/utils/build.mjs +4 -27
- package/fesm2022/ai-table-grid.mjs +275 -177
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid.component.d.ts +2 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +3 -3
- package/pipes/grid.pipe.d.ts +22 -2
- package/pipes/grid.pipe.d.ts.map +1 -1
- package/services/event.service.d.ts +1 -0
- package/services/event.service.d.ts.map +1 -1
- package/services/field.service.d.ts +1 -1
- package/services/field.service.d.ts.map +1 -1
- package/styles/styles.scss +2 -3
- package/types/field.d.ts +4 -1
- package/types/field.d.ts.map +1 -1
- package/types/grid.d.ts +2 -1
- package/types/grid.d.ts.map +1 -1
- package/utils/build.d.ts +2 -3
- package/utils/build.d.ts.map +1 -1
@@ -8,10 +8,10 @@ export class RatingCellEditorComponent extends AbstractEditCellEditor {
|
|
8
8
|
updateValue() {
|
9
9
|
this.updateFieldValue();
|
10
10
|
}
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: RatingCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: RatingCellEditorComponent, isStandalone: true, selector: "rating-cell-editor", host: { classAttribute: "d-flex align-items-center h-100 px-3" }, usesInheritance: true, ngImport: i0, template: ` <thy-rate [(ngModel)]="modelValue" (ngModelChange)="updateValue()"></thy-rate> `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyRate, selector: "thy-rate", inputs: ["thyCount", "thyDisabled", "thyAllowHalf", "thyAllowClear", "thyTooltips", "thyIconTemplate"], outputs: ["thyItemHoverChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
13
13
|
}
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: RatingCellEditorComponent, decorators: [{
|
15
15
|
type: Component,
|
16
16
|
args: [{
|
17
17
|
selector: 'rating-cell-editor',
|
@@ -1,19 +1,29 @@
|
|
1
|
-
import {
|
2
|
-
import { ChangeDetectionStrategy, Component, computed
|
1
|
+
import { NgTemplateOutlet } from '@angular/common';
|
2
|
+
import { ChangeDetectionStrategy, Component, computed } from '@angular/core';
|
3
3
|
import { FormsModule } from '@angular/forms';
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import { ThyTag } from 'ngx-tethys/tag';
|
4
|
+
import { ThyDot } from 'ngx-tethys/dot';
|
5
|
+
import { ThyFlexibleText } from 'ngx-tethys/flexible-text';
|
7
6
|
import { ThyIcon } from 'ngx-tethys/icon';
|
7
|
+
import { ThySelect } from 'ngx-tethys/select';
|
8
8
|
import { ThyOption } from 'ngx-tethys/shared';
|
9
|
+
import { ThyTag } from 'ngx-tethys/tag';
|
10
|
+
import { ThyTooltipModule } from 'ngx-tethys/tooltip';
|
11
|
+
import { SelectOptionPipe } from '../../../pipes';
|
12
|
+
import { SelectOptionComponent } from '../../cell-views/select/option.component';
|
13
|
+
import { AbstractEditCellEditor } from '../abstract-cell-editor.component';
|
14
|
+
import { AITableSelectOptionStyle } from '../../../core';
|
9
15
|
import * as i0 from "@angular/core";
|
10
16
|
import * as i1 from "@angular/forms";
|
11
17
|
export class SelectCellEditorComponent extends AbstractEditCellEditor {
|
12
18
|
constructor() {
|
13
19
|
super();
|
14
20
|
this.selectOptions = computed(() => {
|
15
|
-
return this.field().options;
|
21
|
+
return this.field().settings.options;
|
22
|
+
});
|
23
|
+
this.optionStyle = computed(() => {
|
24
|
+
return this.field().settings.option_style || AITableSelectOptionStyle.tag;
|
16
25
|
});
|
26
|
+
this.AITableSelectOptionStyle = AITableSelectOptionStyle;
|
17
27
|
}
|
18
28
|
updateValue(value) {
|
19
29
|
if (!value) {
|
@@ -21,26 +31,26 @@ export class SelectCellEditorComponent extends AbstractEditCellEditor {
|
|
21
31
|
this.closePopover();
|
22
32
|
}
|
23
33
|
}
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
26
|
-
<thy-option *ngFor="let option of selectOptions()" [thyValue]="option._id" [thyLabelText]="option.text"> </thy-option>
|
27
|
-
</thy-select> `, isInline: true, dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange", "visibleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: SelectCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.4", type: SelectCellEditorComponent, isStandalone: true, selector: "select-cell-editor", host: { properties: { "class.tag": "field()!.settings.option_style === AITableSelectOptionStyle.tag" }, classAttribute: "d-block h-100 select-cell-editor" }, usesInheritance: true, ngImport: i0, template: "<thy-select\n [(ngModel)]=\"modelValue\"\n [thyAutoExpand]=\"true\"\n [thyAllowClear]=\"true\"\n [thyMode]=\"field().settings.is_multiple ? 'multiple' : ''\"\n [thyPreset]=\"'tag'\"\n (thyOnExpandStatusChange)=\"updateValue($event)\"\n>\n <ng-template #selectedDisplay let-option>\n @if (optionStyle() === AITableSelectOptionStyle.tag) {\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </div>\n }\n </ng-template>\n @for (option of selectOptions(); track option._id) {\n <thy-option [thyValue]=\"option._id\" [thyRawValue]=\"option\" [thyShowOptionCustom]=\"true\" [thyLabelText]=\"option.text\">\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </thy-option>\n }\n</thy-select>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange", "visibleChange"] }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
28
36
|
}
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: SelectCellEditorComponent, decorators: [{
|
30
38
|
type: Component,
|
31
|
-
args: [{
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
39
|
+
args: [{ selector: 'select-cell-editor', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
40
|
+
class: 'd-block h-100 select-cell-editor',
|
41
|
+
'[class.tag]': 'field()!.settings.option_style === AITableSelectOptionStyle.tag'
|
42
|
+
}, imports: [
|
43
|
+
FormsModule,
|
44
|
+
NgTemplateOutlet,
|
45
|
+
ThySelect,
|
46
|
+
ThyOption,
|
47
|
+
ThyTag,
|
48
|
+
ThyIcon,
|
49
|
+
ThyTooltipModule,
|
50
|
+
ThyDot,
|
51
|
+
ThyFlexibleText,
|
52
|
+
SelectOptionPipe,
|
53
|
+
SelectOptionComponent
|
54
|
+
], template: "<thy-select\n [(ngModel)]=\"modelValue\"\n [thyAutoExpand]=\"true\"\n [thyAllowClear]=\"true\"\n [thyMode]=\"field().settings.is_multiple ? 'multiple' : ''\"\n [thyPreset]=\"'tag'\"\n (thyOnExpandStatusChange)=\"updateValue($event)\"\n>\n <ng-template #selectedDisplay let-option>\n @if (optionStyle() === AITableSelectOptionStyle.tag) {\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </div>\n }\n </ng-template>\n @for (option of selectOptions(); track option._id) {\n <thy-option [thyValue]=\"option._id\" [thyRawValue]=\"option\" [thyShowOptionCustom]=\"true\" [thyLabelText]=\"option.text\">\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </thy-option>\n }\n</thy-select>\n" }]
|
55
|
+
}], ctorParameters: () => [] });
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9zZWxlY3Qvc2VsZWN0LWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9zZWxlY3Qvc2VsZWN0LWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF5QnpELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxzQkFBa0Q7SUFXN0Y7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQVhaLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hCLE9BQVEsSUFBSSxDQUFDLEtBQUssRUFBeUIsQ0FBQyxRQUFRLENBQUMsWUFBWSxJQUFJLHdCQUF3QixDQUFDLEdBQUcsQ0FBQztRQUN0RyxDQUFDLENBQUMsQ0FBQztRQUVILDZCQUF3QixHQUFHLHdCQUF3QixDQUFDO0lBSXBELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYztRQUN0QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7OEdBcEJRLHlCQUF5QjtrR0FBekIseUJBQXlCLG1RQ3ZDdEMsMitCQXVCQSwyQ0RHUSxXQUFXLCtWQUVYLFNBQVMseW1CQUNULFNBQVMsaU5BQ1QsTUFBTSwrSUFFTixnQkFBZ0IsK0JBSWhCLHFCQUFxQjs7MkZBR2hCLHlCQUF5QjtrQkF2QnJDLFNBQVM7K0JBQ0ksb0JBQW9CLGNBRWxCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsa0NBQWtDO3dCQUN6QyxhQUFhLEVBQUUsaUVBQWlFO3FCQUNuRixXQUNRO3dCQUNMLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULFNBQVM7d0JBQ1QsTUFBTTt3QkFDTixPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsTUFBTTt3QkFDTixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIscUJBQXFCO3FCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5RG90IH0gZnJvbSAnbmd4LXRldGh5cy9kb3QnO1xuaW1wb3J0IHsgVGh5RmxleGlibGVUZXh0IH0gZnJvbSAnbmd4LXRldGh5cy9mbGV4aWJsZS10ZXh0JztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5U2VsZWN0IH0gZnJvbSAnbmd4LXRldGh5cy9zZWxlY3QnO1xuaW1wb3J0IHsgVGh5T3B0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgVGh5VGFnIH0gZnJvbSAnbmd4LXRldGh5cy90YWcnO1xuaW1wb3J0IHsgVGh5VG9vbHRpcE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvdG9vbHRpcCc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb25QaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZVNlbGVjdEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2VsbC12aWV3cy9zZWxlY3Qvb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdEVkaXRDZWxsRWRpdG9yIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEFJVGFibGVTZWxlY3RPcHRpb25TdHlsZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NlbGVjdC1jZWxsLWVkaXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2QtYmxvY2sgaC0xMDAgc2VsZWN0LWNlbGwtZWRpdG9yJyxcbiAgICAgICAgJ1tjbGFzcy50YWddJzogJ2ZpZWxkKCkhLnNldHRpbmdzLm9wdGlvbl9zdHlsZSA9PT0gQUlUYWJsZVNlbGVjdE9wdGlvblN0eWxlLnRhZydcbiAgICB9LFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFRoeVNlbGVjdCxcbiAgICAgICAgVGh5T3B0aW9uLFxuICAgICAgICBUaHlUYWcsXG4gICAgICAgIFRoeUljb24sXG4gICAgICAgIFRoeVRvb2x0aXBNb2R1bGUsXG4gICAgICAgIFRoeURvdCxcbiAgICAgICAgVGh5RmxleGlibGVUZXh0LFxuICAgICAgICBTZWxlY3RPcHRpb25QaXBlLFxuICAgICAgICBTZWxlY3RPcHRpb25Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENlbGxFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEVkaXRDZWxsRWRpdG9yPHN0cmluZywgQUlUYWJsZVNlbGVjdEZpZWxkPiB7XG4gICAgc2VsZWN0T3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKS5zZXR0aW5ncy5vcHRpb25zO1xuICAgIH0pO1xuXG4gICAgb3B0aW9uU3R5bGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiAodGhpcy5maWVsZCgpIGFzIEFJVGFibGVTZWxlY3RGaWVsZCkuc2V0dGluZ3Mub3B0aW9uX3N0eWxlIHx8IEFJVGFibGVTZWxlY3RPcHRpb25TdHlsZS50YWc7XG4gICAgfSk7XG5cbiAgICBBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGUgPSBBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGU7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZpZWxkVmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8dGh5LXNlbGVjdFxuICAgIFsobmdNb2RlbCldPVwibW9kZWxWYWx1ZVwiXG4gICAgW3RoeUF1dG9FeHBhbmRdPVwidHJ1ZVwiXG4gICAgW3RoeUFsbG93Q2xlYXJdPVwidHJ1ZVwiXG4gICAgW3RoeU1vZGVdPVwiZmllbGQoKS5zZXR0aW5ncy5pc19tdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnJ1wiXG4gICAgW3RoeVByZXNldF09XCIndGFnJ1wiXG4gICAgKHRoeU9uRXhwYW5kU3RhdHVzQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxuPlxuICAgIDxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWREaXNwbGF5IGxldC1vcHRpb24+XG4gICAgICAgIEBpZiAob3B0aW9uU3R5bGUoKSA9PT0gQUlUYWJsZVNlbGVjdE9wdGlvblN0eWxlLnRhZykge1xuICAgICAgICAgICAgPHNlbGVjdC1vcHRpb24gW2ZpZWxkXT1cImZpZWxkKClcIiBbZGlzcGxheU9wdGlvbl09XCJvcHRpb25cIj48L3NlbGVjdC1vcHRpb24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGRpdiB0aHlUYWcgY2xhc3M9XCJtYi0xIG1yLTFcIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0LW9wdGlvbiBbZmllbGRdPVwiZmllbGQoKVwiIFtkaXNwbGF5T3B0aW9uXT1cIm9wdGlvblwiPjwvc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBAZm9yIChvcHRpb24gb2Ygc2VsZWN0T3B0aW9ucygpOyB0cmFjayBvcHRpb24uX2lkKSB7XG4gICAgICAgIDx0aHktb3B0aW9uIFt0aHlWYWx1ZV09XCJvcHRpb24uX2lkXCIgW3RoeVJhd1ZhbHVlXT1cIm9wdGlvblwiIFt0aHlTaG93T3B0aW9uQ3VzdG9tXT1cInRydWVcIiBbdGh5TGFiZWxUZXh0XT1cIm9wdGlvbi50ZXh0XCI+XG4gICAgICAgICAgICA8c2VsZWN0LW9wdGlvbiBbZmllbGRdPVwiZmllbGQoKVwiIFtkaXNwbGF5T3B0aW9uXT1cIm9wdGlvblwiPjwvc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgPC90aHktb3B0aW9uPlxuICAgIH1cbjwvdGh5LXNlbGVjdD5cbiJdfQ==
|
@@ -33,8 +33,8 @@ export class TextCellEditorComponent extends AbstractEditCellEditor {
|
|
33
33
|
this.updateFieldValue();
|
34
34
|
this.closePopover();
|
35
35
|
}
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: TextCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: TextCellEditorComponent, isStandalone: true, selector: "text-cell-editor", host: { classAttribute: "text-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
|
38
38
|
<textarea
|
39
39
|
placeholder=""
|
40
40
|
rows="1"
|
@@ -47,7 +47,7 @@ export class TextCellEditorComponent extends AbstractEditCellEditor {
|
|
47
47
|
></textarea>
|
48
48
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
49
49
|
}
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: TextCellEditorComponent, decorators: [{
|
51
51
|
type: Component,
|
52
52
|
args: [{
|
53
53
|
selector: 'text-cell-editor',
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
2
|
+
import { ThyDot } from 'ngx-tethys/dot';
|
3
|
+
import { ThyFlexibleText } from 'ngx-tethys/flexible-text';
|
4
|
+
import { ThyIcon } from 'ngx-tethys/icon';
|
5
|
+
import { ThyTag } from 'ngx-tethys/tag';
|
6
|
+
import { ThyTooltipModule } from 'ngx-tethys/tooltip';
|
7
|
+
import { AITableSelectOptionStyle } from '../../../core';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
export class SelectOptionComponent {
|
10
|
+
constructor() {
|
11
|
+
this.field = input.required();
|
12
|
+
this.displayOption = input.required();
|
13
|
+
this.optionStyle = computed(() => {
|
14
|
+
return this.field().settings.option_style || AITableSelectOptionStyle.tag;
|
15
|
+
});
|
16
|
+
this.AITableSelectOptionStyle = AITableSelectOptionStyle;
|
17
|
+
}
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.4", type: SelectOptionComponent, isStandalone: true, selector: "select-option", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, displayOption: { classPropertyName: "displayOption", publicName: "displayOption", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "d-flex align-items-center select-option" }, ngImport: i0, template: "@if (displayOption(); as displayOption) {\n @switch (optionStyle()) {\n @case (AITableSelectOptionStyle.dot) {\n @if (displayOption.bg_color) {\n <thy-dot [thyColor]=\"displayOption.bg_color\" [thySize]=\"'sm'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @case (AITableSelectOptionStyle.tag) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-tag thyTheme=\"fill\" thyShape=\"pill\" [thyColor]=\"color\">\n @if (displayOption['icon']) {\n <thy-icon class=\"text-white\" [thyIconName]=\"displayOption['icon']\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n </thy-tag>\n }\n }\n @case (AITableSelectOptionStyle.piece) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot thyShape=\"square\" [thyColor]=\"color\" [thySize]=\"'sm'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @default {\n @if (displayOption['icon']) {\n <thy-icon [thyIconName]=\"displayOption['icon']\" [style.color]=\"displayOption.color\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
20
|
+
}
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: SelectOptionComponent, decorators: [{
|
22
|
+
type: Component,
|
23
|
+
args: [{ selector: 'select-option', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
24
|
+
class: 'd-flex align-items-center select-option'
|
25
|
+
}, imports: [ThyTag, ThyIcon, ThyTooltipModule, ThyDot, ThyFlexibleText], template: "@if (displayOption(); as displayOption) {\n @switch (optionStyle()) {\n @case (AITableSelectOptionStyle.dot) {\n @if (displayOption.bg_color) {\n <thy-dot [thyColor]=\"displayOption.bg_color\" [thySize]=\"'sm'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @case (AITableSelectOptionStyle.tag) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-tag thyTheme=\"fill\" thyShape=\"pill\" [thyColor]=\"color\">\n @if (displayOption['icon']) {\n <thy-icon class=\"text-white\" [thyIconName]=\"displayOption['icon']\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n </thy-tag>\n }\n }\n @case (AITableSelectOptionStyle.piece) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot thyShape=\"square\" [thyColor]=\"color\" [thySize]=\"'sm'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @default {\n @if (displayOption['icon']) {\n <thy-icon [thyIconName]=\"displayOption['icon']\" [style.color]=\"displayOption.color\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n }\n}\n" }]
|
26
|
+
}] });
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvbXBvbmVudHMvY2VsbC12aWV3cy9zZWxlY3Qvb3B0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvbXBvbmVudHMvY2VsbC12aWV3cy9zZWxlY3Qvb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZNUYsTUFBTSxPQUFPLHFCQUFxQjtJQVZsQztRQVdJLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFnQixDQUFDO1FBRXZDLGtCQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBdUIsQ0FBQztRQUV0RCxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDeEIsT0FBUSxJQUFJLENBQUMsS0FBSyxFQUF5QixDQUFDLFFBQVEsQ0FBQyxZQUFZLElBQUksd0JBQXdCLENBQUMsR0FBRyxDQUFDO1FBQ3RHLENBQUMsQ0FBQyxDQUFDO1FBRUgsNkJBQXdCLEdBQUcsd0JBQXdCLENBQUM7S0FDdkQ7OEdBVlkscUJBQXFCO2tHQUFyQixxQkFBcUIsZ2FDbEJsQyw2b0RBZ0NBLDRDRGhCYyxNQUFNLGdKQUFFLE9BQU8scU1BQUUsZ0JBQWdCLCtCQUFFLE1BQU0sZ0lBQUUsZUFBZTs7MkZBRTNELHFCQUFxQjtrQkFWakMsU0FBUzsrQkFDSSxlQUFlLGNBRWIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSx5Q0FBeUM7cUJBQ25ELFdBQ1EsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeURvdCB9IGZyb20gJ25neC10ZXRoeXMvZG90JztcbmltcG9ydCB7IFRoeUZsZXhpYmxlVGV4dCB9IGZyb20gJ25neC10ZXRoeXMvZmxleGlibGUtdGV4dCc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeVRhZyB9IGZyb20gJ25neC10ZXRoeXMvdGFnJztcbmltcG9ydCB7IFRoeVRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBBSVRhYmxlU2VsZWN0T3B0aW9uLCBBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVTZWxlY3RGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2VsZWN0LW9wdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL29wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBzZWxlY3Qtb3B0aW9uJ1xuICAgIH0sXG4gICAgaW1wb3J0czogW1RoeVRhZywgVGh5SWNvbiwgVGh5VG9vbHRpcE1vZHVsZSwgVGh5RG90LCBUaHlGbGV4aWJsZVRleHRdXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE9wdGlvbkNvbXBvbmVudCB7XG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxBSVRhYmxlRmllbGQ+KCk7XG5cbiAgICBkaXNwbGF5T3B0aW9uID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZVNlbGVjdE9wdGlvbj4oKTtcblxuICAgIG9wdGlvblN0eWxlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuZmllbGQoKSBhcyBBSVRhYmxlU2VsZWN0RmllbGQpLnNldHRpbmdzLm9wdGlvbl9zdHlsZSB8fCBBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGUudGFnO1xuICAgIH0pO1xuXG4gICAgQUlUYWJsZVNlbGVjdE9wdGlvblN0eWxlID0gQUlUYWJsZVNlbGVjdE9wdGlvblN0eWxlO1xufVxuIiwiQGlmIChkaXNwbGF5T3B0aW9uKCk7IGFzIGRpc3BsYXlPcHRpb24pIHtcbiAgICBAc3dpdGNoIChvcHRpb25TdHlsZSgpKSB7XG4gICAgICAgIEBjYXNlIChBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGUuZG90KSB7XG4gICAgICAgICAgICBAaWYgKGRpc3BsYXlPcHRpb24uYmdfY29sb3IpIHtcbiAgICAgICAgICAgICAgICA8dGh5LWRvdCBbdGh5Q29sb3JdPVwiZGlzcGxheU9wdGlvbi5iZ19jb2xvclwiIFt0aHlTaXplXT1cIidzbSdcIiBjbGFzcz1cIm1yLTJcIj48L3RoeS1kb3Q+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8c3BhbiB0aHlGbGV4aWJsZVRleHQgW3RoeVRvb2x0aXBDb250ZW50XT1cImRpc3BsYXlPcHRpb24udGV4dFwiPnt7IGRpc3BsYXlPcHRpb24udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoQUlUYWJsZVNlbGVjdE9wdGlvblN0eWxlLnRhZykge1xuICAgICAgICAgICAgQGlmIChkaXNwbGF5T3B0aW9uLmJnX2NvbG9yIHx8IGRpc3BsYXlPcHRpb24uY29sb3I7IGFzIGNvbG9yKSB7XG4gICAgICAgICAgICAgICAgPHRoeS10YWcgdGh5VGhlbWU9XCJmaWxsXCIgdGh5U2hhcGU9XCJwaWxsXCIgW3RoeUNvbG9yXT1cImNvbG9yXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZGlzcGxheU9wdGlvblsnaWNvbiddKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGh5LWljb24gY2xhc3M9XCJ0ZXh0LXdoaXRlXCIgW3RoeUljb25OYW1lXT1cImRpc3BsYXlPcHRpb25bJ2ljb24nXVwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gdGh5RmxleGlibGVUZXh0IFt0aHlUb29sdGlwQ29udGVudF09XCJkaXNwbGF5T3B0aW9uLnRleHRcIj57eyBkaXNwbGF5T3B0aW9uLnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC90aHktdGFnPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBjYXNlIChBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGUucGllY2UpIHtcbiAgICAgICAgICAgIEBpZiAoZGlzcGxheU9wdGlvbi5iZ19jb2xvciB8fCBkaXNwbGF5T3B0aW9uLmNvbG9yOyBhcyBjb2xvcikge1xuICAgICAgICAgICAgICAgIDx0aHktZG90IHRoeVNoYXBlPVwic3F1YXJlXCIgW3RoeUNvbG9yXT1cImNvbG9yXCIgW3RoeVNpemVdPVwiJ3NtJ1wiIGNsYXNzPVwibXItMlwiPjwvdGh5LWRvdD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuIHRoeUZsZXhpYmxlVGV4dCBbdGh5VG9vbHRpcENvbnRlbnRdPVwiZGlzcGxheU9wdGlvbi50ZXh0XCI+e3sgZGlzcGxheU9wdGlvbi50ZXh0IH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICAgIEBpZiAoZGlzcGxheU9wdGlvblsnaWNvbiddKSB7XG4gICAgICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJkaXNwbGF5T3B0aW9uWydpY29uJ11cIiBbc3R5bGUuY29sb3JdPVwiZGlzcGxheU9wdGlvbi5jb2xvclwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8c3BhbiB0aHlGbGV4aWJsZVRleHQgW3RoeVRvb2x0aXBDb250ZW50XT1cImRpc3BsYXlPcHRpb24udGV4dFwiPnt7IGRpc3BsYXlPcHRpb24udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
@@ -9,10 +9,10 @@ export class FieldMenu {
|
|
9
9
|
const field = getRecordOrField(this.aiTable.fields, this.fieldId);
|
10
10
|
menu.exec && menu.exec(this.aiTable, field, this.origin);
|
11
11
|
}
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: FieldMenu, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.4", type: FieldMenu, isStandalone: true, selector: "field-menu", inputs: { fieldId: "fieldId", aiTable: "aiTable", fieldMenus: "fieldMenus", origin: "origin" }, ngImport: i0, template: "@for (menu of fieldMenus; track index; let index = $index) {\n @if (menu.type === 'divider') {\n <thy-divider [thyStyle]=\"'solid'\"></thy-divider>\n } @else {\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"execute(menu)\">\n <thy-icon [thyIconName]=\"menu.icon!\"></thy-icon>\n <span>{{ menu.name! }}</span>\n </a>\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
14
14
|
}
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: FieldMenu, decorators: [{
|
16
16
|
type: Component,
|
17
17
|
args: [{ selector: 'field-menu', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
18
18
|
ThyIcon,
|
@@ -16,10 +16,10 @@ import * as i1 from "@angular/forms";
|
|
16
16
|
import * as i2 from "ngx-tethys/form";
|
17
17
|
export class AITableFieldPropertyEditor {
|
18
18
|
constructor() {
|
19
|
-
this.
|
19
|
+
this.aiEditField = model.required();
|
20
20
|
this.aiExternalTemplate = null;
|
21
21
|
this.fieldType = computed(() => {
|
22
|
-
return FieldsMap[this.
|
22
|
+
return FieldsMap[this.aiEditField().type];
|
23
23
|
});
|
24
24
|
this.fieldMaxLength = 32;
|
25
25
|
this.validatorConfig = {
|
@@ -34,29 +34,33 @@ export class AITableFieldPropertyEditor {
|
|
34
34
|
this.thyPopoverRef = inject((ThyPopoverRef));
|
35
35
|
this.checkUniqueName = (fieldName) => {
|
36
36
|
fieldName = fieldName?.trim();
|
37
|
-
return of(!!this.aiTable.fields()?.find((field) => field.name === fieldName && this.
|
37
|
+
return of(!!this.aiTable.fields()?.find((field) => field.name === fieldName && this.aiEditField()?._id !== field._id));
|
38
38
|
};
|
39
39
|
}
|
40
|
-
selectFieldType(
|
41
|
-
this.
|
40
|
+
selectFieldType(field) {
|
41
|
+
this.aiEditField.update((item) => {
|
42
|
+
const width = item.width ?? field.width;
|
43
|
+
const name = createDefaultFieldName(this.aiTable, field.type);
|
44
|
+
const settings = field.settings;
|
45
|
+
return { ...item, ...field, width, name, settings };
|
46
|
+
});
|
42
47
|
}
|
43
48
|
editFieldProperty() {
|
44
49
|
if (this.isUpdate) {
|
45
|
-
|
46
|
-
Actions.setField(this.aiTable, this.aiField(), [path]);
|
50
|
+
Actions.setField(this.aiTable, this.aiEditField(), [this.aiEditField()._id]);
|
47
51
|
}
|
48
52
|
else {
|
49
|
-
Actions.addField(this.aiTable, this.
|
53
|
+
Actions.addField(this.aiTable, this.aiEditField(), [this.aiTable.fields().length]);
|
50
54
|
}
|
51
55
|
this.thyPopoverRef.close();
|
52
56
|
}
|
53
57
|
cancel() {
|
54
58
|
this.thyPopoverRef.close();
|
55
59
|
}
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
57
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: AITableFieldPropertyEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.4", type: AITableFieldPropertyEditor, isStandalone: true, selector: "ai-table-field-property-editor", inputs: { aiEditField: { classPropertyName: "aiEditField", publicName: "aiEditField", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: false, isRequired: true, transformFunction: null }, aiExternalTemplate: { classPropertyName: "aiExternalTemplate", publicName: "aiExternalTemplate", isSignal: false, isRequired: false, transformFunction: null }, isUpdate: { classPropertyName: "isUpdate", publicName: "isUpdate", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, outputs: { aiEditField: "aiEditFieldChange" }, host: { classAttribute: "field-property-editor d-block pl-5 pr-5 pb-5 pt-4" }, ngImport: i0, template: "<form thyForm name=\"createPropertyForm\" [thyFormValidatorConfig]=\"validatorConfig\" thyLayout=\"vertical\">\n <thy-form-group thyLabelRequired thyLabelText=\"\u8868\u683C\u5217\u540D\">\n <thy-input-group>\n <input\n thyInput\n [thyAutofocus]=\"true\"\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"aiEditField().name\"\n required\n placeholder=\"\u8F93\u5165\u5217\u540D\u79F0\"\n [thyUniqueCheck]=\"checkUniqueName\"\n />\n <ng-template #suffix>\n <thy-input-count></thy-input-count>\n </ng-template>\n </thy-input-group>\n </thy-form-group>\n <thy-form-group thyLabelText=\"\u5217\u7C7B\u578B\">\n <div class=\"ml-n5 mr-n5\">\n <thy-list-item [thyDropdown]=\"menu\" thyTrigger=\"hover\" thyPlacement=\"right\" class=\"justify-content-between\">\n <span>\n <thy-icon [thyIconName]=\"fieldType().icon\" class=\"text-desc mr-2\"></thy-icon>\n <span>{{ fieldType().name }}</span>\n </span>\n <thy-icon thyIconName=\"angle-right\" class=\"text-desc\"></thy-icon>\n </thy-list-item>\n </div>\n </thy-form-group>\n <ng-container *ngIf=\"aiExternalTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"aiExternalTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultTemplate>\n <!-- TODO: \u5185\u90E8\u5C5E\u6027\u6E32\u67D3 -->\n </ng-template>\n <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">\u53D6\u6D88</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"editFieldProperty()\" thySize=\"sm\">\u786E\u5B9A</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n @for (item of selectableFields; track $index) {\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"selectFieldType(item)\">\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n</thy-dropdown-menu>\n", styles: [":host{width:350px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "component", type: ThyInputCount, selector: "thy-input-count", inputs: ["thyInput"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyUniqueCheckValidator, selector: "[thyUniqueCheck]", inputs: ["thyUniqueCheck"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "directive", type: i2.ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { kind: "component", type: ThyListItem, selector: "thy-list-item,[thy-list-item]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
58
62
|
}
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: AITableFieldPropertyEditor, decorators: [{
|
60
64
|
type: Component,
|
61
65
|
args: [{ selector: 'ai-table-field-property-editor', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
62
66
|
NgIf,
|
@@ -81,7 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
81
85
|
ThyAutofocusDirective
|
82
86
|
], host: {
|
83
87
|
class: 'field-property-editor d-block pl-5 pr-5 pb-5 pt-4'
|
84
|
-
}, template: "<form thyForm name=\"createPropertyForm\" [thyFormValidatorConfig]=\"validatorConfig\" thyLayout=\"vertical\">\n <thy-form-group thyLabelRequired thyLabelText=\"\u8868\u683C\u5217\u540D\">\n <thy-input-group>\n <input\n thyInput\n [thyAutofocus]=\"true\"\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"
|
88
|
+
}, template: "<form thyForm name=\"createPropertyForm\" [thyFormValidatorConfig]=\"validatorConfig\" thyLayout=\"vertical\">\n <thy-form-group thyLabelRequired thyLabelText=\"\u8868\u683C\u5217\u540D\">\n <thy-input-group>\n <input\n thyInput\n [thyAutofocus]=\"true\"\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"aiEditField().name\"\n required\n placeholder=\"\u8F93\u5165\u5217\u540D\u79F0\"\n [thyUniqueCheck]=\"checkUniqueName\"\n />\n <ng-template #suffix>\n <thy-input-count></thy-input-count>\n </ng-template>\n </thy-input-group>\n </thy-form-group>\n <thy-form-group thyLabelText=\"\u5217\u7C7B\u578B\">\n <div class=\"ml-n5 mr-n5\">\n <thy-list-item [thyDropdown]=\"menu\" thyTrigger=\"hover\" thyPlacement=\"right\" class=\"justify-content-between\">\n <span>\n <thy-icon [thyIconName]=\"fieldType().icon\" class=\"text-desc mr-2\"></thy-icon>\n <span>{{ fieldType().name }}</span>\n </span>\n <thy-icon thyIconName=\"angle-right\" class=\"text-desc\"></thy-icon>\n </thy-list-item>\n </div>\n </thy-form-group>\n <ng-container *ngIf=\"aiExternalTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"aiExternalTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultTemplate>\n <!-- TODO: \u5185\u90E8\u5C5E\u6027\u6E32\u67D3 -->\n </ng-template>\n <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">\u53D6\u6D88</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"editFieldProperty()\" thySize=\"sm\">\u786E\u5B9A</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n @for (item of selectableFields; track $index) {\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"selectFieldType(item)\">\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n</thy-dropdown-menu>\n", styles: [":host{width:350px}\n"] }]
|
85
89
|
}], ctorParameters: () => [], propDecorators: { aiTable: [{
|
86
90
|
type: Input,
|
87
91
|
args: [{ required: true }]
|
@@ -91,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
91
95
|
type: Input,
|
92
96
|
args: [{ transform: booleanAttribute }]
|
93
97
|
}] } });
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtcHJvcGVydHktZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvbXBvbmVudHMvZmllbGQtcHJvcGVydHktZWRpdG9yL2ZpZWxkLXByb3BlcnR5LWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLXByb3BlcnR5LWVkaXRvci9maWVsZC1wcm9wZXJ0eS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUEwQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvSCxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxFQUNuQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQTJDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pILE9BQU8sRUFB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QUVKLFdBQVcsdzZDQUNYLE9BQU8sc01BRVAsYUFBYSwrS0FDYixhQUFhLGtGQUNiLGlCQUFpQiwrSUFFakIsdUJBQXVCLHlGQUN2QixvQkFBb0IsbVJBQ3BCLHdCQUF3QiwwR0FDeEIsNEJBQTRCLHNHQUM1QixnQ0FBZ0Msc0VBRWhDLFNBQVMsbUxBQ1QsYUFBYSwrckJBQ2IsV0FBVywwRUFDWCxnQkFBZ0Isb0pBQ2hCLHFCQUFxQjs7MkZBYWhCLDBCQUEwQjtrQkF0Q3RDLFNBQVM7K0JBQ0ksZ0NBQWdDLGNBRTlCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCxJQUFJO3dCQUNKLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsNEJBQTRCO3dCQUM1Qix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLGdDQUFnQzt3QkFDaEMsZ0NBQWdDO3dCQUNoQyxTQUFTO3dCQUNULGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLHFCQUFxQjtxQkFDeEIsUUFDSzt3QkFDRixLQUFLLEVBQUUsbURBQW1EO3FCQUM3RDt3REFZMEIsT0FBTztzQkFBakMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWhCLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFa0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBib29sZWFuQXR0cmlidXRlLCBjb21wdXRlZCwgaW5qZWN0LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlJbnB1dCwgVGh5SW5wdXRDb3VudCwgVGh5SW5wdXRHcm91cCwgVGh5SW5wdXREaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcbmltcG9ydCB7IFRoeUNvbmZpcm1WYWxpZGF0b3JEaXJlY3RpdmUsIFRoeVVuaXF1ZUNoZWNrVmFsaWRhdG9yLCBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnLCBUaHlGb3JtTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9mb3JtJztcbmltcG9ydCB7XG4gICAgVGh5RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50LFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbU5hbWVEaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbUljb25EaXJlY3RpdmVcbn0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5pbXBvcnQgeyBUaHlCdXR0b24gfSBmcm9tICduZ3gtdGV0aHlzL2J1dHRvbic7XG5pbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIEFJVGFibGVGaWVsZFR5cGUsIEFjdGlvbnMsIEZpZWxkcywgRmllbGRzTWFwLCBjcmVhdGVEZWZhdWx0RmllbGROYW1lIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVGh5TGlzdEl0ZW0gfSBmcm9tICduZ3gtdGV0aHlzL2xpc3QnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRoeUF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1maWVsZC1wcm9wZXJ0eS1lZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1wcm9wZXJ0eS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgVGh5SWNvbixcbiAgICAgICAgVGh5SW5wdXQsXG4gICAgICAgIFRoeUlucHV0R3JvdXAsXG4gICAgICAgIFRoeUlucHV0Q291bnQsXG4gICAgICAgIFRoeUlucHV0RGlyZWN0aXZlLFxuICAgICAgICBUaHlDb25maXJtVmFsaWRhdG9yRGlyZWN0aXZlLFxuICAgICAgICBUaHlVbmlxdWVDaGVja1ZhbGlkYXRvcixcbiAgICAgICAgVGh5RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbU5hbWVEaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1JY29uRGlyZWN0aXZlLFxuICAgICAgICBUaHlCdXR0b24sXG4gICAgICAgIFRoeUZvcm1Nb2R1bGUsXG4gICAgICAgIFRoeUxpc3RJdGVtLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUaHlBdXRvZm9jdXNEaXJlY3RpdmVcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmaWVsZC1wcm9wZXJ0eS1lZGl0b3IgZC1ibG9jayBwbC01IHByLTUgcGItNSBwdC00J1xuICAgIH0sXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVGaWVsZFByb3BlcnR5RWRpdG9yIHtcbiAgICBhaUZpZWxkID0gbW9kZWwucmVxdWlyZWQ8QUlUYWJsZUZpZWxkPigpO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgYWlUYWJsZSE6IEFJVGFibGU7XG5cbiAgICBASW5wdXQoKSBhaUV4dGVybmFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1VwZGF0ZSE6IGJvb2xlYW47XG5cbiAgICBmaWVsZFR5cGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBGaWVsZHNNYXBbdGhpcy5haUZpZWxkKCkudHlwZV07XG4gICAgfSk7XG5cbiAgICBmaWVsZE1heExlbmd0aCA9IDMyO1xuXG4gICAgdmFsaWRhdG9yQ29uZmlnOiBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnID0ge1xuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IHtcbiAgICAgICAgICAgIGZpZWxkTmFtZToge1xuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAn5YiX5ZCN5LiN6IO95Li656m6JyxcbiAgICAgICAgICAgICAgICB0aHlVbmlxdWVDaGVjazogJ+WIl+WQjeW3suWtmOWcqCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBzZWxlY3RhYmxlRmllbGRzID0gRmllbGRzO1xuXG4gICAgcHJvdGVjdGVkIHRoeVBvcG92ZXJSZWYgPSBpbmplY3QoVGh5UG9wb3ZlclJlZjxBSVRhYmxlRmllbGRQcm9wZXJ0eUVkaXRvcj4pO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgY2hlY2tVbmlxdWVOYW1lID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGZpZWxkTmFtZSA9IGZpZWxkTmFtZT8udHJpbSgpO1xuICAgICAgICByZXR1cm4gb2YoISF0aGlzLmFpVGFibGUuZmllbGRzKCk/LmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSBmaWVsZE5hbWUgJiYgdGhpcy5haUZpZWxkKCk/Ll9pZCAhPT0gZmllbGQuX2lkKSk7XG4gICAgfTtcblxuICAgIHNlbGVjdEZpZWxkVHlwZShmaWVsZFR5cGU6IEFJVGFibGVGaWVsZFR5cGUpIHtcbiAgICAgICAgdGhpcy5haUZpZWxkLnVwZGF0ZSgoaXRlbSkgPT4gKHsgLi4uaXRlbSwgdHlwZTogZmllbGRUeXBlLCBuYW1lOiBjcmVhdGVEZWZhdWx0RmllbGROYW1lKHRoaXMuYWlUYWJsZSwgZmllbGRUeXBlKSB9KSk7XG4gICAgfVxuXG4gICAgZWRpdEZpZWxkUHJvcGVydHkoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzVXBkYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gdGhpcy5haVRhYmxlLmZpZWxkcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHRoaXMuYWlGaWVsZCgpLl9pZCk7XG4gICAgICAgICAgICBBY3Rpb25zLnNldEZpZWxkKHRoaXMuYWlUYWJsZSwgdGhpcy5haUZpZWxkKCksIFtwYXRoXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBBY3Rpb25zLmFkZEZpZWxkKHRoaXMuYWlUYWJsZSwgdGhpcy5haUZpZWxkKCksIFt0aGlzLmFpVGFibGUuZmllbGRzKCkubGVuZ3RoXSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aHlQb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgY2FuY2VsKCkge1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG59XG4iLCI8Zm9ybSB0aHlGb3JtIG5hbWU9XCJjcmVhdGVQcm9wZXJ0eUZvcm1cIiBbdGh5Rm9ybVZhbGlkYXRvckNvbmZpZ109XCJ2YWxpZGF0b3JDb25maWdcIiB0aHlMYXlvdXQ9XCJ2ZXJ0aWNhbFwiPlxuICAgIDx0aHktZm9ybS1ncm91cCB0aHlMYWJlbFJlcXVpcmVkIHRoeUxhYmVsVGV4dD1cIuihqOagvOWIl+WQjVwiPlxuICAgICAgICA8dGh5LWlucHV0LWdyb3VwPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdGh5SW5wdXRcbiAgICAgICAgICAgICAgICBbdGh5QXV0b2ZvY3VzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJmaWVsZE5hbWVcIlxuICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiZmllbGRNYXhMZW5ndGhcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWlGaWVsZCgpLm5hbWVcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLovpPlhaXliJflkI3np7BcIlxuICAgICAgICAgICAgICAgIFt0aHlVbmlxdWVDaGVja109XCJjaGVja1VuaXF1ZU5hbWVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3VmZml4PlxuICAgICAgICAgICAgICAgIDx0aHktaW5wdXQtY291bnQ+PC90aHktaW5wdXQtY291bnQ+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3RoeS1pbnB1dC1ncm91cD5cbiAgICA8L3RoeS1mb3JtLWdyb3VwPlxuICAgIDx0aHktZm9ybS1ncm91cCB0aHlMYWJlbFRleHQ9XCLliJfnsbvlnotcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1sLW41IG1yLW41XCI+XG4gICAgICAgICAgICA8dGh5LWxpc3QtaXRlbSBbdGh5RHJvcGRvd25dPVwibWVudVwiIHRoeVRyaWdnZXI9XCJob3ZlclwiIHRoeVBsYWNlbWVudD1cInJpZ2h0XCIgY2xhc3M9XCJqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cImZpZWxkVHlwZSgpLmljb25cIiBjbGFzcz1cInRleHQtZGVzYyBtci0yXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZmllbGRUeXBlKCkubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtcmlnaHRcIiBjbGFzcz1cInRleHQtZGVzY1wiPjwvdGh5LWljb24+XG4gICAgICAgICAgICA8L3RoeS1saXN0LWl0ZW0+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvdGh5LWZvcm0tZ3JvdXA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFpRXh0ZXJuYWxUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0VGVtcGxhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFpRXh0ZXJuYWxUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxuICAgICAgICA8IS0tIFRPRE86IOWGhemDqOWxnuaAp+a4suafkyAtLT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDx0aHktZm9ybS1ncm91cC1mb290ZXIgdGh5QWxpZ249XCJyaWdodFwiPlxuICAgICAgICA8YnV0dG9uIHRoeUJ1dHRvbj1cImxpbmstc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgdGh5U2l6ZT1cInNtXCI+5Y+W5raIPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdGh5QnV0dG9uPVwicHJpbWFyeVwiICh0aHlGb3JtU3VibWl0KT1cImVkaXRGaWVsZFByb3BlcnR5KClcIiB0aHlTaXplPVwic21cIj7noa7lrpo8L2J1dHRvbj5cbiAgICA8L3RoeS1mb3JtLWdyb3VwLWZvb3Rlcj5cbjwvZm9ybT5cblxuPHRoeS1kcm9wZG93bi1tZW51ICNtZW51PlxuICAgIEBmb3IgKGl0ZW0gb2Ygc2VsZWN0YWJsZUZpZWxkczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxhIHRoeURyb3Bkb3duTWVudUl0ZW0gaHJlZj1cImphdmFzY3JpcHQ6O1wiIChjbGljayk9XCJzZWxlY3RGaWVsZFR5cGUoaXRlbS50eXBlKVwiPlxuICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJpdGVtLmljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbU5hbWU+e3sgaXRlbS5uYW1lIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgfVxuPC90aHktZHJvcGRvd24tbWVudT5cbiJdfQ==
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtcHJvcGVydHktZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvbXBvbmVudHMvZmllbGQtcHJvcGVydHktZWRpdG9yL2ZpZWxkLXByb3BlcnR5LWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLXByb3BlcnR5LWVkaXRvci9maWVsZC1wcm9wZXJ0eS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUEwQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvSCxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxFQUNuQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQTJDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pILE9BQU8sRUFB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QWdCLDRKQ2pFeEMsOHZFQWlEQSw4RUR2QlEsSUFBSSw0RkFFSixXQUFXLHc2Q0FDWCxPQUFPLHNNQUVQLGFBQWEsK0tBQ2IsYUFBYSxrRkFDYixpQkFBaUIsK0lBRWpCLHVCQUF1Qix5RkFDdkIsb0JBQW9CLG1SQUNwQix3QkFBd0IsMEdBQ3hCLDRCQUE0QixzR0FDNUIsZ0NBQWdDLHNFQUVoQyxTQUFTLG1MQUNULGFBQWEsK3JCQUNiLFdBQVcsMEVBQ1gsZ0JBQWdCLG9KQUNoQixxQkFBcUI7OzJGQWFoQiwwQkFBMEI7a0JBdEN0QyxTQUFTOytCQUNJLGdDQUFnQyxjQUU5QixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsSUFBSTt3QkFDSixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxRQUFRO3dCQUNSLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1QixnQ0FBZ0M7d0JBQ2hDLGdDQUFnQzt3QkFDaEMsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixxQkFBcUI7cUJBQ3hCLFFBQ0s7d0JBQ0YsS0FBSyxFQUFFLG1EQUFtRDtxQkFDN0Q7d0RBWTBCLE9BQU87c0JBQWpDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVoQixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRWtDLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0Zvck9mLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIGluamVjdCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5SW5wdXQsIFRoeUlucHV0Q291bnQsIFRoeUlucHV0R3JvdXAsIFRoeUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9pbnB1dCc7XG5pbXBvcnQgeyBUaHlDb25maXJtVmFsaWRhdG9yRGlyZWN0aXZlLCBUaHlVbmlxdWVDaGVja1ZhbGlkYXRvciwgVGh5Rm9ybVZhbGlkYXRvckNvbmZpZywgVGh5Rm9ybU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZm9ybSc7XG5pbXBvcnQge1xuICAgIFRoeURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1OYW1lRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1JY29uRGlyZWN0aXZlXG59IGZyb20gJ25neC10ZXRoeXMvZHJvcGRvd24nO1xuaW1wb3J0IHsgVGh5QnV0dG9uIH0gZnJvbSAnbmd4LXRldGh5cy9idXR0b24nO1xuaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRUeXBlLCBBY3Rpb25zLCBGaWVsZHMsIEZpZWxkc01hcCwgY3JlYXRlRGVmYXVsdEZpZWxkTmFtZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFRoeUxpc3RJdGVtIH0gZnJvbSAnbmd4LXRldGh5cy9saXN0JztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaHlBdXRvZm9jdXNEaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWktdGFibGUtZmllbGQtcHJvcGVydHktZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmllbGQtcHJvcGVydHktZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFRoeUljb24sXG4gICAgICAgIFRoeUlucHV0LFxuICAgICAgICBUaHlJbnB1dEdyb3VwLFxuICAgICAgICBUaHlJbnB1dENvdW50LFxuICAgICAgICBUaHlJbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgVGh5Q29uZmlybVZhbGlkYXRvckRpcmVjdGl2ZSxcbiAgICAgICAgVGh5VW5pcXVlQ2hlY2tWYWxpZGF0b3IsXG4gICAgICAgIFRoeURyb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVDb21wb25lbnQsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1OYW1lRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVJdGVtSWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgVGh5QnV0dG9uLFxuICAgICAgICBUaHlGb3JtTW9kdWxlLFxuICAgICAgICBUaHlMaXN0SXRlbSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgVGh5QXV0b2ZvY3VzRGlyZWN0aXZlXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmllbGQtcHJvcGVydHktZWRpdG9yIGQtYmxvY2sgcGwtNSBwci01IHBiLTUgcHQtNCdcbiAgICB9LFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlRmllbGRQcm9wZXJ0eUVkaXRvciB7XG4gICAgYWlFZGl0RmllbGQgPSBtb2RlbC5yZXF1aXJlZDxBSVRhYmxlRmllbGQ+KCk7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBhaVRhYmxlITogQUlUYWJsZTtcblxuICAgIEBJbnB1dCgpIGFpRXh0ZXJuYWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzVXBkYXRlITogYm9vbGVhbjtcblxuICAgIGZpZWxkVHlwZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIEZpZWxkc01hcFt0aGlzLmFpRWRpdEZpZWxkKCkudHlwZV07XG4gICAgfSk7XG5cbiAgICBmaWVsZE1heExlbmd0aCA9IDMyO1xuXG4gICAgdmFsaWRhdG9yQ29uZmlnOiBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnID0ge1xuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IHtcbiAgICAgICAgICAgIGZpZWxkTmFtZToge1xuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAn5YiX5ZCN5LiN6IO95Li656m6JyxcbiAgICAgICAgICAgICAgICB0aHlVbmlxdWVDaGVjazogJ+WIl+WQjeW3suWtmOWcqCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBzZWxlY3RhYmxlRmllbGRzID0gRmllbGRzO1xuXG4gICAgcHJvdGVjdGVkIHRoeVBvcG92ZXJSZWYgPSBpbmplY3QoVGh5UG9wb3ZlclJlZjxBSVRhYmxlRmllbGRQcm9wZXJ0eUVkaXRvcj4pO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgY2hlY2tVbmlxdWVOYW1lID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGZpZWxkTmFtZSA9IGZpZWxkTmFtZT8udHJpbSgpO1xuICAgICAgICByZXR1cm4gb2YoISF0aGlzLmFpVGFibGUuZmllbGRzKCk/LmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSBmaWVsZE5hbWUgJiYgdGhpcy5haUVkaXRGaWVsZCgpPy5faWQgIT09IGZpZWxkLl9pZCkpO1xuICAgIH07XG5cbiAgICBzZWxlY3RGaWVsZFR5cGUoZmllbGQ6IFBhcnRpYWw8QUlUYWJsZUZpZWxkPikge1xuICAgICAgICB0aGlzLmFpRWRpdEZpZWxkLnVwZGF0ZSgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBpdGVtLndpZHRoID8/IGZpZWxkLndpZHRoO1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUodGhpcy5haVRhYmxlLCBmaWVsZC50eXBlISk7XG4gICAgICAgICAgICBjb25zdCBzZXR0aW5ncyA9IGZpZWxkLnNldHRpbmdzO1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4uaXRlbSwgLi4uZmllbGQsIHdpZHRoLCBuYW1lLCBzZXR0aW5ncyB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBlZGl0RmllbGRQcm9wZXJ0eSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNVcGRhdGUpIHtcbiAgICAgICAgICAgIEFjdGlvbnMuc2V0RmllbGQodGhpcy5haVRhYmxlLCB0aGlzLmFpRWRpdEZpZWxkKCksIFt0aGlzLmFpRWRpdEZpZWxkKCkuX2lkXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBBY3Rpb25zLmFkZEZpZWxkKHRoaXMuYWlUYWJsZSwgdGhpcy5haUVkaXRGaWVsZCgpLCBbdGhpcy5haVRhYmxlLmZpZWxkcygpLmxlbmd0aF0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGh5UG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIGNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy50aHlQb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgfVxufVxuIiwiPGZvcm0gdGh5Rm9ybSBuYW1lPVwiY3JlYXRlUHJvcGVydHlGb3JtXCIgW3RoeUZvcm1WYWxpZGF0b3JDb25maWddPVwidmFsaWRhdG9yQ29uZmlnXCIgdGh5TGF5b3V0PVwidmVydGljYWxcIj5cbiAgICA8dGh5LWZvcm0tZ3JvdXAgdGh5TGFiZWxSZXF1aXJlZCB0aHlMYWJlbFRleHQ9XCLooajmoLzliJflkI1cIj5cbiAgICAgICAgPHRoeS1pbnB1dC1ncm91cD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHRoeUlucHV0XG4gICAgICAgICAgICAgICAgW3RoeUF1dG9mb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZmllbGROYW1lXCJcbiAgICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cImZpZWxkTWF4TGVuZ3RoXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFpRWRpdEZpZWxkKCkubmFtZVwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIui+k+WFpeWIl+WQjeensFwiXG4gICAgICAgICAgICAgICAgW3RoeVVuaXF1ZUNoZWNrXT1cImNoZWNrVW5pcXVlTmFtZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdWZmaXg+XG4gICAgICAgICAgICAgICAgPHRoeS1pbnB1dC1jb3VudD48L3RoeS1pbnB1dC1jb3VudD5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGh5LWlucHV0LWdyb3VwPlxuICAgIDwvdGh5LWZvcm0tZ3JvdXA+XG4gICAgPHRoeS1mb3JtLWdyb3VwIHRoeUxhYmVsVGV4dD1cIuWIl+exu+Wei1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWwtbjUgbXItbjVcIj5cbiAgICAgICAgICAgIDx0aHktbGlzdC1pdGVtIFt0aHlEcm9wZG93bl09XCJtZW51XCIgdGh5VHJpZ2dlcj1cImhvdmVyXCIgdGh5UGxhY2VtZW50PVwicmlnaHRcIiBjbGFzcz1cImp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiZmllbGRUeXBlKCkuaWNvblwiIGNsYXNzPVwidGV4dC1kZXNjIG1yLTJcIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBmaWVsZFR5cGUoKS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1yaWdodFwiIGNsYXNzPVwidGV4dC1kZXNjXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgIDwvdGh5LWxpc3QtaXRlbT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC90aHktZm9ybS1ncm91cD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWlFeHRlcm5hbFRlbXBsYXRlOyBlbHNlIGRlZmF1bHRUZW1wbGF0ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWlFeHRlcm5hbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XG4gICAgICAgIDwhLS0gVE9ETzog5YaF6YOo5bGe5oCn5riy5p+TIC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPHRoeS1mb3JtLWdyb3VwLWZvb3RlciB0aHlBbGlnbj1cInJpZ2h0XCI+XG4gICAgICAgIDxidXR0b24gdGh5QnV0dG9uPVwibGluay1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2FuY2VsKClcIiB0aHlTaXplPVwic21cIj7lj5bmtog8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0aHlCdXR0b249XCJwcmltYXJ5XCIgKHRoeUZvcm1TdWJtaXQpPVwiZWRpdEZpZWxkUHJvcGVydHkoKVwiIHRoeVNpemU9XCJzbVwiPuehruWumjwvYnV0dG9uPlxuICAgIDwvdGh5LWZvcm0tZ3JvdXAtZm9vdGVyPlxuPC9mb3JtPlxuXG48dGh5LWRyb3Bkb3duLW1lbnUgI21lbnU+XG4gICAgQGZvciAoaXRlbSBvZiBzZWxlY3RhYmxlRmllbGRzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGEgdGh5RHJvcGRvd25NZW51SXRlbSBocmVmPVwiamF2YXNjcmlwdDo7XCIgKGNsaWNrKT1cInNlbGVjdEZpZWxkVHlwZShpdGVtKVwiPlxuICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJpdGVtLmljb24hXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIHRoeURyb3Bkb3duTWVudUl0ZW1OYW1lPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIH1cbjwvdGh5LWRyb3Bkb3duLW1lbnU+XG4iXX0=
|
@@ -4,5 +4,6 @@ export * from './cell-editors/number/number-editor.component';
|
|
4
4
|
export * from './cell-editors/progress/progress-editor.component';
|
5
5
|
export * from './cell-editors/rating/rating-editor.component';
|
6
6
|
export * from './cell-editors/text/text-editor.component';
|
7
|
+
export * from './cell-views/select/option.component';
|
7
8
|
export * from './field-property-editor/field-property-editor.component';
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5REFBeUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2VsbC1lZGl0b3JzL2RhdGUtdGltZS9kYXRlLXRpbWUtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGwtZWRpdG9ycy9saW5rL251bWJlci1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2VsbC1lZGl0b3JzL251bWJlci9udW1iZXItZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGwtZWRpdG9ycy9wcm9ncmVzcy9wcm9ncmVzcy1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2VsbC1lZGl0b3JzL3JhdGluZy9yYXRpbmctZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGwtZWRpdG9ycy90ZXh0L3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGwtdmlld3Mvc2VsZWN0L29wdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC1wcm9wZXJ0eS1lZGl0b3IvZmllbGQtcHJvcGVydHktZWRpdG9yLmNvbXBvbmVudCc7XG4iXX0=
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Actions
|
1
|
+
import { Actions } from '../core';
|
2
2
|
import { AI_TABLE_GRID_FIELD_SERVICE_MAP } from '../services/field.service';
|
3
3
|
import { signal } from '@angular/core';
|
4
4
|
export const DividerMenuItem = {
|
@@ -19,9 +19,8 @@ export const RemoveFieldItem = {
|
|
19
19
|
name: '删除列',
|
20
20
|
icon: 'trash',
|
21
21
|
exec: (aiTable, field) => {
|
22
|
-
|
23
|
-
Actions.removeField(aiTable, path);
|
22
|
+
Actions.removeField(aiTable, [field()._id]);
|
24
23
|
}
|
25
24
|
};
|
26
25
|
export const DefaultFieldMenus = [EditFieldPropertyItem, RemoveFieldItem];
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb25zdGFudHMvZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBc0QsTUFBTSxTQUFTLENBQUM7QUFDdEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUUsT0FBTyxFQUFjLE1BQU0sRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFHM0UsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzNCLElBQUksRUFBRSxTQUFTO0NBQ2xCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNqQyxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEtBQTJCLEVBQUUsTUFBc0MsRUFBRSxFQUFFO1FBQzVGLE1BQU0sWUFBWSxHQUFHLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRSxNQUFNLFNBQVMsR0FBaUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RixNQUFNLElBQUksWUFBWSxFQUFFLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzNCLElBQUksRUFBRSxhQUFhO0lBQ25CLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEtBQTJCLEVBQUUsRUFBRTtRQUNwRCxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBMkIsQ0FBQyxxQkFBcUIsRUFBRSxlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbnMsIEFJRmllbGRQYXRoLCBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBBSV9UQUJMRV9HUklEX0ZJRUxEX1NFUlZJQ0VfTUFQIH0gZnJvbSAnLi4vc2VydmljZXMvZmllbGQuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBzaWduYWwsIFNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZE1lbnVJdGVtIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgRGl2aWRlck1lbnVJdGVtID0ge1xuICAgIHR5cGU6ICdkaXZpZGVyJ1xufTtcblxuZXhwb3J0IGNvbnN0IEVkaXRGaWVsZFByb3BlcnR5SXRlbSA9IHtcbiAgICB0eXBlOiAnZWRpdEZpZWxkUHJvcGVydHknLFxuICAgIG5hbWU6ICfnvJbovpHliJcnLFxuICAgIGljb246ICdlZGl0JyxcbiAgICBleGVjOiAoYWlUYWJsZTogQUlUYWJsZSwgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+LCBvcmlnaW4/OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8YW55PikgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFNlcnZpY2UgPSBBSV9UQUJMRV9HUklEX0ZJRUxEX1NFUlZJQ0VfTUFQLmdldChhaVRhYmxlKTtcbiAgICAgICAgY29uc3QgY29weUZpZWxkOiBXcml0YWJsZVNpZ25hbDxBSVRhYmxlRmllbGQ+ID0gc2lnbmFsKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZmllbGQoKSkpKTtcbiAgICAgICAgb3JpZ2luICYmIGZpZWxkU2VydmljZT8uZWRpdEZpZWxkUHJvcGVydHkob3JpZ2luLCBhaVRhYmxlLCBjb3B5RmllbGQsIHRydWUpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBSZW1vdmVGaWVsZEl0ZW0gPSB7XG4gICAgdHlwZTogJ3JlbW92ZUZpZWxkJyxcbiAgICBuYW1lOiAn5Yig6Zmk5YiXJyxcbiAgICBpY29uOiAndHJhc2gnLFxuICAgIGV4ZWM6IChhaVRhYmxlOiBBSVRhYmxlLCBmaWVsZDogU2lnbmFsPEFJVGFibGVGaWVsZD4pID0+IHtcbiAgICAgICAgQWN0aW9ucy5yZW1vdmVGaWVsZChhaVRhYmxlLCBbZmllbGQoKS5faWRdKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEZpZWxkTWVudXM6IEFJVGFibGVGaWVsZE1lbnVJdGVtW10gPSBbRWRpdEZpZWxkUHJvcGVydHlJdGVtLCBSZW1vdmVGaWVsZEl0ZW1dO1xuIl19
|
@@ -26,20 +26,23 @@ export function removeField(aiTable, path) {
|
|
26
26
|
export function setField(aiTable, value, path) {
|
27
27
|
const field = AITableQueries.getField(aiTable, path);
|
28
28
|
if (field) {
|
29
|
-
const
|
30
|
-
const
|
31
|
-
for (const
|
32
|
-
|
29
|
+
const properties = {};
|
30
|
+
const newProperties = {};
|
31
|
+
for (const key in value) {
|
32
|
+
const k = key;
|
33
|
+
if (field[k]?.toString() !== value[k]?.toString()) {
|
33
34
|
if (field.hasOwnProperty(k)) {
|
34
|
-
|
35
|
+
properties[k] = field[k];
|
36
|
+
}
|
37
|
+
if (newProperties[k] !== null) {
|
38
|
+
newProperties[k] = value[k];
|
35
39
|
}
|
36
|
-
newField[k] = value[k];
|
37
40
|
}
|
38
41
|
}
|
39
42
|
const operation = {
|
40
43
|
type: ActionName.SetField,
|
41
|
-
|
42
|
-
|
44
|
+
properties,
|
45
|
+
newProperties,
|
43
46
|
path
|
44
47
|
};
|
45
48
|
aiTable.apply(operation);
|
@@ -51,4 +54,4 @@ export const FieldActions = {
|
|
51
54
|
removeField,
|
52
55
|
setField
|
53
56
|
};
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb3JlL2FjdGlvbi9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQVNiLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFMUMsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUFnQixFQUFFLEtBQW1CLEVBQUUsSUFBaUI7SUFDN0UsTUFBTSxTQUFTLEdBQW1CO1FBQzlCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUTtRQUN6QixLQUFLO1FBQ0wsSUFBSTtLQUNQLENBQUM7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQWdCLEVBQUUsSUFBaUIsRUFBRSxPQUFvQjtJQUMvRSxNQUFNLFNBQVMsR0FBb0I7UUFDL0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTO1FBQzFCLElBQUk7UUFDSixPQUFPO0tBQ1YsQ0FBQztJQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBZ0IsRUFBRSxJQUFtQjtJQUM3RCxNQUFNLFNBQVMsR0FBc0I7UUFDakMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxXQUFXO1FBQzVCLElBQUk7S0FDUCxDQUFDO0lBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUFnQixFQUFFLEtBQTRCLEVBQUUsSUFBbUI7SUFDeEYsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sVUFBVSxHQUEwQixFQUFFLENBQUM7UUFDN0MsTUFBTSxhQUFhLEdBQTBCLEVBQUUsQ0FBQztRQUNoRCxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxHQUFHLEdBQXlCLENBQUM7WUFDcEMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7Z0JBQ2hELElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMxQixVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBUSxDQUFDO2dCQUNwQyxDQUFDO2dCQUNELElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO29CQUM1QixhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBUSxDQUFDO2dCQUN2QyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBbUI7WUFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1lBQ3pCLFVBQVU7WUFDVixhQUFhO1lBQ2IsSUFBSTtTQUNQLENBQUM7UUFFRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQ3hCLFFBQVE7SUFDUixTQUFTO0lBQ1QsV0FBVztJQUNYLFFBQVE7Q0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBY3Rpb25OYW1lLFxuICAgIEFkZEZpZWxkQWN0aW9uLFxuICAgIEFJRmllbGRJZFBhdGgsXG4gICAgQUlGaWVsZFBhdGgsXG4gICAgQUlUYWJsZSxcbiAgICBBSVRhYmxlRmllbGQsXG4gICAgTW92ZUZpZWxkQWN0aW9uLFxuICAgIFJlbW92ZUZpZWxkQWN0aW9uLFxuICAgIFNldEZpZWxkQWN0aW9uXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkRmllbGQoYWlUYWJsZTogQUlUYWJsZSwgZmllbGQ6IEFJVGFibGVGaWVsZCwgcGF0aDogQUlGaWVsZFBhdGgpIHtcbiAgICBjb25zdCBvcGVyYXRpb246IEFkZEZpZWxkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZEZpZWxkLFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgcGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW92ZUZpZWxkKGFpVGFibGU6IEFJVGFibGUsIHBhdGg6IEFJRmllbGRQYXRoLCBuZXdQYXRoOiBBSUZpZWxkUGF0aCkge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogTW92ZUZpZWxkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLk1vdmVGaWVsZCxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgbmV3UGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRmllbGQoYWlUYWJsZTogQUlUYWJsZSwgcGF0aDogQUlGaWVsZElkUGF0aCkge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogUmVtb3ZlRmllbGRBY3Rpb24gPSB7XG4gICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuUmVtb3ZlRmllbGQsXG4gICAgICAgIHBhdGhcbiAgICB9O1xuICAgIGFpVGFibGUuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEZpZWxkKGFpVGFibGU6IEFJVGFibGUsIHZhbHVlOiBQYXJ0aWFsPEFJVGFibGVGaWVsZD4sIHBhdGg6IEFJRmllbGRJZFBhdGgpIHtcbiAgICBjb25zdCBmaWVsZCA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkKGFpVGFibGUsIHBhdGgpO1xuICAgIGlmIChmaWVsZCkge1xuICAgICAgICBjb25zdCBwcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVGaWVsZD4gPSB7fTtcbiAgICAgICAgY29uc3QgbmV3UHJvcGVydGllczogUGFydGlhbDxBSVRhYmxlRmllbGQ+ID0ge307XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBrID0ga2V5IGFzIGtleW9mIEFJVGFibGVGaWVsZDtcbiAgICAgICAgICAgIGlmIChmaWVsZFtrXT8udG9TdHJpbmcoKSAhPT0gdmFsdWVba10/LnRvU3RyaW5nKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQuaGFzT3duUHJvcGVydHkoaykpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllc1trXSA9IGZpZWxkW2tdIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG5ld1Byb3BlcnRpZXNba10gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3UHJvcGVydGllc1trXSA9IHZhbHVlW2tdIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcGVyYXRpb246IFNldEZpZWxkQWN0aW9uID0ge1xuICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5TZXRGaWVsZCxcbiAgICAgICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgICAgICBuZXdQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9O1xuXG4gICAgICAgIGFpVGFibGUuYXBwbHkob3BlcmF0aW9uKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBGaWVsZEFjdGlvbnMgPSB7XG4gICAgYWRkRmllbGQsXG4gICAgbW92ZUZpZWxkLFxuICAgIHJlbW92ZUZpZWxkLFxuICAgIHNldEZpZWxkXG59O1xuIl19
|