@ai-table/grid 0.0.2 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. package/components/cell-editors/abstract-cell-editor.component.d.ts +2 -2
  2. package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
  3. package/components/cell-editors/select/select-editor.component.d.ts +15 -0
  4. package/components/cell-editors/select/select-editor.component.d.ts.map +1 -0
  5. package/components/field-menu/field-menu.component.d.ts +14 -0
  6. package/components/field-menu/field-menu.component.d.ts.map +1 -0
  7. package/components/field-property-editor/field-property-editor.component.d.ts +13 -15
  8. package/components/field-property-editor/field-property-editor.component.d.ts.map +1 -1
  9. package/components/index.d.ts +2 -0
  10. package/components/index.d.ts.map +1 -0
  11. package/constants/editor.d.ts +1 -1
  12. package/constants/editor.d.ts.map +1 -1
  13. package/constants/field.d.ts +20 -0
  14. package/constants/field.d.ts.map +1 -0
  15. package/constants/grid.d.ts.map +1 -1
  16. package/constants/index.d.ts +1 -0
  17. package/constants/index.d.ts.map +1 -1
  18. package/core/action/field.d.ts +8 -2
  19. package/core/action/field.d.ts.map +1 -1
  20. package/core/action/general.d.ts.map +1 -1
  21. package/core/action/index.d.ts +5 -0
  22. package/core/action/index.d.ts.map +1 -1
  23. package/core/action/record.d.ts +7 -3
  24. package/core/action/record.d.ts.map +1 -1
  25. package/core/constants/field.d.ts +6 -8
  26. package/core/constants/field.d.ts.map +1 -1
  27. package/core/index.d.ts +1 -0
  28. package/core/index.d.ts.map +1 -1
  29. package/core/types/action.d.ts +38 -8
  30. package/core/types/action.d.ts.map +1 -1
  31. package/core/types/core.d.ts +36 -10
  32. package/core/types/core.d.ts.map +1 -1
  33. package/core/utils/common.d.ts +2 -1
  34. package/core/utils/common.d.ts.map +1 -1
  35. package/core/utils/field.d.ts +7 -1
  36. package/core/utils/field.d.ts.map +1 -1
  37. package/core/utils/queries.d.ts +4 -2
  38. package/core/utils/queries.d.ts.map +1 -1
  39. package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +11 -9
  40. package/esm2022/components/cell-editors/select/select-editor.component.mjs +46 -0
  41. package/esm2022/components/field-menu/field-menu.component.mjs +37 -0
  42. package/esm2022/components/field-property-editor/field-property-editor.component.mjs +35 -24
  43. package/esm2022/components/index.mjs +2 -0
  44. package/esm2022/constants/editor.mjs +8 -8
  45. package/esm2022/constants/field.mjs +27 -0
  46. package/esm2022/constants/grid.mjs +5 -5
  47. package/esm2022/constants/index.mjs +2 -1
  48. package/esm2022/core/action/field.mjs +43 -2
  49. package/esm2022/core/action/general.mjs +68 -14
  50. package/esm2022/core/action/record.mjs +22 -5
  51. package/esm2022/core/constants/field.mjs +22 -16
  52. package/esm2022/core/index.mjs +2 -1
  53. package/esm2022/core/types/action.mjs +6 -1
  54. package/esm2022/core/types/core.mjs +11 -14
  55. package/esm2022/core/types/index.mjs +1 -1
  56. package/esm2022/core/utils/common.mjs +10 -1
  57. package/esm2022/core/utils/field.mjs +12 -1
  58. package/esm2022/core/utils/queries.mjs +36 -6
  59. package/esm2022/core/utils/record.mjs +3 -3
  60. package/esm2022/grid.component.mjs +72 -32
  61. package/esm2022/pipes/grid.mjs +1 -2
  62. package/esm2022/public-api.mjs +2 -1
  63. package/esm2022/services/event.service.mjs +13 -6
  64. package/esm2022/services/field.service.mjs +32 -0
  65. package/esm2022/services/selection.servive.mjs +64 -0
  66. package/esm2022/types/field.mjs +2 -0
  67. package/esm2022/types/grid.mjs +1 -1
  68. package/esm2022/types/index.mjs +2 -1
  69. package/esm2022/utils/build.mjs +13 -5
  70. package/fesm2022/ai-table-grid.mjs +655 -283
  71. package/fesm2022/ai-table-grid.mjs.map +1 -1
  72. package/grid.component.d.ts +22 -11
  73. package/grid.component.d.ts.map +1 -1
  74. package/package.json +1 -1
  75. package/pipes/grid.d.ts.map +1 -1
  76. package/public-api.d.ts +1 -0
  77. package/public-api.d.ts.map +1 -1
  78. package/services/event.service.d.ts +2 -0
  79. package/services/event.service.d.ts.map +1 -1
  80. package/services/field.service.d.ts +16 -0
  81. package/services/field.service.d.ts.map +1 -0
  82. package/services/selection.servive.d.ts +16 -0
  83. package/services/selection.servive.d.ts.map +1 -0
  84. package/styles/styles.scss +70 -3
  85. package/types/field.d.ts +11 -0
  86. package/types/field.d.ts.map +1 -0
  87. package/types/grid.d.ts +13 -3
  88. package/types/grid.d.ts.map +1 -1
  89. package/types/index.d.ts +1 -0
  90. package/types/index.d.ts.map +1 -1
  91. package/utils/build.d.ts +2 -2
  92. package/utils/build.d.ts.map +1 -1
  93. package/components/cell-editors/single-select/single-select-editor.component.d.ts +0 -14
  94. package/components/cell-editors/single-select/single-select-editor.component.d.ts.map +0 -1
  95. package/esm2022/components/cell-editors/single-select/single-select-editor.component.mjs +0 -44
@@ -0,0 +1,46 @@
1
+ import { NgForOf, NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, computed, Input } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { ThySelect } from 'ngx-tethys/select';
5
+ import { AbstractEditCellEditor } from '../abstract-cell-editor.component';
6
+ import { ThyTag } from 'ngx-tethys/tag';
7
+ import { ThyIcon } from 'ngx-tethys/icon';
8
+ import { ThyOption } from 'ngx-tethys/shared';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/forms";
11
+ export class SelectCellEditorComponent extends AbstractEditCellEditor {
12
+ constructor() {
13
+ super();
14
+ this.selectOptions = computed(() => {
15
+ return this.field().options;
16
+ });
17
+ }
18
+ updateValue(value) {
19
+ if (!value) {
20
+ this.updateFieldValue();
21
+ this.closePopover();
22
+ }
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SelectCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: SelectCellEditorComponent, isStandalone: true, selector: "single-select-cell-editor", inputs: { isMultiple: "isMultiple" }, host: { classAttribute: "d-block h-100" }, usesInheritance: true, ngImport: i0, template: `<thy-select [(ngModel)]="modelValue" [thyAutoExpand]="true" (thyOnExpandStatusChange)="updateValue($event)">
26
+ <thy-option *ngFor="let option of selectOptions()" [thyValue]="option.id" [thyLabelText]="option.name"> </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 }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SelectCellEditorComponent, decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ selector: 'single-select-cell-editor',
33
+ template: `<thy-select [(ngModel)]="modelValue" [thyAutoExpand]="true" (thyOnExpandStatusChange)="updateValue($event)">
34
+ <thy-option *ngFor="let option of selectOptions()" [thyValue]="option.id" [thyLabelText]="option.name"> </thy-option>
35
+ </thy-select> `,
36
+ standalone: true,
37
+ changeDetection: ChangeDetectionStrategy.OnPush,
38
+ host: {
39
+ class: 'd-block h-100'
40
+ },
41
+ imports: [NgIf, NgForOf, FormsModule, ThySelect, ThyOption, ThyTag, ThyIcon]
42
+ }]
43
+ }], ctorParameters: () => [], propDecorators: { isMultiple: [{
44
+ type: Input
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9zZWxlY3Qvc2VsZWN0LWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBbUI5QyxNQUFNLE9BQU8seUJBQTBCLFNBQVEsc0JBQXdEO0lBT25HO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFMWixrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDMUIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBSUgsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFjO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQzs4R0FoQlEseUJBQXlCO2tHQUF6Qix5QkFBeUIsNkxBVnhCOzttQkFFSyw0REFNQyxPQUFPLGtIQUFFLFdBQVcsK1ZBQUUsU0FBUyx5bUJBQUUsU0FBUzs7MkZBRWpELHlCQUF5QjtrQkFackMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUU7O21CQUVLO29CQUNmLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxlQUFlO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7aUJBQy9FO3dEQUVZLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlTZWxlY3QgfSBmcm9tICduZ3gtdGV0aHlzL3NlbGVjdCc7XG5pbXBvcnQgeyBBYnN0cmFjdEVkaXRDZWxsRWRpdG9yIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeVRhZyB9IGZyb20gJ25neC10ZXRoeXMvdGFnJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5T3B0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgQUlUYWJsZVNlbGVjdE9wdGlvbiwgQUlUYWJsZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVNpbmdsZVNlbGVjdEZpZWxkIGV4dGVuZHMgQUlUYWJsZUZpZWxkPEFJVGFibGVTZWxlY3RPcHRpb24+IHtcbiAgICBvcHRpb25zOiBBSVRhYmxlU2VsZWN0T3B0aW9uW107XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2luZ2xlLXNlbGVjdC1jZWxsLWVkaXRvcicsXG4gICAgdGVtcGxhdGU6IGA8dGh5LXNlbGVjdCBbKG5nTW9kZWwpXT1cIm1vZGVsVmFsdWVcIiBbdGh5QXV0b0V4cGFuZF09XCJ0cnVlXCIgKHRoeU9uRXhwYW5kU3RhdHVzQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIj5cbiAgICAgICAgPHRoeS1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzZWxlY3RPcHRpb25zKClcIiBbdGh5VmFsdWVdPVwib3B0aW9uLmlkXCIgW3RoeUxhYmVsVGV4dF09XCJvcHRpb24ubmFtZVwiPiA8L3RoeS1vcHRpb24+XG4gICAgPC90aHktc2VsZWN0PiBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2QtYmxvY2sgaC0xMDAnXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdGb3JPZiwgRm9ybXNNb2R1bGUsIFRoeVNlbGVjdCwgVGh5T3B0aW9uLCBUaHlUYWcsIFRoeUljb25dXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENlbGxFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEVkaXRDZWxsRWRpdG9yPHN0cmluZywgQUlUYWJsZVNpbmdsZVNlbGVjdEZpZWxkPiB7XG4gICAgQElucHV0KCkgaXNNdWx0aXBsZSE6IGJvb2xlYW47XG5cbiAgICBzZWxlY3RPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpLm9wdGlvbnM7XG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZpZWxkVmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
+ import { ThyDropdownMenuItemDirective, ThyDropdownMenuItemNameDirective, ThyDropdownMenuItemIconDirective, ThyDropdownMenuComponent } from 'ngx-tethys/dropdown';
3
+ import { ThyIcon } from 'ngx-tethys/icon';
4
+ import { ThyDivider } from 'ngx-tethys/divider';
5
+ import { getRecordOrField } from '../../utils';
6
+ import * as i0 from "@angular/core";
7
+ export class FieldMenu {
8
+ execute(menu) {
9
+ const field = getRecordOrField(this.aiTable.fields, this.fieldId);
10
+ menu.exec && menu.exec(this.aiTable, field, this.origin);
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FieldMenu, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", 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.id === '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
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FieldMenu, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'field-menu', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
18
+ ThyIcon,
19
+ ThyDivider,
20
+ ThyDropdownMenuComponent,
21
+ ThyDropdownMenuItemDirective,
22
+ ThyDropdownMenuItemNameDirective,
23
+ ThyDropdownMenuItemIconDirective
24
+ ], template: "@for (menu of fieldMenus; track index; let index = $index) {\n @if (menu.id === '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" }]
25
+ }], propDecorators: { fieldId: [{
26
+ type: Input,
27
+ args: [{ required: true }]
28
+ }], aiTable: [{
29
+ type: Input,
30
+ args: [{ required: true }]
31
+ }], fieldMenus: [{
32
+ type: Input,
33
+ args: [{ required: true }]
34
+ }], origin: [{
35
+ type: Input
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLW1lbnUvZmllbGQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLW1lbnUvZmllbGQtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFHOUYsT0FBTyxFQUNILDRCQUE0QixFQUM1QixnQ0FBZ0MsRUFDaEMsZ0NBQWdDLEVBQ2hDLHdCQUF3QixFQUMzQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQWdCL0MsTUFBTSxPQUFPLFNBQVM7SUFTbEIsT0FBTyxDQUFDLElBQTBCO1FBQzlCLE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQXlCLENBQUM7UUFDMUYsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDOzhHQVpRLFNBQVM7a0dBQVQsU0FBUyxzS0MzQnRCLGtZQVVBLDRDRFNRLE9BQU8sc01BQ1AsVUFBVSxxSkFFViw0QkFBNEI7OzJGQUt2QixTQUFTO2tCQWRyQixTQUFTOytCQUNJLFlBQVksY0FFVixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1QixnQ0FBZ0M7d0JBQ2hDLGdDQUFnQztxQkFDbkM7OEJBRzBCLE9BQU87c0JBQWpDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVFLE9BQU87c0JBQWpDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVFLFVBQVU7c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVoQixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgRWxlbWVudFJlZiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGRNZW51SXRlbSB9IGZyb20gJy4uLy4uL3R5cGVzL2ZpZWxkJztcbmltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVGaWVsZCB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1OYW1lRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1JY29uRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudFxufSBmcm9tICduZ3gtdGV0aHlzL2Ryb3Bkb3duJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5RGl2aWRlciB9IGZyb20gJ25neC10ZXRoeXMvZGl2aWRlcic7XG5pbXBvcnQgeyBnZXRSZWNvcmRPckZpZWxkIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZpZWxkLW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgVGh5SWNvbixcbiAgICAgICAgVGh5RGl2aWRlcixcbiAgICAgICAgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50LFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVJdGVtTmFtZURpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbUljb25EaXJlY3RpdmVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkTWVudSB7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZmllbGRJZCE6IHN0cmluZztcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGFpVGFibGUhOiBBSVRhYmxlO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZmllbGRNZW51cyE6IEFJVGFibGVGaWVsZE1lbnVJdGVtW107XG5cbiAgICBASW5wdXQoKSBvcmlnaW4hOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8YW55PjtcblxuICAgIGV4ZWN1dGUobWVudTogQUlUYWJsZUZpZWxkTWVudUl0ZW0pIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSBnZXRSZWNvcmRPckZpZWxkKHRoaXMuYWlUYWJsZS5maWVsZHMsIHRoaXMuZmllbGRJZCkgYXMgU2lnbmFsPEFJVGFibGVGaWVsZD47XG4gICAgICAgIG1lbnUuZXhlYyAmJiBtZW51LmV4ZWModGhpcy5haVRhYmxlLCBmaWVsZCwgdGhpcy5vcmlnaW4pO1xuICAgIH1cbn1cbiIsIkBmb3IgKG1lbnUgb2YgZmllbGRNZW51czsgdHJhY2sgaW5kZXg7IGxldCBpbmRleCA9ICRpbmRleCkge1xuICAgIEBpZiAobWVudS5pZCA9PT0gJ2RpdmlkZXInKSB7XG4gICAgICAgIDx0aHktZGl2aWRlciBbdGh5U3R5bGVdPVwiJ3NvbGlkJ1wiPjwvdGh5LWRpdmlkZXI+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxhIHRoeURyb3Bkb3duTWVudUl0ZW0gaHJlZj1cImphdmFzY3JpcHQ6O1wiIChjbGljayk9XCJleGVjdXRlKG1lbnUpXCI+XG4gICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cIm1lbnUuaWNvbiFcIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgPHNwYW4+e3sgbWVudS5uYW1lISB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIH1cbn1cbiJdfQ==
@@ -1,26 +1,25 @@
1
- import { NgForOf, NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input, computed, inject, input, signal } from '@angular/core';
1
+ import { NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input, booleanAttribute, computed, inject, model } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { ThyInput, ThyInputCount, ThyInputGroup, ThyInputDirective } from 'ngx-tethys/input';
5
5
  import { ThyConfirmValidatorDirective, ThyUniqueCheckValidator, ThyFormModule } from 'ngx-tethys/form';
6
6
  import { ThyDropdownDirective, ThyDropdownMenuComponent, ThyDropdownMenuItemDirective, ThyDropdownMenuItemNameDirective, ThyDropdownMenuItemIconDirective } from 'ngx-tethys/dropdown';
7
7
  import { ThyButton } from 'ngx-tethys/button';
8
- import { of } from 'rxjs';
9
- import { AITableFieldType, idCreator } from '../../core';
8
+ import { Actions, Fields, FieldsMap, createDefaultFieldName } from '../../core';
10
9
  import { ThyIcon } from 'ngx-tethys/icon';
11
- import { FieldTypes, FieldTypesMap } from '../../core/constants/field';
12
10
  import { ThyPopoverRef } from 'ngx-tethys/popover';
13
11
  import { ThyListItem } from 'ngx-tethys/list';
12
+ import { of } from 'rxjs';
13
+ import { ThyAutofocusDirective } from 'ngx-tethys/shared';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "@angular/forms";
16
16
  import * as i2 from "ngx-tethys/form";
17
- export class FieldPropertyEditorComponent {
17
+ export class AITableFieldPropertyEditor {
18
18
  constructor() {
19
- this.fields = input.required();
20
- this.confirmAction = null;
21
- this.field = signal({ id: idCreator(), type: AITableFieldType.Text, name: '' });
19
+ this.aiField = model.required();
20
+ this.aiExternalTemplate = null;
22
21
  this.fieldType = computed(() => {
23
- return FieldTypesMap[this.field().type];
22
+ return FieldsMap[this.aiField().type];
24
23
  });
25
24
  this.fieldMaxLength = 32;
26
25
  this.validatorConfig = {
@@ -31,30 +30,35 @@ export class FieldPropertyEditorComponent {
31
30
  }
32
31
  }
33
32
  };
34
- this.selectableFields = FieldTypes;
33
+ this.selectableFields = Fields;
35
34
  this.thyPopoverRef = inject((ThyPopoverRef));
36
35
  this.checkUniqueName = (fieldName) => {
37
36
  fieldName = fieldName?.trim();
38
- return of(!!this.fields()?.find((field) => field.name === fieldName));
37
+ return of(!!this.aiTable.fields()?.find((field) => field.name === fieldName && this.aiField()?.id !== field.id));
39
38
  };
40
39
  }
41
- ngOnInit() { }
42
40
  selectFieldType(fieldType) {
43
- this.field.update((item) => ({ ...item, type: fieldType }));
41
+ this.aiField.update((item) => ({ ...item, type: fieldType, name: createDefaultFieldName(this.aiTable, fieldType) }));
44
42
  }
45
- addField() {
46
- this.confirmAction(this.field());
43
+ editFieldProperty() {
44
+ if (this.isUpdate) {
45
+ const path = this.aiTable.fields().findIndex((item) => item.id === this.aiField().id);
46
+ Actions.setField(this.aiTable, this.aiField(), [path]);
47
+ }
48
+ else {
49
+ Actions.addField(this.aiTable, this.aiField(), [this.aiTable.fields().length]);
50
+ }
47
51
  this.thyPopoverRef.close();
48
52
  }
49
53
  cancel() {
50
54
  this.thyPopoverRef.close();
51
55
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FieldPropertyEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: FieldPropertyEditorComponent, isStandalone: true, selector: "field-property-editor", inputs: { fields: { classPropertyName: "fields", publicName: "fields", isSignal: true, isRequired: true, transformFunction: null }, confirmAction: { classPropertyName: "confirmAction", publicName: "confirmAction", isSignal: false, isRequired: true, transformFunction: null } }, 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\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"field().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 <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">\u53D6\u6D88</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"addField()\" thySize=\"sm\">\u786E\u5B9A</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n @for (item of selectableFields; track item.type) {\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"selectFieldType(item.type)\">\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: "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]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AITableFieldPropertyEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AITableFieldPropertyEditor, isStandalone: true, selector: "ai-table-field-property-editor", inputs: { aiField: { classPropertyName: "aiField", publicName: "aiField", 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: { aiField: "aiFieldChange" }, 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)]=\"aiField().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 item.type) {\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"selectFieldType(item.type)\">\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 }); }
54
58
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FieldPropertyEditorComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AITableFieldPropertyEditor, decorators: [{
56
60
  type: Component,
57
- args: [{ selector: 'field-property-editor', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
61
+ args: [{ selector: 'ai-table-field-property-editor', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
58
62
  NgIf,
59
63
  NgForOf,
60
64
  FormsModule,
@@ -72,12 +76,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
72
76
  ThyDropdownMenuItemIconDirective,
73
77
  ThyButton,
74
78
  ThyFormModule,
75
- ThyListItem
79
+ ThyListItem,
80
+ NgTemplateOutlet,
81
+ ThyAutofocusDirective
76
82
  ], host: {
77
83
  class: 'field-property-editor d-block pl-5 pr-5 pb-5 pt-4'
78
- }, 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\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"field().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 <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">\u53D6\u6D88</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"addField()\" thySize=\"sm\">\u786E\u5B9A</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n @for (item of selectableFields; track item.type) {\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"selectFieldType(item.type)\">\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"] }]
79
- }], ctorParameters: () => [], propDecorators: { confirmAction: [{
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)]=\"aiField().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 item.type) {\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"selectFieldType(item.type)\">\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
+ }], ctorParameters: () => [], propDecorators: { aiTable: [{
80
86
  type: Input,
81
87
  args: [{ required: true }]
88
+ }], aiExternalTemplate: [{
89
+ type: Input
90
+ }], isUpdate: [{
91
+ type: Input,
92
+ args: [{ transform: booleanAttribute }]
82
93
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtcHJvcGVydHktZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvbXBvbmVudHMvZmllbGQtcHJvcGVydHktZWRpdG9yL2ZpZWxkLXByb3BlcnR5LWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLXByb3BlcnR5LWVkaXRvci9maWVsZC1wcm9wZXJ0eS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBMEIsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsdUJBQXVCLEVBQTBCLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ILE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1QixnQ0FBZ0MsRUFDaEMsZ0NBQWdDLEVBQ25DLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFnQixnQkFBZ0IsRUFBaUIsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RG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QWdDO3dCQUNoQyxTQUFTO3dCQUNULGFBQWE7d0JBQ2IsV0FBVztxQkFDZCxRQUNLO3dCQUNGLEtBQUssRUFBRSxtREFBbUQ7cUJBQzdEO3dEQVkwQixhQUFhO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgV3JpdGFibGVTaWduYWwsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5SW5wdXQsIFRoeUlucHV0Q291bnQsIFRoeUlucHV0R3JvdXAsIFRoeUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9pbnB1dCc7XG5pbXBvcnQgeyBUaHlDb25maXJtVmFsaWRhdG9yRGlyZWN0aXZlLCBUaHlVbmlxdWVDaGVja1ZhbGlkYXRvciwgVGh5Rm9ybVZhbGlkYXRvckNvbmZpZywgVGh5Rm9ybU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZm9ybSc7XG5pbXBvcnQge1xuICAgIFRoeURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1OYW1lRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1JY29uRGlyZWN0aXZlXG59IGZyb20gJ25neC10ZXRoeXMvZHJvcGRvd24nO1xuaW1wb3J0IHsgVGh5QnV0dG9uIH0gZnJvbSAnbmd4LXRldGh5cy9idXR0b24nO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkVHlwZSwgQUlUYWJsZUZpZWxkcywgaWRDcmVhdG9yIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IEZpZWxkVHlwZXMsIEZpZWxkVHlwZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9maWVsZCc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFRoeUxpc3RJdGVtIH0gZnJvbSAnbmd4LXRldGh5cy9saXN0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmaWVsZC1wcm9wZXJ0eS1lZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1wcm9wZXJ0eS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgVGh5SWNvbixcbiAgICAgICAgVGh5SW5wdXQsXG4gICAgICAgIFRoeUlucHV0R3JvdXAsXG4gICAgICAgIFRoeUlucHV0Q291bnQsXG4gICAgICAgIFRoeUlucHV0RGlyZWN0aXZlLFxuICAgICAgICBUaHlDb25maXJtVmFsaWRhdG9yRGlyZWN0aXZlLFxuICAgICAgICBUaHlVbmlxdWVDaGVja1ZhbGlkYXRvcixcbiAgICAgICAgVGh5RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbU5hbWVEaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1JY29uRGlyZWN0aXZlLFxuICAgICAgICBUaHlCdXR0b24sXG4gICAgICAgIFRoeUZvcm1Nb2R1bGUsXG4gICAgICAgIFRoeUxpc3RJdGVtXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmllbGQtcHJvcGVydHktZWRpdG9yIGQtYmxvY2sgcGwtNSBwci01IHBiLTUgcHQtNCdcbiAgICB9LFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFByb3BlcnR5RWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBmaWVsZHMgPSBpbnB1dC5yZXF1aXJlZDxBSVRhYmxlRmllbGRzPigpO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlybUFjdGlvbjogKChmaWVsZDogQUlUYWJsZUZpZWxkKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xuXG4gICAgZmllbGQ6IFdyaXRhYmxlU2lnbmFsPEFJVGFibGVGaWVsZD4gPSBzaWduYWwoeyBpZDogaWRDcmVhdG9yKCksIHR5cGU6IEFJVGFibGVGaWVsZFR5cGUuVGV4dCwgbmFtZTogJycgfSk7XG5cbiAgICBmaWVsZFR5cGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBGaWVsZFR5cGVzTWFwW3RoaXMuZmllbGQoKS50eXBlXTtcbiAgICB9KTtcblxuICAgIGZpZWxkTWF4TGVuZ3RoID0gMzI7XG5cbiAgICB2YWxpZGF0b3JDb25maWc6IFRoeUZvcm1WYWxpZGF0b3JDb25maWcgPSB7XG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlczoge1xuICAgICAgICAgICAgZmllbGROYW1lOiB7XG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICfliJflkI3kuI3og73kuLrnqbonLFxuICAgICAgICAgICAgICAgIHRoeVVuaXF1ZUNoZWNrOiAn5YiX5ZCN5bey5a2Y5ZyoJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIHNlbGVjdGFibGVGaWVsZHMgPSBGaWVsZFR5cGVzO1xuXG4gICAgcHJvdGVjdGVkIHRoeVBvcG92ZXJSZWYgPSBpbmplY3QoVGh5UG9wb3ZlclJlZjxGaWVsZFByb3BlcnR5RWRpdG9yQ29tcG9uZW50Pik7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBjaGVja1VuaXF1ZU5hbWUgPSAoZmllbGROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgZmllbGROYW1lID0gZmllbGROYW1lPy50cmltKCk7XG4gICAgICAgIHJldHVybiBvZighIXRoaXMuZmllbGRzKCk/LmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSBmaWVsZE5hbWUpKTtcbiAgICB9O1xuXG4gICAgc2VsZWN0RmllbGRUeXBlKGZpZWxkVHlwZTogQUlUYWJsZUZpZWxkVHlwZSkge1xuICAgICAgICB0aGlzLmZpZWxkLnVwZGF0ZSgoaXRlbSkgPT4gKHsgLi4uaXRlbSwgdHlwZTogZmllbGRUeXBlIH0pKTtcbiAgICB9XG5cbiAgICBhZGRGaWVsZCgpIHtcbiAgICAgICAgdGhpcy5jb25maXJtQWN0aW9uISh0aGlzLmZpZWxkKCkpO1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBjYW5jZWwoKSB7XG4gICAgICAgIHRoaXMudGh5UG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxmb3JtIHRoeUZvcm0gbmFtZT1cImNyZWF0ZVByb3BlcnR5Rm9ybVwiIFt0aHlGb3JtVmFsaWRhdG9yQ29uZmlnXT1cInZhbGlkYXRvckNvbmZpZ1wiIHRoeUxheW91dD1cInZlcnRpY2FsXCI+XG4gICAgPHRoeS1mb3JtLWdyb3VwIHRoeUxhYmVsUmVxdWlyZWQgdGh5TGFiZWxUZXh0PVwi6KGo5qC85YiX5ZCNXCI+XG4gICAgICAgIDx0aHktaW5wdXQtZ3JvdXA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0aHlJbnB1dFxuICAgICAgICAgICAgICAgIHRoeUF1dG9mb2N1c1xuICAgICAgICAgICAgICAgIG5hbWU9XCJmaWVsZE5hbWVcIlxuICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiZmllbGRNYXhMZW5ndGhcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQoKS5uYW1lXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6L6T5YWl5YiX5ZCN56ewXCJcbiAgICAgICAgICAgICAgICBbdGh5VW5pcXVlQ2hlY2tdPVwiY2hlY2tVbmlxdWVOYW1lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3N1ZmZpeD5cbiAgICAgICAgICAgICAgICA8dGh5LWlucHV0LWNvdW50PjwvdGh5LWlucHV0LWNvdW50PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC90aHktaW5wdXQtZ3JvdXA+XG4gICAgPC90aHktZm9ybS1ncm91cD5cbiAgICA8dGh5LWZvcm0tZ3JvdXAgdGh5TGFiZWxUZXh0PVwi5YiX57G75Z6LXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC1uNSBtci1uNVwiPlxuICAgICAgICAgICAgPHRoeS1saXN0LWl0ZW0gW3RoeURyb3Bkb3duXT1cIm1lbnVcIiB0aHlUcmlnZ2VyPVwiaG92ZXJcIiB0aHlQbGFjZW1lbnQ9XCJyaWdodFwiIGNsYXNzPVwianVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJmaWVsZFR5cGUoKS5pY29uXCIgY2xhc3M9XCJ0ZXh0LWRlc2MgbXItMlwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGZpZWxkVHlwZSgpLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImFuZ2xlLXJpZ2h0XCIgY2xhc3M9XCJ0ZXh0LWRlc2NcIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgPC90aHktbGlzdC1pdGVtPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3RoeS1mb3JtLWdyb3VwPlxuICAgIDx0aHktZm9ybS1ncm91cC1mb290ZXIgdGh5QWxpZ249XCJyaWdodFwiPlxuICAgICAgICA8YnV0dG9uIHRoeUJ1dHRvbj1cImxpbmstc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgdGh5U2l6ZT1cInNtXCI+5Y+W5raIPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdGh5QnV0dG9uPVwicHJpbWFyeVwiICh0aHlGb3JtU3VibWl0KT1cImFkZEZpZWxkKClcIiB0aHlTaXplPVwic21cIj7noa7lrpo8L2J1dHRvbj5cbiAgICA8L3RoeS1mb3JtLWdyb3VwLWZvb3Rlcj5cbjwvZm9ybT5cblxuPHRoeS1kcm9wZG93bi1tZW51ICNtZW51PlxuICAgIEBmb3IgKGl0ZW0gb2Ygc2VsZWN0YWJsZUZpZWxkczsgdHJhY2sgaXRlbS50eXBlKSB7XG4gICAgICAgIDxhIHRoeURyb3Bkb3duTWVudUl0ZW0gaHJlZj1cImphdmFzY3JpcHQ6O1wiIChjbGljayk9XCJzZWxlY3RGaWVsZFR5cGUoaXRlbS50eXBlKVwiPlxuICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJpdGVtLmljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbU5hbWU+e3sgaXRlbS5uYW1lIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgfVxuPC90aHktZHJvcGRvd24tbWVudT5cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtcHJvcGVydHktZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvbXBvbmVudHMvZmllbGQtcHJvcGVydHktZWRpdG9yL2ZpZWxkLXByb3BlcnR5LWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLXByb3BlcnR5LWVkaXRvci9maWVsZC1wcm9wZXJ0eS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUEwQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvSCxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxFQUNuQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQTJDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pILE9BQU8sRUFB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QUVKLFdBQVcsdzZDQUNYLE9BQU8sc01BRVAsYUFBYSwrS0FDYixhQUFhLGtGQUNiLGlCQUFpQiwrSUFFakIsdUJBQXVCLHlGQUN2QixvQkFBb0IsbVJBQ3BCLHdCQUF3QiwwR0FDeEIsNEJBQTRCLHNHQUM1QixnQ0FBZ0Msc0VBRWhDLFNBQVMsbUxBQ1QsYUFBYSwrckJBQ2IsV0FBVywwRUFDWCxnQkFBZ0Isb0pBQ2hCLHFCQUFxQjs7MkZBYWhCLDBCQUEwQjtrQkF0Q3RDLFNBQVM7K0JBQ0ksZ0NBQWdDLGNBRTlCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCxJQUFJO3dCQUNKLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsNEJBQTRCO3dCQUM1Qix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLGdDQUFnQzt3QkFDaEMsZ0NBQWdDO3dCQUNoQyxTQUFTO3dCQUNULGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLHFCQUFxQjtxQkFDeEIsUUFDSzt3QkFDRixLQUFLLEVBQUUsbURBQW1EO3FCQUM3RDt3REFZMEIsT0FBTztzQkFBakMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWhCLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFa0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBib29sZWFuQXR0cmlidXRlLCBjb21wdXRlZCwgaW5qZWN0LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlJbnB1dCwgVGh5SW5wdXRDb3VudCwgVGh5SW5wdXRHcm91cCwgVGh5SW5wdXREaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcbmltcG9ydCB7IFRoeUNvbmZpcm1WYWxpZGF0b3JEaXJlY3RpdmUsIFRoeVVuaXF1ZUNoZWNrVmFsaWRhdG9yLCBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnLCBUaHlGb3JtTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9mb3JtJztcbmltcG9ydCB7XG4gICAgVGh5RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50LFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbU5hbWVEaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbUljb25EaXJlY3RpdmVcbn0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5pbXBvcnQgeyBUaHlCdXR0b24gfSBmcm9tICduZ3gtdGV0aHlzL2J1dHRvbic7XG5pbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIEFJVGFibGVGaWVsZFR5cGUsIEFjdGlvbnMsIEZpZWxkcywgRmllbGRzTWFwLCBjcmVhdGVEZWZhdWx0RmllbGROYW1lIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVGh5TGlzdEl0ZW0gfSBmcm9tICduZ3gtdGV0aHlzL2xpc3QnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRoeUF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1maWVsZC1wcm9wZXJ0eS1lZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1wcm9wZXJ0eS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgVGh5SWNvbixcbiAgICAgICAgVGh5SW5wdXQsXG4gICAgICAgIFRoeUlucHV0R3JvdXAsXG4gICAgICAgIFRoeUlucHV0Q291bnQsXG4gICAgICAgIFRoeUlucHV0RGlyZWN0aXZlLFxuICAgICAgICBUaHlDb25maXJtVmFsaWRhdG9yRGlyZWN0aXZlLFxuICAgICAgICBUaHlVbmlxdWVDaGVja1ZhbGlkYXRvcixcbiAgICAgICAgVGh5RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbU5hbWVEaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1JY29uRGlyZWN0aXZlLFxuICAgICAgICBUaHlCdXR0b24sXG4gICAgICAgIFRoeUZvcm1Nb2R1bGUsXG4gICAgICAgIFRoeUxpc3RJdGVtLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUaHlBdXRvZm9jdXNEaXJlY3RpdmVcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmaWVsZC1wcm9wZXJ0eS1lZGl0b3IgZC1ibG9jayBwbC01IHByLTUgcGItNSBwdC00J1xuICAgIH0sXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVGaWVsZFByb3BlcnR5RWRpdG9yIHtcbiAgICBhaUZpZWxkID0gbW9kZWwucmVxdWlyZWQ8QUlUYWJsZUZpZWxkPigpO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgYWlUYWJsZSE6IEFJVGFibGU7XG5cbiAgICBASW5wdXQoKSBhaUV4dGVybmFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1VwZGF0ZSE6IGJvb2xlYW47XG5cbiAgICBmaWVsZFR5cGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBGaWVsZHNNYXBbdGhpcy5haUZpZWxkKCkudHlwZV07XG4gICAgfSk7XG5cbiAgICBmaWVsZE1heExlbmd0aCA9IDMyO1xuXG4gICAgdmFsaWRhdG9yQ29uZmlnOiBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnID0ge1xuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IHtcbiAgICAgICAgICAgIGZpZWxkTmFtZToge1xuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAn5YiX5ZCN5LiN6IO95Li656m6JyxcbiAgICAgICAgICAgICAgICB0aHlVbmlxdWVDaGVjazogJ+WIl+WQjeW3suWtmOWcqCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBzZWxlY3RhYmxlRmllbGRzID0gRmllbGRzO1xuXG4gICAgcHJvdGVjdGVkIHRoeVBvcG92ZXJSZWYgPSBpbmplY3QoVGh5UG9wb3ZlclJlZjxBSVRhYmxlRmllbGRQcm9wZXJ0eUVkaXRvcj4pO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgY2hlY2tVbmlxdWVOYW1lID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGZpZWxkTmFtZSA9IGZpZWxkTmFtZT8udHJpbSgpO1xuICAgICAgICByZXR1cm4gb2YoISF0aGlzLmFpVGFibGUuZmllbGRzKCk/LmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSBmaWVsZE5hbWUgJiYgdGhpcy5haUZpZWxkKCk/LmlkICE9PSBmaWVsZC5pZCkpO1xuICAgIH07XG5cbiAgICBzZWxlY3RGaWVsZFR5cGUoZmllbGRUeXBlOiBBSVRhYmxlRmllbGRUeXBlKSB7XG4gICAgICAgIHRoaXMuYWlGaWVsZC51cGRhdGUoKGl0ZW0pID0+ICh7IC4uLml0ZW0sIHR5cGU6IGZpZWxkVHlwZSwgbmFtZTogY3JlYXRlRGVmYXVsdEZpZWxkTmFtZSh0aGlzLmFpVGFibGUsIGZpZWxkVHlwZSkgfSkpO1xuICAgIH1cblxuICAgIGVkaXRGaWVsZFByb3BlcnR5KCkge1xuICAgICAgICBpZiAodGhpcy5pc1VwZGF0ZSkge1xuICAgICAgICAgICAgY29uc3QgcGF0aCA9IHRoaXMuYWlUYWJsZS5maWVsZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHRoaXMuYWlGaWVsZCgpLmlkKTtcbiAgICAgICAgICAgIEFjdGlvbnMuc2V0RmllbGQodGhpcy5haVRhYmxlLCB0aGlzLmFpRmllbGQoKSwgW3BhdGhdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIEFjdGlvbnMuYWRkRmllbGQodGhpcy5haVRhYmxlLCB0aGlzLmFpRmllbGQoKSwgW3RoaXMuYWlUYWJsZS5maWVsZHMoKS5sZW5ndGhdKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRoeVBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBjYW5jZWwoKSB7XG4gICAgICAgIHRoaXMudGh5UG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxmb3JtIHRoeUZvcm0gbmFtZT1cImNyZWF0ZVByb3BlcnR5Rm9ybVwiIFt0aHlGb3JtVmFsaWRhdG9yQ29uZmlnXT1cInZhbGlkYXRvckNvbmZpZ1wiIHRoeUxheW91dD1cInZlcnRpY2FsXCI+XG4gICAgPHRoeS1mb3JtLWdyb3VwIHRoeUxhYmVsUmVxdWlyZWQgdGh5TGFiZWxUZXh0PVwi6KGo5qC85YiX5ZCNXCI+XG4gICAgICAgIDx0aHktaW5wdXQtZ3JvdXA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0aHlJbnB1dFxuICAgICAgICAgICAgICAgIFt0aHlBdXRvZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImZpZWxkTmFtZVwiXG4gICAgICAgICAgICAgICAgW21heGxlbmd0aF09XCJmaWVsZE1heExlbmd0aFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhaUZpZWxkKCkubmFtZVwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIui+k+WFpeWIl+WQjeensFwiXG4gICAgICAgICAgICAgICAgW3RoeVVuaXF1ZUNoZWNrXT1cImNoZWNrVW5pcXVlTmFtZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdWZmaXg+XG4gICAgICAgICAgICAgICAgPHRoeS1pbnB1dC1jb3VudD48L3RoeS1pbnB1dC1jb3VudD5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGh5LWlucHV0LWdyb3VwPlxuICAgIDwvdGh5LWZvcm0tZ3JvdXA+XG4gICAgPHRoeS1mb3JtLWdyb3VwIHRoeUxhYmVsVGV4dD1cIuWIl+exu+Wei1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWwtbjUgbXItbjVcIj5cbiAgICAgICAgICAgIDx0aHktbGlzdC1pdGVtIFt0aHlEcm9wZG93bl09XCJtZW51XCIgdGh5VHJpZ2dlcj1cImhvdmVyXCIgdGh5UGxhY2VtZW50PVwicmlnaHRcIiBjbGFzcz1cImp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiZmllbGRUeXBlKCkuaWNvblwiIGNsYXNzPVwidGV4dC1kZXNjIG1yLTJcIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBmaWVsZFR5cGUoKS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1yaWdodFwiIGNsYXNzPVwidGV4dC1kZXNjXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgIDwvdGh5LWxpc3QtaXRlbT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC90aHktZm9ybS1ncm91cD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWlFeHRlcm5hbFRlbXBsYXRlOyBlbHNlIGRlZmF1bHRUZW1wbGF0ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWlFeHRlcm5hbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XG4gICAgICAgIDwhLS0gVE9ETzog5YaF6YOo5bGe5oCn5riy5p+TIC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPHRoeS1mb3JtLWdyb3VwLWZvb3RlciB0aHlBbGlnbj1cInJpZ2h0XCI+XG4gICAgICAgIDxidXR0b24gdGh5QnV0dG9uPVwibGluay1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2FuY2VsKClcIiB0aHlTaXplPVwic21cIj7lj5bmtog8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0aHlCdXR0b249XCJwcmltYXJ5XCIgKHRoeUZvcm1TdWJtaXQpPVwiZWRpdEZpZWxkUHJvcGVydHkoKVwiIHRoeVNpemU9XCJzbVwiPuehruWumjwvYnV0dG9uPlxuICAgIDwvdGh5LWZvcm0tZ3JvdXAtZm9vdGVyPlxuPC9mb3JtPlxuXG48dGh5LWRyb3Bkb3duLW1lbnUgI21lbnU+XG4gICAgQGZvciAoaXRlbSBvZiBzZWxlY3RhYmxlRmllbGRzOyB0cmFjayBpdGVtLnR5cGUpIHtcbiAgICAgICAgPGEgdGh5RHJvcGRvd25NZW51SXRlbSBocmVmPVwiamF2YXNjcmlwdDo7XCIgKGNsaWNrKT1cInNlbGVjdEZpZWxkVHlwZShpdGVtLnR5cGUpXCI+XG4gICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cIml0ZW0uaWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICA8c3BhbiB0aHlEcm9wZG93bk1lbnVJdGVtTmFtZT57eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICB9XG48L3RoeS1kcm9wZG93bi1tZW51PlxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './field-property-editor/field-property-editor.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseURBQXlELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpZWxkLXByb3BlcnR5LWVkaXRvci9maWVsZC1wcm9wZXJ0eS1lZGl0b3IuY29tcG9uZW50JyJdfQ==
@@ -1,16 +1,16 @@
1
1
  import { AITableFieldType } from '../core';
2
- import { SingleSelectCellEditorComponent } from '../components/cell-editors/single-select/single-select-editor.component';
3
2
  import { TextCellEditorComponent } from '../components/cell-editors/text/text-editor.component';
4
3
  import { NumberCellEditorComponent } from '../components/cell-editors/number/number-editor.component';
5
4
  import { DateTimeCellEditorComponent } from '../components/cell-editors/date-time/date-time-editor.component';
6
5
  import { RatingCellEditorComponent } from '../components/cell-editors/rating/rating-editor.component';
7
6
  import { LinkCellEditorComponent } from '../components/cell-editors/link/number-editor.component';
7
+ import { SelectCellEditorComponent } from '../components/cell-editors/select/select-editor.component';
8
8
  export const GRID_CELL_EDITOR_MAP = {
9
- [AITableFieldType.Text]: TextCellEditorComponent,
10
- [AITableFieldType.SingleSelect]: SingleSelectCellEditorComponent,
11
- [AITableFieldType.Number]: NumberCellEditorComponent,
12
- [AITableFieldType.DateTime]: DateTimeCellEditorComponent,
13
- [AITableFieldType.Rating]: RatingCellEditorComponent,
14
- [AITableFieldType.Link]: LinkCellEditorComponent
9
+ [AITableFieldType.text]: TextCellEditorComponent,
10
+ [AITableFieldType.select]: SelectCellEditorComponent,
11
+ [AITableFieldType.number]: NumberCellEditorComponent,
12
+ [AITableFieldType.date]: DateTimeCellEditorComponent,
13
+ [AITableFieldType.rate]: RatingCellEditorComponent,
14
+ [AITableFieldType.link]: LinkCellEditorComponent
15
15
  };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvY29uc3RhbnRzL2VkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDM0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDMUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDdEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDOUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFFbEcsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWtDO0lBQy9ELENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsdUJBQXVCO0lBQ2hELENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLEVBQUUsK0JBQStCO0lBQ2hFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUseUJBQXlCO0lBQ3BELENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsMkJBQTJCO0lBQ3hELENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUseUJBQXlCO0lBQ3BELENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsdUJBQXVCO0NBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGRUeXBlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBTaW5nbGVTZWxlY3RDZWxsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jZWxsLWVkaXRvcnMvc2luZ2xlLXNlbGVjdC9zaW5nbGUtc2VsZWN0LWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENlbGxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy90ZXh0L3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOdW1iZXJDZWxsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jZWxsLWVkaXRvcnMvbnVtYmVyL251bWJlci1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVUaW1lQ2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY2VsbC1lZGl0b3JzL2RhdGUtdGltZS9kYXRlLXRpbWUtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSYXRpbmdDZWxsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jZWxsLWVkaXRvcnMvcmF0aW5nL3JhdGluZy1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmtDZWxsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jZWxsLWVkaXRvcnMvbGluay9udW1iZXItZWRpdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBHUklEX0NFTExfRURJVE9SX01BUDogUmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIGFueT4gPSB7XG4gICAgW0FJVGFibGVGaWVsZFR5cGUuVGV4dF06IFRleHRDZWxsRWRpdG9yQ29tcG9uZW50LFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLlNpbmdsZVNlbGVjdF06IFNpbmdsZVNlbGVjdENlbGxFZGl0b3JDb21wb25lbnQsXG4gICAgW0FJVGFibGVGaWVsZFR5cGUuTnVtYmVyXTogTnVtYmVyQ2VsbEVkaXRvckNvbXBvbmVudCxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5EYXRlVGltZV06IERhdGVUaW1lQ2VsbEVkaXRvckNvbXBvbmVudCxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5SYXRpbmddOiBSYXRpbmdDZWxsRWRpdG9yQ29tcG9uZW50LFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLkxpbmtdOiBMaW5rQ2VsbEVkaXRvckNvbXBvbmVudFxufTtcbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvY29uc3RhbnRzL2VkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDdEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDOUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFdEcsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQTJDO0lBQ3hFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsdUJBQXVCO0lBQ2hELENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUseUJBQXlCO0lBQ3BELENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUseUJBQXlCO0lBQ3BELENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsMkJBQTJCO0lBQ3BELENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUseUJBQXlCO0lBQ2xELENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsdUJBQXVCO0NBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGRUeXBlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBUZXh0Q2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY2VsbC1lZGl0b3JzL3RleHQvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IE51bWJlckNlbGxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9udW1iZXIvbnVtYmVyLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVRpbWVDZWxsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jZWxsLWVkaXRvcnMvZGF0ZS10aW1lL2RhdGUtdGltZS1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFJhdGluZ0NlbGxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9yYXRpbmcvcmF0aW5nLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlua0NlbGxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9saW5rL251bWJlci1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdENlbGxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9zZWxlY3Qvc2VsZWN0LWVkaXRvci5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgR1JJRF9DRUxMX0VESVRPUl9NQVA6IFBhcnRpYWw8UmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIGFueT4+ID0ge1xuICAgIFtBSVRhYmxlRmllbGRUeXBlLnRleHRdOiBUZXh0Q2VsbEVkaXRvckNvbXBvbmVudCxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5zZWxlY3RdOiBTZWxlY3RDZWxsRWRpdG9yQ29tcG9uZW50LFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLm51bWJlcl06IE51bWJlckNlbGxFZGl0b3JDb21wb25lbnQsXG4gICAgW0FJVGFibGVGaWVsZFR5cGUuZGF0ZV06IERhdGVUaW1lQ2VsbEVkaXRvckNvbXBvbmVudCxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5yYXRlXTogUmF0aW5nQ2VsbEVkaXRvckNvbXBvbmVudCxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5saW5rXTogTGlua0NlbGxFZGl0b3JDb21wb25lbnRcbn07XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Actions, AITableQueries } from '../core';
2
+ import { AI_TABLE_GRID_FIELD_SERVICE_MAP } from '../services/field.service';
3
+ import { signal } from '@angular/core';
4
+ export const DividerMenuItem = {
5
+ id: 'divider'
6
+ };
7
+ export const EditFieldPropertyItem = {
8
+ id: 'editFieldProperty',
9
+ name: '编辑列',
10
+ icon: 'edit',
11
+ exec: (aiTable, field, origin) => {
12
+ const fieldService = AI_TABLE_GRID_FIELD_SERVICE_MAP.get(aiTable);
13
+ const copyField = signal(JSON.parse(JSON.stringify(field())));
14
+ origin && fieldService?.editFieldProperty(origin, aiTable, copyField, true);
15
+ }
16
+ };
17
+ export const RemoveFieldItem = {
18
+ id: 'removeField',
19
+ name: '删除列',
20
+ icon: 'trash',
21
+ exec: (aiTable, field) => {
22
+ const path = AITableQueries.findPath(aiTable, field());
23
+ Actions.removeField(aiTable, path);
24
+ }
25
+ };
26
+ export const DefaultFieldMenus = [EditFieldPropertyItem, RemoveFieldItem];
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb25zdGFudHMvZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBc0MsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVFLE9BQU8sRUFBYyxNQUFNLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBRzNFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixFQUFFLEVBQUUsU0FBUztDQUNoQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakMsRUFBRSxFQUFFLG1CQUFtQjtJQUN2QixJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLENBQUMsT0FBZ0IsRUFBRSxLQUEyQixFQUFFLE1BQXNDLEVBQUUsRUFBRTtRQUM1RixNQUFNLFlBQVksR0FBRywrQkFBK0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsTUFBTSxTQUFTLEdBQWlDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUYsTUFBTSxJQUFJLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRixDQUFDO0NBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixFQUFFLEVBQUUsYUFBYTtJQUNqQixJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLENBQUMsT0FBZ0IsRUFBRSxLQUEyQixFQUFFLEVBQUU7UUFDcEQsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQWdCLENBQUM7UUFDdEUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBMkIsQ0FBQyxxQkFBcUIsRUFBRSxlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbnMsIEFJRmllbGRQYXRoLCBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBBSV9UQUJMRV9HUklEX0ZJRUxEX1NFUlZJQ0VfTUFQIH0gZnJvbSAnLi4vc2VydmljZXMvZmllbGQuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBzaWduYWwsIFNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZE1lbnVJdGVtIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgRGl2aWRlck1lbnVJdGVtID0ge1xuICAgIGlkOiAnZGl2aWRlcidcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0RmllbGRQcm9wZXJ0eUl0ZW0gPSB7XG4gICAgaWQ6ICdlZGl0RmllbGRQcm9wZXJ0eScsXG4gICAgbmFtZTogJ+e8lui+keWIlycsXG4gICAgaWNvbjogJ2VkaXQnLFxuICAgIGV4ZWM6IChhaVRhYmxlOiBBSVRhYmxlLCBmaWVsZDogU2lnbmFsPEFJVGFibGVGaWVsZD4sIG9yaWdpbj86IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxhbnk+KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkU2VydmljZSA9IEFJX1RBQkxFX0dSSURfRklFTERfU0VSVklDRV9NQVAuZ2V0KGFpVGFibGUpO1xuICAgICAgICBjb25zdCBjb3B5RmllbGQ6IFdyaXRhYmxlU2lnbmFsPEFJVGFibGVGaWVsZD4gPSBzaWduYWwoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShmaWVsZCgpKSkpO1xuICAgICAgICBvcmlnaW4gJiYgZmllbGRTZXJ2aWNlPy5lZGl0RmllbGRQcm9wZXJ0eShvcmlnaW4sIGFpVGFibGUsIGNvcHlGaWVsZCwgdHJ1ZSk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFJlbW92ZUZpZWxkSXRlbSA9IHtcbiAgICBpZDogJ3JlbW92ZUZpZWxkJyxcbiAgICBuYW1lOiAn5Yig6Zmk5YiXJyxcbiAgICBpY29uOiAndHJhc2gnLFxuICAgIGV4ZWM6IChhaVRhYmxlOiBBSVRhYmxlLCBmaWVsZDogU2lnbmFsPEFJVGFibGVGaWVsZD4pID0+IHtcbiAgICAgICAgY29uc3QgcGF0aCA9IEFJVGFibGVRdWVyaWVzLmZpbmRQYXRoKGFpVGFibGUsIGZpZWxkKCkpIGFzIEFJRmllbGRQYXRoO1xuICAgICAgICBBY3Rpb25zLnJlbW92ZUZpZWxkKGFpVGFibGUsIHBhdGgpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RmllbGRNZW51czogQUlUYWJsZUZpZWxkTWVudUl0ZW1bXSA9IFtFZGl0RmllbGRQcm9wZXJ0eUl0ZW0sIFJlbW92ZUZpZWxkSXRlbV07XG4iXX0=
@@ -2,10 +2,10 @@ import { AITableFieldType } from '../core';
2
2
  export const DEFAULT_COLUMN_WIDTH = 200;
3
3
  export const MIN_COLUMN_WIDTH = 80;
4
4
  export const DBL_CLICK_EDIT_TYPE = [
5
- AITableFieldType.Text,
6
- AITableFieldType.Number,
7
- AITableFieldType.SingleSelect,
8
- AITableFieldType.DateTime
5
+ AITableFieldType.text,
6
+ AITableFieldType.number,
7
+ AITableFieldType.select,
8
+ AITableFieldType.date
9
9
  ];
10
10
  export const RowHeight = {
11
11
  Short: 32,
@@ -13,4 +13,4 @@ export const RowHeight = {
13
13
  Tall: 104,
14
14
  ExtraTall: 152
15
15
  };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvbnN0YW50cy9ncmlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0FBRW5DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQy9CLGdCQUFnQixDQUFDLElBQUk7SUFDckIsZ0JBQWdCLENBQUMsTUFBTTtJQUN2QixnQkFBZ0IsQ0FBQyxZQUFZO0lBQzdCLGdCQUFnQixDQUFDLFFBQVE7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixLQUFLLEVBQUUsRUFBRTtJQUNULE1BQU0sRUFBRSxFQUFFO0lBQ1YsSUFBSSxFQUFFLEdBQUc7SUFDVCxTQUFTLEVBQUUsR0FBRztDQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZUZpZWxkVHlwZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT0xVTU5fV0lEVEggPSAyMDA7XG5cbmV4cG9ydCBjb25zdCBNSU5fQ09MVU1OX1dJRFRIID0gODA7XG5cbmV4cG9ydCBjb25zdCBEQkxfQ0xJQ0tfRURJVF9UWVBFID0gW1xuICAgIEFJVGFibGVGaWVsZFR5cGUuVGV4dCxcbiAgICBBSVRhYmxlRmllbGRUeXBlLk51bWJlcixcbiAgICBBSVRhYmxlRmllbGRUeXBlLlNpbmdsZVNlbGVjdCxcbiAgICBBSVRhYmxlRmllbGRUeXBlLkRhdGVUaW1lXG5dO1xuXG5leHBvcnQgY29uc3QgUm93SGVpZ2h0ID0ge1xuICAgIFNob3J0OiAzMixcbiAgICBNZWRpdW06IDU3LFxuICAgIFRhbGw6IDEwNCxcbiAgICBFeHRyYVRhbGw6IDE1MlxufTtcbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvbnN0YW50cy9ncmlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVwRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0FBRW5DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQy9CLGdCQUFnQixDQUFDLElBQUk7SUFDckIsZ0JBQWdCLENBQUMsTUFBTTtJQUN2QixnQkFBZ0IsQ0FBQyxNQUFNO0lBQ3ZCLGdCQUFnQixDQUFDLElBQUk7Q0FDeEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixLQUFLLEVBQUUsRUFBRTtJQUNULE1BQU0sRUFBRSxFQUFFO0lBQ1YsSUFBSSxFQUFFLEdBQUc7SUFDVCxTQUFTLEVBQUUsR0FBRztDQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUZpZWxkVHlwZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT0xVTU5fV0lEVEggPSAyMDA7XG5cbmV4cG9ydCBjb25zdCBNSU5fQ09MVU1OX1dJRFRIID0gODA7XG5cbmV4cG9ydCBjb25zdCBEQkxfQ0xJQ0tfRURJVF9UWVBFID0gW1xuICAgIEFJVGFibGVGaWVsZFR5cGUudGV4dCxcbiAgICBBSVRhYmxlRmllbGRUeXBlLm51bWJlcixcbiAgICBBSVRhYmxlRmllbGRUeXBlLnNlbGVjdCxcbiAgICBBSVRhYmxlRmllbGRUeXBlLmRhdGVcbl07XG5cbmV4cG9ydCBjb25zdCBSb3dIZWlnaHQgPSB7XG4gICAgU2hvcnQ6IDMyLFxuICAgIE1lZGl1bTogNTcsXG4gICAgVGFsbDogMTA0LFxuICAgIEV4dHJhVGFsbDogMTUyXG59O1xuIl19
@@ -1,2 +1,3 @@
1
1
  export * from './grid';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dyaWQnO1xuIl19
2
+ export * from './field';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dyaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZCc7Il19
@@ -1,4 +1,5 @@
1
1
  import { ActionName } from '../types';
2
+ import { AITableQueries } from '../utils';
2
3
  export function addField(aiTable, field, path) {
3
4
  const operation = {
4
5
  type: ActionName.AddField,
@@ -7,7 +8,47 @@ export function addField(aiTable, field, path) {
7
8
  };
8
9
  aiTable.apply(operation);
9
10
  }
11
+ export function moveField(aiTable, path, newPath) {
12
+ const operation = {
13
+ type: ActionName.MoveField,
14
+ path,
15
+ newPath
16
+ };
17
+ aiTable.apply(operation);
18
+ }
19
+ export function removeField(aiTable, path) {
20
+ const operation = {
21
+ type: ActionName.RemoveField,
22
+ path
23
+ };
24
+ aiTable.apply(operation);
25
+ }
26
+ export function setField(aiTable, value, path) {
27
+ const field = AITableQueries.getField(aiTable, path);
28
+ if (field) {
29
+ const oldField = {};
30
+ const newField = {};
31
+ for (const k in value) {
32
+ if (field[k] !== value[k]) {
33
+ if (field.hasOwnProperty(k)) {
34
+ oldField[k] = field[k];
35
+ }
36
+ newField[k] = value[k];
37
+ }
38
+ }
39
+ const operation = {
40
+ type: ActionName.SetField,
41
+ field: oldField,
42
+ newField,
43
+ path
44
+ };
45
+ aiTable.apply(operation);
46
+ }
47
+ }
10
48
  export const FieldActions = {
11
- addField
49
+ addField,
50
+ moveField,
51
+ removeField,
52
+ setField
12
53
  };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb3JlL2FjdGlvbi9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFvRCxNQUFNLFVBQVUsQ0FBQztBQUV4RixNQUFNLFVBQVUsUUFBUSxDQUFDLE9BQWdCLEVBQUUsS0FBbUIsRUFBRSxJQUFpQjtJQUM3RSxNQUFNLFNBQVMsR0FBbUI7UUFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1FBQ3pCLEtBQUs7UUFDTCxJQUFJO0tBQ1AsQ0FBQztJQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUN4QixRQUFRO0NBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbk5hbWUsIEFkZEZpZWxkQWN0aW9uLCBGaWVsZFBhdGgsIEFJVGFibGUsIEFJVGFibGVGaWVsZCB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZEZpZWxkKGFpVGFibGU6IEFJVGFibGUsIGZpZWxkOiBBSVRhYmxlRmllbGQsIHBhdGg6IFtGaWVsZFBhdGhdKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBBZGRGaWVsZEFjdGlvbiA9IHtcbiAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5BZGRGaWVsZCxcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHBhdGhcbiAgICB9O1xuICAgIGFpVGFibGUuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGNvbnN0IEZpZWxkQWN0aW9ucyA9IHtcbiAgICBhZGRGaWVsZFxufTtcbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb3JlL2FjdGlvbi9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQVFiLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFMUMsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUFnQixFQUFFLEtBQW1CLEVBQUUsSUFBaUI7SUFDN0UsTUFBTSxTQUFTLEdBQW1CO1FBQzlCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUTtRQUN6QixLQUFLO1FBQ0wsSUFBSTtLQUNQLENBQUM7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQWdCLEVBQUUsSUFBaUIsRUFBRSxPQUFvQjtJQUMvRSxNQUFNLFNBQVMsR0FBb0I7UUFDL0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTO1FBQzFCLElBQUk7UUFDSixPQUFPO0tBQ1YsQ0FBQztJQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBZ0IsRUFBRSxJQUFpQjtJQUMzRCxNQUFNLFNBQVMsR0FBc0I7UUFDakMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxXQUFXO1FBQzVCLElBQUk7S0FDUCxDQUFDO0lBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUFnQixFQUFFLEtBQTRCLEVBQUUsSUFBaUI7SUFDdEYsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sUUFBUSxHQUEwQixFQUFFLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQTBCLEVBQUUsQ0FBQztRQUMzQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3BCLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN4QixJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDMUIsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDTCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQW1CO1lBQzlCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUTtZQUN6QixLQUFLLEVBQUUsUUFBUTtZQUNmLFFBQVE7WUFDUixJQUFJO1NBQ1AsQ0FBQztRQUVGLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0IsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDeEIsUUFBUTtJQUNSLFNBQVM7SUFDVCxXQUFXO0lBQ1gsUUFBUTtDQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFjdGlvbk5hbWUsXG4gICAgQWRkRmllbGRBY3Rpb24sXG4gICAgQUlGaWVsZFBhdGgsXG4gICAgQUlUYWJsZSxcbiAgICBBSVRhYmxlRmllbGQsXG4gICAgTW92ZUZpZWxkQWN0aW9uLFxuICAgIFJlbW92ZUZpZWxkQWN0aW9uLFxuICAgIFNldEZpZWxkQWN0aW9uXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkRmllbGQoYWlUYWJsZTogQUlUYWJsZSwgZmllbGQ6IEFJVGFibGVGaWVsZCwgcGF0aDogQUlGaWVsZFBhdGgpIHtcbiAgICBjb25zdCBvcGVyYXRpb246IEFkZEZpZWxkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZEZpZWxkLFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgcGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW92ZUZpZWxkKGFpVGFibGU6IEFJVGFibGUsIHBhdGg6IEFJRmllbGRQYXRoLCBuZXdQYXRoOiBBSUZpZWxkUGF0aCkge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogTW92ZUZpZWxkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLk1vdmVGaWVsZCxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgbmV3UGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRmllbGQoYWlUYWJsZTogQUlUYWJsZSwgcGF0aDogQUlGaWVsZFBhdGgpIHtcbiAgICBjb25zdCBvcGVyYXRpb246IFJlbW92ZUZpZWxkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkLFxuICAgICAgICBwYXRoXG4gICAgfTtcbiAgICBhaVRhYmxlLmFwcGx5KG9wZXJhdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRGaWVsZChhaVRhYmxlOiBBSVRhYmxlLCB2YWx1ZTogUGFydGlhbDxBSVRhYmxlRmllbGQ+LCBwYXRoOiBBSUZpZWxkUGF0aCkge1xuICAgIGNvbnN0IGZpZWxkID0gQUlUYWJsZVF1ZXJpZXMuZ2V0RmllbGQoYWlUYWJsZSwgcGF0aCk7XG4gICAgaWYgKGZpZWxkKSB7XG4gICAgICAgIGNvbnN0IG9sZEZpZWxkOiBQYXJ0aWFsPEFJVGFibGVGaWVsZD4gPSB7fTtcbiAgICAgICAgY29uc3QgbmV3RmllbGQ6IFBhcnRpYWw8QUlUYWJsZUZpZWxkPiA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGsgaW4gdmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZFtrXSAhPT0gdmFsdWVba10pIHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQuaGFzT3duUHJvcGVydHkoaykpIHtcbiAgICAgICAgICAgICAgICAgICAgb2xkRmllbGRba10gPSBmaWVsZFtrXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3RmllbGRba10gPSB2YWx1ZVtrXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wZXJhdGlvbjogU2V0RmllbGRBY3Rpb24gPSB7XG4gICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlNldEZpZWxkLFxuICAgICAgICAgICAgZmllbGQ6IG9sZEZpZWxkLFxuICAgICAgICAgICAgbmV3RmllbGQsXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH07XG5cbiAgICAgICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEZpZWxkQWN0aW9ucyA9IHtcbiAgICBhZGRGaWVsZCxcbiAgICBtb3ZlRmllbGQsXG4gICAgcmVtb3ZlRmllbGQsXG4gICAgc2V0RmllbGRcbn07XG4iXX0=