@ai-table/grid 0.0.31 → 0.0.33
Sign up to get free protection for your applications and to get access to all the features.
- package/components/{field-property-editor/field-property-editor.component.d.ts → field-setting/field-setting.component.d.ts} +4 -4
- package/components/field-setting/field-setting.component.d.ts.map +1 -0
- package/components/{field-property-editor/field-property-editor.component.scss → field-setting/field-setting.component.scss} +1 -1
- package/components/index.d.ts +1 -1
- package/components/index.d.ts.map +1 -1
- package/core/context.d.ts +4 -2
- package/core/context.d.ts.map +1 -1
- package/core/coordinate.d.ts +3 -3
- package/core/coordinate.d.ts.map +1 -1
- package/core/types/ai-table.d.ts +2 -2
- package/core/types/ai-table.d.ts.map +1 -1
- package/core/utils/common.d.ts.map +1 -1
- package/esm2022/components/field-setting/field-setting.component.mjs +102 -0
- package/esm2022/components/index.mjs +2 -2
- package/esm2022/core/context.mjs +5 -3
- package/esm2022/core/coordinate.mjs +9 -9
- package/esm2022/core/types/ai-table.mjs +10 -3
- package/esm2022/core/utils/common.mjs +2 -3
- package/esm2022/dom-grid.component.mjs +3 -3
- package/esm2022/grid-base.component.mjs +2 -3
- package/esm2022/grid.component.mjs +10 -8
- package/esm2022/renderer/creations/create-active-cell-border.mjs +2 -2
- package/esm2022/renderer/drawers/cell-drawer.mjs +7 -8
- package/esm2022/renderer/drawers/drawer.mjs +5 -3
- package/esm2022/services/event.service.mjs +6 -3
- package/esm2022/services/field.service.mjs +4 -4
- package/esm2022/types/grid.mjs +1 -1
- package/esm2022/utils/cell.mjs +5 -5
- package/fesm2022/ai-table-grid.mjs +64 -55
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid-base.component.d.ts.map +1 -1
- package/grid.component.d.ts +2 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/renderer/drawers/cell-drawer.d.ts.map +1 -1
- package/renderer/drawers/drawer.d.ts.map +1 -1
- package/services/event.service.d.ts.map +1 -1
- package/styles/styles.scss +1 -0
- package/types/grid.d.ts +6 -4
- package/types/grid.d.ts.map +1 -1
- package/utils/cell.d.ts +1 -1
- package/utils/cell.d.ts.map +1 -1
- package/components/field-property-editor/field-property-editor.component.d.ts.map +0 -1
- package/esm2022/components/field-property-editor/field-property-editor.component.mjs +0 -106
@@ -3,7 +3,7 @@ import { ThyFormValidatorConfig } from 'ngx-tethys/form';
|
|
3
3
|
import { ThyPopoverRef } from 'ngx-tethys/popover';
|
4
4
|
import { AITable, AITableField, AITableFieldOption, SetFieldOptions } from '../../core';
|
5
5
|
import * as i0 from "@angular/core";
|
6
|
-
export declare class
|
6
|
+
export declare class AITableFieldSetting {
|
7
7
|
aiEditField: import("@angular/core").ModelSignal<AITableField>;
|
8
8
|
aiTable: AITable;
|
9
9
|
aiExternalTemplate: TemplateRef<any> | null;
|
@@ -19,8 +19,8 @@ export declare class AITableFieldPropertyEditor {
|
|
19
19
|
selectFieldType(field: AITableFieldOption): void;
|
20
20
|
editFieldProperty(): void;
|
21
21
|
cancel(): void;
|
22
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
23
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AITableFieldSetting, never>;
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AITableFieldSetting, "ai-table-field-setting", never, { "aiEditField": { "alias": "aiEditField"; "required": true; "isSignal": true; }; "aiTable": { "alias": "aiTable"; "required": true; }; "aiExternalTemplate": { "alias": "aiExternalTemplate"; "required": false; }; "isUpdate": { "alias": "isUpdate"; "required": false; }; }, { "aiEditField": "aiEditFieldChange"; "addField": "addField"; "setField": "setField"; }, never, never, true, never>;
|
24
24
|
static ngAcceptInputType_isUpdate: unknown;
|
25
25
|
}
|
26
|
-
//# sourceMappingURL=field-
|
26
|
+
//# sourceMappingURL=field-setting.component.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"field-setting.component.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/components/field-setting/field-setting.component.ts"],"names":[],"mappings":"AACA,OAAO,EAA6C,WAAW,EAAqD,MAAM,eAAe,CAAC;AAS1I,OAAO,EAAiB,sBAAsB,EAA2B,MAAM,iBAAiB,CAAC;AAIjG,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EACH,OAAO,EACP,YAAY,EACZ,kBAAkB,EAIlB,eAAe,EAClB,MAAM,YAAY,CAAC;;AAGpB,qBAoCa,mBAAmB;IAC5B,WAAW,oDAAkC;IAElB,OAAO,EAAG,OAAO,CAAC;IAEpC,kBAAkB,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAEpB,QAAQ,EAAG,OAAO,CAAC;IAE3D,QAAQ,yDAA0B;IAElC,QAAQ,qEAA6B;IAErC,mBAAmB,qDAEhB;IAEH,cAAc,SAAM;IAEpB,eAAe,EAAE,sBAAsB,CAOrC;IAEF,YAAY,uBAAgB;IAE5B,SAAS,CAAC,aAAa,+BAA8C;IAErE,eAAe,cAAe,MAAM,wCAGlC;IAEF,eAAe,CAAC,KAAK,EAAE,kBAAkB;IASzC,iBAAiB;IAYjB,MAAM;yCA1DG,mBAAmB;2CAAnB,mBAAmB;uCA8D0ulC,OAAQ;CADjxlC"}
|
package/components/index.d.ts
CHANGED
@@ -7,6 +7,6 @@ export * from './cell-editors/rating/rating-editor.component';
|
|
7
7
|
export * from './cell-editors/select/select-editor.component';
|
8
8
|
export * from './cell-editors/text/text-editor.component';
|
9
9
|
export * from './cell-views/select/option.component';
|
10
|
-
export * from './field-
|
10
|
+
export * from './field-setting/field-setting.component';
|
11
11
|
export * from './context-menu/context-menu.component';
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/grid/src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/grid/src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC"}
|
package/core/context.d.ts
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
import { Signal, WritableSignal } from '@angular/core';
|
2
|
-
import { AITableContext, AITableLinearRow, AITablePointPosition, AITableScrollState, ScrollActionOptions } from '../types';
|
2
|
+
import { AITableContext, AITableLinearRow, AITablePointPosition, AITableReferences, AITableScrollState, ScrollActionOptions } from '../types';
|
3
3
|
export declare class RendererContext {
|
4
4
|
linearRows: Signal<AITableLinearRow[]>;
|
5
5
|
pointPosition: WritableSignal<AITablePointPosition>;
|
6
6
|
scrollState: WritableSignal<AITableScrollState>;
|
7
|
-
|
7
|
+
visibleColumnsIndexMap: Signal<Map<string, number>>;
|
8
8
|
visibleRowsIndexMap: Signal<Map<string, number>>;
|
9
|
+
frozenColumnCount: Signal<number>;
|
10
|
+
references: Signal<AITableReferences>;
|
9
11
|
scrollAction: (options: ScrollActionOptions) => void;
|
10
12
|
constructor(options: AITableContext);
|
11
13
|
setPointPosition(position: Partial<AITablePointPosition>): void;
|
package/core/context.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../packages/grid/src/core/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../packages/grid/src/core/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE9I,qBAAa,eAAe;IACxB,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvC,aAAa,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACpD,WAAW,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAChD,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACtC,YAAY,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;gBAEzC,OAAO,EAAE,cAAc;IAYnC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAaxD,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,kBAAkB,CAAC;CAG1D"}
|
package/core/coordinate.d.ts
CHANGED
@@ -9,8 +9,8 @@ export declare class Coordinate {
|
|
9
9
|
container: HTMLDivElement;
|
10
10
|
containerWidth: number;
|
11
11
|
containerHeight: number;
|
12
|
-
|
13
|
-
|
12
|
+
rowIndicesSizeMap: AITableSizeMap;
|
13
|
+
columnIndicesSizeMap: AITableSizeMap;
|
14
14
|
rowInitSize: number;
|
15
15
|
columnInitSize: number;
|
16
16
|
lastRowIndex: number;
|
@@ -18,7 +18,7 @@ export declare class Coordinate {
|
|
18
18
|
rowMetaDataMap: Record<number, AITableCellMetaData>;
|
19
19
|
columnMetaDataMap: Record<number, AITableCellMetaData>;
|
20
20
|
frozenColumnCount: number;
|
21
|
-
constructor({ rowHeight, rowCount, columnCount, container,
|
21
|
+
constructor({ rowHeight, rowCount, columnCount, container, rowIndicesSizeMap, columnIndicesSizeMap, rowInitSize, columnInitSize, frozenColumnCount }: AITableCoordinate);
|
22
22
|
get rowHeight(): number;
|
23
23
|
set rowHeight(height: number);
|
24
24
|
/**
|
package/core/coordinate.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coordinate.d.ts","sourceRoot":"","sources":["../../../packages/grid/src/core/coordinate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAExG;;GAEG;AACH,qBAAa,UAAU;IACnB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,cAAc,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IAExB,
|
1
|
+
{"version":3,"file":"coordinate.d.ts","sourceRoot":"","sources":["../../../packages/grid/src/core/coordinate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAExG;;GAEG;AACH,qBAAa,UAAU;IACnB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,cAAc,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IAExB,iBAAiB,EAAE,cAAc,CAAM;IAEvC,oBAAoB,EAAE,cAAc,CAAM;IAE1C,WAAW,EAAE,MAAM,CAAC;IAEpB,cAAc,EAAE,MAAM,CAAC;IAEvB,YAAY,SAAM;IAElB,eAAe,SAAM;IACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAM;IACzD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAM;IAC5D,iBAAiB,EAAE,MAAM,CAAC;gBAErB,EACR,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,EACT,iBAAsB,EACtB,oBAAyB,EACzB,WAAe,EACf,cAAkB,EAClB,iBAAqB,EACxB,EAAE,iBAAiB;IAcpB,IAAW,SAAS,IAIS,MAAM,CAFlC;IAED,IAAW,SAAS,CAAC,MAAM,EAAE,MAAM,EAElC;IAED;;OAEG;IACH,IAAW,UAAU,WAGpB;IAED;;OAEG;IACH,IAAW,WAAW,WAGrB;IAED;;OAEG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM;IAIjC;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM;IAInC;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;IAoC7F;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAgBrC;;OAEG;IACI,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB;IAgB1E;;OAEG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAItC;;OAEG;IACI,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAa5D;;OAEG;IACI,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAIzC;;OAEG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAahE;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM;IAIpC;;OAEG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM;IAI1C;;OAEG;IACH,IAAI,iBAAiB,WAEpB;IAED;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;;;;;;CAU3D"}
|
package/core/types/ai-table.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Signal, WritableSignal } from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { AITableSelection } from '../../types';
|
3
3
|
import { RendererContext } from '../context';
|
4
4
|
import { AIRecordFieldIdPath, AITableField, AITableFields, AITableRecord, AITableRecords } from './core';
|
5
5
|
export interface AITable {
|
@@ -16,7 +16,6 @@ export interface AITable {
|
|
16
16
|
}>;
|
17
17
|
recordsWillHidden: WritableSignal<string[]>;
|
18
18
|
recordsWillMove: WritableSignal<string[]>;
|
19
|
-
references: WritableSignal<AITableReferences>;
|
20
19
|
}
|
21
20
|
export type AIPlugin = (aiTable: AITable) => AITable;
|
22
21
|
export declare const AITable: {
|
@@ -47,5 +46,6 @@ export declare const AITable: {
|
|
47
46
|
rowIndex: number;
|
48
47
|
columnIndex: number;
|
49
48
|
} | null;
|
49
|
+
isFrozenColumn(aiTable: AITable, columnIndex: number): boolean;
|
50
50
|
};
|
51
51
|
//# sourceMappingURL=ai-table.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ai-table.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/types/ai-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"ai-table.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/types/ai-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEzG,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC5C,oBAAoB,EAAE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC,CAAC;IACrD,SAAS,EAAE,MAAM,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAC,CAAC;IACnD,iBAAiB,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;AAErD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;8BAIU,OAAO;4BAGT,OAAO;2BAGR,OAAO,GAAG,mBAAmB,GAAG,IAAI;gCAG/B,OAAO,GAAG,MAAM,EAAE;2BAavB,OAAO,8BAA8B,OAAO;0BAO7C,OAAO,8BAA8B;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;4BAYnF,OAAO,eAAe,MAAM;CAOvD,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAoB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,OAAO,EAAgB,aAAa,EAAiB,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/F,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,OAAO,
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAoB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,OAAO,EAAgB,aAAa,EAAiB,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/F,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,OAAO,CAiCrH"}
|
@@ -0,0 +1,102 @@
|
|
1
|
+
import { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, booleanAttribute, computed, inject, model, output } from '@angular/core';
|
3
|
+
import { FormsModule } from '@angular/forms';
|
4
|
+
import { ThyButton } from 'ngx-tethys/button';
|
5
|
+
import { ThyDropdownDirective, ThyDropdownMenuComponent, ThyDropdownMenuItemDirective, ThyDropdownMenuItemNameDirective } from 'ngx-tethys/dropdown';
|
6
|
+
import { ThyFormModule, ThyUniqueCheckValidator } from 'ngx-tethys/form';
|
7
|
+
import { ThyIcon } from 'ngx-tethys/icon';
|
8
|
+
import { ThyInputCount, ThyInputDirective, ThyInputGroup } from 'ngx-tethys/input';
|
9
|
+
import { ThyListItem } from 'ngx-tethys/list';
|
10
|
+
import { ThyPopoverRef } from 'ngx-tethys/popover';
|
11
|
+
import { ThyAutofocusDirective } from 'ngx-tethys/shared';
|
12
|
+
import { of } from 'rxjs';
|
13
|
+
import { FieldOptions, createDefaultFieldName, getFieldOptionByField } from '../../core';
|
14
|
+
import { AITableFieldIsMultiplePipe } from '../../pipes';
|
15
|
+
import * as i0 from "@angular/core";
|
16
|
+
import * as i1 from "@angular/forms";
|
17
|
+
import * as i2 from "ngx-tethys/form";
|
18
|
+
export class AITableFieldSetting {
|
19
|
+
constructor() {
|
20
|
+
this.aiEditField = model.required();
|
21
|
+
this.aiExternalTemplate = null;
|
22
|
+
this.addField = output();
|
23
|
+
this.setField = output();
|
24
|
+
this.selectedFieldOption = computed(() => {
|
25
|
+
return getFieldOptionByField(this.aiEditField());
|
26
|
+
});
|
27
|
+
this.fieldMaxLength = 32;
|
28
|
+
this.validatorConfig = {
|
29
|
+
validationMessages: {
|
30
|
+
fieldName: {
|
31
|
+
required: '列名不能为空',
|
32
|
+
thyUniqueCheck: '列名已存在'
|
33
|
+
}
|
34
|
+
}
|
35
|
+
};
|
36
|
+
this.fieldOptions = FieldOptions;
|
37
|
+
this.thyPopoverRef = inject((ThyPopoverRef));
|
38
|
+
this.checkUniqueName = (fieldName) => {
|
39
|
+
fieldName = fieldName?.trim();
|
40
|
+
return of(!!this.aiTable.fields()?.find((field) => field.name === fieldName && this.aiEditField()?._id !== field._id));
|
41
|
+
};
|
42
|
+
}
|
43
|
+
selectFieldType(field) {
|
44
|
+
this.aiEditField.update((item) => {
|
45
|
+
const width = item.width ?? field.width;
|
46
|
+
const settings = field.settings || {};
|
47
|
+
const name = createDefaultFieldName(this.aiTable, field);
|
48
|
+
return { ...item, ...field, width, name, ...settings };
|
49
|
+
});
|
50
|
+
}
|
51
|
+
editFieldProperty() {
|
52
|
+
if (this.isUpdate) {
|
53
|
+
this.setField.emit({
|
54
|
+
field: this.aiEditField(),
|
55
|
+
path: [this.aiEditField()._id]
|
56
|
+
});
|
57
|
+
}
|
58
|
+
else {
|
59
|
+
this.addField.emit(this.aiEditField());
|
60
|
+
}
|
61
|
+
this.thyPopoverRef.close();
|
62
|
+
}
|
63
|
+
cancel() {
|
64
|
+
this.thyPopoverRef.close();
|
65
|
+
}
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFieldSetting, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableFieldSetting, isStandalone: true, selector: "ai-table-field-setting", 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", addField: "addField", setField: "setField" }, host: { classAttribute: "field-setting 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]=\"selectedFieldOption().icon\" class=\"text-desc mr-2\"></thy-icon>\n <span>{{ selectedFieldOption().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 fieldOptions; track $index) {\n @let isSelectedField = aiEditField().type === item.type;\n @let isSameMultipleMode = (item.settings! | fieldIsMultiple) === (aiEditField().settings! | fieldIsMultiple);\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: isSelectedField && isSameMultipleMode\n }\"\n (click)=\"selectFieldType(item)\"\n >\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: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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"] }, { kind: "pipe", type: AITableFieldIsMultiplePipe, name: "fieldIsMultiple" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
68
|
+
}
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFieldSetting, decorators: [{
|
70
|
+
type: Component,
|
71
|
+
args: [{ selector: 'ai-table-field-setting', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
72
|
+
NgIf,
|
73
|
+
NgClass,
|
74
|
+
FormsModule,
|
75
|
+
ThyIcon,
|
76
|
+
ThyInputGroup,
|
77
|
+
ThyInputCount,
|
78
|
+
ThyInputDirective,
|
79
|
+
ThyUniqueCheckValidator,
|
80
|
+
ThyDropdownDirective,
|
81
|
+
ThyDropdownMenuComponent,
|
82
|
+
ThyDropdownMenuItemDirective,
|
83
|
+
ThyDropdownMenuItemNameDirective,
|
84
|
+
ThyButton,
|
85
|
+
ThyFormModule,
|
86
|
+
ThyListItem,
|
87
|
+
NgTemplateOutlet,
|
88
|
+
ThyAutofocusDirective,
|
89
|
+
AITableFieldIsMultiplePipe
|
90
|
+
], host: {
|
91
|
+
class: 'field-setting d-block pl-5 pr-5 pb-5 pt-4'
|
92
|
+
}, 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]=\"selectedFieldOption().icon\" class=\"text-desc mr-2\"></thy-icon>\n <span>{{ selectedFieldOption().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 fieldOptions; track $index) {\n @let isSelectedField = aiEditField().type === item.type;\n @let isSameMultipleMode = (item.settings! | fieldIsMultiple) === (aiEditField().settings! | fieldIsMultiple);\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: isSelectedField && isSameMultipleMode\n }\"\n (click)=\"selectFieldType(item)\"\n >\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"] }]
|
93
|
+
}], propDecorators: { aiTable: [{
|
94
|
+
type: Input,
|
95
|
+
args: [{ required: true }]
|
96
|
+
}], aiExternalTemplate: [{
|
97
|
+
type: Input
|
98
|
+
}], isUpdate: [{
|
99
|
+
type: Input,
|
100
|
+
args: [{ transform: booleanAttribute }]
|
101
|
+
}] } });
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc2V0dGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLXNldHRpbmcvZmllbGQtc2V0dGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLXNldHRpbmcvZmllbGQtc2V0dGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFlLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1QixnQ0FBZ0MsRUFDbkMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUEwQix1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixF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bUZBMERBLDhFRHhCUSxJQUFJLDZGQUNKLE9BQU8sbUZBQ1AsV0FBVyx3NkNBQ1gsT0FBTyxzTUFDUCxhQUFhLCtLQUNiLGFBQWEsa0ZBQ2IsaUJBQWlCLCtJQUNqQix1QkFBdUIseUZBQ3ZCLG9CQUFvQixtUkFDcEIsd0JBQXdCLDBHQUN4Qiw0QkFBNEIsc0dBQzVCLGdDQUFnQyxzRUFDaEMsU0FBUyxtTEFDVCxhQUFhLCtyQkFDYixXQUFXLDBFQUNYLGdCQUFnQixvSkFDaEIscUJBQXFCLDZIQUNyQiwwQkFBMEI7OzRGQWFyQixtQkFBbUI7a0JBcEMvQixTQUFTOytCQUNJLHdCQUF3QixjQUV0QixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsSUFBSTt3QkFDSixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLGdDQUFnQzt3QkFDaEMsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLDBCQUEwQjtxQkFDN0IsUUFDSzt3QkFDRixLQUFLLEVBQUUsMkNBQTJDO3FCQUNyRDs4QkFZMEIsT0FBTztzQkFBakMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWhCLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFa0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBib29sZWFuQXR0cmlidXRlLCBjb21wdXRlZCwgaW5qZWN0LCBtb2RlbCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUJ1dHRvbiB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgVGh5RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50LFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbU5hbWVEaXJlY3RpdmVcbn0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5pbXBvcnQgeyBUaHlGb3JtTW9kdWxlLCBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnLCBUaHlVbmlxdWVDaGVja1ZhbGlkYXRvciB9IGZyb20gJ25neC10ZXRoeXMvZm9ybSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeUlucHV0Q291bnQsIFRoeUlucHV0RGlyZWN0aXZlLCBUaHlJbnB1dEdyb3VwIH0gZnJvbSAnbmd4LXRldGh5cy9pbnB1dCc7XG5pbXBvcnQgeyBUaHlMaXN0SXRlbSB9IGZyb20gJ25neC10ZXRoeXMvbGlzdCc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFRoeUF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIEFJVGFibGUsXG4gICAgQUlUYWJsZUZpZWxkLFxuICAgIEFJVGFibGVGaWVsZE9wdGlvbixcbiAgICBGaWVsZE9wdGlvbnMsXG4gICAgY3JlYXRlRGVmYXVsdEZpZWxkTmFtZSxcbiAgICBnZXRGaWVsZE9wdGlvbkJ5RmllbGQsXG4gICAgU2V0RmllbGRPcHRpb25zXG59IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkSXNNdWx0aXBsZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWktdGFibGUtZmllbGQtc2V0dGluZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLXNldHRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgVGh5SWNvbixcbiAgICAgICAgVGh5SW5wdXRHcm91cCxcbiAgICAgICAgVGh5SW5wdXRDb3VudCxcbiAgICAgICAgVGh5SW5wdXREaXJlY3RpdmUsXG4gICAgICAgIFRoeVVuaXF1ZUNoZWNrVmFsaWRhdG9yLFxuICAgICAgICBUaHlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50LFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVJdGVtTmFtZURpcmVjdGl2ZSxcbiAgICAgICAgVGh5QnV0dG9uLFxuICAgICAgICBUaHlGb3JtTW9kdWxlLFxuICAgICAgICBUaHlMaXN0SXRlbSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgVGh5QXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgICAgICBBSVRhYmxlRmllbGRJc011bHRpcGxlUGlwZVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZpZWxkLXNldHRpbmcgZC1ibG9jayBwbC01IHByLTUgcGItNSBwdC00J1xuICAgIH0sXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVGaWVsZFNldHRpbmcge1xuICAgIGFpRWRpdEZpZWxkID0gbW9kZWwucmVxdWlyZWQ8QUlUYWJsZUZpZWxkPigpO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgYWlUYWJsZSE6IEFJVGFibGU7XG5cbiAgICBASW5wdXQoKSBhaUV4dGVybmFsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1VwZGF0ZSE6IGJvb2xlYW47XG5cbiAgICBhZGRGaWVsZCA9IG91dHB1dDxBSVRhYmxlRmllbGQ+KCk7XG5cbiAgICBzZXRGaWVsZCA9IG91dHB1dDxTZXRGaWVsZE9wdGlvbnM+KCk7XG5cbiAgICBzZWxlY3RlZEZpZWxkT3B0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gZ2V0RmllbGRPcHRpb25CeUZpZWxkKHRoaXMuYWlFZGl0RmllbGQoKSkhO1xuICAgIH0pO1xuXG4gICAgZmllbGRNYXhMZW5ndGggPSAzMjtcblxuICAgIHZhbGlkYXRvckNvbmZpZzogVGh5Rm9ybVZhbGlkYXRvckNvbmZpZyA9IHtcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VzOiB7XG4gICAgICAgICAgICBmaWVsZE5hbWU6IHtcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ+WIl+WQjeS4jeiDveS4uuepuicsXG4gICAgICAgICAgICAgICAgdGh5VW5pcXVlQ2hlY2s6ICfliJflkI3lt7LlrZjlnKgnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZmllbGRPcHRpb25zID0gRmllbGRPcHRpb25zO1xuXG4gICAgcHJvdGVjdGVkIHRoeVBvcG92ZXJSZWYgPSBpbmplY3QoVGh5UG9wb3ZlclJlZjxBSVRhYmxlRmllbGRTZXR0aW5nPik7XG5cbiAgICBjaGVja1VuaXF1ZU5hbWUgPSAoZmllbGROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgZmllbGROYW1lID0gZmllbGROYW1lPy50cmltKCk7XG4gICAgICAgIHJldHVybiBvZighIXRoaXMuYWlUYWJsZS5maWVsZHMoKT8uZmluZCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09IGZpZWxkTmFtZSAmJiB0aGlzLmFpRWRpdEZpZWxkKCk/Ll9pZCAhPT0gZmllbGQuX2lkKSk7XG4gICAgfTtcblxuICAgIHNlbGVjdEZpZWxkVHlwZShmaWVsZDogQUlUYWJsZUZpZWxkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuYWlFZGl0RmllbGQudXBkYXRlKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IGl0ZW0ud2lkdGggPz8gZmllbGQud2lkdGg7XG4gICAgICAgICAgICBjb25zdCBzZXR0aW5ncyA9IGZpZWxkLnNldHRpbmdzIHx8IHt9O1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUodGhpcy5haVRhYmxlLCBmaWVsZCk7XG4gICAgICAgICAgICByZXR1cm4geyAuLi5pdGVtLCAuLi5maWVsZCwgd2lkdGgsIG5hbWUsIC4uLnNldHRpbmdzIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGVkaXRGaWVsZFByb3BlcnR5KCkge1xuICAgICAgICBpZiAodGhpcy5pc1VwZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRGaWVsZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBmaWVsZDogdGhpcy5haUVkaXRGaWVsZCgpLFxuICAgICAgICAgICAgICAgIHBhdGg6IFt0aGlzLmFpRWRpdEZpZWxkKCkuX2lkXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFkZEZpZWxkLmVtaXQodGhpcy5haUVkaXRGaWVsZCgpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRoeVBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBjYW5jZWwoKSB7XG4gICAgICAgIHRoaXMudGh5UG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxmb3JtIHRoeUZvcm0gbmFtZT1cImNyZWF0ZVByb3BlcnR5Rm9ybVwiIFt0aHlGb3JtVmFsaWRhdG9yQ29uZmlnXT1cInZhbGlkYXRvckNvbmZpZ1wiIHRoeUxheW91dD1cInZlcnRpY2FsXCI+XG4gICAgPHRoeS1mb3JtLWdyb3VwIHRoeUxhYmVsUmVxdWlyZWQgdGh5TGFiZWxUZXh0PVwi6KGo5qC85YiX5ZCNXCI+XG4gICAgICAgIDx0aHktaW5wdXQtZ3JvdXA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0aHlJbnB1dFxuICAgICAgICAgICAgICAgIFt0aHlBdXRvZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImZpZWxkTmFtZVwiXG4gICAgICAgICAgICAgICAgW21heGxlbmd0aF09XCJmaWVsZE1heExlbmd0aFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhaUVkaXRGaWVsZCgpLm5hbWVcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLovpPlhaXliJflkI3np7BcIlxuICAgICAgICAgICAgICAgIFt0aHlVbmlxdWVDaGVja109XCJjaGVja1VuaXF1ZU5hbWVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3VmZml4PlxuICAgICAgICAgICAgICAgIDx0aHktaW5wdXQtY291bnQ+PC90aHktaW5wdXQtY291bnQ+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3RoeS1pbnB1dC1ncm91cD5cbiAgICA8L3RoeS1mb3JtLWdyb3VwPlxuICAgIDx0aHktZm9ybS1ncm91cCB0aHlMYWJlbFRleHQ9XCLliJfnsbvlnotcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1sLW41IG1yLW41XCI+XG4gICAgICAgICAgICA8dGh5LWxpc3QtaXRlbSBbdGh5RHJvcGRvd25dPVwibWVudVwiIHRoeVRyaWdnZXI9XCJob3ZlclwiIHRoeVBsYWNlbWVudD1cInJpZ2h0XCIgY2xhc3M9XCJqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cInNlbGVjdGVkRmllbGRPcHRpb24oKS5pY29uXCIgY2xhc3M9XCJ0ZXh0LWRlc2MgbXItMlwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHNlbGVjdGVkRmllbGRPcHRpb24oKS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1yaWdodFwiIGNsYXNzPVwidGV4dC1kZXNjXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgIDwvdGh5LWxpc3QtaXRlbT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC90aHktZm9ybS1ncm91cD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWlFeHRlcm5hbFRlbXBsYXRlOyBlbHNlIGRlZmF1bHRUZW1wbGF0ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWlFeHRlcm5hbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XG4gICAgICAgIDwhLS0gVE9ETzog5YaF6YOo5bGe5oCn5riy5p+TIC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPHRoeS1mb3JtLWdyb3VwLWZvb3RlciB0aHlBbGlnbj1cInJpZ2h0XCI+XG4gICAgICAgIDxidXR0b24gdGh5QnV0dG9uPVwibGluay1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2FuY2VsKClcIiB0aHlTaXplPVwic21cIj7lj5bmtog8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0aHlCdXR0b249XCJwcmltYXJ5XCIgKHRoeUZvcm1TdWJtaXQpPVwiZWRpdEZpZWxkUHJvcGVydHkoKVwiIHRoeVNpemU9XCJzbVwiPuehruWumjwvYnV0dG9uPlxuICAgIDwvdGh5LWZvcm0tZ3JvdXAtZm9vdGVyPlxuPC9mb3JtPlxuXG48dGh5LWRyb3Bkb3duLW1lbnUgI21lbnU+XG4gICAgQGZvciAoaXRlbSBvZiBmaWVsZE9wdGlvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICBAbGV0IGlzU2VsZWN0ZWRGaWVsZCA9IGFpRWRpdEZpZWxkKCkudHlwZSA9PT0gaXRlbS50eXBlO1xuICAgICAgICBAbGV0IGlzU2FtZU11bHRpcGxlTW9kZSA9IChpdGVtLnNldHRpbmdzISB8IGZpZWxkSXNNdWx0aXBsZSkgPT09IChhaUVkaXRGaWVsZCgpLnNldHRpbmdzISB8IGZpZWxkSXNNdWx0aXBsZSk7XG4gICAgICAgIDxhXG4gICAgICAgICAgICB0aHlEcm9wZG93bk1lbnVJdGVtXG4gICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGlzU2VsZWN0ZWRGaWVsZCAmJiBpc1NhbWVNdWx0aXBsZU1vZGVcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEZpZWxkVHlwZShpdGVtKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiaXRlbS5pY29uIVwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICA8c3BhbiB0aHlEcm9wZG93bk1lbnVJdGVtTmFtZT57eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICB9XG48L3RoeS1kcm9wZG93bi1tZW51PlxuIl19
|
@@ -7,6 +7,6 @@ export * from './cell-editors/rating/rating-editor.component';
|
|
7
7
|
export * from './cell-editors/select/select-editor.component';
|
8
8
|
export * from './cell-editors/text/text-editor.component';
|
9
9
|
export * from './cell-views/select/option.component';
|
10
|
-
export * from './field-
|
10
|
+
export * from './field-setting/field-setting.component';
|
11
11
|
export * from './context-menu/context-menu.component';
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2VsbC1lZGl0b3JzL2Fic3RyYWN0LWNlbGwtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGwtZWRpdG9ycy9kYXRlL2RhdGUtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGwtZWRpdG9ycy9saW5rL2xpbmstZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGwtZWRpdG9ycy9udW1iZXIvbnVtYmVyLWVkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jZWxsLWVkaXRvcnMvcHJvZ3Jlc3MvcHJvZ3Jlc3MtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGwtZWRpdG9ycy9yYXRpbmcvcmF0aW5nLWVkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jZWxsLWVkaXRvcnMvc2VsZWN0L3NlbGVjdC1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2VsbC1lZGl0b3JzL3RleHQvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2VsbC12aWV3cy9zZWxlY3Qvb3B0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkLXNldHRpbmcvZmllbGQtc2V0dGluZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG4iXX0=
|
package/esm2022/core/context.mjs
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
export class RendererContext {
|
2
2
|
constructor(options) {
|
3
|
-
const { linearRows, pointPosition, scrollState,
|
3
|
+
const { linearRows, pointPosition, scrollState, visibleColumnsIndexMap, visibleRowsIndexMap, frozenColumnCount, references, scrollAction } = options;
|
4
4
|
this.linearRows = linearRows;
|
5
5
|
this.pointPosition = pointPosition;
|
6
6
|
this.scrollState = scrollState;
|
7
7
|
this.scrollAction = scrollAction;
|
8
|
-
this.
|
8
|
+
this.visibleColumnsIndexMap = visibleColumnsIndexMap;
|
9
9
|
this.visibleRowsIndexMap = visibleRowsIndexMap;
|
10
|
+
this.frozenColumnCount = frozenColumnCount;
|
11
|
+
this.references = references;
|
10
12
|
}
|
11
13
|
setPointPosition(position) {
|
12
14
|
const oldPosition = this.pointPosition();
|
@@ -22,4 +24,4 @@ export class RendererContext {
|
|
22
24
|
this.scrollState.set({ ...this.scrollState(), ...scrollState });
|
23
25
|
}
|
24
26
|
}
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvcmUvY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sZUFBZTtJQVV4QixZQUFZLE9BQXVCO1FBQy9CLE1BQU0sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3JKLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUF1QztRQUNwRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsSUFDSSxXQUFXLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxRQUFRO1lBQzFDLFdBQVcsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLFFBQVE7WUFDMUMsV0FBVyxDQUFDLFdBQVcsS0FBSyxRQUFRLENBQUMsV0FBVztZQUNoRCxXQUFXLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxVQUFVLEVBQ2hELENBQUM7WUFDQyxNQUFNLFdBQVcsR0FBRyxFQUFFLEdBQUcsV0FBVyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBd0M7UUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUNvbnRleHQsIEFJVGFibGVMaW5lYXJSb3csIEFJVGFibGVQb2ludFBvc2l0aW9uLCBBSVRhYmxlUmVmZXJlbmNlcywgQUlUYWJsZVNjcm9sbFN0YXRlLCBTY3JvbGxBY3Rpb25PcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgUmVuZGVyZXJDb250ZXh0IHtcbiAgICBsaW5lYXJSb3dzOiBTaWduYWw8QUlUYWJsZUxpbmVhclJvd1tdPjtcbiAgICBwb2ludFBvc2l0aW9uOiBXcml0YWJsZVNpZ25hbDxBSVRhYmxlUG9pbnRQb3NpdGlvbj47XG4gICAgc2Nyb2xsU3RhdGU6IFdyaXRhYmxlU2lnbmFsPEFJVGFibGVTY3JvbGxTdGF0ZT47XG4gICAgdmlzaWJsZUNvbHVtbnNJbmRleE1hcDogU2lnbmFsPE1hcDxzdHJpbmcsIG51bWJlcj4+O1xuICAgIHZpc2libGVSb3dzSW5kZXhNYXA6IFNpZ25hbDxNYXA8c3RyaW5nLCBudW1iZXI+PjtcbiAgICBmcm96ZW5Db2x1bW5Db3VudDogU2lnbmFsPG51bWJlcj47XG4gICAgcmVmZXJlbmNlczogU2lnbmFsPEFJVGFibGVSZWZlcmVuY2VzPjtcbiAgICBzY3JvbGxBY3Rpb246IChvcHRpb25zOiBTY3JvbGxBY3Rpb25PcHRpb25zKSA9PiB2b2lkO1xuXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogQUlUYWJsZUNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgeyBsaW5lYXJSb3dzLCBwb2ludFBvc2l0aW9uLCBzY3JvbGxTdGF0ZSwgdmlzaWJsZUNvbHVtbnNJbmRleE1hcCwgdmlzaWJsZVJvd3NJbmRleE1hcCwgZnJvemVuQ29sdW1uQ291bnQsIHJlZmVyZW5jZXMsIHNjcm9sbEFjdGlvbiB9ID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5saW5lYXJSb3dzID0gbGluZWFyUm93cztcbiAgICAgICAgdGhpcy5wb2ludFBvc2l0aW9uID0gcG9pbnRQb3NpdGlvbjtcbiAgICAgICAgdGhpcy5zY3JvbGxTdGF0ZSA9IHNjcm9sbFN0YXRlO1xuICAgICAgICB0aGlzLnNjcm9sbEFjdGlvbiA9IHNjcm9sbEFjdGlvbjtcbiAgICAgICAgdGhpcy52aXNpYmxlQ29sdW1uc0luZGV4TWFwID0gdmlzaWJsZUNvbHVtbnNJbmRleE1hcDtcbiAgICAgICAgdGhpcy52aXNpYmxlUm93c0luZGV4TWFwID0gdmlzaWJsZVJvd3NJbmRleE1hcDtcbiAgICAgICAgdGhpcy5mcm96ZW5Db2x1bW5Db3VudCA9IGZyb3plbkNvbHVtbkNvdW50O1xuICAgICAgICB0aGlzLnJlZmVyZW5jZXMgPSByZWZlcmVuY2VzO1xuICAgIH1cblxuICAgIHNldFBvaW50UG9zaXRpb24ocG9zaXRpb246IFBhcnRpYWw8QUlUYWJsZVBvaW50UG9zaXRpb24+KSB7XG4gICAgICAgIGNvbnN0IG9sZFBvc2l0aW9uID0gdGhpcy5wb2ludFBvc2l0aW9uKCk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG9sZFBvc2l0aW9uLmFyZWFUeXBlICE9PSBwb3NpdGlvbi5hcmVhVHlwZSB8fFxuICAgICAgICAgICAgb2xkUG9zaXRpb24ucm93SW5kZXggIT09IHBvc2l0aW9uLnJvd0luZGV4IHx8XG4gICAgICAgICAgICBvbGRQb3NpdGlvbi5jb2x1bW5JbmRleCAhPT0gcG9zaXRpb24uY29sdW1uSW5kZXggfHxcbiAgICAgICAgICAgIG9sZFBvc2l0aW9uLnRhcmdldE5hbWUgIT09IHBvc2l0aW9uLnRhcmdldE5hbWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdQb3NpdGlvbiA9IHsgLi4ub2xkUG9zaXRpb24sIC4uLnBvc2l0aW9uIH07XG4gICAgICAgICAgICB0aGlzLnBvaW50UG9zaXRpb24uc2V0KG5ld1Bvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldFNjcm9sbFN0YXRlKHNjcm9sbFN0YXRlOiBQYXJ0aWFsPEFJVGFibGVTY3JvbGxTdGF0ZT4pIHtcbiAgICAgICAgdGhpcy5zY3JvbGxTdGF0ZS5zZXQoeyAuLi50aGlzLnNjcm9sbFN0YXRlKCksIC4uLnNjcm9sbFN0YXRlIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -3,11 +3,11 @@ import { AITableRowColumnType } from '../types';
|
|
3
3
|
* 用于构建 Canvas 基础坐标系,后续的绘制工作以此为基础
|
4
4
|
*/
|
5
5
|
export class Coordinate {
|
6
|
-
constructor({ rowHeight, rowCount, columnCount, container,
|
6
|
+
constructor({ rowHeight, rowCount, columnCount, container, rowIndicesSizeMap = {}, columnIndicesSizeMap = {}, rowInitSize = 0, columnInitSize = 0, frozenColumnCount = 0 }) {
|
7
7
|
// 用 index 映射 每一行的 高度
|
8
|
-
this.
|
8
|
+
this.rowIndicesSizeMap = {};
|
9
9
|
// 用 index 映射 每一列 的 宽度
|
10
|
-
this.
|
10
|
+
this.columnIndicesSizeMap = {};
|
11
11
|
// 行坐标集中最后一行的索引
|
12
12
|
this.lastRowIndex = -1;
|
13
13
|
// 列坐标集中最后一列的索引
|
@@ -20,8 +20,8 @@ export class Coordinate {
|
|
20
20
|
this.rowInitSize = rowInitSize;
|
21
21
|
this.columnInitSize = columnInitSize;
|
22
22
|
this.containerWidth = container.offsetWidth;
|
23
|
-
this.
|
24
|
-
this.
|
23
|
+
this.rowIndicesSizeMap = rowIndicesSizeMap;
|
24
|
+
this.columnIndicesSizeMap = columnIndicesSizeMap;
|
25
25
|
this.containerHeight = container.offsetHeight;
|
26
26
|
this.frozenColumnCount = frozenColumnCount;
|
27
27
|
this.container = container;
|
@@ -50,13 +50,13 @@ export class Coordinate {
|
|
50
50
|
* 根据 rowIndex 获取对应行高
|
51
51
|
*/
|
52
52
|
getRowHeight(index) {
|
53
|
-
return this.
|
53
|
+
return this.rowIndicesSizeMap[index] ?? this.rowHeight;
|
54
54
|
}
|
55
55
|
/**
|
56
56
|
* 根据 columnIndex 获取对应列宽
|
57
57
|
*/
|
58
58
|
getColumnWidth(index) {
|
59
|
-
return this.
|
59
|
+
return this.columnIndicesSizeMap[index];
|
60
60
|
}
|
61
61
|
/**
|
62
62
|
* 获取每个 cell 垂直/水平方向的坐标信息
|
@@ -80,7 +80,7 @@ export class Coordinate {
|
|
80
80
|
offset = itemMetadata.offset + itemMetadata.size;
|
81
81
|
}
|
82
82
|
for (let i = lastMeasuredIndex + 1; i <= index; i++) {
|
83
|
-
const size = isColumnType ? this.
|
83
|
+
const size = isColumnType ? this.columnIndicesSizeMap[i] : (this.rowIndicesSizeMap[i] ?? this.rowHeight);
|
84
84
|
cellMetadataMap[i] = {
|
85
85
|
offset,
|
86
86
|
size
|
@@ -219,4 +219,4 @@ export class Coordinate {
|
|
219
219
|
};
|
220
220
|
}
|
221
221
|
}
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvcmUvY29vcmRpbmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBDLG9CQUFvQixFQUFrQixNQUFNLFVBQVUsQ0FBQztBQUV4Rzs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBdUJuQixZQUFZLEVBQ1IsU0FBUyxFQUNULFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNULGFBQWEsR0FBRyxFQUFFLEVBQ2xCLGdCQUFnQixHQUFHLEVBQUUsRUFDckIsV0FBVyxHQUFHLENBQUMsRUFDZixjQUFjLEdBQUcsQ0FBQyxFQUNsQixpQkFBaUIsR0FBRyxDQUFDLEVBQ0w7UUExQnBCLHFCQUFxQjtRQUNkLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUMxQyxzQkFBc0I7UUFDZixxQkFBZ0IsR0FBbUIsRUFBRSxDQUFDO1FBSzdDLGVBQWU7UUFDUixpQkFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLGVBQWU7UUFDUixvQkFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLG1CQUFjLEdBQXdDLEVBQUUsQ0FBQztRQUN6RCxzQkFBaUIsR0FBd0MsRUFBRSxDQUFDO1FBYy9ELElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENB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LElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdGLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRyxPQUFPO1lBQ0gsQ0FBQztZQUNELENBQUM7WUFDRCxLQUFLO1lBQ0wsTUFBTTtTQUNULENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlQ2VsbE1ldGFEYXRhLCBBSVRhYmxlQ29vcmRpbmF0ZSwgQUlUYWJsZVJvd0NvbHVtblR5cGUsIEFJVGFibGVTaXplTWFwIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIOeUqOS6juaehOW7uiBDYW52YXMg5Z+656GA5Z2Q5qCH57O777yM5ZCO57ut55qE57uY5Yi25bel5L2c5Lul5q2k5Li65Z+656GAXG4gKi9cbmV4cG9ydCBjbGFzcyBDb29yZGluYXRlIHtcbiAgICBwcm90ZWN0ZWQgX3Jvd0hlaWdodDogbnVtYmVyO1xuICAgIHB1YmxpYyByb3dDb3VudDogbnVtYmVyO1xuICAgIHB1YmxpYyBjb2x1bW5Db3VudDogbnVtYmVyO1xuICAgIHB1YmxpYyBjb250YWluZXI6IEhUTUxEaXZFbGVtZW50O1xuICAgIHB1YmxpYyBjb250YWluZXJXaWR0aDogbnVtYmVyO1xuICAgIHB1YmxpYyBjb250YWluZXJIZWlnaHQ6IG51bWJlcjtcbiAgICAvLyDnlKggaW5kZXgg5pig5bCEIOavj+S4gOihjOeahCDpq5jluqZcbiAgICBwdWJsaWMgcm93SW5kaWNlc01hcDogQUlUYWJsZVNpemVNYXAgPSB7fTtcbiAgICAvLyDnlKggaW5kZXgg5pig5bCEIOavj+S4gOWIlyDnmoQg5a695bqmXG4gICAgcHVibGljIGNvbHVtbkluZGljZXNNYXA6IEFJVGFibGVTaXplTWFwID0ge307XG4gICAgLy8g6Zmk5Y676KGo5aS05ZKM57yW5Y+35YiX55yf5q2j5Y2V5YWD5qC857uY5Yi255qE5Yid5aeL5YC8IHhcbiAgICBwdWJsaWMgcm93SW5pdFNpemU6IG51bWJlcjtcbiAgICAvLyDpmaTljrvooajlpLTlkoznvJblj7fliJfnnJ/mraPljZXlhYPmoLznu5jliLbnmoTliJ3lp4vlgLwgeVxuICAgIHB1YmxpYyBjb2x1bW5Jbml0U2l6ZTogbnVtYmVyO1xuICAgIC8vIOihjOWdkOagh+mbhuS4reacgOWQjuS4gOihjOeahOe0ouW8lVxuICAgIHB1YmxpYyBsYXN0Um93SW5kZXggPSAtMTtcbiAgICAvLyDliJflnZDmoIfpm4bkuK3mnIDlkI7kuIDliJfnmoTntKLlvJVcbiAgICBwdWJsaWMgbGFzdENvbHVtbkluZGV4ID0gLTE7XG4gICAgcHVibGljIHJvd01ldGFEYXRhTWFwOiBSZWNvcmQ8bnVtYmVyLCBBSVRhYmxlQ2VsbE1ldGFEYXRhPiA9IHt9O1xuICAgIHB1YmxpYyBjb2x1bW5NZXRhRGF0YU1hcDogUmVjb3JkPG51bWJlciwgQUlUYWJsZUNlbGxNZXRhRGF0YT4gPSB7fTtcbiAgICBwdWJsaWMgZnJvemVuQ29sdW1uQ291bnQ6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHtcbiAgICAgICAgcm93SGVpZ2h0LFxuICAgICAgICByb3dDb3VudCxcbiAgICAgICAgY29sdW1uQ291bnQsXG4gICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgcm93SW5kaWNlc01hcCA9IHt9LFxuICAgICAgICBjb2x1bW5JbmRpY2VzTWFwID0ge30sXG4gICAgICAgIHJvd0luaXRTaXplID0gMCxcbiAgICAgICAgY29sdW1uSW5pdFNpemUgPSAwLFxuICAgICAgICBmcm96ZW5Db2x1bW5Db3VudCA9IDBcbiAgICB9OiBBSVRhYmxlQ29vcmRpbmF0ZSkge1xuICAgICAgICB0aGlzLl9yb3dIZWlnaHQgPSByb3dIZWlnaHQ7XG4gICAgICAgIHRoaXMucm93Q291bnQgPSByb3dDb3VudDtcbiAgICAgICAgdGhpcy5jb2x1bW5Db3VudCA9IGNvbHVtbkNvdW50O1xuICAgICAgICB0aGlzLnJvd0luaXRTaXplID0gcm93SW5pdFNpemU7XG4gICAgICAgIHRoaXMuY29sdW1uSW5pdFNpemUgPSBjb2x1bW5Jbml0U2l6ZTtcbiAgICAgICAgdGhpcy5jb250YWluZXJXaWR0aCA9IGNvbnRhaW5lci5vZmZzZXRXaWR0aDtcbiAgICAgICAgdGhpcy5yb3dJbmRpY2VzTWFwID0gcm93SW5kaWNlc01hcDtcbiAgICAgICAgdGhpcy5jb2x1bW5JbmRpY2VzTWFwID0gY29sdW1uSW5kaWNlc01hcDtcbiAgICAgICAgdGhpcy5jb250YWluZXJIZWlnaHQgPSBjb250YWluZXIub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB0aGlzLmZyb3plbkNvbHVtbkNvdW50ID0gZnJvemVuQ29sdW1uQ291bnQ7XG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gY29udGFpbmVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcm93SGVpZ2h0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm93SGVpZ2h0O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcm93SGVpZ2h0KGhlaWdodDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX3Jvd0hlaWdodCA9IGhlaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmgLvlrr3luqZcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHRvdGFsV2lkdGgoKSB7XG4gICAgICAgIGNvbnN0IHsgb2Zmc2V0LCBzaXplIH0gPSB0aGlzLmdldENlbGxNZXRhRGF0YSh0aGlzLmNvbHVtbkNvdW50IC0gMSwgQUlUYWJsZVJvd0NvbHVtblR5cGUuY29sdW1uKTtcbiAgICAgICAgcmV0dXJuIG9mZnNldCArIHNpemU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oC76auY5bqmXG4gICAgICovXG4gICAgcHVibGljIGdldCB0b3RhbEhlaWdodCgpIHtcbiAgICAgICAgY29uc3QgeyBvZmZzZXQsIHNpemUgfSA9IHRoaXMuZ2V0Q2VsbE1ldGFEYXRhKHRoaXMucm93Q291bnQgLSAxLCBBSVRhYmxlUm93Q29sdW1uVHlwZS5yb3cpO1xuICAgICAgICByZXR1cm4gb2Zmc2V0ICsgc2l6ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmoLnmja4gcm93SW5kZXgg6I635Y+W5a+55bqU6KGM6auYXG4gICAgICovXG4gICAgcHVibGljIGdldFJvd0hlaWdodChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvd0luZGljZXNNYXBbaW5kZXhdID8/IHRoaXMucm93SGVpZ2h0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOagueaNriBjb2x1bW5JbmRleCDojrflj5blr7nlupTliJflrr1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29sdW1uV2lkdGgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2x1bW5JbmRpY2VzTWFwW2luZGV4XTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDojrflj5bmr4/kuKogY2VsbCDlnoLnm7Qv5rC05bmz5pa55ZCR55qE5Z2Q5qCH5L+h5oGvXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldENlbGxNZXRhRGF0YShpbmRleDogbnVtYmVyLCBpdGVtVHlwZTogQUlUYWJsZVJvd0NvbHVtblR5cGUpOiBBSVRhYmxlQ2VsbE1ldGFEYXRhIHtcbiAgICAgICAgbGV0IGNlbGxNZXRhZGF0YU1hcCwgbGFzdE1lYXN1cmVkSW5kZXgsIG9mZnNldDtcbiAgICAgICAgY29uc3QgaXNDb2x1bW5UeXBlID0gaXRlbVR5cGUgPT09IEFJVGFibGVSb3dDb2x1bW5UeXBlLmNvbHVtbjtcbiAgICAgICAgaWYgKGlzQ29sdW1uVHlwZSkge1xuICAgICAgICAgICAgb2Zmc2V0ID0gdGhpcy5jb2x1bW5Jbml0U2l6ZTtcbiAgICAgICAgICAgIGxhc3RNZWFzdXJlZEluZGV4ID0gdGhpcy5sYXN0Q29sdW1uSW5kZXg7XG4gICAgICAgICAgICBjZWxsTWV0YWRhdGFNYXAgPSB0aGlzLmNvbHVtbk1ldGFEYXRhTWFwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2Zmc2V0ID0gdGhpcy5yb3dJbml0U2l6ZTtcbiAgICAgICAgICAgIGxhc3RNZWFzdXJlZEluZGV4ID0gdGhpcy5sYXN0Um93SW5kZXg7XG4gICAgICAgICAgICBjZWxsTWV0YWRhdGFNYXAgPSB0aGlzLnJvd01ldGFEYXRhTWFwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRleCA+IGxhc3RNZWFzdXJlZEluZGV4KSB7XG4gICAgICAgICAgICBpZiAobGFzdE1lYXN1cmVkSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1NZXRhZGF0YSA9IGNlbGxNZXRhZGF0YU1hcFtsYXN0TWVhc3VyZWRJbmRleF07XG4gICAgICAgICAgICAgICAgb2Zmc2V0ID0gaXRlbU1ldGFkYXRhLm9mZnNldCArIGl0ZW1NZXRhZGF0YS5zaXplO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gbGFzdE1lYXN1cmVkSW5kZXggKyAxOyBpIDw9IGluZGV4OyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzaXplID0gaXNDb2x1bW5UeXBlID8gdGhpcy5jb2x1bW5JbmRpY2VzTWFwW2ldIDogKHRoaXMucm93SW5kaWNlc01hcFtpXSA/PyB0aGlzLnJvd0hlaWdodCk7XG5cbiAgICAgICAgICAgICAgICBjZWxsTWV0YWRhdGFNYXBbaV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgc2l6ZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNDb2x1bW5UeXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0Q29sdW1uSW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0Um93SW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2VsbE1ldGFkYXRhTWFwW2luZGV4XSB8fCB7IHNpemU6IDAsIG9mZnNldDogMCB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOafpeaJvuacgOi/keeahOWNleWFg+agvOe0ouW8lVxuICAgICAqIOaAp+iDvei+g+W3ru+8jOS9huaXoOiuuuWmguS9lemDveWPr+S7peaJvuWIsFxuICAgICAqL1xuICAgIHByaXZhdGUgX2ZpbmROZWFyZXN0Q2VsbEluZGV4KGluZGV4OiBudW1iZXIsIG9mZnNldDogbnVtYmVyLCBpdGVtVHlwZTogQUlUYWJsZVJvd0NvbHVtblR5cGUpIHtcbiAgICAgICAgY29uc3QgaXRlbUNvdW50ID0gaXRlbVR5cGUgPT09IEFJVGFibGVSb3dDb2x1bW5UeXBlLmNvbHVtbiA/IHRoaXMuY29sdW1uQ291bnQgOiB0aGlzLnJvd0NvdW50O1xuICAgICAgICBsZXQgaW50ZXJ2YWwgPSAxO1xuXG4gICAgICAgIHdoaWxlIChpbmRleCA8IGl0ZW1Db3VudCAmJiB0aGlzLmdldENlbGxNZXRhRGF0YShpbmRleCwgaXRlbVR5cGUpLm9mZnNldCA8IG9mZnNldCkge1xuICAgICAgICAgICAgaW5kZXggKz0gaW50ZXJ2YWw7XG4gICAgICAgICAgICBpbnRlcnZhbCAqPSAyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbmROZWFyZXN0Q2VsbEluZGV4QnlCaW5hcnkob2Zmc2V0LCBNYXRoLmZsb29yKGluZGV4IC8gMiksIE1hdGgubWluKGluZGV4LCBpdGVtQ291bnQgLSAxKSwgaXRlbVR5cGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOS6jOWIhuazleafpeaJvuacgOi/keeahOWNleWFg+agvOe0ouW8lVxuICAgICAqIOaAp+iDveabtOS9s++8jOS9humcgOimgeWKoOi9veaVsOaNrlxuICAgICAqL1xuICAgIHByaXZhdGUgX2ZpbmROZWFyZXN0Q2VsbEluZGV4QnlCaW5hcnkob2Zmc2V0OiBudW1iZXIsIGxvdzogbnVtYmVyLCBoaWdoOiBudW1iZXIsIGl0ZW1UeXBlOiBBSVRhYmxlUm93Q29sdW1uVHlwZSkge1xuICAgICAgICB3aGlsZSAobG93IDw9IGhpZ2gpIHtcbiAgICAgICAgICAgIGNvbnN0IG1pZGRsZSA9IGxvdyArIE1hdGguZmxvb3IoKGhpZ2ggLSBsb3cpIC8gMik7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5nZXRDZWxsTWV0YURhdGEobWlkZGxlLCBpdGVtVHlwZSkub2Zmc2V0O1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudE9mZnNldCA9PT0gb2Zmc2V0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1pZGRsZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudE9mZnNldCA8IG9mZnNldCkge1xuICAgICAgICAgICAgICAgIGxvdyA9IG1pZGRsZSArIDE7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRPZmZzZXQgPiBvZmZzZXQpIHtcbiAgICAgICAgICAgICAgICBoaWdoID0gbWlkZGxlIC0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbG93ID4gLTEgPyBsb3cgLSAxIDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmoLnmja7lgY/np7vph4/mn6Xmib7mnIDov5HnmoTljZXlhYPmoLzntKLlvJVcbiAgICAgKi9cbiAgICBwdWJsaWMgZmluZE5lYXJlc3RDZWxsSW5kZXgob2Zmc2V0OiBudW1iZXIsIGl0ZW1UeXBlOiBBSVRhYmxlUm93Q29sdW1uVHlwZSkge1xuICAgICAgICBsZXQgbGFzdEluZGV4O1xuICAgICAgICBpZiAoaXRlbVR5cGUgPT09IEFJVGFibGVSb3dDb2x1bW5UeXBlLmNvbHVtbikge1xuICAgICAgICAgICAgbGFzdEluZGV4ID0gdGhpcy5sYXN0Q29sdW1uSW5kZXg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsYXN0SW5kZXggPSB0aGlzLmxhc3RSb3dJbmRleDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjZWxsT2Zmc2V0ID0gdGhpcy5nZXRDZWxsTWV0YURhdGEobGFzdEluZGV4LCBpdGVtVHlwZSkub2Zmc2V0O1xuICAgICAgICBjb25zdCBsYXN0TWVhc3VyZWRJdGVtT2Zmc2V0ID0gbGFzdEluZGV4ID4gMCA/IGNlbGxPZmZzZXQgOiAwO1xuXG4gICAgICAgIGlmIChsYXN0TWVhc3VyZWRJdGVtT2Zmc2V0ID49IG9mZnNldCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbmROZWFyZXN0Q2VsbEluZGV4QnlCaW5hcnkob2Zmc2V0LCAwLCBsYXN0SW5kZXgsIGl0ZW1UeXBlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZmluZE5lYXJlc3RDZWxsSW5kZXgoTWF0aC5tYXgoMCwgbGFzdEluZGV4KSwgb2Zmc2V0LCBpdGVtVHlwZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2u5Z6C55u05YGP56e76YeP5om+5Yiw6LW35aeL5Y2V5YWD5qC855qE57Si5byVXG4gICAgICovXG4gICAgcHVibGljIGdldFJvd1N0YXJ0SW5kZXgob2Zmc2V0OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZE5lYXJlc3RDZWxsSW5kZXgob2Zmc2V0LCBBSVRhYmxlUm93Q29sdW1uVHlwZS5yb3cpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOagueaNruWeguebtOi1t+Wni+WNleWFg+agvOeahOe0ouW8leafpeaJvue7k+adn+WNleWFg+agvOeahOe0ouW8lVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRSb3dTdG9wSW5kZXgoc3RhcnRJbmRleDogbnVtYmVyLCBzY3JvbGxUb3A6IG51bWJlcikge1xuICAgICAgICBjb25zdCBpdGVtTWV0YWRhdGEgPSB0aGlzLmdldENlbGxNZXRhRGF0YShzdGFydEluZGV4LCBBSVRhYmxlUm93Q29sdW1uVHlwZS5yb3cpO1xuICAgICAgICBjb25zdCBtYXhPZmZzZXQgPSBzY3JvbGxUb3AgKyB0aGlzLmNvbnRhaW5lckhlaWdodDtcbiAgICAgICAgbGV0IG9mZnNldCA9IGl0ZW1NZXRhZGF0YS5vZmZzZXQgKyBpdGVtTWV0YWRhdGEuc2l6ZTtcbiAgICAgICAgbGV0IHN0b3BJbmRleCA9IHN0YXJ0SW5kZXg7XG5cbiAgICAgICAgd2hpbGUgKHN0b3BJbmRleCA8IHRoaXMucm93Q291bnQgLSAxICYmIG9mZnNldCA8IG1heE9mZnNldCkge1xuICAgICAgICAgICAgc3RvcEluZGV4Kys7XG4gICAgICAgICAgICBvZmZzZXQgKz0gdGhpcy5nZXRDZWxsTWV0YURhdGEoc3RvcEluZGV4LCBBSVRhYmxlUm93Q29sdW1uVHlwZS5yb3cpLnNpemU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0b3BJbmRleDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmoLnmja7msLTlubPlgY/np7vph4/mib7liLDotbflp4vljZXlhYPmoLznmoTntKLlvJVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29sdW1uU3RhcnRJbmRleChvZmZzZXQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5maW5kTmVhcmVzdENlbGxJbmRleChvZmZzZXQsIEFJVGFibGVSb3dDb2x1bW5UeXBlLmNvbHVtbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2u5rC05bmz6LW35aeL5Y2V5YWD5qC855qE57Si5byV5p+l5om+57uT5p2f5Y2V5YWD5qC855qE57Si5byVXG4gICAgICovXG4gICAgcHVibGljIGdldENvbHVtblN0b3BJbmRleChzdGFydEluZGV4OiBudW1iZXIsIHNjcm9sbExlZnQ6IG51bWJlcikge1xuICAgICAgICBjb25zdCBpdGVtTWV0YWRhdGEgPSB0aGlzLmdldENlbGxNZXRhRGF0YShzdGFydEluZGV4LCBBSVRhYmxlUm93Q29sdW1uVHlwZS5jb2x1bW4pO1xuICAgICAgICBjb25zdCBtYXhPZmZzZXQgPSBzY3JvbGxMZWZ0ICsgdGhpcy5jb250YWluZXJXaWR0aDtcbiAgICAgICAgbGV0IG9mZnNldCA9IGl0ZW1NZXRhZGF0YS5vZmZzZXQgKyBpdGVtTWV0YWRhdGEuc2l6ZTtcbiAgICAgICAgbGV0IHN0b3BJbmRleCA9IHN0YXJ0SW5kZXg7XG5cbiAgICAgICAgd2hpbGUgKHN0b3BJbmRleCA8IHRoaXMuY29sdW1uQ291bnQgLSAxICYmIG9mZnNldCA8IG1heE9mZnNldCkge1xuICAgICAgICAgICAgc3RvcEluZGV4Kys7XG4gICAgICAgICAgICBvZmZzZXQgKz0gdGhpcy5nZXRDZWxsTWV0YURhdGEoc3RvcEluZGV4LCBBSVRhYmxlUm93Q29sdW1uVHlwZS5jb2x1bW4pLnNpemU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0b3BJbmRleDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmoLnmja4gcm93SW5kZXgg6I635Y+W5Z6C55u05YGP56e76YePXG4gICAgICovXG4gICAgcHVibGljIGdldFJvd09mZnNldChyb3dJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxNZXRhRGF0YShyb3dJbmRleCwgQUlUYWJsZVJvd0NvbHVtblR5cGUucm93KS5vZmZzZXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2uIGNvbHVtbkluZGV4IOiOt+WPluawtOW5s+WBj+enu+mHj1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb2x1bW5PZmZzZXQoY29sdW1uSW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDZWxsTWV0YURhdGEoY29sdW1uSW5kZXgsIEFJVGFibGVSb3dDb2x1bW5UeXBlLmNvbHVtbikub2Zmc2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWGu+e7k+WMuuWfn+WuveW6plxuICAgICAqL1xuICAgIGdldCBmcm96ZW5Db2x1bW5XaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uT2Zmc2V0KHRoaXMuZnJvemVuQ29sdW1uQ291bnQpIC0gdGhpcy5jb2x1bW5Jbml0U2l6ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmoLnmja4gcm93SW5kZXgsIGNvbHVtbkluZGV4IOiOt+WPluWNleWFg+agvOWdkOagh+S/oeaBr1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDZWxsUmVjdChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHsgc2l6ZTogaGVpZ2h0LCBvZmZzZXQ6IHkgfSA9IHRoaXMuZ2V0Q2VsbE1ldGFEYXRhKHJvd0luZGV4LCBBSVRhYmxlUm93Q29sdW1uVHlwZS5yb3cpO1xuICAgICAgICBjb25zdCB7IHNpemU6IHdpZHRoLCBvZmZzZXQ6IHggfSA9IHRoaXMuZ2V0Q2VsbE1ldGFEYXRhKGNvbHVtbkluZGV4LCBBSVRhYmxlUm93Q29sdW1uVHlwZS5jb2x1bW4pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeCxcbiAgICAgICAgICAgIHksXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIGhlaWdodFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvcmUvY29vcmRpbmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBDLG9CQUFvQixFQUFrQixNQUFNLFVBQVUsQ0FBQztBQUV4Rzs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBdUJuQixZQUFZLEVBQ1IsU0FBUyxFQUNULFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixHQUFHLEVBQUUsRUFDdEIsb0JBQW9CLEdBQUcsRUFBRSxFQUN6QixXQUFXLEdBQUcsQ0FBQyxFQUNmLGNBQWMsR0FBRyxDQUFDLEVBQ2xCLGlCQUFpQixHQUFHLENBQUMsRUFDTDtRQTFCcEIscUJBQXFCO1FBQ2Qsc0JBQWlCLEdBQW1CLEVBQUUsQ0FBQztRQUM5QyxzQkFBc0I7UUFDZix5QkFBb0IsR0FBbUIsRUFBRSxDQUFDO1FBS2pELGVBQWU7UUFDUixpQkFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLGVBQWU7UUFDUixvQkFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLG1CQUFjLEdBQXdDLEVBQUUsQ0FBQztRQUN6RCxzQkFBaUIsR0FBd0MsRUFBRSxDQUFDO1FBYy9ELElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9C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RCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0YsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xHLE9BQU87WUFDSCxDQUFDO1lBQ0QsQ0FBQztZQUNELEtBQUs7WUFDTCxNQUFNO1NBQ1QsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVDZWxsTWV0YURhdGEsIEFJVGFibGVDb29yZGluYXRlLCBBSVRhYmxlUm93Q29sdW1uVHlwZSwgQUlUYWJsZVNpemVNYXAgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICog55So5LqO5p6E5bu6IENhbnZhcyDln7rnoYDlnZDmoIfns7vvvIzlkI7nu63nmoTnu5jliLblt6XkvZzku6XmraTkuLrln7rnoYBcbiAqL1xuZXhwb3J0IGNsYXNzIENvb3JkaW5hdGUge1xuICAgIHByb3RlY3RlZCBfcm93SGVpZ2h0OiBudW1iZXI7XG4gICAgcHVibGljIHJvd0NvdW50OiBudW1iZXI7XG4gICAgcHVibGljIGNvbHVtbkNvdW50OiBudW1iZXI7XG4gICAgcHVibGljIGNvbnRhaW5lcjogSFRNTERpdkVsZW1lbnQ7XG4gICAgcHVibGljIGNvbnRhaW5lcldpZHRoOiBudW1iZXI7XG4gICAgcHVibGljIGNvbnRhaW5lckhlaWdodDogbnVtYmVyO1xuICAgIC8vIOeUqCBpbmRleCDmmKDlsIQg5q+P5LiA6KGM55qEIOmrmOW6plxuICAgIHB1YmxpYyByb3dJbmRpY2VzU2l6ZU1hcDogQUlUYWJsZVNpemVNYXAgPSB7fTtcbiAgICAvLyDnlKggaW5kZXgg5pig5bCEIOavj+S4gOWIlyDnmoQg5a695bqmXG4gICAgcHVibGljIGNvbHVtbkluZGljZXNTaXplTWFwOiBBSVRhYmxlU2l6ZU1hcCA9IHt9O1xuICAgIC8vIOmZpOWOu+ihqOWktOWSjOe8luWPt+WIl+ecn+ato+WNleWFg+agvOe7mOWItueahOWIneWni+WAvCB4XG4gICAgcHVibGljIHJvd0luaXRTaXplOiBudW1iZXI7XG4gICAgLy8g6Zmk5Y676KGo5aS05ZKM57yW5Y+35YiX55yf5q2j5Y2V5YWD5qC857uY5Yi255qE5Yid5aeL5YC8IHlcbiAgICBwdWJsaWMgY29sdW1uSW5pdFNpemU6IG51bWJlcjtcbiAgICAvLyDooYzlnZDmoIfpm4bkuK3mnIDlkI7kuIDooYznmoTntKLlvJVcbiAgICBwdWJsaWMgbGFzdFJvd0luZGV4ID0gLTE7XG4gICAgLy8g5YiX5Z2Q5qCH6ZuG5Lit5pyA5ZCO5LiA5YiX55qE57Si5byVXG4gICAgcHVibGljIGxhc3RDb2x1bW5JbmRleCA9IC0xO1xuICAgIHB1YmxpYyByb3dNZXRhRGF0YU1hcDogUmVjb3JkPG51bWJlciwgQUlUYWJsZUNlbGxNZXRhRGF0YT4gPSB7fTtcbiAgICBwdWJsaWMgY29sdW1uTWV0YURhdGFNYXA6IFJlY29yZDxudW1iZXIsIEFJVGFibGVDZWxsTWV0YURhdGE+ID0ge307XG4gICAgcHVibGljIGZyb3plbkNvbHVtbkNvdW50OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcih7XG4gICAgICAgIHJvd0hlaWdodCxcbiAgICAgICAgcm93Q291bnQsXG4gICAgICAgIGNvbHVtbkNvdW50LFxuICAgICAgICBjb250YWluZXIsXG4gICAgICAgIHJvd0luZGljZXNTaXplTWFwID0ge30sXG4gICAgICAgIGNvbHVtbkluZGljZXNTaXplTWFwID0ge30sXG4gICAgICAgIHJvd0luaXRTaXplID0gMCxcbiAgICAgICAgY29sdW1uSW5pdFNpemUgPSAwLFxuICAgICAgICBmcm96ZW5Db2x1bW5Db3VudCA9IDBcbiAgICB9OiBBSVRhYmxlQ29vcmRpbmF0ZSkge1xuICAgICAgICB0aGlzLl9yb3dIZWlnaHQgPSByb3dIZWlnaHQ7XG4gICAgICAgIHRoaXMucm93Q291bnQgPSByb3dDb3VudDtcbiAgICAgICAgdGhpcy5jb2x1bW5Db3VudCA9IGNvbHVtbkNvdW50O1xuICAgICAgICB0aGlzLnJvd0luaXRTaXplID0gcm93SW5pdFNpemU7XG4gICAgICAgIHRoaXMuY29sdW1uSW5pdFNpemUgPSBjb2x1bW5Jbml0U2l6ZTtcbiAgICAgICAgdGhpcy5jb250YWluZXJXaWR0aCA9IGNvbnRhaW5lci5vZmZzZXRXaWR0aDtcbiAgICAgICAgdGhpcy5yb3dJbmRpY2VzU2l6ZU1hcCA9IHJvd0luZGljZXNTaXplTWFwO1xuICAgICAgICB0aGlzLmNvbHVtbkluZGljZXNTaXplTWFwID0gY29sdW1uSW5kaWNlc1NpemVNYXA7XG4gICAgICAgIHRoaXMuY29udGFpbmVySGVpZ2h0ID0gY29udGFpbmVyLm9mZnNldEhlaWdodDtcbiAgICAgICAgdGhpcy5mcm96ZW5Db2x1bW5Db3VudCA9IGZyb3plbkNvbHVtbkNvdW50O1xuICAgICAgICB0aGlzLmNvbnRhaW5lciA9IGNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJvd0hlaWdodCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvd0hlaWdodDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHJvd0hlaWdodChoZWlnaHQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9yb3dIZWlnaHQgPSBoZWlnaHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oC75a695bqmXG4gICAgICovXG4gICAgcHVibGljIGdldCB0b3RhbFdpZHRoKCkge1xuICAgICAgICBjb25zdCB7IG9mZnNldCwgc2l6ZSB9ID0gdGhpcy5nZXRDZWxsTWV0YURhdGEodGhpcy5jb2x1bW5Db3VudCAtIDEsIEFJVGFibGVSb3dDb2x1bW5UeXBlLmNvbHVtbik7XG4gICAgICAgIHJldHVybiBvZmZzZXQgKyBzaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaAu+mrmOW6plxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdG90YWxIZWlnaHQoKSB7XG4gICAgICAgIGNvbnN0IHsgb2Zmc2V0LCBzaXplIH0gPSB0aGlzLmdldENlbGxNZXRhRGF0YSh0aGlzLnJvd0NvdW50IC0gMSwgQUlUYWJsZVJvd0NvbHVtblR5cGUucm93KTtcbiAgICAgICAgcmV0dXJuIG9mZnNldCArIHNpemU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2uIHJvd0luZGV4IOiOt+WPluWvueW6lOihjOmrmFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRSb3dIZWlnaHQoaW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3dJbmRpY2VzU2l6ZU1hcFtpbmRleF0gPz8gdGhpcy5yb3dIZWlnaHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2uIGNvbHVtbkluZGV4IOiOt+WPluWvueW6lOWIl+WuvVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb2x1bW5XaWR0aChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbHVtbkluZGljZXNTaXplTWFwW2luZGV4XTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDojrflj5bmr4/kuKogY2VsbCDlnoLnm7Qv5rC05bmz5pa55ZCR55qE5Z2Q5qCH5L+h5oGvXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldENlbGxNZXRhRGF0YShpbmRleDogbnVtYmVyLCBpdGVtVHlwZTogQUlUYWJsZVJvd0NvbHVtblR5cGUpOiBBSVRhYmxlQ2VsbE1ldGFEYXRhIHtcbiAgICAgICAgbGV0IGNlbGxNZXRhZGF0YU1hcCwgbGFzdE1lYXN1cmVkSW5kZXgsIG9mZnNldDtcbiAgICAgICAgY29uc3QgaXNDb2x1bW5UeXBlID0gaXRlbVR5cGUgPT09IEFJVGFibGVSb3dDb2x1bW5UeXBlLmNvbHVtbjtcbiAgICAgICAgaWYgKGlzQ29sdW1uVHlwZSkge1xuICAgICAgICAgICAgb2Zmc2V0ID0gdGhpcy5jb2x1bW5Jbml0U2l6ZTtcbiAgICAgICAgICAgIGxhc3RNZWFzdXJlZEluZGV4ID0gdGhpcy5sYXN0Q29sdW1uSW5kZXg7XG4gICAgICAgICAgICBjZWxsTWV0YWRhdGFNYXAgPSB0aGlzLmNvbHVtbk1ldGFEYXRhTWFwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2Zmc2V0ID0gdGhpcy5yb3dJbml0U2l6ZTtcbiAgICAgICAgICAgIGxhc3RNZWFzdXJlZEluZGV4ID0gdGhpcy5sYXN0Um93SW5kZXg7XG4gICAgICAgICAgICBjZWxsTWV0YWRhdGFNYXAgPSB0aGlzLnJvd01ldGFEYXRhTWFwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRleCA+IGxhc3RNZWFzdXJlZEluZGV4KSB7XG4gICAgICAgICAgICBpZiAobGFzdE1lYXN1cmVkSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1NZXRhZGF0YSA9IGNlbGxNZXRhZGF0YU1hcFtsYXN0TWVhc3VyZWRJbmRleF07XG4gICAgICAgICAgICAgICAgb2Zmc2V0ID0gaXRlbU1ldGFkYXRhLm9mZnNldCArIGl0ZW1NZXRhZGF0YS5zaXplO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gbGFzdE1lYXN1cmVkSW5kZXggKyAxOyBpIDw9IGluZGV4OyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzaXplID0gaXNDb2x1bW5UeXBlID8gdGhpcy5jb2x1bW5JbmRpY2VzU2l6ZU1hcFtpXSA6ICh0aGlzLnJvd0luZGljZXNTaXplTWFwW2ldID8/IHRoaXMucm93SGVpZ2h0KTtcblxuICAgICAgICAgICAgICAgIGNlbGxNZXRhZGF0YU1hcFtpXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBzaXplXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBvZmZzZXQgKz0gc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0NvbHVtblR5cGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RDb2x1bW5JbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RSb3dJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjZWxsTWV0YWRhdGFNYXBbaW5kZXhdIHx8IHsgc2l6ZTogMCwgb2Zmc2V0OiAwIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5p+l5om+5pyA6L+R55qE5Y2V5YWD5qC857Si5byVXG4gICAgICog5oCn6IO96L6D5beu77yM5L2G5peg6K665aaC5L2V6YO95Y+v5Lul5om+5YiwXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZmluZE5lYXJlc3RDZWxsSW5kZXgoaW5kZXg6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIsIGl0ZW1UeXBlOiBBSVRhYmxlUm93Q29sdW1uVHlwZSkge1xuICAgICAgICBjb25zdCBpdGVtQ291bnQgPSBpdGVtVHlwZSA9PT0gQUlUYWJsZVJvd0NvbHVtblR5cGUuY29sdW1uID8gdGhpcy5jb2x1bW5Db3VudCA6IHRoaXMucm93Q291bnQ7XG4gICAgICAgIGxldCBpbnRlcnZhbCA9IDE7XG5cbiAgICAgICAgd2hpbGUgKGluZGV4IDwgaXRlbUNvdW50ICYmIHRoaXMuZ2V0Q2VsbE1ldGFEYXRhKGluZGV4LCBpdGVtVHlwZSkub2Zmc2V0IDwgb2Zmc2V0KSB7XG4gICAgICAgICAgICBpbmRleCArPSBpbnRlcnZhbDtcbiAgICAgICAgICAgIGludGVydmFsICo9IDI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fZmluZE5lYXJlc3RDZWxsSW5kZXhCeUJpbmFyeShvZmZzZXQsIE1hdGguZmxvb3IoaW5kZXggLyAyKSwgTWF0aC5taW4oaW5kZXgsIGl0ZW1Db3VudCAtIDEpLCBpdGVtVHlwZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5LqM5YiG5rOV5p+l5om+5pyA6L+R55qE5Y2V5YWD5qC857Si5byVXG4gICAgICog5oCn6IO95pu05L2z77yM5L2G6ZyA6KaB5Yqg6L295pWw5o2uXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZmluZE5lYXJlc3RDZWxsSW5kZXhCeUJpbmFyeShvZmZzZXQ6IG51bWJlciwgbG93OiBudW1iZXIsIGhpZ2g6IG51bWJlciwgaXRlbVR5cGU6IEFJVGFibGVSb3dDb2x1bW5UeXBlKSB7XG4gICAgICAgIHdoaWxlIChsb3cgPD0gaGlnaCkge1xuICAgICAgICAgICAgY29uc3QgbWlkZGxlID0gbG93ICsgTWF0aC5mbG9vcigoaGlnaCAtIGxvdykgLyAyKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSB0aGlzLmdldENlbGxNZXRhRGF0YShtaWRkbGUsIGl0ZW1UeXBlKS5vZmZzZXQ7XG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50T2Zmc2V0ID09PSBvZmZzZXQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWlkZGxlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50T2Zmc2V0IDwgb2Zmc2V0KSB7XG4gICAgICAgICAgICAgICAgbG93ID0gbWlkZGxlICsgMTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudE9mZnNldCA+IG9mZnNldCkge1xuICAgICAgICAgICAgICAgIGhpZ2ggPSBtaWRkbGUgLSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsb3cgPiAtMSA/IGxvdyAtIDEgOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOagueaNruWBj+enu+mHj+afpeaJvuacgOi/keeahOWNleWFg+agvOe0ouW8lVxuICAgICAqL1xuICAgIHB1YmxpYyBmaW5kTmVhcmVzdENlbGxJbmRleChvZmZzZXQ6IG51bWJlciwgaXRlbVR5cGU6IEFJVGFibGVSb3dDb2x1bW5UeXBlKSB7XG4gICAgICAgIGxldCBsYXN0SW5kZXg7XG4gICAgICAgIGlmIChpdGVtVHlwZSA9PT0gQUlUYWJsZVJvd0NvbHVtblR5cGUuY29sdW1uKSB7XG4gICAgICAgICAgICBsYXN0SW5kZXggPSB0aGlzLmxhc3RDb2x1bW5JbmRleDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxhc3RJbmRleCA9IHRoaXMubGFzdFJvd0luZGV4O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNlbGxPZmZzZXQgPSB0aGlzLmdldENlbGxNZXRhRGF0YShsYXN0SW5kZXgsIGl0ZW1UeXBlKS5vZmZzZXQ7XG4gICAgICAgIGNvbnN0IGxhc3RNZWFzdXJlZEl0ZW1PZmZzZXQgPSBsYXN0SW5kZXggPiAwID8gY2VsbE9mZnNldCA6IDA7XG5cbiAgICAgICAgaWYgKGxhc3RNZWFzdXJlZEl0ZW1PZmZzZXQgPj0gb2Zmc2V0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZmluZE5lYXJlc3RDZWxsSW5kZXhCeUJpbmFyeShvZmZzZXQsIDAsIGxhc3RJbmRleCwgaXRlbVR5cGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9maW5kTmVhcmVzdENlbGxJbmRleChNYXRoLm1heCgwLCBsYXN0SW5kZXgpLCBvZmZzZXQsIGl0ZW1UeXBlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmoLnmja7lnoLnm7TlgY/np7vph4/mib7liLDotbflp4vljZXlhYPmoLznmoTntKLlvJVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Um93U3RhcnRJbmRleChvZmZzZXQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5maW5kTmVhcmVzdENlbGxJbmRleChvZmZzZXQsIEFJVGFibGVSb3dDb2x1bW5UeXBlLnJvdyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2u5Z6C55u06LW35aeL5Y2V5YWD5qC855qE57Si5byV5p+l5om+57uT5p2f5Y2V5YWD5qC855qE57Si5byVXG4gICAgICovXG4gICAgcHVibGljIGdldFJvd1N0b3BJbmRleChzdGFydEluZGV4OiBudW1iZXIsIHNjcm9sbFRvcDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1NZXRhZGF0YSA9IHRoaXMuZ2V0Q2VsbE1ldGFEYXRhKHN0YXJ0SW5kZXgsIEFJVGFibGVSb3dDb2x1bW5UeXBlLnJvdyk7XG4gICAgICAgIGNvbnN0IG1heE9mZnNldCA9IHNjcm9sbFRvcCArIHRoaXMuY29udGFpbmVySGVpZ2h0O1xuICAgICAgICBsZXQgb2Zmc2V0ID0gaXRlbU1ldGFkYXRhLm9mZnNldCArIGl0ZW1NZXRhZGF0YS5zaXplO1xuICAgICAgICBsZXQgc3RvcEluZGV4ID0gc3RhcnRJbmRleDtcblxuICAgICAgICB3aGlsZSAoc3RvcEluZGV4IDwgdGhpcy5yb3dDb3VudCAtIDEgJiYgb2Zmc2V0IDwgbWF4T2Zmc2V0KSB7XG4gICAgICAgICAgICBzdG9wSW5kZXgrKztcbiAgICAgICAgICAgIG9mZnNldCArPSB0aGlzLmdldENlbGxNZXRhRGF0YShzdG9wSW5kZXgsIEFJVGFibGVSb3dDb2x1bW5UeXBlLnJvdykuc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RvcEluZGV4O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOagueaNruawtOW5s+WBj+enu+mHj+aJvuWIsOi1t+Wni+WNleWFg+agvOeahOe0ouW8lVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb2x1bW5TdGFydEluZGV4KG9mZnNldDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmROZWFyZXN0Q2VsbEluZGV4KG9mZnNldCwgQUlUYWJsZVJvd0NvbHVtblR5cGUuY29sdW1uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmoLnmja7msLTlubPotbflp4vljZXlhYPmoLznmoTntKLlvJXmn6Xmib7nu5PmnZ/ljZXlhYPmoLznmoTntKLlvJVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29sdW1uU3RvcEluZGV4KHN0YXJ0SW5kZXg6IG51bWJlciwgc2Nyb2xsTGVmdDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1NZXRhZGF0YSA9IHRoaXMuZ2V0Q2VsbE1ldGFEYXRhKHN0YXJ0SW5kZXgsIEFJVGFibGVSb3dDb2x1bW5UeXBlLmNvbHVtbik7XG4gICAgICAgIGNvbnN0IG1heE9mZnNldCA9IHNjcm9sbExlZnQgKyB0aGlzLmNvbnRhaW5lcldpZHRoO1xuICAgICAgICBsZXQgb2Zmc2V0ID0gaXRlbU1ldGFkYXRhLm9mZnNldCArIGl0ZW1NZXRhZGF0YS5zaXplO1xuICAgICAgICBsZXQgc3RvcEluZGV4ID0gc3RhcnRJbmRleDtcblxuICAgICAgICB3aGlsZSAoc3RvcEluZGV4IDwgdGhpcy5jb2x1bW5Db3VudCAtIDEgJiYgb2Zmc2V0IDwgbWF4T2Zmc2V0KSB7XG4gICAgICAgICAgICBzdG9wSW5kZXgrKztcbiAgICAgICAgICAgIG9mZnNldCArPSB0aGlzLmdldENlbGxNZXRhRGF0YShzdG9wSW5kZXgsIEFJVGFibGVSb3dDb2x1bW5UeXBlLmNvbHVtbikuc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RvcEluZGV4O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOagueaNriByb3dJbmRleCDojrflj5blnoLnm7TlgY/np7vph49cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Um93T2Zmc2V0KHJvd0luZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbE1ldGFEYXRhKHJvd0luZGV4LCBBSVRhYmxlUm93Q29sdW1uVHlwZS5yb3cpLm9mZnNldDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmoLnmja4gY29sdW1uSW5kZXgg6I635Y+W5rC05bmz5YGP56e76YePXG4gICAgICovXG4gICAgcHVibGljIGdldENvbHVtbk9mZnNldChjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxNZXRhRGF0YShjb2x1bW5JbmRleCwgQUlUYWJsZVJvd0NvbHVtblR5cGUuY29sdW1uKS5vZmZzZXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Ya757uT5Yy65Z+f5a695bqmXG4gICAgICovXG4gICAgZ2V0IGZyb3plbkNvbHVtbldpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW5PZmZzZXQodGhpcy5mcm96ZW5Db2x1bW5Db3VudCkgLSB0aGlzLmNvbHVtbkluaXRTaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOagueaNriByb3dJbmRleCwgY29sdW1uSW5kZXgg6I635Y+W5Y2V5YWD5qC85Z2Q5qCH5L+h5oGvXG4gICAgICovXG4gICAgcHVibGljIGdldENlbGxSZWN0KHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgeyBzaXplOiBoZWlnaHQsIG9mZnNldDogeSB9ID0gdGhpcy5nZXRDZWxsTWV0YURhdGEocm93SW5kZXgsIEFJVGFibGVSb3dDb2x1bW5UeXBlLnJvdyk7XG4gICAgICAgIGNvbnN0IHsgc2l6ZTogd2lkdGgsIG9mZnNldDogeCB9ID0gdGhpcy5nZXRDZWxsTWV0YURhdGEoY29sdW1uSW5kZXgsIEFJVGFibGVSb3dDb2x1bW5UeXBlLmNvbHVtbik7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4LFxuICAgICAgICAgICAgeSxcbiAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0XG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
@@ -29,14 +29,14 @@ export const AITable = {
|
|
29
29
|
},
|
30
30
|
isCellVisible(aiTable, cell) {
|
31
31
|
const visibleRowIndexMap = aiTable.context.visibleRowsIndexMap();
|
32
|
-
const visibleColumnIndexMap = aiTable.context.
|
32
|
+
const visibleColumnIndexMap = aiTable.context.visibleColumnsIndexMap();
|
33
33
|
const [recordId, fieldId] = cell || [];
|
34
34
|
const isVisible = visibleRowIndexMap.has(recordId) && visibleColumnIndexMap.has(fieldId);
|
35
35
|
return isVisible;
|
36
36
|
},
|
37
37
|
getCellIndex(aiTable, cell) {
|
38
38
|
const visibleRowIndexMap = aiTable.context.visibleRowsIndexMap();
|
39
|
-
const visibleColumnIndexMap = aiTable.context.
|
39
|
+
const visibleColumnIndexMap = aiTable.context.visibleColumnsIndexMap();
|
40
40
|
if (AITable.isCellVisible(aiTable, cell)) {
|
41
41
|
const [recordId, fieldId] = cell;
|
42
42
|
return {
|
@@ -45,6 +45,13 @@ export const AITable = {
|
|
45
45
|
};
|
46
46
|
}
|
47
47
|
return null;
|
48
|
+
},
|
49
|
+
isFrozenColumn(aiTable, columnIndex) {
|
50
|
+
const frozenColumnCount = aiTable.context.frozenColumnCount();
|
51
|
+
if (columnIndex <= frozenColumnCount - 1) {
|
52
|
+
return true;
|
53
|
+
}
|
54
|
+
return false;
|
48
55
|
}
|
49
56
|
};
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb3JlL3R5cGVzL2FpLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQW1CaEQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ25CLFNBQVM7UUFDTCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsT0FBZ0I7UUFDN0IsT0FBTyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsY0FBYyxDQUFDLE9BQWdCO1FBQzNCLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDRCxhQUFhLENBQUMsT0FBZ0I7UUFDMUIsT0FBTyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQzFDLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxPQUFnQjtRQUMvQixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQzVELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDeEQsSUFBSSxpQkFBaUIsR0FBYSxFQUFFLENBQUM7UUFDckMsSUFBSSxlQUFlLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNCLGlCQUFpQixHQUFHLENBQUMsR0FBRyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO2FBQU0sSUFBSSxhQUFhLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLGlCQUFpQixHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RSxDQUFDO2FBQU0sQ0FBQztZQUNKLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBQ0QsT0FBTyxpQkFBaUIsQ0FBQztJQUM3QixDQUFDO0lBQ0QsYUFBYSxDQUFDLE9BQWdCLEVBQUUsSUFBeUI7UUFDckQsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsT0FBUSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDbEUsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLENBQUMsT0FBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDeEUsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLGtCQUFtQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUYsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELFlBQVksQ0FBQyxPQUFnQixFQUFFLElBQXlCO1FBQ3BELE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLE9BQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ2xFLE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDLE9BQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3hFLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNqQyxPQUFPO2dCQUNILFFBQVEsRUFBRSxrQkFBbUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFFO2dCQUM1QyxXQUFXLEVBQUUscUJBQXFCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBRTthQUNuRCxDQUFDO1FBQ04sQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxjQUFjLENBQUMsT0FBZ0IsRUFBRSxXQUFtQjtRQUNoRCxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxPQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMvRCxJQUFJLFdBQVcsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2xvcnMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29sb3JzJztcbmltcG9ydCB7IEFJVGFibGVTZWxlY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBSZW5kZXJlckNvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IEFJUmVjb3JkRmllbGRJZFBhdGgsIEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkcywgQUlUYWJsZVJlY29yZCwgQUlUYWJsZVJlY29yZHMgfSBmcm9tICcuL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGUge1xuICAgIHJlY29yZHM6IFdyaXRhYmxlU2lnbmFsPEFJVGFibGVSZWNvcmRzPjtcbiAgICBmaWVsZHM6IFdyaXRhYmxlU2lnbmFsPEFJVGFibGVGaWVsZHM+O1xuICAgIGNvbnRleHQ/OiBSZW5kZXJlckNvbnRleHQ7XG4gICAgc2VsZWN0aW9uOiBXcml0YWJsZVNpZ25hbDxBSVRhYmxlU2VsZWN0aW9uPjtcbiAgICBrZXl3b3Jkc01hdGNoZWRDZWxsczogV3JpdGFibGVTaWduYWw8U2V0PHN0cmluZz4+OyAvLyBbYCR7cmVjb3JkSWR9OiR7ZmllbGRJZH1gXVxuICAgIHJlY29yZHNNYXA6IFNpZ25hbDx7IFtrZXk6IHN0cmluZ106IEFJVGFibGVSZWNvcmQgfT47XG4gICAgZmllbGRzTWFwOiBTaWduYWw8eyBba2V5OiBzdHJpbmddOiBBSVRhYmxlRmllbGQgfT47XG4gICAgcmVjb3Jkc1dpbGxIaWRkZW46IFdyaXRhYmxlU2lnbmFsPHN0cmluZ1tdPjtcbiAgICByZWNvcmRzV2lsbE1vdmU6IFdyaXRhYmxlU2lnbmFsPHN0cmluZ1tdPjtcbn1cblxuZXhwb3J0IHR5cGUgQUlQbHVnaW4gPSAoYWlUYWJsZTogQUlUYWJsZSkgPT4gQUlUYWJsZTtcblxuZXhwb3J0IGNvbnN0IEFJVGFibGUgPSB7XG4gICAgZ2V0Q29sb3JzKCkge1xuICAgICAgICByZXR1cm4gQ29sb3JzO1xuICAgIH0sXG4gICAgZ2V0VmlzaWJsZUZpZWxkcyhhaVRhYmxlOiBBSVRhYmxlKTogQUlUYWJsZUZpZWxkcyB7XG4gICAgICAgIHJldHVybiBhaVRhYmxlLmZpZWxkcygpLmZpbHRlcigoZmllbGQpID0+ICFmaWVsZC5oaWRkZW4pO1xuICAgIH0sXG4gICAgZ2V0VmlzaWJsZVJvd3MoYWlUYWJsZTogQUlUYWJsZSk6IEFJVGFibGVSZWNvcmRzIHtcbiAgICAgICAgcmV0dXJuIGFpVGFibGUucmVjb3JkcygpO1xuICAgIH0sXG4gICAgZ2V0QWN0aXZlQ2VsbChhaVRhYmxlOiBBSVRhYmxlKTogQUlSZWNvcmRGaWVsZElkUGF0aCB8IG51bGwge1xuICAgICAgICByZXR1cm4gYWlUYWJsZS5zZWxlY3Rpb24oKS5hY3RpdmVDZWxsO1xuICAgIH0sXG4gICAgZ2V0QWN0aXZlUmVjb3JkSWRzKGFpVGFibGU6IEFJVGFibGUpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUmVjb3JkcyA9IGFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRSZWNvcmRzO1xuICAgICAgICBjb25zdCBzZWxlY3RlZENlbGxzID0gYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZENlbGxzO1xuICAgICAgICBsZXQgc2VsZWN0ZWRSZWNvcmRJZHM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmIChzZWxlY3RlZFJlY29yZHMuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgIHNlbGVjdGVkUmVjb3JkSWRzID0gWy4uLnNlbGVjdGVkUmVjb3Jkcy5rZXlzKCldO1xuICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQ2VsbHMuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgIHNlbGVjdGVkUmVjb3JkSWRzID0gWy4uLnNlbGVjdGVkQ2VsbHNdLm1hcCgoaXRlbSkgPT4gaXRlbS5zcGxpdCgnOicpWzBdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNlbGVjdGVkUmVjb3JkSWRzID0gW107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkUmVjb3JkSWRzO1xuICAgIH0sXG4gICAgaXNDZWxsVmlzaWJsZShhaVRhYmxlOiBBSVRhYmxlLCBjZWxsOiBBSVJlY29yZEZpZWxkSWRQYXRoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHZpc2libGVSb3dJbmRleE1hcCA9IGFpVGFibGUuY29udGV4dCEudmlzaWJsZVJvd3NJbmRleE1hcCgpO1xuICAgICAgICBjb25zdCB2aXNpYmxlQ29sdW1uSW5kZXhNYXAgPSBhaVRhYmxlLmNvbnRleHQhLnZpc2libGVDb2x1bW5zSW5kZXhNYXAoKTtcbiAgICAgICAgY29uc3QgW3JlY29yZElkLCBmaWVsZElkXSA9IGNlbGwgfHwgW107XG4gICAgICAgIGNvbnN0IGlzVmlzaWJsZSA9IHZpc2libGVSb3dJbmRleE1hcCEuaGFzKHJlY29yZElkKSAmJiB2aXNpYmxlQ29sdW1uSW5kZXhNYXAuaGFzKGZpZWxkSWQpO1xuICAgICAgICByZXR1cm4gaXNWaXNpYmxlO1xuICAgIH0sXG4gICAgZ2V0Q2VsbEluZGV4KGFpVGFibGU6IEFJVGFibGUsIGNlbGw6IEFJUmVjb3JkRmllbGRJZFBhdGgpOiB7IHJvd0luZGV4OiBudW1iZXI7IGNvbHVtbkluZGV4OiBudW1iZXIgfSB8IG51bGwge1xuICAgICAgICBjb25zdCB2aXNpYmxlUm93SW5kZXhNYXAgPSBhaVRhYmxlLmNvbnRleHQhLnZpc2libGVSb3dzSW5kZXhNYXAoKTtcbiAgICAgICAgY29uc3QgdmlzaWJsZUNvbHVtbkluZGV4TWFwID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlQ29sdW1uc0luZGV4TWFwKCk7XG4gICAgICAgIGlmIChBSVRhYmxlLmlzQ2VsbFZpc2libGUoYWlUYWJsZSwgY2VsbCkpIHtcbiAgICAgICAgICAgIGNvbnN0IFtyZWNvcmRJZCwgZmllbGRJZF0gPSBjZWxsO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByb3dJbmRleDogdmlzaWJsZVJvd0luZGV4TWFwIS5nZXQocmVjb3JkSWQpISxcbiAgICAgICAgICAgICAgICBjb2x1bW5JbmRleDogdmlzaWJsZUNvbHVtbkluZGV4TWFwLmdldChmaWVsZElkKSFcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSxcbiAgICBpc0Zyb3plbkNvbHVtbihhaVRhYmxlOiBBSVRhYmxlLCBjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGZyb3plbkNvbHVtbkNvdW50ID0gYWlUYWJsZS5jb250ZXh0IS5mcm96ZW5Db2x1bW5Db3VudCgpO1xuICAgICAgICBpZiAoY29sdW1uSW5kZXggPD0gZnJvemVuQ29sdW1uQ291bnQgLSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufTtcbiJdfQ==
|
@@ -23,9 +23,8 @@ export function createAITable(records, fields) {
|
|
23
23
|
}, {});
|
24
24
|
}),
|
25
25
|
recordsWillHidden: signal([]),
|
26
|
-
recordsWillMove: signal([])
|
27
|
-
references: signal({ members: {} })
|
26
|
+
recordsWillMove: signal([])
|
28
27
|
};
|
29
28
|
return aiTable;
|
30
29
|
}
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvY29yZS91dGlscy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBdUMsRUFBRSxNQUFxQztJQUN4RyxNQUFNLE9BQU8sR0FBWTtRQUNyQixPQUFPO1FBQ1AsTUFBTTtRQUNOLFNBQVMsRUFBRSxNQUFNLENBQUM7WUFDZCxlQUFlLEVBQUUsSUFBSSxHQUFHLEVBQUU7WUFDMUIsY0FBYyxFQUFFLElBQUksR0FBRyxFQUFFO1lBQ3pCLGFBQWEsRUFBRSxJQUFJLEdBQUcsRUFBRTtZQUN4QixVQUFVLEVBQUUsSUFBSTtTQUNuQixDQUFDO1FBQ0Ysb0JBQW9CLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdkMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdEIsT0FBTyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQ25CLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDLEVBQ0QsRUFBc0MsQ0FDekMsQ0FBQztRQUNOLENBQUMsQ0FBQztRQUNGLFNBQVMsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JCLE9BQU8sTUFBTSxFQUFFLENBQUMsTUFBTSxDQUNsQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDYixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDeEIsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQyxFQUNELEVBQXFDLENBQ3hDLENBQUM7UUFDTixDQUFDLENBQUM7UUFDRixpQkFBaUIsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzdCLGVBQWUsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO0tBQzlCLENBQUM7SUFDRixPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV3JpdGFibGVTaWduYWwsIGNvbXB1dGVkLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkcywgQUlUYWJsZVJlY29yZCwgQUlUYWJsZVJlY29yZHMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBSVRhYmxlKHJlY29yZHM6IFdyaXRhYmxlU2lnbmFsPEFJVGFibGVSZWNvcmRzPiwgZmllbGRzOiBXcml0YWJsZVNpZ25hbDxBSVRhYmxlRmllbGRzPik6IEFJVGFibGUge1xuICAgIGNvbnN0IGFpVGFibGU6IEFJVGFibGUgPSB7XG4gICAgICAgIHJlY29yZHMsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgc2VsZWN0aW9uOiBzaWduYWwoe1xuICAgICAgICAgICAgc2VsZWN0ZWRSZWNvcmRzOiBuZXcgU2V0KCksXG4gICAgICAgICAgICBzZWxlY3RlZEZpZWxkczogbmV3IFNldCgpLFxuICAgICAgICAgICAgc2VsZWN0ZWRDZWxsczogbmV3IFNldCgpLFxuICAgICAgICAgICAgYWN0aXZlQ2VsbDogbnVsbFxuICAgICAgICB9KSxcbiAgICAgICAga2V5d29yZHNNYXRjaGVkQ2VsbHM6IHNpZ25hbChuZXcgU2V0KCkpLFxuICAgICAgICByZWNvcmRzTWFwOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcmVjb3JkcygpLnJlZHVjZShcbiAgICAgICAgICAgICAgICAob2JqZWN0LCBpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdFtpdGVtLl9pZF0gPSBpdGVtO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge30gYXMgeyBba2V5OiBzdHJpbmddOiBBSVRhYmxlUmVjb3JkIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgICBmaWVsZHNNYXA6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBmaWVsZHMoKS5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKG9iamVjdCwgaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3RbaXRlbS5faWRdID0gaXRlbTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHt9IGFzIHsgW2tleTogc3RyaW5nXTogQUlUYWJsZUZpZWxkIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgICByZWNvcmRzV2lsbEhpZGRlbjogc2lnbmFsKFtdKSxcbiAgICAgICAgcmVjb3Jkc1dpbGxNb3ZlOiBzaWduYWwoW10pXG4gICAgfTtcbiAgICByZXR1cm4gYWlUYWJsZTtcbn1cbiJdfQ==
|