@ai-table/grid 0.0.34 → 0.0.35
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/core/utils/common.d.ts.map +1 -1
- package/esm2022/core/utils/common.mjs +4 -2
- package/esm2022/grid.component.mjs +22 -4
- package/esm2022/renderer/components/frozen-heads.component.mjs +4 -4
- package/esm2022/services/selection.service.mjs +33 -10
- package/esm2022/types/grid.mjs +7 -1
- package/fesm2022/ai-table-grid.mjs +61 -14
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/renderer/components/frozen-heads.component.d.ts.map +1 -1
- package/services/selection.service.d.ts +2 -0
- package/services/selection.service.d.ts.map +1 -1
- package/types/grid.d.ts +6 -0
- package/types/grid.d.ts.map +1 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { signal, computed, output, inject, ElementRef, Component, ChangeDetectionStrategy, Input, EventEmitter, Output, ChangeDetectorRef, ViewChild, HostListener, Pipe, input, Renderer2, model, booleanAttribute, Injectable, DestroyRef, NgZone, InjectionToken, effect, ViewContainerRef, viewChild, afterNextRender } from '@angular/core';
|
2
|
+
import { signal, computed, output, inject, ElementRef, Component, ChangeDetectionStrategy, Input, EventEmitter, Output, ChangeDetectorRef, ViewChild, HostListener, Pipe, input, Renderer2, model, booleanAttribute, Injectable, DestroyRef, NgZone, InjectionToken, effect, ViewContainerRef, viewChild, afterNextRender, untracked } from '@angular/core';
|
3
3
|
import * as i1$1 from 'ngx-tethys/popover';
|
4
4
|
import { ThyPopoverRef, ThyPopover, ThyPopoverModule } from 'ngx-tethys/popover';
|
5
5
|
import ObjectID from 'bson-objectid';
|
@@ -340,6 +340,12 @@ var AITableAreaType;
|
|
340
340
|
AITableAreaType["grid"] = "grid";
|
341
341
|
AITableAreaType["none"] = "none";
|
342
342
|
})(AITableAreaType || (AITableAreaType = {}));
|
343
|
+
var AITableSelectAllState;
|
344
|
+
(function (AITableSelectAllState) {
|
345
|
+
AITableSelectAllState["all"] = "all";
|
346
|
+
AITableSelectAllState["partial"] = "partial";
|
347
|
+
AITableSelectAllState["none"] = "none";
|
348
|
+
})(AITableSelectAllState || (AITableSelectAllState = {}));
|
343
349
|
|
344
350
|
var AITableRowType;
|
345
351
|
(function (AITableRowType) {
|
@@ -707,7 +713,8 @@ function createAITable(records, fields) {
|
|
707
713
|
selectedRecords: new Set(),
|
708
714
|
selectedFields: new Set(),
|
709
715
|
selectedCells: new Set(),
|
710
|
-
activeCell: null
|
716
|
+
activeCell: null,
|
717
|
+
selectAllState: AITableSelectAllState.none
|
711
718
|
}),
|
712
719
|
keywordsMatchedCells: signal(new Set()),
|
713
720
|
recordsMap: computed(() => {
|
@@ -1566,7 +1573,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
1566
1573
|
}] } });
|
1567
1574
|
|
1568
1575
|
class AITableGridSelectionService {
|
1569
|
-
constructor() {
|
1576
|
+
constructor() {
|
1577
|
+
this.selectAllState = computed(() => {
|
1578
|
+
const selectedRecords = this.aiTable.selection().selectedRecords;
|
1579
|
+
return selectedRecords.size === this.aiTable.records().length
|
1580
|
+
? AITableSelectAllState.all
|
1581
|
+
: selectedRecords.size === 0
|
1582
|
+
? AITableSelectAllState.none
|
1583
|
+
: AITableSelectAllState.partial;
|
1584
|
+
});
|
1585
|
+
}
|
1570
1586
|
initialize(aiTable) {
|
1571
1587
|
this.aiTable = aiTable;
|
1572
1588
|
}
|
@@ -1575,7 +1591,8 @@ class AITableGridSelectionService {
|
|
1575
1591
|
selectedRecords: new Set(),
|
1576
1592
|
selectedFields: new Set(),
|
1577
1593
|
selectedCells: new Set(),
|
1578
|
-
activeCell: null
|
1594
|
+
activeCell: null,
|
1595
|
+
selectAllState: AITableSelectAllState.none
|
1579
1596
|
});
|
1580
1597
|
}
|
1581
1598
|
setActiveCell(activeCell) {
|
@@ -1595,19 +1612,31 @@ class AITableGridSelectionService {
|
|
1595
1612
|
else {
|
1596
1613
|
this.aiTable.selection().selectedRecords.add(recordId);
|
1597
1614
|
}
|
1615
|
+
const selectedRecords = this.aiTable.selection().selectedRecords;
|
1598
1616
|
this.aiTable.selection.set({
|
1599
|
-
selectedRecords:
|
1617
|
+
selectedRecords: selectedRecords,
|
1600
1618
|
selectedFields: new Set(),
|
1601
1619
|
selectedCells: new Set(),
|
1602
|
-
activeCell: null
|
1620
|
+
activeCell: null,
|
1621
|
+
selectAllState: this.selectAllState()
|
1603
1622
|
});
|
1604
1623
|
}
|
1605
1624
|
toggleSelectAll(checked) {
|
1606
|
-
this.clearSelection();
|
1607
1625
|
if (checked) {
|
1608
|
-
this.aiTable.records().
|
1609
|
-
this.
|
1610
|
-
|
1626
|
+
if (this.aiTable.records().length === 0) {
|
1627
|
+
this.aiTable.selection.set({
|
1628
|
+
...this.aiTable.selection(),
|
1629
|
+
selectAllState: AITableSelectAllState.all
|
1630
|
+
});
|
1631
|
+
}
|
1632
|
+
else {
|
1633
|
+
this.aiTable.records().forEach((item) => {
|
1634
|
+
this.selectRecord(item._id);
|
1635
|
+
});
|
1636
|
+
}
|
1637
|
+
}
|
1638
|
+
else {
|
1639
|
+
this.clearSelection();
|
1611
1640
|
}
|
1612
1641
|
}
|
1613
1642
|
updateSelect(event) {
|
@@ -6193,8 +6222,8 @@ class AITableFrozenColumnHeads {
|
|
6193
6222
|
return this.config().coordinate;
|
6194
6223
|
});
|
6195
6224
|
this.isChecked = computed(() => {
|
6196
|
-
|
6197
|
-
return selection().
|
6225
|
+
// 目前只需要展示全部选中和空的状态
|
6226
|
+
return this.config().aiTable.selection().selectAllState === AITableSelectAllState.all;
|
6198
6227
|
});
|
6199
6228
|
this.fieldHeadHeight = computed(() => {
|
6200
6229
|
return this.coordinate().rowInitSize;
|
@@ -6908,6 +6937,24 @@ class AITableGrid extends AITableGridBase {
|
|
6908
6937
|
effect(() => {
|
6909
6938
|
this.setKeywordsMatchedCells();
|
6910
6939
|
}, { allowSignalWrites: true });
|
6940
|
+
effect(() => {
|
6941
|
+
const recordIdSet = new Set(this.aiTable.records().map((item) => item._id));
|
6942
|
+
untracked(() => {
|
6943
|
+
const selectedRecords = this.aiTable.selection().selectedRecords;
|
6944
|
+
for (const selectedRecordId of selectedRecords.values()) {
|
6945
|
+
if (!recordIdSet.has(selectedRecordId)) {
|
6946
|
+
selectedRecords.delete(selectedRecordId);
|
6947
|
+
}
|
6948
|
+
}
|
6949
|
+
this.aiTable.selection.update((item) => {
|
6950
|
+
return {
|
6951
|
+
...item,
|
6952
|
+
selectedRecords,
|
6953
|
+
selectAllState: this.aiTableGridSelectionService.selectAllState()
|
6954
|
+
};
|
6955
|
+
});
|
6956
|
+
});
|
6957
|
+
}, { allowSignalWrites: true });
|
6911
6958
|
}
|
6912
6959
|
ngOnInit() {
|
6913
6960
|
super.ngOnInit();
|
@@ -7054,7 +7101,7 @@ class AITableGrid extends AITableGridBase {
|
|
7054
7101
|
return;
|
7055
7102
|
}
|
7056
7103
|
case AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX: {
|
7057
|
-
const isChecked = this.aiTable.selection().
|
7104
|
+
const isChecked = this.aiTable.selection().selectAllState === AITableSelectAllState.all;
|
7058
7105
|
this.toggleSelectAll(!isChecked);
|
7059
7106
|
return;
|
7060
7107
|
}
|
@@ -7243,5 +7290,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
7243
7290
|
* Generated bundle index. Do not edit.
|
7244
7291
|
*/
|
7245
7292
|
|
7246
|
-
export { AITable, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableCheckType, AITableContextMenu, AITableDomGrid, AITableFieldIsMultiplePipe, AITableFieldSetting, AITableFieldType, AITableFilterOperation, AITableGrid, AITableGridEventService, AITableGridFieldService, AITableGridSelectionService, AITableMemberType, AITableMouseDownType, AITableQueries, AITableRenderer, AITableRowColumnType, AITableRowType, AITableSelectOptionStyle, AITableStatType, 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_BORDER, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE_OFFSET, AI_TABLE_CELL_EMOJI_PADDING, AI_TABLE_CELL_EMOJI_SIZE, 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_SELECT_CHECKBOX, AI_TABLE_FIELD_HEAD_TEXT_MIN_WIDTH, 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_RADIUS, AI_TABLE_PROGRESS_TEXT_Width, AI_TABLE_ROW_ADD_BUTTON, AI_TABLE_ROW_BLANK_HEIGHT, 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, Check, Colors, ColumnCalendarFilledPath, ColumnLinkOutlinedPath, ColumnMemberFilledPath, ColumnMultipleFillPath, ColumnNumberFilledPath, ColumnProgressFilledPath, ColumnRatingFilledPath, 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, DepartmentOutlinedPath, Direction, FONT_SIZE_SM, FieldOptions, GRID_CELL_EDITOR_MAP, IsSelectRecordPipe, LinkCellEditorComponent, MIN_COLUMN_WIDTH, MOUSEOVER_EDIT_TYPE, MemberSettingPipe, MoreStandOutlinedPath, NumberCellEditorComponent, ProgressEditorComponent, RatingCellEditorComponent, RendererContext, RowHeight, SelectCellEditorComponent, SelectOptionComponent, SelectOptionPipe, SelectOptionsPipe, SelectSettingPipe, StarFill, TextCellEditorComponent, TextMeasure, Unchecked, UserPipe, ViewOperationMap, WebOutlinedPath, buildGridData, buildGridLinearRows, castToString, compareNumber, compareString, createAITable, createActiveCellBorder, createCells, createDefaultField, createDefaultFieldName, generateTargetName, getAvatarBgColor, getAvatarShortName, getCellEditorBorderSpace, getCellHorizontalPosition, getColumnIndicesSizeMap, getDefaultFieldValue, getDetailByTargetName, getEditorBoxOffset, getEditorSpace, getFieldOptionByField, getHoverEditorBoxOffset, getHoverEditorSpace, getMousePosition, getPlaceHolderCellsConfigs, getTargetName, getTextWidth, getVisibleRangeInfo, handleMouseStyle, hasIntersect, idCreator, idsCreator, imageCache, isArrayField, isCellMatchKeywords, isEmpty, isMac, isNumberFiled, isSameFieldOption, isSystemField, isWindows, isWindowsOS, isWithinFrozenColumnBoundary, scrollMax, setMouseStyle, shortIdCreator, shortIdsCreator, stringInclude, textDataCache, transformCellValue, zhIntlCollator };
|
7293
|
+
export { AITable, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableCheckType, AITableContextMenu, AITableDomGrid, AITableFieldIsMultiplePipe, AITableFieldSetting, AITableFieldType, AITableFilterOperation, AITableGrid, AITableGridEventService, AITableGridFieldService, AITableGridSelectionService, AITableMemberType, AITableMouseDownType, AITableQueries, AITableRenderer, AITableRowColumnType, AITableRowType, AITableSelectAllState, AITableSelectOptionStyle, AITableStatType, 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_BORDER, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE_OFFSET, AI_TABLE_CELL_EMOJI_PADDING, AI_TABLE_CELL_EMOJI_SIZE, 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_SELECT_CHECKBOX, AI_TABLE_FIELD_HEAD_TEXT_MIN_WIDTH, 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_RADIUS, AI_TABLE_PROGRESS_TEXT_Width, AI_TABLE_ROW_ADD_BUTTON, AI_TABLE_ROW_BLANK_HEIGHT, 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, Check, Colors, ColumnCalendarFilledPath, ColumnLinkOutlinedPath, ColumnMemberFilledPath, ColumnMultipleFillPath, ColumnNumberFilledPath, ColumnProgressFilledPath, ColumnRatingFilledPath, 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, DepartmentOutlinedPath, Direction, FONT_SIZE_SM, FieldOptions, GRID_CELL_EDITOR_MAP, IsSelectRecordPipe, LinkCellEditorComponent, MIN_COLUMN_WIDTH, MOUSEOVER_EDIT_TYPE, MemberSettingPipe, MoreStandOutlinedPath, NumberCellEditorComponent, ProgressEditorComponent, RatingCellEditorComponent, RendererContext, RowHeight, SelectCellEditorComponent, SelectOptionComponent, SelectOptionPipe, SelectOptionsPipe, SelectSettingPipe, StarFill, TextCellEditorComponent, TextMeasure, Unchecked, UserPipe, ViewOperationMap, WebOutlinedPath, buildGridData, buildGridLinearRows, castToString, compareNumber, compareString, createAITable, createActiveCellBorder, createCells, createDefaultField, createDefaultFieldName, generateTargetName, getAvatarBgColor, getAvatarShortName, getCellEditorBorderSpace, getCellHorizontalPosition, getColumnIndicesSizeMap, getDefaultFieldValue, getDetailByTargetName, getEditorBoxOffset, getEditorSpace, getFieldOptionByField, getHoverEditorBoxOffset, getHoverEditorSpace, getMousePosition, getPlaceHolderCellsConfigs, getTargetName, getTextWidth, getVisibleRangeInfo, handleMouseStyle, hasIntersect, idCreator, idsCreator, imageCache, isArrayField, isCellMatchKeywords, isEmpty, isMac, isNumberFiled, isSameFieldOption, isSystemField, isWindows, isWindowsOS, isWithinFrozenColumnBoundary, scrollMax, setMouseStyle, shortIdCreator, shortIdsCreator, stringInclude, textDataCache, transformCellValue, zhIntlCollator };
|
7247
7294
|
//# sourceMappingURL=ai-table-grid.mjs.map
|