@ai-table/grid 0.0.66 → 0.0.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/cell-editors/abstract-cell-editor.component.d.ts +3 -3
- package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
- package/components/cell-editors/date/date-editor.component.d.ts +1 -1
- package/components/cell-editors/date/date-editor.component.d.ts.map +1 -1
- package/components/cell-editors/link/link-editor.component.d.ts.map +1 -1
- package/components/cell-editors/select/select-editor.component.d.ts +1 -1
- package/components/cell-editors/select/select-editor.component.d.ts.map +1 -1
- package/components/cell-views/select/option.component.d.ts +1 -1
- package/components/cell-views/select/option.component.d.ts.map +1 -1
- package/components/drag/drag.component.d.ts +1 -1
- package/components/drag/drag.component.d.ts.map +1 -1
- package/components/field-menu/field-menu.component.d.ts +2 -1
- package/components/field-menu/field-menu.component.d.ts.map +1 -1
- package/components/field-setting/field-setting.component.d.ts +2 -1
- package/components/field-setting/field-setting.component.d.ts.map +1 -1
- package/constants/editor.d.ts +1 -1
- package/constants/editor.d.ts.map +1 -1
- package/constants/grid.d.ts +1 -1
- package/constants/grid.d.ts.map +1 -1
- package/core/constants/field.d.ts +2 -1
- package/core/constants/field.d.ts.map +1 -1
- package/core/context.d.ts +3 -1
- package/core/context.d.ts.map +1 -1
- package/core/coordinate.d.ts +2 -1
- package/core/coordinate.d.ts.map +1 -1
- package/core/types/ai-table.d.ts +2 -1
- package/core/types/ai-table.d.ts.map +1 -1
- package/core/types/core.d.ts +1 -188
- package/core/types/core.d.ts.map +1 -1
- package/core/utils/common.d.ts +2 -1
- package/core/utils/common.d.ts.map +1 -1
- package/core/utils/field.d.ts +2 -1
- package/core/utils/field.d.ts.map +1 -1
- package/core/utils/index.d.ts.map +1 -1
- package/core/utils/queries.d.ts +2 -1
- package/core/utils/queries.d.ts.map +1 -1
- package/dom-grid.component.d.ts +1 -1
- package/dom-grid.component.d.ts.map +1 -1
- package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +1 -1
- package/esm2022/components/cell-editors/date/date-editor.component.mjs +1 -1
- package/esm2022/components/cell-editors/link/link-editor.component.mjs +2 -1
- package/esm2022/components/cell-editors/select/select-editor.component.mjs +3 -2
- package/esm2022/components/cell-views/select/option.component.mjs +2 -2
- package/esm2022/components/drag/drag.component.mjs +4 -4
- package/esm2022/components/field-menu/field-menu.component.mjs +1 -1
- package/esm2022/components/field-setting/field-setting.component.mjs +3 -2
- package/esm2022/constants/editor.mjs +2 -2
- package/esm2022/constants/grid.mjs +2 -2
- package/esm2022/core/constants/field.mjs +2 -2
- package/esm2022/core/context.mjs +3 -2
- package/esm2022/core/coordinate.mjs +2 -2
- package/esm2022/core/types/ai-table.mjs +1 -1
- package/esm2022/core/types/core.mjs +2 -58
- package/esm2022/core/utils/common.mjs +1 -1
- package/esm2022/core/utils/field.mjs +2 -2
- package/esm2022/core/utils/index.mjs +1 -1
- package/esm2022/core/utils/queries.mjs +2 -2
- package/esm2022/dom-grid.component.mjs +1 -1
- package/esm2022/grid-base.component.mjs +3 -2
- package/esm2022/grid.component.mjs +5 -3
- package/esm2022/pipes/grid.pipe.mjs +1 -1
- package/esm2022/renderer/components/cells/attachment.component.mjs +2 -2
- package/esm2022/renderer/components/cells/cells.mjs +1 -1
- package/esm2022/renderer/components/cells/link.component.mjs +3 -3
- package/esm2022/renderer/components/cells/progress.component.mjs +2 -2
- package/esm2022/renderer/components/cells/rate.component.mjs +2 -2
- package/esm2022/renderer/components/cells/rich-text.component.mjs +2 -2
- package/esm2022/renderer/components/field-icon.component.mjs +2 -2
- package/esm2022/renderer/components/frozen-heads.component.mjs +123 -38
- package/esm2022/renderer/components/hover-cell.component.mjs +2 -3
- package/esm2022/renderer/components/hover-row-heads.component.mjs +4 -4
- package/esm2022/renderer/components/icon.component.mjs +2 -2
- package/esm2022/renderer/creations/create-cells.mjs +7 -3
- package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +7 -7
- package/esm2022/renderer/drawers/cell-drawer.mjs +3 -2
- package/esm2022/renderer/drawers/layout-drawer.mjs +7 -3
- package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +46 -30
- package/esm2022/renderer/interfaces/hover-cell.mjs +1 -1
- package/esm2022/renderer/renderer.component.mjs +7 -5
- package/esm2022/services/event.service.mjs +6 -4
- package/esm2022/services/selection.service.mjs +3 -2
- package/esm2022/types/canvas.mjs +1 -1
- package/esm2022/types/cell.mjs +1 -1
- package/esm2022/types/component-config.mjs +1 -1
- package/esm2022/types/field.mjs +1 -1
- package/esm2022/types/grid.mjs +1 -6
- package/esm2022/types/index.mjs +1 -2
- package/esm2022/types/layout.mjs +1 -1
- package/esm2022/utils/build.mjs +1 -1
- package/esm2022/utils/cell.mjs +2 -2
- package/esm2022/utils/clipboard/copy.mjs +4 -3
- package/esm2022/utils/clipboard/paste.mjs +4 -3
- package/esm2022/utils/common.mjs +1 -11
- package/esm2022/utils/field/field-operable.mjs +2 -0
- package/esm2022/utils/field/field.mjs +20 -0
- package/esm2022/utils/field/index.mjs +4 -0
- package/esm2022/utils/field/model/attachment.mjs +7 -26
- package/esm2022/utils/field/model/date.mjs +8 -17
- package/esm2022/utils/field/model/index.mjs +12 -28
- package/esm2022/utils/field/model/link.mjs +6 -22
- package/esm2022/utils/field/model/member.mjs +6 -26
- package/esm2022/utils/field/model/number.mjs +7 -14
- package/esm2022/utils/field/model/progress.mjs +7 -18
- package/esm2022/utils/field/model/rate.mjs +7 -12
- package/esm2022/utils/field/model/rich-text.mjs +7 -11
- package/esm2022/utils/field/model/select.mjs +7 -21
- package/esm2022/utils/field/model/text.mjs +6 -11
- package/esm2022/utils/field/operate.mjs +27 -2
- package/esm2022/utils/index.mjs +2 -3
- package/esm2022/utils/match-keywords.mjs +2 -2
- package/esm2022/utils/position.mjs +6 -6
- package/esm2022/utils/visible-range.mjs +3 -3
- package/fesm2022/ai-table-grid.mjs +430 -507
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid-base.component.d.ts +3 -2
- 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/pipes/grid.pipe.d.ts +4 -3
- package/pipes/grid.pipe.d.ts.map +1 -1
- package/renderer/components/cells/attachment.component.d.ts +1 -1
- package/renderer/components/cells/attachment.component.d.ts.map +1 -1
- package/renderer/components/cells/cells.d.ts +1 -1
- package/renderer/components/cells/cells.d.ts.map +1 -1
- package/renderer/components/cells/link.component.d.ts +1 -1
- package/renderer/components/cells/link.component.d.ts.map +1 -1
- package/renderer/components/cells/progress.component.d.ts +1 -1
- package/renderer/components/cells/progress.component.d.ts.map +1 -1
- package/renderer/components/cells/rate.component.d.ts +1 -1
- package/renderer/components/cells/rate.component.d.ts.map +1 -1
- package/renderer/components/cells/rich-text.component.d.ts +1 -1
- package/renderer/components/cells/rich-text.component.d.ts.map +1 -1
- package/renderer/components/field-head.component.d.ts +1 -1
- package/renderer/components/frozen-heads.component.d.ts +39 -3
- package/renderer/components/frozen-heads.component.d.ts.map +1 -1
- package/renderer/components/hover-cell.component.d.ts +2 -2
- package/renderer/components/hover-cell.component.d.ts.map +1 -1
- package/renderer/components/hover-row-heads.component.d.ts.map +1 -1
- package/renderer/creations/create-cells.d.ts +2 -1
- package/renderer/creations/create-cells.d.ts.map +1 -1
- package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -1
- package/renderer/drawers/cell-drawer.d.ts +1 -1
- package/renderer/drawers/cell-drawer.d.ts.map +1 -1
- package/renderer/drawers/layout-drawer.d.ts +3 -1
- package/renderer/drawers/layout-drawer.d.ts.map +1 -1
- package/renderer/drawers/record-row-layout-drawer.d.ts.map +1 -1
- package/renderer/interfaces/hover-cell.d.ts +1 -1
- package/renderer/interfaces/hover-cell.d.ts.map +1 -1
- package/renderer/renderer.component.d.ts +3 -2
- package/renderer/renderer.component.d.ts.map +1 -1
- package/services/event.service.d.ts +3 -2
- package/services/event.service.d.ts.map +1 -1
- package/services/selection.service.d.ts +2 -1
- package/services/selection.service.d.ts.map +1 -1
- package/types/canvas.d.ts +1 -1
- package/types/canvas.d.ts.map +1 -1
- package/types/cell.d.ts +3 -2
- package/types/cell.d.ts.map +1 -1
- package/types/component-config.d.ts +4 -2
- package/types/component-config.d.ts.map +1 -1
- package/types/field.d.ts +2 -1
- package/types/field.d.ts.map +1 -1
- package/types/grid.d.ts +4 -42
- package/types/grid.d.ts.map +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/types/layout.d.ts +2 -0
- package/types/layout.d.ts.map +1 -1
- package/utils/build.d.ts +2 -1
- package/utils/build.d.ts.map +1 -1
- package/utils/cell.d.ts +2 -2
- package/utils/cell.d.ts.map +1 -1
- package/utils/clipboard/copy.d.ts.map +1 -1
- package/utils/clipboard/paste.d.ts +2 -2
- package/utils/clipboard/paste.d.ts.map +1 -1
- package/utils/common.d.ts +0 -1
- package/utils/common.d.ts.map +1 -1
- package/utils/field/field-operable.d.ts +17 -0
- package/utils/field/field-operable.d.ts.map +1 -0
- package/utils/field/field.d.ts +4 -0
- package/utils/field/field.d.ts.map +1 -0
- package/utils/field/index.d.ts +4 -0
- package/utils/field/index.d.ts.map +1 -0
- package/utils/field/model/attachment.d.ts +5 -6
- package/utils/field/model/attachment.d.ts.map +1 -1
- package/utils/field/model/date.d.ts +4 -6
- package/utils/field/model/date.d.ts.map +1 -1
- package/utils/field/model/index.d.ts +11 -3
- package/utils/field/model/index.d.ts.map +1 -1
- package/utils/field/model/link.d.ts +3 -7
- package/utils/field/model/link.d.ts.map +1 -1
- package/utils/field/model/member.d.ts +4 -6
- package/utils/field/model/member.d.ts.map +1 -1
- package/utils/field/model/number.d.ts +4 -6
- package/utils/field/model/number.d.ts.map +1 -1
- package/utils/field/model/progress.d.ts +4 -6
- package/utils/field/model/progress.d.ts.map +1 -1
- package/utils/field/model/rate.d.ts +4 -5
- package/utils/field/model/rate.d.ts.map +1 -1
- package/utils/field/model/rich-text.d.ts +5 -5
- package/utils/field/model/rich-text.d.ts.map +1 -1
- package/utils/field/model/select.d.ts +5 -5
- package/utils/field/model/select.d.ts.map +1 -1
- package/utils/field/model/text.d.ts +3 -5
- package/utils/field/model/text.d.ts.map +1 -1
- package/utils/field/operate.d.ts +7 -0
- package/utils/field/operate.d.ts.map +1 -1
- package/utils/hover-cell.d.ts +1 -1
- package/utils/index.d.ts +1 -2
- package/utils/index.d.ts.map +1 -1
- package/utils/match-keywords.d.ts +2 -2
- package/utils/match-keywords.d.ts.map +1 -1
- package/utils/position.d.ts +3 -2
- package/utils/position.d.ts.map +1 -1
- package/utils/visible-range.d.ts +2 -1
- package/utils/visible-range.d.ts.map +1 -1
- package/esm2022/types/view.mjs +0 -18
- package/esm2022/utils/field/model/field.mjs +0 -37
- package/types/view.d.ts +0 -23
- package/types/view.d.ts.map +0 -1
- package/utils/field/model/field.d.ts +0 -21
- package/utils/field/model/field.d.ts.map +0 -1
@@ -25,11 +25,12 @@ import { Transformer } from 'konva/lib/shapes/Transformer';
|
|
25
25
|
import { Wedge } from 'konva/lib/shapes/Wedge';
|
26
26
|
import * as i1$1 from 'ngx-tethys/popover';
|
27
27
|
import { ThyPopoverRef, ThyPopover, ThyPopoverModule } from 'ngx-tethys/popover';
|
28
|
+
import { AITableFieldType, AITableRowColumnType, AITableSelectOptionStyle, DragType, AITableFilterOperation, AttachmentFieldBase, DateFieldBase, isDateValid, SelectFieldBase, LinkFieldBase, MemberFieldBase, NumberFieldBase, ProgressFieldBase, RateFieldBase, RichTextFieldBase, TextFieldBase, FieldModelBaseMap } from '@ai-table/utils';
|
28
29
|
import ObjectID from 'bson-objectid';
|
29
30
|
import { customAlphabet } from 'nanoid';
|
30
31
|
import * as _ from 'lodash';
|
31
|
-
import { isNumber, includes, values, isString, isNil } from 'lodash';
|
32
|
-
import { isUndefinedOrNull, isArray, isEmpty as isEmpty$1
|
32
|
+
import { isNumber, includes, values, isString, isNil, isEmpty } from 'lodash';
|
33
|
+
import { isUndefinedOrNull, isArray, TinyDate, helpers, isEmpty as isEmpty$1 } from 'ngx-tethys/util';
|
33
34
|
import * as i1 from '@angular/forms';
|
34
35
|
import { FormsModule } from '@angular/forms';
|
35
36
|
import { ThyDatePicker, ThyDatePickerFormatPipe } from 'ngx-tethys/date-picker';
|
@@ -493,139 +494,6 @@ const KoShapeTypes = {
|
|
493
494
|
FastLayer
|
494
495
|
};
|
495
496
|
|
496
|
-
const Colors = {
|
497
|
-
primary: '#6698FF',
|
498
|
-
gray100: '#f5f5f5',
|
499
|
-
gray200: '#eee',
|
500
|
-
gray300: '#ddd',
|
501
|
-
gray800: '#333',
|
502
|
-
gray600: '#999',
|
503
|
-
gray700: '#666',
|
504
|
-
white: '#fff',
|
505
|
-
black: '#000',
|
506
|
-
transparent: 'transparent',
|
507
|
-
gray80: '#fafafa',
|
508
|
-
headSelectedBgColor: '#EAEFFA',
|
509
|
-
itemActiveBgColor: '#6698ff1a',
|
510
|
-
itemMatchBgColor: '#ff9f731a',
|
511
|
-
waring: '#ffcd5d',
|
512
|
-
success: '#73d897'
|
513
|
-
};
|
514
|
-
|
515
|
-
const AITable = {
|
516
|
-
getColors() {
|
517
|
-
return Colors;
|
518
|
-
},
|
519
|
-
getVisibleFields(aiTable) {
|
520
|
-
return aiTable.gridData().fields.filter((field) => !field.hidden);
|
521
|
-
},
|
522
|
-
getVisibleRows(aiTable) {
|
523
|
-
return aiTable.records();
|
524
|
-
},
|
525
|
-
getActiveCell(aiTable) {
|
526
|
-
return aiTable.selection().activeCell;
|
527
|
-
},
|
528
|
-
getActiveRecordIds(aiTable) {
|
529
|
-
const selectedRecords = aiTable.selection().selectedRecords;
|
530
|
-
const selectedCells = aiTable.selection().selectedCells;
|
531
|
-
let selectedRecordIds = [];
|
532
|
-
if (selectedRecords.size > 0) {
|
533
|
-
selectedRecordIds = [...selectedRecords.keys()];
|
534
|
-
}
|
535
|
-
else if (selectedCells.size > 0) {
|
536
|
-
selectedRecordIds = [...selectedCells].map((item) => item.split(':')[0]);
|
537
|
-
}
|
538
|
-
else {
|
539
|
-
selectedRecordIds = [];
|
540
|
-
}
|
541
|
-
return selectedRecordIds;
|
542
|
-
},
|
543
|
-
isCellVisible(aiTable, cell) {
|
544
|
-
const visibleRowIndexMap = aiTable.context.visibleRowsIndexMap();
|
545
|
-
const visibleColumnIndexMap = aiTable.context.visibleColumnsIndexMap();
|
546
|
-
const [recordId, fieldId] = cell || [];
|
547
|
-
const isVisible = visibleRowIndexMap.has(recordId) && visibleColumnIndexMap.has(fieldId);
|
548
|
-
return isVisible;
|
549
|
-
},
|
550
|
-
getCellIndex(aiTable, cell) {
|
551
|
-
const visibleRowIndexMap = aiTable.context.visibleRowsIndexMap();
|
552
|
-
const visibleColumnIndexMap = aiTable.context.visibleColumnsIndexMap();
|
553
|
-
if (AITable.isCellVisible(aiTable, cell)) {
|
554
|
-
const [recordId, fieldId] = cell;
|
555
|
-
return {
|
556
|
-
rowIndex: visibleRowIndexMap.get(recordId),
|
557
|
-
columnIndex: visibleColumnIndexMap.get(fieldId)
|
558
|
-
};
|
559
|
-
}
|
560
|
-
return null;
|
561
|
-
},
|
562
|
-
isFrozenColumn(aiTable, columnIndex) {
|
563
|
-
const frozenColumnCount = aiTable.context.frozenColumnCount();
|
564
|
-
if (columnIndex <= frozenColumnCount - 1) {
|
565
|
-
return true;
|
566
|
-
}
|
567
|
-
return false;
|
568
|
-
}
|
569
|
-
};
|
570
|
-
|
571
|
-
var AITableFieldType;
|
572
|
-
(function (AITableFieldType) {
|
573
|
-
AITableFieldType["text"] = "text";
|
574
|
-
AITableFieldType["richText"] = "rich_text";
|
575
|
-
AITableFieldType["select"] = "select";
|
576
|
-
AITableFieldType["number"] = "number";
|
577
|
-
AITableFieldType["date"] = "date";
|
578
|
-
AITableFieldType["member"] = "member";
|
579
|
-
AITableFieldType["progress"] = "progress";
|
580
|
-
AITableFieldType["rate"] = "rate";
|
581
|
-
AITableFieldType["link"] = "link";
|
582
|
-
AITableFieldType["attachment"] = "attachment";
|
583
|
-
AITableFieldType["createdAt"] = "created_at";
|
584
|
-
AITableFieldType["updatedAt"] = "updated_at";
|
585
|
-
AITableFieldType["createdBy"] = "created_by";
|
586
|
-
AITableFieldType["updatedBy"] = "updated_by";
|
587
|
-
})(AITableFieldType || (AITableFieldType = {}));
|
588
|
-
var AITableStatType;
|
589
|
-
(function (AITableStatType) {
|
590
|
-
AITableStatType[AITableStatType["None"] = 0] = "None";
|
591
|
-
AITableStatType[AITableStatType["CountAll"] = 1] = "CountAll";
|
592
|
-
AITableStatType[AITableStatType["Empty"] = 2] = "Empty";
|
593
|
-
AITableStatType[AITableStatType["Filled"] = 3] = "Filled";
|
594
|
-
AITableStatType[AITableStatType["Unique"] = 4] = "Unique";
|
595
|
-
AITableStatType[AITableStatType["PercentEmpty"] = 5] = "PercentEmpty";
|
596
|
-
AITableStatType[AITableStatType["PercentFilled"] = 6] = "PercentFilled";
|
597
|
-
AITableStatType[AITableStatType["PercentUnique"] = 7] = "PercentUnique";
|
598
|
-
AITableStatType[AITableStatType["Sum"] = 8] = "Sum";
|
599
|
-
AITableStatType[AITableStatType["Average"] = 9] = "Average";
|
600
|
-
AITableStatType[AITableStatType["Max"] = 10] = "Max";
|
601
|
-
AITableStatType[AITableStatType["Min"] = 11] = "Min";
|
602
|
-
AITableStatType[AITableStatType["DateRangeOfDays"] = 12] = "DateRangeOfDays";
|
603
|
-
AITableStatType[AITableStatType["DateRangeOfMonths"] = 13] = "DateRangeOfMonths";
|
604
|
-
AITableStatType[AITableStatType["Checked"] = 14] = "Checked";
|
605
|
-
AITableStatType[AITableStatType["UnChecked"] = 15] = "UnChecked";
|
606
|
-
AITableStatType[AITableStatType["PercentChecked"] = 16] = "PercentChecked";
|
607
|
-
AITableStatType[AITableStatType["PercentUnChecked"] = 17] = "PercentUnChecked";
|
608
|
-
})(AITableStatType || (AITableStatType = {}));
|
609
|
-
var AITableSelectOptionStyle;
|
610
|
-
(function (AITableSelectOptionStyle) {
|
611
|
-
AITableSelectOptionStyle[AITableSelectOptionStyle["text"] = 1] = "text";
|
612
|
-
AITableSelectOptionStyle[AITableSelectOptionStyle["tag"] = 2] = "tag";
|
613
|
-
AITableSelectOptionStyle[AITableSelectOptionStyle["dot"] = 3] = "dot";
|
614
|
-
AITableSelectOptionStyle[AITableSelectOptionStyle["piece"] = 4] = "piece";
|
615
|
-
})(AITableSelectOptionStyle || (AITableSelectOptionStyle = {}));
|
616
|
-
var Direction;
|
617
|
-
(function (Direction) {
|
618
|
-
Direction["before"] = "before";
|
619
|
-
Direction["after"] = "after";
|
620
|
-
})(Direction || (Direction = {}));
|
621
|
-
var DragType;
|
622
|
-
(function (DragType) {
|
623
|
-
DragType["record"] = "record";
|
624
|
-
DragType["field"] = "field";
|
625
|
-
DragType["columnWidth"] = "columnWidth";
|
626
|
-
DragType["none"] = "none";
|
627
|
-
})(DragType || (DragType = {}));
|
628
|
-
|
629
497
|
var AITableGridI18nKey;
|
630
498
|
(function (AITableGridI18nKey) {
|
631
499
|
AITableGridI18nKey["dataPickerPlaceholder"] = "dataPickerPlaceholder";
|
@@ -818,86 +686,6 @@ function getFieldOptions(aiTable) {
|
|
818
686
|
];
|
819
687
|
}
|
820
688
|
|
821
|
-
var AITableAvatarSize;
|
822
|
-
(function (AITableAvatarSize) {
|
823
|
-
AITableAvatarSize[AITableAvatarSize["size16"] = 16] = "size16";
|
824
|
-
AITableAvatarSize[AITableAvatarSize["size20"] = 22] = "size20";
|
825
|
-
AITableAvatarSize[AITableAvatarSize["size24"] = 24] = "size24";
|
826
|
-
AITableAvatarSize[AITableAvatarSize["size28"] = 28] = "size28";
|
827
|
-
AITableAvatarSize[AITableAvatarSize["size32"] = 32] = "size32";
|
828
|
-
AITableAvatarSize[AITableAvatarSize["size36"] = 36] = "size36";
|
829
|
-
AITableAvatarSize[AITableAvatarSize["size44"] = 44] = "size44";
|
830
|
-
AITableAvatarSize[AITableAvatarSize["size48"] = 48] = "size48";
|
831
|
-
AITableAvatarSize[AITableAvatarSize["size68"] = 68] = "size68";
|
832
|
-
AITableAvatarSize[AITableAvatarSize["size110"] = 110] = "size110";
|
833
|
-
AITableAvatarSize[AITableAvatarSize["size160"] = 160] = "size160";
|
834
|
-
})(AITableAvatarSize || (AITableAvatarSize = {}));
|
835
|
-
var AITableAvatarType;
|
836
|
-
(function (AITableAvatarType) {
|
837
|
-
AITableAvatarType[AITableAvatarType["member"] = 0] = "member";
|
838
|
-
AITableAvatarType[AITableAvatarType["space"] = 1] = "space";
|
839
|
-
AITableAvatarType[AITableAvatarType["team"] = 2] = "team";
|
840
|
-
})(AITableAvatarType || (AITableAvatarType = {}));
|
841
|
-
var AITableMemberType;
|
842
|
-
(function (AITableMemberType) {
|
843
|
-
AITableMemberType[AITableMemberType["team"] = 1] = "team";
|
844
|
-
AITableMemberType[AITableMemberType["role"] = 2] = "role";
|
845
|
-
AITableMemberType[AITableMemberType["member"] = 3] = "member";
|
846
|
-
})(AITableMemberType || (AITableMemberType = {}));
|
847
|
-
|
848
|
-
var AITableMouseDownType;
|
849
|
-
(function (AITableMouseDownType) {
|
850
|
-
AITableMouseDownType[AITableMouseDownType["Left"] = 0] = "Left";
|
851
|
-
AITableMouseDownType[AITableMouseDownType["Center"] = 1] = "Center";
|
852
|
-
AITableMouseDownType[AITableMouseDownType["Right"] = 2] = "Right";
|
853
|
-
})(AITableMouseDownType || (AITableMouseDownType = {}));
|
854
|
-
|
855
|
-
var AITableRowColumnType;
|
856
|
-
(function (AITableRowColumnType) {
|
857
|
-
AITableRowColumnType["row"] = "row";
|
858
|
-
AITableRowColumnType["column"] = "column";
|
859
|
-
})(AITableRowColumnType || (AITableRowColumnType = {}));
|
860
|
-
var AITableCheckType;
|
861
|
-
(function (AITableCheckType) {
|
862
|
-
AITableCheckType["checked"] = "checked";
|
863
|
-
AITableCheckType["unchecked"] = "unchecked";
|
864
|
-
})(AITableCheckType || (AITableCheckType = {}));
|
865
|
-
var AITableAreaType;
|
866
|
-
(function (AITableAreaType) {
|
867
|
-
AITableAreaType["grid"] = "grid";
|
868
|
-
AITableAreaType["none"] = "none";
|
869
|
-
})(AITableAreaType || (AITableAreaType = {}));
|
870
|
-
var AITableSelectAllState;
|
871
|
-
(function (AITableSelectAllState) {
|
872
|
-
AITableSelectAllState["all"] = "all";
|
873
|
-
AITableSelectAllState["partial"] = "partial";
|
874
|
-
AITableSelectAllState["none"] = "none";
|
875
|
-
})(AITableSelectAllState || (AITableSelectAllState = {}));
|
876
|
-
|
877
|
-
var AITableRowType;
|
878
|
-
(function (AITableRowType) {
|
879
|
-
AITableRowType["add"] = "add";
|
880
|
-
AITableRowType["record"] = "record";
|
881
|
-
})(AITableRowType || (AITableRowType = {}));
|
882
|
-
|
883
|
-
var AITableFilterOperation;
|
884
|
-
(function (AITableFilterOperation) {
|
885
|
-
AITableFilterOperation["eq"] = "eq";
|
886
|
-
AITableFilterOperation["gte"] = "gte";
|
887
|
-
AITableFilterOperation["lte"] = "lte";
|
888
|
-
AITableFilterOperation["gt"] = "gt";
|
889
|
-
AITableFilterOperation["lt"] = "lt";
|
890
|
-
AITableFilterOperation["in"] = "in";
|
891
|
-
AITableFilterOperation["contain"] = "contain";
|
892
|
-
AITableFilterOperation["ne"] = "ne";
|
893
|
-
AITableFilterOperation["nin"] = "nin";
|
894
|
-
AITableFilterOperation["between"] = "between";
|
895
|
-
AITableFilterOperation["besides"] = "besides";
|
896
|
-
AITableFilterOperation["empty"] = "empty";
|
897
|
-
AITableFilterOperation["exists"] = "exists";
|
898
|
-
AITableFilterOperation["notContain"] = "not_contain";
|
899
|
-
})(AITableFilterOperation || (AITableFilterOperation = {}));
|
900
|
-
|
901
689
|
/**
|
902
690
|
* 用于构建 Canvas 基础坐标系,后续的绘制工作以此为基础
|
903
691
|
*/
|
@@ -1119,6 +907,81 @@ class Coordinate {
|
|
1119
907
|
}
|
1120
908
|
}
|
1121
909
|
|
910
|
+
const Colors = {
|
911
|
+
primary: '#6698FF',
|
912
|
+
gray100: '#f5f5f5',
|
913
|
+
gray200: '#eee',
|
914
|
+
gray300: '#ddd',
|
915
|
+
gray800: '#333',
|
916
|
+
gray600: '#999',
|
917
|
+
gray700: '#666',
|
918
|
+
white: '#fff',
|
919
|
+
black: '#000',
|
920
|
+
transparent: 'transparent',
|
921
|
+
gray80: '#fafafa',
|
922
|
+
headSelectedBgColor: '#EAEFFA',
|
923
|
+
itemActiveBgColor: '#6698ff1a',
|
924
|
+
itemMatchBgColor: '#ff9f731a',
|
925
|
+
waring: '#ffcd5d',
|
926
|
+
success: '#73d897'
|
927
|
+
};
|
928
|
+
|
929
|
+
const AITable = {
|
930
|
+
getColors() {
|
931
|
+
return Colors;
|
932
|
+
},
|
933
|
+
getVisibleFields(aiTable) {
|
934
|
+
return aiTable.gridData().fields.filter((field) => !field.hidden);
|
935
|
+
},
|
936
|
+
getVisibleRows(aiTable) {
|
937
|
+
return aiTable.records();
|
938
|
+
},
|
939
|
+
getActiveCell(aiTable) {
|
940
|
+
return aiTable.selection().activeCell;
|
941
|
+
},
|
942
|
+
getActiveRecordIds(aiTable) {
|
943
|
+
const selectedRecords = aiTable.selection().selectedRecords;
|
944
|
+
const selectedCells = aiTable.selection().selectedCells;
|
945
|
+
let selectedRecordIds = [];
|
946
|
+
if (selectedRecords.size > 0) {
|
947
|
+
selectedRecordIds = [...selectedRecords.keys()];
|
948
|
+
}
|
949
|
+
else if (selectedCells.size > 0) {
|
950
|
+
selectedRecordIds = [...selectedCells].map((item) => item.split(':')[0]);
|
951
|
+
}
|
952
|
+
else {
|
953
|
+
selectedRecordIds = [];
|
954
|
+
}
|
955
|
+
return selectedRecordIds;
|
956
|
+
},
|
957
|
+
isCellVisible(aiTable, cell) {
|
958
|
+
const visibleRowIndexMap = aiTable.context.visibleRowsIndexMap();
|
959
|
+
const visibleColumnIndexMap = aiTable.context.visibleColumnsIndexMap();
|
960
|
+
const [recordId, fieldId] = cell || [];
|
961
|
+
const isVisible = visibleRowIndexMap.has(recordId) && visibleColumnIndexMap.has(fieldId);
|
962
|
+
return isVisible;
|
963
|
+
},
|
964
|
+
getCellIndex(aiTable, cell) {
|
965
|
+
const visibleRowIndexMap = aiTable.context.visibleRowsIndexMap();
|
966
|
+
const visibleColumnIndexMap = aiTable.context.visibleColumnsIndexMap();
|
967
|
+
if (AITable.isCellVisible(aiTable, cell)) {
|
968
|
+
const [recordId, fieldId] = cell;
|
969
|
+
return {
|
970
|
+
rowIndex: visibleRowIndexMap.get(recordId),
|
971
|
+
columnIndex: visibleColumnIndexMap.get(fieldId)
|
972
|
+
};
|
973
|
+
}
|
974
|
+
return null;
|
975
|
+
},
|
976
|
+
isFrozenColumn(aiTable, columnIndex) {
|
977
|
+
const frozenColumnCount = aiTable.context.frozenColumnCount();
|
978
|
+
if (columnIndex <= frozenColumnCount - 1) {
|
979
|
+
return true;
|
980
|
+
}
|
981
|
+
return false;
|
982
|
+
}
|
983
|
+
};
|
984
|
+
|
1122
985
|
var AlphabetType;
|
1123
986
|
(function (AlphabetType) {
|
1124
987
|
AlphabetType[AlphabetType["url"] = 1] = "url";
|
@@ -1189,6 +1052,63 @@ function shortIdsCreator(count) {
|
|
1189
1052
|
return shortId(undefined, 8, count);
|
1190
1053
|
}
|
1191
1054
|
|
1055
|
+
var AITableAvatarSize;
|
1056
|
+
(function (AITableAvatarSize) {
|
1057
|
+
AITableAvatarSize[AITableAvatarSize["size16"] = 16] = "size16";
|
1058
|
+
AITableAvatarSize[AITableAvatarSize["size20"] = 22] = "size20";
|
1059
|
+
AITableAvatarSize[AITableAvatarSize["size24"] = 24] = "size24";
|
1060
|
+
AITableAvatarSize[AITableAvatarSize["size28"] = 28] = "size28";
|
1061
|
+
AITableAvatarSize[AITableAvatarSize["size32"] = 32] = "size32";
|
1062
|
+
AITableAvatarSize[AITableAvatarSize["size36"] = 36] = "size36";
|
1063
|
+
AITableAvatarSize[AITableAvatarSize["size44"] = 44] = "size44";
|
1064
|
+
AITableAvatarSize[AITableAvatarSize["size48"] = 48] = "size48";
|
1065
|
+
AITableAvatarSize[AITableAvatarSize["size68"] = 68] = "size68";
|
1066
|
+
AITableAvatarSize[AITableAvatarSize["size110"] = 110] = "size110";
|
1067
|
+
AITableAvatarSize[AITableAvatarSize["size160"] = 160] = "size160";
|
1068
|
+
})(AITableAvatarSize || (AITableAvatarSize = {}));
|
1069
|
+
var AITableAvatarType;
|
1070
|
+
(function (AITableAvatarType) {
|
1071
|
+
AITableAvatarType[AITableAvatarType["member"] = 0] = "member";
|
1072
|
+
AITableAvatarType[AITableAvatarType["space"] = 1] = "space";
|
1073
|
+
AITableAvatarType[AITableAvatarType["team"] = 2] = "team";
|
1074
|
+
})(AITableAvatarType || (AITableAvatarType = {}));
|
1075
|
+
var AITableMemberType;
|
1076
|
+
(function (AITableMemberType) {
|
1077
|
+
AITableMemberType[AITableMemberType["team"] = 1] = "team";
|
1078
|
+
AITableMemberType[AITableMemberType["role"] = 2] = "role";
|
1079
|
+
AITableMemberType[AITableMemberType["member"] = 3] = "member";
|
1080
|
+
})(AITableMemberType || (AITableMemberType = {}));
|
1081
|
+
|
1082
|
+
var AITableMouseDownType;
|
1083
|
+
(function (AITableMouseDownType) {
|
1084
|
+
AITableMouseDownType[AITableMouseDownType["Left"] = 0] = "Left";
|
1085
|
+
AITableMouseDownType[AITableMouseDownType["Center"] = 1] = "Center";
|
1086
|
+
AITableMouseDownType[AITableMouseDownType["Right"] = 2] = "Right";
|
1087
|
+
})(AITableMouseDownType || (AITableMouseDownType = {}));
|
1088
|
+
|
1089
|
+
var AITableCheckType;
|
1090
|
+
(function (AITableCheckType) {
|
1091
|
+
AITableCheckType["checked"] = "checked";
|
1092
|
+
AITableCheckType["unchecked"] = "unchecked";
|
1093
|
+
})(AITableCheckType || (AITableCheckType = {}));
|
1094
|
+
var AITableAreaType;
|
1095
|
+
(function (AITableAreaType) {
|
1096
|
+
AITableAreaType["grid"] = "grid";
|
1097
|
+
AITableAreaType["none"] = "none";
|
1098
|
+
})(AITableAreaType || (AITableAreaType = {}));
|
1099
|
+
var AITableSelectAllState;
|
1100
|
+
(function (AITableSelectAllState) {
|
1101
|
+
AITableSelectAllState["all"] = "all";
|
1102
|
+
AITableSelectAllState["partial"] = "partial";
|
1103
|
+
AITableSelectAllState["none"] = "none";
|
1104
|
+
})(AITableSelectAllState || (AITableSelectAllState = {}));
|
1105
|
+
|
1106
|
+
var AITableRowType;
|
1107
|
+
(function (AITableRowType) {
|
1108
|
+
AITableRowType["add"] = "add";
|
1109
|
+
AITableRowType["record"] = "record";
|
1110
|
+
})(AITableRowType || (AITableRowType = {}));
|
1111
|
+
|
1192
1112
|
function createAITable(records, fields, gridData) {
|
1193
1113
|
const aiTable = {
|
1194
1114
|
records,
|
@@ -1371,7 +1291,8 @@ const AITableQueries = {
|
|
1371
1291
|
|
1372
1292
|
class RendererContext {
|
1373
1293
|
constructor(options) {
|
1374
|
-
const { linearRows, pointPosition, scrollState, visibleColumnsIndexMap, visibleRowsIndexMap, frozenColumnCount, references, aiFieldConfig, scrollAction } = options;
|
1294
|
+
const { rowHeadWidth, linearRows, pointPosition, scrollState, visibleColumnsIndexMap, visibleRowsIndexMap, frozenColumnCount, references, aiFieldConfig, scrollAction } = options;
|
1295
|
+
this.rowHeadWidth = rowHeadWidth;
|
1375
1296
|
this.linearRows = linearRows;
|
1376
1297
|
this.pointPosition = pointPosition;
|
1377
1298
|
this.scrollState = scrollState;
|
@@ -1634,6 +1555,7 @@ class LinkCellEditorComponent extends AbstractEditCellEditor {
|
|
1634
1555
|
const action = this.elementRef.nativeElement.querySelector('.edit-icon');
|
1635
1556
|
if (!event.relatedTarget?.contains(action)) {
|
1636
1557
|
this.updateValue();
|
1558
|
+
this.closePopover();
|
1637
1559
|
}
|
1638
1560
|
}
|
1639
1561
|
ngOnInit() {
|
@@ -2594,64 +2516,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
2594
2516
|
type: Injectable
|
2595
2517
|
}], ctorParameters: () => [{ type: i1$1.ThyPopover }] });
|
2596
2518
|
|
2597
|
-
/**
|
2598
|
-
* 生成目标名称
|
2599
|
-
*/
|
2600
|
-
const generateTargetName = ({ targetName, fieldId, recordId, mouseStyle, source }) => {
|
2601
|
-
const flag = '$';
|
2602
|
-
return `${targetName}.${fieldId || flag}.${recordId || flag}.${mouseStyle || flag}.${source || flag}`;
|
2603
|
-
};
|
2604
|
-
/**
|
2605
|
-
* 取目标名称
|
2606
|
-
*/
|
2607
|
-
const getTargetName = (targetName) => {
|
2608
|
-
if (targetName == null || targetName === '')
|
2609
|
-
return AI_TABLE_BLANK;
|
2610
|
-
return targetName.split('.')[0];
|
2611
|
-
};
|
2612
|
-
/**
|
2613
|
-
* Parse targetName for built-in information
|
2614
|
-
*/
|
2615
|
-
const getDetailByTargetName = (_targetName) => {
|
2616
|
-
if (_targetName == null) {
|
2617
|
-
return {
|
2618
|
-
targetName: null,
|
2619
|
-
fieldId: null,
|
2620
|
-
recordId: null,
|
2621
|
-
mouseStyle: null
|
2622
|
-
};
|
2623
|
-
}
|
2624
|
-
const flag = '$';
|
2625
|
-
const [targetName, fieldId, recordId, mouseStyle, source] = _targetName.split('.');
|
2626
|
-
return {
|
2627
|
-
targetName,
|
2628
|
-
fieldId: fieldId === flag ? null : fieldId,
|
2629
|
-
recordId: recordId === flag ? null : recordId,
|
2630
|
-
mouseStyle: mouseStyle === flag ? null : mouseStyle,
|
2631
|
-
source: source === flag ? null : source
|
2632
|
-
};
|
2633
|
-
};
|
2634
|
-
/**
|
2635
|
-
* 转换为字符串
|
2636
|
-
* @param value
|
2637
|
-
* @returns
|
2638
|
-
*/
|
2639
|
-
const castToString = (value) => {
|
2640
|
-
if (value == null) {
|
2641
|
-
return null;
|
2642
|
-
}
|
2643
|
-
return typeof value !== 'string' ? String(value) : value;
|
2644
|
-
};
|
2645
|
-
function isEmpty(value) {
|
2646
|
-
if (isArray(value)) {
|
2647
|
-
return isEmpty$1(value);
|
2648
|
-
}
|
2649
|
-
if (isObject(value)) {
|
2650
|
-
return Reflect.ownKeys(value).length === 0;
|
2651
|
-
}
|
2652
|
-
return isUndefinedOrNull(value) || value === '';
|
2653
|
-
}
|
2654
|
-
|
2655
2519
|
const zhIntlCollator = typeof Intl !== 'undefined' ? new Intl.Collator('zh-CN') : undefined;
|
2656
2520
|
function compareNumber(a, b) {
|
2657
2521
|
if (isEmpty(a) && isEmpty(b)) {
|
@@ -2699,46 +2563,32 @@ function hasIntersect(array1, array2) {
|
|
2699
2563
|
}
|
2700
2564
|
return false;
|
2701
2565
|
}
|
2702
|
-
|
2703
|
-
|
2704
|
-
|
2705
|
-
|
2706
|
-
|
2707
|
-
case AITableFilterOperation.empty:
|
2708
|
-
case AITableFilterOperation.exists: {
|
2709
|
-
return this.isEmptyOrNot(condition.operation, cellValue);
|
2710
|
-
}
|
2711
|
-
default: {
|
2712
|
-
return true;
|
2713
|
-
}
|
2566
|
+
function isMeetFilter(condition, cellValue, options) {
|
2567
|
+
switch (condition.operation) {
|
2568
|
+
case AITableFilterOperation.empty:
|
2569
|
+
case AITableFilterOperation.exists: {
|
2570
|
+
return isEmptyOrNot(condition.operation, cellValue);
|
2714
2571
|
}
|
2715
|
-
|
2716
|
-
|
2717
|
-
let fullText = [];
|
2718
|
-
if (!isEmpty(transformValue)) {
|
2719
|
-
fullText.push(String(transformValue));
|
2572
|
+
default: {
|
2573
|
+
return true;
|
2720
2574
|
}
|
2721
|
-
return fullText;
|
2722
2575
|
}
|
2723
|
-
|
2724
|
-
|
2725
|
-
|
2726
|
-
|
2727
|
-
|
2728
|
-
|
2729
|
-
|
2730
|
-
|
2731
|
-
|
2732
|
-
|
2733
|
-
|
2576
|
+
}
|
2577
|
+
function isEmptyOrNot(operation, cellValue) {
|
2578
|
+
switch (operation) {
|
2579
|
+
case AITableFilterOperation.empty: {
|
2580
|
+
return isEmpty(cellValue);
|
2581
|
+
}
|
2582
|
+
case AITableFilterOperation.exists: {
|
2583
|
+
return !isEmpty(cellValue);
|
2584
|
+
}
|
2585
|
+
default: {
|
2586
|
+
throw new Error('compare operator type error');
|
2734
2587
|
}
|
2735
2588
|
}
|
2736
2589
|
}
|
2737
2590
|
|
2738
|
-
class AttachmentField extends
|
2739
|
-
isValid(cellValue) {
|
2740
|
-
return Array.isArray(cellValue) || cellValue === null;
|
2741
|
-
}
|
2591
|
+
class AttachmentField extends AttachmentFieldBase {
|
2742
2592
|
isMeetFilter(condition, cellValue) {
|
2743
2593
|
switch (condition.operation) {
|
2744
2594
|
case AITableFilterOperation.empty:
|
@@ -2750,7 +2600,7 @@ class AttachmentField extends Field {
|
|
2750
2600
|
case AITableFilterOperation.nin:
|
2751
2601
|
return Array.isArray(condition.value) && !hasIntersect(cellValue, condition.value);
|
2752
2602
|
default:
|
2753
|
-
return
|
2603
|
+
return isMeetFilter(condition, cellValue);
|
2754
2604
|
}
|
2755
2605
|
}
|
2756
2606
|
compare(cellValue1, cellValue2, references, sortKey, options) {
|
@@ -2758,21 +2608,6 @@ class AttachmentField extends Field {
|
|
2758
2608
|
const value2 = cellValueToSortValue$5(cellValue2, options.field, references, sortKey);
|
2759
2609
|
return compareString(value1, value2);
|
2760
2610
|
}
|
2761
|
-
cellFullText(transformValue, field, references) {
|
2762
|
-
let fullText = [];
|
2763
|
-
if (transformValue?.length && references) {
|
2764
|
-
for (let index = 0; index < transformValue.length; index++) {
|
2765
|
-
const attachmentInfo = references?.attachments[transformValue[index]];
|
2766
|
-
if (!attachmentInfo) {
|
2767
|
-
continue;
|
2768
|
-
}
|
2769
|
-
if (attachmentInfo.title) {
|
2770
|
-
fullText.push(attachmentInfo.title);
|
2771
|
-
}
|
2772
|
-
}
|
2773
|
-
}
|
2774
|
-
return fullText;
|
2775
|
-
}
|
2776
2611
|
toFieldValue(plainText, targetField, originData, references) {
|
2777
2612
|
return toAttachmentFieldValue(plainText, targetField, originData, references);
|
2778
2613
|
}
|
@@ -2807,14 +2642,7 @@ function cellValueToSortValue$5(cellValue, field, references, sortKey = 'title')
|
|
2807
2642
|
return values && values.length ? values.join(', ') : null;
|
2808
2643
|
}
|
2809
2644
|
|
2810
|
-
|
2811
|
-
return ((cellValue && typeof cellValue === 'object' && 'timestamp' in cellValue && typeof cellValue.timestamp === 'number') ||
|
2812
|
-
cellValue === null);
|
2813
|
-
};
|
2814
|
-
class DateField extends Field {
|
2815
|
-
isValid(cellValue) {
|
2816
|
-
return isDateValid(cellValue);
|
2817
|
-
}
|
2645
|
+
class DateField extends DateFieldBase {
|
2818
2646
|
isMeetFilter(condition, cellValue) {
|
2819
2647
|
const [left, right] = this.getTimeRange(condition.value);
|
2820
2648
|
if (isNil(cellValue)) {
|
@@ -2834,7 +2662,7 @@ class DateField extends Field {
|
|
2834
2662
|
case AITableFilterOperation.between:
|
2835
2663
|
return left <= cellValue.timestamp && cellValue.timestamp < right;
|
2836
2664
|
default:
|
2837
|
-
return
|
2665
|
+
return isMeetFilter(condition, cellValue);
|
2838
2666
|
}
|
2839
2667
|
}
|
2840
2668
|
compare(cellValue1, cellValue2) {
|
@@ -2903,7 +2731,7 @@ function cellValueToSortValue$4(cellValue) {
|
|
2903
2731
|
if (isNil(cellValue) || !isDateValid(cellValue)) {
|
2904
2732
|
return 0;
|
2905
2733
|
}
|
2906
|
-
return cellValue?.timestamp;
|
2734
|
+
return cellValue?.timestamp ?? 0;
|
2907
2735
|
}
|
2908
2736
|
function transformDateValue(text) {
|
2909
2737
|
const value = text.trim();
|
@@ -3167,7 +2995,7 @@ function buildClipboardContent(aiTable, fieldIds, recordIds) {
|
|
3167
2995
|
return clipboardContent;
|
3168
2996
|
}
|
3169
2997
|
|
3170
|
-
class SelectField extends
|
2998
|
+
class SelectField extends SelectFieldBase {
|
3171
2999
|
isValid(cellValue) {
|
3172
3000
|
return Array.isArray(cellValue) || cellValue === null;
|
3173
3001
|
}
|
@@ -3182,7 +3010,7 @@ class SelectField extends Field {
|
|
3182
3010
|
case AITableFilterOperation.nin:
|
3183
3011
|
return Array.isArray(condition.value) && !hasIntersect(cellValue, condition.value);
|
3184
3012
|
default:
|
3185
|
-
return
|
3013
|
+
return isMeetFilter(condition, cellValue);
|
3186
3014
|
}
|
3187
3015
|
}
|
3188
3016
|
compare(cellValue1, cellValue2, references, sortKey, options) {
|
@@ -3190,19 +3018,6 @@ class SelectField extends Field {
|
|
3190
3018
|
const value2 = cellValueToSortValue$3(cellValue2, options.field);
|
3191
3019
|
return compareString(value1, value2);
|
3192
3020
|
}
|
3193
|
-
cellFullText(transformValue, field) {
|
3194
|
-
let fullText = [];
|
3195
|
-
const optionsMap = helpers.keyBy(field.settings.options || [], '_id');
|
3196
|
-
if (transformValue && Array.isArray(transformValue) && transformValue.length) {
|
3197
|
-
transformValue.forEach((optionId) => {
|
3198
|
-
const option = optionsMap[optionId];
|
3199
|
-
if (option && option.text) {
|
3200
|
-
fullText.push(option.text);
|
3201
|
-
}
|
3202
|
-
});
|
3203
|
-
}
|
3204
|
-
return fullText;
|
3205
|
-
}
|
3206
3021
|
toFieldValue(plainText, targetField, originData) {
|
3207
3022
|
return toSelectFieldValue(plainText, targetField, originData);
|
3208
3023
|
}
|
@@ -3491,13 +3306,7 @@ const writeToAITable = async (aiTable, actions) => {
|
|
3491
3306
|
return isPasteSuccess;
|
3492
3307
|
};
|
3493
3308
|
|
3494
|
-
|
3495
|
-
return (cellValue && typeof cellValue === 'object' && 'url' in cellValue && 'text' in cellValue) || cellValue === null;
|
3496
|
-
};
|
3497
|
-
class LinkField extends Field {
|
3498
|
-
isValid(cellValue) {
|
3499
|
-
return isLinkValid(cellValue);
|
3500
|
-
}
|
3309
|
+
class LinkField extends LinkFieldBase {
|
3501
3310
|
isMeetFilter(condition, cellValue) {
|
3502
3311
|
if (cellValue === null) {
|
3503
3312
|
if (condition.operation === AITableFilterOperation.empty) {
|
@@ -3516,19 +3325,12 @@ class LinkField extends Field {
|
|
3516
3325
|
case AITableFilterOperation.contain:
|
3517
3326
|
return !isNil(cellTextValue) && stringInclude(cellTextValue, condition.value);
|
3518
3327
|
default:
|
3519
|
-
return
|
3328
|
+
return isMeetFilter(condition, cellTextValue);
|
3520
3329
|
}
|
3521
3330
|
}
|
3522
3331
|
compare(cellValue1, cellValue2) {
|
3523
3332
|
return compareString(cellValueToSortValue$2(cellValue1), cellValueToSortValue$2(cellValue2));
|
3524
3333
|
}
|
3525
|
-
cellFullText(transformValue) {
|
3526
|
-
let texts = [];
|
3527
|
-
if (!isNil(transformValue)) {
|
3528
|
-
texts.push(transformValue.text);
|
3529
|
-
}
|
3530
|
-
return texts;
|
3531
|
-
}
|
3532
3334
|
toFieldValue(plainText, targetField, originData) {
|
3533
3335
|
return toLinkFieldValue(plainText, targetField, originData);
|
3534
3336
|
}
|
@@ -3556,10 +3358,7 @@ function cellValueToSortValue$2(cellValue) {
|
|
3556
3358
|
return (cellValue && cellValue.text && cellValue.text.trim()) || null;
|
3557
3359
|
}
|
3558
3360
|
|
3559
|
-
class MemberField extends
|
3560
|
-
isValid(cellValue) {
|
3561
|
-
return Array.isArray(cellValue) || cellValue === null;
|
3562
|
-
}
|
3361
|
+
class MemberField extends MemberFieldBase {
|
3563
3362
|
isMeetFilter(condition, cellValue) {
|
3564
3363
|
switch (condition.operation) {
|
3565
3364
|
case AITableFilterOperation.empty:
|
@@ -3571,7 +3370,7 @@ class MemberField extends Field {
|
|
3571
3370
|
case AITableFilterOperation.nin:
|
3572
3371
|
return Array.isArray(condition.value) && !hasIntersect(cellValue, condition.value);
|
3573
3372
|
default:
|
3574
|
-
return
|
3373
|
+
return isMeetFilter(condition, cellValue);
|
3575
3374
|
}
|
3576
3375
|
}
|
3577
3376
|
compare(cellValue1, cellValue2, references, sortKey, options) {
|
@@ -3579,21 +3378,6 @@ class MemberField extends Field {
|
|
3579
3378
|
const value2 = cellValueToSortValue$1(cellValue2, options.field, references, sortKey);
|
3580
3379
|
return compareString(value1, value2);
|
3581
3380
|
}
|
3582
|
-
cellFullText(transformValue, field, references) {
|
3583
|
-
let fullText = [];
|
3584
|
-
if (transformValue?.length && references) {
|
3585
|
-
for (let index = 0; index < transformValue.length; index++) {
|
3586
|
-
const userInfo = references?.members[transformValue[index]];
|
3587
|
-
if (!userInfo) {
|
3588
|
-
continue;
|
3589
|
-
}
|
3590
|
-
if (userInfo.display_name) {
|
3591
|
-
fullText.push(userInfo.display_name);
|
3592
|
-
}
|
3593
|
-
}
|
3594
|
-
}
|
3595
|
-
return fullText;
|
3596
|
-
}
|
3597
3381
|
toFieldValue(plainText, targetField, originData, references) {
|
3598
3382
|
return toMemberFieldValue(plainText, targetField, originData, references);
|
3599
3383
|
}
|
@@ -3653,13 +3437,7 @@ function cellValueToSortValue$1(cellValue, field, references, sortKey = 'display
|
|
3653
3437
|
return values && values.length ? values.join(', ') : null;
|
3654
3438
|
}
|
3655
3439
|
|
3656
|
-
|
3657
|
-
return typeof cellValue === 'number' || cellValue === null;
|
3658
|
-
};
|
3659
|
-
class NumberField extends Field {
|
3660
|
-
isValid(cellValue) {
|
3661
|
-
return isNumberValid(cellValue);
|
3662
|
-
}
|
3440
|
+
class NumberField extends NumberFieldBase {
|
3663
3441
|
isMeetFilter(condition, cellValue) {
|
3664
3442
|
switch (condition.operation) {
|
3665
3443
|
case AITableFilterOperation.empty:
|
@@ -3679,7 +3457,7 @@ class NumberField extends Field {
|
|
3679
3457
|
case AITableFilterOperation.ne:
|
3680
3458
|
return cellValue == null || Number.isNaN(condition.value) || cellValue !== condition.value;
|
3681
3459
|
default:
|
3682
|
-
return
|
3460
|
+
return isMeetFilter(condition, cellValue);
|
3683
3461
|
}
|
3684
3462
|
}
|
3685
3463
|
compare(cellValue1, cellValue2) {
|
@@ -3715,16 +3493,13 @@ function toNumberFieldValue(plainText, targetField, originData) {
|
|
3715
3493
|
return null;
|
3716
3494
|
}
|
3717
3495
|
|
3718
|
-
class ProgressField extends
|
3719
|
-
isValid(cellValue) {
|
3720
|
-
return typeof cellValue === 'number' || cellValue === null;
|
3721
|
-
}
|
3496
|
+
class ProgressField extends ProgressFieldBase {
|
3722
3497
|
isMeetFilter(condition, cellValue) {
|
3723
3498
|
switch (condition.operation) {
|
3724
3499
|
case AITableFilterOperation.empty:
|
3725
|
-
return isEmpty(cellValue);
|
3500
|
+
return isEmpty$1(cellValue);
|
3726
3501
|
case AITableFilterOperation.exists:
|
3727
|
-
return !isEmpty(cellValue);
|
3502
|
+
return !isEmpty$1(cellValue);
|
3728
3503
|
case AITableFilterOperation.eq:
|
3729
3504
|
return !Number.isNaN(condition.value) && cellValue != null && condition.value === cellValue;
|
3730
3505
|
case AITableFilterOperation.gte:
|
@@ -3738,19 +3513,12 @@ class ProgressField extends Field {
|
|
3738
3513
|
case AITableFilterOperation.ne:
|
3739
3514
|
return cellValue == null || Number.isNaN(condition.value) || cellValue !== condition.value;
|
3740
3515
|
default:
|
3741
|
-
return
|
3516
|
+
return isMeetFilter(condition, cellValue);
|
3742
3517
|
}
|
3743
3518
|
}
|
3744
3519
|
compare(cellValue1, cellValue2) {
|
3745
3520
|
return compareNumber(cellValue1, cellValue2);
|
3746
3521
|
}
|
3747
|
-
cellFullText(transformValue) {
|
3748
|
-
let fullText = [];
|
3749
|
-
if (!isEmpty(transformValue)) {
|
3750
|
-
fullText.push(`${transformValue}%`);
|
3751
|
-
}
|
3752
|
-
return fullText;
|
3753
|
-
}
|
3754
3522
|
toFieldValue(plainText, targetField, originData) {
|
3755
3523
|
return toProgressFieldValue(plainText, targetField, originData);
|
3756
3524
|
}
|
@@ -3779,7 +3547,7 @@ function toProgressFieldValue(plainText, targetField, originData) {
|
|
3779
3547
|
if (progressRegex.test(value)) {
|
3780
3548
|
value = parseFloat(value);
|
3781
3549
|
}
|
3782
|
-
if (!isEmpty(value)) {
|
3550
|
+
if (!isEmpty$1(value)) {
|
3783
3551
|
let progressValue = Number(value);
|
3784
3552
|
if (!Number.isNaN(progressValue)) {
|
3785
3553
|
progressValue = Math.round(progressValue);
|
@@ -3791,10 +3559,7 @@ function toProgressFieldValue(plainText, targetField, originData) {
|
|
3791
3559
|
return null;
|
3792
3560
|
}
|
3793
3561
|
|
3794
|
-
class RateField extends
|
3795
|
-
isValid(cellValue) {
|
3796
|
-
return isNumberValid(cellValue);
|
3797
|
-
}
|
3562
|
+
class RateField extends RateFieldBase {
|
3798
3563
|
isMeetFilter(condition, cellValue) {
|
3799
3564
|
switch (condition.operation) {
|
3800
3565
|
case AITableFilterOperation.empty:
|
@@ -3808,7 +3573,7 @@ class RateField extends Field {
|
|
3808
3573
|
const noContain = condition.value.every((item) => String(item) !== String(cellValue));
|
3809
3574
|
return isEmpty(cellValue) || noContain;
|
3810
3575
|
default:
|
3811
|
-
return
|
3576
|
+
return isMeetFilter(condition, cellValue);
|
3812
3577
|
}
|
3813
3578
|
}
|
3814
3579
|
compare(cellValue1, cellValue2) {
|
@@ -3848,10 +3613,7 @@ function toRateFieldValue(plainText, targetField, originData) {
|
|
3848
3613
|
return null;
|
3849
3614
|
}
|
3850
3615
|
|
3851
|
-
class RichTextField extends
|
3852
|
-
isValid(cellValue) {
|
3853
|
-
return Array.isArray(cellValue) || cellValue === null;
|
3854
|
-
}
|
3616
|
+
class RichTextField extends RichTextFieldBase {
|
3855
3617
|
isMeetFilter(condition, cellValue, options) {
|
3856
3618
|
const textValue = transformCellValue(options.aiTable, options.field, cellValue || []);
|
3857
3619
|
switch (condition.operation) {
|
@@ -3862,7 +3624,7 @@ class RichTextField extends Field {
|
|
3862
3624
|
case AITableFilterOperation.contain:
|
3863
3625
|
return !isEmpty(textValue) && stringInclude(textValue, condition.value);
|
3864
3626
|
default:
|
3865
|
-
return
|
3627
|
+
return isMeetFilter(condition, textValue);
|
3866
3628
|
}
|
3867
3629
|
}
|
3868
3630
|
compare(cellValue1, cellValue2, references, sortKey, options) {
|
@@ -3884,10 +3646,7 @@ function toRichTextFieldValue(plainText, targetField, originData) {
|
|
3884
3646
|
return null;
|
3885
3647
|
}
|
3886
3648
|
|
3887
|
-
class TextField extends
|
3888
|
-
isValid(cellValue) {
|
3889
|
-
return typeof cellValue === 'string' || cellValue === null;
|
3890
|
-
}
|
3649
|
+
class TextField extends TextFieldBase {
|
3891
3650
|
isMeetFilter(condition, cellValue) {
|
3892
3651
|
switch (condition.operation) {
|
3893
3652
|
case AITableFilterOperation.empty:
|
@@ -3897,7 +3656,7 @@ class TextField extends Field {
|
|
3897
3656
|
case AITableFilterOperation.contain:
|
3898
3657
|
return !isNil(cellValue) && stringInclude(cellValue, condition.value);
|
3899
3658
|
default:
|
3900
|
-
return
|
3659
|
+
return isMeetFilter(condition, cellValue);
|
3901
3660
|
}
|
3902
3661
|
}
|
3903
3662
|
compare(cellValue1, cellValue2) {
|
@@ -3917,6 +3676,7 @@ function cellValueToSortValue(cellValue) {
|
|
3917
3676
|
}
|
3918
3677
|
|
3919
3678
|
const FieldModelMap = {
|
3679
|
+
...FieldModelBaseMap,
|
3920
3680
|
[AITableFieldType.text]: new TextField(),
|
3921
3681
|
[AITableFieldType.richText]: new RichTextField(),
|
3922
3682
|
[AITableFieldType.select]: new SelectField(),
|
@@ -4007,6 +3767,55 @@ function getAvatarBgColor(name) {
|
|
4007
3767
|
return colors[code % 9];
|
4008
3768
|
}
|
4009
3769
|
|
3770
|
+
/**
|
3771
|
+
* 生成目标名称
|
3772
|
+
*/
|
3773
|
+
const generateTargetName = ({ targetName, fieldId, recordId, mouseStyle, source }) => {
|
3774
|
+
const flag = '$';
|
3775
|
+
return `${targetName}.${fieldId || flag}.${recordId || flag}.${mouseStyle || flag}.${source || flag}`;
|
3776
|
+
};
|
3777
|
+
/**
|
3778
|
+
* 取目标名称
|
3779
|
+
*/
|
3780
|
+
const getTargetName = (targetName) => {
|
3781
|
+
if (targetName == null || targetName === '')
|
3782
|
+
return AI_TABLE_BLANK;
|
3783
|
+
return targetName.split('.')[0];
|
3784
|
+
};
|
3785
|
+
/**
|
3786
|
+
* Parse targetName for built-in information
|
3787
|
+
*/
|
3788
|
+
const getDetailByTargetName = (_targetName) => {
|
3789
|
+
if (_targetName == null) {
|
3790
|
+
return {
|
3791
|
+
targetName: null,
|
3792
|
+
fieldId: null,
|
3793
|
+
recordId: null,
|
3794
|
+
mouseStyle: null
|
3795
|
+
};
|
3796
|
+
}
|
3797
|
+
const flag = '$';
|
3798
|
+
const [targetName, fieldId, recordId, mouseStyle, source] = _targetName.split('.');
|
3799
|
+
return {
|
3800
|
+
targetName,
|
3801
|
+
fieldId: fieldId === flag ? null : fieldId,
|
3802
|
+
recordId: recordId === flag ? null : recordId,
|
3803
|
+
mouseStyle: mouseStyle === flag ? null : mouseStyle,
|
3804
|
+
source: source === flag ? null : source
|
3805
|
+
};
|
3806
|
+
};
|
3807
|
+
/**
|
3808
|
+
* 转换为字符串
|
3809
|
+
* @param value
|
3810
|
+
* @returns
|
3811
|
+
*/
|
3812
|
+
const castToString = (value) => {
|
3813
|
+
if (value == null) {
|
3814
|
+
return null;
|
3815
|
+
}
|
3816
|
+
return typeof value !== 'string' ? String(value) : value;
|
3817
|
+
};
|
3818
|
+
|
4010
3819
|
function getPlaceHolderCellsConfigs(options) {
|
4011
3820
|
const { aiTable, coordinate, columnStartIndex, columnStopIndex, rowStartIndex, rowStopIndex } = options;
|
4012
3821
|
const { linearRows } = aiTable.context;
|
@@ -4204,7 +4013,7 @@ const scrollMax = (aiTable, coordinate, visibleColumns) => {
|
|
4204
4013
|
const scrollMaxWidth = visibleColumns.reduce((pre, cur) => {
|
4205
4014
|
const index = visibleColumnIndexMap.get(cur._id);
|
4206
4015
|
return pre + (isNumber(index) ? coordinate.getColumnWidth(index) : 0);
|
4207
|
-
},
|
4016
|
+
}, aiTable.context.rowHeadWidth()) + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
|
4208
4017
|
const scrollMaxHeight = coordinate.getRowOffset(coordinate.rowCount - 1) + 32;
|
4209
4018
|
return { scrollMaxWidth: Math.max(scrollMaxWidth, coordinate.containerWidth), scrollMaxHeight };
|
4210
4019
|
};
|
@@ -4214,7 +4023,7 @@ const getMousePosition = (aiTable, x, y, coordinate, fields, context, _targetNam
|
|
4214
4023
|
const { scrollMaxWidth, scrollMaxHeight } = scrollMax(aiTable, coordinate, fields);
|
4215
4024
|
const offsetTop = scrollTop + y;
|
4216
4025
|
const rowIndex = coordinate.getRowStartIndex(offsetTop);
|
4217
|
-
const offsetLeft = isWithinFrozenColumnBoundary(x, coordinate.frozenColumnWidth) ? x : scrollLeft + x;
|
4026
|
+
const offsetLeft = isWithinFrozenColumnBoundary(x, coordinate.frozenColumnWidth, context.rowHeadWidth()) ? x : scrollLeft + x;
|
4218
4027
|
const columnIndex = coordinate.getColumnStartIndex(offsetLeft);
|
4219
4028
|
const areaType = offsetLeft <= scrollMaxWidth && offsetTop <= scrollMaxHeight ? AITableAreaType.grid : AITableAreaType.none;
|
4220
4029
|
const targetName = getTargetName(_targetName);
|
@@ -4230,9 +4039,9 @@ const getMousePosition = (aiTable, x, y, coordinate, fields, context, _targetNam
|
|
4230
4039
|
y
|
4231
4040
|
};
|
4232
4041
|
};
|
4233
|
-
const isWithinFrozenColumnBoundary = (x, frozenColumnWidth) => {
|
4234
|
-
const max =
|
4235
|
-
const min =
|
4042
|
+
const isWithinFrozenColumnBoundary = (x, frozenColumnWidth, rowHeadWidth) => {
|
4043
|
+
const max = rowHeadWidth + frozenColumnWidth;
|
4044
|
+
const min = rowHeadWidth;
|
4236
4045
|
return x > min && x < max;
|
4237
4046
|
};
|
4238
4047
|
const getEditorSpace = (widthOrHeight) => {
|
@@ -5890,9 +5699,11 @@ class Layout extends Drawer {
|
|
5890
5699
|
// 列数
|
5891
5700
|
this.columnCount = 0;
|
5892
5701
|
this.containerWidth = 0;
|
5702
|
+
this.rowHeadWidth = AI_TABLE_ROW_HEAD_WIDTH;
|
5703
|
+
this.hiddenIndexColumn = false;
|
5893
5704
|
}
|
5894
5705
|
// 用于初始化或重置布局的基本属性。这个方法通常在每次渲染新的一行或单元格时调用,确保布局信息是最新的
|
5895
|
-
init({ x, y, rowIndex, columnIndex, rowHeight, columnWidth, columnCount, containerWidth }) {
|
5706
|
+
init({ x, y, rowIndex, columnIndex, rowHeight, columnWidth, columnCount, containerWidth, rowHeadWidth, hiddenIndexColumn }) {
|
5896
5707
|
this.x = x;
|
5897
5708
|
this.y = y;
|
5898
5709
|
this.rowIndex = rowIndex;
|
@@ -5901,6 +5712,8 @@ class Layout extends Drawer {
|
|
5901
5712
|
this.columnWidth = columnWidth;
|
5902
5713
|
this.columnCount = columnCount;
|
5903
5714
|
this.containerWidth = containerWidth;
|
5715
|
+
this.rowHeadWidth = rowHeadWidth;
|
5716
|
+
this.hiddenIndexColumn = hiddenIndexColumn;
|
5904
5717
|
}
|
5905
5718
|
// 当前单元格是否是行的第一列
|
5906
5719
|
get isFirst() {
|
@@ -5967,20 +5780,20 @@ class AddRowLayout extends Layout {
|
|
5967
5780
|
const frozenOffset = AI_TABLE_OFFSET;
|
5968
5781
|
const fill = isHoverRow ? this.colors.gray80 : this.colors.transparent;
|
5969
5782
|
this.rect({
|
5970
|
-
x: frozenOffset + AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
5783
|
+
x: this.hiddenIndexColumn ? frozenOffset : frozenOffset + AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
5971
5784
|
y: y + AI_TABLE_OFFSET,
|
5972
|
-
width: columnWidth +
|
5785
|
+
width: columnWidth + this.rowHeadWidth - frozenOffset + 1,
|
5973
5786
|
height: rowHeight,
|
5974
5787
|
fill
|
5975
5788
|
});
|
5976
5789
|
this.line({
|
5977
|
-
x: frozenOffset + AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
5790
|
+
x: this.hiddenIndexColumn ? frozenOffset : frozenOffset + AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
5978
5791
|
y,
|
5979
|
-
points: [0, rowHeight, columnWidth +
|
5792
|
+
points: [0, rowHeight, columnWidth + this.rowHeadWidth - frozenOffset + 1, rowHeight],
|
5980
5793
|
stroke: this.colors.gray200
|
5981
5794
|
});
|
5982
5795
|
this.path({
|
5983
|
-
x: AI_TABLE_CELL_PADDING + AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
5796
|
+
x: this.hiddenIndexColumn ? AI_TABLE_CELL_PADDING : AI_TABLE_CELL_PADDING + AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
5984
5797
|
y: y + (rowHeight - AI_TABLE_ICON_COMMON_SIZE) / 2 - AI_TABLE_OFFSET,
|
5985
5798
|
data: AddOutlinedPath,
|
5986
5799
|
size: AI_TABLE_ROW_HEAD_SIZE,
|
@@ -7177,35 +6990,51 @@ class RecordRowLayout extends Layout {
|
|
7177
6990
|
else if (isHoverRow) {
|
7178
6991
|
fillBg = colors.gray80;
|
7179
6992
|
}
|
7180
|
-
this.
|
7181
|
-
|
7182
|
-
|
7183
|
-
|
7184
|
-
|
7185
|
-
|
7186
|
-
|
7187
|
-
|
7188
|
-
|
6993
|
+
if (!this.hiddenIndexColumn) {
|
6994
|
+
this.customRect({
|
6995
|
+
x: AI_TABLE_OFFSET + AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
6996
|
+
y,
|
6997
|
+
width: this.rowHeadWidth - AI_TABLE_OFFSET - AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
6998
|
+
height: rowHeight,
|
6999
|
+
fill: fillBg,
|
7000
|
+
strokes: {
|
7001
|
+
right: colors.gray200,
|
7002
|
+
bottom: colors.gray200
|
7003
|
+
}
|
7004
|
+
});
|
7005
|
+
if (!isCheckedRow && !isHoverRow) {
|
7006
|
+
// 设置字体样式,居中绘制行号
|
7007
|
+
this.setStyle({ fontSize: DEFAULT_FONT_SIZE });
|
7008
|
+
this.text({
|
7009
|
+
x: (this.rowHeadWidth + AI_TABLE_ROW_DRAG_ICON_WIDTH) / 2,
|
7010
|
+
y: y + AI_TABLE_FIELD_HEAD_HEIGHT / 2,
|
7011
|
+
text: String(row.displayIndex),
|
7012
|
+
textAlign: DEFAULT_TEXT_ALIGN_CENTER,
|
7013
|
+
verticalAlign: DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE
|
7014
|
+
});
|
7189
7015
|
}
|
7190
|
-
|
7191
|
-
|
7192
|
-
|
7193
|
-
|
7194
|
-
|
7195
|
-
|
7196
|
-
|
7197
|
-
|
7198
|
-
|
7199
|
-
}
|
7200
|
-
|
7201
|
-
//
|
7202
|
-
this.
|
7203
|
-
|
7204
|
-
|
7205
|
-
|
7206
|
-
|
7207
|
-
|
7208
|
-
|
7016
|
+
// 第一列单元格
|
7017
|
+
this.rect({
|
7018
|
+
x: this.rowHeadWidth,
|
7019
|
+
y,
|
7020
|
+
width: columnWidth + AI_TABLE_OFFSET,
|
7021
|
+
height: rowHeight,
|
7022
|
+
fill: fill,
|
7023
|
+
stroke: colors.gray200
|
7024
|
+
});
|
7025
|
+
}
|
7026
|
+
else {
|
7027
|
+
// 第一列单元格
|
7028
|
+
this.customRect({
|
7029
|
+
x: this.rowHeadWidth,
|
7030
|
+
y,
|
7031
|
+
width: columnWidth + AI_TABLE_OFFSET,
|
7032
|
+
height: rowHeight,
|
7033
|
+
fill: fill,
|
7034
|
+
strokes: {
|
7035
|
+
right: colors.gray200,
|
7036
|
+
bottom: colors.gray200
|
7037
|
+
}
|
7209
7038
|
});
|
7210
7039
|
}
|
7211
7040
|
if (this.isLast) {
|
@@ -7306,7 +7135,9 @@ const createCells = (config) => {
|
|
7306
7135
|
columnWidth,
|
7307
7136
|
rowHeight: AI_TABLE_FIELD_HEAD_HEIGHT,
|
7308
7137
|
columnCount,
|
7309
|
-
containerWidth: coordinate.containerWidth
|
7138
|
+
containerWidth: coordinate.containerWidth,
|
7139
|
+
rowHeadWidth: context.rowHeadWidth(),
|
7140
|
+
hiddenIndexColumn: !!context.aiFieldConfig()?.hiddenIndexColumn
|
7310
7141
|
});
|
7311
7142
|
addRowLayout.render({
|
7312
7143
|
isHoverRow,
|
@@ -7326,7 +7157,9 @@ const createCells = (config) => {
|
|
7326
7157
|
columnWidth,
|
7327
7158
|
rowHeight,
|
7328
7159
|
columnCount,
|
7329
|
-
containerWidth: coordinate.containerWidth
|
7160
|
+
containerWidth: coordinate.containerWidth,
|
7161
|
+
rowHeadWidth: context.rowHeadWidth(),
|
7162
|
+
hiddenIndexColumn: !!context.aiFieldConfig()?.hiddenIndexColumn
|
7330
7163
|
});
|
7331
7164
|
recordRowLayout.render({
|
7332
7165
|
row,
|
@@ -7913,20 +7746,43 @@ class AITableFrozenColumnHeads {
|
|
7913
7746
|
constructor() {
|
7914
7747
|
this.config = input.required();
|
7915
7748
|
this.coordinate = computed(() => {
|
7916
|
-
|
7749
|
+
const config = this.config();
|
7750
|
+
if (!config)
|
7751
|
+
return null;
|
7752
|
+
return config.coordinate;
|
7753
|
+
});
|
7754
|
+
this.hiddenIndexColumn = computed(() => {
|
7755
|
+
const context = this.context();
|
7756
|
+
if (!context)
|
7757
|
+
return false;
|
7758
|
+
return context?.aiFieldConfig()?.hiddenIndexColumn;
|
7759
|
+
});
|
7760
|
+
this.context = computed(() => {
|
7761
|
+
const config = this.config();
|
7762
|
+
if (!config)
|
7763
|
+
return null;
|
7764
|
+
return config?.aiTable.context;
|
7917
7765
|
});
|
7918
7766
|
this.isChecked = computed(() => {
|
7919
|
-
|
7920
|
-
|
7767
|
+
const config = this.config();
|
7768
|
+
if (!config)
|
7769
|
+
return false;
|
7770
|
+
return config.aiTable.selection().selectAllState === AITableSelectAllState.all;
|
7921
7771
|
});
|
7922
7772
|
this.fieldHeadHeight = computed(() => {
|
7923
|
-
|
7773
|
+
const coord = this.coordinate();
|
7774
|
+
if (!coord)
|
7775
|
+
return 0;
|
7776
|
+
return coord.rowInitSize;
|
7924
7777
|
});
|
7925
7778
|
this.headConfigs = computed(() => {
|
7779
|
+
const coord = this.coordinate();
|
7780
|
+
if (!coord)
|
7781
|
+
return [];
|
7926
7782
|
return createColumnHeads({
|
7927
7783
|
...this.config(),
|
7928
7784
|
columnStartIndex: 0,
|
7929
|
-
columnStopIndex:
|
7785
|
+
columnStopIndex: coord.frozenColumnCount - 1
|
7930
7786
|
});
|
7931
7787
|
});
|
7932
7788
|
this.dragHeadBgConfig = computed(() => {
|
@@ -7940,28 +7796,39 @@ class AITableFrozenColumnHeads {
|
|
7940
7796
|
};
|
7941
7797
|
});
|
7942
7798
|
this.numberHeadBgConfig = computed(() => {
|
7799
|
+
const ctx = this.context();
|
7800
|
+
if (!ctx)
|
7801
|
+
return { width: 0, height: 0 };
|
7943
7802
|
return {
|
7944
7803
|
x: AI_TABLE_OFFSET,
|
7945
7804
|
y: AI_TABLE_OFFSET,
|
7946
|
-
width:
|
7805
|
+
width: ctx.rowHeadWidth() || 0,
|
7947
7806
|
height: this.fieldHeadHeight(),
|
7948
7807
|
fill: Colors.white,
|
7949
7808
|
listening: false
|
7950
7809
|
};
|
7951
7810
|
});
|
7952
|
-
this.topLineConfig = {
|
7953
|
-
|
7954
|
-
|
7955
|
-
|
7956
|
-
|
7957
|
-
|
7958
|
-
|
7959
|
-
|
7811
|
+
this.topLineConfig = computed(() => {
|
7812
|
+
const ctx = this.context();
|
7813
|
+
if (!ctx)
|
7814
|
+
return { points: [0, 0, 0, 0] };
|
7815
|
+
return {
|
7816
|
+
x: AI_TABLE_OFFSET + AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
7817
|
+
y: AI_TABLE_OFFSET,
|
7818
|
+
points: [0, 0, ctx.rowHeadWidth(), 0],
|
7819
|
+
stroke: Colors.gray200,
|
7820
|
+
strokeWidth: 1,
|
7821
|
+
listening: false
|
7822
|
+
};
|
7823
|
+
});
|
7960
7824
|
this.bottomLineConfig = computed(() => {
|
7825
|
+
const ctx = this.context();
|
7826
|
+
if (!ctx)
|
7827
|
+
return { points: [0, 0, 0, 0] };
|
7961
7828
|
return {
|
7962
7829
|
x: AI_TABLE_OFFSET + AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
7963
7830
|
y: AI_TABLE_OFFSET,
|
7964
|
-
points: [
|
7831
|
+
points: [ctx.rowHeadWidth(), this.fieldHeadHeight(), 0, this.fieldHeadHeight()],
|
7965
7832
|
stroke: Colors.gray200,
|
7966
7833
|
strokeWidth: 1,
|
7967
7834
|
listening: false
|
@@ -7979,32 +7846,77 @@ class AITableFrozenColumnHeads {
|
|
7979
7846
|
};
|
7980
7847
|
});
|
7981
7848
|
this.headBgConfig = computed(() => {
|
7982
|
-
const
|
7849
|
+
const coord = this.coordinate();
|
7850
|
+
const ctx = this.context();
|
7851
|
+
if (!coord || !ctx)
|
7852
|
+
return { width: 0, height: 0 };
|
7983
7853
|
return {
|
7984
|
-
x:
|
7854
|
+
x: ctx.rowHeadWidth(),
|
7985
7855
|
y: AI_TABLE_OFFSET,
|
7986
|
-
width: frozenColumnWidth + AI_TABLE_OFFSET,
|
7856
|
+
width: coord.frozenColumnWidth + AI_TABLE_OFFSET,
|
7987
7857
|
height: this.fieldHeadHeight(),
|
7988
7858
|
stroke: Colors.gray200,
|
7989
|
-
strokeWidth: 1,
|
7859
|
+
strokeWidth: this.hiddenIndexColumn() ? 0 : 1,
|
7990
7860
|
fill: Colors.transparent,
|
7991
|
-
listening: false
|
7861
|
+
listening: false,
|
7862
|
+
zIndex: 10
|
7992
7863
|
};
|
7993
7864
|
});
|
7865
|
+
this.cellLinesConfig = computed(() => {
|
7866
|
+
const coord = this.coordinate();
|
7867
|
+
const ctx = this.context();
|
7868
|
+
if (!coord || !ctx)
|
7869
|
+
return [];
|
7870
|
+
return [
|
7871
|
+
{
|
7872
|
+
x: ctx.rowHeadWidth(),
|
7873
|
+
y: AI_TABLE_OFFSET,
|
7874
|
+
points: [0, 0, coord.frozenColumnWidth + AI_TABLE_OFFSET, 0],
|
7875
|
+
stroke: Colors.gray200,
|
7876
|
+
strokeWidth: 1,
|
7877
|
+
listening: false,
|
7878
|
+
zIndex: 10
|
7879
|
+
},
|
7880
|
+
{
|
7881
|
+
x: ctx.rowHeadWidth(),
|
7882
|
+
y: AI_TABLE_OFFSET,
|
7883
|
+
points: [coord.frozenColumnWidth + AI_TABLE_OFFSET, 0, coord.frozenColumnWidth + AI_TABLE_OFFSET, this.fieldHeadHeight()],
|
7884
|
+
stroke: Colors.gray200,
|
7885
|
+
strokeWidth: 1,
|
7886
|
+
listening: false,
|
7887
|
+
zIndex: 10
|
7888
|
+
},
|
7889
|
+
{
|
7890
|
+
x: ctx.rowHeadWidth(),
|
7891
|
+
y: AI_TABLE_OFFSET,
|
7892
|
+
points: [0, this.fieldHeadHeight(), coord.frozenColumnWidth + AI_TABLE_OFFSET, this.fieldHeadHeight()],
|
7893
|
+
stroke: Colors.gray200,
|
7894
|
+
strokeWidth: 1,
|
7895
|
+
listening: false,
|
7896
|
+
zIndex: 10
|
7897
|
+
}
|
7898
|
+
];
|
7899
|
+
});
|
7994
7900
|
}
|
7995
7901
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFrozenColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
7996
7902
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableFrozenColumnHeads, isStandalone: true, selector: "ai-table-frozen-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
7997
|
-
<ko-rect [config]="
|
7998
|
-
|
7999
|
-
|
8000
|
-
|
8001
|
-
|
8002
|
-
<
|
8003
|
-
|
7903
|
+
<ko-rect [config]="headBgConfig()"></ko-rect>
|
7904
|
+
@if (!hiddenIndexColumn()) {
|
7905
|
+
<ko-rect [config]="dragHeadBgConfig()"></ko-rect>
|
7906
|
+
<ko-rect [config]="numberHeadBgConfig()"></ko-rect>
|
7907
|
+
<ko-line [config]="topLineConfig()"></ko-line>
|
7908
|
+
<ko-line [config]="bottomLineConfig()"></ko-line>
|
7909
|
+
<ko-group>
|
7910
|
+
<ai-table-icon [config]="iconConfig()"></ai-table-icon>
|
7911
|
+
</ko-group>
|
7912
|
+
} @else {
|
7913
|
+
@for (lineConfig of cellLinesConfig(); track $index) {
|
7914
|
+
<ko-line [config]="lineConfig"></ko-line>
|
7915
|
+
}
|
7916
|
+
}
|
8004
7917
|
@for (config of headConfigs(); track $index) {
|
8005
7918
|
<ai-table-field-head [config]="config"></ai-table-field-head>
|
8006
7919
|
}
|
8007
|
-
<ko-rect [config]="headBgConfig()"></ko-rect>
|
8008
7920
|
`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableFieldHead, selector: "ai-table-field-head", inputs: ["config"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
8009
7921
|
}
|
8010
7922
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFrozenColumnHeads, decorators: [{
|
@@ -8012,17 +7924,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
8012
7924
|
args: [{
|
8013
7925
|
selector: 'ai-table-frozen-column-heads',
|
8014
7926
|
template: `
|
8015
|
-
<ko-rect [config]="
|
8016
|
-
|
8017
|
-
|
8018
|
-
|
8019
|
-
|
8020
|
-
<
|
8021
|
-
|
7927
|
+
<ko-rect [config]="headBgConfig()"></ko-rect>
|
7928
|
+
@if (!hiddenIndexColumn()) {
|
7929
|
+
<ko-rect [config]="dragHeadBgConfig()"></ko-rect>
|
7930
|
+
<ko-rect [config]="numberHeadBgConfig()"></ko-rect>
|
7931
|
+
<ko-line [config]="topLineConfig()"></ko-line>
|
7932
|
+
<ko-line [config]="bottomLineConfig()"></ko-line>
|
7933
|
+
<ko-group>
|
7934
|
+
<ai-table-icon [config]="iconConfig()"></ai-table-icon>
|
7935
|
+
</ko-group>
|
7936
|
+
} @else {
|
7937
|
+
@for (lineConfig of cellLinesConfig(); track $index) {
|
7938
|
+
<ko-line [config]="lineConfig"></ko-line>
|
7939
|
+
}
|
7940
|
+
}
|
8022
7941
|
@for (config of headConfigs(); track $index) {
|
8023
7942
|
<ai-table-field-head [config]="config"></ai-table-field-head>
|
8024
7943
|
}
|
8025
|
-
<ko-rect [config]="headBgConfig()"></ko-rect>
|
8026
7944
|
`,
|
8027
7945
|
standalone: true,
|
8028
7946
|
imports: [KoShape, AITableFieldHead, AITableIcon, KoContainer],
|
@@ -8145,7 +8063,7 @@ class AITableHoverRowHeads {
|
|
8145
8063
|
y: coordinate.getRowOffset(rowIndex),
|
8146
8064
|
bgConfig: {
|
8147
8065
|
name: generateTargetName({ targetName: AI_TABLE_ROW_HEAD, recordId }),
|
8148
|
-
width:
|
8066
|
+
width: context.rowHeadWidth() + 1,
|
8149
8067
|
height: coordinate.rowHeight,
|
8150
8068
|
fill: Colors.transparent
|
8151
8069
|
}
|
@@ -8427,6 +8345,9 @@ class AITableRenderer {
|
|
8427
8345
|
this.readonly = computed(() => {
|
8428
8346
|
return this.config()?.readonly;
|
8429
8347
|
});
|
8348
|
+
this.hiddenIndexColumn = computed(() => {
|
8349
|
+
return this.config()?.aiTable.context?.aiFieldConfig()?.hiddenIndexColumn;
|
8350
|
+
});
|
8430
8351
|
this.rowDragDisabled = computed(() => {
|
8431
8352
|
return this.config()?.rowDragDisabled;
|
8432
8353
|
});
|
@@ -8446,7 +8367,7 @@ class AITableRenderer {
|
|
8446
8367
|
return getVisibleRangeInfo(this.coordinate(), this.scrollState());
|
8447
8368
|
});
|
8448
8369
|
this.frozenAreaWidth = computed(() => {
|
8449
|
-
return
|
8370
|
+
return this.config().aiTable.context.rowHeadWidth() + this.coordinate().frozenColumnWidth;
|
8450
8371
|
});
|
8451
8372
|
this.lastColumnWidth = computed(() => {
|
8452
8373
|
return this.coordinate().getColumnWidth(this.visibleRangeInfo().columnStopIndex);
|
@@ -8573,7 +8494,7 @@ class AITableRenderer {
|
|
8573
8494
|
this.koMouseleave.emit(e);
|
8574
8495
|
}
|
8575
8496
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
8576
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick", koMouseleave: "koMouseleave" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableHoverCells, selector: "ai-table-hover-cell", inputs: ["config"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
8497
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick", koMouseleave: "koMouseleave" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableHoverCells, selector: "ai-table-hover-cell", inputs: ["config"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
8577
8498
|
}
|
8578
8499
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableRenderer, decorators: [{
|
8579
8500
|
type: Component,
|
@@ -8591,7 +8512,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
8591
8512
|
AITableAddField,
|
8592
8513
|
AITableHoverRowHeads,
|
8593
8514
|
AITableOtherRows
|
8594
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
|
8515
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
|
8595
8516
|
}] });
|
8596
8517
|
|
8597
8518
|
class AITableCellRate {
|
@@ -9168,7 +9089,8 @@ class AITableGridEventService {
|
|
9168
9089
|
}
|
9169
9090
|
openCellEditor(aiTable, options) {
|
9170
9091
|
const { container, recordId, fieldId, isHoverEdit, references } = options;
|
9171
|
-
const
|
9092
|
+
const fieldType = this.aiTable.fieldsMap()[fieldId].type;
|
9093
|
+
const { component, isInternalComponent } = this.getEditorComponent(fieldType);
|
9172
9094
|
const offsetOriginPosition = this.getOriginPosition(aiTable, options);
|
9173
9095
|
this.cellEditorPopoverRef = this.thyPopover.open(component, {
|
9174
9096
|
viewContainerRef: isInternalComponent ? undefined : options?.viewContainerRef,
|
@@ -9186,7 +9108,7 @@ class AITableGridEventService {
|
|
9186
9108
|
aiTable: aiTable
|
9187
9109
|
},
|
9188
9110
|
panelClass: 'grid-cell-editor',
|
9189
|
-
outsideClosable: false,
|
9111
|
+
outsideClosable: fieldType === AITableFieldType.link ? true : false,
|
9190
9112
|
hasBackdrop: false,
|
9191
9113
|
manualClosure: true,
|
9192
9114
|
animationDisabled: true,
|
@@ -9581,7 +9503,7 @@ class AITableDragComponent {
|
|
9581
9503
|
if ((targetColumnIndex >= 0 && (targetColumnIndex - sourceColumnIndex > 1 || targetColumnIndex - sourceColumnIndex < 0)) ||
|
9582
9504
|
isLastColumn) {
|
9583
9505
|
let lineLeft = targetColumnStartX - scroll.x;
|
9584
|
-
const lineForFrozenX = lineLeft - frozenColumnWidth -
|
9506
|
+
const lineForFrozenX = lineLeft - frozenColumnWidth - aiTable.context.rowHeadWidth();
|
9585
9507
|
if (lineForFrozenX < 0) {
|
9586
9508
|
lineLeft = coordinate.getColumnOffset(0);
|
9587
9509
|
targetColumnIndex = 0;
|
@@ -9783,7 +9705,7 @@ class AITableGrid extends AITableGridBase {
|
|
9783
9705
|
rowCount: this.linearRows().length,
|
9784
9706
|
columnCount: fields.length,
|
9785
9707
|
rowInitSize: AI_TABLE_FIELD_HEAD_HEIGHT,
|
9786
|
-
columnInitSize:
|
9708
|
+
columnInitSize: this.aiTable.context.rowHeadWidth(),
|
9787
9709
|
rowIndicesSizeMap: {},
|
9788
9710
|
columnIndicesSizeMap: getColumnIndicesSizeMap(this.aiTable, fields),
|
9789
9711
|
frozenColumnCount: this.frozenColumnCount()
|
@@ -9901,6 +9823,7 @@ class AITableGrid extends AITableGridBase {
|
|
9901
9823
|
}
|
9902
9824
|
initContext() {
|
9903
9825
|
this.aiTable.context = new RendererContext({
|
9826
|
+
rowHeadWidth: computed(() => (this.aiFieldConfig()?.hiddenIndexColumn ? 0 : AI_TABLE_ROW_HEAD_WIDTH)),
|
9904
9827
|
linearRows: this.linearRows,
|
9905
9828
|
visibleColumnsIndexMap: this.visibleColumnsIndexMap,
|
9906
9829
|
visibleRowsIndexMap: this.visibleRowsIndexMap,
|
@@ -10368,5 +10291,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
10368
10291
|
* Generated bundle index. Do not edit.
|
10369
10292
|
*/
|
10370
10293
|
|
10371
|
-
export { AITable, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableCheckType, AITableContextMenu, AITableDomGrid, AITableFieldIsSameOptionPipe, AITableFieldSetting,
|
10294
|
+
export { AITable, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableCheckType, AITableContextMenu, AITableDomGrid, AITableFieldIsSameOptionPipe, AITableFieldSetting, AITableGrid, AITableGridEventService, AITableGridFieldService, AITableGridI18nKey, AITableGridSelectionService, AITableMemberType, AITableMouseDownType, AITableQueries, AITableRenderer, AITableRowType, AITableSelectAllState, AI_TABLE_ACTION_COMMON_RADIUS, AI_TABLE_ACTION_COMMON_RIGHT_PADDING, AI_TABLE_ACTION_COMMON_SIZE, AI_TABLE_BLANK, AI_TABLE_CELL, AI_TABLE_CELL_ACTIVE_BORDER_WIDTH, AI_TABLE_CELL_ADD_ITEM_BUTTON_SIZE, AI_TABLE_CELL_ATTACHMENT_ADD, AI_TABLE_CELL_ATTACHMENT_FILE, AI_TABLE_CELL_BORDER, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE_OFFSET, AI_TABLE_CELL_EDIT, AI_TABLE_CELL_EMOJI_PADDING, AI_TABLE_CELL_EMOJI_SIZE, AI_TABLE_CELL_FIELD_ITEM_HEIGHT, AI_TABLE_CELL_MAX_ROW_COUNT, AI_TABLE_CELL_MEMBER_ITEM_HEIGHT, AI_TABLE_CELL_MEMBER_ITEM_PADDING, AI_TABLE_CELL_MEMBER_MAX_HEIGHT, AI_TABLE_CELL_MULTI_DOT_RADIUS, AI_TABLE_CELL_MULTI_ITEM_MARGIN_LEFT, AI_TABLE_CELL_MULTI_ITEM_MARGIN_TOP, AI_TABLE_CELL_MULTI_ITEM_MIN_WIDTH, AI_TABLE_CELL_MULTI_PADDING_LEFT, AI_TABLE_CELL_MULTI_PADDING_TOP, AI_TABLE_CELL_PADDING, AI_TABLE_COMMON_FONT_SIZE, AI_TABLE_DEFAULT_COLUMN_WIDTH, AI_TABLE_DOT_RADIUS, AI_TABLE_FIELD_ADD_BUTTON, AI_TABLE_FIELD_ADD_BUTTON_WIDTH, AI_TABLE_FIELD_HEAD, AI_TABLE_FIELD_HEAD_HEIGHT, AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE, AI_TABLE_FIELD_HEAD_MORE, AI_TABLE_FIELD_HEAD_OPACITY_LINE, AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX, AI_TABLE_FIELD_HEAD_TEXT_MIN_WIDTH, AI_TABLE_FIELD_ITEM_MARGIN_RIGHT, AI_TABLE_FIELD_MAX_WIDTH, AI_TABLE_FIELD_MIDDLE_WIDTH, AI_TABLE_FIELD_MINI_WIDTH, AI_TABLE_FIELD_MIN_WIDTH, AI_TABLE_FILE_ICON_ITEM_HEIGHT, AI_TABLE_FILE_ICON_SIZE, AI_TABLE_GRID_FIELD_SERVICE_MAP, AI_TABLE_ICON_COMMON_SIZE, AI_TABLE_MEMBER_AVATAR_SIZE, AI_TABLE_MEMBER_ITEM_AVATAR_MARGIN_RIGHT, AI_TABLE_MEMBER_ITEM_PADDING_RIGHT, AI_TABLE_MIN_TEXT_WIDTH, AI_TABLE_OFFSET, AI_TABLE_OPTION_ITEM_FONT_SIZE, AI_TABLE_OPTION_ITEM_HEIGHT, AI_TABLE_OPTION_ITEM_PADDING, AI_TABLE_OPTION_ITEM_RADIUS, AI_TABLE_PIECE_RADIUS, AI_TABLE_PIECE_WIDTH, AI_TABLE_POPOVER_LEFT_OFFSET, AI_TABLE_PREVENT_CLEAR_SELECTION_CLASS, AI_TABLE_PROGRESS_BAR_HEIGHT, AI_TABLE_PROGRESS_BAR_POINTER_HEIGHT, AI_TABLE_PROGRESS_BAR_POINTER_WIDTH, AI_TABLE_PROGRESS_BAR_RADIUS, AI_TABLE_PROGRESS_TEXT_WIDTH, AI_TABLE_RATE_MAX, AI_TABLE_ROW_ADD_BUTTON, AI_TABLE_ROW_BLANK_HEIGHT, AI_TABLE_ROW_DRAG, AI_TABLE_ROW_DRAG_ICON_WIDTH, AI_TABLE_ROW_HEAD, AI_TABLE_ROW_HEAD_SIZE, AI_TABLE_ROW_HEAD_WIDTH, AI_TABLE_ROW_HEIGHT, AI_TABLE_ROW_SELECT_CHECKBOX, AI_TABLE_SCROLL_BAR_PADDING, AI_TABLE_TAG_FONT_SIZE, AI_TABLE_TAG_PADDING, AI_TABLE_TEXT_GAP, AbstractEditCellEditor, AddOutlinedPath, AttachmentField, AttachmentPath, Check, Colors, ColumnCalendarFilledPath, ColumnLinkOutlinedPath, ColumnMemberFilledPath, ColumnMultipleFillPath, ColumnNumberFilledPath, ColumnProgressFilledPath, ColumnRatingFilledPath, ColumnRichTextFilledPath, ColumnSelectFilledPath, ColumnTextFilledPath, Coordinate, DBL_CLICK_EDIT_TYPE, DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE, DEFAULT_FONT_STYLE, DEFAULT_FONT_WEIGHT, DEFAULT_ICON_SHAPE, DEFAULT_ICON_SIZE, DEFAULT_POINT_POSITION, DEFAULT_SCROLL_STATE, DEFAULT_TEXT_ALIGN_CENTER, DEFAULT_TEXT_ALIGN_LEFT, DEFAULT_TEXT_ALIGN_RIGHT, DEFAULT_TEXT_DECORATION, DEFAULT_TEXT_ELLIPSIS, DEFAULT_TEXT_FILL, DEFAULT_TEXT_LINE_HEIGHT, DEFAULT_TEXT_LISTENING, DEFAULT_TEXT_MAX_CACHE, DEFAULT_TEXT_MAX_HEIGHT, DEFAULT_TEXT_SCALE, DEFAULT_TEXT_TRANSFORMS_ENABLED, DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE, DEFAULT_TEXT_VERTICAL_ALIGN_TOP, DEFAULT_TEXT_WRAP, DEFAULT_WRAP_TEXT_MAX_ROW, DateCellEditorComponent, DateField, DepartmentOutlinedPath, EditPath, FONT_SIZE_SM, FieldModelMap, GRID_CELL_EDITOR_MAP, IsSelectRecordPipe, KO_CONTAINER_TOKEN, KoComponent, KoContainer, KoShape, KoShapeTypes, KoStage, LinkCellEditorComponent, LinkField, MIN_COLUMN_WIDTH, MemberField, MemberSettingPipe, MoreStandOutlinedPath, NumberCellEditorComponent, NumberField, ProgressField, RateField, RendererContext, RichTextField, RowDragPath, RowHeight, SelectCellEditorComponent, SelectField, SelectOptionComponent, SelectOptionPipe, SelectOptionsPipe, SelectSettingPipe, StarFill, TextCellEditorComponent, TextField, TextMeasure, Unchecked, UserPipe, WebOutlinedPath, aiTableFragmentAttribute, applyNodeProps, buildClipboardData, buildGridData, buildGridLinearRows, castToString, compareNumber, compareString, createAITable, createActiveCellBorder, createCells, createDefaultField, createDefaultFieldName, createListener, extractLinkUrl, extractText, generateNewName, generateTargetName, getAvatarBgColor, getAvatarShortName, getCellEditorBorderSpace, getCellHorizontalPosition, getColumnIndicesSizeMap, getDefaultFieldValue, getDefaultI18nTextByKey, getDetailByTargetName, getEditorBoxOffset, getEditorSpace, getFieldOptionByField, getFieldOptions, getFieldValue, getFileThumbnailSvgString, getHoverCell, getHoverEditorBoxOffset, getHoverEditorSpace, getI18nTextByKey, getMousePosition, getName, getPlaceHolderCellsConfigs, getSystemFieldValue, getTargetName, getTextWidth, getVisibleRangeInfo, handleMouseStyle, hasIntersect, idCreator, idsCreator, imageCache, isActiveCell, isArrayField, isCellMatchKeywords, isClipboardReadSupported, isClipboardReadTextSupported, isClipboardWriteSupported, isClipboardWriteTextSupported, isDateFiled, isEmptyOrNot, isMac, isMeetFilter, isNumberFiled, isSameFieldOption, isSelectedField, isSystemField, isWindows, isWindowsOS, isWithinFrozenColumnBoundary, processPastedValueForSelect, readFromClipboard, scrollMax, setMouseStyle, shortIdCreator, shortIdsCreator, stringInclude, textDataCache, toAttachmentFieldValue, toDateFieldValue, toLinkFieldValue, toMemberFieldValue, toNumberFieldValue, toProgressFieldValue, toRateFieldValue, toRichTextFieldValue, toSelectFieldValue, toTextFieldValue, transformCellValue, updatePicture, writeToAITable, writeToClipboard, zhIntlCollator };
|
10372
10295
|
//# sourceMappingURL=ai-table-grid.mjs.map
|