@robot-admin/naive-ui-components 0.17.6 → 0.18.0
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/CHANGELOG.md +10 -0
- package/dist/C_AntV.css +10 -10
- package/dist/C_AntV.d.cts +2 -2
- package/dist/C_AntV.d.ts +2 -2
- package/dist/C_AntV2.cjs +1 -1
- package/dist/C_AntV2.js +1 -1
- package/dist/C_Date.cjs +1 -1
- package/dist/C_Date.css +5 -5
- package/dist/C_Date.d.cts +18 -2
- package/dist/C_Date.d.ts +18 -2
- package/dist/C_Date.js +1 -1
- package/dist/C_Date2.cjs +1 -1
- package/dist/C_Date2.js +1 -1
- package/dist/C_Draggable.css +53 -53
- package/dist/C_Draggable.d.cts +2 -2
- package/dist/C_Draggable.d.ts +2 -2
- package/dist/C_Draggable2.cjs +1 -1
- package/dist/C_Draggable2.js +1 -1
- package/dist/C_Editor.d.cts +1 -1
- package/dist/C_Editor.d.ts +1 -1
- package/dist/C_FormModal.d.cts +1 -1
- package/dist/C_FormModal.d.ts +1 -1
- package/dist/C_FormSearch.cjs +1 -1
- package/dist/C_FormSearch.css +52 -52
- package/dist/C_FormSearch.d.cts +18 -2
- package/dist/C_FormSearch.d.ts +18 -2
- package/dist/C_FormSearch.js +1 -1
- package/dist/C_FormSearch2.cjs +1 -1
- package/dist/C_FormSearch2.js +1 -1
- package/dist/C_Guide.d.cts +1 -1
- package/dist/C_Guide.d.ts +1 -1
- package/dist/C_Icon.d.cts +1 -1
- package/dist/C_Icon.d.ts +1 -1
- package/dist/C_Language.d.cts +1 -1
- package/dist/C_Language.d.ts +1 -1
- package/dist/C_Loading.d.cts +1 -1
- package/dist/C_Loading.d.ts +1 -1
- package/dist/C_Login.d.cts +1 -1
- package/dist/C_Login.d.ts +1 -1
- package/dist/C_Markdown.d.cts +1 -1
- package/dist/C_Markdown.d.ts +1 -1
- package/dist/C_Menu.d.ts +1 -1
- package/dist/C_OrgChart.d.cts +1 -1
- package/dist/C_OrgChart.d.ts +1 -1
- package/dist/C_Progress.d.cts +1 -1
- package/dist/C_Progress.d.ts +1 -1
- package/dist/C_Skeleton.d.cts +1 -1
- package/dist/C_Skeleton.d.ts +1 -1
- package/dist/C_Steps.d.cts +1 -1
- package/dist/C_Steps.d.ts +1 -1
- package/dist/C_Table.base.css +144 -155
- package/dist/C_Table.css +144 -155
- package/dist/C_Table.d.cts +2 -2
- package/dist/C_Table.d.ts +6 -6
- package/dist/C_TagsView.d.cts +1 -1
- package/dist/C_TagsView.d.ts +1 -1
- package/dist/C_Theme.d.cts +1 -1
- package/dist/C_Theme.d.ts +1 -1
- package/dist/C_Time.cjs +1 -1
- package/dist/C_Time.css +4 -4
- package/dist/C_Time.d.cts +18 -2
- package/dist/C_Time.d.ts +18 -2
- package/dist/C_Time.js +1 -1
- package/dist/C_Time2.cjs +1 -1
- package/dist/C_Time2.js +1 -1
- package/dist/C_Timeline.d.cts +1 -1
- package/dist/C_Timeline.d.ts +1 -1
- package/dist/C_Transfer.css +26 -26
- package/dist/C_Transfer.d.cts +2 -2
- package/dist/C_Transfer.d.ts +2 -2
- package/dist/C_Transfer2.cjs +1 -1
- package/dist/C_Transfer2.js +1 -1
- package/dist/C_Tree.css +23 -23
- package/dist/C_Tree.d.ts +4 -4
- package/dist/C_Tree2.cjs +1 -1
- package/dist/C_Tree2.js +1 -1
- package/dist/C_VtableGantt.cjs +1 -1
- package/dist/C_VtableGantt.css +31 -31
- package/dist/C_VtableGantt.d.cts +18 -2
- package/dist/C_VtableGantt.d.ts +18 -2
- package/dist/C_VtableGantt.js +1 -1
- package/dist/C_WorkFlow.css +150 -150
- package/dist/C_WorkFlow.d.cts +2 -2
- package/dist/C_WorkFlow.d.ts +2 -2
- package/dist/C_WorkFlow2.cjs +1 -1
- package/dist/C_WorkFlow2.js +1 -1
- package/dist/constants3.d.cts +3 -3
- package/dist/constants3.d.ts +3 -3
- package/dist/constants4.d.cts +8 -8
- package/dist/constants4.d.ts +8 -8
- package/dist/constants5.d.cts +2 -2
- package/dist/constants5.d.ts +2 -2
- package/dist/data.d.cts +10 -10
- package/dist/data.d.ts +10 -10
- package/dist/dateRange.d.cts +197 -0
- package/dist/dateRange.d.ts +197 -0
- package/dist/graphics.cjs +1 -0
- package/dist/graphics.d.cts +837 -0
- package/dist/graphics.d.ts +837 -0
- package/dist/graphics.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +47 -43
- package/dist/index.d.ts +47 -44
- package/dist/index.js +1 -1
- package/dist/index.vue.d.cts +5 -5
- package/dist/index.vue.d.ts +5 -5
- package/dist/index10.vue.d.cts +4 -4
- package/dist/index10.vue.d.ts +54 -69
- package/dist/index11.vue.d.cts +54 -69
- package/dist/index11.vue.d.ts +52 -58
- package/dist/index12.vue.d.cts +52 -58
- package/dist/index12.vue.d.ts +124 -50
- package/dist/index13.vue.d.cts +124 -50
- package/dist/index13.vue.d.ts +51 -123
- package/dist/index14.vue.d.cts +51 -123
- package/dist/index14.vue.d.ts +26 -52
- package/dist/index15.vue.d.cts +26 -52
- package/dist/index15.vue.d.ts +12 -26
- package/dist/index16.vue.d.cts +12 -26
- package/dist/index16.vue.d.ts +129 -13
- package/dist/index17.vue.d.cts +129 -13
- package/dist/index17.vue.d.ts +76 -129
- package/dist/index18.vue.d.cts +76 -129
- package/dist/index18.vue.d.ts +65 -75
- package/dist/index19.vue.d.cts +97 -75
- package/dist/index19.vue.d.ts +94 -62
- package/dist/index2.vue.d.cts +2 -2
- package/dist/index2.vue.d.ts +2 -2
- package/dist/index20.vue.d.cts +40 -91
- package/dist/index20.vue.d.ts +40 -91
- package/dist/index21.vue.d.cts +89 -40
- package/dist/index21.vue.d.ts +89 -40
- package/dist/index22.vue.d.cts +37 -95
- package/dist/index22.vue.d.ts +37 -95
- package/dist/index23.vue.d.cts +8 -34
- package/dist/index23.vue.d.ts +8 -34
- package/dist/index24.vue.d.cts +86 -9
- package/dist/index24.vue.d.ts +86 -9
- package/dist/index25.vue.d.cts +99 -654
- package/dist/index25.vue.d.ts +99 -654
- package/dist/index26.vue.d.cts +66 -87
- package/dist/index26.vue.d.ts +66 -87
- package/dist/index3.vue.d.cts +3 -3
- package/dist/index3.vue.d.ts +3 -3
- package/dist/index4.vue.d.cts +3 -3
- package/dist/index6.vue.d.ts +3 -3
- package/dist/index7.vue.d.cts +3 -3
- package/dist/index8.vue.d.ts +2 -2
- package/dist/index9.vue.d.cts +2 -2
- package/dist/index9.vue.d.ts +4 -4
- package/dist/mapUtils.d.cts +1 -1
- package/dist/mapUtils.d.ts +1 -1
- package/dist/presets.d.cts +1 -1
- package/dist/presets.d.ts +1 -1
- package/dist/style.css +499 -510
- package/dist/types.d.ts +51 -0
- package/dist/types2.d.cts +51 -0
- package/dist/useCalendarEvents.d.cts +3 -3
- package/dist/useCalendarEvents.d.ts +3 -3
- package/dist/useCollapsePanel.d.cts +6 -6
- package/dist/useCollapsePanel.d.ts +6 -6
- package/dist/useCropperCore.d.cts +7 -7
- package/dist/useCropperCore.d.ts +7 -7
- package/dist/useDraggableLayout.d.cts +94 -125
- package/dist/useDraggableLayout.d.ts +94 -125
- package/dist/useDynamicFormState.d.cts +21 -8
- package/dist/useDynamicFormState.d.ts +21 -8
- package/dist/useEdgeInteraction.d.cts +10 -5
- package/dist/useEdgeInteraction.d.ts +10 -5
- package/dist/useFullscreen.d.cts +3 -3
- package/dist/useFullscreen.d.ts +3 -3
- package/dist/useInfiniteScroll.d.cts +2 -2
- package/dist/useInfiniteScroll.d.ts +2 -2
- package/dist/useQRCode.d.cts +4 -4
- package/dist/useQRCode.d.ts +4 -4
- package/dist/useSignatureHistory.d.cts +7 -7
- package/dist/useSignatureHistory.d.ts +7 -7
- package/dist/useSplitResize.d.cts +1 -1
- package/dist/useSplitResize.d.ts +1 -1
- package/dist/useTableQuery.cjs +2 -2
- package/dist/useTableQuery.d.cts +473 -463
- package/dist/useTableQuery.d.ts +473 -463
- package/dist/useTableQuery.js +2 -2
- package/dist/useTimeSelection.d.cts +19 -52
- package/dist/useTimeSelection.d.ts +19 -52
- package/dist/useWorkflowValidation.d.cts +534 -155
- package/dist/useWorkflowValidation.d.ts +534 -155
- package/dist/verification.d.cts +2 -2
- package/dist/verification.d.ts +2 -2
- package/docs/guides/usage.en.md +15 -0
- package/docs/guides/usage.md +15 -0
- package/package.json +1 -1
- package/dist/C_VtableGantt2.cjs +0 -1
- package/dist/C_VtableGantt2.js +0 -1
- package/dist/index27.vue.d.cts +0 -111
- package/dist/index27.vue.d.ts +0 -111
- package/dist/index28.vue.d.cts +0 -84
- package/dist/index28.vue.d.ts +0 -84
- package/dist/useSearchState.d.cts +0 -163
- package/dist/useSearchState.d.ts +0 -163
package/dist/useTableQuery.d.ts
CHANGED
|
@@ -154,11 +154,12 @@ declare const printPresets: {
|
|
|
154
154
|
};
|
|
155
155
|
//#endregion
|
|
156
156
|
//#region src/components/C_Table/composables/useDynamicRow.d.ts
|
|
157
|
-
interface
|
|
157
|
+
interface DynamicRowsBaseOptions<T extends object> {
|
|
158
158
|
/** 总开关;关闭时公开方法保持安全 no-op */
|
|
159
159
|
enabled?: boolean;
|
|
160
160
|
rowKey?: string | ((row: T) => DataTableRowKey);
|
|
161
|
-
|
|
161
|
+
/** 新增返回完整业务行;复制时可接收原行副本,函数 rowKey 需返回完整的新副本。 */
|
|
162
|
+
defaultRowData?: (source?: T) => T;
|
|
162
163
|
enableRadioSelection?: boolean;
|
|
163
164
|
enableAdd?: boolean;
|
|
164
165
|
enableInsert?: boolean;
|
|
@@ -181,6 +182,10 @@ interface DynamicRowsOptions<T extends object = DataRecord> {
|
|
|
181
182
|
onRowCopy?: (originalRow: T, newRow: T) => void;
|
|
182
183
|
onRowMove?: (row: T, fromIndex: number, toIndex: number) => void;
|
|
183
184
|
}
|
|
185
|
+
/** 明确业务模型必须由工厂创建完整记录;开放记录保留原有空行兼容入口。 */
|
|
186
|
+
type DynamicRowsOptions<T extends object = DataRecord> = DynamicRowsBaseOptions<T> & (string extends keyof T ? unknown : {
|
|
187
|
+
defaultRowData: (source?: T) => T;
|
|
188
|
+
});
|
|
184
189
|
interface DynamicRowsReturn<T extends object = DataRecord> {
|
|
185
190
|
selectedRowKey: Ref<DataTableRowKey | null>;
|
|
186
191
|
selectedRowData: Ref<T | null>;
|
|
@@ -209,7 +214,7 @@ interface DynamicRowsReturn<T extends object = DataRecord> {
|
|
|
209
214
|
/**
|
|
210
215
|
* 表格动态行操作功能组合
|
|
211
216
|
*/
|
|
212
|
-
declare function useDynamicRows<T extends object = DataRecord>(data: Readonly<Ref<T[]>>, options?: MaybeRefOrGetter<DynamicRowsOptions<T>>): DynamicRowsReturn<T>;
|
|
217
|
+
declare function useDynamicRows<T extends object = DataRecord>(data: Readonly<Ref<T[]>>, ...args: string extends keyof T ? [options?: MaybeRefOrGetter<DynamicRowsOptions<T>>] : [options: MaybeRefOrGetter<DynamicRowsOptions<T>>]): DynamicRowsReturn<T>;
|
|
213
218
|
//#endregion
|
|
214
219
|
//#region src/components/C_Table/composables/useRowDrag.d.ts
|
|
215
220
|
interface RowDragConfig {
|
|
@@ -382,17 +387,17 @@ interface CrudBinding<T extends object = DataRecord> {
|
|
|
382
387
|
/** 提供 save 时 edit 函数只标记保存能力;自定义编辑入口放到 config.actions.edit。 */
|
|
383
388
|
actions?: ComputedRef<SimpleTableActions<T>>;
|
|
384
389
|
pagination?: ComputedRef<PaginationConfig | boolean | undefined>;
|
|
385
|
-
tableRef?: Ref<
|
|
386
|
-
save?: (
|
|
390
|
+
tableRef?: Ref<unknown>;
|
|
391
|
+
save?: (row: T, rowIndex?: number, columnKey?: string) => unknown | Promise<unknown>;
|
|
387
392
|
handleCancel?: () => void;
|
|
388
393
|
handlePaginationChange?: (page: number, pageSize: number) => void;
|
|
389
|
-
handleRowDelete?: (
|
|
394
|
+
handleRowDelete?: (row: T, index?: number) => unknown | Promise<unknown>;
|
|
390
395
|
detail?: {
|
|
391
|
-
show: (
|
|
396
|
+
show: (row: T) => unknown;
|
|
392
397
|
};
|
|
393
398
|
}
|
|
394
399
|
/** C_Table :config prop 的类型 — 所有功能配置收拢在此 */
|
|
395
|
-
interface TableConfig<T extends object = DataRecord> {
|
|
400
|
+
interface TableConfig<T extends object = DataRecord, C = unknown> {
|
|
396
401
|
/** 与 C_Form / C_FormSearch 共用密度;局部 display.size 等显式配置优先。 */
|
|
397
402
|
density?: ComponentDensity;
|
|
398
403
|
/** 组件级反馈适配器;未提供时尝试复用 Naive Provider,再安全降级 */
|
|
@@ -408,11 +413,11 @@ interface TableConfig<T extends object = DataRecord> {
|
|
|
408
413
|
/** 分页配置 */
|
|
409
414
|
pagination?: PaginationConfig | boolean;
|
|
410
415
|
/** 展开行配置 */
|
|
411
|
-
expand?: ExpandConfig$1<T> | boolean;
|
|
416
|
+
expand?: ExpandConfig$1<T, C> | boolean;
|
|
412
417
|
/** 选择配置 */
|
|
413
|
-
selection?: SelectionConfig$1<T> | boolean;
|
|
418
|
+
selection?: SelectionConfig$1<T, C> | boolean;
|
|
414
419
|
/** 动态行配置 */
|
|
415
|
-
dynamicRows?: DynamicRowsOptions<T> | boolean;
|
|
420
|
+
dynamicRows?: DynamicRowsOptions<T> | (string extends keyof T ? boolean : false);
|
|
416
421
|
/** 工具栏 */
|
|
417
422
|
toolbar?: ToolbarConfig;
|
|
418
423
|
/** 表格显示属性 */
|
|
@@ -453,23 +458,23 @@ interface EditConfig<T extends object = DataRecord> {
|
|
|
453
458
|
/** 编辑或保存失败回调 */
|
|
454
459
|
onError?: (error: unknown) => void;
|
|
455
460
|
}
|
|
456
|
-
interface ExpandConfig$1<T extends object = DataRecord> {
|
|
461
|
+
interface ExpandConfig$1<T extends object = DataRecord, C = unknown> {
|
|
457
462
|
enabled?: boolean;
|
|
458
463
|
defaultExpandedKeys?: DataTableRowKey[];
|
|
459
|
-
onLoadData?: (row: T) => Promise<
|
|
464
|
+
onLoadData?: (row: T) => Promise<C[]> | C[];
|
|
460
465
|
/** 展开数据加载失败回调 */
|
|
461
466
|
onError?: (error: unknown, row: T) => void;
|
|
462
|
-
renderContent?: (row: T, expandData:
|
|
467
|
+
renderContent?: (row: T, expandData: C[], loading: boolean, childSelection?: ChildSelectionState) => VNodeChild;
|
|
463
468
|
rowExpandable?: (row: T) => boolean;
|
|
464
469
|
}
|
|
465
|
-
interface SelectionConfig$1<T extends object = DataRecord> {
|
|
470
|
+
interface SelectionConfig$1<T extends object = DataRecord, C = unknown> {
|
|
466
471
|
enabled?: boolean;
|
|
467
472
|
defaultCheckedKeys?: DataTableRowKey[];
|
|
468
473
|
rowCheckable?: (row: T) => boolean;
|
|
469
474
|
maxSelection?: number;
|
|
470
475
|
childSelection?: {
|
|
471
476
|
enabled?: boolean;
|
|
472
|
-
childRowCheckable?: (childRow:
|
|
477
|
+
childRowCheckable?: (childRow: C, parentRow: T) => boolean;
|
|
473
478
|
};
|
|
474
479
|
parentChildLink?: {
|
|
475
480
|
enabled?: boolean;
|
|
@@ -575,7 +580,7 @@ interface ResolvedConfig {
|
|
|
575
580
|
defaultExpandedKeys: DataTableRowKey[] | undefined;
|
|
576
581
|
onLoadExpandData: ((row: DataRecord) => Promise<unknown[]> | unknown[]) | undefined;
|
|
577
582
|
onExpandError: ((error: unknown, row: DataRecord) => void) | undefined;
|
|
578
|
-
renderExpandContent: ((row: DataRecord, expandData: unknown[], loading: boolean, childSelection?:
|
|
583
|
+
renderExpandContent: ((row: DataRecord, expandData: unknown[], loading: boolean, childSelection?: ChildSelectionState) => VNodeChild) | undefined;
|
|
579
584
|
rowExpandable: ((row: DataRecord) => boolean) | undefined;
|
|
580
585
|
enableSelection: boolean;
|
|
581
586
|
defaultCheckedKeys: DataTableRowKey[] | undefined;
|
|
@@ -643,245 +648,6 @@ declare const createEditModeChecker: (config: ResolvedConfig) => {
|
|
|
643
648
|
isCellEditMode: () => boolean;
|
|
644
649
|
};
|
|
645
650
|
//#endregion
|
|
646
|
-
//#region src/components/C_Table/composables/useRowEdit.d.ts
|
|
647
|
-
/** 行级校验错误 */
|
|
648
|
-
interface RowValidationError {
|
|
649
|
-
field: string;
|
|
650
|
-
message: string;
|
|
651
|
-
}
|
|
652
|
-
/**
|
|
653
|
-
* 行编辑配置选项
|
|
654
|
-
*/
|
|
655
|
-
interface RowEditOptions {
|
|
656
|
-
data: () => DataRecord[];
|
|
657
|
-
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
658
|
-
onSave?: (rowData: DataRecord, rowIndex: number, originalKey?: DataTableRowKey) => void | Promise<void>;
|
|
659
|
-
onCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
|
|
660
|
-
/** 列配置(用于提取校验规则) */
|
|
661
|
-
columns?: () => TableColumn[];
|
|
662
|
-
}
|
|
663
|
-
/**
|
|
664
|
-
* 可编辑行组合函数,提供表格整行的编辑功能
|
|
665
|
-
*/
|
|
666
|
-
declare function useRowEdit(options: RowEditOptions): {
|
|
667
|
-
editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
|
|
668
|
-
editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
|
|
669
|
-
isSaving: vue.Ref<boolean, boolean>;
|
|
670
|
-
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
671
|
-
startEditRow: (rowKey: DataTableRowKey) => boolean;
|
|
672
|
-
cancelEditRow: () => Promise<void>;
|
|
673
|
-
saveEditRow: () => Promise<{
|
|
674
|
-
updatedData: DataRecord;
|
|
675
|
-
rowIndex: number;
|
|
676
|
-
} | undefined>;
|
|
677
|
-
validateRow: () => Promise<boolean>;
|
|
678
|
-
validationErrors: vue.Ref<{
|
|
679
|
-
field: string;
|
|
680
|
-
message: string;
|
|
681
|
-
}[], RowValidationError[] | {
|
|
682
|
-
field: string;
|
|
683
|
-
message: string;
|
|
684
|
-
}[]>;
|
|
685
|
-
getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
|
|
686
|
-
updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
|
|
687
|
-
findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
|
|
688
|
-
invalidate: () => void;
|
|
689
|
-
};
|
|
690
|
-
//#endregion
|
|
691
|
-
//#region src/components/C_Table/composables/useTableManager.d.ts
|
|
692
|
-
/**
|
|
693
|
-
* 表格管理器配置接口
|
|
694
|
-
*/
|
|
695
|
-
interface TableManagerConfig {
|
|
696
|
-
feedback?: ComponentFeedback;
|
|
697
|
-
locale?: ComponentLocale;
|
|
698
|
-
editable: boolean;
|
|
699
|
-
editMode: string;
|
|
700
|
-
showRowActions: boolean;
|
|
701
|
-
modalTitle: string;
|
|
702
|
-
modalWidth: number;
|
|
703
|
-
onEditSave?: (rowData: DataRecord, rowIndex: number, columnKey?: string) => void | Promise<void>;
|
|
704
|
-
onEditCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
|
|
705
|
-
onEditError?: (error: unknown) => void;
|
|
706
|
-
expandable: boolean;
|
|
707
|
-
defaultExpandedKeys?: DataTableRowKey[];
|
|
708
|
-
onLoadExpandData?: (row: DataRecord) => Promise<any[]> | any[];
|
|
709
|
-
onExpandError?: (error: unknown, row: DataRecord) => void;
|
|
710
|
-
renderExpandContent?: unknown;
|
|
711
|
-
rowExpandable?: (row: DataRecord) => boolean;
|
|
712
|
-
enableSelection: boolean;
|
|
713
|
-
defaultCheckedKeys?: DataTableRowKey[];
|
|
714
|
-
rowCheckable?: (row: DataRecord) => boolean;
|
|
715
|
-
maxSelection?: number;
|
|
716
|
-
enableChildSelection: boolean;
|
|
717
|
-
childRowCheckable?: (childRow: DataRecord, parentRow: DataRecord) => boolean;
|
|
718
|
-
enableParentChildLink: boolean;
|
|
719
|
-
parentChildLinkMode: ParentChildLinkMode;
|
|
720
|
-
dynamicRows?: DynamicRowsOptions<DataRecord>;
|
|
721
|
-
treeEnabled?: boolean;
|
|
722
|
-
treeChildrenKey?: string;
|
|
723
|
-
}
|
|
724
|
-
/**
|
|
725
|
-
* 表格管理器参数接口
|
|
726
|
-
*/
|
|
727
|
-
interface TableManagerParams {
|
|
728
|
-
config: MaybeRefOrGetter<TableManagerConfig>;
|
|
729
|
-
data: () => DataRecord[];
|
|
730
|
-
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
731
|
-
emit: (...args: any[]) => unknown;
|
|
732
|
-
/** 列配置(用于编辑校验) */
|
|
733
|
-
columns?: () => TableColumn[];
|
|
734
|
-
/** UI 壳提供加载内容,状态引擎保持可独立调用。 */
|
|
735
|
-
renderLoading?: () => VNodeChild;
|
|
736
|
-
/** String row-key field inherited by dynamic row creation; explicit dynamicRows.rowKey wins. */
|
|
737
|
-
rowKeyField?: MaybeRefOrGetter<string | undefined>;
|
|
738
|
-
}
|
|
739
|
-
/**
|
|
740
|
-
* 事件处理器接口
|
|
741
|
-
*/
|
|
742
|
-
interface EventHandlers {
|
|
743
|
-
onSave: (rowData: DataRecord, rowIndex: number, columnKey?: string, originalKey?: DataTableRowKey) => Promise<void>;
|
|
744
|
-
onCancel: (rowData: DataRecord, rowIndex: number) => Promise<void>;
|
|
745
|
-
onExpandChange: (keys: DataTableRowKey[], row?: DataRecord, expanded?: boolean) => void;
|
|
746
|
-
onSelectionChange: (checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections: Map<DataTableRowKey, DataTableRowKey[]>) => void;
|
|
747
|
-
onChildSelectionChange: (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => void;
|
|
748
|
-
onRowChange: (data: DataRecord[]) => void;
|
|
749
|
-
onRowSelectionChange: (selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => void;
|
|
750
|
-
onRowAdd: (newRow: DataRecord) => void;
|
|
751
|
-
onRowDelete: (deletedRow: DataRecord, index: number) => void;
|
|
752
|
-
onRowCopy: (originalRow: DataRecord, newRow: DataRecord) => void;
|
|
753
|
-
onRowMove: (row: DataRecord, fromIndex: number, toIndex: number) => void;
|
|
754
|
-
}
|
|
755
|
-
/**
|
|
756
|
-
* 表格统一状态管理器
|
|
757
|
-
*/
|
|
758
|
-
declare function useTableManager(params: TableManagerParams): {
|
|
759
|
-
editStates: {
|
|
760
|
-
rowEdit: {
|
|
761
|
-
editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
|
|
762
|
-
editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
|
|
763
|
-
isSaving: vue.Ref<boolean, boolean>;
|
|
764
|
-
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
765
|
-
startEditRow: (rowKey: DataTableRowKey) => boolean;
|
|
766
|
-
cancelEditRow: () => Promise<void>;
|
|
767
|
-
saveEditRow: () => Promise<{
|
|
768
|
-
updatedData: DataRecord;
|
|
769
|
-
rowIndex: number;
|
|
770
|
-
} | undefined>;
|
|
771
|
-
validateRow: () => Promise<boolean>;
|
|
772
|
-
validationErrors: vue.Ref<{
|
|
773
|
-
field: string;
|
|
774
|
-
message: string;
|
|
775
|
-
}[], RowValidationError[] | {
|
|
776
|
-
field: string;
|
|
777
|
-
message: string;
|
|
778
|
-
}[]>;
|
|
779
|
-
getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
|
|
780
|
-
updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
|
|
781
|
-
findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
|
|
782
|
-
invalidate: () => void;
|
|
783
|
-
};
|
|
784
|
-
cellEdit: {
|
|
785
|
-
editingCell: vue.Ref<{
|
|
786
|
-
rowKey: DataTableRowKey | null;
|
|
787
|
-
columnKey: string | null;
|
|
788
|
-
}, {
|
|
789
|
-
rowKey: DataTableRowKey | null;
|
|
790
|
-
columnKey: string | null;
|
|
791
|
-
} | {
|
|
792
|
-
rowKey: DataTableRowKey | null;
|
|
793
|
-
columnKey: string | null;
|
|
794
|
-
}>;
|
|
795
|
-
editingData: vue.Ref<Record<string, unknown>, Record<string, unknown>>;
|
|
796
|
-
isSaving: vue.Ref<boolean, boolean>;
|
|
797
|
-
isEditingCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
|
|
798
|
-
startEditCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
|
|
799
|
-
saveEditCell: () => Promise<{
|
|
800
|
-
updatedData: {
|
|
801
|
-
[x: string]: unknown;
|
|
802
|
-
};
|
|
803
|
-
rowIndex: number;
|
|
804
|
-
columnKey: string;
|
|
805
|
-
} | undefined>;
|
|
806
|
-
cancelEditCell: () => void;
|
|
807
|
-
validateCell: () => Promise<boolean>;
|
|
808
|
-
cellValidationError: vue.Ref<string | null, string | null>;
|
|
809
|
-
getEditingCellValue: (rowKey: DataTableRowKey, columnKey: string) => unknown;
|
|
810
|
-
updateEditingCellValue: (rowKey: DataTableRowKey, columnKey: string, value: unknown) => void;
|
|
811
|
-
findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
|
|
812
|
-
invalidate: () => void;
|
|
813
|
-
};
|
|
814
|
-
modalEdit: {
|
|
815
|
-
isModalVisible: vue.Ref<boolean, boolean>;
|
|
816
|
-
isSaving: vue.Ref<boolean, boolean>;
|
|
817
|
-
editingData: vue.Ref<DataRecord, DataRecord>;
|
|
818
|
-
editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
|
|
819
|
-
editingRowIndex: vue.ComputedRef<number>;
|
|
820
|
-
startEdit: (rowKey: DataTableRowKey, sourceData?: DataRecord | undefined) => boolean;
|
|
821
|
-
saveEdit: (formData?: DataRecord | undefined) => Promise<{
|
|
822
|
-
updatedData: any;
|
|
823
|
-
rowIndex: number;
|
|
824
|
-
} | undefined>;
|
|
825
|
-
cancelEdit: () => Promise<boolean>;
|
|
826
|
-
updateEditingData: (data: DataRecord) => boolean;
|
|
827
|
-
resetEditingState: () => boolean;
|
|
828
|
-
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
829
|
-
getEditingRowData: (rowKey: DataTableRowKey) => any;
|
|
830
|
-
invalidate: () => void;
|
|
831
|
-
};
|
|
832
|
-
};
|
|
833
|
-
expandState: UseTableExpandReturn<DataRecord, DataRecord>;
|
|
834
|
-
dynamicRowsState: DynamicRowsReturn<DataRecord>;
|
|
835
|
-
stateManager: {
|
|
836
|
-
edit: {
|
|
837
|
-
/** 开始编辑 */start(rowKey: DataTableRowKey, columnKey?: string): void; /** 取消编辑 */
|
|
838
|
-
cancel(): void; /** 保存编辑 */
|
|
839
|
-
save(): Promise<void>; /** 是否正在编辑 */
|
|
840
|
-
isEditing(rowKey: DataTableRowKey, columnKey?: string): boolean; /** 获取当前编辑数据 */
|
|
841
|
-
getEditingData(): DataRecord | null | undefined;
|
|
842
|
-
};
|
|
843
|
-
expand: {
|
|
844
|
-
/** 展开行 */row(rowKey: DataTableRowKey): Promise<void>; /** 折叠行 */
|
|
845
|
-
collapse(rowKey: DataTableRowKey): void; /** 展开折叠切换 */
|
|
846
|
-
toggle(rowKey: DataTableRowKey): Promise<void>; /** 展开所有行 */
|
|
847
|
-
all(): Promise<void>; /** 折叠所有行 */
|
|
848
|
-
collapseAll(): void; /** 检查行是否已展开 */
|
|
849
|
-
isExpanded(rowKey: DataTableRowKey): boolean;
|
|
850
|
-
};
|
|
851
|
-
selection: {
|
|
852
|
-
/** 选择指定行 */select(rowKey: DataTableRowKey): void; /** 取消选择指定行 */
|
|
853
|
-
unselect(rowKey: DataTableRowKey): void; /** 选择所有行 */
|
|
854
|
-
all(): void; /** 清除所有行选择 */
|
|
855
|
-
clear(): void; /** 检查行是否已选择 */
|
|
856
|
-
isSelected(rowKey: DataTableRowKey): boolean; /** 获取所有已选择的行数据 */
|
|
857
|
-
getSelected(): DataRecord[];
|
|
858
|
-
};
|
|
859
|
-
childSelection: {
|
|
860
|
-
/** 选择指定父行下的子行 */select(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 取消选择指定父行下的子行 */
|
|
861
|
-
unselect(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 选择指定父行下的所有子行 */
|
|
862
|
-
selectAll(parentKey: DataTableRowKey): void; /** 清除指定父行下的所有子行选择 */
|
|
863
|
-
clear(parentKey: DataTableRowKey): void; /** 获取指定父行下所有已选择的子行数据 */
|
|
864
|
-
getSelected(parentKey: DataTableRowKey): DataRecord[];
|
|
865
|
-
};
|
|
866
|
-
dynamicRows: {
|
|
867
|
-
/** 添加行 */add(): void; /** 插入行 */
|
|
868
|
-
insert(): void; /** 删除行 */
|
|
869
|
-
delete(): void; /** 复制行 */
|
|
870
|
-
copy(): void; /** 上移动态行 */
|
|
871
|
-
moveUp(): void; /** 下移动态行 */
|
|
872
|
-
moveDown(): void; /** 清空动态行数据 */
|
|
873
|
-
clearSelection(): void; /** 获取当前选中的动态行数据 */
|
|
874
|
-
getSelected(): DataRecord | null; /** 打印表格 */
|
|
875
|
-
print(elementRef?: HTMLElement): Promise<void>; /** 导出表格数据 */
|
|
876
|
-
download(elementRef?: HTMLElement, filename?: string): Promise<void>;
|
|
877
|
-
}; /** 清除所有选择 */
|
|
878
|
-
clearAllSelections(): void;
|
|
879
|
-
};
|
|
880
|
-
expandedKeys: vue.ComputedRef<DataTableRowKey[]>;
|
|
881
|
-
checkedKeys: vue.ComputedRef<DataTableRowKey[]>;
|
|
882
|
-
eventHandlers: EventHandlers;
|
|
883
|
-
};
|
|
884
|
-
//#endregion
|
|
885
651
|
//#region src/components/C_Table/types.d.ts
|
|
886
652
|
type RefLike<T> = {
|
|
887
653
|
value: T;
|
|
@@ -1141,7 +907,7 @@ interface TableSelectionProps<T extends object = DataRecord, C = DataRecord> ext
|
|
|
1141
907
|
}
|
|
1142
908
|
interface TableProps<T extends object = DataRecord, C = DataRecord> extends Partial<TableBaseProps<T>>, TableDisplayProps, TableEditProps<T>, TableExpandProps<T, C>, TableSelectionProps<T, C> {
|
|
1143
909
|
/** 功能配置的统一入口。 */
|
|
1144
|
-
config?: TableConfig<T>;
|
|
910
|
+
config?: TableConfig<T, C>;
|
|
1145
911
|
/** CRUD 模式自动提供 columns / data / loading,可省略对应属性。 */
|
|
1146
912
|
crud?: CrudBinding<T>;
|
|
1147
913
|
/** 原生分页入口;声明后优先于 config.pagination。 */
|
|
@@ -1174,6 +940,12 @@ interface TableEmits<T extends object = DataRecord, C = DataRecord> extends Tabl
|
|
|
1174
940
|
'row-delete': [deletedRow: T, index: number];
|
|
1175
941
|
'batch-action-error': [error: unknown, actionKey: string];
|
|
1176
942
|
'row-key-error': [issues: TableRowKeyIssue<T>[]];
|
|
943
|
+
'row-add': [newRow: T];
|
|
944
|
+
'row-copy': [originalRow: T, newRow: T];
|
|
945
|
+
'row-move': [row: T, fromIndex: number, toIndex: number];
|
|
946
|
+
'row-selection-change': [selectedKey: DataTableRowKey | null, selectedRow: T | null];
|
|
947
|
+
'view-detail': [data: T];
|
|
948
|
+
'column-change': [columns: TableColumn<T>[]];
|
|
1177
949
|
}
|
|
1178
950
|
interface TableEditMethods<T extends object = DataRecord> {
|
|
1179
951
|
startEdit: (rowKey: DataTableRowKey, columnKey?: string) => void;
|
|
@@ -1222,10 +994,56 @@ interface TablePaginationMethods {
|
|
|
1222
994
|
resetToFirstPage: () => void;
|
|
1223
995
|
getTotalPages: () => number;
|
|
1224
996
|
}
|
|
997
|
+
/** 高级兼容入口的稳定契约;业务行类型与顶层实例保持一致。 */
|
|
998
|
+
interface TableManagerApi<T extends object = DataRecord, C = DataRecord> {
|
|
999
|
+
edit: {
|
|
1000
|
+
start: TableEditMethods<T>['startEdit'];
|
|
1001
|
+
cancel: TableEditMethods<T>['cancelEdit'];
|
|
1002
|
+
save: TableEditMethods<T>['saveEdit'];
|
|
1003
|
+
isEditing: TableEditMethods<T>['isEditing'];
|
|
1004
|
+
getEditingData: () => T | null | undefined;
|
|
1005
|
+
};
|
|
1006
|
+
expand: {
|
|
1007
|
+
row: TableExpandMethods['expandRow'];
|
|
1008
|
+
collapse: TableExpandMethods['collapseRow'];
|
|
1009
|
+
toggle: TableExpandMethods['toggleExpand'];
|
|
1010
|
+
all: TableExpandMethods['expandAll'];
|
|
1011
|
+
collapseAll: TableExpandMethods['collapseAll'];
|
|
1012
|
+
isExpanded: TableExpandMethods['isExpanded'];
|
|
1013
|
+
};
|
|
1014
|
+
selection: {
|
|
1015
|
+
select: TableSelectionMethods<T, C>['selectRow'];
|
|
1016
|
+
unselect: TableSelectionMethods<T, C>['unselectRow'];
|
|
1017
|
+
all: TableSelectionMethods<T, C>['selectAll'];
|
|
1018
|
+
clear: TableSelectionMethods<T, C>['clearSelection'];
|
|
1019
|
+
isSelected: TableSelectionMethods<T, C>['isRowSelected'];
|
|
1020
|
+
getSelected: TableSelectionMethods<T, C>['getSelectedRows'];
|
|
1021
|
+
};
|
|
1022
|
+
childSelection: {
|
|
1023
|
+
select: TableSelectionMethods<T, C>['selectChildRow'];
|
|
1024
|
+
unselect: TableSelectionMethods<T, C>['unselectChildRow'];
|
|
1025
|
+
selectAll: TableSelectionMethods<T, C>['selectAllChildren'];
|
|
1026
|
+
clear: TableSelectionMethods<T, C>['clearChildrenSelection'];
|
|
1027
|
+
getSelected: TableSelectionMethods<T, C>['getChildSelectedRows'];
|
|
1028
|
+
};
|
|
1029
|
+
dynamicRows: {
|
|
1030
|
+
add: TableDynamicRowsMethods<T>['addRow'];
|
|
1031
|
+
insert: TableDynamicRowsMethods<T>['insertRow'];
|
|
1032
|
+
delete: TableDynamicRowsMethods<T>['deleteRow'];
|
|
1033
|
+
copy: TableDynamicRowsMethods<T>['copyRow'];
|
|
1034
|
+
moveUp: TableDynamicRowsMethods<T>['moveRowUp'];
|
|
1035
|
+
moveDown: TableDynamicRowsMethods<T>['moveRowDown'];
|
|
1036
|
+
clearSelection: TableDynamicRowsMethods<T>['clearRowSelection'];
|
|
1037
|
+
getSelected: TableDynamicRowsMethods<T>['getSelectedRowData'];
|
|
1038
|
+
print: TableDynamicRowsMethods<T>['printTable'];
|
|
1039
|
+
download: TableDynamicRowsMethods<T>['downloadTableScreenshot'];
|
|
1040
|
+
};
|
|
1041
|
+
clearAllSelections: TableSelectionMethods<T, C>['clearAllSelections'];
|
|
1042
|
+
}
|
|
1225
1043
|
interface TableInstance<T extends object = DataRecord, C = DataRecord> extends TableEditMethods<T>, TableExpandMethods, TableSelectionMethods<T, C>, TableDynamicRowsMethods<T>, TablePaginationMethods {
|
|
1226
1044
|
exportData: () => Promise<void>;
|
|
1227
1045
|
/** 高级兼容入口;常规操作优先使用实例上的选择、展开和编辑方法。 */
|
|
1228
|
-
getManager: () =>
|
|
1046
|
+
getManager: () => TableManagerApi<T, C>;
|
|
1229
1047
|
/** 此嵌套对象中的 Ref 保持响应式,读取时使用 .value。 */
|
|
1230
1048
|
crossPageSelection: Pick<UseCrossPageSelectionReturn<T>, 'selectedKeys' | 'selectedCount' | 'select' | 'unselect' | 'selectAll' | 'clearAll' | 'getSelectedRows'> & {
|
|
1231
1049
|
enabled: ComputedRef<boolean>;
|
|
@@ -1291,119 +1109,42 @@ type ColumnWithKey = TableColumn & {
|
|
|
1291
1109
|
};
|
|
1292
1110
|
//#endregion
|
|
1293
1111
|
//#region src/components/C_Table/index.vue.d.ts
|
|
1294
|
-
declare const __VLS_export$1: <T extends object = DataRecord>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
1295
|
-
props: vue.PublicProps & __VLS_PrettifyLocal<{
|
|
1112
|
+
declare const __VLS_export$1: <T extends object = DataRecord, C = unknown>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal$1<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
1113
|
+
props: vue.PublicProps & __VLS_PrettifyLocal$1<{
|
|
1296
1114
|
/** 根容器 class;普通 class/style 仍按既有契约转发到 NDataTable。 */wrapperClass?: vue.HTMLAttributes["class"]; /** 填满已确定高度的根容器,并为工具栏和分页预留空间。 */
|
|
1297
1115
|
flexHeight?: boolean; /** 原生横向虚拟滚动;未声明业务列宽时仍提供可计算的数值兜底。 */
|
|
1298
1116
|
virtualScrollX?: boolean; /** 列配置(crud 模式下可省略) */
|
|
1299
1117
|
columns?: TableColumn<T>[]; /** 数据源(crud 模式下可省略) */
|
|
1300
1118
|
data?: MaybeRefLike<T[]>; /** 加载状态 */
|
|
1301
1119
|
loading?: MaybeRefLike<boolean>; /** 行唯一键 */
|
|
1302
|
-
rowKey?:
|
|
1303
|
-
config?: TableConfig<T>; /** Native pagination compatibility path; takes ownership over config.pagination. */
|
|
1120
|
+
rowKey?: TableRowKey<T>; /** 统一功能配置(edit / selection / expand / pagination / dynamicRows / toolbar / display) */
|
|
1121
|
+
config?: TableConfig<T, C>; /** Native pagination compatibility path; takes ownership over config.pagination. */
|
|
1304
1122
|
pagination?: PaginationProps | false; /** Native remote mode, used with the native pagination compatibility path. */
|
|
1305
1123
|
remote?: boolean; /** CRUD 绑定 — 传入 useTableCrud() 的返回值,自动接管 data/columns/loading/actions/pagination/events */
|
|
1306
1124
|
crud?: CrudBinding<T>;
|
|
1307
1125
|
} & {
|
|
1308
|
-
|
|
1126
|
+
onCancel?: ((rowData: T, rowIndex: number) => any) | undefined;
|
|
1127
|
+
onSave?: ((rowData: T, rowIndex: number, columnKey?: string | undefined) => any) | undefined;
|
|
1128
|
+
"onPagination-change"?: ((page: number, pageSize: number) => any) | undefined;
|
|
1129
|
+
"onRow-delete"?: ((deletedRow: T, index: number) => any) | undefined;
|
|
1130
|
+
"onBatch-action-error"?: ((error: unknown, actionKey: string) => any) | undefined;
|
|
1131
|
+
"onRow-key-error"?: ((issues: TableRowKeyIssue<T>[]) => any) | undefined;
|
|
1132
|
+
"onRow-add"?: ((newRow: T) => any) | undefined;
|
|
1133
|
+
"onRow-copy"?: ((originalRow: T, newRow: T) => any) | undefined;
|
|
1134
|
+
"onRow-move"?: ((row: T, fromIndex: number, toIndex: number) => any) | undefined;
|
|
1135
|
+
"onRow-selection-change"?: ((selectedKey: DataTableRowKey | null, selectedRow: T | null) => any) | undefined;
|
|
1136
|
+
"onView-detail"?: ((data: T) => any) | undefined;
|
|
1137
|
+
"onColumn-change"?: ((columns: TableColumn<T>[]) => any) | undefined;
|
|
1138
|
+
"onExpand-change"?: ((expandedKeys: DataTableRowKey[], row?: T | undefined, expanded?: boolean | undefined) => any) | undefined;
|
|
1139
|
+
"onSelection-change"?: ((checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => any) | undefined;
|
|
1140
|
+
"onChild-selection-change"?: ((parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]) => any) | undefined;
|
|
1141
|
+
"onParent-child-link-change"?: ((parentKey: DataTableRowKey, shouldSelect: boolean) => any) | undefined;
|
|
1142
|
+
"onUpdate:data"?: ((data: T[]) => any) | undefined;
|
|
1143
|
+
"onEdit-error"?: ((error: unknown) => any) | undefined;
|
|
1309
1144
|
}> & (typeof globalThis extends {
|
|
1310
1145
|
__VLS_PROPS_FALLBACK: infer P;
|
|
1311
1146
|
} ? P : {});
|
|
1312
|
-
expose: (exposed: vue.ShallowUnwrapRef<
|
|
1313
|
-
startEdit: (rowKey: DataTableRowKey, columnKey?: string) => void;
|
|
1314
|
-
cancelEdit: () => void;
|
|
1315
|
-
saveEdit: () => Promise<void>;
|
|
1316
|
-
expandRow: (rowKey: DataTableRowKey) => Promise<void>;
|
|
1317
|
-
collapseRow: (rowKey: DataTableRowKey) => void;
|
|
1318
|
-
toggleExpand: (rowKey: DataTableRowKey) => Promise<void>;
|
|
1319
|
-
retryExpand: (rowKey: DataTableRowKey) => Promise<void>;
|
|
1320
|
-
invalidateExpand: (rowKey?: DataTableRowKey) => void;
|
|
1321
|
-
expandAll: () => Promise<void>;
|
|
1322
|
-
collapseAll: () => void;
|
|
1323
|
-
selectRow: (rowKey: DataTableRowKey) => boolean;
|
|
1324
|
-
unselectRow: (rowKey: DataTableRowKey) => void;
|
|
1325
|
-
selectAll: () => void;
|
|
1326
|
-
clearSelection: () => void;
|
|
1327
|
-
isRowSelected: (rowKey: DataTableRowKey) => boolean;
|
|
1328
|
-
clearAllSelections: () => void;
|
|
1329
|
-
selectChildRow: (parentKey: DataTableRowKey, childKey: DataTableRowKey) => void;
|
|
1330
|
-
unselectChildRow: (parentKey: DataTableRowKey, childKey: DataTableRowKey) => void;
|
|
1331
|
-
selectAllChildren: (parentKey: DataTableRowKey) => void;
|
|
1332
|
-
clearChildrenSelection: (parentKey: DataTableRowKey) => void;
|
|
1333
|
-
getChildSelectedRows: (parentKey: DataTableRowKey) => DataRecord[];
|
|
1334
|
-
addRow: () => void;
|
|
1335
|
-
insertRow: () => void;
|
|
1336
|
-
deleteRow: () => void;
|
|
1337
|
-
copyRow: () => void;
|
|
1338
|
-
moveRowUp: () => void;
|
|
1339
|
-
moveRowDown: () => void;
|
|
1340
|
-
clearRowSelection: () => void;
|
|
1341
|
-
getSelectedRowData: () => DataRecord | null;
|
|
1342
|
-
printTable: (elementRef?: HTMLElement) => Promise<void>;
|
|
1343
|
-
downloadTableScreenshot: (elementRef?: HTMLElement, filename?: string) => Promise<void>;
|
|
1344
|
-
resetToFirstPage: () => void;
|
|
1345
|
-
getTotalPages: () => number;
|
|
1346
|
-
getSelectedRows: () => DataRecord[];
|
|
1347
|
-
getEditingData: () => DataRecord | null | undefined;
|
|
1348
|
-
isEditing: (rowKey: DataTableRowKey, columnKey?: string) => boolean;
|
|
1349
|
-
isExpanded: (rowKey: DataTableRowKey) => boolean;
|
|
1350
|
-
getManager: () => {
|
|
1351
|
-
edit: {
|
|
1352
|
-
start(rowKey: DataTableRowKey, columnKey?: string): void;
|
|
1353
|
-
cancel(): void;
|
|
1354
|
-
save(): Promise<void>;
|
|
1355
|
-
isEditing(rowKey: DataTableRowKey, columnKey?: string): boolean;
|
|
1356
|
-
getEditingData(): DataRecord | null | undefined;
|
|
1357
|
-
};
|
|
1358
|
-
expand: {
|
|
1359
|
-
row(rowKey: DataTableRowKey): Promise<void>;
|
|
1360
|
-
collapse(rowKey: DataTableRowKey): void;
|
|
1361
|
-
toggle(rowKey: DataTableRowKey): Promise<void>;
|
|
1362
|
-
all(): Promise<void>;
|
|
1363
|
-
collapseAll(): void;
|
|
1364
|
-
isExpanded(rowKey: DataTableRowKey): boolean;
|
|
1365
|
-
};
|
|
1366
|
-
selection: {
|
|
1367
|
-
select(rowKey: DataTableRowKey): void;
|
|
1368
|
-
unselect(rowKey: DataTableRowKey): void;
|
|
1369
|
-
all(): void;
|
|
1370
|
-
clear(): void;
|
|
1371
|
-
isSelected(rowKey: DataTableRowKey): boolean;
|
|
1372
|
-
getSelected(): DataRecord[];
|
|
1373
|
-
};
|
|
1374
|
-
childSelection: {
|
|
1375
|
-
select(parentKey: DataTableRowKey, childKey: DataTableRowKey): void;
|
|
1376
|
-
unselect(parentKey: DataTableRowKey, childKey: DataTableRowKey): void;
|
|
1377
|
-
selectAll(parentKey: DataTableRowKey): void;
|
|
1378
|
-
clear(parentKey: DataTableRowKey): void;
|
|
1379
|
-
getSelected(parentKey: DataTableRowKey): DataRecord[];
|
|
1380
|
-
};
|
|
1381
|
-
dynamicRows: {
|
|
1382
|
-
add(): void;
|
|
1383
|
-
insert(): void;
|
|
1384
|
-
delete(): void;
|
|
1385
|
-
copy(): void;
|
|
1386
|
-
moveUp(): void;
|
|
1387
|
-
moveDown(): void;
|
|
1388
|
-
clearSelection(): void;
|
|
1389
|
-
getSelected(): DataRecord | null;
|
|
1390
|
-
print(elementRef?: HTMLElement): Promise<void>;
|
|
1391
|
-
download(elementRef?: HTMLElement, filename?: string): Promise<void>;
|
|
1392
|
-
};
|
|
1393
|
-
clearAllSelections(): void;
|
|
1394
|
-
}; /** 导出数据 */
|
|
1395
|
-
exportData: () => Promise<void>; /** 跨页选择 */
|
|
1396
|
-
crossPageSelection: {
|
|
1397
|
-
enabled: vue.ComputedRef<boolean>;
|
|
1398
|
-
selectedKeys: vue.Ref<Set<DataTableRowKey>, Set<DataTableRowKey>>;
|
|
1399
|
-
selectedCount: vue.ComputedRef<number>;
|
|
1400
|
-
select: (key: DataTableRowKey) => boolean;
|
|
1401
|
-
unselect: (key: DataTableRowKey) => void;
|
|
1402
|
-
selectAll: () => void;
|
|
1403
|
-
clearAll: () => void;
|
|
1404
|
-
getSelectedRows: () => DataRecord[];
|
|
1405
|
-
};
|
|
1406
|
-
}>) => void;
|
|
1147
|
+
expose: (exposed: vue.ShallowUnwrapRef<TableInstance<T, C>>) => void;
|
|
1407
1148
|
attrs: any;
|
|
1408
1149
|
slots: {
|
|
1409
1150
|
'toolbar-left'?: (props: {}) => any;
|
|
@@ -1416,18 +1157,18 @@ declare const __VLS_export$1: <T extends object = DataRecord>(__VLS_props: NonNu
|
|
|
1416
1157
|
} & {
|
|
1417
1158
|
loading?: (props: {}) => any;
|
|
1418
1159
|
};
|
|
1419
|
-
emit: ((evt: "
|
|
1160
|
+
emit: ((evt: "cancel", rowData: T, rowIndex: number) => void) & ((evt: "save", rowData: T, rowIndex: number, columnKey?: string | undefined) => void) & ((evt: "pagination-change", page: number, pageSize: number) => void) & ((evt: "row-delete", deletedRow: T, index: number) => void) & ((evt: "batch-action-error", error: unknown, actionKey: string) => void) & ((evt: "row-key-error", issues: TableRowKeyIssue<T>[]) => void) & ((evt: "row-add", newRow: T) => void) & ((evt: "row-copy", originalRow: T, newRow: T) => void) & ((evt: "row-move", row: T, fromIndex: number, toIndex: number) => void) & ((evt: "row-selection-change", selectedKey: DataTableRowKey | null, selectedRow: T | null) => void) & ((evt: "view-detail", data: T) => void) & ((evt: "column-change", columns: TableColumn<T>[]) => void) & ((evt: "expand-change", expandedKeys: DataTableRowKey[], row?: T | undefined, expanded?: boolean | undefined) => void) & ((evt: "selection-change", checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => void) & ((evt: "child-selection-change", parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]) => void) & ((evt: "parent-child-link-change", parentKey: DataTableRowKey, shouldSelect: boolean) => void) & ((evt: "update:data", data: T[]) => void) & ((evt: "edit-error", error: unknown) => void);
|
|
1420
1161
|
}>) => vue.VNode & {
|
|
1421
1162
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
1422
1163
|
};
|
|
1423
1164
|
declare const _default$1: typeof __VLS_export$1;
|
|
1424
|
-
type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
|
|
1165
|
+
type __VLS_PrettifyLocal$1<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
|
|
1425
1166
|
//#endregion
|
|
1426
1167
|
//#region src/components/C_Table/helpers.d.ts
|
|
1427
1168
|
/** Type-safe identity helper that rejects misspelled business field keys. */
|
|
1428
1169
|
declare function defineTableColumns<T extends object>(columns: StrictTableColumn<T>[]): StrictTableColumn<T>[];
|
|
1429
1170
|
/** Preserve row types across edit, action, summary and batch callbacks. */
|
|
1430
|
-
declare function defineTableConfig<T extends object>(config: TableConfig<T>): TableConfig<T>;
|
|
1171
|
+
declare function defineTableConfig<T extends object, C = unknown>(config: TableConfig<T, C>): TableConfig<T, C>;
|
|
1431
1172
|
/** Find missing and duplicate row keys before stateful table features consume them. */
|
|
1432
1173
|
declare function validateTableRowKeys<T extends object>(data: readonly T[], rowKey: (row: T) => DataTableRowKey | null | undefined): TableRowKeyIssue<T>[];
|
|
1433
1174
|
//#endregion
|
|
@@ -1499,7 +1240,246 @@ interface UseTableColumnsReturn {
|
|
|
1499
1240
|
*/
|
|
1500
1241
|
declare function useTableColumns(options: UseTableColumnsOptions): UseTableColumnsReturn;
|
|
1501
1242
|
//#endregion
|
|
1502
|
-
//#region src/components/C_Table/composables/
|
|
1243
|
+
//#region src/components/C_Table/composables/useRowEdit.d.ts
|
|
1244
|
+
/** 行级校验错误 */
|
|
1245
|
+
interface RowValidationError {
|
|
1246
|
+
field: string;
|
|
1247
|
+
message: string;
|
|
1248
|
+
}
|
|
1249
|
+
/**
|
|
1250
|
+
* 行编辑配置选项
|
|
1251
|
+
*/
|
|
1252
|
+
interface RowEditOptions {
|
|
1253
|
+
data: () => DataRecord[];
|
|
1254
|
+
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
1255
|
+
onSave?: (rowData: DataRecord, rowIndex: number, originalKey?: DataTableRowKey) => void | Promise<void>;
|
|
1256
|
+
onCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
|
|
1257
|
+
/** 列配置(用于提取校验规则) */
|
|
1258
|
+
columns?: () => TableColumn[];
|
|
1259
|
+
}
|
|
1260
|
+
/**
|
|
1261
|
+
* 可编辑行组合函数,提供表格整行的编辑功能
|
|
1262
|
+
*/
|
|
1263
|
+
declare function useRowEdit(options: RowEditOptions): {
|
|
1264
|
+
editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
|
|
1265
|
+
editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
|
|
1266
|
+
isSaving: vue.Ref<boolean, boolean>;
|
|
1267
|
+
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
1268
|
+
startEditRow: (rowKey: DataTableRowKey) => boolean;
|
|
1269
|
+
cancelEditRow: () => Promise<void>;
|
|
1270
|
+
saveEditRow: () => Promise<{
|
|
1271
|
+
updatedData: DataRecord;
|
|
1272
|
+
rowIndex: number;
|
|
1273
|
+
} | undefined>;
|
|
1274
|
+
validateRow: () => Promise<boolean>;
|
|
1275
|
+
validationErrors: vue.Ref<{
|
|
1276
|
+
field: string;
|
|
1277
|
+
message: string;
|
|
1278
|
+
}[], RowValidationError[] | {
|
|
1279
|
+
field: string;
|
|
1280
|
+
message: string;
|
|
1281
|
+
}[]>;
|
|
1282
|
+
getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
|
|
1283
|
+
updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
|
|
1284
|
+
findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
|
|
1285
|
+
invalidate: () => void;
|
|
1286
|
+
};
|
|
1287
|
+
//#endregion
|
|
1288
|
+
//#region src/components/C_Table/composables/useTableManager.d.ts
|
|
1289
|
+
/**
|
|
1290
|
+
* 表格管理器配置接口
|
|
1291
|
+
*/
|
|
1292
|
+
interface TableManagerConfig {
|
|
1293
|
+
feedback?: ComponentFeedback;
|
|
1294
|
+
locale?: ComponentLocale;
|
|
1295
|
+
editable: boolean;
|
|
1296
|
+
editMode: string;
|
|
1297
|
+
showRowActions: boolean;
|
|
1298
|
+
modalTitle: string;
|
|
1299
|
+
modalWidth: number;
|
|
1300
|
+
onEditSave?: (rowData: DataRecord, rowIndex: number, columnKey?: string) => void | Promise<void>;
|
|
1301
|
+
onEditCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
|
|
1302
|
+
onEditError?: (error: unknown) => void;
|
|
1303
|
+
expandable: boolean;
|
|
1304
|
+
defaultExpandedKeys?: DataTableRowKey[];
|
|
1305
|
+
onLoadExpandData?: (row: DataRecord) => Promise<any[]> | any[];
|
|
1306
|
+
onExpandError?: (error: unknown, row: DataRecord) => void;
|
|
1307
|
+
renderExpandContent?: unknown;
|
|
1308
|
+
rowExpandable?: (row: DataRecord) => boolean;
|
|
1309
|
+
enableSelection: boolean;
|
|
1310
|
+
defaultCheckedKeys?: DataTableRowKey[];
|
|
1311
|
+
rowCheckable?: (row: DataRecord) => boolean;
|
|
1312
|
+
maxSelection?: number;
|
|
1313
|
+
enableChildSelection: boolean;
|
|
1314
|
+
childRowCheckable?: (childRow: DataRecord, parentRow: DataRecord) => boolean;
|
|
1315
|
+
enableParentChildLink: boolean;
|
|
1316
|
+
parentChildLinkMode: ParentChildLinkMode;
|
|
1317
|
+
dynamicRows?: DynamicRowsOptions<DataRecord>;
|
|
1318
|
+
treeEnabled?: boolean;
|
|
1319
|
+
treeChildrenKey?: string;
|
|
1320
|
+
}
|
|
1321
|
+
/**
|
|
1322
|
+
* 表格管理器参数接口
|
|
1323
|
+
*/
|
|
1324
|
+
interface TableManagerParams {
|
|
1325
|
+
config: MaybeRefOrGetter<TableManagerConfig>;
|
|
1326
|
+
data: () => DataRecord[];
|
|
1327
|
+
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
1328
|
+
emit: (...args: any[]) => unknown;
|
|
1329
|
+
/** 列配置(用于编辑校验) */
|
|
1330
|
+
columns?: () => TableColumn[];
|
|
1331
|
+
/** UI 壳提供加载内容,状态引擎保持可独立调用。 */
|
|
1332
|
+
renderLoading?: () => VNodeChild;
|
|
1333
|
+
/** String row-key field inherited by dynamic row creation; explicit dynamicRows.rowKey wins. */
|
|
1334
|
+
rowKeyField?: MaybeRefOrGetter<string | undefined>;
|
|
1335
|
+
}
|
|
1336
|
+
/**
|
|
1337
|
+
* 事件处理器接口
|
|
1338
|
+
*/
|
|
1339
|
+
interface EventHandlers {
|
|
1340
|
+
onSave: (rowData: DataRecord, rowIndex: number, columnKey?: string, originalKey?: DataTableRowKey) => Promise<void>;
|
|
1341
|
+
onCancel: (rowData: DataRecord, rowIndex: number) => Promise<void>;
|
|
1342
|
+
onExpandChange: (keys: DataTableRowKey[], row?: DataRecord, expanded?: boolean) => void;
|
|
1343
|
+
onSelectionChange: (checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections: Map<DataTableRowKey, DataTableRowKey[]>) => void;
|
|
1344
|
+
onChildSelectionChange: (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => void;
|
|
1345
|
+
onRowChange: (data: DataRecord[]) => void;
|
|
1346
|
+
onRowSelectionChange: (selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => void;
|
|
1347
|
+
onRowAdd: (newRow: DataRecord) => void;
|
|
1348
|
+
onRowDelete: (deletedRow: DataRecord, index: number) => void;
|
|
1349
|
+
onRowCopy: (originalRow: DataRecord, newRow: DataRecord) => void;
|
|
1350
|
+
onRowMove: (row: DataRecord, fromIndex: number, toIndex: number) => void;
|
|
1351
|
+
}
|
|
1352
|
+
/**
|
|
1353
|
+
* 表格统一状态管理器
|
|
1354
|
+
*/
|
|
1355
|
+
declare function useTableManager(params: TableManagerParams): {
|
|
1356
|
+
editStates: {
|
|
1357
|
+
rowEdit: {
|
|
1358
|
+
editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
|
|
1359
|
+
editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
|
|
1360
|
+
isSaving: vue.Ref<boolean, boolean>;
|
|
1361
|
+
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
1362
|
+
startEditRow: (rowKey: DataTableRowKey) => boolean;
|
|
1363
|
+
cancelEditRow: () => Promise<void>;
|
|
1364
|
+
saveEditRow: () => Promise<{
|
|
1365
|
+
updatedData: DataRecord;
|
|
1366
|
+
rowIndex: number;
|
|
1367
|
+
} | undefined>;
|
|
1368
|
+
validateRow: () => Promise<boolean>;
|
|
1369
|
+
validationErrors: vue.Ref<{
|
|
1370
|
+
field: string;
|
|
1371
|
+
message: string;
|
|
1372
|
+
}[], RowValidationError[] | {
|
|
1373
|
+
field: string;
|
|
1374
|
+
message: string;
|
|
1375
|
+
}[]>;
|
|
1376
|
+
getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
|
|
1377
|
+
updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
|
|
1378
|
+
findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
|
|
1379
|
+
invalidate: () => void;
|
|
1380
|
+
};
|
|
1381
|
+
cellEdit: {
|
|
1382
|
+
editingCell: vue.Ref<{
|
|
1383
|
+
rowKey: DataTableRowKey | null;
|
|
1384
|
+
columnKey: string | null;
|
|
1385
|
+
}, {
|
|
1386
|
+
rowKey: DataTableRowKey | null;
|
|
1387
|
+
columnKey: string | null;
|
|
1388
|
+
} | {
|
|
1389
|
+
rowKey: DataTableRowKey | null;
|
|
1390
|
+
columnKey: string | null;
|
|
1391
|
+
}>;
|
|
1392
|
+
editingData: vue.Ref<Record<string, unknown>, Record<string, unknown>>;
|
|
1393
|
+
isSaving: vue.Ref<boolean, boolean>;
|
|
1394
|
+
isEditingCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
|
|
1395
|
+
startEditCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
|
|
1396
|
+
saveEditCell: () => Promise<{
|
|
1397
|
+
updatedData: {
|
|
1398
|
+
[x: string]: unknown;
|
|
1399
|
+
};
|
|
1400
|
+
rowIndex: number;
|
|
1401
|
+
columnKey: string;
|
|
1402
|
+
} | undefined>;
|
|
1403
|
+
cancelEditCell: () => void;
|
|
1404
|
+
validateCell: () => Promise<boolean>;
|
|
1405
|
+
cellValidationError: vue.Ref<string | null, string | null>;
|
|
1406
|
+
getEditingCellValue: (rowKey: DataTableRowKey, columnKey: string) => unknown;
|
|
1407
|
+
updateEditingCellValue: (rowKey: DataTableRowKey, columnKey: string, value: unknown) => void;
|
|
1408
|
+
findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
|
|
1409
|
+
invalidate: () => void;
|
|
1410
|
+
};
|
|
1411
|
+
modalEdit: {
|
|
1412
|
+
isModalVisible: vue.Ref<boolean, boolean>;
|
|
1413
|
+
isSaving: vue.Ref<boolean, boolean>;
|
|
1414
|
+
editingData: vue.Ref<DataRecord, DataRecord>;
|
|
1415
|
+
editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
|
|
1416
|
+
editingRowIndex: vue.ComputedRef<number>;
|
|
1417
|
+
startEdit: (rowKey: DataTableRowKey, sourceData?: DataRecord | undefined) => boolean;
|
|
1418
|
+
saveEdit: (formData?: DataRecord | undefined) => Promise<{
|
|
1419
|
+
updatedData: any;
|
|
1420
|
+
rowIndex: number;
|
|
1421
|
+
} | undefined>;
|
|
1422
|
+
cancelEdit: () => Promise<boolean>;
|
|
1423
|
+
updateEditingData: (data: DataRecord) => boolean;
|
|
1424
|
+
resetEditingState: () => boolean;
|
|
1425
|
+
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
1426
|
+
getEditingRowData: (rowKey: DataTableRowKey) => any;
|
|
1427
|
+
invalidate: () => void;
|
|
1428
|
+
};
|
|
1429
|
+
};
|
|
1430
|
+
expandState: UseTableExpandReturn<DataRecord, DataRecord>;
|
|
1431
|
+
dynamicRowsState: DynamicRowsReturn<DataRecord>;
|
|
1432
|
+
stateManager: {
|
|
1433
|
+
edit: {
|
|
1434
|
+
/** 开始编辑 */start(rowKey: DataTableRowKey, columnKey?: string): void; /** 取消编辑 */
|
|
1435
|
+
cancel(): void; /** 保存编辑 */
|
|
1436
|
+
save(): Promise<void>; /** 是否正在编辑 */
|
|
1437
|
+
isEditing(rowKey: DataTableRowKey, columnKey?: string): boolean; /** 获取当前编辑数据 */
|
|
1438
|
+
getEditingData(): DataRecord | null | undefined;
|
|
1439
|
+
};
|
|
1440
|
+
expand: {
|
|
1441
|
+
/** 展开行 */row(rowKey: DataTableRowKey): Promise<void>; /** 折叠行 */
|
|
1442
|
+
collapse(rowKey: DataTableRowKey): void; /** 展开折叠切换 */
|
|
1443
|
+
toggle(rowKey: DataTableRowKey): Promise<void>; /** 展开所有行 */
|
|
1444
|
+
all(): Promise<void>; /** 折叠所有行 */
|
|
1445
|
+
collapseAll(): void; /** 检查行是否已展开 */
|
|
1446
|
+
isExpanded(rowKey: DataTableRowKey): boolean;
|
|
1447
|
+
};
|
|
1448
|
+
selection: {
|
|
1449
|
+
/** 选择指定行 */select(rowKey: DataTableRowKey): void; /** 取消选择指定行 */
|
|
1450
|
+
unselect(rowKey: DataTableRowKey): void; /** 选择所有行 */
|
|
1451
|
+
all(): void; /** 清除所有行选择 */
|
|
1452
|
+
clear(): void; /** 检查行是否已选择 */
|
|
1453
|
+
isSelected(rowKey: DataTableRowKey): boolean; /** 获取所有已选择的行数据 */
|
|
1454
|
+
getSelected(): DataRecord[];
|
|
1455
|
+
};
|
|
1456
|
+
childSelection: {
|
|
1457
|
+
/** 选择指定父行下的子行 */select(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 取消选择指定父行下的子行 */
|
|
1458
|
+
unselect(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 选择指定父行下的所有子行 */
|
|
1459
|
+
selectAll(parentKey: DataTableRowKey): void; /** 清除指定父行下的所有子行选择 */
|
|
1460
|
+
clear(parentKey: DataTableRowKey): void; /** 获取指定父行下所有已选择的子行数据 */
|
|
1461
|
+
getSelected(parentKey: DataTableRowKey): DataRecord[];
|
|
1462
|
+
};
|
|
1463
|
+
dynamicRows: {
|
|
1464
|
+
/** 添加行 */add(): void; /** 插入行 */
|
|
1465
|
+
insert(): void; /** 删除行 */
|
|
1466
|
+
delete(): void; /** 复制行 */
|
|
1467
|
+
copy(): void; /** 上移动态行 */
|
|
1468
|
+
moveUp(): void; /** 下移动态行 */
|
|
1469
|
+
moveDown(): void; /** 清空动态行数据 */
|
|
1470
|
+
clearSelection(): void; /** 获取当前选中的动态行数据 */
|
|
1471
|
+
getSelected(): DataRecord | null; /** 打印表格 */
|
|
1472
|
+
print(elementRef?: HTMLElement): Promise<void>; /** 导出表格数据 */
|
|
1473
|
+
download(elementRef?: HTMLElement, filename?: string): Promise<void>;
|
|
1474
|
+
}; /** 清除所有选择 */
|
|
1475
|
+
clearAllSelections(): void;
|
|
1476
|
+
};
|
|
1477
|
+
expandedKeys: vue.ComputedRef<DataTableRowKey[]>;
|
|
1478
|
+
checkedKeys: vue.ComputedRef<DataTableRowKey[]>;
|
|
1479
|
+
eventHandlers: EventHandlers;
|
|
1480
|
+
};
|
|
1481
|
+
//#endregion
|
|
1482
|
+
//#region src/components/C_Table/composables/useTableExpand.d.ts
|
|
1503
1483
|
/**
|
|
1504
1484
|
*
|
|
1505
1485
|
*/
|
|
@@ -1652,9 +1632,9 @@ interface TreeNodeData extends TreeOption$1 {
|
|
|
1652
1632
|
type?: string;
|
|
1653
1633
|
children?: TreeNodeData[];
|
|
1654
1634
|
}
|
|
1655
|
-
interface DropInfo {
|
|
1656
|
-
node:
|
|
1657
|
-
dragNode:
|
|
1635
|
+
interface DropInfo<T extends object = TreeOption$1> {
|
|
1636
|
+
node: T;
|
|
1637
|
+
dragNode: T;
|
|
1658
1638
|
dropPosition: 'before' | 'inside' | 'after';
|
|
1659
1639
|
event: DragEvent;
|
|
1660
1640
|
}
|
|
@@ -1665,12 +1645,12 @@ interface StatusConfig {
|
|
|
1665
1645
|
type: StatusType;
|
|
1666
1646
|
}>;
|
|
1667
1647
|
}
|
|
1668
|
-
interface ActionConfig {
|
|
1648
|
+
interface ActionConfig<T extends object = TreeNodeData> {
|
|
1669
1649
|
key: string;
|
|
1670
1650
|
text: string;
|
|
1671
1651
|
icon: string;
|
|
1672
1652
|
type?: ButtonType;
|
|
1673
|
-
show?: (node:
|
|
1653
|
+
show?: (node: T) => boolean;
|
|
1674
1654
|
confirm?: string;
|
|
1675
1655
|
}
|
|
1676
1656
|
interface IconConfig {
|
|
@@ -1678,22 +1658,67 @@ interface IconConfig {
|
|
|
1678
1658
|
typeMap?: Record<string, string>;
|
|
1679
1659
|
colorMap?: Record<string, string>;
|
|
1680
1660
|
}
|
|
1681
|
-
type
|
|
1682
|
-
|
|
1683
|
-
|
|
1661
|
+
type MaybeArray<T> = T | T[];
|
|
1662
|
+
type TreeUpdateHandler<T extends object, A extends TreeUpdateMeta['action']> = (keys: TreeKey[], options: Array<T | null>, meta: TreeUpdateMeta<T, A>) => void;
|
|
1663
|
+
type TreeDragHandler<T extends object> = (info: {
|
|
1664
|
+
node: T;
|
|
1665
|
+
event: DragEvent;
|
|
1666
|
+
}) => void;
|
|
1667
|
+
/** 原生功能保持透传,涉及节点的回调由数据源推导业务类型。 */
|
|
1668
|
+
type TreeNativeProps<T extends object = TreeNodeData> = Omit<TreeProps, 'data' | 'filter' | 'onLoad' | 'getChildren' | 'renderLabel' | 'renderPrefix' | 'renderSuffix' | 'renderSwitcherIcon' | 'nodeProps' | 'allowDrop' | 'checkOnClick' | 'overrideDefaultNodeClickBehavior' | 'onDrop' | 'onDragenter' | 'onDragleave' | 'onDragend' | 'onDragstart' | 'onDragover' | 'onUpdateExpandedKeys' | 'onUpdate:expandedKeys' | 'onUpdateSelectedKeys' | 'onUpdate:selectedKeys' | 'onUpdateCheckedKeys' | 'onUpdate:checkedKeys' | 'onUpdateIndeterminateKeys' | 'onUpdate:indeterminateKeys'> & {
|
|
1669
|
+
filter?: (pattern: string, node: T) => boolean;
|
|
1670
|
+
onLoad?: (node: T) => Promise<unknown>;
|
|
1671
|
+
getChildren?: (node: T) => unknown;
|
|
1672
|
+
renderLabel?: (context: TreeRenderContext<T>) => VNodeChild;
|
|
1673
|
+
renderPrefix?: (context: TreeRenderContext<T>) => VNodeChild;
|
|
1674
|
+
renderSuffix?: (context: TreeRenderContext<T>) => VNodeChild;
|
|
1675
|
+
renderSwitcherIcon?: (context: {
|
|
1676
|
+
expanded: boolean;
|
|
1677
|
+
selected: boolean;
|
|
1678
|
+
option: T;
|
|
1679
|
+
}) => VNodeChild;
|
|
1680
|
+
nodeProps?: (context: {
|
|
1681
|
+
option: T;
|
|
1682
|
+
}) => ReturnType<NonNullable<TreeProps['nodeProps']>>;
|
|
1683
|
+
allowDrop?: (info: {
|
|
1684
|
+
dropPosition: DropInfo['dropPosition'];
|
|
1685
|
+
node: T;
|
|
1686
|
+
phase: 'drag' | 'drop';
|
|
1687
|
+
}) => boolean;
|
|
1688
|
+
checkOnClick?: boolean | ((node: T) => boolean);
|
|
1689
|
+
overrideDefaultNodeClickBehavior?: (info: {
|
|
1690
|
+
option: T;
|
|
1691
|
+
}) => ReturnType<NonNullable<TreeProps['overrideDefaultNodeClickBehavior']>>;
|
|
1692
|
+
onDrop?: MaybeArray<(info: DropInfo<T>) => void>;
|
|
1693
|
+
onDragenter?: MaybeArray<TreeDragHandler<T>>;
|
|
1694
|
+
onDragleave?: MaybeArray<TreeDragHandler<T>>;
|
|
1695
|
+
onDragend?: MaybeArray<TreeDragHandler<T>>;
|
|
1696
|
+
onDragstart?: MaybeArray<TreeDragHandler<T>>;
|
|
1697
|
+
onDragover?: MaybeArray<TreeDragHandler<T>>;
|
|
1698
|
+
onUpdateExpandedKeys?: MaybeArray<TreeUpdateHandler<T, 'expand' | 'collapse' | 'filter'>>;
|
|
1699
|
+
'onUpdate:expandedKeys'?: MaybeArray<TreeUpdateHandler<T, 'expand' | 'collapse' | 'filter'>>;
|
|
1700
|
+
onUpdateSelectedKeys?: MaybeArray<TreeUpdateHandler<T, 'select' | 'unselect'>>;
|
|
1701
|
+
'onUpdate:selectedKeys'?: MaybeArray<TreeUpdateHandler<T, 'select' | 'unselect'>>;
|
|
1702
|
+
onUpdateCheckedKeys?: MaybeArray<TreeUpdateHandler<T, 'check' | 'uncheck'>>;
|
|
1703
|
+
'onUpdate:checkedKeys'?: MaybeArray<TreeUpdateHandler<T, 'check' | 'uncheck'>>;
|
|
1704
|
+
onUpdateIndeterminateKeys?: MaybeArray<(keys: TreeKey[], options: Array<T | null>) => void>;
|
|
1705
|
+
'onUpdate:indeterminateKeys'?: MaybeArray<(keys: TreeKey[], options: Array<T | null>) => void>;
|
|
1706
|
+
};
|
|
1707
|
+
interface TreeRenderContext<T extends object = TreeOption$1> {
|
|
1708
|
+
option: T;
|
|
1684
1709
|
checked: boolean;
|
|
1685
1710
|
selected: boolean;
|
|
1686
1711
|
}
|
|
1687
|
-
interface TreeUpdateMeta {
|
|
1688
|
-
node:
|
|
1689
|
-
action:
|
|
1712
|
+
interface TreeUpdateMeta<T extends object = TreeOption$1, A extends 'select' | 'unselect' | 'check' | 'uncheck' | 'expand' | 'collapse' | 'filter' = 'select' | 'unselect' | 'check' | 'uncheck' | 'expand' | 'collapse' | 'filter'> {
|
|
1713
|
+
node: T | null;
|
|
1714
|
+
action: A;
|
|
1690
1715
|
}
|
|
1691
|
-
interface TreeProps$1 {
|
|
1716
|
+
interface TreeProps$1<T extends object = TreeNodeData> {
|
|
1692
1717
|
/** Business interfaces need no string index signature; fields are selected by config. */
|
|
1693
|
-
data:
|
|
1718
|
+
data: readonly T[];
|
|
1694
1719
|
mode?: TreeMode;
|
|
1695
1720
|
/** Native tree capabilities; explicit wrapper props have priority. */
|
|
1696
|
-
treeProps?: TreeNativeProps
|
|
1721
|
+
treeProps?: TreeNativeProps<T>;
|
|
1697
1722
|
density?: ComponentDensity;
|
|
1698
1723
|
keyField?: string;
|
|
1699
1724
|
labelField?: string;
|
|
@@ -1710,7 +1735,7 @@ interface TreeProps$1 {
|
|
|
1710
1735
|
iconField?: string;
|
|
1711
1736
|
iconConfig?: IconConfig;
|
|
1712
1737
|
statusConfigs?: StatusConfig[];
|
|
1713
|
-
actions?: ActionConfig[];
|
|
1738
|
+
actions?: ActionConfig<T>[];
|
|
1714
1739
|
defaultExpandAll?: boolean;
|
|
1715
1740
|
defaultExpandedKeys?: TreeKey[];
|
|
1716
1741
|
defaultSelectedKeys?: TreeKey[];
|
|
@@ -1719,125 +1744,110 @@ interface TreeProps$1 {
|
|
|
1719
1744
|
selectedKeys?: TreeKey[];
|
|
1720
1745
|
checkedKeys?: TreeKey[];
|
|
1721
1746
|
}
|
|
1722
|
-
interface TreeExpose {
|
|
1747
|
+
interface TreeExpose<T extends object = TreeNodeData> {
|
|
1723
1748
|
expandAll: () => void;
|
|
1724
1749
|
collapseAll: () => void;
|
|
1725
1750
|
selectNode: (key: TreeKey) => void;
|
|
1726
1751
|
clearSelection: () => void;
|
|
1727
1752
|
setCheckedKeys: (keys: TreeKey[]) => void;
|
|
1728
1753
|
clearChecked: () => void;
|
|
1729
|
-
getSelectedNode: () =>
|
|
1730
|
-
getCheckedData:
|
|
1731
|
-
|
|
1754
|
+
getSelectedNode: () => T | null;
|
|
1755
|
+
getCheckedData: () => {
|
|
1756
|
+
keys: TreeKey[];
|
|
1757
|
+
options: Array<T | null>;
|
|
1758
|
+
};
|
|
1759
|
+
getIndeterminateData: () => {
|
|
1760
|
+
keys: TreeKey[];
|
|
1761
|
+
options: Array<T | null>;
|
|
1762
|
+
};
|
|
1732
1763
|
scrollTo: TreeInst['scrollTo'];
|
|
1733
1764
|
/** Vue 公开实例会解包顶层 Ref;这些属性直接读取数组。 */
|
|
1734
1765
|
expandedKeys: TreeKey[];
|
|
1735
1766
|
selectedKeys: TreeKey[];
|
|
1736
1767
|
checkedKeys: TreeKey[];
|
|
1737
1768
|
}
|
|
1738
|
-
interface TreeEmits {
|
|
1769
|
+
interface TreeEmits<T extends object = TreeNodeData> {
|
|
1739
1770
|
'update:searchPattern': [pattern: string];
|
|
1740
|
-
'update:expandedKeys': [keys: TreeKey[], options: Array<
|
|
1741
|
-
'update:selectedKeys': [keys: TreeKey[], options: Array<
|
|
1742
|
-
'update:checkedKeys': [keys: TreeKey[], options: Array<
|
|
1743
|
-
'node-select': [node:
|
|
1744
|
-
'node-action': [action: string, node:
|
|
1745
|
-
'node-drop': [info: DropInfo];
|
|
1746
|
-
'load-error': [error: unknown, node:
|
|
1747
|
-
add: [parentNode?:
|
|
1771
|
+
'update:expandedKeys': [keys: TreeKey[], options: Array<T | null>, meta: TreeUpdateMeta<T>];
|
|
1772
|
+
'update:selectedKeys': [keys: TreeKey[], options: Array<T | null>, meta: TreeUpdateMeta<T>];
|
|
1773
|
+
'update:checkedKeys': [keys: TreeKey[], options: Array<T | null>, meta: TreeUpdateMeta<T>];
|
|
1774
|
+
'node-select': [node: T | null, selectedKeys: TreeKey[]];
|
|
1775
|
+
'node-action': [action: string, node: T];
|
|
1776
|
+
'node-drop': [info: DropInfo<T>];
|
|
1777
|
+
'load-error': [error: unknown, node: T];
|
|
1778
|
+
add: [parentNode?: T];
|
|
1748
1779
|
refresh: [];
|
|
1749
1780
|
}
|
|
1750
|
-
interface TreeSlots {
|
|
1781
|
+
interface TreeSlots<T extends object = TreeOption$1> {
|
|
1751
1782
|
'toolbar-actions'?: () => VNodeChild;
|
|
1752
|
-
label?: (context: TreeRenderContext) => VNodeChild;
|
|
1753
|
-
prefix?: (context: TreeRenderContext) => VNodeChild;
|
|
1754
|
-
suffix?: (context: TreeRenderContext) => VNodeChild;
|
|
1783
|
+
label?: (context: TreeRenderContext<T>) => VNodeChild;
|
|
1784
|
+
prefix?: (context: TreeRenderContext<T>) => VNodeChild;
|
|
1785
|
+
suffix?: (context: TreeRenderContext<T>) => VNodeChild;
|
|
1755
1786
|
empty?: () => VNodeChild;
|
|
1756
1787
|
}
|
|
1757
1788
|
//#endregion
|
|
1758
1789
|
//#region src/components/C_Tree/index.vue.d.ts
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
"
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
"onLoad-error"?: ((error: unknown, node: TreeOption$1) => any) | undefined;
|
|
1785
|
-
onRefresh?: (() => any) | undefined;
|
|
1786
|
-
}>, {
|
|
1787
|
-
mode: TreeMode;
|
|
1788
|
-
density: ComponentDensity;
|
|
1789
|
-
searchable: boolean;
|
|
1790
|
-
searchPlaceholder: string;
|
|
1791
|
-
draggable: boolean;
|
|
1792
|
-
showLine: boolean;
|
|
1793
|
-
showToolbar: boolean;
|
|
1794
|
-
addable: boolean;
|
|
1795
|
-
addText: string;
|
|
1796
|
-
refreshable: boolean;
|
|
1797
|
-
defaultExpandAll: boolean;
|
|
1798
|
-
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
1799
|
-
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
1800
|
-
declare const _default: typeof __VLS_export;
|
|
1801
|
-
type __VLS_WithSlots<T, S> = T & {
|
|
1802
|
-
new (): {
|
|
1803
|
-
$slots: S;
|
|
1804
|
-
};
|
|
1790
|
+
declare const __VLS_export: <T extends object = TreeNodeData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
1791
|
+
props: vue.PublicProps & __VLS_PrettifyLocal<TreeProps$1<T> & {
|
|
1792
|
+
onAdd?: ((parentNode?: T | undefined) => any) | undefined;
|
|
1793
|
+
onRefresh?: (() => any) | undefined;
|
|
1794
|
+
"onUpdate:expandedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => any) | undefined;
|
|
1795
|
+
"onUpdate:searchPattern"?: ((pattern: string) => any) | undefined;
|
|
1796
|
+
"onUpdate:selectedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => any) | undefined;
|
|
1797
|
+
"onUpdate:checkedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => any) | undefined;
|
|
1798
|
+
"onNode-select"?: ((node: T | null, selectedKeys: TreeKey[]) => any) | undefined;
|
|
1799
|
+
"onNode-action"?: ((action: string, node: T) => any) | undefined;
|
|
1800
|
+
"onNode-drop"?: ((info: DropInfo<T>) => any) | undefined;
|
|
1801
|
+
"onLoad-error"?: ((error: unknown, node: T) => any) | undefined;
|
|
1802
|
+
}> & (typeof globalThis extends {
|
|
1803
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
1804
|
+
} ? P : {});
|
|
1805
|
+
expose: (exposed: vue.ShallowUnwrapRef<Omit<TreeExpose<T>, "expandedKeys" | "selectedKeys" | "checkedKeys"> & {
|
|
1806
|
+
expandedKeys: vue.Ref<TreeKey[]>;
|
|
1807
|
+
selectedKeys: vue.Ref<TreeKey[]>;
|
|
1808
|
+
checkedKeys: vue.Ref<TreeKey[]>;
|
|
1809
|
+
}>) => void;
|
|
1810
|
+
attrs: any;
|
|
1811
|
+
slots: TreeSlots<T>;
|
|
1812
|
+
emit: ((evt: "add", parentNode?: T | undefined) => void) & ((evt: "refresh") => void) & ((evt: "update:expandedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => void) & ((evt: "update:searchPattern", pattern: string) => void) & ((evt: "update:selectedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => void) & ((evt: "update:checkedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => void) & ((evt: "node-select", node: T | null, selectedKeys: TreeKey[]) => void) & ((evt: "node-action", action: string, node: T) => void) & ((evt: "node-drop", info: DropInfo<T>) => void) & ((evt: "load-error", error: unknown, node: T) => void);
|
|
1813
|
+
}>) => vue.VNode & {
|
|
1814
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
1805
1815
|
};
|
|
1816
|
+
declare const _default: typeof __VLS_export;
|
|
1817
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
|
|
1806
1818
|
//#endregion
|
|
1807
1819
|
//#region src/components/C_Tree/data.d.ts
|
|
1808
|
-
declare const presetConfigs: Record<TreeMode, Partial<TreeProps$1
|
|
1820
|
+
declare const presetConfigs: Record<TreeMode, Partial<Omit<TreeProps$1, 'data' | 'treeProps' | 'actions'>> & {
|
|
1821
|
+
actions?: Omit<ActionConfig, 'show'>[];
|
|
1822
|
+
}>;
|
|
1809
1823
|
//#endregion
|
|
1810
1824
|
//#region src/components/C_Tree/composables/useTreeOperations.d.ts
|
|
1811
|
-
type EmitFn = <E extends keyof TreeEmits
|
|
1825
|
+
type EmitFn$1<T extends object> = <E extends keyof TreeEmits<T>>(event: E, ...args: TreeEmits<T>[E]) => void;
|
|
1812
1826
|
/** State coordination only; checking, filtering, keyboard and loading stay native. */
|
|
1813
|
-
declare function useTreeOperations(props: TreeProps$1
|
|
1827
|
+
declare function useTreeOperations<T extends object = TreeNodeData>(props: TreeProps$1<T>, emit: EmitFn$1<T>, slots?: TreeSlots<T>): {
|
|
1814
1828
|
internalSearchPattern: Ref<string, string>;
|
|
1815
1829
|
expandedKeys: vue.WritableComputedRef<TreeKey[], TreeKey[]>;
|
|
1816
1830
|
selectedKeys: vue.WritableComputedRef<TreeKey[], TreeKey[]>;
|
|
1817
1831
|
checkedKeys: vue.WritableComputedRef<TreeKey[], TreeKey[]>;
|
|
1818
1832
|
isAllExpanded: vue.ComputedRef<boolean>;
|
|
1819
|
-
treeData: vue.ComputedRef<
|
|
1833
|
+
treeData: vue.ComputedRef<readonly T[]>;
|
|
1820
1834
|
currentSearchPattern: vue.WritableComputedRef<string, string>;
|
|
1821
|
-
renderPrefix: (info: TreeRenderContext) =>
|
|
1822
|
-
|
|
1823
|
-
}> | vue.VNodeArrayChildren | null;
|
|
1824
|
-
renderLabel: (info: TreeRenderContext) => string | number | boolean | void | vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1825
|
-
[key: string]: any;
|
|
1826
|
-
}> | vue.VNodeArrayChildren | null;
|
|
1827
|
-
renderSuffix: (info: TreeRenderContext) => string | number | boolean | void | vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1835
|
+
renderPrefix: (info: TreeRenderContext<T>) => any;
|
|
1836
|
+
renderLabel: (info: TreeRenderContext<T>) => string | number | boolean | void | vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1828
1837
|
[key: string]: any;
|
|
1829
1838
|
}> | vue.VNodeArrayChildren | null;
|
|
1839
|
+
renderSuffix: (info: TreeRenderContext<T>) => any;
|
|
1830
1840
|
treeBindings: vue.ComputedRef<TreeProps>;
|
|
1831
1841
|
treeRef: vue.ShallowRef<TreeInst | undefined, TreeInst | undefined>;
|
|
1832
1842
|
density: vue.ComputedRef<ResolvedComponentDensity>;
|
|
1833
1843
|
toggleExpandAll: () => void;
|
|
1834
|
-
handleExpandedKeysChange: (keys: TreeKey[], options?: (
|
|
1835
|
-
handleSelectedKeysChange: (keys: TreeKey[], options?: (
|
|
1836
|
-
handleCheckedKeysChange: (keys: TreeKey[], options?: (
|
|
1837
|
-
handleDrop: (info: DropInfo) => void;
|
|
1844
|
+
handleExpandedKeysChange: (keys: TreeKey[], options?: (T | null)[], meta?: TreeUpdateMeta<T>) => void;
|
|
1845
|
+
handleSelectedKeysChange: (keys: TreeKey[], options?: (T | null)[], meta?: TreeUpdateMeta<T>) => void;
|
|
1846
|
+
handleCheckedKeysChange: (keys: TreeKey[], options?: (T | null)[], meta?: TreeUpdateMeta<T>) => void;
|
|
1847
|
+
handleDrop: (info: DropInfo<T>) => void;
|
|
1838
1848
|
handleAdd: () => void;
|
|
1839
1849
|
handleRefresh: () => void;
|
|
1840
|
-
expose: Omit<TreeExpose
|
|
1850
|
+
expose: Omit<TreeExpose<T>, "expandedKeys" | "selectedKeys" | "checkedKeys"> & {
|
|
1841
1851
|
expandedKeys: Ref<TreeKey[]>;
|
|
1842
1852
|
selectedKeys: Ref<TreeKey[]>;
|
|
1843
1853
|
checkedKeys: Ref<TreeKey[]>;
|
|
@@ -1916,9 +1926,9 @@ declare function useTableQuery<T extends object, Q extends object = Record<strin
|
|
|
1916
1926
|
validateRowKeys?: boolean;
|
|
1917
1927
|
edit?: boolean | EditMode | EditConfig<T> | undefined;
|
|
1918
1928
|
actions?: SimpleTableActions<T> | undefined;
|
|
1919
|
-
expand?: boolean | ExpandConfig$1<T> | undefined;
|
|
1920
|
-
selection?: boolean | SelectionConfig$1<T> | undefined;
|
|
1921
|
-
dynamicRows?:
|
|
1929
|
+
expand?: boolean | ExpandConfig$1<T, unknown> | undefined;
|
|
1930
|
+
selection?: boolean | SelectionConfig$1<T, unknown> | undefined;
|
|
1931
|
+
dynamicRows?: DynamicRowsOptions<T> | (string extends keyof T ? boolean : false) | undefined;
|
|
1922
1932
|
toolbar?: ToolbarConfig;
|
|
1923
1933
|
display?: DisplayConfig;
|
|
1924
1934
|
virtualScroll?: VirtualScrollConfig | boolean;
|
|
@@ -1964,9 +1974,9 @@ declare function useTableQuery<T extends object, Q extends object = Record<strin
|
|
|
1964
1974
|
validateRowKeys?: boolean;
|
|
1965
1975
|
edit?: boolean | EditMode | EditConfig<T> | undefined;
|
|
1966
1976
|
actions?: SimpleTableActions<T> | undefined;
|
|
1967
|
-
expand?: boolean | ExpandConfig$1<T> | undefined;
|
|
1968
|
-
selection?: boolean | SelectionConfig$1<T> | undefined;
|
|
1969
|
-
dynamicRows?:
|
|
1977
|
+
expand?: boolean | ExpandConfig$1<T, unknown> | undefined;
|
|
1978
|
+
selection?: boolean | SelectionConfig$1<T, unknown> | undefined;
|
|
1979
|
+
dynamicRows?: DynamicRowsOptions<T> | (string extends keyof T ? boolean : false) | undefined;
|
|
1970
1980
|
toolbar?: ToolbarConfig;
|
|
1971
1981
|
display?: DisplayConfig;
|
|
1972
1982
|
virtualScroll?: VirtualScrollConfig | boolean;
|
|
@@ -1985,4 +1995,4 @@ declare function useTableQuery<T extends object, Q extends object = Record<strin
|
|
|
1985
1995
|
cancel: () => void;
|
|
1986
1996
|
};
|
|
1987
1997
|
//#endregion
|
|
1988
|
-
export {
|
|
1998
|
+
export { MaybeRefLike as $, PrintWatermarkOptions as $t, HighlightPluginOptions as A, createEditModeChecker as At, useRowEdit as B, mergeGlobalConfig as Bt, TreeNodeData as C, ExpandConfig$1 as Ct, TreeSlots as D, ToolbarConfig as Dt, TreeRenderContext as E, TableConfig as Et, useCellEdit as F, FormatterConfig as Ft, _default$1 as G, useCrossPageSelection as Gt, defineTableColumns as H, CrossPageSelectionConfig as Ht, usePagination as I, FormatterType as It, ChildSelectionState as J, UseRowDragReturn as Jt, ApiFunction as K, RowDragConfig as Kt, useTableActions as L, TABLE_GLOBAL_CONFIG_KEY as Lt, setupHighlight as M, ExportConfig as Mt, useHighlight as N, exportTableData as Nt, TreeUpdateMeta as O, TreeConfig as Ot, useModalEdit as P, ColumnFormatter as Pt, EditMode as Q, useDynamicRows as Qt, useTableExpand as R, TableGlobalConfig as Rt, TreeNativeProps as S, ErrorConfig as St, TreeProps$1 as T, SummaryConfig as Tt, defineTableConfig as U, UseCrossPageSelectionOptions as Ut, useTableColumns as V, useTableGlobalConfig as Vt, validateTableRowKeys as W, UseCrossPageSelectionReturn as Wt, CustomAction as X, DynamicRowsOptions as Xt, ColumnWithKey as Y, useRowDrag as Yt, DataRecord as Z, DynamicRowsReturn as Zt, StatusType as _, BatchActionsConfig as _t, getItem as a, COMPONENT_LOCALE_KEY as an, SelectOption as at, TreeKey as b, DisplayConfig as bt, setItem as c, TableColumn as ct, _default as d, TableManagerApi as dt, printPresets as en, NormalTableColumn as et, ActionConfig as f, TableProps as ft, StatusConfig as g, UseTableExpandReturn as gt, IconConfig as h, UseTableExpandOptions as ht, useTableQuery as i, COMPONENT_FEEDBACK_KEY as in, RowAction as it, createHighlight as j, resolveConfig as jt, HighlightAPI as k, VirtualScrollConfig as kt, useTreeOperations as l, TableEmits as lt, DropInfo as m, TableRowKeyIssue as mt, TableQueryResult as n, useComponentFeedback as nn, ParentChildLinkMode as nt, removeAllItem as o, SimpleTableActions as ot, ButtonType as p, TableRowKey as pt, BuiltInTableColumn as q, UseRowDragOptions as qt, UseTableQueryOptions as r, useComponentLocale as rn, RenderFunction as rt, removeItem as s, StrictTableColumn as st, TableQueryContext as t, usePrintWatermark as tn, PaginationConfig as tt, presetConfigs as u, TableInstance as ut, TreeEmits as v, ColumnDragConfig as vt, TreeOption$1 as w, SelectionConfig$1 as wt, TreeMode as x, EditConfig as xt, TreeExpose as y, CrudBinding as yt, useTableManager as z, applyFormatter as zt };
|