@robot-admin/naive-ui-components 0.14.2 → 0.15.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 +30 -0
- package/README.md +130 -721
- package/README_EN.md +137 -658
- package/dist/C_ActionBar.css +57 -58
- package/dist/C_ActionBar2.cjs +1 -1
- package/dist/C_ActionBar2.js +1 -1
- package/dist/C_AntV.css +215 -222
- package/dist/C_AntV2.cjs +2 -2
- package/dist/C_AntV2.js +2 -2
- package/dist/C_AudioPlayer.css +11 -12
- package/dist/C_AvatarGroup.css +5 -6
- package/dist/C_Barcode.css +1 -1
- package/dist/C_Breadcrumb.css +15 -17
- package/dist/C_Breadcrumb2.cjs +1 -1
- package/dist/C_Breadcrumb2.js +1 -1
- package/dist/C_Captcha.css +45 -47
- package/dist/C_Captcha2.cjs +1 -1
- package/dist/C_Captcha2.js +1 -1
- package/dist/C_Cascade.css +2 -2
- package/dist/C_Chat.css +8 -8
- package/dist/C_City.css +6 -7
- package/dist/C_Code.css +14 -15
- package/dist/C_CollapsePanel.css +12 -13
- package/dist/C_ContextMenu.css +31 -31
- package/dist/C_Cron.css +272 -275
- package/dist/C_Date.css +1 -1
- package/dist/C_Draggable.css +10 -11
- package/dist/C_Editor.css +2 -2
- package/dist/C_FilePreview.css +193 -193
- package/dist/C_Form.base.css +607 -601
- package/dist/C_Form.cjs +1 -1
- package/dist/C_Form.css +609 -603
- package/dist/C_Form.d.cts +2 -2
- package/dist/C_Form.d.ts +2 -2
- package/dist/C_Form.js +1 -1
- package/dist/C_FormModal.cjs +1 -1
- package/dist/C_FormModal.css +14 -20
- package/dist/C_FormModal.js +1 -1
- package/dist/C_FormModal2.cjs +1 -1
- package/dist/C_FormModal2.js +1 -1
- package/dist/C_FormSearch.css +53 -55
- package/dist/C_FormSearch2.cjs +1 -1
- package/dist/C_FormSearch2.js +1 -1
- package/dist/C_FormulaEditor.css +314 -315
- package/dist/C_FullCalendar.css +14 -16
- package/dist/C_FullCalendar2.cjs +1 -1
- package/dist/C_FullCalendar2.js +1 -1
- package/dist/C_GlobalSearch.css +2 -2
- package/dist/C_Guide.css +14 -15
- package/dist/C_Icon.css +7 -8
- package/dist/C_ImageCropper.css +69 -69
- package/dist/C_Language.css +8 -8
- package/dist/C_Loading.css +20 -22
- package/dist/C_Loading2.cjs +1 -1
- package/dist/C_Loading2.js +1 -1
- package/dist/C_Login.css +130 -135
- package/dist/C_Login2.cjs +1 -1
- package/dist/C_Login2.js +1 -1
- package/dist/C_Map.css +22 -23
- package/dist/C_Markdown.css +2 -2
- package/dist/C_Menu.css +2 -5
- package/dist/C_Menu2.cjs +1 -1
- package/dist/C_Menu2.js +1 -1
- package/dist/C_NotificationCenter.css +300 -301
- package/dist/C_OrgChart.css +3 -3
- package/dist/C_PageLoading.css +35 -39
- package/dist/C_QRCode.css +5 -6
- package/dist/C_Signature.css +5 -6
- package/dist/C_Skeleton.css +6 -7
- package/dist/C_SplitPane.css +2 -2
- package/dist/C_Steps.css +2 -2
- package/dist/C_Table.base.css +1097 -870
- package/dist/C_Table.cjs +1 -1
- package/dist/C_Table.css +1101 -874
- package/dist/C_Table.d.cts +1 -1
- package/dist/C_Table.d.ts +1 -1
- package/dist/C_Table.js +1 -1
- package/dist/C_Tabs.css +2 -2
- package/dist/C_TagsView.css +72 -76
- package/dist/C_TagsView2.cjs +1 -1
- package/dist/C_TagsView2.js +1 -1
- package/dist/C_Theme.css +7 -8
- package/dist/C_Time.css +1 -1
- package/dist/C_Timeline.css +8 -8
- package/dist/C_Transfer.css +10 -11
- package/dist/C_Tree.css +16 -17
- package/dist/C_Upload.css +147 -148
- package/dist/C_VideoPlayer.css +280 -281
- package/dist/C_VtableGantt.css +2 -2
- package/dist/C_WaterFall.css +17 -18
- package/dist/C_WorkFlow.css +453 -457
- package/dist/C_WorkFlow2.cjs +1 -1
- package/dist/C_WorkFlow2.js +1 -1
- package/dist/Card.cjs +1 -0
- package/dist/Card.js +1 -0
- package/dist/Custom.cjs +1 -0
- package/dist/Custom.js +1 -0
- package/dist/Dynamic.cjs +1 -0
- package/dist/Dynamic.js +1 -0
- package/dist/Steps.cjs +1 -0
- package/dist/Steps.js +1 -0
- package/dist/Tabs.cjs +1 -0
- package/dist/Tabs.js +1 -0
- package/dist/cascader.cjs +1 -0
- package/dist/cascader.js +1 -0
- package/dist/color-picker.cjs +1 -0
- package/dist/color-picker.js +1 -0
- package/dist/constants.d.cts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants3.d.cts +5 -5
- package/dist/constants3.d.ts +5 -5
- package/dist/constants4.d.cts +4 -4
- package/dist/constants4.d.ts +4 -4
- package/dist/constants5.d.cts +2 -2
- package/dist/constants5.d.ts +2 -2
- package/dist/context.cjs +1 -0
- package/dist/context.js +1 -0
- package/dist/contracts.d.cts +24 -0
- package/dist/contracts.d.ts +24 -0
- package/dist/createPageLoading.cjs +1 -1
- package/dist/createPageLoading.js +1 -1
- package/dist/data.cjs +1 -1
- package/dist/data.d.cts +9 -9
- package/dist/data.d.ts +9 -9
- package/dist/data.js +1 -1
- package/dist/date-picker.cjs +1 -0
- package/dist/date-picker.js +1 -0
- package/dist/feedback.cjs +1 -0
- package/dist/feedback.js +1 -0
- package/dist/helpers.cjs +1 -1
- package/dist/helpers.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +6 -4
- package/dist/index.d.ts +6 -4
- package/dist/index.js +1 -1
- package/dist/index.vue.d.cts +4 -4
- package/dist/index.vue.d.ts +4 -4
- package/dist/index10.vue.d.cts +3 -3
- package/dist/index11.vue.d.ts +2 -2
- package/dist/index12.vue.d.cts +2 -2
- package/dist/index12.vue.d.ts +1 -1
- package/dist/index13.vue.d.cts +1 -1
- package/dist/index13.vue.d.ts +3 -3
- package/dist/index14.vue.d.cts +3 -3
- package/dist/index14.vue.d.ts +7 -7
- package/dist/index15.vue.d.cts +7 -7
- package/dist/index16.vue.d.ts +1 -1
- package/dist/index17.vue.d.cts +1 -1
- package/dist/index17.vue.d.ts +1 -1
- package/dist/index18.vue.d.cts +1 -1
- package/dist/index18.vue.d.ts +1 -1
- package/dist/index19.vue.d.cts +1 -1
- package/dist/index19.vue.d.ts +2 -9
- package/dist/index2.vue.d.cts +2 -2
- package/dist/index2.vue.d.ts +2 -2
- package/dist/index20.vue.d.cts +1 -1
- package/dist/index20.vue.d.ts +1 -1
- package/dist/index21.vue.d.cts +1 -1
- package/dist/index21.vue.d.ts +1 -1
- package/dist/index22.vue.d.cts +2 -2
- package/dist/index22.vue.d.ts +2 -2
- package/dist/index23.vue.d.cts +1 -1
- package/dist/index23.vue.d.ts +1 -1
- package/dist/index25.vue.d.cts +4 -4
- package/dist/index25.vue.d.ts +4 -4
- package/dist/index26.vue.d.cts +1 -1
- package/dist/index26.vue.d.ts +1 -1
- package/dist/index27.vue.d.cts +4 -4
- package/dist/index27.vue.d.ts +4 -4
- package/dist/index28.vue.d.cts +1 -1
- package/dist/index28.vue.d.ts +1 -1
- package/dist/index3.vue.d.cts +4 -4
- package/dist/index3.vue.d.ts +4 -4
- package/dist/index4.vue.d.cts +2 -9
- 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 +3 -3
- package/dist/mapUtils.d.cts +2 -2
- package/dist/mapUtils.d.ts +2 -2
- package/dist/presets.d.cts +8 -2
- package/dist/presets.d.ts +8 -2
- package/dist/rate.cjs +1 -0
- package/dist/rate.js +1 -0
- package/dist/slider.cjs +1 -0
- package/dist/slider.js +1 -0
- package/dist/style.css +10898 -10915
- package/dist/time-picker.cjs +1 -0
- package/dist/time-picker.js +1 -0
- package/dist/upload.cjs +1 -0
- package/dist/upload.js +1 -0
- package/dist/useActionTask.cjs +1 -0
- package/dist/useActionTask.js +1 -0
- package/dist/useCalendarEvents.d.cts +1 -1
- package/dist/useCalendarEvents.d.ts +1 -1
- package/dist/useCollapsePanel.d.cts +4 -4
- package/dist/useCollapsePanel.d.ts +4 -4
- package/dist/useComponentLocale.cjs +1 -0
- package/dist/useComponentLocale.js +1 -0
- package/dist/useCropperCore.d.cts +6 -6
- package/dist/useCropperCore.d.ts +6 -6
- package/dist/useDraggableLayout.d.cts +1 -1
- package/dist/useDraggableLayout.d.ts +1 -1
- package/dist/useDynamicFormState.cjs +1 -0
- package/dist/useDynamicFormState.d.cts +64 -40
- package/dist/useDynamicFormState.d.ts +64 -40
- package/dist/useDynamicFormState.js +1 -0
- package/dist/useEdgeInteraction.d.cts +3 -3
- package/dist/useEdgeInteraction.d.ts +3 -3
- package/dist/useGlobalSearch.d.cts +1 -1
- package/dist/useGlobalSearch.d.ts +1 -1
- package/dist/useQRCode.d.cts +2 -2
- package/dist/useQRCode.d.ts +2 -2
- package/dist/useSearchState.d.cts +15 -725
- package/dist/useSearchState.d.ts +15 -834
- package/dist/useSignatureHistory.d.cts +4 -4
- package/dist/useSignatureHistory.d.ts +4 -4
- package/dist/useSplitResize.d.cts +3 -3
- package/dist/useSplitResize.d.ts +3 -3
- package/dist/useTableQuery.cjs +3 -3
- package/dist/useTableQuery.d.cts +73 -34
- package/dist/useTableQuery.d.ts +73 -34
- package/dist/useTableQuery.js +3 -3
- package/dist/useTimeSelection.d.cts +1 -1
- package/dist/useTimeSelection.d.ts +1 -1
- package/dist/useTreeOperations.d.cts +5 -5
- package/dist/useTreeOperations.d.ts +5 -5
- package/dist/useWorkflowValidation.d.cts +3 -3
- package/dist/useWorkflowValidation.d.ts +3 -3
- package/dist/verification.d.cts +4 -4
- package/dist/verification.d.ts +4 -4
- package/docs/architecture.en.md +83 -0
- package/docs/architecture.md +83 -0
- package/docs/assets/README.md +47 -0
- package/docs/assets/naive-ui-components-banner.png +0 -0
- package/docs/assets/naive-ui-components-banner.svg +69 -0
- package/docs/assets/naive-ui-components-logo.png +0 -0
- package/docs/assets/naive-ui-components-logo.svg +22 -0
- package/docs/components.en.md +118 -0
- package/docs/components.md +118 -0
- package/docs/engineering.en.md +132 -0
- package/docs/engineering.md +133 -0
- package/docs/guides/usage.en.md +638 -0
- package/docs/guides/usage.md +699 -0
- package/docs/performance-0.15.0.md +20 -0
- package/docs/security-scan-2026-10-06.md +11 -0
- package/docs/security-scan-2026-10-18.md +16 -0
- package/package.json +35 -12
- package/dist/C_Form2.cjs +0 -1
- package/dist/C_Form2.js +0 -1
- package/dist/config.cjs +0 -1
- package/dist/config.d.cts +0 -33
- package/dist/config.d.ts +0 -33
- package/dist/config.js +0 -1
package/dist/useTableQuery.d.cts
CHANGED
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { f as ActionItem, s as ActionBarConfig } from "./presets.cjs";
|
|
2
|
-
import {
|
|
2
|
+
import { n as ComponentLocale, t as ComponentFeedback } from "./contracts.cjs";
|
|
3
3
|
import * as vue from "vue";
|
|
4
4
|
import { App, ComputedRef, InjectionKey, MaybeRef, MaybeRefOrGetter, Ref, VNodeChild } from "vue";
|
|
5
5
|
import { DataTableBaseColumn, DataTableColumn, DataTableRowKey, FormItemRule, PaginationProps } from "naive-ui";
|
|
6
6
|
import * as _vue_shared0 from "@vue/shared";
|
|
7
7
|
import { HLJSApi } from "highlight.js";
|
|
8
8
|
|
|
9
|
+
//#region src/context.d.ts
|
|
10
|
+
declare const COMPONENT_FEEDBACK_KEY: InjectionKey<ComponentFeedback>;
|
|
11
|
+
declare const COMPONENT_LOCALE_KEY: InjectionKey<ComponentLocale>;
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/composables/useComponentLocale.d.ts
|
|
14
|
+
/** Bind the UI-independent translator to this Vue application and local configuration. */
|
|
15
|
+
declare function useComponentLocale(local?: MaybeRefOrGetter<ComponentLocale | undefined>): {
|
|
16
|
+
t: (key: string, params?: Record<string, string | number>) => string;
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/adapters/naive/feedback.d.ts
|
|
20
|
+
/** Reuse Naive providers when present and safely degrade to injected/no-op feedback. */
|
|
21
|
+
declare function useComponentFeedback(local?: MaybeRefOrGetter<ComponentFeedback | undefined>): Required<ComponentFeedback>;
|
|
22
|
+
//#endregion
|
|
9
23
|
//#region src/components/C_Table/composables/usePrintWatermark.d.ts
|
|
10
24
|
interface WatermarkConfig {
|
|
11
25
|
text: string;
|
|
@@ -234,44 +248,41 @@ declare function useRowDrag<T extends object = DataRecord>(options: UseRowDragOp
|
|
|
234
248
|
//#region src/components/C_Table/composables/useCrossPageSelection.d.ts
|
|
235
249
|
interface CrossPageSelectionConfig {
|
|
236
250
|
enabled?: boolean;
|
|
237
|
-
/**
|
|
251
|
+
/** Maximum selected rows, including previously visited remote pages. */
|
|
238
252
|
maxSelection?: number;
|
|
239
253
|
}
|
|
240
254
|
interface UseCrossPageSelectionOptions<T extends object = DataRecord> {
|
|
241
|
-
/**
|
|
255
|
+
/** All local rows, or the loaded page when remote is enabled. */
|
|
242
256
|
allData: Ref<T[]> | ComputedRef<T[]>;
|
|
243
|
-
/** 行键函数 */
|
|
244
257
|
rowKey: (row: T) => DataTableRowKey;
|
|
245
|
-
/** 配置 */
|
|
246
258
|
config: MaybeRefOrGetter<CrossPageSelectionConfig | undefined>;
|
|
259
|
+
remote?: MaybeRefOrGetter<boolean>;
|
|
260
|
+
childrenKey?: MaybeRefOrGetter<string | undefined>;
|
|
261
|
+
rowCheckable?: (row: T) => boolean;
|
|
262
|
+
onSelectionChange?: (keys: DataTableRowKey[], rows: T[]) => void;
|
|
247
263
|
}
|
|
248
264
|
interface UseCrossPageSelectionReturn<T extends object = DataRecord> {
|
|
249
|
-
/** 所有选中的 key(跨页) */
|
|
250
265
|
selectedKeys: Ref<Set<DataTableRowKey>>;
|
|
251
|
-
/** 选中行数量 */
|
|
252
266
|
selectedCount: ComputedRef<number>;
|
|
253
|
-
/** 当前页数据的 checkedKeys(给 NDataTable 绑定) */
|
|
254
267
|
getPageCheckedKeys: (pageData: T[]) => DataTableRowKey[];
|
|
255
|
-
/** NDataTable @update:checked-row-keys 处理器 */
|
|
256
268
|
handlePageSelectionChange: (keys: DataTableRowKey[], pageData: T[]) => void;
|
|
257
|
-
/**
|
|
269
|
+
/** In remote mode, adds the currently loaded page; never claims to select unseen server rows. */
|
|
258
270
|
selectAll: () => void;
|
|
259
|
-
/** 选择指定 key */
|
|
260
271
|
select: (key: DataTableRowKey) => boolean;
|
|
261
|
-
/** 取消选择指定 key */
|
|
262
272
|
unselect: (key: DataTableRowKey) => void;
|
|
263
|
-
/** 清除所有页选中 */
|
|
264
273
|
clearAll: () => void;
|
|
265
|
-
/** 获取所有选中行数据 */
|
|
266
274
|
getSelectedRows: () => T[];
|
|
267
|
-
/** 判断 key 是否选中 */
|
|
268
275
|
isSelected: (key: DataTableRowKey) => boolean;
|
|
269
276
|
}
|
|
270
|
-
/**
|
|
277
|
+
/** Preserve selected identities and loaded row snapshots across local or remote pages. */
|
|
271
278
|
declare function useCrossPageSelection<T extends object = DataRecord>(options: UseCrossPageSelectionOptions<T>): UseCrossPageSelectionReturn<T>;
|
|
272
279
|
//#endregion
|
|
273
280
|
//#region src/components/C_Table/composables/useTableExport.d.ts
|
|
274
281
|
interface ExportConfig {
|
|
282
|
+
/** Data scope used by C_Table; source preserves the legacy loaded-source behavior. */
|
|
283
|
+
scope?: 'source' | 'page' | 'selected';
|
|
284
|
+
/** Explicit server-side/full-data export request; invoked only when exporting. */
|
|
285
|
+
requestData?: () => DataRecord[] | Promise<DataRecord[]>;
|
|
275
286
|
/** 导出文件名(不含扩展名) */
|
|
276
287
|
filename?: string;
|
|
277
288
|
/** 导出格式 */
|
|
@@ -784,7 +795,9 @@ interface BaseTableColumn<T extends object = DataRecord> extends Omit<DataTableB
|
|
|
784
795
|
required?: boolean;
|
|
785
796
|
editType?: EditType;
|
|
786
797
|
editProps?: EditProps;
|
|
787
|
-
editRender?: (value: unknown, rowData: T, rowIndex: number
|
|
798
|
+
editRender?: (value: unknown, rowData: T, rowIndex: number, context: {
|
|
799
|
+
onUpdate: (value: unknown) => void;
|
|
800
|
+
}) => VNodeChild;
|
|
788
801
|
render?: (rowData: T, rowIndex: number) => VNodeChild;
|
|
789
802
|
/** 声明式格式化器(优先级低于 render) */
|
|
790
803
|
formatter?: ColumnFormatter;
|
|
@@ -872,6 +885,10 @@ interface TableSelectionProps<T extends object = DataRecord, C = DataRecord> ext
|
|
|
872
885
|
interface TableProps<T extends object = DataRecord, C = DataRecord> extends TableBaseProps<T>, TableDisplayProps, TableEditProps<T>, TableExpandProps<T, C>, TableSelectionProps<T, C> {
|
|
873
886
|
pagination?: PaginationConfig | boolean;
|
|
874
887
|
actions?: SimpleTableActions<T>;
|
|
888
|
+
/** 根容器 class,原生 class/style 仍转发到内部表格。 */
|
|
889
|
+
wrapperClass?: vue.HTMLAttributes['class'];
|
|
890
|
+
/** 填满确定高度的容器,保留工具栏和分页空间。 */
|
|
891
|
+
flexHeight?: boolean;
|
|
875
892
|
}
|
|
876
893
|
interface TableExpandEvents<T extends object = DataRecord> {
|
|
877
894
|
'expand-change': [expandedKeys: DataTableRowKey[], row?: T, expanded?: boolean];
|
|
@@ -907,6 +924,8 @@ interface TableExpandMethods {
|
|
|
907
924
|
expandAll: () => Promise<void>;
|
|
908
925
|
collapseAll: () => void;
|
|
909
926
|
isExpanded: (rowKey: DataTableRowKey) => boolean;
|
|
927
|
+
retryExpand: (rowKey: DataTableRowKey) => Promise<void>;
|
|
928
|
+
invalidateExpand: (rowKey?: DataTableRowKey) => void;
|
|
910
929
|
}
|
|
911
930
|
interface TableSelectionMethods<T extends object = DataRecord, C = DataRecord> {
|
|
912
931
|
selectRow: (rowKey: DataTableRowKey) => boolean | void;
|
|
@@ -938,11 +957,16 @@ interface TablePaginationMethods {
|
|
|
938
957
|
resetToFirstPage: () => void;
|
|
939
958
|
getTotalPages: () => number;
|
|
940
959
|
}
|
|
941
|
-
interface TableInstance<T extends object = DataRecord, C = DataRecord> extends TableEditMethods<T>, TableExpandMethods, TableSelectionMethods<T, C>, TableDynamicRowsMethods<T>, TablePaginationMethods {
|
|
960
|
+
interface TableInstance<T extends object = DataRecord, C = DataRecord> extends TableEditMethods<T>, TableExpandMethods, TableSelectionMethods<T, C>, TableDynamicRowsMethods<T>, TablePaginationMethods {
|
|
961
|
+
exportData: () => Promise<void>;
|
|
962
|
+
}
|
|
942
963
|
interface UseTableExpandOptions<T extends object = DataRecord, C = DataRecord> extends ExpandConfig<T, C>, SelectionConfig<T, C> {
|
|
943
964
|
data: Ref<T[]> | ComputedRef<T[]>;
|
|
944
965
|
rowKey: (row: T) => DataTableRowKey;
|
|
945
966
|
childRowKey?: (child: C) => DataTableRowKey;
|
|
967
|
+
/** Native tree children field; omitted for flat/detail-expansion tables. */
|
|
968
|
+
childrenKey?: string;
|
|
969
|
+
locale?: ComponentLocale;
|
|
946
970
|
/** 展开数据等待时的加载内容,C_Table 内置统一 SVG;独立引擎可按需提供。 */
|
|
947
971
|
renderLoading?: () => VNodeChild;
|
|
948
972
|
defaultExpandedKeys?: DataTableRowKey[];
|
|
@@ -956,6 +980,9 @@ interface UseTableExpandReturn<T extends object = DataRecord, C = DataRecord> {
|
|
|
956
980
|
childSelections: Ref<Map<DataTableRowKey, DataTableRowKey[]>>;
|
|
957
981
|
expandDataMap: Ref<Map<DataTableRowKey, C[]>>;
|
|
958
982
|
loadingMap: Ref<Map<DataTableRowKey, boolean>>;
|
|
983
|
+
errorMap: Ref<Map<DataTableRowKey, unknown>>;
|
|
984
|
+
retryExpand: (key: DataTableRowKey) => Promise<void>;
|
|
985
|
+
invalidateExpand: (key?: DataTableRowKey) => void;
|
|
959
986
|
selectedRowsCount: ComputedRef<number>;
|
|
960
987
|
totalChildSelections: ComputedRef<number>;
|
|
961
988
|
expandAll: () => Promise<void>;
|
|
@@ -995,11 +1022,15 @@ type ColumnWithKey = TableColumn & {
|
|
|
995
1022
|
//#region src/components/C_Table/index.vue.d.ts
|
|
996
1023
|
declare const __VLS_export: <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<{
|
|
997
1024
|
props: vue.PublicProps & __VLS_PrettifyLocal<{
|
|
998
|
-
/**
|
|
1025
|
+
/** 根容器 class;普通 class/style 仍按既有契约转发到 NDataTable。 */wrapperClass?: vue.HTMLAttributes["class"]; /** 填满已确定高度的根容器,并为工具栏和分页预留空间。 */
|
|
1026
|
+
flexHeight?: boolean; /** 列配置(crud 模式下可省略) */
|
|
1027
|
+
columns?: TableColumn<T>[]; /** 数据源(crud 模式下可省略) */
|
|
999
1028
|
data?: MaybeRefLike<T[]>; /** 加载状态 */
|
|
1000
1029
|
loading?: MaybeRefLike<boolean>; /** 行唯一键 */
|
|
1001
1030
|
rowKey?: string | ((row: T) => DataTableRowKey); /** 统一功能配置(edit / selection / expand / pagination / dynamicRows / toolbar / display) */
|
|
1002
|
-
config?: TableConfig<T>; /**
|
|
1031
|
+
config?: TableConfig<T>; /** Native pagination compatibility path; takes ownership over config.pagination. */
|
|
1032
|
+
pagination?: PaginationProps | false; /** Native remote mode, used with the native pagination compatibility path. */
|
|
1033
|
+
remote?: boolean; /** CRUD 绑定 — 传入 useTableCrud() 的返回值,自动接管 data/columns/loading/actions/pagination/events */
|
|
1003
1034
|
crud?: CrudBinding<T>;
|
|
1004
1035
|
} & {
|
|
1005
1036
|
[x: `on${Capitalize<string>}`]: ((...args: any) => any) | undefined;
|
|
@@ -1013,6 +1044,8 @@ declare const __VLS_export: <T extends object = DataRecord>(__VLS_props: NonNull
|
|
|
1013
1044
|
expandRow: (rowKey: DataTableRowKey) => Promise<void>;
|
|
1014
1045
|
collapseRow: (rowKey: DataTableRowKey) => void;
|
|
1015
1046
|
toggleExpand: (rowKey: DataTableRowKey) => Promise<void>;
|
|
1047
|
+
retryExpand: (rowKey: DataTableRowKey) => Promise<void>;
|
|
1048
|
+
invalidateExpand: (rowKey?: DataTableRowKey) => void;
|
|
1016
1049
|
expandAll: () => Promise<void>;
|
|
1017
1050
|
collapseAll: () => void;
|
|
1018
1051
|
selectRow: (rowKey: DataTableRowKey) => boolean;
|
|
@@ -1111,7 +1144,7 @@ declare const __VLS_export: <T extends object = DataRecord>(__VLS_props: NonNull
|
|
|
1111
1144
|
} & {
|
|
1112
1145
|
loading?: (props: {}) => any;
|
|
1113
1146
|
};
|
|
1114
|
-
emit: ((evt: "
|
|
1147
|
+
emit: ((evt: "save", rowData: DataRecord, rowIndex: number, columnKey?: string | undefined) => void) & ((evt: "cancel", rowData: DataRecord, rowIndex: number) => void) & ((evt: "pagination-change", ...args: [page: number, pageSize: number] & [page: number, pageSize: number]) => void) & ((evt: "row-delete", ...args: [deletedRow: DataRecord, index: number] & [deletedRow: DataRecord, index: number]) => void) & ((evt: "batch-action-error", error: unknown, actionKey: string) => void) & ((evt: "row-key-error", issues: TableRowKeyIssue<DataRecord>[]) => void) & ((evt: "expand-change", expandedKeys: DataTableRowKey[], row?: DataRecord | undefined, expanded?: boolean | undefined) => void) & ((evt: "selection-change", checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => void) & ((evt: "child-selection-change", parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => void) & ((evt: "parent-child-link-change", parentKey: DataTableRowKey, shouldSelect: boolean) => void) & ((evt: "update:data", data: DataRecord[]) => void) & ((evt: "edit-error", error: unknown) => void) & ((evt: "row-add", newRow: DataRecord) => void) & ((evt: "row-copy", originalRow: DataRecord, newRow: DataRecord) => void) & ((evt: "row-move", row: DataRecord, fromIndex: number, toIndex: number) => void) & ((evt: "row-selection-change", selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => void) & ((evt: "view-detail", data: DataRecord) => void) & ((evt: "column-change", columns: TableColumn[]) => void);
|
|
1115
1148
|
}>) => vue.VNode & {
|
|
1116
1149
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
1117
1150
|
};
|
|
@@ -1202,7 +1235,7 @@ interface RowValidationError {
|
|
|
1202
1235
|
interface RowEditOptions {
|
|
1203
1236
|
data: () => DataRecord[];
|
|
1204
1237
|
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
1205
|
-
onSave?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
|
|
1238
|
+
onSave?: (rowData: DataRecord, rowIndex: number, originalKey?: DataTableRowKey) => void | Promise<void>;
|
|
1206
1239
|
onCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
|
|
1207
1240
|
/** 列配置(用于提取校验规则) */
|
|
1208
1241
|
columns?: () => TableColumn[];
|
|
@@ -1264,6 +1297,8 @@ interface TableManagerConfig {
|
|
|
1264
1297
|
enableParentChildLink: boolean;
|
|
1265
1298
|
parentChildLinkMode: ParentChildLinkMode;
|
|
1266
1299
|
dynamicRows?: DynamicRowsOptions<DataRecord>;
|
|
1300
|
+
treeEnabled?: boolean;
|
|
1301
|
+
treeChildrenKey?: string;
|
|
1267
1302
|
}
|
|
1268
1303
|
/**
|
|
1269
1304
|
* 表格管理器参数接口
|
|
@@ -1277,12 +1312,14 @@ interface TableManagerParams {
|
|
|
1277
1312
|
columns?: () => TableColumn[];
|
|
1278
1313
|
/** UI 壳提供加载内容,状态引擎保持可独立调用。 */
|
|
1279
1314
|
renderLoading?: () => VNodeChild;
|
|
1315
|
+
/** String row-key field inherited by dynamic row creation; explicit dynamicRows.rowKey wins. */
|
|
1316
|
+
rowKeyField?: MaybeRefOrGetter<string | undefined>;
|
|
1280
1317
|
}
|
|
1281
1318
|
/**
|
|
1282
1319
|
* 事件处理器接口
|
|
1283
1320
|
*/
|
|
1284
1321
|
interface EventHandlers {
|
|
1285
|
-
onSave: (rowData: DataRecord, rowIndex: number, columnKey?: string) => Promise<void>;
|
|
1322
|
+
onSave: (rowData: DataRecord, rowIndex: number, columnKey?: string, originalKey?: DataTableRowKey) => Promise<void>;
|
|
1286
1323
|
onCancel: (rowData: DataRecord, rowIndex: number) => Promise<void>;
|
|
1287
1324
|
onExpandChange: (keys: DataTableRowKey[], row?: DataRecord, expanded?: boolean) => void;
|
|
1288
1325
|
onSelectionChange: (checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections: Map<DataTableRowKey, DataTableRowKey[]>) => void;
|
|
@@ -1462,7 +1499,7 @@ declare function usePagination<T extends object = DataRecord>(options: UsePagina
|
|
|
1462
1499
|
interface CellEditOptions {
|
|
1463
1500
|
data: () => DataRecord[];
|
|
1464
1501
|
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
1465
|
-
onSave?: (rowData: DataRecord, rowIndex: number, columnKey: string) => void | Promise<void>;
|
|
1502
|
+
onSave?: (rowData: DataRecord, rowIndex: number, columnKey: string, originalKey?: DataTableRowKey) => void | Promise<void>;
|
|
1466
1503
|
/** 列配置(用于提取校验规则) */
|
|
1467
1504
|
columns?: () => TableColumn[];
|
|
1468
1505
|
}
|
|
@@ -1503,7 +1540,7 @@ declare function useCellEdit(options: CellEditOptions): {
|
|
|
1503
1540
|
interface ModalEditOptions<T extends object = DataRecord> {
|
|
1504
1541
|
data: () => T[];
|
|
1505
1542
|
rowKey: (row: T) => DataTableRowKey;
|
|
1506
|
-
onSave?: (editingData: T, rowIndex: number) => void | Promise<void>;
|
|
1543
|
+
onSave?: (editingData: T, rowIndex: number, originalKey?: DataTableRowKey) => void | Promise<void>;
|
|
1507
1544
|
onCancel?: (originalData: T, rowIndex: number) => void | Promise<void>;
|
|
1508
1545
|
}
|
|
1509
1546
|
/** Modal edit state with lossless snapshots and retry-safe async saves. */
|
|
@@ -1529,6 +1566,8 @@ declare function useModalEdit<T extends object = DataRecord>(options: ModalEditO
|
|
|
1529
1566
|
interface HighlightPluginOptions {
|
|
1530
1567
|
autoDetect?: boolean;
|
|
1531
1568
|
extraLanguages?: string[];
|
|
1569
|
+
/** Explicit compatibility bridge; restored when the owning app unmounts. */
|
|
1570
|
+
exposeToWindow?: boolean;
|
|
1532
1571
|
/** Enable lifecycle diagnostics through the supplied logger. */
|
|
1533
1572
|
debug?: boolean;
|
|
1534
1573
|
logger?: Pick<Console, 'info' | 'warn' | 'error'>;
|
|
@@ -1537,23 +1576,23 @@ interface HighlightPluginOptions {
|
|
|
1537
1576
|
language: string;
|
|
1538
1577
|
}) => void;
|
|
1539
1578
|
}
|
|
1540
|
-
|
|
1541
|
-
* * @description 获取 highlight 功能的 API 接口
|
|
1542
|
-
* ! @return highlight API 对象,包含所有可用方法
|
|
1543
|
-
*/
|
|
1544
|
-
declare const useHighlight: (options?: HighlightPluginOptions) => {
|
|
1579
|
+
interface HighlightAPI {
|
|
1545
1580
|
getHljs: () => HLJSApi;
|
|
1546
1581
|
loadLanguage: (language: string) => Promise<boolean>;
|
|
1547
1582
|
loadLanguages: (languages: string[]) => Promise<string[]>;
|
|
1548
1583
|
getLoadedLanguages: () => string[];
|
|
1549
|
-
}
|
|
1584
|
+
}
|
|
1585
|
+
/** Create an independent highlighter, including its language registry and loaders. */
|
|
1586
|
+
declare function createHighlight(options?: HighlightPluginOptions): HighlightAPI;
|
|
1587
|
+
/** Reuse the current app's highlighter or create a standalone, isolated one. */
|
|
1588
|
+
declare function useHighlight(options?: HighlightPluginOptions): HighlightAPI;
|
|
1550
1589
|
/**
|
|
1551
1590
|
* * @description 安装 highlight.js 插件到 Vue 应用
|
|
1552
1591
|
* ? @param app - Vue 应用实例
|
|
1553
1592
|
* ? @param options - 插件配置选项
|
|
1554
|
-
* ! @return
|
|
1593
|
+
* ! @return 应用独立的 highlight API
|
|
1555
1594
|
*/
|
|
1556
|
-
declare function setupHighlight(app: App, options?: HighlightPluginOptions):
|
|
1595
|
+
declare function setupHighlight(app: App, options?: HighlightPluginOptions): HighlightAPI;
|
|
1557
1596
|
//#endregion
|
|
1558
1597
|
//#region src/utils/storage.d.ts
|
|
1559
1598
|
/** SSR-safe localStorage helpers. Storage failures never break component state. */
|
|
@@ -1694,4 +1733,4 @@ declare function useTableQuery<T extends object, Q extends object = Record<strin
|
|
|
1694
1733
|
cancel: () => void;
|
|
1695
1734
|
};
|
|
1696
1735
|
//#endregion
|
|
1697
|
-
export {
|
|
1736
|
+
export { TABLE_GLOBAL_CONFIG_KEY as $, CustomAction as A, DynamicRowsReturn as At, SimpleTableActions as B, defineTableConfig as C, UseCrossPageSelectionReturn as Ct, BuiltInTableColumn as D, UseRowDragReturn as Dt, ApiFunction as E, UseRowDragOptions as Et, PaginationConfig as F, useComponentFeedback as Ft, TableProps as G, TableColumn as H, ParentChildLinkMode as I, useComponentLocale as It, UseTableExpandOptions as J, TableRowKey as K, RenderFunction as L, COMPONENT_FEEDBACK_KEY as Lt, EditMode as M, PrintWatermarkOptions as Mt, MaybeRefLike as N, printPresets as Nt, ChildSelectionState as O, useRowDrag as Ot, NormalTableColumn as P, usePrintWatermark as Pt, FormatterType as Q, RowAction as R, COMPONENT_LOCALE_KEY as Rt, defineTableColumns as S, UseCrossPageSelectionOptions as St, _default as T, RowDragConfig as Tt, TableEmits as U, StrictTableColumn as V, TableInstance as W, ColumnFormatter as X, UseTableExpandReturn as Y, FormatterConfig as Z, useTableActions as _, createEditModeChecker as _t, getItem as a, ColumnDragConfig as at, useRowEdit as b, exportTableData as bt, setItem as c, EditConfig as ct, createHighlight as d, SelectionConfig$1 as dt, TableGlobalConfig as et, setupHighlight as f, SummaryConfig as ft, usePagination as g, VirtualScrollConfig as gt, useCellEdit as h, TreeConfig as ht, useTableQuery as i, BatchActionsConfig as it, DataRecord as j, useDynamicRows as jt, ColumnWithKey as k, DynamicRowsOptions as kt, HighlightAPI as l, ErrorConfig as lt, useModalEdit as m, ToolbarConfig as mt, TableQueryResult as n, mergeGlobalConfig as nt, removeAllItem as o, CrudBinding as ot, useHighlight as p, TableConfig as pt, TableRowKeyIssue as q, UseTableQueryOptions as r, useTableGlobalConfig as rt, removeItem as s, DisplayConfig as st, TableQueryContext as t, applyFormatter as tt, HighlightPluginOptions as u, ExpandConfig$1 as ut, useTableExpand as v, resolveConfig as vt, validateTableRowKeys as w, useCrossPageSelection as wt, useTableColumns as x, CrossPageSelectionConfig as xt, useTableManager as y, ExportConfig as yt, SelectOption as z };
|
package/dist/useTableQuery.d.ts
CHANGED
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { f as ActionItem, s as ActionBarConfig } from "./presets.js";
|
|
2
|
-
import {
|
|
2
|
+
import { n as ComponentLocale, t as ComponentFeedback } from "./contracts.js";
|
|
3
3
|
import * as vue from "vue";
|
|
4
4
|
import { App, ComputedRef, InjectionKey, MaybeRef, MaybeRefOrGetter, Ref, VNodeChild } from "vue";
|
|
5
5
|
import { DataTableBaseColumn, DataTableColumn, DataTableRowKey, FormItemRule, PaginationProps } from "naive-ui";
|
|
6
6
|
import * as _vue_shared0 from "@vue/shared";
|
|
7
7
|
import { HLJSApi } from "highlight.js";
|
|
8
8
|
|
|
9
|
+
//#region src/context.d.ts
|
|
10
|
+
declare const COMPONENT_FEEDBACK_KEY: InjectionKey<ComponentFeedback>;
|
|
11
|
+
declare const COMPONENT_LOCALE_KEY: InjectionKey<ComponentLocale>;
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/composables/useComponentLocale.d.ts
|
|
14
|
+
/** Bind the UI-independent translator to this Vue application and local configuration. */
|
|
15
|
+
declare function useComponentLocale(local?: MaybeRefOrGetter<ComponentLocale | undefined>): {
|
|
16
|
+
t: (key: string, params?: Record<string, string | number>) => string;
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/adapters/naive/feedback.d.ts
|
|
20
|
+
/** Reuse Naive providers when present and safely degrade to injected/no-op feedback. */
|
|
21
|
+
declare function useComponentFeedback(local?: MaybeRefOrGetter<ComponentFeedback | undefined>): Required<ComponentFeedback>;
|
|
22
|
+
//#endregion
|
|
9
23
|
//#region src/components/C_Table/composables/usePrintWatermark.d.ts
|
|
10
24
|
interface WatermarkConfig {
|
|
11
25
|
text: string;
|
|
@@ -234,44 +248,41 @@ declare function useRowDrag<T extends object = DataRecord>(options: UseRowDragOp
|
|
|
234
248
|
//#region src/components/C_Table/composables/useCrossPageSelection.d.ts
|
|
235
249
|
interface CrossPageSelectionConfig {
|
|
236
250
|
enabled?: boolean;
|
|
237
|
-
/**
|
|
251
|
+
/** Maximum selected rows, including previously visited remote pages. */
|
|
238
252
|
maxSelection?: number;
|
|
239
253
|
}
|
|
240
254
|
interface UseCrossPageSelectionOptions<T extends object = DataRecord> {
|
|
241
|
-
/**
|
|
255
|
+
/** All local rows, or the loaded page when remote is enabled. */
|
|
242
256
|
allData: Ref<T[]> | ComputedRef<T[]>;
|
|
243
|
-
/** 行键函数 */
|
|
244
257
|
rowKey: (row: T) => DataTableRowKey;
|
|
245
|
-
/** 配置 */
|
|
246
258
|
config: MaybeRefOrGetter<CrossPageSelectionConfig | undefined>;
|
|
259
|
+
remote?: MaybeRefOrGetter<boolean>;
|
|
260
|
+
childrenKey?: MaybeRefOrGetter<string | undefined>;
|
|
261
|
+
rowCheckable?: (row: T) => boolean;
|
|
262
|
+
onSelectionChange?: (keys: DataTableRowKey[], rows: T[]) => void;
|
|
247
263
|
}
|
|
248
264
|
interface UseCrossPageSelectionReturn<T extends object = DataRecord> {
|
|
249
|
-
/** 所有选中的 key(跨页) */
|
|
250
265
|
selectedKeys: Ref<Set<DataTableRowKey>>;
|
|
251
|
-
/** 选中行数量 */
|
|
252
266
|
selectedCount: ComputedRef<number>;
|
|
253
|
-
/** 当前页数据的 checkedKeys(给 NDataTable 绑定) */
|
|
254
267
|
getPageCheckedKeys: (pageData: T[]) => DataTableRowKey[];
|
|
255
|
-
/** NDataTable @update:checked-row-keys 处理器 */
|
|
256
268
|
handlePageSelectionChange: (keys: DataTableRowKey[], pageData: T[]) => void;
|
|
257
|
-
/**
|
|
269
|
+
/** In remote mode, adds the currently loaded page; never claims to select unseen server rows. */
|
|
258
270
|
selectAll: () => void;
|
|
259
|
-
/** 选择指定 key */
|
|
260
271
|
select: (key: DataTableRowKey) => boolean;
|
|
261
|
-
/** 取消选择指定 key */
|
|
262
272
|
unselect: (key: DataTableRowKey) => void;
|
|
263
|
-
/** 清除所有页选中 */
|
|
264
273
|
clearAll: () => void;
|
|
265
|
-
/** 获取所有选中行数据 */
|
|
266
274
|
getSelectedRows: () => T[];
|
|
267
|
-
/** 判断 key 是否选中 */
|
|
268
275
|
isSelected: (key: DataTableRowKey) => boolean;
|
|
269
276
|
}
|
|
270
|
-
/**
|
|
277
|
+
/** Preserve selected identities and loaded row snapshots across local or remote pages. */
|
|
271
278
|
declare function useCrossPageSelection<T extends object = DataRecord>(options: UseCrossPageSelectionOptions<T>): UseCrossPageSelectionReturn<T>;
|
|
272
279
|
//#endregion
|
|
273
280
|
//#region src/components/C_Table/composables/useTableExport.d.ts
|
|
274
281
|
interface ExportConfig {
|
|
282
|
+
/** Data scope used by C_Table; source preserves the legacy loaded-source behavior. */
|
|
283
|
+
scope?: 'source' | 'page' | 'selected';
|
|
284
|
+
/** Explicit server-side/full-data export request; invoked only when exporting. */
|
|
285
|
+
requestData?: () => DataRecord[] | Promise<DataRecord[]>;
|
|
275
286
|
/** 导出文件名(不含扩展名) */
|
|
276
287
|
filename?: string;
|
|
277
288
|
/** 导出格式 */
|
|
@@ -784,7 +795,9 @@ interface BaseTableColumn<T extends object = DataRecord> extends Omit<DataTableB
|
|
|
784
795
|
required?: boolean;
|
|
785
796
|
editType?: EditType;
|
|
786
797
|
editProps?: EditProps;
|
|
787
|
-
editRender?: (value: unknown, rowData: T, rowIndex: number
|
|
798
|
+
editRender?: (value: unknown, rowData: T, rowIndex: number, context: {
|
|
799
|
+
onUpdate: (value: unknown) => void;
|
|
800
|
+
}) => VNodeChild;
|
|
788
801
|
render?: (rowData: T, rowIndex: number) => VNodeChild;
|
|
789
802
|
/** 声明式格式化器(优先级低于 render) */
|
|
790
803
|
formatter?: ColumnFormatter;
|
|
@@ -872,6 +885,10 @@ interface TableSelectionProps<T extends object = DataRecord, C = DataRecord> ext
|
|
|
872
885
|
interface TableProps<T extends object = DataRecord, C = DataRecord> extends TableBaseProps<T>, TableDisplayProps, TableEditProps<T>, TableExpandProps<T, C>, TableSelectionProps<T, C> {
|
|
873
886
|
pagination?: PaginationConfig | boolean;
|
|
874
887
|
actions?: SimpleTableActions<T>;
|
|
888
|
+
/** 根容器 class,原生 class/style 仍转发到内部表格。 */
|
|
889
|
+
wrapperClass?: vue.HTMLAttributes['class'];
|
|
890
|
+
/** 填满确定高度的容器,保留工具栏和分页空间。 */
|
|
891
|
+
flexHeight?: boolean;
|
|
875
892
|
}
|
|
876
893
|
interface TableExpandEvents<T extends object = DataRecord> {
|
|
877
894
|
'expand-change': [expandedKeys: DataTableRowKey[], row?: T, expanded?: boolean];
|
|
@@ -907,6 +924,8 @@ interface TableExpandMethods {
|
|
|
907
924
|
expandAll: () => Promise<void>;
|
|
908
925
|
collapseAll: () => void;
|
|
909
926
|
isExpanded: (rowKey: DataTableRowKey) => boolean;
|
|
927
|
+
retryExpand: (rowKey: DataTableRowKey) => Promise<void>;
|
|
928
|
+
invalidateExpand: (rowKey?: DataTableRowKey) => void;
|
|
910
929
|
}
|
|
911
930
|
interface TableSelectionMethods<T extends object = DataRecord, C = DataRecord> {
|
|
912
931
|
selectRow: (rowKey: DataTableRowKey) => boolean | void;
|
|
@@ -938,11 +957,16 @@ interface TablePaginationMethods {
|
|
|
938
957
|
resetToFirstPage: () => void;
|
|
939
958
|
getTotalPages: () => number;
|
|
940
959
|
}
|
|
941
|
-
interface TableInstance<T extends object = DataRecord, C = DataRecord> extends TableEditMethods<T>, TableExpandMethods, TableSelectionMethods<T, C>, TableDynamicRowsMethods<T>, TablePaginationMethods {
|
|
960
|
+
interface TableInstance<T extends object = DataRecord, C = DataRecord> extends TableEditMethods<T>, TableExpandMethods, TableSelectionMethods<T, C>, TableDynamicRowsMethods<T>, TablePaginationMethods {
|
|
961
|
+
exportData: () => Promise<void>;
|
|
962
|
+
}
|
|
942
963
|
interface UseTableExpandOptions<T extends object = DataRecord, C = DataRecord> extends ExpandConfig<T, C>, SelectionConfig<T, C> {
|
|
943
964
|
data: Ref<T[]> | ComputedRef<T[]>;
|
|
944
965
|
rowKey: (row: T) => DataTableRowKey;
|
|
945
966
|
childRowKey?: (child: C) => DataTableRowKey;
|
|
967
|
+
/** Native tree children field; omitted for flat/detail-expansion tables. */
|
|
968
|
+
childrenKey?: string;
|
|
969
|
+
locale?: ComponentLocale;
|
|
946
970
|
/** 展开数据等待时的加载内容,C_Table 内置统一 SVG;独立引擎可按需提供。 */
|
|
947
971
|
renderLoading?: () => VNodeChild;
|
|
948
972
|
defaultExpandedKeys?: DataTableRowKey[];
|
|
@@ -956,6 +980,9 @@ interface UseTableExpandReturn<T extends object = DataRecord, C = DataRecord> {
|
|
|
956
980
|
childSelections: Ref<Map<DataTableRowKey, DataTableRowKey[]>>;
|
|
957
981
|
expandDataMap: Ref<Map<DataTableRowKey, C[]>>;
|
|
958
982
|
loadingMap: Ref<Map<DataTableRowKey, boolean>>;
|
|
983
|
+
errorMap: Ref<Map<DataTableRowKey, unknown>>;
|
|
984
|
+
retryExpand: (key: DataTableRowKey) => Promise<void>;
|
|
985
|
+
invalidateExpand: (key?: DataTableRowKey) => void;
|
|
959
986
|
selectedRowsCount: ComputedRef<number>;
|
|
960
987
|
totalChildSelections: ComputedRef<number>;
|
|
961
988
|
expandAll: () => Promise<void>;
|
|
@@ -995,11 +1022,15 @@ type ColumnWithKey = TableColumn & {
|
|
|
995
1022
|
//#region src/components/C_Table/index.vue.d.ts
|
|
996
1023
|
declare const __VLS_export: <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<{
|
|
997
1024
|
props: vue.PublicProps & __VLS_PrettifyLocal<{
|
|
998
|
-
/**
|
|
1025
|
+
/** 根容器 class;普通 class/style 仍按既有契约转发到 NDataTable。 */wrapperClass?: vue.HTMLAttributes["class"]; /** 填满已确定高度的根容器,并为工具栏和分页预留空间。 */
|
|
1026
|
+
flexHeight?: boolean; /** 列配置(crud 模式下可省略) */
|
|
1027
|
+
columns?: TableColumn<T>[]; /** 数据源(crud 模式下可省略) */
|
|
999
1028
|
data?: MaybeRefLike<T[]>; /** 加载状态 */
|
|
1000
1029
|
loading?: MaybeRefLike<boolean>; /** 行唯一键 */
|
|
1001
1030
|
rowKey?: string | ((row: T) => DataTableRowKey); /** 统一功能配置(edit / selection / expand / pagination / dynamicRows / toolbar / display) */
|
|
1002
|
-
config?: TableConfig<T>; /**
|
|
1031
|
+
config?: TableConfig<T>; /** Native pagination compatibility path; takes ownership over config.pagination. */
|
|
1032
|
+
pagination?: PaginationProps | false; /** Native remote mode, used with the native pagination compatibility path. */
|
|
1033
|
+
remote?: boolean; /** CRUD 绑定 — 传入 useTableCrud() 的返回值,自动接管 data/columns/loading/actions/pagination/events */
|
|
1003
1034
|
crud?: CrudBinding<T>;
|
|
1004
1035
|
} & {
|
|
1005
1036
|
[x: `on${Capitalize<string>}`]: ((...args: any) => any) | undefined;
|
|
@@ -1013,6 +1044,8 @@ declare const __VLS_export: <T extends object = DataRecord>(__VLS_props: NonNull
|
|
|
1013
1044
|
expandRow: (rowKey: DataTableRowKey) => Promise<void>;
|
|
1014
1045
|
collapseRow: (rowKey: DataTableRowKey) => void;
|
|
1015
1046
|
toggleExpand: (rowKey: DataTableRowKey) => Promise<void>;
|
|
1047
|
+
retryExpand: (rowKey: DataTableRowKey) => Promise<void>;
|
|
1048
|
+
invalidateExpand: (rowKey?: DataTableRowKey) => void;
|
|
1016
1049
|
expandAll: () => Promise<void>;
|
|
1017
1050
|
collapseAll: () => void;
|
|
1018
1051
|
selectRow: (rowKey: DataTableRowKey) => boolean;
|
|
@@ -1111,7 +1144,7 @@ declare const __VLS_export: <T extends object = DataRecord>(__VLS_props: NonNull
|
|
|
1111
1144
|
} & {
|
|
1112
1145
|
loading?: (props: {}) => any;
|
|
1113
1146
|
};
|
|
1114
|
-
emit: ((evt: "
|
|
1147
|
+
emit: ((evt: "save", rowData: DataRecord, rowIndex: number, columnKey?: string | undefined) => void) & ((evt: "cancel", rowData: DataRecord, rowIndex: number) => void) & ((evt: "pagination-change", ...args: [page: number, pageSize: number] & [page: number, pageSize: number]) => void) & ((evt: "row-delete", ...args: [deletedRow: DataRecord, index: number] & [deletedRow: DataRecord, index: number]) => void) & ((evt: "batch-action-error", error: unknown, actionKey: string) => void) & ((evt: "row-key-error", issues: TableRowKeyIssue<DataRecord>[]) => void) & ((evt: "expand-change", expandedKeys: DataTableRowKey[], row?: DataRecord | undefined, expanded?: boolean | undefined) => void) & ((evt: "selection-change", checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => void) & ((evt: "child-selection-change", parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => void) & ((evt: "parent-child-link-change", parentKey: DataTableRowKey, shouldSelect: boolean) => void) & ((evt: "update:data", data: DataRecord[]) => void) & ((evt: "edit-error", error: unknown) => void) & ((evt: "row-add", newRow: DataRecord) => void) & ((evt: "row-copy", originalRow: DataRecord, newRow: DataRecord) => void) & ((evt: "row-move", row: DataRecord, fromIndex: number, toIndex: number) => void) & ((evt: "row-selection-change", selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => void) & ((evt: "view-detail", data: DataRecord) => void) & ((evt: "column-change", columns: TableColumn[]) => void);
|
|
1115
1148
|
}>) => vue.VNode & {
|
|
1116
1149
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
1117
1150
|
};
|
|
@@ -1202,7 +1235,7 @@ interface RowValidationError {
|
|
|
1202
1235
|
interface RowEditOptions {
|
|
1203
1236
|
data: () => DataRecord[];
|
|
1204
1237
|
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
1205
|
-
onSave?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
|
|
1238
|
+
onSave?: (rowData: DataRecord, rowIndex: number, originalKey?: DataTableRowKey) => void | Promise<void>;
|
|
1206
1239
|
onCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
|
|
1207
1240
|
/** 列配置(用于提取校验规则) */
|
|
1208
1241
|
columns?: () => TableColumn[];
|
|
@@ -1264,6 +1297,8 @@ interface TableManagerConfig {
|
|
|
1264
1297
|
enableParentChildLink: boolean;
|
|
1265
1298
|
parentChildLinkMode: ParentChildLinkMode;
|
|
1266
1299
|
dynamicRows?: DynamicRowsOptions<DataRecord>;
|
|
1300
|
+
treeEnabled?: boolean;
|
|
1301
|
+
treeChildrenKey?: string;
|
|
1267
1302
|
}
|
|
1268
1303
|
/**
|
|
1269
1304
|
* 表格管理器参数接口
|
|
@@ -1277,12 +1312,14 @@ interface TableManagerParams {
|
|
|
1277
1312
|
columns?: () => TableColumn[];
|
|
1278
1313
|
/** UI 壳提供加载内容,状态引擎保持可独立调用。 */
|
|
1279
1314
|
renderLoading?: () => VNodeChild;
|
|
1315
|
+
/** String row-key field inherited by dynamic row creation; explicit dynamicRows.rowKey wins. */
|
|
1316
|
+
rowKeyField?: MaybeRefOrGetter<string | undefined>;
|
|
1280
1317
|
}
|
|
1281
1318
|
/**
|
|
1282
1319
|
* 事件处理器接口
|
|
1283
1320
|
*/
|
|
1284
1321
|
interface EventHandlers {
|
|
1285
|
-
onSave: (rowData: DataRecord, rowIndex: number, columnKey?: string) => Promise<void>;
|
|
1322
|
+
onSave: (rowData: DataRecord, rowIndex: number, columnKey?: string, originalKey?: DataTableRowKey) => Promise<void>;
|
|
1286
1323
|
onCancel: (rowData: DataRecord, rowIndex: number) => Promise<void>;
|
|
1287
1324
|
onExpandChange: (keys: DataTableRowKey[], row?: DataRecord, expanded?: boolean) => void;
|
|
1288
1325
|
onSelectionChange: (checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections: Map<DataTableRowKey, DataTableRowKey[]>) => void;
|
|
@@ -1462,7 +1499,7 @@ declare function usePagination<T extends object = DataRecord>(options: UsePagina
|
|
|
1462
1499
|
interface CellEditOptions {
|
|
1463
1500
|
data: () => DataRecord[];
|
|
1464
1501
|
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
1465
|
-
onSave?: (rowData: DataRecord, rowIndex: number, columnKey: string) => void | Promise<void>;
|
|
1502
|
+
onSave?: (rowData: DataRecord, rowIndex: number, columnKey: string, originalKey?: DataTableRowKey) => void | Promise<void>;
|
|
1466
1503
|
/** 列配置(用于提取校验规则) */
|
|
1467
1504
|
columns?: () => TableColumn[];
|
|
1468
1505
|
}
|
|
@@ -1503,7 +1540,7 @@ declare function useCellEdit(options: CellEditOptions): {
|
|
|
1503
1540
|
interface ModalEditOptions<T extends object = DataRecord> {
|
|
1504
1541
|
data: () => T[];
|
|
1505
1542
|
rowKey: (row: T) => DataTableRowKey;
|
|
1506
|
-
onSave?: (editingData: T, rowIndex: number) => void | Promise<void>;
|
|
1543
|
+
onSave?: (editingData: T, rowIndex: number, originalKey?: DataTableRowKey) => void | Promise<void>;
|
|
1507
1544
|
onCancel?: (originalData: T, rowIndex: number) => void | Promise<void>;
|
|
1508
1545
|
}
|
|
1509
1546
|
/** Modal edit state with lossless snapshots and retry-safe async saves. */
|
|
@@ -1529,6 +1566,8 @@ declare function useModalEdit<T extends object = DataRecord>(options: ModalEditO
|
|
|
1529
1566
|
interface HighlightPluginOptions {
|
|
1530
1567
|
autoDetect?: boolean;
|
|
1531
1568
|
extraLanguages?: string[];
|
|
1569
|
+
/** Explicit compatibility bridge; restored when the owning app unmounts. */
|
|
1570
|
+
exposeToWindow?: boolean;
|
|
1532
1571
|
/** Enable lifecycle diagnostics through the supplied logger. */
|
|
1533
1572
|
debug?: boolean;
|
|
1534
1573
|
logger?: Pick<Console, 'info' | 'warn' | 'error'>;
|
|
@@ -1537,23 +1576,23 @@ interface HighlightPluginOptions {
|
|
|
1537
1576
|
language: string;
|
|
1538
1577
|
}) => void;
|
|
1539
1578
|
}
|
|
1540
|
-
|
|
1541
|
-
* * @description 获取 highlight 功能的 API 接口
|
|
1542
|
-
* ! @return highlight API 对象,包含所有可用方法
|
|
1543
|
-
*/
|
|
1544
|
-
declare const useHighlight: (options?: HighlightPluginOptions) => {
|
|
1579
|
+
interface HighlightAPI {
|
|
1545
1580
|
getHljs: () => HLJSApi;
|
|
1546
1581
|
loadLanguage: (language: string) => Promise<boolean>;
|
|
1547
1582
|
loadLanguages: (languages: string[]) => Promise<string[]>;
|
|
1548
1583
|
getLoadedLanguages: () => string[];
|
|
1549
|
-
}
|
|
1584
|
+
}
|
|
1585
|
+
/** Create an independent highlighter, including its language registry and loaders. */
|
|
1586
|
+
declare function createHighlight(options?: HighlightPluginOptions): HighlightAPI;
|
|
1587
|
+
/** Reuse the current app's highlighter or create a standalone, isolated one. */
|
|
1588
|
+
declare function useHighlight(options?: HighlightPluginOptions): HighlightAPI;
|
|
1550
1589
|
/**
|
|
1551
1590
|
* * @description 安装 highlight.js 插件到 Vue 应用
|
|
1552
1591
|
* ? @param app - Vue 应用实例
|
|
1553
1592
|
* ? @param options - 插件配置选项
|
|
1554
|
-
* ! @return
|
|
1593
|
+
* ! @return 应用独立的 highlight API
|
|
1555
1594
|
*/
|
|
1556
|
-
declare function setupHighlight(app: App, options?: HighlightPluginOptions):
|
|
1595
|
+
declare function setupHighlight(app: App, options?: HighlightPluginOptions): HighlightAPI;
|
|
1557
1596
|
//#endregion
|
|
1558
1597
|
//#region src/utils/storage.d.ts
|
|
1559
1598
|
/** SSR-safe localStorage helpers. Storage failures never break component state. */
|
|
@@ -1694,4 +1733,4 @@ declare function useTableQuery<T extends object, Q extends object = Record<strin
|
|
|
1694
1733
|
cancel: () => void;
|
|
1695
1734
|
};
|
|
1696
1735
|
//#endregion
|
|
1697
|
-
export {
|
|
1736
|
+
export { TABLE_GLOBAL_CONFIG_KEY as $, CustomAction as A, DynamicRowsReturn as At, SimpleTableActions as B, defineTableConfig as C, UseCrossPageSelectionReturn as Ct, BuiltInTableColumn as D, UseRowDragReturn as Dt, ApiFunction as E, UseRowDragOptions as Et, PaginationConfig as F, useComponentFeedback as Ft, TableProps as G, TableColumn as H, ParentChildLinkMode as I, useComponentLocale as It, UseTableExpandOptions as J, TableRowKey as K, RenderFunction as L, COMPONENT_FEEDBACK_KEY as Lt, EditMode as M, PrintWatermarkOptions as Mt, MaybeRefLike as N, printPresets as Nt, ChildSelectionState as O, useRowDrag as Ot, NormalTableColumn as P, usePrintWatermark as Pt, FormatterType as Q, RowAction as R, COMPONENT_LOCALE_KEY as Rt, defineTableColumns as S, UseCrossPageSelectionOptions as St, _default as T, RowDragConfig as Tt, TableEmits as U, StrictTableColumn as V, TableInstance as W, ColumnFormatter as X, UseTableExpandReturn as Y, FormatterConfig as Z, useTableActions as _, createEditModeChecker as _t, getItem as a, ColumnDragConfig as at, useRowEdit as b, exportTableData as bt, setItem as c, EditConfig as ct, createHighlight as d, SelectionConfig$1 as dt, TableGlobalConfig as et, setupHighlight as f, SummaryConfig as ft, usePagination as g, VirtualScrollConfig as gt, useCellEdit as h, TreeConfig as ht, useTableQuery as i, BatchActionsConfig as it, DataRecord as j, useDynamicRows as jt, ColumnWithKey as k, DynamicRowsOptions as kt, HighlightAPI as l, ErrorConfig as lt, useModalEdit as m, ToolbarConfig as mt, TableQueryResult as n, mergeGlobalConfig as nt, removeAllItem as o, CrudBinding as ot, useHighlight as p, TableConfig as pt, TableRowKeyIssue as q, UseTableQueryOptions as r, useTableGlobalConfig as rt, removeItem as s, DisplayConfig as st, TableQueryContext as t, applyFormatter as tt, HighlightPluginOptions as u, ExpandConfig$1 as ut, useTableExpand as v, resolveConfig as vt, validateTableRowKeys as w, useCrossPageSelection as wt, useTableColumns as x, CrossPageSelectionConfig as xt, useTableManager as y, ExportConfig as yt, SelectOption as z };
|