@robot-admin/naive-ui-components 0.10.2 → 0.11.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 +111 -94
- package/LICENSE +21 -21
- package/README.md +463 -315
- package/README_EN.md +404 -0
- package/SECURITY.md +23 -0
- package/dist/C_ActionBar.cjs +1 -1
- package/dist/C_ActionBar.css +46 -48
- package/dist/C_ActionBar.d.cts +1 -1
- package/dist/C_ActionBar.js +1 -1
- package/dist/C_ActionBar2.cjs +1 -0
- package/dist/C_ActionBar2.js +1 -2
- package/dist/C_AntV.cjs +1 -1
- package/dist/C_AntV.css +3 -3
- package/dist/C_AntV.d.cts +1 -1
- package/dist/C_AntV.js +1 -1
- package/dist/C_AntV2.cjs +4 -0
- package/dist/C_AntV2.js +3 -4
- package/dist/C_AudioPlayer.cjs +1 -1
- package/dist/C_AudioPlayer.css +15 -7
- package/dist/C_AudioPlayer.d.cts +1 -1
- package/dist/C_AudioPlayer.js +1 -1
- package/dist/C_AudioPlayer2.cjs +1 -0
- package/dist/C_AudioPlayer2.js +1 -2
- package/dist/C_AvatarGroup.cjs +1 -1
- package/dist/C_AvatarGroup.css +15 -7
- package/dist/C_AvatarGroup.d.cts +1 -1
- package/dist/C_AvatarGroup2.cjs +1 -0
- package/dist/C_AvatarGroup2.js +1 -2
- package/dist/C_Barcode.cjs +1 -1
- package/dist/C_Barcode.css +0 -2
- package/dist/C_Barcode.d.cts +1 -1
- package/dist/C_Barcode2.cjs +1 -0
- package/dist/C_Barcode2.js +1 -2
- package/dist/C_Breadcrumb.cjs +1 -1
- package/dist/C_Breadcrumb.css +0 -2
- package/dist/C_Breadcrumb.d.cts +2 -2
- package/dist/C_Breadcrumb.d.ts +1 -1
- package/dist/C_Breadcrumb.js +1 -1
- package/dist/C_Breadcrumb2.cjs +1 -0
- package/dist/C_Breadcrumb2.js +1 -2
- package/dist/C_Captcha.cjs +1 -1
- package/dist/C_Captcha.css +46 -21
- package/dist/C_Captcha.d.cts +3 -2
- package/dist/C_Captcha.d.ts +3 -2
- package/dist/C_Captcha.js +1 -1
- package/dist/C_Captcha2.cjs +1 -0
- package/dist/C_Captcha2.js +1 -2
- package/dist/C_Cascade.cjs +1 -1
- package/dist/C_Cascade.css +0 -2
- package/dist/C_Cascade.d.cts +1 -1
- package/dist/C_Cascade.d.ts +1 -1
- package/dist/C_Cascade2.cjs +1 -0
- package/dist/C_Cascade2.js +1 -2
- package/dist/C_Chat.cjs +1 -1
- package/dist/C_Chat.css +0 -2
- package/dist/C_Chat.d.cts +1 -1
- package/dist/C_Chat.d.ts +1 -1
- package/dist/C_Chat.js +1 -1
- package/dist/C_Chat2.cjs +1 -0
- package/dist/C_Chat2.js +1 -2
- package/dist/C_City.cjs +1 -1
- package/dist/C_City.css +28 -30
- package/dist/C_City.d.cts +1 -1
- package/dist/C_City.d.ts +1 -1
- package/dist/C_City2.cjs +1 -0
- package/dist/C_City2.js +1 -2
- package/dist/C_Code.cjs +1 -1
- package/dist/C_Code.css +241 -4
- package/dist/C_Code.d.cts +1 -1
- package/dist/C_Code.d.ts +1 -1
- package/dist/C_Code.js +1 -1
- package/dist/C_Code2.cjs +1 -0
- package/dist/C_Code2.js +1 -2
- package/dist/C_CollapsePanel.cjs +1 -1
- package/dist/C_CollapsePanel.css +12 -6
- package/dist/C_CollapsePanel.d.cts +1 -1
- package/dist/C_CollapsePanel.js +1 -1
- package/dist/C_CollapsePanel2.cjs +1 -0
- package/dist/C_CollapsePanel2.js +1 -2
- package/dist/C_ContextMenu.cjs +1 -1
- package/dist/C_ContextMenu.css +16 -18
- package/dist/C_ContextMenu.d.cts +1 -1
- package/dist/C_ContextMenu.d.ts +1 -1
- package/dist/C_ContextMenu.js +1 -1
- package/dist/C_ContextMenu2.cjs +1 -0
- package/dist/C_ContextMenu2.js +1 -2
- package/dist/C_Cron.cjs +1 -1
- package/dist/C_Cron.css +18 -8
- package/dist/C_Cron.d.cts +1 -1
- package/dist/C_Cron.js +1 -1
- package/dist/C_Cron2.cjs +1 -0
- package/dist/C_Cron2.js +1 -2
- package/dist/C_Date.cjs +1 -1
- package/dist/C_Date.css +1 -0
- package/dist/C_Date.d.cts +2 -2
- package/dist/C_Date.d.ts +2 -2
- package/dist/C_Date2.cjs +1 -0
- package/dist/C_Date2.js +1 -2
- package/dist/C_Draggable.cjs +1 -1
- package/dist/C_Draggable.css +9 -5
- package/dist/C_Draggable.d.cts +1 -1
- package/dist/C_Draggable2.cjs +1 -0
- package/dist/C_Draggable2.js +1 -2
- package/dist/C_Editor.cjs +1 -1
- package/dist/C_Editor.css +80 -67
- package/dist/C_Editor.d.cts +1 -1
- package/dist/C_Editor.d.ts +1 -1
- package/dist/C_Editor2.cjs +1 -0
- package/dist/C_Editor2.js +1 -2
- package/dist/C_FilePreview.cjs +1 -1
- package/dist/C_FilePreview.css +0 -2
- package/dist/C_FilePreview.d.cts +1 -1
- package/dist/C_FilePreview.js +1 -1
- package/dist/C_FilePreview2.cjs +1 -0
- package/dist/C_FilePreview2.js +1 -2
- package/dist/C_Form.base.css +980 -0
- package/dist/C_Form.cjs +1 -1
- package/dist/C_Form.css +256 -155
- 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_Form2.cjs +1 -0
- package/dist/C_Form2.js +1 -2
- package/dist/C_FormSearch.cjs +1 -1
- package/dist/C_FormSearch.css +47 -47
- package/dist/C_FormSearch.d.cts +2 -2
- package/dist/C_FormSearch.d.ts +2 -2
- package/dist/C_FormSearch2.cjs +1 -0
- package/dist/C_FormSearch2.js +1 -2
- package/dist/C_FormulaEditor.cjs +1 -1
- package/dist/C_FormulaEditor.css +64 -38
- package/dist/C_FormulaEditor.d.cts +1 -1
- package/dist/C_FormulaEditor.js +1 -1
- package/dist/C_FormulaEditor2.cjs +2 -0
- package/dist/C_FormulaEditor2.js +2 -2
- package/dist/C_FullCalendar.cjs +1 -1
- package/dist/C_FullCalendar.css +0 -2
- package/dist/C_FullCalendar.d.cts +1 -1
- package/dist/C_FullCalendar2.cjs +1 -0
- package/dist/C_FullCalendar2.js +1 -2
- package/dist/C_GlobalSearch.cjs +1 -1
- package/dist/C_GlobalSearch.css +111 -113
- package/dist/C_GlobalSearch.d.cts +1 -1
- package/dist/C_GlobalSearch2.cjs +1 -0
- package/dist/C_GlobalSearch2.js +1 -2
- package/dist/C_Guide.cjs +1 -1
- package/dist/C_Guide.css +1 -0
- package/dist/C_Guide.d.cts +1 -1
- package/dist/C_Guide.d.ts +1 -1
- package/dist/C_Guide.js +1 -1
- package/dist/C_Guide2.cjs +1 -0
- package/dist/C_Guide2.js +1 -2
- package/dist/C_Icon.cjs +1 -1
- package/dist/C_Icon.css +58 -0
- package/dist/C_Icon.d.cts +1 -1
- package/dist/C_Icon.d.ts +1 -1
- package/dist/C_Icon2.cjs +1 -0
- package/dist/C_Icon2.js +1 -2
- package/dist/C_ImageCropper.cjs +1 -1
- package/dist/C_ImageCropper.css +0 -2
- package/dist/C_ImageCropper.d.cts +1 -1
- package/dist/C_ImageCropper.js +1 -1
- package/dist/C_ImageCropper2.cjs +1 -0
- package/dist/C_ImageCropper2.js +1 -2
- package/dist/C_Language.cjs +1 -1
- package/dist/C_Language.css +1 -0
- package/dist/C_Language.d.cts +1 -1
- package/dist/C_Language.d.ts +1 -1
- package/dist/C_Language.js +1 -1
- package/dist/C_Language2.cjs +1 -0
- package/dist/C_Language2.js +1 -2
- package/dist/C_Login.cjs +1 -1
- package/dist/C_Login.css +92 -76
- package/dist/C_Login.d.cts +1 -1
- package/dist/C_Login.d.ts +1 -1
- package/dist/C_Login.js +1 -1
- package/dist/C_Login2.cjs +1 -0
- package/dist/C_Login2.js +1 -2
- package/dist/C_Map.cjs +1 -1
- package/dist/C_Map.css +665 -5
- package/dist/C_Map.d.cts +1 -1
- package/dist/C_Map2.cjs +1 -0
- package/dist/C_Map2.js +1 -2
- package/dist/C_Markdown.cjs +1 -1
- package/dist/C_Markdown.css +940 -35
- package/dist/C_Markdown.d.cts +1 -1
- package/dist/C_Markdown.d.ts +1 -1
- package/dist/C_Markdown2.cjs +1 -0
- package/dist/C_Markdown2.js +1 -2
- package/dist/C_Menu.cjs +1 -1
- package/dist/C_Menu.css +1 -0
- package/dist/C_Menu.d.cts +3 -3
- package/dist/C_Menu.d.ts +3 -3
- package/dist/C_Menu2.cjs +1 -0
- package/dist/C_Menu2.js +1 -2
- package/dist/C_NotificationCenter.cjs +1 -1
- package/dist/C_NotificationCenter.css +95 -47
- package/dist/C_NotificationCenter.d.cts +1 -1
- package/dist/C_NotificationCenter.js +1 -1
- package/dist/C_NotificationCenter2.cjs +1 -0
- package/dist/C_NotificationCenter2.js +1 -2
- package/dist/C_OrgChart.cjs +1 -1
- package/dist/C_OrgChart.css +6 -4
- package/dist/C_OrgChart.d.cts +1 -1
- package/dist/C_OrgChart.d.ts +1 -1
- package/dist/C_OrgChart2.cjs +1 -0
- package/dist/C_OrgChart2.js +1 -2
- package/dist/C_Progress.cjs +1 -1
- package/dist/C_Progress.css +1 -0
- package/dist/C_Progress.d.cts +1 -1
- package/dist/C_Progress.d.ts +1 -1
- package/dist/C_Progress2.cjs +1 -0
- package/dist/C_Progress2.js +1 -2
- package/dist/C_QRCode.cjs +1 -1
- package/dist/C_QRCode.css +8 -10
- package/dist/C_QRCode.d.cts +1 -1
- package/dist/C_QRCode2.cjs +1 -0
- package/dist/C_QRCode2.js +1 -2
- package/dist/C_Signature.cjs +1 -1
- package/dist/C_Signature.css +0 -2
- package/dist/C_Signature.d.cts +1 -1
- package/dist/C_Signature.js +1 -1
- package/dist/C_Signature2.cjs +1 -0
- package/dist/C_Signature2.js +1 -2
- package/dist/C_Skeleton.cjs +1 -1
- package/dist/C_Skeleton.css +0 -2
- package/dist/C_Skeleton.d.cts +1 -1
- package/dist/C_Skeleton.d.ts +1 -1
- package/dist/C_Skeleton2.cjs +1 -0
- package/dist/C_Skeleton2.js +1 -2
- package/dist/C_SplitPane.cjs +1 -1
- package/dist/C_SplitPane.css +27 -11
- package/dist/C_SplitPane.d.cts +1 -1
- package/dist/C_SplitPane.js +1 -1
- package/dist/C_SplitPane2.cjs +1 -0
- package/dist/C_SplitPane2.js +1 -2
- package/dist/C_Steps.cjs +1 -1
- package/dist/C_Steps.css +37 -39
- package/dist/C_Steps.d.cts +1 -1
- package/dist/C_Steps.d.ts +1 -1
- package/dist/C_Steps2.cjs +1 -0
- package/dist/C_Steps2.js +1 -2
- package/dist/C_Table.base.css +1588 -0
- package/dist/C_Table.cjs +1 -1
- package/dist/C_Table.css +1202 -112
- package/dist/C_Table.d.cts +2 -2
- package/dist/C_Table.d.ts +11 -2
- package/dist/C_Table.js +1 -1
- package/dist/C_TagsView.cjs +1 -1
- package/dist/C_TagsView.css +44 -40
- package/dist/C_TagsView.d.cts +2 -2
- package/dist/C_TagsView.d.ts +2 -2
- package/dist/C_TagsView.js +1 -1
- package/dist/C_TagsView2.cjs +1 -0
- package/dist/C_TagsView2.js +1 -2
- package/dist/C_Theme.cjs +1 -1
- package/dist/C_Theme.css +1 -0
- package/dist/C_Theme.d.cts +1 -1
- package/dist/C_Theme.d.ts +1 -1
- package/dist/C_Theme.js +1 -1
- package/dist/C_Theme2.cjs +1 -0
- package/dist/C_Theme2.js +1 -2
- package/dist/C_Time.cjs +1 -1
- package/dist/C_Time.css +0 -2
- package/dist/C_Time.d.cts +2 -2
- package/dist/C_Time.d.ts +2 -2
- package/dist/C_Time2.cjs +1 -0
- package/dist/C_Time2.js +1 -2
- package/dist/C_Timeline.cjs +1 -1
- package/dist/C_Timeline.css +44 -46
- package/dist/C_Timeline.d.cts +1 -1
- package/dist/C_Timeline.js +1 -1
- package/dist/C_Timeline2.cjs +1 -0
- package/dist/C_Timeline2.js +1 -2
- package/dist/C_Transfer.cjs +1 -1
- package/dist/C_Transfer.css +21 -9
- package/dist/C_Transfer.d.cts +1 -1
- package/dist/C_Transfer.js +1 -1
- package/dist/C_Transfer2.cjs +1 -0
- package/dist/C_Transfer2.js +1 -2
- package/dist/C_Tree.cjs +1 -1
- package/dist/C_Tree.css +0 -2
- package/dist/C_Tree.d.cts +1 -1
- package/dist/C_Tree.js +1 -1
- package/dist/C_Tree2.cjs +1 -0
- package/dist/C_Tree2.js +1 -2
- package/dist/C_Upload.cjs +1 -1
- package/dist/C_Upload.css +17 -17
- package/dist/C_Upload.d.cts +1 -1
- package/dist/C_Upload.js +1 -1
- package/dist/C_Upload2.cjs +1 -0
- package/dist/C_Upload2.js +1 -25
- package/dist/C_VideoPlayer.cjs +1 -1
- package/dist/C_VideoPlayer.css +35 -24
- package/dist/C_VideoPlayer.d.cts +2 -2
- package/dist/C_VideoPlayer.d.ts +2 -2
- package/dist/C_VideoPlayer.js +1 -1
- package/dist/C_VideoPlayer2.cjs +3 -0
- package/dist/C_VideoPlayer2.js +3 -4
- package/dist/C_VtableGantt.cjs +1 -1
- package/dist/C_VtableGantt.css +15 -7
- package/dist/C_VtableGantt.d.cts +1 -1
- package/dist/C_VtableGantt.d.ts +1 -1
- package/dist/C_VtableGantt.js +1 -1
- package/dist/C_VtableGantt2.cjs +1 -0
- package/dist/C_VtableGantt2.js +1 -2
- package/dist/C_WaterFall.cjs +1 -1
- package/dist/C_WaterFall.css +15 -17
- package/dist/C_WaterFall.d.cts +1 -1
- package/dist/C_WaterFall2.cjs +1 -0
- package/dist/C_WaterFall2.js +1 -2
- package/dist/C_WorkFlow.cjs +1 -1
- package/dist/C_WorkFlow.css +257 -197
- package/dist/C_WorkFlow.d.cts +1 -1
- package/dist/C_WorkFlow.js +1 -1
- package/dist/C_WorkFlow2.cjs +1 -0
- package/dist/C_WorkFlow2.js +1 -2
- package/dist/city.cjs +1 -0
- package/dist/city.js +1 -2
- package/dist/config.cjs +1 -0
- package/dist/config.d.cts +33 -0
- package/dist/config.d.ts +33 -0
- package/dist/config.js +1 -0
- package/dist/constants.d.cts +272 -0
- package/dist/constants.d.ts +2 -3
- package/dist/constants2.d.cts +177 -0
- package/dist/constants2.d.ts +3 -4
- package/dist/constants3.d.cts +479 -0
- package/dist/constants3.d.ts +16 -12
- package/dist/constants4.d.cts +420 -0
- package/dist/constants4.d.ts +27 -37
- package/dist/constants5.d.cts +491 -0
- package/dist/constants5.d.ts +20 -4
- package/dist/data.cjs +1 -0
- package/dist/data.d.cts +67 -0
- package/dist/data.d.ts +12 -12
- package/dist/data.js +1 -0
- package/dist/export-helper.cjs +1 -0
- package/dist/helpers.cjs +1 -0
- package/dist/helpers.js +1 -0
- package/dist/html.cjs +1 -0
- package/dist/html.js +1 -0
- package/dist/images/marker-icon-2x.png +0 -0
- package/dist/images/marker-icon.png +0 -0
- package/dist/images/marker-shadow.png +0 -0
- package/dist/index.cjs +1 -2
- package/dist/index.d.cts +60 -99
- package/dist/index.d.ts +75 -164
- package/dist/index.js +1 -2
- package/dist/index.vue.d.cts +79 -0
- package/dist/index.vue.d.ts +3 -4
- package/dist/index10.vue.d.cts +47 -0
- package/dist/index10.vue.d.ts +80 -40
- package/dist/index11.vue.d.cts +88 -0
- package/dist/index11.vue.d.ts +68 -78
- package/dist/index12.vue.d.cts +79 -0
- package/dist/index12.vue.d.ts +49 -45
- package/dist/index13.vue.d.cts +64 -0
- package/dist/index13.vue.d.ts +99 -34
- package/dist/index14.vue.d.cts +106 -0
- package/dist/index14.vue.d.ts +82 -99
- package/dist/index15.vue.d.cts +91 -0
- package/dist/index15.vue.d.ts +25 -83
- package/dist/index16.vue.d.cts +34 -0
- package/dist/index16.vue.d.ts +113 -24
- package/dist/index17.vue.d.cts +124 -0
- package/dist/index17.vue.d.ts +76 -110
- package/dist/index18.vue.d.cts +83 -0
- package/dist/index18.vue.d.ts +67 -73
- package/dist/index19.vue.d.cts +101 -0
- package/dist/index19.vue.d.ts +93 -59
- package/dist/index2.vue.d.cts +82 -0
- package/dist/index2.vue.d.ts +7 -8
- package/dist/index20.vue.d.cts +54 -0
- package/dist/index20.vue.d.ts +40 -88
- package/dist/index21.vue.d.cts +103 -0
- package/dist/index21.vue.d.ts +89 -41
- package/dist/index22.vue.d.cts +45 -0
- package/dist/index22.vue.d.ts +37 -96
- package/dist/index23.vue.d.cts +19 -0
- package/dist/index23.vue.d.ts +8 -35
- package/dist/{index28.vue.d.ts → index24.vue.d.cts} +4 -5
- package/dist/index24.vue.d.ts +650 -86
- package/dist/index25.vue.d.cts +96 -0
- package/dist/index25.vue.d.ts +86 -10
- package/dist/index26.vue.d.cts +111 -0
- package/dist/index26.vue.d.ts +4 -5
- package/dist/index27.vue.d.cts +80 -0
- package/dist/index27.vue.d.ts +2 -3
- package/dist/index3.vue.d.cts +87 -0
- package/dist/index3.vue.d.ts +4 -5
- package/dist/index4.vue.d.cts +37 -0
- package/dist/index4.vue.d.ts +6 -7
- package/dist/index5.vue.d.cts +133 -0
- package/dist/index5.vue.d.ts +2 -3
- package/dist/index6.vue.d.cts +29 -0
- package/dist/index6.vue.d.ts +25 -38
- package/dist/index7.vue.d.cts +32 -0
- package/dist/index7.vue.d.ts +117 -23
- package/dist/index8.vue.d.cts +127 -0
- package/dist/index8.vue.d.ts +17 -111
- package/dist/index9.vue.d.cts +34 -0
- package/dist/index9.vue.d.ts +38 -26
- package/dist/public.d.ts +166 -0
- package/dist/resolver.cjs +1 -2
- package/dist/resolver.d.cts +6 -4
- package/dist/resolver.d.ts +6 -4
- package/dist/resolver.js +1 -2
- package/dist/storage.cjs +1 -0
- package/dist/storage.js +1 -2
- package/dist/style.css +9864 -7702
- package/dist/types.d.cts +107 -0
- package/dist/types.d.ts +52 -102
- package/dist/types2.d.cts +58 -0
- package/dist/useCalendarEvents.d.cts +150 -0
- package/dist/useCalendarEvents.d.ts +3 -4
- package/dist/useCollapsePanel.d.cts +133 -0
- package/dist/useCollapsePanel.d.ts +2 -3
- package/dist/useCropperCore.d.cts +104 -0
- package/dist/useCropperCore.d.ts +11 -9
- package/dist/useDraggableLayout.d.cts +196 -0
- package/dist/useDraggableLayout.d.ts +17 -15
- package/dist/useDynamicFormState.d.cts +749 -0
- package/dist/useDynamicFormState.d.ts +234 -112
- package/dist/useEdgeInteraction.d.cts +324 -0
- package/dist/useEdgeInteraction.d.ts +6 -7
- package/dist/useFullscreen.d.cts +165 -0
- package/dist/useFullscreen.d.ts +1 -2
- package/dist/useGlobalSearch.d.cts +110 -0
- package/dist/useGlobalSearch.d.ts +17 -9
- package/dist/useInfiniteScroll.d.cts +177 -0
- package/dist/useInfiniteScroll.d.ts +13 -5
- package/dist/useQRCode.d.cts +89 -0
- package/dist/useQRCode.d.ts +5 -3
- package/dist/useSearchState.d.cts +871 -0
- package/dist/useSearchState.d.ts +830 -30
- package/dist/useSignatureHistory.d.cts +197 -0
- package/dist/useSignatureHistory.d.ts +10 -5
- package/dist/useSplitResize.d.cts +157 -0
- package/dist/useSplitResize.d.ts +3 -4
- package/dist/useTableQuery.cjs +3 -0
- package/dist/{useModalEdit.d.ts → useTableQuery.d.cts} +624 -211
- package/dist/useTableQuery.d.ts +1721 -0
- package/dist/useTableQuery.js +3 -0
- package/dist/useTimeSelection.d.cts +116 -0
- package/dist/useTimeSelection.d.ts +20 -9
- package/dist/useTreeOperations.d.cts +185 -0
- package/dist/useTreeOperations.d.ts +13 -11
- package/dist/useWorkflowValidation.d.cts +1051 -0
- package/dist/useWorkflowValidation.d.ts +62 -63
- package/dist/verification.d.cts +58 -0
- package/dist/verification.d.ts +58 -0
- package/package.json +102 -69
- package/dist/C_ActionBar-BAcfOfRw.css.map +0 -1
- package/dist/C_ActionBar-DG2HW7t5.css.map +0 -1
- package/dist/C_ActionBar.js.map +0 -1
- package/dist/C_ActionBar2.js.map +0 -1
- package/dist/C_AntV-D_jTK8oZ.css.map +0 -1
- package/dist/C_AntV-DanTAq22.css.map +0 -1
- package/dist/C_AntV.js.map +0 -1
- package/dist/C_AntV2.js.map +0 -1
- package/dist/C_AudioPlayer-BnYIJXPD.css.map +0 -1
- package/dist/C_AudioPlayer-Cj4lUdZo.css.map +0 -1
- package/dist/C_AudioPlayer.js.map +0 -1
- package/dist/C_AudioPlayer2.js.map +0 -1
- package/dist/C_AvatarGroup-B9d-GJ9c.css.map +0 -1
- package/dist/C_AvatarGroup-D3PwsKME.css.map +0 -1
- package/dist/C_AvatarGroup.js.map +0 -1
- package/dist/C_AvatarGroup2.js.map +0 -1
- package/dist/C_Barcode-CAU2mFcx.css.map +0 -1
- package/dist/C_Barcode-D2oJaEg3.css.map +0 -1
- package/dist/C_Barcode.js.map +0 -1
- package/dist/C_Barcode2.js.map +0 -1
- package/dist/C_Breadcrumb-BiH0d9AI.css.map +0 -1
- package/dist/C_Breadcrumb-DOcLt9uX.css.map +0 -1
- package/dist/C_Breadcrumb.js.map +0 -1
- package/dist/C_Breadcrumb2.js.map +0 -1
- package/dist/C_Captcha-B3yrtG7t.css.map +0 -1
- package/dist/C_Captcha-D4hDdWDu.css.map +0 -1
- package/dist/C_Captcha.js.map +0 -1
- package/dist/C_Captcha2.js.map +0 -1
- package/dist/C_Cascade-CmCrLVft.css.map +0 -1
- package/dist/C_Cascade-U6A5AJJb.css.map +0 -1
- package/dist/C_Cascade.js.map +0 -1
- package/dist/C_Cascade2.js.map +0 -1
- package/dist/C_Chat-DeUv6uuI.css.map +0 -1
- package/dist/C_Chat-DwatUQqu.css.map +0 -1
- package/dist/C_Chat.js.map +0 -1
- package/dist/C_Chat2.js.map +0 -1
- package/dist/C_City-DdkX6u64.css.map +0 -1
- package/dist/C_City-iP-dIvui.css.map +0 -1
- package/dist/C_City.js.map +0 -1
- package/dist/C_City2.js.map +0 -1
- package/dist/C_Code-BWmJMNS7.css.map +0 -1
- package/dist/C_Code-k14vjgVl.css.map +0 -1
- package/dist/C_Code.js.map +0 -1
- package/dist/C_Code2.js.map +0 -1
- package/dist/C_CollapsePanel-BSKcWSmY.css.map +0 -1
- package/dist/C_CollapsePanel-DRvRq8tB.css.map +0 -1
- package/dist/C_CollapsePanel.js.map +0 -1
- package/dist/C_CollapsePanel2.js.map +0 -1
- package/dist/C_ContextMenu-C9iuxG2n.css.map +0 -1
- package/dist/C_ContextMenu-CD0iaSju.css.map +0 -1
- package/dist/C_ContextMenu.js.map +0 -1
- package/dist/C_ContextMenu2.js.map +0 -1
- package/dist/C_Cron-BIQ2By9v.css.map +0 -1
- package/dist/C_Cron-BNSAGD6A.css.map +0 -1
- package/dist/C_Cron.js.map +0 -1
- package/dist/C_Cron2.js.map +0 -1
- package/dist/C_Date.js.map +0 -1
- package/dist/C_Date2.js.map +0 -1
- package/dist/C_Draggable-BDAbk4s5.css.map +0 -1
- package/dist/C_Draggable-UhfDLXop.css.map +0 -1
- package/dist/C_Draggable.js.map +0 -1
- package/dist/C_Draggable2.js.map +0 -1
- package/dist/C_Editor-CZOaChru.css.map +0 -1
- package/dist/C_Editor-kJAQq5z6.css.map +0 -1
- package/dist/C_Editor.js.map +0 -1
- package/dist/C_Editor2.js.map +0 -1
- package/dist/C_FilePreview-Bs_omgJS.css.map +0 -1
- package/dist/C_FilePreview-DbwoyF2j.css.map +0 -1
- package/dist/C_FilePreview.js.map +0 -1
- package/dist/C_FilePreview2.js.map +0 -1
- package/dist/C_Form-B_2ql62V.css.map +0 -1
- package/dist/C_Form-CX-7xsz3.css.map +0 -1
- package/dist/C_Form.js.map +0 -1
- package/dist/C_Form2.js.map +0 -1
- package/dist/C_FormSearch-C3F8peAY.css.map +0 -1
- package/dist/C_FormSearch-qW56bJPo.css.map +0 -1
- package/dist/C_FormSearch.js.map +0 -1
- package/dist/C_FormSearch2.js.map +0 -1
- package/dist/C_FormulaEditor-ChOvDbsZ.css.map +0 -1
- package/dist/C_FormulaEditor-mfiIUDY4.css.map +0 -1
- package/dist/C_FormulaEditor.js.map +0 -1
- package/dist/C_FormulaEditor2.js.map +0 -1
- package/dist/C_FullCalendar-C2nsqrgS.css.map +0 -1
- package/dist/C_FullCalendar-DdFtXVhy.css.map +0 -1
- package/dist/C_FullCalendar.js.map +0 -1
- package/dist/C_FullCalendar2.js.map +0 -1
- package/dist/C_GlobalSearch-Dq4Wo01K.css.map +0 -1
- package/dist/C_GlobalSearch-RB7J43gu.css.map +0 -1
- package/dist/C_GlobalSearch.js.map +0 -1
- package/dist/C_GlobalSearch2.js.map +0 -1
- package/dist/C_Guide.js.map +0 -1
- package/dist/C_Guide2.js.map +0 -1
- package/dist/C_Icon.js.map +0 -1
- package/dist/C_Icon2.js.map +0 -1
- package/dist/C_ImageCropper-CdTX2nxU.css.map +0 -1
- package/dist/C_ImageCropper-ilOqPklJ.css.map +0 -1
- package/dist/C_ImageCropper.js.map +0 -1
- package/dist/C_ImageCropper2.js.map +0 -1
- package/dist/C_Language.js.map +0 -1
- package/dist/C_Language2.js.map +0 -1
- package/dist/C_Login-BrQBs_m4.css.map +0 -1
- package/dist/C_Login-xMI1_ojE.css.map +0 -1
- package/dist/C_Login.js.map +0 -1
- package/dist/C_Login2.js.map +0 -1
- package/dist/C_Map-CWMMN58_.css.map +0 -1
- package/dist/C_Map-xSR2H-9o.css.map +0 -1
- package/dist/C_Map.js.map +0 -1
- package/dist/C_Map2.js.map +0 -1
- package/dist/C_Markdown-C7lTVJ1S.css.map +0 -1
- package/dist/C_Markdown-CZDm_baQ.css.map +0 -1
- package/dist/C_Markdown.js.map +0 -1
- package/dist/C_Markdown2.js.map +0 -1
- package/dist/C_Menu.js.map +0 -1
- package/dist/C_Menu2.js.map +0 -1
- package/dist/C_NotificationCenter-D7GGGWg7.css.map +0 -1
- package/dist/C_NotificationCenter-SSmeHA45.css.map +0 -1
- package/dist/C_NotificationCenter.js.map +0 -1
- package/dist/C_NotificationCenter2.js.map +0 -1
- package/dist/C_OrgChart-BXEp4i4w.css.map +0 -1
- package/dist/C_OrgChart-DqBufOv5.css.map +0 -1
- package/dist/C_OrgChart.js.map +0 -1
- package/dist/C_OrgChart2.js.map +0 -1
- package/dist/C_Progress.js.map +0 -1
- package/dist/C_Progress2.js.map +0 -1
- package/dist/C_QRCode-B_1lHUdx.css.map +0 -1
- package/dist/C_QRCode-CuQRYu0s.css.map +0 -1
- package/dist/C_QRCode.js.map +0 -1
- package/dist/C_QRCode2.js.map +0 -1
- package/dist/C_Signature-Bp-RBpAl.css.map +0 -1
- package/dist/C_Signature-Cb2VW1ok.css.map +0 -1
- package/dist/C_Signature.js.map +0 -1
- package/dist/C_Signature2.js.map +0 -1
- package/dist/C_Skeleton-BJoFYwrF.css.map +0 -1
- package/dist/C_Skeleton-Djsjw8XY.css.map +0 -1
- package/dist/C_Skeleton.js.map +0 -1
- package/dist/C_Skeleton2.js.map +0 -1
- package/dist/C_SplitPane-CgGWYsRE.css.map +0 -1
- package/dist/C_SplitPane-DGf6WEeR.css.map +0 -1
- package/dist/C_SplitPane.js.map +0 -1
- package/dist/C_SplitPane2.js.map +0 -1
- package/dist/C_Steps-27Exh7PM.css.map +0 -1
- package/dist/C_Steps-DU9ZsFrs.css.map +0 -1
- package/dist/C_Steps.js.map +0 -1
- package/dist/C_Steps2.js.map +0 -1
- package/dist/C_Table--kbQaaBv.css.map +0 -1
- package/dist/C_Table-D631kdXC.css.map +0 -1
- package/dist/C_Table.js.map +0 -1
- package/dist/C_Table2.js +0 -4
- package/dist/C_Table2.js.map +0 -1
- package/dist/C_TagsView-DtGtYhBH.css.map +0 -1
- package/dist/C_TagsView-s1dnSJAV.css.map +0 -1
- package/dist/C_TagsView.js.map +0 -1
- package/dist/C_TagsView2.js.map +0 -1
- package/dist/C_Theme.js.map +0 -1
- package/dist/C_Theme2.js.map +0 -1
- package/dist/C_Time-BQ9PGy8B.css.map +0 -1
- package/dist/C_Time-CO73krC6.css.map +0 -1
- package/dist/C_Time.js.map +0 -1
- package/dist/C_Time2.js.map +0 -1
- package/dist/C_Timeline-DdESmqwL.css.map +0 -1
- package/dist/C_Timeline-irQcO-b7.css.map +0 -1
- package/dist/C_Timeline.js.map +0 -1
- package/dist/C_Timeline2.js.map +0 -1
- package/dist/C_Transfer-11y3k-WD.css.map +0 -1
- package/dist/C_Transfer-EzdHzZNv.css.map +0 -1
- package/dist/C_Transfer.js.map +0 -1
- package/dist/C_Transfer2.js.map +0 -1
- package/dist/C_Tree-CsXgGfhn.css.map +0 -1
- package/dist/C_Tree-P7eRpnOa.css.map +0 -1
- package/dist/C_Tree.js.map +0 -1
- package/dist/C_Tree2.js.map +0 -1
- package/dist/C_Upload-CHjiVVh7.css.map +0 -1
- package/dist/C_Upload-DE3OLsZD.css.map +0 -1
- package/dist/C_Upload.js.map +0 -1
- package/dist/C_Upload2.js.map +0 -1
- package/dist/C_VideoPlayer-CnaNOFtW.css.map +0 -1
- package/dist/C_VideoPlayer-cnP88zNV.css.map +0 -1
- package/dist/C_VideoPlayer.js.map +0 -1
- package/dist/C_VideoPlayer2.js.map +0 -1
- package/dist/C_VtableGantt-CZlJgvpC.css.map +0 -1
- package/dist/C_VtableGantt-DKfQkql0.css.map +0 -1
- package/dist/C_VtableGantt.js.map +0 -1
- package/dist/C_VtableGantt2.js.map +0 -1
- package/dist/C_WaterFall-BJ_39ext.css.map +0 -1
- package/dist/C_WaterFall-cYc1vntE.css.map +0 -1
- package/dist/C_WaterFall.js.map +0 -1
- package/dist/C_WaterFall2.js.map +0 -1
- package/dist/C_WorkFlow-BFzRGGhJ.css.map +0 -1
- package/dist/C_WorkFlow-DSyCOvRp.css.map +0 -1
- package/dist/C_WorkFlow.js.map +0 -1
- package/dist/C_WorkFlow2.js.map +0 -1
- package/dist/city.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index2.d.ts +0 -120
- package/dist/resolver.cjs.map +0 -1
- package/dist/resolver.js.map +0 -1
- package/dist/storage.js.map +0 -1
- /package/dist/{chunk.js → chunk.cjs} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as ComponentLocale, r as ComponentFeedback } from "./config.cjs";
|
|
2
2
|
import * as vue from "vue";
|
|
3
|
-
import { ComputedRef, InjectionKey, MaybeRef, Ref, VNodeChild } from "vue";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
3
|
+
import { App, ComputedRef, InjectionKey, MaybeRef, MaybeRefOrGetter, Ref, VNodeChild } from "vue";
|
|
4
|
+
import { DataTableColumn, DataTableColumns, DataTableRowKey, FormItemRule, PaginationProps } from "naive-ui";
|
|
5
|
+
import * as _vue_shared0 from "@vue/shared";
|
|
6
|
+
import { HLJSApi } from "highlight.js";
|
|
7
7
|
|
|
8
8
|
//#region src/components/C_Table/composables/usePrintWatermark.d.ts
|
|
9
9
|
interface WatermarkConfig {
|
|
@@ -138,8 +138,10 @@ declare const printPresets: {
|
|
|
138
138
|
};
|
|
139
139
|
//#endregion
|
|
140
140
|
//#region src/components/C_Table/composables/useDynamicRow.d.ts
|
|
141
|
-
interface DynamicRowsOptions<T extends
|
|
142
|
-
|
|
141
|
+
interface DynamicRowsOptions<T extends object = DataRecord> {
|
|
142
|
+
/** 总开关;关闭时公开方法保持安全 no-op */
|
|
143
|
+
enabled?: boolean;
|
|
144
|
+
rowKey?: string | ((row: T) => DataTableRowKey);
|
|
143
145
|
defaultRowData?: () => T;
|
|
144
146
|
enableRadioSelection?: boolean;
|
|
145
147
|
enableAdd?: boolean;
|
|
@@ -154,15 +156,17 @@ interface DynamicRowsOptions<T extends DataRecord = DataRecord> {
|
|
|
154
156
|
printTargetSelector?: string;
|
|
155
157
|
confirmDelete?: boolean;
|
|
156
158
|
deleteConfirmText?: string;
|
|
159
|
+
feedback?: ComponentFeedback;
|
|
160
|
+
locale?: ComponentLocale;
|
|
157
161
|
onRowChange?: (data: T[]) => void;
|
|
158
|
-
onSelectionChange?: (selectedKey: DataTableRowKey
|
|
162
|
+
onSelectionChange?: (selectedKey: DataTableRowKey | null, selectedRow: T | null) => void;
|
|
159
163
|
onRowAdd?: (newRow: T) => void;
|
|
160
164
|
onRowDelete?: (deletedRow: T, index: number) => void;
|
|
161
165
|
onRowCopy?: (originalRow: T, newRow: T) => void;
|
|
162
166
|
onRowMove?: (row: T, fromIndex: number, toIndex: number) => void;
|
|
163
167
|
}
|
|
164
|
-
interface DynamicRowsReturn<T extends
|
|
165
|
-
selectedRowKey: Ref<DataTableRowKey
|
|
168
|
+
interface DynamicRowsReturn<T extends object = DataRecord> {
|
|
169
|
+
selectedRowKey: Ref<DataTableRowKey | null>;
|
|
166
170
|
selectedRowData: Ref<T | null>;
|
|
167
171
|
selectedRowIndex: Ref<number>;
|
|
168
172
|
canMoveUp: Ref<boolean>;
|
|
@@ -177,19 +181,19 @@ interface DynamicRowsReturn<T extends DataRecord = DataRecord> {
|
|
|
177
181
|
copyRow: () => void;
|
|
178
182
|
moveRowUp: () => void;
|
|
179
183
|
moveRowDown: () => void;
|
|
180
|
-
selectRow: (key: DataTableRowKey
|
|
184
|
+
selectRow: (key: DataTableRowKey) => void;
|
|
181
185
|
clearSelection: () => void;
|
|
182
186
|
handlePrint: (elementRef: Ref<HTMLElement | undefined>) => Promise<void>;
|
|
183
187
|
handleDownload: (elementRef: Ref<HTMLElement | undefined>, filename?: string) => Promise<void>;
|
|
184
188
|
handleQuickPrint: (elementRef: Ref<HTMLElement | undefined>) => Promise<void>;
|
|
185
189
|
enhanceColumns: (columns: TableColumn<T>[]) => TableColumn<T>[];
|
|
186
|
-
renderToolbar: () => VNodeChild;
|
|
190
|
+
renderToolbar: (target?: HTMLElement) => VNodeChild;
|
|
187
191
|
renderConfirmModal: () => VNodeChild;
|
|
188
192
|
}
|
|
189
193
|
/**
|
|
190
194
|
* 表格动态行操作功能组合
|
|
191
195
|
*/
|
|
192
|
-
declare function useDynamicRows<T extends
|
|
196
|
+
declare function useDynamicRows<T extends object = DataRecord>(data: Readonly<Ref<T[]>>, options?: MaybeRefOrGetter<DynamicRowsOptions<T>>): DynamicRowsReturn<T>;
|
|
193
197
|
//#endregion
|
|
194
198
|
//#region src/components/C_Table/composables/useRowDrag.d.ts
|
|
195
199
|
interface RowDragConfig {
|
|
@@ -203,13 +207,13 @@ interface RowDragConfig {
|
|
|
203
207
|
/** 拖拽中样式类 */
|
|
204
208
|
chosenClass?: string;
|
|
205
209
|
}
|
|
206
|
-
interface UseRowDragOptions<T extends
|
|
210
|
+
interface UseRowDragOptions<T extends object = DataRecord> {
|
|
207
211
|
/** 数据源(只读即可) */
|
|
208
212
|
data: Ref<T[]> | ComputedRef<T[]>;
|
|
209
213
|
/** 获取行键 */
|
|
210
|
-
rowKey: (row: T) => DataTableRowKey
|
|
214
|
+
rowKey: (row: T) => DataTableRowKey;
|
|
211
215
|
/** 配置 */
|
|
212
|
-
config: RowDragConfig
|
|
216
|
+
config: MaybeRefOrGetter<RowDragConfig | undefined>;
|
|
213
217
|
/** 数据重排回调(由外部处理数据更新) */
|
|
214
218
|
onReorder?: (newData: T[]) => void;
|
|
215
219
|
/** 排序变更回调 */
|
|
@@ -224,7 +228,7 @@ interface UseRowDragReturn {
|
|
|
224
228
|
isDragging: Ref<boolean>;
|
|
225
229
|
}
|
|
226
230
|
/** 行拖拽排序组合式函数 */
|
|
227
|
-
declare function useRowDrag<T extends
|
|
231
|
+
declare function useRowDrag<T extends object = DataRecord>(options: UseRowDragOptions<T>): UseRowDragReturn;
|
|
228
232
|
//#endregion
|
|
229
233
|
//#region src/components/C_Table/composables/useCrossPageSelection.d.ts
|
|
230
234
|
interface CrossPageSelectionConfig {
|
|
@@ -232,34 +236,38 @@ interface CrossPageSelectionConfig {
|
|
|
232
236
|
/** 最大选择数 */
|
|
233
237
|
maxSelection?: number;
|
|
234
238
|
}
|
|
235
|
-
interface UseCrossPageSelectionOptions<T extends
|
|
239
|
+
interface UseCrossPageSelectionOptions<T extends object = DataRecord> {
|
|
236
240
|
/** 全量数据(非分页后的) */
|
|
237
241
|
allData: Ref<T[]> | ComputedRef<T[]>;
|
|
238
242
|
/** 行键函数 */
|
|
239
|
-
rowKey: (row: T) => DataTableRowKey
|
|
243
|
+
rowKey: (row: T) => DataTableRowKey;
|
|
240
244
|
/** 配置 */
|
|
241
|
-
config: CrossPageSelectionConfig
|
|
245
|
+
config: MaybeRefOrGetter<CrossPageSelectionConfig | undefined>;
|
|
242
246
|
}
|
|
243
|
-
interface UseCrossPageSelectionReturn<T extends
|
|
247
|
+
interface UseCrossPageSelectionReturn<T extends object = DataRecord> {
|
|
244
248
|
/** 所有选中的 key(跨页) */
|
|
245
|
-
selectedKeys: Ref<Set<DataTableRowKey
|
|
249
|
+
selectedKeys: Ref<Set<DataTableRowKey>>;
|
|
246
250
|
/** 选中行数量 */
|
|
247
251
|
selectedCount: ComputedRef<number>;
|
|
248
252
|
/** 当前页数据的 checkedKeys(给 NDataTable 绑定) */
|
|
249
|
-
getPageCheckedKeys: (pageData: T[]) => DataTableRowKey
|
|
253
|
+
getPageCheckedKeys: (pageData: T[]) => DataTableRowKey[];
|
|
250
254
|
/** NDataTable @update:checked-row-keys 处理器 */
|
|
251
|
-
handlePageSelectionChange: (keys: DataTableRowKey
|
|
255
|
+
handlePageSelectionChange: (keys: DataTableRowKey[], pageData: T[]) => void;
|
|
252
256
|
/** 全选所有页 */
|
|
253
257
|
selectAll: () => void;
|
|
258
|
+
/** 选择指定 key */
|
|
259
|
+
select: (key: DataTableRowKey) => boolean;
|
|
260
|
+
/** 取消选择指定 key */
|
|
261
|
+
unselect: (key: DataTableRowKey) => void;
|
|
254
262
|
/** 清除所有页选中 */
|
|
255
263
|
clearAll: () => void;
|
|
256
264
|
/** 获取所有选中行数据 */
|
|
257
265
|
getSelectedRows: () => T[];
|
|
258
266
|
/** 判断 key 是否选中 */
|
|
259
|
-
isSelected: (key: DataTableRowKey
|
|
267
|
+
isSelected: (key: DataTableRowKey) => boolean;
|
|
260
268
|
}
|
|
261
269
|
/** 跨页多选组合式函数 */
|
|
262
|
-
declare function useCrossPageSelection<T extends
|
|
270
|
+
declare function useCrossPageSelection<T extends object = DataRecord>(options: UseCrossPageSelectionOptions<T>): UseCrossPageSelectionReturn<T>;
|
|
263
271
|
//#endregion
|
|
264
272
|
//#region src/components/C_Table/composables/useTableExport.d.ts
|
|
265
273
|
interface ExportConfig {
|
|
@@ -273,8 +281,12 @@ interface ExportConfig {
|
|
|
273
281
|
columnKeys?: string[];
|
|
274
282
|
/** CSV 分隔符 */
|
|
275
283
|
csvSeparator?: string;
|
|
284
|
+
/** 阻止表格软件把用户文本识别为公式,默认开启 */
|
|
285
|
+
preventFormulaInjection?: boolean;
|
|
276
286
|
/** 全局格式化配置(用于 formatter) */
|
|
277
287
|
formatterConfig?: FormatterConfig;
|
|
288
|
+
/** 请求格式不可用并自动降级时的通知。 */
|
|
289
|
+
onFallback?: (requested: 'xlsx', actual: 'csv', cause: unknown) => void;
|
|
278
290
|
}
|
|
279
291
|
/**
|
|
280
292
|
* 导出表格数据
|
|
@@ -289,12 +301,12 @@ declare function exportTableData(data: DataRecord[], columns: TableColumn[], con
|
|
|
289
301
|
* 此接口对 columns/actions 使用 any[] 避免 TableColumn<any> 结构展开异常,
|
|
290
302
|
* 同时允许 useTableCrud<T>() 任意子类型直接传入而无需类型断言。
|
|
291
303
|
*/
|
|
292
|
-
interface CrudBinding {
|
|
293
|
-
data: Ref<
|
|
304
|
+
interface CrudBinding<T extends object = DataRecord> {
|
|
305
|
+
data: Ref<T[]>;
|
|
294
306
|
loading: Ref<boolean>;
|
|
295
|
-
columns: ComputedRef<
|
|
296
|
-
actions?: ComputedRef<
|
|
297
|
-
pagination?: ComputedRef<
|
|
307
|
+
columns: ComputedRef<TableColumn<T>[]>;
|
|
308
|
+
actions?: ComputedRef<SimpleTableActions<T>>;
|
|
309
|
+
pagination?: ComputedRef<PaginationConfig | boolean | undefined>;
|
|
298
310
|
tableRef?: Ref<any>;
|
|
299
311
|
save?: (...args: any[]) => any;
|
|
300
312
|
handleCancel?: () => void;
|
|
@@ -305,9 +317,15 @@ interface CrudBinding {
|
|
|
305
317
|
};
|
|
306
318
|
}
|
|
307
319
|
/** C_Table :config prop 的类型 — 所有功能配置收拢在此 */
|
|
308
|
-
interface TableConfig<T extends
|
|
320
|
+
interface TableConfig<T extends object = DataRecord> {
|
|
321
|
+
/** 组件级反馈适配器;未提供时尝试复用 Naive Provider,再安全降级 */
|
|
322
|
+
feedback?: ComponentFeedback;
|
|
323
|
+
/** 组件级文案与语言覆盖 */
|
|
324
|
+
locale?: ComponentLocale;
|
|
325
|
+
/** 校验缺失/重复行键;默认开启,超大或无状态表格可关闭。 */
|
|
326
|
+
validateRowKeys?: boolean;
|
|
309
327
|
/** 编辑配置 */
|
|
310
|
-
edit?: EditConfig | boolean;
|
|
328
|
+
edit?: EditConfig<T> | boolean;
|
|
311
329
|
/** 操作按钮 */
|
|
312
330
|
actions?: SimpleTableActions<T>;
|
|
313
331
|
/** 分页配置 */
|
|
@@ -343,25 +361,33 @@ interface TableConfig<T extends DataRecord = DataRecord> {
|
|
|
343
361
|
/** 错误状态配置 */
|
|
344
362
|
error?: ErrorConfig;
|
|
345
363
|
/** 批量操作配置 */
|
|
346
|
-
batchActions?: BatchActionsConfig
|
|
364
|
+
batchActions?: BatchActionsConfig<T>;
|
|
347
365
|
}
|
|
348
|
-
interface EditConfig {
|
|
366
|
+
interface EditConfig<T extends object = DataRecord> {
|
|
349
367
|
enabled?: boolean;
|
|
350
368
|
mode?: 'row' | 'cell' | 'modal' | 'both' | 'none';
|
|
351
369
|
showRowActions?: boolean;
|
|
352
370
|
modalTitle?: string;
|
|
353
371
|
modalWidth?: number;
|
|
372
|
+
/** 保存前回调;抛出异常会保留编辑态,便于修正或重试 */
|
|
373
|
+
onSave?: (rowData: T, rowIndex: number, columnKey?: string) => void | Promise<void>;
|
|
374
|
+
/** 取消编辑回调 */
|
|
375
|
+
onCancel?: (rowData: T, rowIndex: number) => void | Promise<void>;
|
|
376
|
+
/** 编辑或保存失败回调 */
|
|
377
|
+
onError?: (error: unknown) => void;
|
|
354
378
|
}
|
|
355
|
-
interface ExpandConfig$1<T extends
|
|
379
|
+
interface ExpandConfig$1<T extends object = DataRecord> {
|
|
356
380
|
enabled?: boolean;
|
|
357
|
-
defaultExpandedKeys?: DataTableRowKey
|
|
381
|
+
defaultExpandedKeys?: DataTableRowKey[];
|
|
358
382
|
onLoadData?: (row: T) => Promise<unknown[]> | unknown[];
|
|
383
|
+
/** 展开数据加载失败回调 */
|
|
384
|
+
onError?: (error: unknown, row: T) => void;
|
|
359
385
|
renderContent?: (row: T, expandData: unknown[], loading: boolean, childSelection?: unknown) => VNodeChild;
|
|
360
386
|
rowExpandable?: (row: T) => boolean;
|
|
361
387
|
}
|
|
362
|
-
interface SelectionConfig$1<T extends
|
|
388
|
+
interface SelectionConfig$1<T extends object = DataRecord> {
|
|
363
389
|
enabled?: boolean;
|
|
364
|
-
defaultCheckedKeys?:
|
|
390
|
+
defaultCheckedKeys?: DataTableRowKey[];
|
|
365
391
|
rowCheckable?: (row: T) => boolean;
|
|
366
392
|
maxSelection?: number;
|
|
367
393
|
childSelection?: {
|
|
@@ -397,7 +423,7 @@ interface VirtualScrollConfig {
|
|
|
397
423
|
maxHeight?: number;
|
|
398
424
|
}
|
|
399
425
|
/** 合计行配置 */
|
|
400
|
-
interface SummaryConfig<T extends
|
|
426
|
+
interface SummaryConfig<T extends object = DataRecord> {
|
|
401
427
|
/** 合计行位置 */
|
|
402
428
|
position?: 'top' | 'bottom';
|
|
403
429
|
/** 自定义合计函数,每列返回 { value, colSpan? } */
|
|
@@ -434,30 +460,40 @@ interface ErrorConfig {
|
|
|
434
460
|
onRetry?: () => void | Promise<void>;
|
|
435
461
|
}
|
|
436
462
|
/** 批量操作配置 */
|
|
437
|
-
interface BatchActionsConfig {
|
|
463
|
+
interface BatchActionsConfig<T extends object = DataRecord> {
|
|
438
464
|
enabled?: boolean;
|
|
465
|
+
/** 操作成功后清空选择,默认不清空 */
|
|
466
|
+
clearSelectionOnSuccess?: boolean;
|
|
467
|
+
/** 批量操作失败回调 */
|
|
468
|
+
onError?: (error: unknown, actionKey: string) => void;
|
|
439
469
|
/** 自定义批量操作按钮 */
|
|
440
470
|
actions?: Array<{
|
|
441
471
|
key: string;
|
|
442
472
|
label: string;
|
|
443
473
|
icon?: string;
|
|
444
474
|
type?: string;
|
|
445
|
-
onClick: (selectedKeys: DataTableRowKey
|
|
475
|
+
onClick: (selectedKeys: DataTableRowKey[], selectedRows: T[]) => void | Promise<void>;
|
|
446
476
|
}>;
|
|
447
477
|
}
|
|
448
478
|
interface ResolvedConfig {
|
|
479
|
+
feedback: ComponentFeedback | undefined;
|
|
480
|
+
locale: ComponentLocale | undefined;
|
|
449
481
|
editable: boolean;
|
|
450
482
|
editMode: string;
|
|
451
483
|
showRowActions: boolean;
|
|
452
484
|
modalTitle: string;
|
|
453
485
|
modalWidth: number;
|
|
486
|
+
onEditSave: EditConfig['onSave'] | undefined;
|
|
487
|
+
onEditCancel: EditConfig['onCancel'] | undefined;
|
|
488
|
+
onEditError: EditConfig['onError'] | undefined;
|
|
454
489
|
expandable: boolean;
|
|
455
|
-
defaultExpandedKeys: DataTableRowKey
|
|
490
|
+
defaultExpandedKeys: DataTableRowKey[] | undefined;
|
|
456
491
|
onLoadExpandData: ((row: DataRecord) => Promise<unknown[]> | unknown[]) | undefined;
|
|
492
|
+
onExpandError: ((error: unknown, row: DataRecord) => void) | undefined;
|
|
457
493
|
renderExpandContent: ((row: DataRecord, expandData: unknown[], loading: boolean, childSelection?: unknown) => VNodeChild) | undefined;
|
|
458
494
|
rowExpandable: ((row: DataRecord) => boolean) | undefined;
|
|
459
495
|
enableSelection: boolean;
|
|
460
|
-
defaultCheckedKeys: DataTableRowKey
|
|
496
|
+
defaultCheckedKeys: DataTableRowKey[] | undefined;
|
|
461
497
|
rowCheckable: ((row: DataRecord) => boolean) | undefined;
|
|
462
498
|
maxSelection: number | undefined;
|
|
463
499
|
enableChildSelection: boolean;
|
|
@@ -487,7 +523,7 @@ interface ResolvedConfig {
|
|
|
487
523
|
}>) | undefined;
|
|
488
524
|
/** 列拖拽 */
|
|
489
525
|
enableColumnDrag: boolean;
|
|
490
|
-
columnDragHandleClass: string;
|
|
526
|
+
columnDragHandleClass: string | undefined;
|
|
491
527
|
columnDragAnimationDuration: number;
|
|
492
528
|
/** 树形表格 */
|
|
493
529
|
treeEnabled: boolean;
|
|
@@ -557,6 +593,8 @@ interface ColumnFormatter {
|
|
|
557
593
|
config?: Record<string, unknown>;
|
|
558
594
|
}
|
|
559
595
|
interface TableGlobalConfig {
|
|
596
|
+
/** 任意 C_Table 配置的应用级默认值。 */
|
|
597
|
+
defaults?: TableConfig;
|
|
560
598
|
/** 表格显示默认值 */
|
|
561
599
|
display?: DisplayConfig;
|
|
562
600
|
/** 默认分页条数 */
|
|
@@ -584,6 +622,15 @@ type RefLike<T> = {
|
|
|
584
622
|
} | T;
|
|
585
623
|
type MaybeRefLike<T> = RefLike<T> | MaybeRef<T>;
|
|
586
624
|
type DataRecord = Record<string, unknown>;
|
|
625
|
+
type TableRowKey<T extends object = DataRecord> = Extract<keyof T, string> | ((row: T) => DataTableRowKey);
|
|
626
|
+
interface TableRowKeyIssue<T extends object = DataRecord> {
|
|
627
|
+
type: 'missing' | 'duplicate' | 'error';
|
|
628
|
+
row: T;
|
|
629
|
+
index: number;
|
|
630
|
+
key?: DataTableRowKey;
|
|
631
|
+
firstIndex?: number;
|
|
632
|
+
cause?: unknown;
|
|
633
|
+
}
|
|
587
634
|
type EditMode = 'row' | 'cell' | 'both' | 'modal' | 'none';
|
|
588
635
|
type EditType = 'input' | 'textarea' | 'select' | 'date' | 'number' | 'switch' | 'email' | 'mobile';
|
|
589
636
|
type ButtonType = 'default' | 'primary' | 'info' | 'success' | 'warning' | 'error';
|
|
@@ -601,11 +648,11 @@ interface PaginationConfig {
|
|
|
601
648
|
remote?: boolean;
|
|
602
649
|
}
|
|
603
650
|
/** API 函数类型 */
|
|
604
|
-
type ApiFunction<T extends
|
|
651
|
+
type ApiFunction<T extends object = DataRecord> = (row: T, index: number) => unknown | Promise<unknown>;
|
|
605
652
|
/** 渲染函数类型 */
|
|
606
|
-
type RenderFunction<T extends
|
|
653
|
+
type RenderFunction<T extends object = DataRecord> = (row: T, index: number) => VNodeChild;
|
|
607
654
|
/** 自定义操作按钮配置 */
|
|
608
|
-
interface CustomAction<T extends
|
|
655
|
+
interface CustomAction<T extends object = DataRecord> {
|
|
609
656
|
/** 按钮唯一键 */
|
|
610
657
|
key: string;
|
|
611
658
|
/** 按钮显示文本 */
|
|
@@ -624,7 +671,7 @@ interface CustomAction<T extends DataRecord = DataRecord> {
|
|
|
624
671
|
tooltip?: string;
|
|
625
672
|
}
|
|
626
673
|
/** 简化的操作配置 - 二元法则 */
|
|
627
|
-
interface SimpleTableActions<T extends
|
|
674
|
+
interface SimpleTableActions<T extends object = DataRecord> {
|
|
628
675
|
/** 编辑操作 - 直接传入函数 */
|
|
629
676
|
edit?: false | ApiFunction<T>;
|
|
630
677
|
/** 删除操作 - 直接传入函数 */
|
|
@@ -636,23 +683,48 @@ interface SimpleTableActions<T extends DataRecord = DataRecord> {
|
|
|
636
683
|
/** 完全自定义渲染 - 10%场景 */
|
|
637
684
|
render?: RenderFunction<T>;
|
|
638
685
|
}
|
|
686
|
+
/** Minimal edit-state contract consumed by the action renderer. */
|
|
687
|
+
interface TableActionsManager<T extends object = DataRecord> {
|
|
688
|
+
editStates: {
|
|
689
|
+
modalEdit: {
|
|
690
|
+
startEdit: (rowKey: DataTableRowKey, sourceData?: T) => boolean | void;
|
|
691
|
+
};
|
|
692
|
+
rowEdit: {
|
|
693
|
+
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
694
|
+
startEditRow: (rowKey: DataTableRowKey) => boolean | void;
|
|
695
|
+
cancelEditRow: () => void | Promise<void>;
|
|
696
|
+
saveEditRow: () => Promise<unknown>;
|
|
697
|
+
};
|
|
698
|
+
};
|
|
699
|
+
}
|
|
639
700
|
/** useTableActions Hook 选项类型 */
|
|
640
|
-
interface UseTableActionsOptions<T extends
|
|
701
|
+
interface UseTableActionsOptions<T extends object = DataRecord> {
|
|
641
702
|
/** 操作配置 */
|
|
642
703
|
actions: Ref<SimpleTableActions<T>> | ComputedRef<SimpleTableActions<T>>;
|
|
643
704
|
/** 表格配置 */
|
|
644
|
-
config: Ref<
|
|
705
|
+
config: Ref<{
|
|
706
|
+
editable: boolean;
|
|
707
|
+
editMode: string;
|
|
708
|
+
feedback?: ComponentFeedback;
|
|
709
|
+
locale?: ComponentLocale;
|
|
710
|
+
}> | ComputedRef<{
|
|
711
|
+
editable: boolean;
|
|
712
|
+
editMode: string;
|
|
713
|
+
feedback?: ComponentFeedback;
|
|
714
|
+
locale?: ComponentLocale;
|
|
715
|
+
}>;
|
|
645
716
|
/** 表格管理器 */
|
|
646
|
-
tableManager:
|
|
717
|
+
tableManager: TableActionsManager<T>;
|
|
647
718
|
/** 行键获取函数 */
|
|
648
719
|
rowKey: (row: T) => DataTableRowKey;
|
|
649
720
|
/** 事件发射器 */
|
|
650
|
-
|
|
721
|
+
/** Deletion action completion notification; kept separate from CRUD data mutation. */
|
|
722
|
+
onRowDeleted?: (row: T, index: number) => void;
|
|
651
723
|
/** 查看详情回调 */
|
|
652
724
|
onViewDetail?: (data: T) => void;
|
|
653
725
|
}
|
|
654
726
|
/** useTableActions Hook 返回类型 */
|
|
655
|
-
interface UseTableActionsReturn<T extends
|
|
727
|
+
interface UseTableActionsReturn<T extends object = DataRecord> {
|
|
656
728
|
/** 渲染操作列 */
|
|
657
729
|
renderActions: (rowData: T, rowIndex: number) => VNodeChild;
|
|
658
730
|
/** 检查操作是否启用 */
|
|
@@ -663,7 +735,7 @@ interface BaseOption {
|
|
|
663
735
|
value: string | number;
|
|
664
736
|
disabled?: boolean;
|
|
665
737
|
}
|
|
666
|
-
interface BaseConfig<T extends
|
|
738
|
+
interface BaseConfig<T extends object = DataRecord> {
|
|
667
739
|
enabled?: boolean;
|
|
668
740
|
rowCheckable?: (row: T) => boolean;
|
|
669
741
|
}
|
|
@@ -692,15 +764,15 @@ interface EditProps {
|
|
|
692
764
|
* - BuiltInTableColumn:内置列(selection/expand),不需要 key/title
|
|
693
765
|
* - TableColumn:以上二者联合
|
|
694
766
|
*/
|
|
695
|
-
interface BaseTableColumn<T extends
|
|
696
|
-
key?:
|
|
767
|
+
interface BaseTableColumn<T extends object = DataRecord> extends Omit<DataTableColumns<T>[number], 'key' | 'title' | 'render' | 'type'> {
|
|
768
|
+
key?: DataTableRowKey;
|
|
697
769
|
title?: string;
|
|
698
770
|
visible?: boolean;
|
|
699
771
|
editable?: boolean;
|
|
700
772
|
required?: boolean;
|
|
701
773
|
editType?: EditType;
|
|
702
774
|
editProps?: EditProps;
|
|
703
|
-
editRender?: (value:
|
|
775
|
+
editRender?: (value: unknown, rowData: T, rowIndex: number) => VNodeChild;
|
|
704
776
|
render?: (rowData: T, rowIndex: number) => VNodeChild;
|
|
705
777
|
/** 声明式格式化器(优先级低于 render) */
|
|
706
778
|
formatter?: ColumnFormatter;
|
|
@@ -709,55 +781,153 @@ interface BaseTableColumn<T extends DataRecord = DataRecord> extends Omit<DataTa
|
|
|
709
781
|
minWidth?: number;
|
|
710
782
|
maxWidth?: number;
|
|
711
783
|
}
|
|
712
|
-
interface NormalTableColumn<T extends
|
|
713
|
-
key: keyof T |
|
|
784
|
+
interface NormalTableColumn<T extends object = DataRecord> extends BaseTableColumn<T> {
|
|
785
|
+
key: Extract<keyof T, DataTableRowKey> | DataTableRowKey;
|
|
714
786
|
title: string;
|
|
715
787
|
}
|
|
716
|
-
interface BuiltInTableColumn<T extends
|
|
788
|
+
interface BuiltInTableColumn<T extends object = DataRecord> extends BaseTableColumn<T> {
|
|
717
789
|
/** 内置列类型:无需 key / title */
|
|
718
790
|
type: 'selection' | 'expand' | 'index';
|
|
719
791
|
/** 展开行渲染函数(仅当 type = expand 时有效) */
|
|
720
792
|
renderExpand?: (rowData: T, rowIndex: number) => VNodeChild;
|
|
721
793
|
}
|
|
722
|
-
type TableColumn<T extends
|
|
794
|
+
type TableColumn<T extends object = DataRecord> = NormalTableColumn<T> | BuiltInTableColumn<T>;
|
|
795
|
+
type StrictTableColumn<T extends object> = (Omit<NormalTableColumn<T>, 'key'> & {
|
|
796
|
+
key: Extract<keyof T, string>;
|
|
797
|
+
}) | BuiltInTableColumn<T>;
|
|
723
798
|
interface ChildSelectionState {
|
|
724
799
|
selectedKeys: DataTableRowKey[];
|
|
725
800
|
isAllChecked: boolean;
|
|
726
801
|
selectAll: () => void;
|
|
727
802
|
clearAll: () => void;
|
|
728
803
|
}
|
|
729
|
-
interface ExpandConfig<T extends
|
|
804
|
+
interface ExpandConfig<T extends object = DataRecord, C = DataRecord> {
|
|
730
805
|
onLoadData?: (row: T) => Promise<C[]> | C[];
|
|
806
|
+
onError?: (error: unknown, row: T) => void;
|
|
731
807
|
renderContent?: (row: T, expandData: C[], loading: boolean, childSelection?: ChildSelectionState) => VNodeChild;
|
|
732
808
|
rowExpandable?: (row: T) => boolean;
|
|
733
809
|
}
|
|
734
|
-
interface SelectionConfig<T extends DataRecord = DataRecord> extends BaseConfig<T> {
|
|
810
|
+
interface SelectionConfig<T extends object = DataRecord, C = DataRecord> extends BaseConfig<T> {
|
|
811
|
+
enableSelection?: boolean;
|
|
812
|
+
defaultCheckedKeys?: DataTableRowKey[];
|
|
813
|
+
maxSelection?: number;
|
|
814
|
+
enableChildSelection?: boolean;
|
|
815
|
+
childRowCheckable?: (childRow: C, parentRow: T) => boolean;
|
|
816
|
+
enableParentChildLink?: boolean;
|
|
817
|
+
parentChildLinkMode?: ParentChildLinkMode;
|
|
818
|
+
}
|
|
819
|
+
interface TableBaseProps<T extends object = DataRecord> {
|
|
820
|
+
columns: TableColumn<T>[];
|
|
821
|
+
data: MaybeRefLike<T[]>;
|
|
822
|
+
rowKey?: TableRowKey<T>;
|
|
823
|
+
loading?: MaybeRefLike<boolean>;
|
|
824
|
+
}
|
|
825
|
+
interface TableDisplayProps {
|
|
826
|
+
maxHeight?: number | string;
|
|
827
|
+
minHeight?: number | string;
|
|
828
|
+
scrollX?: number | string;
|
|
829
|
+
striped?: boolean;
|
|
830
|
+
bordered?: boolean;
|
|
831
|
+
singleLine?: boolean;
|
|
832
|
+
size?: 'small' | 'medium' | 'large';
|
|
833
|
+
}
|
|
834
|
+
interface TableEditProps<T extends object = DataRecord> {
|
|
835
|
+
editable?: boolean;
|
|
836
|
+
editMode?: EditMode;
|
|
837
|
+
onSave?: (rowData: T, rowIndex: number, columnKey?: string) => void | Promise<void>;
|
|
838
|
+
onCancel?: (rowData: T, rowIndex: number) => void;
|
|
839
|
+
showRowActions?: boolean;
|
|
840
|
+
modalTitle?: string;
|
|
841
|
+
modalWidth?: number;
|
|
842
|
+
columnWidth?: number;
|
|
843
|
+
}
|
|
844
|
+
interface TableExpandProps<T extends object = DataRecord, C = DataRecord> {
|
|
845
|
+
expandable?: boolean;
|
|
846
|
+
onLoadExpandData?: (row: T) => Promise<C[]> | C[];
|
|
847
|
+
renderExpandContent?: (row: T, expandData: C[], loading: boolean, childSelection?: ChildSelectionState) => VNodeChild;
|
|
848
|
+
rowExpandable?: (row: T) => boolean;
|
|
849
|
+
defaultExpandedKeys?: DataTableRowKey[];
|
|
850
|
+
}
|
|
851
|
+
interface TableSelectionProps<T extends object = DataRecord, C = DataRecord> extends BaseConfig<T> {
|
|
735
852
|
enableSelection?: boolean;
|
|
736
853
|
defaultCheckedKeys?: DataTableRowKey[];
|
|
737
854
|
maxSelection?: number;
|
|
738
855
|
enableChildSelection?: boolean;
|
|
739
|
-
childRowCheckable?: (childRow:
|
|
856
|
+
childRowCheckable?: (childRow: C, parentRow: T) => boolean;
|
|
740
857
|
enableParentChildLink?: boolean;
|
|
741
858
|
parentChildLinkMode?: ParentChildLinkMode;
|
|
742
859
|
}
|
|
743
|
-
interface
|
|
860
|
+
interface TableProps<T extends object = DataRecord, C = DataRecord> extends TableBaseProps<T>, TableDisplayProps, TableEditProps<T>, TableExpandProps<T, C>, TableSelectionProps<T, C> {
|
|
861
|
+
pagination?: PaginationConfig | boolean;
|
|
862
|
+
actions?: SimpleTableActions<T>;
|
|
863
|
+
}
|
|
864
|
+
interface TableExpandEvents<T extends object = DataRecord> {
|
|
744
865
|
'expand-change': [expandedKeys: DataTableRowKey[], row?: T, expanded?: boolean];
|
|
745
866
|
}
|
|
746
|
-
interface TableSelectionEvents<T extends DataRecord = DataRecord> {
|
|
867
|
+
interface TableSelectionEvents<T extends object = DataRecord, C = DataRecord> {
|
|
747
868
|
'selection-change': [checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]>];
|
|
748
|
-
'child-selection-change': [parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows:
|
|
869
|
+
'child-selection-change': [parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]];
|
|
749
870
|
'parent-child-link-change': [parentKey: DataTableRowKey, shouldSelect: boolean];
|
|
750
871
|
}
|
|
751
|
-
interface TableEditEvents<T extends
|
|
872
|
+
interface TableEditEvents<T extends object = DataRecord> {
|
|
752
873
|
'update:data': [data: T[]];
|
|
753
874
|
save: [rowData: T, rowIndex: number, columnKey?: string];
|
|
754
875
|
cancel: [rowData: T, rowIndex: number];
|
|
876
|
+
'edit-error': [error: unknown];
|
|
755
877
|
}
|
|
756
|
-
interface TableEmits<T extends DataRecord = DataRecord> extends TableExpandEvents<T>, TableSelectionEvents<T>, TableEditEvents<T> {
|
|
878
|
+
interface TableEmits<T extends object = DataRecord, C = DataRecord> extends TableExpandEvents<T>, TableSelectionEvents<T, C>, TableEditEvents<T> {
|
|
757
879
|
'pagination-change': [page: number, pageSize: number];
|
|
758
880
|
'row-delete': [deletedRow: T, index: number];
|
|
881
|
+
'batch-action-error': [error: unknown, actionKey: string];
|
|
882
|
+
'row-key-error': [issues: TableRowKeyIssue<T>[]];
|
|
883
|
+
}
|
|
884
|
+
interface TableEditMethods<T extends object = DataRecord> {
|
|
885
|
+
startEdit: (rowKey: DataTableRowKey, columnKey?: string) => void;
|
|
886
|
+
cancelEdit: () => void;
|
|
887
|
+
saveEdit: () => Promise<void>;
|
|
888
|
+
isEditing: (rowKey: DataTableRowKey, columnKey?: string) => boolean;
|
|
889
|
+
getEditingData: () => T | null;
|
|
890
|
+
}
|
|
891
|
+
interface TableExpandMethods {
|
|
892
|
+
expandRow: (rowKey: DataTableRowKey) => Promise<void>;
|
|
893
|
+
collapseRow: (rowKey: DataTableRowKey) => void;
|
|
894
|
+
toggleExpand: (rowKey: DataTableRowKey) => Promise<void>;
|
|
895
|
+
expandAll: () => Promise<void>;
|
|
896
|
+
collapseAll: () => void;
|
|
897
|
+
isExpanded: (rowKey: DataTableRowKey) => boolean;
|
|
898
|
+
}
|
|
899
|
+
interface TableSelectionMethods<T extends object = DataRecord, C = DataRecord> {
|
|
900
|
+
selectRow: (rowKey: DataTableRowKey) => boolean | void;
|
|
901
|
+
unselectRow: (rowKey: DataTableRowKey) => void;
|
|
902
|
+
selectAll: () => void;
|
|
903
|
+
clearSelection: () => void;
|
|
904
|
+
isRowSelected: (rowKey: DataTableRowKey) => boolean;
|
|
905
|
+
getSelectedRows: () => T[];
|
|
906
|
+
selectChildRow: (parentKey: DataTableRowKey, childKey: DataTableRowKey) => void;
|
|
907
|
+
unselectChildRow: (parentKey: DataTableRowKey, childKey: DataTableRowKey) => void;
|
|
908
|
+
selectAllChildren: (parentKey: DataTableRowKey) => void;
|
|
909
|
+
clearChildrenSelection: (parentKey: DataTableRowKey) => void;
|
|
910
|
+
getChildSelectedRows: (parentKey: DataTableRowKey) => C[];
|
|
911
|
+
clearAllSelections: () => void;
|
|
912
|
+
}
|
|
913
|
+
interface TableDynamicRowsMethods<T extends object = DataRecord> {
|
|
914
|
+
addRow: () => void;
|
|
915
|
+
insertRow: () => void;
|
|
916
|
+
deleteRow: () => void;
|
|
917
|
+
copyRow: () => void;
|
|
918
|
+
moveRowUp: () => void;
|
|
919
|
+
moveRowDown: () => void;
|
|
920
|
+
clearRowSelection: () => void;
|
|
921
|
+
getSelectedRowData: () => T | null;
|
|
922
|
+
printTable: (elementRef?: HTMLElement) => Promise<void>;
|
|
923
|
+
downloadTableScreenshot: (elementRef?: HTMLElement, filename?: string) => Promise<void>;
|
|
924
|
+
}
|
|
925
|
+
interface TablePaginationMethods {
|
|
926
|
+
resetToFirstPage: () => void;
|
|
927
|
+
getTotalPages: () => number;
|
|
759
928
|
}
|
|
760
|
-
interface
|
|
929
|
+
interface TableInstance<T extends object = DataRecord, C = DataRecord> extends TableEditMethods<T>, TableExpandMethods, TableSelectionMethods<T, C>, TableDynamicRowsMethods<T>, TablePaginationMethods {}
|
|
930
|
+
interface UseTableExpandOptions<T extends object = DataRecord, C = DataRecord> extends ExpandConfig<T, C>, SelectionConfig<T, C> {
|
|
761
931
|
data: Ref<T[]> | ComputedRef<T[]>;
|
|
762
932
|
rowKey: (row: T) => DataTableRowKey;
|
|
763
933
|
childRowKey?: (child: C) => DataTableRowKey;
|
|
@@ -766,7 +936,7 @@ interface UseTableExpandOptions<T extends DataRecord = DataRecord, C = any> exte
|
|
|
766
936
|
onSelectionChange?: (checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]>) => void;
|
|
767
937
|
onChildSelectionChange?: (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]) => void;
|
|
768
938
|
}
|
|
769
|
-
interface UseTableExpandReturn<T extends
|
|
939
|
+
interface UseTableExpandReturn<T extends object = DataRecord, C = DataRecord> {
|
|
770
940
|
expandedKeys: Ref<DataTableRowKey[]>;
|
|
771
941
|
checkedKeys: Ref<DataTableRowKey[]>;
|
|
772
942
|
childSelections: Ref<Map<DataTableRowKey, DataTableRowKey[]>>;
|
|
@@ -782,7 +952,17 @@ interface UseTableExpandReturn<T extends DataRecord = DataRecord, C = any> {
|
|
|
782
952
|
clearSelection: () => void;
|
|
783
953
|
clearAllSelections: () => void;
|
|
784
954
|
handleSelectionChange: (keys: DataTableRowKey[]) => void;
|
|
785
|
-
getTableColumns: (originalColumns: TableColumn<T>[]) =>
|
|
955
|
+
getTableColumns: (originalColumns: TableColumn<T>[]) => unknown[];
|
|
956
|
+
}
|
|
957
|
+
/** 行操作按钮配置 */
|
|
958
|
+
interface RowAction<T extends object = DataRecord> {
|
|
959
|
+
label: string;
|
|
960
|
+
icon?: string;
|
|
961
|
+
type?: ButtonType;
|
|
962
|
+
disabled?: boolean | ((row: T, index: number) => boolean);
|
|
963
|
+
show?: boolean | ((row: T, index: number) => boolean);
|
|
964
|
+
onClick?: (row: T, index: number) => void | Promise<void>;
|
|
965
|
+
tooltip?: string;
|
|
786
966
|
}
|
|
787
967
|
/**
|
|
788
968
|
* 展平 TableColumn 联合类型以便直接访问 key/title/visible 等属性。
|
|
@@ -803,7 +983,7 @@ type __VLS_Props = {
|
|
|
803
983
|
/** 列配置(crud 模式下可省略) */columns?: TableColumn[]; /** 数据源(crud 模式下可省略) */
|
|
804
984
|
data?: MaybeRefLike<DataRecord[]>; /** 加载状态 */
|
|
805
985
|
loading?: MaybeRefLike<boolean>; /** 行唯一键 */
|
|
806
|
-
rowKey?: (row: DataRecord) => DataTableRowKey
|
|
986
|
+
rowKey?: string | ((row: DataRecord) => DataTableRowKey); /** 统一功能配置(edit / selection / expand / pagination / dynamicRows / toolbar / display) */
|
|
807
987
|
config?: TableConfig; /** CRUD 绑定 — 传入 useTableCrud() 的返回值,自动接管 data/columns/loading/actions/pagination/events */
|
|
808
988
|
crud?: CrudBinding;
|
|
809
989
|
};
|
|
@@ -818,48 +998,71 @@ type __VLS_Slots = {} & {
|
|
|
818
998
|
error?: (props: typeof __VLS_52) => any;
|
|
819
999
|
};
|
|
820
1000
|
declare const __VLS_base: vue.DefineComponent<__VLS_Props, {
|
|
821
|
-
startEdit: (rowKey: DataTableRowKey
|
|
1001
|
+
startEdit: (rowKey: DataTableRowKey, columnKey?: string) => void;
|
|
1002
|
+
cancelEdit: () => void;
|
|
1003
|
+
saveEdit: () => Promise<void>;
|
|
1004
|
+
expandRow: (rowKey: DataTableRowKey) => Promise<void>;
|
|
1005
|
+
collapseRow: (rowKey: DataTableRowKey) => void;
|
|
1006
|
+
toggleExpand: (rowKey: DataTableRowKey) => Promise<void>;
|
|
822
1007
|
expandAll: () => Promise<void>;
|
|
823
1008
|
collapseAll: () => void;
|
|
1009
|
+
selectRow: (rowKey: DataTableRowKey) => boolean;
|
|
1010
|
+
unselectRow: (rowKey: DataTableRowKey) => void;
|
|
824
1011
|
selectAll: () => void;
|
|
825
1012
|
clearSelection: () => void;
|
|
1013
|
+
isRowSelected: (rowKey: DataTableRowKey) => boolean;
|
|
826
1014
|
clearAllSelections: () => void;
|
|
1015
|
+
selectChildRow: (parentKey: DataTableRowKey, childKey: DataTableRowKey) => void;
|
|
1016
|
+
unselectChildRow: (parentKey: DataTableRowKey, childKey: DataTableRowKey) => void;
|
|
1017
|
+
selectAllChildren: (parentKey: DataTableRowKey) => void;
|
|
1018
|
+
clearChildrenSelection: (parentKey: DataTableRowKey) => void;
|
|
1019
|
+
getChildSelectedRows: (parentKey: DataTableRowKey) => DataRecord[];
|
|
1020
|
+
addRow: () => void;
|
|
1021
|
+
insertRow: () => void;
|
|
1022
|
+
deleteRow: () => void;
|
|
1023
|
+
copyRow: () => void;
|
|
1024
|
+
moveRowUp: () => void;
|
|
1025
|
+
moveRowDown: () => void;
|
|
827
1026
|
clearRowSelection: () => void;
|
|
1027
|
+
getSelectedRowData: () => DataRecord | null;
|
|
1028
|
+
printTable: (elementRef?: HTMLElement) => Promise<void>;
|
|
1029
|
+
downloadTableScreenshot: (elementRef?: HTMLElement, filename?: string) => Promise<void>;
|
|
828
1030
|
resetToFirstPage: () => void;
|
|
1031
|
+
getTotalPages: () => number;
|
|
829
1032
|
getSelectedRows: () => DataRecord[];
|
|
830
|
-
getEditingData: () => DataRecord |
|
|
831
|
-
isEditing: (rowKey: DataTableRowKey
|
|
832
|
-
isExpanded: (rowKey: DataTableRowKey
|
|
1033
|
+
getEditingData: () => DataRecord | null | undefined;
|
|
1034
|
+
isEditing: (rowKey: DataTableRowKey, columnKey?: string) => boolean;
|
|
1035
|
+
isExpanded: (rowKey: DataTableRowKey) => boolean;
|
|
833
1036
|
getManager: () => {
|
|
834
1037
|
edit: {
|
|
835
|
-
start(rowKey: DataTableRowKey
|
|
1038
|
+
start(rowKey: DataTableRowKey, columnKey?: string): void;
|
|
836
1039
|
cancel(): void;
|
|
837
1040
|
save(): Promise<void>;
|
|
838
|
-
isEditing(rowKey: DataTableRowKey
|
|
839
|
-
getEditingData(): DataRecord |
|
|
1041
|
+
isEditing(rowKey: DataTableRowKey, columnKey?: string): boolean;
|
|
1042
|
+
getEditingData(): DataRecord | null | undefined;
|
|
840
1043
|
};
|
|
841
1044
|
expand: {
|
|
842
|
-
row(rowKey: DataTableRowKey
|
|
843
|
-
collapse(rowKey: DataTableRowKey
|
|
844
|
-
toggle(rowKey: DataTableRowKey
|
|
1045
|
+
row(rowKey: DataTableRowKey): Promise<void>;
|
|
1046
|
+
collapse(rowKey: DataTableRowKey): void;
|
|
1047
|
+
toggle(rowKey: DataTableRowKey): Promise<void>;
|
|
845
1048
|
all(): Promise<void>;
|
|
846
1049
|
collapseAll(): void;
|
|
847
|
-
isExpanded(rowKey: DataTableRowKey
|
|
1050
|
+
isExpanded(rowKey: DataTableRowKey): boolean;
|
|
848
1051
|
};
|
|
849
1052
|
selection: {
|
|
850
|
-
select(rowKey: DataTableRowKey
|
|
851
|
-
unselect(rowKey: DataTableRowKey
|
|
1053
|
+
select(rowKey: DataTableRowKey): void;
|
|
1054
|
+
unselect(rowKey: DataTableRowKey): void;
|
|
852
1055
|
all(): void;
|
|
853
1056
|
clear(): void;
|
|
854
|
-
isSelected(rowKey: DataTableRowKey
|
|
1057
|
+
isSelected(rowKey: DataTableRowKey): boolean;
|
|
855
1058
|
getSelected(): DataRecord[];
|
|
856
1059
|
};
|
|
857
1060
|
childSelection: {
|
|
858
|
-
select(parentKey: DataTableRowKey
|
|
859
|
-
unselect(parentKey: DataTableRowKey
|
|
860
|
-
selectAll(parentKey: DataTableRowKey
|
|
861
|
-
clear(parentKey: DataTableRowKey
|
|
862
|
-
getSelected(parentKey: DataTableRowKey
|
|
1061
|
+
select(parentKey: DataTableRowKey, childKey: DataTableRowKey): void;
|
|
1062
|
+
unselect(parentKey: DataTableRowKey, childKey: DataTableRowKey): void;
|
|
1063
|
+
selectAll(parentKey: DataTableRowKey): void;
|
|
1064
|
+
clear(parentKey: DataTableRowKey): void;
|
|
1065
|
+
getSelected(parentKey: DataTableRowKey): DataRecord[];
|
|
863
1066
|
};
|
|
864
1067
|
dynamicRows: {
|
|
865
1068
|
add(): void;
|
|
@@ -877,26 +1080,32 @@ declare const __VLS_base: vue.DefineComponent<__VLS_Props, {
|
|
|
877
1080
|
}; /** 导出数据 */
|
|
878
1081
|
exportData: () => Promise<void>; /** 跨页选择 */
|
|
879
1082
|
crossPageSelection: {
|
|
880
|
-
|
|
1083
|
+
enabled: vue.ComputedRef<boolean>;
|
|
1084
|
+
selectedKeys: vue.Ref<Set<DataTableRowKey>, Set<DataTableRowKey>>;
|
|
881
1085
|
selectedCount: vue.ComputedRef<number>;
|
|
1086
|
+
select: (key: DataTableRowKey) => boolean;
|
|
1087
|
+
unselect: (key: DataTableRowKey) => void;
|
|
882
1088
|
selectAll: () => void;
|
|
883
1089
|
clearAll: () => void;
|
|
884
1090
|
getSelectedRows: () => DataRecord[];
|
|
885
|
-
}
|
|
1091
|
+
};
|
|
886
1092
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
887
1093
|
save: (rowData: DataRecord, rowIndex: number, columnKey?: string | undefined) => any;
|
|
888
1094
|
cancel: (rowData: DataRecord, rowIndex: number) => any;
|
|
889
1095
|
"pagination-change": (...args: unknown[]) => any;
|
|
890
1096
|
"row-delete": (...args: unknown[]) => any;
|
|
891
|
-
"
|
|
892
|
-
"
|
|
893
|
-
"
|
|
894
|
-
"
|
|
1097
|
+
"batch-action-error": (error: unknown, actionKey: string) => any;
|
|
1098
|
+
"row-key-error": (issues: TableRowKeyIssue<DataRecord>[]) => any;
|
|
1099
|
+
"expand-change": (expandedKeys: DataTableRowKey[], row?: DataRecord | undefined, expanded?: boolean | undefined) => any;
|
|
1100
|
+
"selection-change": (checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => any;
|
|
1101
|
+
"child-selection-change": (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => any;
|
|
1102
|
+
"parent-child-link-change": (parentKey: DataTableRowKey, shouldSelect: boolean) => any;
|
|
895
1103
|
"update:data": (data: DataRecord[]) => any;
|
|
1104
|
+
"edit-error": (error: unknown) => any;
|
|
896
1105
|
"row-add": (newRow: DataRecord) => any;
|
|
897
1106
|
"row-copy": (originalRow: DataRecord, newRow: DataRecord) => any;
|
|
898
1107
|
"row-move": (row: DataRecord, fromIndex: number, toIndex: number) => any;
|
|
899
|
-
"row-selection-change": (selectedKey: DataTableRowKey
|
|
1108
|
+
"row-selection-change": (selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => any;
|
|
900
1109
|
"view-detail": (data: DataRecord) => any;
|
|
901
1110
|
"column-change": (columns: TableColumn[]) => any;
|
|
902
1111
|
}, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
@@ -904,20 +1113,23 @@ declare const __VLS_base: vue.DefineComponent<__VLS_Props, {
|
|
|
904
1113
|
onCancel?: ((rowData: DataRecord, rowIndex: number) => any) | undefined;
|
|
905
1114
|
"onPagination-change"?: ((...args: unknown[]) => any) | undefined;
|
|
906
1115
|
"onRow-delete"?: ((...args: unknown[]) => any) | undefined;
|
|
907
|
-
"
|
|
908
|
-
"
|
|
909
|
-
"
|
|
910
|
-
"
|
|
1116
|
+
"onBatch-action-error"?: ((error: unknown, actionKey: string) => any) | undefined;
|
|
1117
|
+
"onRow-key-error"?: ((issues: TableRowKeyIssue<DataRecord>[]) => any) | undefined;
|
|
1118
|
+
"onExpand-change"?: ((expandedKeys: DataTableRowKey[], row?: DataRecord | undefined, expanded?: boolean | undefined) => any) | undefined;
|
|
1119
|
+
"onSelection-change"?: ((checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => any) | undefined;
|
|
1120
|
+
"onChild-selection-change"?: ((parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => any) | undefined;
|
|
1121
|
+
"onParent-child-link-change"?: ((parentKey: DataTableRowKey, shouldSelect: boolean) => any) | undefined;
|
|
911
1122
|
"onUpdate:data"?: ((data: DataRecord[]) => any) | undefined;
|
|
1123
|
+
"onEdit-error"?: ((error: unknown) => any) | undefined;
|
|
912
1124
|
"onRow-add"?: ((newRow: DataRecord) => any) | undefined;
|
|
913
1125
|
"onRow-copy"?: ((originalRow: DataRecord, newRow: DataRecord) => any) | undefined;
|
|
914
1126
|
"onRow-move"?: ((row: DataRecord, fromIndex: number, toIndex: number) => any) | undefined;
|
|
915
|
-
"onRow-selection-change"?: ((selectedKey: DataTableRowKey
|
|
1127
|
+
"onRow-selection-change"?: ((selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => any) | undefined;
|
|
916
1128
|
"onView-detail"?: ((data: DataRecord) => any) | undefined;
|
|
917
1129
|
"onColumn-change"?: ((columns: TableColumn[]) => any) | undefined;
|
|
918
1130
|
}>, {
|
|
919
1131
|
config: TableConfig;
|
|
920
|
-
rowKey: (row: DataRecord) => DataTableRowKey
|
|
1132
|
+
rowKey: string | ((row: DataRecord) => DataTableRowKey);
|
|
921
1133
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
922
1134
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
923
1135
|
declare const _default: typeof __VLS_export;
|
|
@@ -927,22 +1139,30 @@ type __VLS_WithSlots<T, S> = T & {
|
|
|
927
1139
|
};
|
|
928
1140
|
};
|
|
929
1141
|
//#endregion
|
|
1142
|
+
//#region src/components/C_Table/helpers.d.ts
|
|
1143
|
+
/** Type-safe identity helper that rejects misspelled business field keys. */
|
|
1144
|
+
declare function defineTableColumns<T extends object>(columns: StrictTableColumn<T>[]): StrictTableColumn<T>[];
|
|
1145
|
+
/** Preserve row types across edit, action, summary and batch callbacks. */
|
|
1146
|
+
declare function defineTableConfig<T extends object>(config: TableConfig<T>): TableConfig<T>;
|
|
1147
|
+
/** Find missing and duplicate row keys before stateful table features consume them. */
|
|
1148
|
+
declare function validateTableRowKeys<T extends object>(data: readonly T[], rowKey: (row: T) => DataTableRowKey | null | undefined): TableRowKeyIssue<T>[];
|
|
1149
|
+
//#endregion
|
|
930
1150
|
//#region src/components/C_Table/composables/useTableColumns.d.ts
|
|
931
1151
|
/** useTableColumns 中对 tableManager 的最小依赖接口 */
|
|
932
1152
|
interface TableManagerRef {
|
|
933
1153
|
editStates: {
|
|
934
1154
|
cellEdit: {
|
|
935
|
-
isEditingCell: (rowKey: DataTableRowKey
|
|
936
|
-
getEditingCellValue: (rowKey: DataTableRowKey
|
|
937
|
-
updateEditingCellValue: (rowKey: DataTableRowKey
|
|
1155
|
+
isEditingCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
|
|
1156
|
+
getEditingCellValue: (rowKey: DataTableRowKey, columnKey: string) => unknown;
|
|
1157
|
+
updateEditingCellValue: (rowKey: DataTableRowKey, columnKey: string, value: unknown) => void;
|
|
938
1158
|
saveEditCell: () => Promise<unknown>;
|
|
939
1159
|
cancelEditCell: () => void;
|
|
940
|
-
startEditCell: (rowKey: DataTableRowKey
|
|
1160
|
+
startEditCell: (rowKey: DataTableRowKey, columnKey: string) => void;
|
|
941
1161
|
};
|
|
942
1162
|
rowEdit: {
|
|
943
|
-
isEditingRow: (rowKey: DataTableRowKey
|
|
944
|
-
getEditingRowData: (rowKey: DataTableRowKey
|
|
945
|
-
updateEditingRowData: (rowKey: DataTableRowKey
|
|
1163
|
+
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
1164
|
+
getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
|
|
1165
|
+
updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
|
|
946
1166
|
};
|
|
947
1167
|
};
|
|
948
1168
|
dynamicRowsState?: {
|
|
@@ -965,7 +1185,7 @@ interface UseTableColumnsOptions {
|
|
|
965
1185
|
/** 用户设定的 scrollX */
|
|
966
1186
|
scrollX?: number | string;
|
|
967
1187
|
/** 行键获取函数 */
|
|
968
|
-
rowKey: (row: DataRecord) => DataTableRowKey
|
|
1188
|
+
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
969
1189
|
/** 表格管理器 */
|
|
970
1190
|
tableManager: TableManagerRef;
|
|
971
1191
|
/** 操作列渲染函数 */
|
|
@@ -976,6 +1196,8 @@ interface UseTableColumnsOptions {
|
|
|
976
1196
|
isRowEditMode: () => boolean;
|
|
977
1197
|
isCellEditMode: () => boolean;
|
|
978
1198
|
}>;
|
|
1199
|
+
/** 是否渲染操作列 */
|
|
1200
|
+
showActionsColumn: ComputedRef<boolean>;
|
|
979
1201
|
}
|
|
980
1202
|
interface UseTableColumnsReturn {
|
|
981
1203
|
reactiveColumns: Ref<TableColumn[]>;
|
|
@@ -1000,9 +1222,9 @@ interface RowValidationError {
|
|
|
1000
1222
|
*/
|
|
1001
1223
|
interface RowEditOptions {
|
|
1002
1224
|
data: () => DataRecord[];
|
|
1003
|
-
rowKey: (row: DataRecord) => DataTableRowKey
|
|
1225
|
+
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
1004
1226
|
onSave?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
|
|
1005
|
-
onCancel?: (rowData: DataRecord, rowIndex: number) => void
|
|
1227
|
+
onCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
|
|
1006
1228
|
/** 列配置(用于提取校验规则) */
|
|
1007
1229
|
columns?: () => TableColumn[];
|
|
1008
1230
|
}
|
|
@@ -1010,9 +1232,11 @@ interface RowEditOptions {
|
|
|
1010
1232
|
* 可编辑行组合函数,提供表格整行的编辑功能
|
|
1011
1233
|
*/
|
|
1012
1234
|
declare function useRowEdit(options: RowEditOptions): {
|
|
1013
|
-
editingRowKey: vue.Ref<DataTableRowKey
|
|
1014
|
-
|
|
1015
|
-
|
|
1235
|
+
editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
|
|
1236
|
+
editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
|
|
1237
|
+
isSaving: vue.Ref<boolean, boolean>;
|
|
1238
|
+
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
1239
|
+
startEditRow: (rowKey: DataTableRowKey) => boolean;
|
|
1016
1240
|
cancelEditRow: () => Promise<void>;
|
|
1017
1241
|
saveEditRow: () => Promise<{
|
|
1018
1242
|
updatedData: DataRecord;
|
|
@@ -1026,9 +1250,9 @@ declare function useRowEdit(options: RowEditOptions): {
|
|
|
1026
1250
|
field: string;
|
|
1027
1251
|
message: string;
|
|
1028
1252
|
}[]>;
|
|
1029
|
-
getEditingRowData: (rowKey: DataTableRowKey
|
|
1030
|
-
updateEditingRowData: (rowKey: DataTableRowKey
|
|
1031
|
-
findRowData: (rowKey: DataTableRowKey
|
|
1253
|
+
getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
|
|
1254
|
+
updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
|
|
1255
|
+
findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
|
|
1032
1256
|
};
|
|
1033
1257
|
//#endregion
|
|
1034
1258
|
//#region src/components/C_Table/composables/useTableManager.d.ts
|
|
@@ -1036,18 +1260,24 @@ declare function useRowEdit(options: RowEditOptions): {
|
|
|
1036
1260
|
* 表格管理器配置接口
|
|
1037
1261
|
*/
|
|
1038
1262
|
interface TableManagerConfig {
|
|
1263
|
+
feedback?: ComponentFeedback;
|
|
1264
|
+
locale?: ComponentLocale;
|
|
1039
1265
|
editable: boolean;
|
|
1040
1266
|
editMode: string;
|
|
1041
1267
|
showRowActions: boolean;
|
|
1042
1268
|
modalTitle: string;
|
|
1043
1269
|
modalWidth: number;
|
|
1270
|
+
onEditSave?: (rowData: DataRecord, rowIndex: number, columnKey?: string) => void | Promise<void>;
|
|
1271
|
+
onEditCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
|
|
1272
|
+
onEditError?: (error: unknown) => void;
|
|
1044
1273
|
expandable: boolean;
|
|
1045
|
-
defaultExpandedKeys?: DataTableRowKey
|
|
1274
|
+
defaultExpandedKeys?: DataTableRowKey[];
|
|
1046
1275
|
onLoadExpandData?: (row: DataRecord) => Promise<any[]> | any[];
|
|
1276
|
+
onExpandError?: (error: unknown, row: DataRecord) => void;
|
|
1047
1277
|
renderExpandContent?: unknown;
|
|
1048
1278
|
rowExpandable?: (row: DataRecord) => boolean;
|
|
1049
1279
|
enableSelection: boolean;
|
|
1050
|
-
defaultCheckedKeys?: DataTableRowKey
|
|
1280
|
+
defaultCheckedKeys?: DataTableRowKey[];
|
|
1051
1281
|
rowCheckable?: (row: DataRecord) => boolean;
|
|
1052
1282
|
maxSelection?: number;
|
|
1053
1283
|
enableChildSelection: boolean;
|
|
@@ -1060,10 +1290,10 @@ interface TableManagerConfig {
|
|
|
1060
1290
|
* 表格管理器参数接口
|
|
1061
1291
|
*/
|
|
1062
1292
|
interface TableManagerParams {
|
|
1063
|
-
config: TableManagerConfig
|
|
1293
|
+
config: MaybeRefOrGetter<TableManagerConfig>;
|
|
1064
1294
|
data: () => DataRecord[];
|
|
1065
|
-
rowKey: (row: DataRecord) => DataTableRowKey
|
|
1066
|
-
emit: (...args: any[]) =>
|
|
1295
|
+
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
1296
|
+
emit: (...args: any[]) => unknown;
|
|
1067
1297
|
/** 列配置(用于编辑校验) */
|
|
1068
1298
|
columns?: () => TableColumn[];
|
|
1069
1299
|
}
|
|
@@ -1072,12 +1302,12 @@ interface TableManagerParams {
|
|
|
1072
1302
|
*/
|
|
1073
1303
|
interface EventHandlers {
|
|
1074
1304
|
onSave: (rowData: DataRecord, rowIndex: number, columnKey?: string) => Promise<void>;
|
|
1075
|
-
onCancel: (rowData: DataRecord, rowIndex: number) => void
|
|
1076
|
-
onExpandChange: (keys: DataTableRowKey
|
|
1077
|
-
onSelectionChange: (checkedKeys: DataTableRowKey
|
|
1078
|
-
onChildSelectionChange: (parentKey: DataTableRowKey
|
|
1305
|
+
onCancel: (rowData: DataRecord, rowIndex: number) => Promise<void>;
|
|
1306
|
+
onExpandChange: (keys: DataTableRowKey[], row?: DataRecord, expanded?: boolean) => void;
|
|
1307
|
+
onSelectionChange: (checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections: Map<DataTableRowKey, DataTableRowKey[]>) => void;
|
|
1308
|
+
onChildSelectionChange: (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => void;
|
|
1079
1309
|
onRowChange: (data: DataRecord[]) => void;
|
|
1080
|
-
onRowSelectionChange: (selectedKey: DataTableRowKey
|
|
1310
|
+
onRowSelectionChange: (selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => void;
|
|
1081
1311
|
onRowAdd: (newRow: DataRecord) => void;
|
|
1082
1312
|
onRowDelete: (deletedRow: DataRecord, index: number) => void;
|
|
1083
1313
|
onRowCopy: (originalRow: DataRecord, newRow: DataRecord) => void;
|
|
@@ -1089,9 +1319,11 @@ interface EventHandlers {
|
|
|
1089
1319
|
declare function useTableManager(params: TableManagerParams): {
|
|
1090
1320
|
editStates: {
|
|
1091
1321
|
rowEdit: {
|
|
1092
|
-
editingRowKey: vue.Ref<DataTableRowKey
|
|
1093
|
-
|
|
1094
|
-
|
|
1322
|
+
editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
|
|
1323
|
+
editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
|
|
1324
|
+
isSaving: vue.Ref<boolean, boolean>;
|
|
1325
|
+
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
1326
|
+
startEditRow: (rowKey: DataTableRowKey) => boolean;
|
|
1095
1327
|
cancelEditRow: () => Promise<void>;
|
|
1096
1328
|
saveEditRow: () => Promise<{
|
|
1097
1329
|
updatedData: DataRecord;
|
|
@@ -1105,23 +1337,25 @@ declare function useTableManager(params: TableManagerParams): {
|
|
|
1105
1337
|
field: string;
|
|
1106
1338
|
message: string;
|
|
1107
1339
|
}[]>;
|
|
1108
|
-
getEditingRowData: (rowKey: DataTableRowKey
|
|
1109
|
-
updateEditingRowData: (rowKey: DataTableRowKey
|
|
1110
|
-
findRowData: (rowKey: DataTableRowKey
|
|
1340
|
+
getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
|
|
1341
|
+
updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
|
|
1342
|
+
findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
|
|
1111
1343
|
};
|
|
1112
1344
|
cellEdit: {
|
|
1113
1345
|
editingCell: vue.Ref<{
|
|
1114
|
-
rowKey: DataTableRowKey
|
|
1346
|
+
rowKey: DataTableRowKey | null;
|
|
1115
1347
|
columnKey: string | null;
|
|
1116
1348
|
}, {
|
|
1117
|
-
rowKey: DataTableRowKey
|
|
1349
|
+
rowKey: DataTableRowKey | null;
|
|
1118
1350
|
columnKey: string | null;
|
|
1119
1351
|
} | {
|
|
1120
|
-
rowKey: DataTableRowKey
|
|
1352
|
+
rowKey: DataTableRowKey | null;
|
|
1121
1353
|
columnKey: string | null;
|
|
1122
1354
|
}>;
|
|
1123
|
-
|
|
1124
|
-
|
|
1355
|
+
editingData: vue.Ref<Record<string, unknown>, Record<string, unknown>>;
|
|
1356
|
+
isSaving: vue.Ref<boolean, boolean>;
|
|
1357
|
+
isEditingCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
|
|
1358
|
+
startEditCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
|
|
1125
1359
|
saveEditCell: () => Promise<{
|
|
1126
1360
|
updatedData: {
|
|
1127
1361
|
[x: string]: unknown;
|
|
@@ -1132,56 +1366,60 @@ declare function useTableManager(params: TableManagerParams): {
|
|
|
1132
1366
|
cancelEditCell: () => void;
|
|
1133
1367
|
validateCell: () => Promise<boolean>;
|
|
1134
1368
|
cellValidationError: vue.Ref<string | null, string | null>;
|
|
1135
|
-
getEditingCellValue: (rowKey: DataTableRowKey
|
|
1136
|
-
updateEditingCellValue: (rowKey: DataTableRowKey
|
|
1137
|
-
findRowData: (rowKey: DataTableRowKey
|
|
1369
|
+
getEditingCellValue: (rowKey: DataTableRowKey, columnKey: string) => unknown;
|
|
1370
|
+
updateEditingCellValue: (rowKey: DataTableRowKey, columnKey: string, value: unknown) => void;
|
|
1371
|
+
findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
|
|
1138
1372
|
};
|
|
1139
1373
|
modalEdit: {
|
|
1140
1374
|
isModalVisible: vue.Ref<boolean, boolean>;
|
|
1141
|
-
|
|
1142
|
-
|
|
1375
|
+
isSaving: vue.Ref<boolean, boolean>;
|
|
1376
|
+
editingData: vue.Ref<DataRecord, DataRecord>;
|
|
1377
|
+
editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
|
|
1143
1378
|
editingRowIndex: vue.ComputedRef<number>;
|
|
1144
|
-
startEdit: (rowKey: DataTableRowKey
|
|
1145
|
-
saveEdit: (formData?:
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1379
|
+
startEdit: (rowKey: DataTableRowKey, sourceData?: DataRecord | undefined) => boolean;
|
|
1380
|
+
saveEdit: (formData?: DataRecord | undefined) => Promise<{
|
|
1381
|
+
updatedData: any;
|
|
1382
|
+
rowIndex: number;
|
|
1383
|
+
} | undefined>;
|
|
1384
|
+
cancelEdit: () => Promise<boolean>;
|
|
1385
|
+
updateEditingData: (data: DataRecord) => boolean;
|
|
1386
|
+
resetEditingState: () => boolean;
|
|
1387
|
+
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
1388
|
+
getEditingRowData: (rowKey: DataTableRowKey) => any;
|
|
1151
1389
|
};
|
|
1152
1390
|
};
|
|
1153
|
-
expandState: UseTableExpandReturn<DataRecord, DataRecord
|
|
1154
|
-
dynamicRowsState: DynamicRowsReturn<DataRecord
|
|
1391
|
+
expandState: UseTableExpandReturn<DataRecord, DataRecord>;
|
|
1392
|
+
dynamicRowsState: DynamicRowsReturn<DataRecord>;
|
|
1155
1393
|
stateManager: {
|
|
1156
1394
|
edit: {
|
|
1157
|
-
/** 开始编辑 */start(rowKey: DataTableRowKey
|
|
1395
|
+
/** 开始编辑 */start(rowKey: DataTableRowKey, columnKey?: string): void; /** 取消编辑 */
|
|
1158
1396
|
cancel(): void; /** 保存编辑 */
|
|
1159
1397
|
save(): Promise<void>; /** 是否正在编辑 */
|
|
1160
|
-
isEditing(rowKey: DataTableRowKey
|
|
1161
|
-
getEditingData(): DataRecord |
|
|
1398
|
+
isEditing(rowKey: DataTableRowKey, columnKey?: string): boolean; /** 获取当前编辑数据 */
|
|
1399
|
+
getEditingData(): DataRecord | null | undefined;
|
|
1162
1400
|
};
|
|
1163
1401
|
expand: {
|
|
1164
|
-
/** 展开行 */row(rowKey: DataTableRowKey
|
|
1165
|
-
collapse(rowKey: DataTableRowKey
|
|
1166
|
-
toggle(rowKey: DataTableRowKey
|
|
1402
|
+
/** 展开行 */row(rowKey: DataTableRowKey): Promise<void>; /** 折叠行 */
|
|
1403
|
+
collapse(rowKey: DataTableRowKey): void; /** 展开折叠切换 */
|
|
1404
|
+
toggle(rowKey: DataTableRowKey): Promise<void>; /** 展开所有行 */
|
|
1167
1405
|
all(): Promise<void>; /** 折叠所有行 */
|
|
1168
1406
|
collapseAll(): void; /** 检查行是否已展开 */
|
|
1169
|
-
isExpanded(rowKey: DataTableRowKey
|
|
1407
|
+
isExpanded(rowKey: DataTableRowKey): boolean;
|
|
1170
1408
|
};
|
|
1171
1409
|
selection: {
|
|
1172
|
-
/** 选择指定行 */select(rowKey: DataTableRowKey
|
|
1173
|
-
unselect(rowKey: DataTableRowKey
|
|
1410
|
+
/** 选择指定行 */select(rowKey: DataTableRowKey): void; /** 取消选择指定行 */
|
|
1411
|
+
unselect(rowKey: DataTableRowKey): void; /** 选择所有行 */
|
|
1174
1412
|
all(): void; /** 清除所有行选择 */
|
|
1175
1413
|
clear(): void; /** 检查行是否已选择 */
|
|
1176
|
-
isSelected(rowKey: DataTableRowKey
|
|
1414
|
+
isSelected(rowKey: DataTableRowKey): boolean; /** 获取所有已选择的行数据 */
|
|
1177
1415
|
getSelected(): DataRecord[];
|
|
1178
1416
|
};
|
|
1179
1417
|
childSelection: {
|
|
1180
|
-
/** 选择指定父行下的子行 */select(parentKey: DataTableRowKey
|
|
1181
|
-
unselect(parentKey: DataTableRowKey
|
|
1182
|
-
selectAll(parentKey: DataTableRowKey
|
|
1183
|
-
clear(parentKey: DataTableRowKey
|
|
1184
|
-
getSelected(parentKey: DataTableRowKey
|
|
1418
|
+
/** 选择指定父行下的子行 */select(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 取消选择指定父行下的子行 */
|
|
1419
|
+
unselect(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 选择指定父行下的所有子行 */
|
|
1420
|
+
selectAll(parentKey: DataTableRowKey): void; /** 清除指定父行下的所有子行选择 */
|
|
1421
|
+
clear(parentKey: DataTableRowKey): void; /** 获取指定父行下所有已选择的子行数据 */
|
|
1422
|
+
getSelected(parentKey: DataTableRowKey): DataRecord[];
|
|
1185
1423
|
};
|
|
1186
1424
|
dynamicRows: {
|
|
1187
1425
|
/** 添加行 */add(): void; /** 插入行 */
|
|
@@ -1197,8 +1435,8 @@ declare function useTableManager(params: TableManagerParams): {
|
|
|
1197
1435
|
}; /** 清除所有选择 */
|
|
1198
1436
|
clearAllSelections(): void;
|
|
1199
1437
|
};
|
|
1200
|
-
expandedKeys: vue.ComputedRef<DataTableRowKey
|
|
1201
|
-
checkedKeys: vue.ComputedRef<DataTableRowKey
|
|
1438
|
+
expandedKeys: vue.ComputedRef<DataTableRowKey[]>;
|
|
1439
|
+
checkedKeys: vue.ComputedRef<DataTableRowKey[]>;
|
|
1202
1440
|
eventHandlers: EventHandlers;
|
|
1203
1441
|
};
|
|
1204
1442
|
//#endregion
|
|
@@ -1206,34 +1444,35 @@ declare function useTableManager(params: TableManagerParams): {
|
|
|
1206
1444
|
/**
|
|
1207
1445
|
*
|
|
1208
1446
|
*/
|
|
1209
|
-
declare function useTableExpand<T extends
|
|
1447
|
+
declare function useTableExpand<T extends object = DataRecord, C = DataRecord>(options: UseTableExpandOptions<T, C>): UseTableExpandReturn<T, C>;
|
|
1210
1448
|
//#endregion
|
|
1211
1449
|
//#region src/components/C_Table/composables/useTableActions.d.ts
|
|
1212
1450
|
/**
|
|
1213
1451
|
* 表格操作Hook
|
|
1214
1452
|
*/
|
|
1215
|
-
declare function useTableActions<T extends
|
|
1453
|
+
declare function useTableActions<T extends object = DataRecord>(options: UseTableActionsOptions<T>): UseTableActionsReturn<T>;
|
|
1216
1454
|
//#endregion
|
|
1217
1455
|
//#region src/components/C_Table/composables/usePagination.d.ts
|
|
1218
|
-
interface UsePaginationOptions<T extends
|
|
1456
|
+
interface UsePaginationOptions<T extends object = DataRecord> {
|
|
1219
1457
|
/** 数据源 - 支持函数、Ref 或 ComputedRef */
|
|
1220
1458
|
data: (() => T[]) | Ref<T[]> | ComputedRef<T[]>;
|
|
1221
1459
|
/** 分页配置 */
|
|
1222
1460
|
config: Ref<PaginationConfig | null> | ComputedRef<PaginationConfig | null>;
|
|
1223
1461
|
/** 事件触发器 */
|
|
1224
|
-
emit?: (event:
|
|
1462
|
+
emit?: (event: 'pagination-change', page: number, pageSize: number) => void;
|
|
1225
1463
|
}
|
|
1226
|
-
interface UsePaginationReturn<T extends
|
|
1464
|
+
interface UsePaginationReturn<T extends object = DataRecord> {
|
|
1227
1465
|
currentPage: Ref<number>;
|
|
1228
1466
|
currentPageSize: Ref<number>;
|
|
1229
1467
|
paginatedData: ComputedRef<T[]>;
|
|
1230
|
-
paginationConfig: ComputedRef<
|
|
1468
|
+
paginationConfig: ComputedRef<PaginationProps | null>;
|
|
1231
1469
|
handlePageChange: (page: number) => void;
|
|
1232
1470
|
handlePageSizeChange: (pageSize: number) => void;
|
|
1233
1471
|
resetToFirstPage: () => void;
|
|
1234
1472
|
getTotalPages: () => number;
|
|
1235
1473
|
}
|
|
1236
|
-
|
|
1474
|
+
/** Local and remote pagination with stable controlled-state synchronization. */
|
|
1475
|
+
declare function usePagination<T extends object = DataRecord>(options: UsePaginationOptions<T>): UsePaginationReturn<T>;
|
|
1237
1476
|
//#endregion
|
|
1238
1477
|
//#region src/components/C_Table/composables/useCellEdit.d.ts
|
|
1239
1478
|
/**
|
|
@@ -1241,7 +1480,7 @@ declare function usePagination<T extends DataRecord = DataRecord>(options: UsePa
|
|
|
1241
1480
|
*/
|
|
1242
1481
|
interface CellEditOptions {
|
|
1243
1482
|
data: () => DataRecord[];
|
|
1244
|
-
rowKey: (row: DataRecord) => DataTableRowKey
|
|
1483
|
+
rowKey: (row: DataRecord) => DataTableRowKey;
|
|
1245
1484
|
onSave?: (rowData: DataRecord, rowIndex: number, columnKey: string) => void | Promise<void>;
|
|
1246
1485
|
/** 列配置(用于提取校验规则) */
|
|
1247
1486
|
columns?: () => TableColumn[];
|
|
@@ -1251,17 +1490,19 @@ interface CellEditOptions {
|
|
|
1251
1490
|
*/
|
|
1252
1491
|
declare function useCellEdit(options: CellEditOptions): {
|
|
1253
1492
|
editingCell: vue.Ref<{
|
|
1254
|
-
rowKey: DataTableRowKey
|
|
1493
|
+
rowKey: DataTableRowKey | null;
|
|
1255
1494
|
columnKey: string | null;
|
|
1256
1495
|
}, {
|
|
1257
|
-
rowKey: DataTableRowKey
|
|
1496
|
+
rowKey: DataTableRowKey | null;
|
|
1258
1497
|
columnKey: string | null;
|
|
1259
1498
|
} | {
|
|
1260
|
-
rowKey: DataTableRowKey
|
|
1499
|
+
rowKey: DataTableRowKey | null;
|
|
1261
1500
|
columnKey: string | null;
|
|
1262
1501
|
}>;
|
|
1263
|
-
|
|
1264
|
-
|
|
1502
|
+
editingData: vue.Ref<Record<string, unknown>, Record<string, unknown>>;
|
|
1503
|
+
isSaving: vue.Ref<boolean, boolean>;
|
|
1504
|
+
isEditingCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
|
|
1505
|
+
startEditCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
|
|
1265
1506
|
saveEditCell: () => Promise<{
|
|
1266
1507
|
updatedData: {
|
|
1267
1508
|
[x: string]: unknown;
|
|
@@ -1272,37 +1513,209 @@ declare function useCellEdit(options: CellEditOptions): {
|
|
|
1272
1513
|
cancelEditCell: () => void;
|
|
1273
1514
|
validateCell: () => Promise<boolean>;
|
|
1274
1515
|
cellValidationError: vue.Ref<string | null, string | null>;
|
|
1275
|
-
getEditingCellValue: (rowKey: DataTableRowKey
|
|
1276
|
-
updateEditingCellValue: (rowKey: DataTableRowKey
|
|
1277
|
-
findRowData: (rowKey: DataTableRowKey
|
|
1516
|
+
getEditingCellValue: (rowKey: DataTableRowKey, columnKey: string) => unknown;
|
|
1517
|
+
updateEditingCellValue: (rowKey: DataTableRowKey, columnKey: string, value: unknown) => void;
|
|
1518
|
+
findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
|
|
1278
1519
|
};
|
|
1279
1520
|
//#endregion
|
|
1280
1521
|
//#region src/components/C_Table/composables/useModalEdit.d.ts
|
|
1281
|
-
|
|
1282
|
-
* 模态框编辑配置选项
|
|
1283
|
-
*/
|
|
1284
|
-
interface ModalEditOptions<T = Record<string, any>> {
|
|
1522
|
+
interface ModalEditOptions<T extends object = DataRecord> {
|
|
1285
1523
|
data: () => T[];
|
|
1286
|
-
rowKey: (row: T) => DataTableRowKey
|
|
1287
|
-
onSave?: (editingData:
|
|
1524
|
+
rowKey: (row: T) => DataTableRowKey;
|
|
1525
|
+
onSave?: (editingData: T, rowIndex: number) => void | Promise<void>;
|
|
1288
1526
|
onCancel?: (originalData: T, rowIndex: number) => void | Promise<void>;
|
|
1289
1527
|
}
|
|
1290
|
-
/**
|
|
1291
|
-
|
|
1292
|
-
*/
|
|
1293
|
-
declare function useModalEdit<T = Record<string, any>>(options: ModalEditOptions<T>): {
|
|
1528
|
+
/** Modal edit state with lossless snapshots and retry-safe async saves. */
|
|
1529
|
+
declare function useModalEdit<T extends object = DataRecord>(options: ModalEditOptions<T>): {
|
|
1294
1530
|
isModalVisible: vue.Ref<boolean, boolean>;
|
|
1295
|
-
|
|
1296
|
-
|
|
1531
|
+
isSaving: vue.Ref<boolean, boolean>;
|
|
1532
|
+
editingData: [T] extends [vue.Ref<any, any>] ? _vue_shared0.IfAny<T, vue.Ref<T, T>, T> : vue.Ref<vue.UnwrapRef<T>, T | vue.UnwrapRef<T>>;
|
|
1533
|
+
editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
|
|
1297
1534
|
editingRowIndex: vue.ComputedRef<number>;
|
|
1298
|
-
startEdit: (rowKey: DataTableRowKey
|
|
1299
|
-
saveEdit: (formData?:
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1535
|
+
startEdit: (rowKey: DataTableRowKey, sourceData?: T) => boolean;
|
|
1536
|
+
saveEdit: (formData?: T) => Promise<{
|
|
1537
|
+
updatedData: any;
|
|
1538
|
+
rowIndex: number;
|
|
1539
|
+
} | undefined>;
|
|
1540
|
+
cancelEdit: () => Promise<boolean>;
|
|
1541
|
+
updateEditingData: (data: T) => boolean;
|
|
1542
|
+
resetEditingState: () => boolean;
|
|
1543
|
+
isEditingRow: (rowKey: DataTableRowKey) => boolean;
|
|
1544
|
+
getEditingRowData: (rowKey: DataTableRowKey) => any;
|
|
1545
|
+
};
|
|
1546
|
+
//#endregion
|
|
1547
|
+
//#region src/plugins/highlight.d.ts
|
|
1548
|
+
interface HighlightPluginOptions {
|
|
1549
|
+
autoDetect?: boolean;
|
|
1550
|
+
extraLanguages?: string[];
|
|
1551
|
+
/** Enable lifecycle diagnostics through the supplied logger. */
|
|
1552
|
+
debug?: boolean;
|
|
1553
|
+
logger?: Pick<Console, 'info' | 'warn' | 'error'>;
|
|
1554
|
+
onError?: (error: unknown, context: {
|
|
1555
|
+
source: 'language-loader';
|
|
1556
|
+
language: string;
|
|
1557
|
+
}) => void;
|
|
1558
|
+
}
|
|
1559
|
+
/**
|
|
1560
|
+
* * @description 获取 highlight 功能的 API 接口
|
|
1561
|
+
* ! @return highlight API 对象,包含所有可用方法
|
|
1562
|
+
*/
|
|
1563
|
+
declare const useHighlight: (options?: HighlightPluginOptions) => {
|
|
1564
|
+
getHljs: () => HLJSApi;
|
|
1565
|
+
loadLanguage: (language: string) => Promise<boolean>;
|
|
1566
|
+
loadLanguages: (languages: string[]) => Promise<string[]>;
|
|
1567
|
+
getLoadedLanguages: () => string[];
|
|
1568
|
+
};
|
|
1569
|
+
/**
|
|
1570
|
+
* * @description 安装 highlight.js 插件到 Vue 应用
|
|
1571
|
+
* ? @param app - Vue 应用实例
|
|
1572
|
+
* ? @param options - 插件配置选项
|
|
1573
|
+
* ! @return void
|
|
1574
|
+
*/
|
|
1575
|
+
declare function setupHighlight(app: App, options?: HighlightPluginOptions): void;
|
|
1576
|
+
declare global {
|
|
1577
|
+
interface Window {
|
|
1578
|
+
hljs: HLJSApi;
|
|
1579
|
+
}
|
|
1580
|
+
}
|
|
1581
|
+
//#endregion
|
|
1582
|
+
//#region src/utils/storage.d.ts
|
|
1583
|
+
/** SSR-safe localStorage helpers. Storage failures never break component state. */
|
|
1584
|
+
/** Store a value. Returns false when storage is unavailable or full. */
|
|
1585
|
+
declare function setItem<T>(key: string, value: T): boolean;
|
|
1586
|
+
/** Read and safely deserialize a value. */
|
|
1587
|
+
declare function getItem<T = unknown>(key: string): T | null;
|
|
1588
|
+
/** Remove one value. Returns whether the storage operation was available. */
|
|
1589
|
+
declare function removeItem(key: string): boolean;
|
|
1590
|
+
/**
|
|
1591
|
+
* Clear localStorage for backward compatibility.
|
|
1592
|
+
* Prefer `removeItem` in components so unrelated application data is preserved.
|
|
1593
|
+
*/
|
|
1594
|
+
declare function removeAllItem(): boolean;
|
|
1595
|
+
//#endregion
|
|
1596
|
+
//#region src/components/C_Table/composables/useTableQuery.d.ts
|
|
1597
|
+
interface TableQueryContext<Q> {
|
|
1598
|
+
page: number;
|
|
1599
|
+
pageSize: number;
|
|
1600
|
+
query: Readonly<Q>;
|
|
1601
|
+
signal: AbortSignal;
|
|
1602
|
+
}
|
|
1603
|
+
interface TableQueryResult<T extends object> {
|
|
1604
|
+
data: readonly T[];
|
|
1605
|
+
total: number;
|
|
1606
|
+
}
|
|
1607
|
+
interface UseTableQueryOptions<T extends object, Q extends object> {
|
|
1608
|
+
request: (context: TableQueryContext<Q>) => Promise<TableQueryResult<T>>;
|
|
1609
|
+
initialQuery: Q;
|
|
1610
|
+
columns?: MaybeRefOrGetter<TableColumn<T>[] | undefined>;
|
|
1611
|
+
config?: MaybeRefOrGetter<TableConfig<T> | undefined>;
|
|
1612
|
+
rowKey?: TableRowKey<T>;
|
|
1613
|
+
initialPage?: number;
|
|
1614
|
+
pageSize?: number;
|
|
1615
|
+
immediate?: boolean;
|
|
1616
|
+
onError?: (error: unknown) => void;
|
|
1617
|
+
onSuccess?: (result: TableQueryResult<T>) => void;
|
|
1618
|
+
}
|
|
1619
|
+
/**
|
|
1620
|
+
* Remote table controller with latest-request-wins cancellation and ready-to-bind props.
|
|
1621
|
+
*/
|
|
1622
|
+
declare function useTableQuery<T extends object, Q extends object = Record<string, unknown>>(options: UseTableQueryOptions<T, Q>): {
|
|
1623
|
+
data: vue.ShallowRef<T[], T[]>;
|
|
1624
|
+
loading: vue.Ref<boolean, boolean>;
|
|
1625
|
+
error: vue.ShallowRef<unknown, unknown>;
|
|
1626
|
+
total: vue.Ref<number, number>;
|
|
1627
|
+
page: vue.Ref<number, number>;
|
|
1628
|
+
pageSize: vue.Ref<number, number>;
|
|
1629
|
+
query: vue.Ref<any, any> extends Q ? Q extends Q & vue.Ref<any, any> ? _vue_shared0.IfAny<Q, vue.ShallowRef<Q, Q>, Q> : vue.ShallowRef<Q, Q> : vue.ShallowRef<Q, Q>;
|
|
1630
|
+
tableProps: vue.ComputedRef<{
|
|
1631
|
+
data: T[];
|
|
1632
|
+
loading: boolean;
|
|
1633
|
+
columns: TableColumn<T>[] | undefined;
|
|
1634
|
+
rowKey: TableRowKey<T>;
|
|
1635
|
+
config: {
|
|
1636
|
+
pagination: {
|
|
1637
|
+
enabled: true;
|
|
1638
|
+
remote: true;
|
|
1639
|
+
page: number;
|
|
1640
|
+
pageSize: number;
|
|
1641
|
+
total: number;
|
|
1642
|
+
showSizePicker?: boolean;
|
|
1643
|
+
showQuickJumper?: boolean;
|
|
1644
|
+
pageSizes?: number[];
|
|
1645
|
+
simple?: boolean;
|
|
1646
|
+
size?: "small" | "medium" | "large";
|
|
1647
|
+
};
|
|
1648
|
+
feedback?: ComponentFeedback;
|
|
1649
|
+
locale?: ComponentLocale;
|
|
1650
|
+
validateRowKeys?: boolean;
|
|
1651
|
+
edit?: boolean | EditConfig<T> | undefined;
|
|
1652
|
+
actions?: SimpleTableActions<T> | undefined;
|
|
1653
|
+
expand?: boolean | ExpandConfig$1<T> | undefined;
|
|
1654
|
+
selection?: boolean | SelectionConfig$1<T> | undefined;
|
|
1655
|
+
dynamicRows?: boolean | DynamicRowsOptions<T> | undefined;
|
|
1656
|
+
toolbar?: ToolbarConfig;
|
|
1657
|
+
display?: DisplayConfig;
|
|
1658
|
+
virtualScroll?: VirtualScrollConfig | boolean;
|
|
1659
|
+
summary?: SummaryConfig<T> | undefined;
|
|
1660
|
+
columnDrag?: ColumnDragConfig | boolean;
|
|
1661
|
+
tree?: TreeConfig | boolean;
|
|
1662
|
+
rowDrag?: RowDragConfig | boolean;
|
|
1663
|
+
crossPageSelection?: CrossPageSelectionConfig | boolean;
|
|
1664
|
+
export?: ExportConfig;
|
|
1665
|
+
persistKey?: string;
|
|
1666
|
+
formatterConfig?: FormatterConfig;
|
|
1667
|
+
error?: ErrorConfig;
|
|
1668
|
+
batchActions?: BatchActionsConfig<T> | undefined;
|
|
1669
|
+
};
|
|
1670
|
+
}>;
|
|
1671
|
+
execute: () => Promise<boolean>;
|
|
1672
|
+
reload: () => Promise<boolean>;
|
|
1673
|
+
setQuery: (next: Partial<Q> | ((current: Readonly<Q>) => Q), reload?: boolean) => Promise<boolean>;
|
|
1674
|
+
resetQuery: (reload?: boolean) => Promise<boolean>;
|
|
1675
|
+
handlePaginationChange: (nextPage: number, nextPageSize: number) => Promise<boolean>;
|
|
1676
|
+
bindings: vue.ComputedRef<{
|
|
1677
|
+
onPaginationChange: (nextPage: number, nextPageSize: number) => Promise<boolean>;
|
|
1678
|
+
data: T[];
|
|
1679
|
+
loading: boolean;
|
|
1680
|
+
columns: TableColumn<T>[] | undefined;
|
|
1681
|
+
rowKey: TableRowKey<T>;
|
|
1682
|
+
config: {
|
|
1683
|
+
pagination: {
|
|
1684
|
+
enabled: true;
|
|
1685
|
+
remote: true;
|
|
1686
|
+
page: number;
|
|
1687
|
+
pageSize: number;
|
|
1688
|
+
total: number;
|
|
1689
|
+
showSizePicker?: boolean;
|
|
1690
|
+
showQuickJumper?: boolean;
|
|
1691
|
+
pageSizes?: number[];
|
|
1692
|
+
simple?: boolean;
|
|
1693
|
+
size?: "small" | "medium" | "large";
|
|
1694
|
+
};
|
|
1695
|
+
feedback?: ComponentFeedback;
|
|
1696
|
+
locale?: ComponentLocale;
|
|
1697
|
+
validateRowKeys?: boolean;
|
|
1698
|
+
edit?: boolean | EditConfig<T> | undefined;
|
|
1699
|
+
actions?: SimpleTableActions<T> | undefined;
|
|
1700
|
+
expand?: boolean | ExpandConfig$1<T> | undefined;
|
|
1701
|
+
selection?: boolean | SelectionConfig$1<T> | undefined;
|
|
1702
|
+
dynamicRows?: boolean | DynamicRowsOptions<T> | undefined;
|
|
1703
|
+
toolbar?: ToolbarConfig;
|
|
1704
|
+
display?: DisplayConfig;
|
|
1705
|
+
virtualScroll?: VirtualScrollConfig | boolean;
|
|
1706
|
+
summary?: SummaryConfig<T> | undefined;
|
|
1707
|
+
columnDrag?: ColumnDragConfig | boolean;
|
|
1708
|
+
tree?: TreeConfig | boolean;
|
|
1709
|
+
rowDrag?: RowDragConfig | boolean;
|
|
1710
|
+
crossPageSelection?: CrossPageSelectionConfig | boolean;
|
|
1711
|
+
export?: ExportConfig;
|
|
1712
|
+
persistKey?: string;
|
|
1713
|
+
formatterConfig?: FormatterConfig;
|
|
1714
|
+
error?: ErrorConfig;
|
|
1715
|
+
batchActions?: BatchActionsConfig<T> | undefined;
|
|
1716
|
+
};
|
|
1717
|
+
}>;
|
|
1718
|
+
cancel: () => void;
|
|
1305
1719
|
};
|
|
1306
1720
|
//#endregion
|
|
1307
|
-
export {
|
|
1308
|
-
//# sourceMappingURL=useModalEdit.d.ts.map
|
|
1721
|
+
export { applyFormatter as $, EditMode as A, PrintWatermarkOptions as At, TableColumn as B, _default as C, RowDragConfig as Ct, ColumnWithKey as D, DynamicRowsOptions as Dt, ChildSelectionState as E, useRowDrag as Et, RenderFunction as F, TableRowKeyIssue as G, TableInstance as H, RowAction as I, ColumnFormatter as J, UseTableExpandOptions as K, SelectOption as L, NormalTableColumn as M, usePrintWatermark as Mt, PaginationConfig as N, CustomAction as O, DynamicRowsReturn as Ot, ParentChildLinkMode as P, TableGlobalConfig as Q, SimpleTableActions as R, validateTableRowKeys as S, useCrossPageSelection as St, BuiltInTableColumn as T, UseRowDragReturn as Tt, TableProps as U, TableEmits as V, TableRowKey as W, FormatterType as X, FormatterConfig as Y, TABLE_GLOBAL_CONFIG_KEY as Z, useTableManager as _, ExportConfig as _t, getItem as a, DisplayConfig as at, defineTableColumns as b, UseCrossPageSelectionOptions as bt, setItem as c, ExpandConfig$1 as ct, useHighlight as d, TableConfig as dt, mergeGlobalConfig as et, useModalEdit as f, ToolbarConfig as ft, useTableExpand as g, resolveConfig as gt, useTableActions as h, createEditModeChecker as ht, useTableQuery as i, CrudBinding as it, MaybeRefLike as j, printPresets as jt, DataRecord as k, useDynamicRows as kt, HighlightPluginOptions as l, SelectionConfig$1 as lt, usePagination as m, VirtualScrollConfig as mt, TableQueryResult as n, BatchActionsConfig as nt, removeAllItem as o, EditConfig as ot, useCellEdit as p, TreeConfig as pt, UseTableExpandReturn as q, UseTableQueryOptions as r, ColumnDragConfig as rt, removeItem as s, ErrorConfig as st, TableQueryContext as t, useTableGlobalConfig as tt, setupHighlight as u, SummaryConfig as ut, useRowEdit as v, exportTableData as vt, ApiFunction as w, UseRowDragOptions as wt, defineTableConfig as x, UseCrossPageSelectionReturn as xt, useTableColumns as y, CrossPageSelectionConfig as yt, StrictTableColumn as z };
|