@robot-admin/naive-ui-components 0.10.3 → 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 -100
- package/LICENSE +21 -21
- package/README.md +463 -318
- 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 -2
- 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 -4
- package/dist/C_Menu.js +1 -1
- 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 -3
- 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 +6 -7
- package/dist/constants2.d.cts +177 -0
- package/dist/constants2.d.ts +5 -6
- package/dist/constants3.d.cts +479 -0
- package/dist/constants3.d.ts +17 -13
- package/dist/constants4.d.cts +420 -0
- package/dist/constants4.d.ts +30 -40
- package/dist/constants5.d.cts +491 -0
- package/dist/constants5.d.ts +22 -6
- package/dist/data.cjs +1 -0
- package/dist/data.d.cts +67 -0
- package/dist/data.d.ts +13 -13
- 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 +41 -83
- 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 +1 -2
- 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} +5 -6
- 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 +3 -4
- package/dist/index27.vue.d.cts +80 -0
- package/dist/index27.vue.d.ts +3 -4
- package/dist/index3.vue.d.cts +87 -0
- package/dist/index3.vue.d.ts +2 -3
- package/dist/index4.vue.d.cts +37 -0
- package/dist/index4.vue.d.ts +5 -6
- 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/{menuAdapter.d.ts → public.d.ts} +2 -3
- 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 +58 -0
- 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 +1 -2
- package/dist/useCropperCore.d.cts +104 -0
- package/dist/useCropperCore.d.ts +12 -10
- package/dist/useDraggableLayout.d.cts +196 -0
- package/dist/useDraggableLayout.d.ts +18 -16
- 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 +11 -3
- package/dist/useQRCode.d.cts +89 -0
- package/dist/useQRCode.d.ts +7 -5
- package/dist/useSearchState.d.cts +871 -0
- package/dist/useSearchState.d.ts +828 -28
- package/dist/useSignatureHistory.d.cts +197 -0
- package/dist/useSignatureHistory.d.ts +9 -4
- 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 +19 -8
- package/dist/useTreeOperations.d.cts +185 -0
- package/dist/useTreeOperations.d.ts +14 -12
- package/dist/useWorkflowValidation.d.cts +1051 -0
- package/dist/useWorkflowValidation.d.ts +66 -67
- package/dist/verification.d.cts +58 -0
- package/dist/verification.d.ts +58 -0
- package/package.json +101 -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-ldTy9Y34.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-SIzxuuZr.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-Bqqrl8nX.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-CF1SU7mc.css.map +0 -1
- package/dist/C_Chat-DeUv6uuI.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-Bn_uhJSo.css.map +0 -1
- package/dist/C_ContextMenu-C9iuxG2n.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-B3qYkLrN.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-ChZu346B.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-BNPbaut7.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-BN8vMRsY.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-4rk0Dzgn.css.map +0 -1
- package/dist/C_Timeline-DdESmqwL.css.map +0 -1
- package/dist/C_Timeline.js.map +0 -1
- package/dist/C_Timeline2.js.map +0 -1
- package/dist/C_Transfer-B-vjvhjI.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/_shared.cjs +0 -1
- package/dist/_shared.d.cts +0 -2
- package/dist/_shared.d.ts +0 -2
- package/dist/_shared.js +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/menuAdapter.js +0 -2
- package/dist/menuAdapter.js.map +0 -1
- 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
package/dist/C_ActionBar.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as ActionDropdownItem, c as TableActionsEmits, i as ActionButtonType, l as TableActionsProps, n as ActionBarConfig, o as ActionGroupAlign, r as ActionButtonSize, s as ActionItem, t as _default } from "./index.vue.
|
|
1
|
+
import { a as ActionDropdownItem, c as TableActionsEmits, i as ActionButtonType, l as TableActionsProps, n as ActionBarConfig, o as ActionGroupAlign, r as ActionButtonSize, s as ActionItem, t as _default } from "./index.vue.cjs";
|
|
2
2
|
export { type ActionBarConfig, type ActionButtonSize, type ActionButtonType, type ActionDropdownItem, type ActionGroupAlign, type ActionItem, _default as C_ActionBar, type TableActionsEmits, type TableActionsProps };
|
package/dist/C_ActionBar.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./C_ActionBar2.js";export{e as C_ActionBar};
|
|
1
|
+
import"./C_Icon2.js";import{t as e}from"./C_ActionBar2.js";export{e as C_ActionBar};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk.cjs`);const e=require(`./C_Icon2.cjs`),t=require(`./export-helper.cjs`);let n=require(`vue`),r=require(`naive-ui`);const i={key:1,class:`actions-center`},a=(0,n.defineComponent)({name:`C_ActionBar`,__name:`index`,props:{actions:{default:()=>[]},leftActions:{default:()=>[]},rightActions:{default:()=>[]},config:{default:()=>({})}},emits:[`action-click`,`dropdown-click`],setup(t,{emit:a}){let o=t,s=a,c={align:`left`,size:`medium`,gap:8,wrap:!1,showDivider:!1,dividerType:`vertical`,compact:!1,inline:!0},l=(0,n.computed)(()=>({...c,...o.config})),u=(0,n.computed)(()=>{if(o.leftActions&&o.leftActions.length>0)return o.leftActions.filter(e=>f(e));if(o.actions.length>0){let e=o.rightActions&&o.rightActions.length>0,t=o.actions.some(e=>e.group===`right`);return!e&&!t?o.actions.filter(e=>f(e)):o.actions.filter(e=>e.group===`left`&&f(e))}return[]}),d=(0,n.computed)(()=>o.rightActions&&o.rightActions.length>0?o.rightActions.filter(e=>f(e)):o.actions.filter(e=>e.group===`right`&&f(e))),f=e=>e.show===void 0?!0:(0,n.unref)(e.show),p=e=>(0,n.unref)(e.disabled)||!1,m=e=>(0,n.unref)(e.loading)||!1,h=async e=>{e.dropdown&&e.dropdown.length>0||(s(`action-click`,e),e.onClick&&await e.onClick())},g=async(e,t)=>{s(`dropdown-click`,e,t),e.onClick&&await e.onClick()},_=(0,n.defineComponent)({name:`ActionButton`,props:{action:{type:Object,required:!0}},emits:[`click`,`dropdown-select`],setup(t,{emit:i}){let a=(0,n.computed)(()=>t.action),o=(0,n.computed)(()=>a.value.dropdown?a.value.dropdown.filter(e=>e.show===void 0?!0:(0,n.unref)(e.show)).map(t=>({key:t.key,label:t.label,icon:t.icon?()=>(0,n.h)(e.t,{name:t.icon,size:14}):void 0,disabled:(0,n.unref)(t.disabled)})):[]),s=e=>{let t=a.value.dropdown?.find(t=>t.key===e);t&&i(`dropdown-select`,t)},c=t=>{let i=(0,n.h)(r.NButton,{type:a.value.type||`default`,size:a.value.size||l.value.size,loading:m(a.value),disabled:p(a.value),...t,...a.value.buttonProps},{default:()=>a.value.label,icon:a.value.icon?()=>(0,n.h)(e.t,{name:a.value.icon,size:16}):void 0});return a.value.directives&&a.value.directives.length>0?(0,n.withDirectives)(i,a.value.directives):i},u=()=>{let e=c({onClick:()=>i(`click`)});return a.value.tooltip?(0,n.h)(r.NTooltip,{placement:`top`},{trigger:()=>e,default:()=>a.value.tooltip}):e},d=()=>{let e=c();return(0,n.h)(r.NDropdown,{options:o.value,onSelect:s},{default:()=>e})};return()=>a.value.dropdown&&a.value.dropdown.length>0?d():u()}});return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)([`c-action-bar`,{"is-compact":l.value.compact,"is-inline":l.value.inline,"is-wrap":l.value.wrap,[`is-align-${l.value.align}`]:!0,"has-only-left":u.value.length>0&&d.value.length===0&&!e.$slots.center,"has-only-right":d.value.length>0&&u.value.length===0&&!e.$slots.center}])},[u.value.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`actions-group actions-left`,style:(0,n.normalizeStyle)({gap:`${l.value.gap}px`})},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(u.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:e.key||`left-${t}`},[(0,n.createVNode)((0,n.unref)(_),{action:e,onClick:t=>h(e),onDropdownSelect:t=>g(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),l.value.showDivider&&t<u.value.length-1&&l.value.dividerType===`vertical`?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.NDivider),{key:0,vertical:``,class:`action-divider`})):(0,n.createCommentVNode)(`v-if`,!0)],64))),128))],4)):(0,n.createCommentVNode)(`v-if`,!0),e.$slots.center?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,i,[(0,n.renderSlot)(e.$slots,`center`,{},void 0,!0)])):(0,n.createCommentVNode)(`v-if`,!0),d.value.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:2,class:`actions-group actions-right`,style:(0,n.normalizeStyle)({gap:`${l.value.gap}px`})},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(d.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:e.key||`right-${t}`},[(0,n.createVNode)((0,n.unref)(_),{action:e,onClick:t=>h(e),onDropdownSelect:t=>g(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),l.value.showDivider&&t<d.value.length-1&&l.value.dividerType===`vertical`?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.NDivider),{key:0,vertical:``,class:`action-divider`})):(0,n.createCommentVNode)(`v-if`,!0)],64))),128))],4)):(0,n.createCommentVNode)(`v-if`,!0)],2))}});var o=t.t(a,[[`__scopeId`,`data-v-9dc5812b`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
|
package/dist/C_ActionBar2.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{
|
|
2
|
-
//# sourceMappingURL=C_ActionBar2.js.map
|
|
1
|
+
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createVNode as s,defineComponent as c,h as l,normalizeClass as u,normalizeStyle as d,openBlock as f,renderList as p,renderSlot as m,unref as h,withDirectives as g}from"vue";import{NButton as _,NDivider as v,NDropdown as y,NTooltip as b}from"naive-ui";const x={key:1,class:`actions-center`};var S=t(c({name:`C_ActionBar`,__name:`index`,props:{actions:{default:()=>[]},leftActions:{default:()=>[]},rightActions:{default:()=>[]},config:{default:()=>({})}},emits:[`action-click`,`dropdown-click`],setup(t,{emit:S}){let C=t,w=S,T={align:`left`,size:`medium`,gap:8,wrap:!1,showDivider:!1,dividerType:`vertical`,compact:!1,inline:!0},E=r(()=>({...T,...C.config})),D=r(()=>{if(C.leftActions&&C.leftActions.length>0)return C.leftActions.filter(e=>k(e));if(C.actions.length>0){let e=C.rightActions&&C.rightActions.length>0,t=C.actions.some(e=>e.group===`right`);return!e&&!t?C.actions.filter(e=>k(e)):C.actions.filter(e=>e.group===`left`&&k(e))}return[]}),O=r(()=>C.rightActions&&C.rightActions.length>0?C.rightActions.filter(e=>k(e)):C.actions.filter(e=>e.group===`right`&&k(e))),k=e=>e.show===void 0?!0:h(e.show),A=e=>h(e.disabled)||!1,j=e=>h(e.loading)||!1,M=async e=>{e.dropdown&&e.dropdown.length>0||(w(`action-click`,e),e.onClick&&await e.onClick())},N=async(e,t)=>{w(`dropdown-click`,e,t),e.onClick&&await e.onClick()},P=c({name:`ActionButton`,props:{action:{type:Object,required:!0}},emits:[`click`,`dropdown-select`],setup(t,{emit:n}){let i=r(()=>t.action),a=r(()=>i.value.dropdown?i.value.dropdown.filter(e=>e.show===void 0?!0:h(e.show)).map(t=>({key:t.key,label:t.label,icon:t.icon?()=>l(e,{name:t.icon,size:14}):void 0,disabled:h(t.disabled)})):[]),o=e=>{let t=i.value.dropdown?.find(t=>t.key===e);t&&n(`dropdown-select`,t)},s=t=>{let n=l(_,{type:i.value.type||`default`,size:i.value.size||E.value.size,loading:j(i.value),disabled:A(i.value),...t,...i.value.buttonProps},{default:()=>i.value.label,icon:i.value.icon?()=>l(e,{name:i.value.icon,size:16}):void 0});return i.value.directives&&i.value.directives.length>0?g(n,i.value.directives):n},c=()=>{let e=s({onClick:()=>n(`click`)});return i.value.tooltip?l(b,{placement:`top`},{trigger:()=>e,default:()=>i.value.tooltip}):e},u=()=>{let e=s();return l(y,{options:a.value,onSelect:o},{default:()=>e})};return()=>i.value.dropdown&&i.value.dropdown.length>0?u():c()}});return(e,t)=>(f(),o(`div`,{class:u([`c-action-bar`,{"is-compact":E.value.compact,"is-inline":E.value.inline,"is-wrap":E.value.wrap,[`is-align-${E.value.align}`]:!0,"has-only-left":D.value.length>0&&O.value.length===0&&!e.$slots.center,"has-only-right":O.value.length>0&&D.value.length===0&&!e.$slots.center}])},[D.value.length>0?(f(),o(`div`,{key:0,class:`actions-group actions-left`,style:d({gap:`${E.value.gap}px`})},[(f(!0),o(n,null,p(D.value,(e,t)=>(f(),o(n,{key:e.key||`left-${t}`},[s(h(P),{action:e,onClick:t=>M(e),onDropdownSelect:t=>N(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),E.value.showDivider&&t<D.value.length-1&&E.value.dividerType===`vertical`?(f(),i(h(v),{key:0,vertical:``,class:`action-divider`})):a(`v-if`,!0)],64))),128))],4)):a(`v-if`,!0),e.$slots.center?(f(),o(`div`,x,[m(e.$slots,`center`,{},void 0,!0)])):a(`v-if`,!0),O.value.length>0?(f(),o(`div`,{key:2,class:`actions-group actions-right`,style:d({gap:`${E.value.gap}px`})},[(f(!0),o(n,null,p(O.value,(e,t)=>(f(),o(n,{key:e.key||`right-${t}`},[s(h(P),{action:e,onClick:t=>M(e),onDropdownSelect:t=>N(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),E.value.showDivider&&t<O.value.length-1&&E.value.dividerType===`vertical`?(f(),i(h(v),{key:0,vertical:``,class:`action-divider`})):a(`v-if`,!0)],64))),128))],4)):a(`v-if`,!0)],2))}}),[[`__scopeId`,`data-v-9dc5812b`]]);export{S as t};
|
package/dist/C_AntV.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./C_Icon2.cjs`);const e=require(`./C_AntV2.cjs`);exports.C_AntV=e.t,exports.useEdgeInteraction=e.n,exports.useGraphBase=e.i,exports.useGraphExport=e.r;
|
package/dist/C_AntV.css
CHANGED
|
@@ -227,7 +227,6 @@
|
|
|
227
227
|
width: 100%;
|
|
228
228
|
border: 1px solid var(--c-border);
|
|
229
229
|
overflow: hidden;
|
|
230
|
-
border-radius: 4px;
|
|
231
230
|
}
|
|
232
231
|
.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] .x6-graph,
|
|
233
232
|
.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] .x6-graph-svg {
|
|
@@ -238,6 +237,9 @@
|
|
|
238
237
|
.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] .x6-graph-svg-stage {
|
|
239
238
|
outline: none;
|
|
240
239
|
}
|
|
240
|
+
.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] {
|
|
241
|
+
border-radius: 4px;
|
|
242
|
+
}
|
|
241
243
|
.n-drawer .property-panel[data-v-d588444e] {
|
|
242
244
|
padding: 16px;
|
|
243
245
|
}
|
|
@@ -394,5 +396,3 @@
|
|
|
394
396
|
height: 100%;
|
|
395
397
|
}
|
|
396
398
|
|
|
397
|
-
|
|
398
|
-
/*# sourceMappingURL=C_AntV-D_jTK8oZ.css.map*/
|
package/dist/C_AntV.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as SelectionConfig, C as KeyboardConfig, D as MouseWheelConfig, E as MinimapConfig, F as UMLClass, I as UMLDiagramData, L as UMLMethod, M as ThemeConfig, N as ToolbarAction, O as Position, P as UMLAttribute, R as UMLRelation, S as HistoryConfig, T as MenuItem, _ as ExportFormat, a as BPMNDiagramData, b as GraphExportOptions, c as ClipboardConfig, d as DiagramData, f as DiagramType, g as ERTable, h as ERRelation, i as _default, j as SnapshotConfig, k as ScrollerConfig, l as ConnectionConfig, m as ERField, n as useGraphExport, o as BPMNFlow, p as ERDiagramData, r as useGraphBase, s as BPMNNode, t as useEdgeInteraction, u as DiagramConfig, v as GraphConfig, w as LayoutOptions, x as GridConfig, y as GraphEvents, z as ValidationResult } from "./useEdgeInteraction.
|
|
1
|
+
import { A as SelectionConfig, C as KeyboardConfig, D as MouseWheelConfig, E as MinimapConfig, F as UMLClass, I as UMLDiagramData, L as UMLMethod, M as ThemeConfig, N as ToolbarAction, O as Position, P as UMLAttribute, R as UMLRelation, S as HistoryConfig, T as MenuItem, _ as ExportFormat, a as BPMNDiagramData, b as GraphExportOptions, c as ClipboardConfig, d as DiagramData, f as DiagramType, g as ERTable, h as ERRelation, i as _default, j as SnapshotConfig, k as ScrollerConfig, l as ConnectionConfig, m as ERField, n as useGraphExport, o as BPMNFlow, p as ERDiagramData, r as useGraphBase, s as BPMNNode, t as useEdgeInteraction, u as DiagramConfig, v as GraphConfig, w as LayoutOptions, x as GridConfig, y as GraphEvents, z as ValidationResult } from "./useEdgeInteraction.cjs";
|
|
2
2
|
export { type BPMNDiagramData, type BPMNFlow, type BPMNNode, _default as C_AntV, type ClipboardConfig, type ConnectionConfig, type DiagramConfig, type DiagramData, type DiagramType, type ERDiagramData, type ERField, type ERRelation, type ERTable, type ExportFormat, type GraphConfig, type GraphEvents, type GraphExportOptions, type GridConfig, type HistoryConfig, type KeyboardConfig, type LayoutOptions, type MenuItem, type MinimapConfig, type MouseWheelConfig, type Position, type ScrollerConfig, type SelectionConfig, type SnapshotConfig, type ThemeConfig, type ToolbarAction, type UMLAttribute, type UMLClass, type UMLDiagramData, type UMLMethod, type UMLRelation, type ValidationResult, useEdgeInteraction, useGraphBase, useGraphExport };
|
package/dist/C_AntV.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,t as r}from"./C_AntV2.js";export{r as C_AntV,t as useEdgeInteraction,e as useGraphBase,n as useGraphExport};
|
|
1
|
+
import"./C_Icon2.js";import{i as e,n as t,r as n,t as r}from"./C_AntV2.js";export{r as C_AntV,t as useEdgeInteraction,e as useGraphBase,n as useGraphExport};
|
package/dist/C_AntV2.cjs
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const e=require(`./chunk.cjs`),t=require(`./config.cjs`),n=require(`./C_Icon2.cjs`),r=require(`./export-helper.cjs`);let i=require(`vue`),a=require(`naive-ui`),o=require(`@antv/x6`),s=require(`html2canvas`);s=e.t(s);function c(e){return{background:e?`#18181c`:`#f5f5f5`,gridPrimary:e?`rgba(255, 255, 255, 0.08)`:`#eee`,gridSecondary:e?`rgba(255, 255, 255, 0.04)`:`#ddd`}}function l(e=!1){let t=c(e);return{background:{color:t.background},grid:{visible:!0,type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]},mousewheel:{enabled:!0,zoomAtMousePosition:!0,modifiers:`ctrl`,minScale:.5,maxScale:2},selecting:{enabled:!0,rubberband:!0,movable:!0,showNodeSelectionBox:!0},resizing:!0,rotating:!0,snapline:!0,keyboard:!0,clipboard:!0}}function u(e){return e?{width:e.clientWidth||e.offsetWidth||800,height:e.clientHeight||e.offsetHeight||600}:{width:0,height:0}}function d(e,t){let n=0,r=(0,i.ref)(null),a=(0,i.ref)(!1),s=async(c={})=>{await(0,i.nextTick)(),a.value=!0;try{if(!e.value)return;r.value&&=(r.value.dispose(),null);let{width:i,height:a}=u(e.value);if(i===0||a===0){n++,n<10&&setTimeout(()=>s(c),100);return}n=0;let d=l(t?.value??!1);r.value=new o.Graph({container:e.value,width:i,height:a,...d,...c})}catch{}finally{a.value=!1}};function d(e){if(!r.value)return;let t=c(e);r.value.drawBackground({color:t.background}),r.value.drawGrid({type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]})}t&&(0,i.watch)(t,e=>{d(e)});function f(){r.value&&=(r.value.dispose(),null)}function p(){r.value?.centerContent()}function m(){r.value?.zoomToFit({padding:20,maxScale:1})}function h(e){r.value?.zoom(e)}function g(){if(r.value&&e.value){let{width:t,height:n}=u(e.value);r.value.resize(t,n)}}return(0,i.onUnmounted)(f),{graph:r,loading:a,initGraph:s,destroyGraph:f,centerContent:p,zoomToFit:m,zoom:h,resizeGraph:g,updateTheme:d}}function f(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}function p(e,t=`diagram.json`){let n=JSON.stringify(e,null,2);f(new Blob([n],{type:`application/json`}),t)}async function m(e,t=`diagram.png`,n={}){let{backgroundColor:r=`#ffffff`,scale:i=2}=n,{container:a}=e;f(await g(await(0,s.default)(a,{backgroundColor:r,scale:i,useCORS:!0,logging:!1}),`image/png`),t)}function h(e,t=`diagram.svg`){let n=e.container.querySelector(`svg`);if(!n)throw Error(`SVG导出失败: 未找到图表 SVG 元素`);let r=n.cloneNode(!0);r.getAttribute(`xmlns`)||r.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),r.getAttribute(`xmlns:xlink`)||r.setAttribute(`xmlns:xlink`,`http://www.w3.org/1999/xlink`);let i=new XMLSerializer().serializeToString(r);f(new Blob([i],{type:`image/svg+xml;charset=utf-8`}),t)}function g(e,t,n=1){return new Promise((r,i)=>{e.toBlob(e=>{e?r(e):i(Error(`Canvas 转 Blob 失败`))},t,n)})}const _=[{label:`导出PNG`,key:`png`},{label:`导出SVG`,key:`svg`},{label:`导出JSON`,key:`json`}];function v(e,n=`diagram`){let r=t.r();return{exportOptions:_,handleExport:async(t,i)=>{if(e.value)try{switch(t){case`png`:await m(e.value,`${n}.png`);break;case`svg`:h(e.value,`${n}.svg`);break;case`json`:i&&p(i(),`${n}.json`);break}}catch(e){r.error(`导出${t.toUpperCase()}失败,请重试`,e)}}}}const y=[{label:`BIGINT`,value:`BIGINT`},{label:`INT`,value:`INT`},{label:`SMALLINT`,value:`SMALLINT`},{label:`TINYINT`,value:`TINYINT`},{label:`VARCHAR(50)`,value:`VARCHAR(50)`},{label:`VARCHAR(100)`,value:`VARCHAR(100)`},{label:`VARCHAR(255)`,value:`VARCHAR(255)`},{label:`CHAR(10)`,value:`CHAR(10)`},{label:`TEXT`,value:`TEXT`},{label:`LONGTEXT`,value:`LONGTEXT`},{label:`DATETIME`,value:`DATETIME`},{label:`TIMESTAMP`,value:`TIMESTAMP`},{label:`DATE`,value:`DATE`},{label:`TIME`,value:`TIME`},{label:`DECIMAL(10,2)`,value:`DECIMAL(10,2)`},{label:`FLOAT`,value:`FLOAT`},{label:`DOUBLE`,value:`DOUBLE`},{label:`BOOLEAN`,value:`BOOLEAN`},{label:`JSON`,value:`JSON`}],b={key:0,class:`table-editor`},x={class:`fields-container`},S={class:`field-header`},C=(0,i.defineComponent)({__name:`ERTableEditor`,props:(0,i.mergeModels)({show:{type:Boolean}},{editingTable:{},editingTableModifiers:{}}),emits:(0,i.mergeModels)([`update:show`,`save`,`add-field`,`remove-field`,`handle-primary-key`],[`update:editingTable`]),setup(e,{emit:t}){let r=(0,i.useModel)(e,`editingTable`),o=t,s=(e,t)=>o(`handle-primary-key`,e,t),c=()=>o(`add-field`),l=e=>o(`remove-field`,e);return(t,o)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.NDrawer),{show:e.show,width:`600`,placement:`right`,"onUpdate:show":o[4]||=e=>t.$emit(`update:show`,e)},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NDrawerContent),{title:`编辑表: ${r.value?.name||`新表`}`,closable:``},{footer:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NSpace),{justify:`end`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:o[2]||=e=>t.$emit(`update:show`,!1)},{default:(0,i.withCtx)(()=>[...o[11]||=[(0,i.createTextVNode)(`取消`,-1)]]),_:1}),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:o[3]||=e=>t.$emit(`save`),type:`primary`},{default:(0,i.withCtx)(()=>[...o[12]||=[(0,i.createTextVNode)(`保存`,-1)]]),_:1})]),_:1})]),default:(0,i.withCtx)(()=>[r.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,b,[(0,i.createVNode)((0,i.unref)(a.NForm),{model:r.value,"label-placement":`top`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`表名`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NInput),{value:r.value.name,"onUpdate:value":o[0]||=e=>r.value.name=e,placeholder:`请输入表名`},null,8,[`value`])]),_:1}),(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`表注释`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NInput),{value:r.value.comment,"onUpdate:value":o[1]||=e=>r.value.comment=e,placeholder:`表注释`},null,8,[`value`])]),_:1}),(0,i.createVNode)((0,i.unref)(a.NDivider),null,{default:(0,i.withCtx)(()=>[...o[5]||=[(0,i.createTextVNode)(`字段列表`,-1)]]),_:1}),(0,i.createElementVNode)(`div`,x,[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(r.value.fields,(e,t)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.NCard),{key:t,size:`small`,class:`field-card`},{header:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,S,[(0,i.createElementVNode)(`span`,null,`#`+(0,i.toDisplayString)(t+1)+` `+(0,i.toDisplayString)(e.name||`新字段`),1),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:e=>l(t),size:`tiny`,type:`error`,quaternary:``,disabled:r.value.fields.length<=1},{default:(0,i.withCtx)(()=>[...o[6]||=[(0,i.createTextVNode)(` 删除 `,-1)]]),_:1},8,[`onClick`,`disabled`])])]),default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NGrid),{cols:2,"x-gap":12},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NGi),null,{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`字段名`,size:`small`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NInput),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`字段名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),(0,i.createVNode)((0,i.unref)(a.NGi),null,{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`类型`,size:`small`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NSelect),{value:e.type,"onUpdate:value":t=>e.type=t,options:(0,i.unref)(y),size:`small`,filterable:``,placeholder:`选择类型`},null,8,[`value`,`onUpdate:value`,`options`])]),_:2},1024)]),_:2},1024)]),_:2},1024),(0,i.createVNode)((0,i.unref)(a.NSpace),{style:{"margin-top":`12px`}},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NCheckbox),{checked:e.isPrimaryKey,"onUpdate:checked":[t=>e.isPrimaryKey=t,t=>s(e,t)]},{default:(0,i.withCtx)(()=>[...o[7]||=[(0,i.createTextVNode)(` 主键 `,-1)]]),_:1},8,[`checked`,`onUpdate:checked`]),(0,i.createVNode)((0,i.unref)(a.NCheckbox),{checked:e.isRequired,"onUpdate:checked":t=>e.isRequired=t},{default:(0,i.withCtx)(()=>[...o[8]||=[(0,i.createTextVNode)(`必填`,-1)]]),_:1},8,[`checked`,`onUpdate:checked`]),(0,i.createVNode)((0,i.unref)(a.NCheckbox),{checked:e.isForeignKey,"onUpdate:checked":t=>e.isForeignKey=t},{default:(0,i.withCtx)(()=>[...o[9]||=[(0,i.createTextVNode)(`外键`,-1)]]),_:1},8,[`checked`,`onUpdate:checked`])]),_:2},1024),(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`注释`,size:`small`,style:{"margin-top":`12px`}},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NInput),{value:e.comment,"onUpdate:value":t=>e.comment=t,placeholder:`字段注释`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024))),128)),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:c,dashed:``,block:``,type:`primary`,ghost:``,style:{"margin-top":`16px`}},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:plus`,size:16})]),default:(0,i.withCtx)(()=>[o[10]||=(0,i.createTextVNode)(` 添加字段 `,-1)]),_:1})])]),_:1},8,[`model`])])):(0,i.createCommentVNode)(`v-if`,!0)]),_:1},8,[`title`])]),_:1},8,[`show`]))}}),w={class:`er-layout`},T={key:0,class:`toolbar`},E={key:0,style:{"margin-top":`8px`}},D=(0,i.defineComponent)({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},theme:{}},emits:[`ready`,`data-change`],setup(e,{expose:t,emit:r}){let s=e,c=r,l=(0,i.ref)(),{graph:u,initGraph:f,centerContent:p,zoomToFit:m}=d(l,(0,i.computed)(()=>s.theme===`dark`)),{exportOptions:h,handleExport:g}=v(u,`er-diagram`),_=(0,i.ref)(!1),y=(0,i.ref)(),b=(0,i.ref)(!1),x=(e,t)=>e.length>t?e.substring(0,t-1)+`..`:e,S=e=>e.fields?.map(t=>{let n=t.isPrimaryKey?`🔑 ${t.name}`:t.isRequired?`* ${t.name}`:t.name;return{id:`${e.id}_${t.name}`,group:`list`,attrs:{portNameLabel:{text:x(n,12),title:n},portTypeLabel:{text:x(t.type,10),title:t.type},portBody:{fill:t.isPrimaryKey?`#FFF7E6`:`#EFF4FF`}}}})||[],D=e=>({id:e.id,shape:`er-rect`,x:e.position.x,y:e.position.y,width:200,height:24+(e.fields?.length||0)*24,data:e,attrs:{label:{text:x(e.name,20),refX:.5,refY:10,textAnchor:`middle`,title:e.name}},ports:S(e)}),O=()=>{u.value&&(o.Graph.registerPortLayout(`erPortPosition`,e=>e.map((e,t)=>({position:{x:0,y:(t+1)*24},angle:0})),!0),o.Graph.registerNode(`er-rect`,{inherit:`rect`,markup:[{tagName:`rect`,selector:`body`},{tagName:`text`,selector:`label`}],attrs:{rect:{strokeWidth:1,stroke:`#5F95FF`,fill:`#5F95FF`},label:{fontWeight:`bold`,fill:`#ffffff`,fontSize:12}},ports:{groups:{list:{markup:[{tagName:`rect`,selector:`portBody`},{tagName:`text`,selector:`portNameLabel`},{tagName:`text`,selector:`portTypeLabel`}],attrs:{portBody:{width:200,height:24,strokeWidth:1,stroke:`#5F95FF`,fill:`#EFF4FF`,magnet:!0},portNameLabel:{ref:`portBody`,refX:6,refY:6,fontSize:9,textAnchor:`start`,textOverflow:`ellipsis`},portTypeLabel:{ref:`portBody`,refX:120,refY:6,fontSize:9,textAnchor:`start`,fill:`#666`}},position:`erPortPosition`}}}},!0))},k=()=>{b.value=!b.value,b.value||A()},A=()=>{u.value?.getEdges().forEach(e=>{e.attr(`line/stroke`,`#A2B1C3`),e.attr(`line/strokeWidth`,2)})},j=e=>{if(!u.value)return;let t=u.value.createNode(D(e));return u.value.resetCells([t,...u.value.getCells()]),t},M=()=>{let e=u.value?.getNodes()||[];for(let t=0;t<10;t++)for(let n=0;n<3;n++){let r={x:n*250+50,y:t*250+50};if(!e.some(e=>{let t=e.getPosition();return Math.abs(t.x-r.x)<250*.8&&Math.abs(t.y-r.y)<250*.8}))return r}return{x:50,y:50}},N=()=>{let e={id:`table_${Date.now()}`,name:`新表`,comment:``,fields:[{name:`id`,type:`BIGINT`,isPrimaryKey:!0,isRequired:!0,isForeignKey:!1,comment:`主键`},{name:`name`,type:`VARCHAR(100)`,isPrimaryKey:!1,isRequired:!0,isForeignKey:!1,comment:`名称`}],position:M()};j(e),P(e),B()},P=e=>{y.value={...e,fields:e.fields?.map(e=>({...e}))||[]},_.value=!0},F=()=>{if(!u.value||!y.value)return;let e=u.value.getCellById(y.value.id);e&&(e.setData(y.value),e.prop({size:{width:200,height:24+y.value.fields.length*24},attrs:{label:{text:x(y.value.name,20),title:y.value.name}},ports:S(y.value)})),_.value=!1,B()},I=(e,t)=>{t&&(e.isRequired=!0,y.value?.fields.forEach(t=>{t!==e&&(t.isPrimaryKey=!1)}))},L=()=>{y.value?.fields.push({name:`field_${(y.value?.fields.length||0)+1}`,type:`VARCHAR(100)`,isPrimaryKey:!1,isRequired:!1,isForeignKey:!1,comment:``})},R=e=>{y.value&&y.value.fields.length>1&&y.value.fields.splice(e,1)},z=()=>{if(!u.value)return{tables:[],relations:[]};let e=u.value.getNodes().map(e=>({...e.getData(),position:e.getPosition()})),t=[];return u.value.getEdges().forEach(e=>{let n=e.getSourceNode(),r=e.getTargetNode(),i=e.getSourcePortId(),a=e.getTargetPortId();n&&r&&i&&a&&t.push({id:e.id,type:`foreign-key`,sourceTable:n.id,sourceField:i.split(`_`).slice(1).join(`_`),targetTable:r.id,targetField:a.split(`_`).slice(1).join(`_`),name:`${n.getData()?.name||n.id} -> ${r.getData()?.name||r.id}`})}),{tables:e,relations:t}},B=()=>c(`data-change`,z());return(0,i.watch)(u,e=>{if(!(e instanceof o.Graph))return;O(),e.on(`node:dblclick`,({node:e})=>{s.readonly||P(e.getData())}),e.on(`edge:connected`,B),e.on(`edge:removed`,B);let t=null;e.on(`edge:click`,({edge:e})=>{b.value?(e.remove(),B()):(A(),e.attr(`line/stroke`,`#ff4d4f`),e.attr(`line/strokeWidth`,3),t=e)}),e.on(`edge:dblclick`,({edge:e})=>{e.remove(),B()}),e.on(`blank:click`,()=>{t=null,b.value||A()});let n=e=>{let n=e.target?.tagName;n===`INPUT`||n===`TEXTAREA`||e.target?.isContentEditable||(e.key===`Delete`||e.key===`Backspace`)&&t&&(t.remove(),B(),t=null)};document.addEventListener(`keydown`,n),(0,i.onUnmounted)(()=>document.removeEventListener(`keydown`,n)),c(`ready`,e),(0,i.nextTick)(()=>{if(s.data?.tables){let t=s.data.tables.map(t=>e.createNode(D(t)));s.data.relations?.length&&s.data.relations.forEach(n=>{t.push(e.createEdge({source:{cell:n.sourceTable,port:`${n.sourceTable}_${n.sourceField}`},target:{cell:n.targetTable,port:`${n.targetTable}_${n.targetField}`},attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2}}}))}),e.resetCells(t),setTimeout(()=>e.zoomToFit({padding:20,maxScale:1}),300)}})},{immediate:!0}),(0,i.watch)(()=>s.data,e=>{if(u.value&&e?.tables){let t=e.tables.map(e=>u.value.createNode(D(e)));e.relations?.length&&e.relations.forEach(e=>{t.push(u.value.createEdge({source:{cell:e.sourceTable,port:`${e.sourceTable}_${e.sourceField}`},target:{cell:e.targetTable,port:`${e.targetTable}_${e.targetField}`},attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2}}}))}),u.value.resetCells(t)}},{deep:!0}),(0,i.onMounted)(()=>f()),t({getGraph:()=>u.value??void 0,getData:z}),(t,r)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,w,[(0,i.createCommentVNode)(` 工具栏 `),e.showToolbar?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,T,[(0,i.createVNode)((0,i.unref)(a.NSpace),null,{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:N,type:`primary`,size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:table-plus`,size:16})]),default:(0,i.withCtx)(()=>[r[3]||=(0,i.createTextVNode)(` 添加表 `,-1)]),_:1}),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:(0,i.unref)(p),size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:image-filter-center-focus`,size:16})]),default:(0,i.withCtx)(()=>[r[4]||=(0,i.createTextVNode)(` 居中 `,-1)]),_:1},8,[`onClick`]),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:(0,i.unref)(m),size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:fit-to-screen`,size:16})]),default:(0,i.withCtx)(()=>[r[5]||=(0,i.createTextVNode)(` 适应 `,-1)]),_:1},8,[`onClick`]),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:k,type:b.value?`error`:`default`,size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:delete`,size:16})]),default:(0,i.withCtx)(()=>[(0,i.createTextVNode)(` `+(0,i.toDisplayString)(b.value?`退出删除`:`删除连线`),1)]),_:1},8,[`type`]),(0,i.createVNode)((0,i.unref)(a.NDropdown),{options:(0,i.unref)(h),onSelect:r[0]||=e=>(0,i.unref)(g)(e,z)},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NButton),{size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:export`,size:16})]),default:(0,i.withCtx)(()=>[r[6]||=(0,i.createTextVNode)(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])]),_:1}),b.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,E,[(0,i.createVNode)((0,i.unref)(a.NAlert),{type:`info`,size:`small`,"show-icon":!1},{default:(0,i.withCtx)(()=>[...r[7]||=[(0,i.createTextVNode)(` 删除模式:点击连接线即可删除 `,-1)]]),_:1})])):(0,i.createCommentVNode)(`v-if`,!0)])):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createCommentVNode)(` 图表容器 `),(0,i.createElementVNode)(`div`,{ref_key:`containerRef`,ref:l,class:`graph-container`},null,512),(0,i.createCommentVNode)(` 表编辑器 `),(0,i.createVNode)(C,{show:_.value,"editing-table":y.value,"onUpdate:editingTable":r[1]||=e=>y.value=e,"onUpdate:show":r[2]||=e=>_.value=e,onSave:F,onAddField:L,onRemoveField:R,onHandlePrimaryKey:I},null,8,[`show`,`editing-table`])]))}});var O=r.t(D,[[`__scopeId`,`data-v-19cb7526`]]);const k={defaultColor:`#A2B1C3`,highlightColor:`#ff4d4f`,strokeWidth:2,highlightStrokeWidth:3,portPositions:[],onDataChange:()=>{}};function A(e,t={}){let n={...k,...t},r=()=>{e.value?.getEdges().forEach(e=>{e.attr(`line/stroke`,n.defaultColor),e.attr(`line/strokeWidth`,n.strokeWidth)})},i=e=>{r(),e.attr(`line/stroke`,n.highlightColor),e.attr(`line/strokeWidth`,n.highlightStrokeWidth)},a=(e,t)=>{n.portPositions.forEach(n=>e.attr(`port-${n}/style/opacity`,t))};return{resetEdgeStyles:r,highlightEdge:i,togglePorts:a,bindInteractions:()=>{let t=e.value;t&&(t.on(`edge:click`,({edge:e})=>i(e)),t.on(`edge:dblclick`,({edge:e})=>{e.remove(),n.onDataChange()}),t.on(`blank:click`,r),t.on(`node:click`,r),t.on(`edge:connected`,n.onDataChange),n.portPositions.length>0&&(t.on(`node:mouseenter`,({node:e})=>a(e,1)),t.on(`node:mouseleave`,({node:e})=>a(e,0))))}}}const j={"start-event":{name:`开始`,title:`开始事件`,iconClass:`circle start-event`},activity:{name:`任务`,title:`任务活动`,iconClass:`rect activity`},gateway:{name:`网关`,title:`排他网关`,iconClass:`diamond gateway`},"end-event":{name:`结束`,title:`结束事件`,iconClass:`circle end-event`}},M={event:`事件`,activity:`活动`,gateway:`网关`,"bpmn-edge":`连接线`},N=[`top`,`right`,`bottom`,`left`],P=(e,t=`rect`)=>e.reduce((e,n)=>{let r=t===`circle`,i=n===`top`?r?{refCx:.5,refCy:0}:{refX:.5,refY:0}:n===`right`?r?{refCx:1,refCy:.5}:{refX:1,refY:.5}:n===`bottom`?r?{refCx:.5,refCy:1}:{refX:.5,refY:1}:r?{refCx:0,refCy:.5}:{refX:0,refY:.5};return e[`port-${n}`]={ref:`body`,...i,r:4,fill:`#31d0c6`,stroke:`#ffffff`,strokeWidth:2,magnet:!0,style:{cursor:`crosshair`,opacity:0,transition:`opacity 0.2s`}},e},{}),F={event:{inherit:`circle`,attrs:{body:{strokeWidth:2,stroke:`#5F95FF`,fill:`#FFF`,magnet:!1,style:{cursor:`move`}},text:{fontSize:12,fill:`#262626`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}},activity:{inherit:`rect`,attrs:{body:{rx:6,ry:6,stroke:`#5F95FF`,fill:`#EFF4FF`,strokeWidth:1,magnet:!1,style:{cursor:`move`}},text:{fontSize:12,fill:`#262626`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}},gateway:{inherit:`polygon`,attrs:{body:{refPoints:`0,10 10,0 20,10 10,20`,strokeWidth:2,stroke:`#5F95FF`,fill:`#EFF4FF`,magnet:!1,style:{cursor:`move`}},text:{fontSize:20,fill:`#5F95FF`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}}},I={inherit:`edge`,attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2,targetMarker:{name:`block`,width:8,height:6,fill:`#A2B1C3`},cursor:`pointer`}}};function L(e=!1){let t={background:e?`#18181c`:`#ffffff`,gridPrimary:e?`rgba(255, 255, 255, 0.08)`:`#eee`,gridSecondary:e?`rgba(255, 255, 255, 0.04)`:`#ddd`};return{background:{color:t.background},grid:{visible:!0,type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]},mousewheel:{enabled:!0,zoomAtMousePosition:!0,modifiers:`ctrl`,minScale:.5,maxScale:3},connecting:{router:`manhattan`,connector:{name:`rounded`,args:{radius:8}},allowBlank:!1,allowLoop:!1,allowNode:!1,snap:!0,allowEdge:!1},highlighting:{magnetAvailable:{name:`stroke`,args:{attrs:{fill:`#31d0c6`,stroke:`#31d0c6`,opacity:1}}},magnetAdsorbed:{name:`stroke`,args:{attrs:{fill:`#5F95FF`,stroke:`#5F95FF`,opacity:1}}}},selecting:{enabled:!0,rubberband:!0,showNodeSelectionBox:!0},resizing:!0,rotating:!1,snapline:!0,keyboard:!0,clipboard:!0}}L();const R={"start-event":{shape:`event`,width:50,height:50,label:`开始事件`,data:{type:`start`}},"end-event":{shape:`event`,width:50,height:50,label:`结束事件`,data:{type:`end`}},activity:{shape:`activity`,width:120,height:60,label:`新活动`,data:{description:``,assignee:``}},gateway:{shape:`gateway`,width:40,height:40,label:`+`,data:{type:`exclusive`}}},z=[{id:`start-1`,shape:`event`,x:100,y:200,width:50,height:50,label:`流程开始`,data:{type:`start`}},{id:`activity-1`,shape:`activity`,x:200,y:180,width:120,height:60,label:`用户申请`,data:{description:`用户提交申请表单`,assignee:`申请人`}},{id:`activity-2`,shape:`activity`,x:380,y:180,width:120,height:60,label:`初审`,data:{description:`部门进行初步审核`,assignee:`部门主管`}},{id:`gateway-1`,shape:`gateway`,x:550,y:200,width:40,height:40,label:`+`,data:{type:`exclusive`}},{id:`activity-3`,shape:`activity`,x:650,y:120,width:120,height:60,label:`终审`,data:{description:`高级主管最终审核`,assignee:`总监`}},{id:`activity-4`,shape:`activity`,x:650,y:260,width:120,height:60,label:`驳回处理`,data:{description:`处理驳回流程`,assignee:`专员`}},{id:`end-1`,shape:`event`,x:820,y:140,width:50,height:50,label:`审批通过`,data:{type:`end`}},{id:`end-2`,shape:`event`,x:820,y:280,width:50,height:50,label:`审批驳回`,data:{type:`end`}},{id:`edge-1`,shape:`bpmn-edge`,source:`start-1`,target:`activity-1`,x:0,y:0},{id:`edge-2`,shape:`bpmn-edge`,source:`activity-1`,target:`activity-2`,x:0,y:0},{id:`edge-3`,shape:`bpmn-edge`,source:`activity-2`,target:`gateway-1`,x:0,y:0},{id:`edge-4`,shape:`bpmn-edge`,source:`gateway-1`,target:`activity-3`,label:`通过`,x:0,y:0},{id:`edge-5`,shape:`bpmn-edge`,source:`gateway-1`,target:`activity-4`,label:`驳回`,x:0,y:0},{id:`edge-6`,shape:`bpmn-edge`,source:`activity-3`,target:`end-1`,x:0,y:0},{id:`edge-7`,shape:`bpmn-edge`,source:`activity-4`,target:`end-2`,x:0,y:0}],B={key:0,class:`property-panel`},ee={class:`property-item`},te={class:`property-item`},ne={key:0,class:`property-item`},V={key:1,class:`property-item`},H={class:`form-actions`},U=(0,i.defineComponent)({__name:`BPMNPropertyEditor`,props:(0,i.mergeModels)({show:{type:Boolean}},{editingElement:{},editingElementModifiers:{}}),emits:(0,i.mergeModels)([`update:show`,`save`,`delete`],[`update:editingElement`]),setup(e,{emit:t}){let n=(0,i.useModel)(e,`editingElement`),r=t,o=(0,i.computed)(()=>M[n.value?.shape]||n.value?.shape||``);return(t,s)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.NDrawer),{show:e.show,width:`300`,title:`属性设置`,"onUpdate:show":s[6]||=e=>r(`update:show`,e)},{default:(0,i.withCtx)(()=>[n.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,B,[(0,i.createElementVNode)(`div`,ee,[s[7]||=(0,i.createElementVNode)(`div`,{class:`property-label`},`名称`,-1),(0,i.createVNode)((0,i.unref)(a.NInput),{value:n.value.label,"onUpdate:value":s[0]||=e=>n.value.label=e,placeholder:`请输入名称`,size:`small`},null,8,[`value`])]),(0,i.createElementVNode)(`div`,te,[s[8]||=(0,i.createElementVNode)(`div`,{class:`property-label`},`类型`,-1),(0,i.createVNode)((0,i.unref)(a.NInput),{value:o.value,readonly:``,size:`small`},null,8,[`value`])]),n.value.shape===`activity`?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,ne,[s[9]||=(0,i.createElementVNode)(`div`,{class:`property-label`},`描述`,-1),(0,i.createVNode)((0,i.unref)(a.NInput),{value:n.value.description,"onUpdate:value":s[1]||=e=>n.value.description=e,type:`textarea`,rows:3,placeholder:`请输入活动描述`,size:`small`},null,8,[`value`])])):(0,i.createCommentVNode)(`v-if`,!0),n.value.shape===`activity`?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,V,[s[10]||=(0,i.createElementVNode)(`div`,{class:`property-label`},`执行人`,-1),(0,i.createVNode)((0,i.unref)(a.NInput),{value:n.value.assignee,"onUpdate:value":s[2]||=e=>n.value.assignee=e,placeholder:`请输入执行人`,size:`small`},null,8,[`value`])])):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createElementVNode)(`div`,H,[(0,i.createVNode)((0,i.unref)(a.NSpace),null,{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:s[3]||=e=>r(`save`),type:`primary`,size:`small`},{default:(0,i.withCtx)(()=>[...s[11]||=[(0,i.createTextVNode)(` 保存 `,-1)]]),_:1}),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:s[4]||=e=>r(`update:show`,!1),size:`small`},{default:(0,i.withCtx)(()=>[...s[12]||=[(0,i.createTextVNode)(` 取消 `,-1)]]),_:1}),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:s[5]||=e=>r(`delete`),type:`error`,size:`small`},{default:(0,i.withCtx)(()=>[...s[13]||=[(0,i.createTextVNode)(` 删除 `,-1)]]),_:1})]),_:1})])])):(0,i.createCommentVNode)(`v-if`,!0)]),_:1},8,[`show`]))}}),W={class:`bpmn-layout`},G={key:0,class:`top-toolbar`},K={class:`toolbar-section`},q={class:`toolbar-group`},J={class:`toolbar-group`},Y={class:`toolbar-group`},X={class:`main-content`},Z={key:0,class:`left-panel`},re={class:`element-grid`},ie=[`onClick`,`title`],ae={class:`graph-wrapper`},oe=(0,i.defineComponent)({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},width:{default:`100%`},height:{default:`600px`},theme:{}},emits:[`ready`,`data-change`],setup(e,{expose:t,emit:r}){let s=e,c=r,l=(0,i.ref)(),{graph:u,initGraph:f,centerContent:p,zoomToFit:m}=d(l,(0,i.computed)(()=>s.theme===`dark`)),{exportOptions:h,handleExport:g}=v(u,`bpmn-diagram`),{bindInteractions:_}=A(u,{portPositions:N,onDataChange:()=>B()}),y=(0,i.ref)(!1),b=(0,i.ref)(),x=e=>String(e.attr(`text/text`)||e.attr(`label/text`)||``),S=e=>{if(!e)return[];if(Array.isArray(e))return e;let t=[];return Object.values(e).forEach(e=>{Array.isArray(e)&&t.push(...e)}),t},C=()=>{let e=N.map(e=>({tagName:`circle`,selector:`port-${e}`})),t=[`event`,`activity`,`gateway`],n={event:`circle`,activity:`rect`,gateway:`polygon`};t.forEach(t=>{o.Graph.registerNode(t,{...F[t],markup:[{tagName:n[t],selector:`body`},{tagName:`text`,selector:`text`},...e],attrs:{...F[t].attrs,...P(N,n[t])}},!0)}),o.Graph.registerEdge(`bpmn-edge`,I,!0)},w=e=>{if(!u.value||!e.length)return;let t=e.map(e=>{let{data:t,...n}=e,r=e.shape===`bpmn-edge`?u.value.createEdge(n):u.value.createNode(n);return t&&r.setData(t),r});u.value.resetCells(t),setTimeout(()=>u.value.zoomToFit({padding:50,maxScale:1}),200)},T=e=>{if(!u.value)return;let t=R[e];if(!t)return;let n=u.value.options.width/2,r=u.value.options.height/2,{data:i,...a}={id:`${e}-${Date.now()}`,x:n+Math.random()*100-50,y:r+Math.random()*100-50,...t},o=u.value.createNode(a);i&&o.setData(i),u.value.addCell(o),B()},E=()=>{u.value?.clearCells(),B()},D=e=>{let t=e.getData()||{};b.value={id:e.id,shape:e.shape,label:x(e),description:t.description||``,assignee:t.assignee||``,x:0,y:0},y.value=!0},O=()=>{if(!u.value||!b.value)return;let e=u.value.getCellById(b.value.id);e&&(e.setData({description:b.value.description,assignee:b.value.assignee}),e.attr(`text/text`,b.value.label||``),e.attr(`label/text`,b.value.label||``)),y.value=!1,B()},k=()=>{!u.value||!b.value||(u.value.getCellById(b.value.id)?.remove(),y.value=!1,B())},M=()=>u.value?[...u.value.getNodes().map(e=>({id:e.id,shape:e.shape,x:e.getPosition().x,y:e.getPosition().y,width:e.getSize().width,height:e.getSize().height,label:x(e),data:e.getData()||{}})),...u.value.getEdges().map(e=>({id:e.id,shape:`bpmn-edge`,source:e.getSourceCellId()||``,target:e.getTargetCellId()||``,label:x(e),x:0,y:0}))]:[],B=()=>c(`data-change`,M());return(0,i.watch)(u,e=>{e instanceof o.Graph&&(s.readonly||(_(),e.on(`node:dblclick`,({node:e})=>D(e)),e.on(`node:moved`,B)),c(`ready`,e),w(z))},{immediate:!0}),(0,i.watch)(()=>s.data,e=>{if(!e||!u.value)return;let t=S(e);t.length>0&&w(t)},{deep:!0}),(0,i.onMounted)(async()=>{C();let e=L();await f({...e,connecting:{...e.connecting,createEdge:()=>u.value.createEdge({shape:`bpmn-edge`}),validateConnection:({sourceView:e,targetView:t,sourceMagnet:n,targetMagnet:r})=>e!==t&&!!n&&!!r&&n.getAttribute(`magnet`)===`true`&&r.getAttribute(`magnet`)===`true`}})}),t({getGraph:()=>u.value,getData:M,loadData:w}),(t,r)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,W,[e.showToolbar?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,G,[(0,i.createElementVNode)(`div`,K,[(0,i.createElementVNode)(`div`,q,[(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:E,size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:delete-outline`,size:16})]),default:(0,i.withCtx)(()=>[r[3]||=(0,i.createTextVNode)(` 清空 `,-1)]),_:1})]),(0,i.createElementVNode)(`div`,J,[(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:(0,i.unref)(p),size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:image-filter-center-focus`,size:16})]),default:(0,i.withCtx)(()=>[r[4]||=(0,i.createTextVNode)(` 居中 `,-1)]),_:1},8,[`onClick`]),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:(0,i.unref)(m),size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:fit-to-screen`,size:16})]),default:(0,i.withCtx)(()=>[r[5]||=(0,i.createTextVNode)(` 适应 `,-1)]),_:1},8,[`onClick`])]),(0,i.createElementVNode)(`div`,Y,[(0,i.createVNode)((0,i.unref)(a.NDropdown),{options:(0,i.unref)(h),onSelect:r[0]||=e=>(0,i.unref)(g)(e,M)},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NButton),{size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:export`,size:16})]),default:(0,i.withCtx)(()=>[r[6]||=(0,i.createTextVNode)(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])])])])):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createElementVNode)(`div`,X,[e.showToolbar?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,Z,[r[7]||=(0,i.createElementVNode)(`div`,{class:`panel-title`},`组件`,-1),(0,i.createElementVNode)(`div`,re,[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)((0,i.unref)(j),(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:t,class:`element-item`,onClick:e=>T(t),title:e.title},[(0,i.createElementVNode)(`div`,{class:(0,i.normalizeClass)([`element-icon`,e.iconClass])},null,2),(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(e.name),1)],8,ie))),128))])])):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createElementVNode)(`div`,ae,[(0,i.createElementVNode)(`div`,{ref_key:`containerRef`,ref:l,class:`graph-container`},null,512)])]),(0,i.createVNode)(U,{show:y.value,"editing-element":b.value,"onUpdate:editingElement":r[1]||=e=>b.value=e,"onUpdate:show":r[2]||=e=>y.value=e,onSave:O,onDelete:k},null,8,[`show`,`editing-element`])]))}});var se=r.t(oe,[[`__scopeId`,`data-v-d588444e`]]);const ce={key:0,class:`class-editor`},le={class:`section`},ue={class:`section-header`},de={style:{"font-size":`13px`}},fe={class:`section`},pe={class:`section-header`},me={style:{"font-size":`13px`}},he=(0,i.defineComponent)({__name:`UMLClassEditor`,props:(0,i.mergeModels)({show:{type:Boolean}},{editingClass:{},editingClassModifiers:{}}),emits:(0,i.mergeModels)([`update:show`,`save`,`delete`],[`update:editingClass`]),setup(e,{emit:t}){let r=(0,i.useModel)(e,`editingClass`),o=t;return(t,s)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.NDrawer),{show:e.show,width:`450`,title:`编辑类`,"onUpdate:show":s[6]||=e=>o(`update:show`,e)},{default:(0,i.withCtx)(()=>[r.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,ce,[(0,i.createVNode)((0,i.unref)(a.NForm),{"label-placement":`top`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`类名`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NInput),{value:r.value.name,"onUpdate:value":s[0]||=e=>r.value.name=e,placeholder:`请输入类名`},null,8,[`value`])]),_:1}),(0,i.createVNode)((0,i.unref)(a.NDivider),{style:{margin:`20px 0`}},{default:(0,i.withCtx)(()=>[...s[7]||=[(0,i.createTextVNode)(`属性`,-1)]]),_:1}),(0,i.createElementVNode)(`div`,le,[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(r.value.attributes,(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:t,class:`item`},[(0,i.createVNode)((0,i.unref)(a.NCard),{size:`small`,style:{"margin-bottom":`12px`}},{header:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,ue,[(0,i.createElementVNode)(`span`,de,`#`+(0,i.toDisplayString)(t+1)+` `+(0,i.toDisplayString)(e.name||`新属性`),1),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:e=>r.value.attributes.splice(t,1),size:`tiny`,type:`error`,quaternary:``,style:{"margin-left":`auto`}},{default:(0,i.withCtx)(()=>[...s[8]||=[(0,i.createTextVNode)(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NSpace),{vertical:``,size:`small`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NSpace),null,{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`属性名`,style:{margin:`0`,flex:`1`}},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NInput),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`属性名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`类型`,style:{margin:`0`,flex:`1`}},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NInput),{value:e.type,"onUpdate:value":t=>e.type=t,placeholder:`类型`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`可见性`,style:{margin:`0`}},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NRadioGroup),{value:e.visibility,"onUpdate:value":t=>e.visibility=t,size:`small`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NRadio),{value:`public`},{default:(0,i.withCtx)(()=>[...s[9]||=[(0,i.createTextVNode)(`+ public`,-1)]]),_:1}),(0,i.createVNode)((0,i.unref)(a.NRadio),{value:`private`},{default:(0,i.withCtx)(()=>[...s[10]||=[(0,i.createTextVNode)(`- private`,-1)]]),_:1}),(0,i.createVNode)((0,i.unref)(a.NRadio),{value:`protected`},{default:(0,i.withCtx)(()=>[...s[11]||=[(0,i.createTextVNode)(`# protected`,-1)]]),_:1})]),_:1},8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128)),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:s[1]||=e=>r.value.attributes.push({name:`newAttribute`,type:`string`,visibility:`private`}),dashed:``,block:``,type:`primary`,ghost:``,size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:plus`,size:16})]),default:(0,i.withCtx)(()=>[s[12]||=(0,i.createTextVNode)(` 添加属性 `,-1)]),_:1})]),(0,i.createVNode)((0,i.unref)(a.NDivider),{style:{margin:`20px 0`}},{default:(0,i.withCtx)(()=>[...s[13]||=[(0,i.createTextVNode)(`方法`,-1)]]),_:1}),(0,i.createElementVNode)(`div`,fe,[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(r.value.methods,(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:t,class:`item`},[(0,i.createVNode)((0,i.unref)(a.NCard),{size:`small`,style:{"margin-bottom":`12px`}},{header:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,pe,[(0,i.createElementVNode)(`span`,me,`#`+(0,i.toDisplayString)(t+1)+` `+(0,i.toDisplayString)(e.name||`新方法`),1),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:e=>r.value.methods.splice(t,1),size:`tiny`,type:`error`,quaternary:``,style:{"margin-left":`auto`}},{default:(0,i.withCtx)(()=>[...s[14]||=[(0,i.createTextVNode)(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NSpace),{vertical:``,size:`small`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NSpace),null,{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`方法名`,style:{margin:`0`,flex:`1`}},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NInput),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`方法名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`返回类型`,style:{margin:`0`,flex:`1`}},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NInput),{value:e.returnType,"onUpdate:value":t=>e.returnType=t,placeholder:`返回类型`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),(0,i.createVNode)((0,i.unref)(a.NFormItem),{label:`可见性`,style:{margin:`0`}},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NRadioGroup),{value:e.visibility,"onUpdate:value":t=>e.visibility=t,size:`small`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NRadio),{value:`public`},{default:(0,i.withCtx)(()=>[...s[15]||=[(0,i.createTextVNode)(`+ public`,-1)]]),_:1}),(0,i.createVNode)((0,i.unref)(a.NRadio),{value:`private`},{default:(0,i.withCtx)(()=>[...s[16]||=[(0,i.createTextVNode)(`- private`,-1)]]),_:1}),(0,i.createVNode)((0,i.unref)(a.NRadio),{value:`protected`},{default:(0,i.withCtx)(()=>[...s[17]||=[(0,i.createTextVNode)(`# protected`,-1)]]),_:1})]),_:1},8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128)),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:s[2]||=e=>r.value.methods.push({name:`newMethod`,returnType:`void`,visibility:`public`}),dashed:``,block:``,type:`primary`,ghost:``,size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:plus`,size:16})]),default:(0,i.withCtx)(()=>[s[18]||=(0,i.createTextVNode)(` 添加方法 `,-1)]),_:1})]),(0,i.createVNode)((0,i.unref)(a.NDivider),{style:{margin:`20px 0`}}),(0,i.createVNode)((0,i.unref)(a.NSpace),{justify:`space-between`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:s[3]||=e=>o(`delete`),type:`error`,ghost:``},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:delete`,size:16})]),default:(0,i.withCtx)(()=>[s[19]||=(0,i.createTextVNode)(` 删除类 `,-1)]),_:1}),(0,i.createVNode)((0,i.unref)(a.NSpace),null,{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:s[4]||=e=>o(`update:show`,!1)},{default:(0,i.withCtx)(()=>[...s[20]||=[(0,i.createTextVNode)(`取消`,-1)]]),_:1}),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:s[5]||=e=>o(`save`),type:`primary`},{default:(0,i.withCtx)(()=>[...s[21]||=[(0,i.createTextVNode)(` 保存 `,-1)]]),_:1})]),_:1})]),_:1})]),_:1})])):(0,i.createCommentVNode)(`v-if`,!0)]),_:1},8,[`show`]))}});var ge=r.t(he,[[`__scopeId`,`data-v-102d6be6`]]);const _e={public:`+`,private:`-`,protected:`#`},ve={extends:{strokeDasharray:0,targetMarker:{name:`block`,width:10,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},implement:{strokeDasharray:`8,4`,targetMarker:{name:`block`,width:10,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},composition:{strokeDasharray:0,sourceMarker:{name:`diamond`,width:12,height:8,fill:`#722ed1`,stroke:`#722ed1`}},aggregation:{strokeDasharray:0,sourceMarker:{name:`diamond`,width:12,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},association:{strokeDasharray:0,targetMarker:{name:`classic`,size:8,fill:`#722ed1`}}},ye=[`top`,`right`,`bottom`,`left`].reduce((e,t)=>{let n=t===`top`?{refX:.5,refY:0}:t===`right`?{refX:1,refY:.5}:t===`bottom`?{refX:.5,refY:1}:{refX:0,refY:.5};return e[`port-${t}`]={ref:`body`,...n,r:4,fill:`#31d0c6`,stroke:`#ffffff`,strokeWidth:2,magnet:!0,style:{cursor:`crosshair`,opacity:0,transition:`opacity 0.2s`}},e},{}),be={inherit:`rect`,markup:[{tagName:`rect`,selector:`body`},{tagName:`rect`,selector:`name-rect`},{tagName:`rect`,selector:`attrs-rect`},{tagName:`rect`,selector:`methods-rect`},{tagName:`text`,selector:`name-text`},{tagName:`text`,selector:`attrs-text`},{tagName:`text`,selector:`methods-text`},{tagName:`circle`,selector:`port-top`},{tagName:`circle`,selector:`port-right`},{tagName:`circle`,selector:`port-bottom`},{tagName:`circle`,selector:`port-left`}],attrs:{rect:{width:160},body:{stroke:`#5f95ff`,strokeWidth:1,fill:`#fff`,magnet:!1,style:{cursor:`move`}},"name-rect":{fill:`#5f95ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"attrs-rect":{fill:`#eff4ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"methods-rect":{fill:`#eff4ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"name-text":{ref:`name-rect`,refY:.5,refX:.5,textAnchor:`middle`,fontWeight:`bold`,fill:`#fff`,fontSize:12,pointerEvents:`none`},"attrs-text":{ref:`attrs-rect`,refY:.5,refX:5,textAnchor:`left`,fill:`black`,fontSize:10,pointerEvents:`none`},"methods-text":{ref:`methods-rect`,refY:.5,refX:5,textAnchor:`left`,fill:`black`,fontSize:10,pointerEvents:`none`},...ye}},xe={router:`manhattan`,connector:{name:`rounded`,args:{radius:8}},allowBlank:!1,allowLoop:!1,allowNode:!1,snap:!0,allowEdge:!1},Q={magnetAvailable:{name:`stroke`,args:{attrs:{fill:`#31d0c6`,stroke:`#31d0c6`,opacity:1}}},magnetAdsorbed:{name:`stroke`,args:{attrs:{fill:`#5F95FF`,stroke:`#5F95FF`,opacity:1}}}},Se={shape:`extends`,attrs:{line:{stroke:`#722ed1`,strokeWidth:2,targetMarker:{name:`block`,width:8,height:6,fill:`#722ed1`}}}},Ce=[{id:`animal`,name:`<<Abstract>>
|
|
2
|
+
动物`,x:342,y:98,attributes:[{name:`名字`,type:`string`,visibility:`public`}],methods:[{name:`新陈代谢`,returnType:`void`,visibility:`public`},{name:`繁殖`,returnType:`void`,visibility:`public`}]},{id:`bird`,name:`鸟`,x:575,y:280,attributes:[{name:`羽毛`,type:`string`,visibility:`public`},{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`mammal`,name:`哺乳动物`,x:844,y:319,attributes:[{name:`翅膀`,type:`boolean`,visibility:`public`}],methods:[]},{id:`dog`,name:`狗`,x:656,y:456,attributes:[{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`enterprise`,name:`企鹅`,x:984,y:456,attributes:[{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`sparrow`,name:`麻雀`,x:531,y:608,attributes:[{name:`学飞`,type:`boolean`,visibility:`public`}],methods:[]},{id:`interface-flying`,name:`<<interface>>
|
|
3
|
+
飞翔`,x:762,y:608,attributes:[{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`qemu`,name:`气球`,x:981,y:608,attributes:[],methods:[]}],we=[{id:`edge-1`,shape:`extends`,source:`bird`,target:`animal`},{id:`edge-2`,shape:`extends`,source:`mammal`,target:`animal`},{id:`edge-3`,shape:`extends`,source:`dog`,target:`mammal`},{id:`edge-4`,shape:`extends`,source:`enterprise`,target:`mammal`},{id:`edge-5`,shape:`extends`,source:`sparrow`,target:`bird`},{id:`edge-6`,shape:`implement`,source:`sparrow`,target:`interface-flying`},{id:`edge-7`,shape:`implement`,source:`enterprise`,target:`interface-flying`},{id:`edge-8`,shape:`association`,source:`bird`,target:`mammal`,label:`1:2`}],$=e=>_e[e]||`+`,Te={name:`新类`,attributes:[{name:`attribute`,type:`string`,visibility:`private`}],methods:[{name:`method`,returnType:`void`,visibility:`public`}],position:{x:100,y:100}},Ee={class:`uml-layout`},De={key:0,class:`toolbar`},Oe=(0,i.defineComponent)({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},width:{default:`100%`},height:{default:`600px`},theme:{}},emits:[`ready`,`data-change`],setup(e,{expose:t,emit:r}){let s=e,c=r,l=(0,i.ref)(),{graph:u,initGraph:f,centerContent:p,zoomToFit:m}=d(l,(0,i.computed)(()=>s.theme===`dark`)),{exportOptions:h,handleExport:g}=v(u,`uml-diagram`),{bindInteractions:_}=A(u,{defaultColor:`#722ed1`,portPositions:[`top`,`right`,`bottom`,`left`],onDataChange:()=>k()}),y=(0,i.ref)(!1),b=(0,i.ref)(),x=()=>{o.Graph.registerNode(`class`,{...be,propHooks(e){let{name:t,attributes:n,methods:r,...i}=e;if(!(t&&n&&r))return e;let a=0;return[{type:`name`,text:t},{type:`attrs`,text:n},{type:`methods`,text:r}].forEach(e=>{let t=Array.isArray(e.text)?e.text.length*12+16:32;o.ObjectExt.setByPath(i,`attrs/${e.type}-text/text`,Array.isArray(e.text)?e.text.join(`
|
|
4
|
+
`):e.text),o.ObjectExt.setByPath(i,`attrs/${e.type}-rect/height`,t),o.ObjectExt.setByPath(i,`attrs/${e.type}-rect/transform`,`translate(0,${a})`),a+=t}),i.size={width:160,height:a},i}},!0),Object.entries(ve).forEach(([e,t])=>{o.Graph.registerEdge(e,{inherit:`edge`,attrs:{line:{strokeWidth:2,stroke:`#722ed1`,...t}}},!0)})},S=e=>{if(!u.value||!e.length)return;let t=[`extends`,`composition`,`implement`,`aggregation`,`association`],n=[];e.forEach(e=>{if(t.includes(e.shape))n.push(u.value.createEdge(e));else{let{data:t,...r}=e,i=u.value.createNode(r);t&&i.setData(t),n.push(i)}}),u.value.resetCells(n),setTimeout(()=>u.value.zoomToFit({padding:10,maxScale:1}),200)},C=e=>({name:e.name,attributes:e.attributes.map(e=>`${$(e.visibility)} ${e.name}: ${e.type}`),methods:e.methods.map(e=>`${$(e.visibility)} ${e.name}(): ${e.returnType}`)}),w=()=>{if(!u.value)return;let e={id:`class_${Date.now()}`,...Te},t={id:e.id,shape:`class`,x:e.position.x,y:e.position.y,...C(e),data:e};u.value.addCell(u.value.createNode(t)),k()},T=e=>{b.value={...e,attributes:[...e.attributes||[]],methods:[...e.methods||[]]},y.value=!0},E=()=>{if(!u.value||!b.value)return;let e=u.value.getCellById(b.value.id);e&&(e.setData(b.value),e.prop(C(b.value))),y.value=!1,k()},D=()=>{!u.value||!b.value||(u.value.getCellById(b.value.id)?.remove(),y.value=!1,k())},O=()=>({classes:u.value?.getNodes().map(e=>({...e.getData(),position:e.getPosition()}))||[],relations:u.value?.getEdges().map(e=>({id:e.id,type:e.shape,source:e.getSourceCellId()||``,target:e.getTargetCellId()||``}))||[]}),k=()=>c(`data-change`,O());return(0,i.watch)(u,e=>{e instanceof o.Graph&&(x(),_(),e.on(`node:dblclick`,({node:e})=>{!s.readonly&&e.getData()&&T(e.getData())}),c(`ready`,e),S([...Ce.map(e=>({id:e.id,shape:`class`,x:e.x,y:e.y,...C(e),data:{id:e.id,name:e.name,attributes:e.attributes,methods:e.methods,position:{x:e.x,y:e.y}}})),...we]))},{immediate:!0}),(0,i.watch)(()=>s.data,e=>{if(u.value&&e?.classes){let t=[`extends`,`composition`,`implement`,`aggregation`,`association`];S([...e.classes.map(e=>({id:e.id,shape:`class`,x:e.position?.x??50,y:e.position?.y??50,...C(e),data:e})),...(e.relations||[]).filter(e=>t.includes(e.type)).map(e=>({shape:e.type,source:e.source,target:e.target}))])}},{deep:!0}),(0,i.onMounted)(()=>{f({interacting:!0,connecting:{...xe,createEdge:()=>u.value.createEdge(Se),validateConnection:({sourceView:e,targetView:t,sourceMagnet:n,targetMagnet:r})=>e!==t&&!!n&&!!r&&n.getAttribute(`magnet`)===`true`&&r.getAttribute(`magnet`)===`true`},highlighting:Q})}),t({getGraph:()=>u.value,getData:O,addClass:w,centerContent:p,zoomToFit:m}),(t,r)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,Ee,[e.showToolbar?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,De,[(0,i.createVNode)((0,i.unref)(a.NSpace),null,{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:w,type:`primary`,size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:plus-box`,size:16})]),default:(0,i.withCtx)(()=>[r[3]||=(0,i.createTextVNode)(` 添加类 `,-1)]),_:1}),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:(0,i.unref)(p),size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:image-filter-center-focus`,size:16})]),default:(0,i.withCtx)(()=>[r[4]||=(0,i.createTextVNode)(` 居中 `,-1)]),_:1},8,[`onClick`]),(0,i.createVNode)((0,i.unref)(a.NButton),{onClick:(0,i.unref)(m),size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:fit-to-screen`,size:16})]),default:(0,i.withCtx)(()=>[r[5]||=(0,i.createTextVNode)(` 适应 `,-1)]),_:1},8,[`onClick`]),(0,i.createVNode)((0,i.unref)(a.NDropdown),{options:(0,i.unref)(h),onSelect:r[0]||=e=>(0,i.unref)(g)(e,O)},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.NButton),{size:`small`},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{name:`mdi:export`,size:16})]),default:(0,i.withCtx)(()=>[r[6]||=(0,i.createTextVNode)(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])]),_:1})])):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createElementVNode)(`div`,{ref_key:`containerRef`,ref:l,class:`graph-container`,style:(0,i.normalizeStyle)({width:s.width,height:s.height})},null,4),(0,i.createVNode)(ge,{show:y.value,"editing-class":b.value,"onUpdate:editingClass":r[1]||=e=>b.value=e,"onUpdate:show":r[2]||=e=>y.value=e,onSave:E,onDelete:D},null,8,[`show`,`editing-class`])]))}});var ke=r.t(Oe,[[`__scopeId`,`data-v-e4891a91`]]);const Ae={class:`c-antv-container`},je=(0,i.defineComponent)({name:`C_AntV`,__name:`index`,props:{type:{},data:{},width:{default:`100%`},height:{default:`600px`},readonly:{type:Boolean,default:!1},showToolbar:{type:Boolean,default:!0},theme:{default:`light`}},emits:[`ready`,`data-change`],setup(e,{expose:t,emit:n}){let r=e,a=n,o=(0,i.ref)(),s={er:O,bpmn:se,uml:ke},c=(0,i.computed)(()=>s[r.type]),l=(0,i.computed)(()=>{let e={width:r.width,height:r.height,readonly:r.readonly,showToolbar:r.showToolbar,theme:r.theme},t=r.data;if(r.type===`bpmn`&&r.data){let e=r.data;e&&typeof e==`object`&&`nodes`in e&&`edges`in e&&(t=[...(e.nodes||[]).map(e=>({...e,shape:e.type||e.shape||`rect`,x:e.x??0,y:e.y??0})),...(e.edges||[]).map(e=>({...e,shape:`edge`,x:0,y:0}))])}return{...e,data:t}}),u=e=>{a(`ready`,e)},d=e=>{let t;t=r.type===`bpmn`&&Array.isArray(e)?{nodes:e.filter(e=>e.shape!==`edge`).map(e=>{let{shape:t,x:n,y:r,...i}=e;return{...i,type:t===`rect`?`task`:t,x:n||0,y:r||0}}),edges:e.filter(e=>e.shape===`edge`).map(e=>{let{shape:t,x:n,y:r,...i}=e;return i}),flows:[]}:e,a(`data-change`,t)};return t({getGraph:()=>o.value?.getGraph?.(),getData:()=>{let e=o.value?.getData?.();return r.type===`bpmn`&&Array.isArray(e)?{nodes:e.filter(e=>e.shape!==`edge`),edges:e.filter(e=>e.shape===`edge`),flows:[]}:e}}),(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,Ae,[((0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)(c.value),(0,i.mergeProps)(l.value,{onReady:u,onDataChange:d,ref_key:`layoutRef`,ref:o}),null,16))]))}});var Me=r.t(je,[[`__scopeId`,`data-v-b03826d0`]]);Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Me}});
|
package/dist/C_AntV2.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{NAlert as n,NButton as r,NCard as i,NCheckbox as a,NDivider as o,NDrawer as s,NDrawerContent as c,NDropdown as l,NForm as u,NFormItem as d,NGi as f,NGrid as p,NInput as m,NRadio as h,NRadioGroup as g,NSelect as _,NSpace as v,useMessage as y}from"naive-ui";import{Fragment as b,computed as x,createBlock as S,createCommentVNode as C,createElementBlock as w,createElementVNode as T,createTextVNode as E,createVNode as D,defineComponent as O,mergeModels as k,mergeProps as A,nextTick as j,normalizeClass as M,normalizeStyle as N,onMounted as P,onUnmounted as F,openBlock as I,ref as L,renderList as R,resolveDynamicComponent as z,toDisplayString as B,unref as V,useModel as H,watch as U,withCtx as W}from"vue";import{Graph as G,ObjectExt as K}from"@antv/x6";import ee from"html2canvas";function q(e){return{background:e?`#18181c`:`#f5f5f5`,gridPrimary:e?`rgba(255, 255, 255, 0.08)`:`#eee`,gridSecondary:e?`rgba(255, 255, 255, 0.04)`:`#ddd`}}function te(e=!1){let t=q(e);return{background:{color:t.background},grid:{visible:!0,type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]},mousewheel:{enabled:!0,zoomAtMousePosition:!0,modifiers:`ctrl`,minScale:.5,maxScale:2},selecting:{enabled:!0,rubberband:!0,movable:!0,showNodeSelectionBox:!0},resizing:!0,rotating:!0,snapline:!0,keyboard:!0,clipboard:!0}}function J(e){return e?{width:e.clientWidth||e.offsetWidth||800,height:e.clientHeight||e.offsetHeight||600}:{width:0,height:0}}function Y(e,t){let n=0,r=L(null),i=L(!1),a=async(o={})=>{await j(),i.value=!0;try{if(!e.value)return;r.value&&=(r.value.dispose(),null);let{width:i,height:s}=J(e.value);if(i===0||s===0){n++,n<10&&setTimeout(()=>a(o),100);return}n=0;let c=te(t?.value??!1);r.value=new G({container:e.value,width:i,height:s,...c,...o})}catch{}finally{i.value=!1}};function o(e){if(!r.value)return;let t=q(e);r.value.drawBackground({color:t.background}),r.value.drawGrid({type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]})}t&&U(t,e=>{o(e)});function s(){r.value&&=(r.value.dispose(),null)}function c(){r.value?.centerContent()}function l(){r.value?.zoomToFit({padding:20,maxScale:1})}function u(e){r.value?.zoom(e)}function d(){if(r.value&&e.value){let{width:t,height:n}=J(e.value);r.value.resize(t,n)}}return F(s),{graph:r,loading:i,initGraph:a,destroyGraph:s,centerContent:c,zoomToFit:l,zoom:u,resizeGraph:d,updateTheme:o}}function X(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}function ne(e,t=`diagram.json`){let n=JSON.stringify(e,null,2);X(new Blob([n],{type:`application/json`}),t)}async function re(e,t=`diagram.png`,n={}){let{backgroundColor:r=`#ffffff`,scale:i=2}=n,{container:a}=e;X(await ae(await ee(a,{backgroundColor:r,scale:i,useCORS:!0,logging:!1}),`image/png`),t)}function ie(e,t=`diagram.svg`){let n=e.container.querySelector(`svg`);if(!n)throw Error(`SVG导出失败: 未找到图表 SVG 元素`);let r=n.cloneNode(!0);r.getAttribute(`xmlns`)||r.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),r.getAttribute(`xmlns:xlink`)||r.setAttribute(`xmlns:xlink`,`http://www.w3.org/1999/xlink`);let i=new XMLSerializer().serializeToString(r);X(new Blob([i],{type:`image/svg+xml;charset=utf-8`}),t)}function ae(e,t,n=1){return new Promise((r,i)=>{e.toBlob(e=>{e?r(e):i(Error(`Canvas 转 Blob 失败`))},t,n)})}const oe=[{label:`导出PNG`,key:`png`},{label:`导出SVG`,key:`svg`},{label:`导出JSON`,key:`json`}];function Z(e,t=`diagram`){let n=y();return{exportOptions:oe,handleExport:async(r,i)=>{if(e.value)try{switch(r){case`png`:await re(e.value,`${t}.png`);break;case`svg`:ie(e.value,`${t}.svg`);break;case`json`:i&&ne(i(),`${t}.json`);break}}catch(e){console.error(`[useGraphExport] 导出失败 (${r}):`,e),n.error(`导出${r.toUpperCase()}失败,请重试`)}}}}const se=[{label:`BIGINT`,value:`BIGINT`},{label:`INT`,value:`INT`},{label:`SMALLINT`,value:`SMALLINT`},{label:`TINYINT`,value:`TINYINT`},{label:`VARCHAR(50)`,value:`VARCHAR(50)`},{label:`VARCHAR(100)`,value:`VARCHAR(100)`},{label:`VARCHAR(255)`,value:`VARCHAR(255)`},{label:`CHAR(10)`,value:`CHAR(10)`},{label:`TEXT`,value:`TEXT`},{label:`LONGTEXT`,value:`LONGTEXT`},{label:`DATETIME`,value:`DATETIME`},{label:`TIMESTAMP`,value:`TIMESTAMP`},{label:`DATE`,value:`DATE`},{label:`TIME`,value:`TIME`},{label:`DECIMAL(10,2)`,value:`DECIMAL(10,2)`},{label:`FLOAT`,value:`FLOAT`},{label:`DOUBLE`,value:`DOUBLE`},{label:`BOOLEAN`,value:`BOOLEAN`},{label:`JSON`,value:`JSON`}],ce={key:0,class:`table-editor`},le={class:`fields-container`},ue={class:`field-header`},de=O({__name:`ERTableEditor`,props:k({show:{type:Boolean}},{editingTable:{},editingTableModifiers:{}}),emits:k([`update:show`,`save`,`add-field`,`remove-field`,`handle-primary-key`],[`update:editingTable`]),setup(t,{emit:n}){let l=H(t,`editingTable`),h=n,g=(e,t)=>h(`handle-primary-key`,e,t),y=()=>h(`add-field`),x=e=>h(`remove-field`,e);return(t,n)=>(I(),S(V(s),{show:t.show,width:`600`,placement:`right`,"onUpdate:show":n[4]||=e=>t.$emit(`update:show`,e)},{default:W(()=>[D(V(c),{title:`编辑表: ${l.value?.name||`新表`}`,closable:``},{footer:W(()=>[D(V(v),{justify:`end`},{default:W(()=>[D(V(r),{onClick:n[2]||=e=>t.$emit(`update:show`,!1)},{default:W(()=>n[11]||=[E(`取消`,-1)]),_:1,__:[11]}),D(V(r),{onClick:n[3]||=e=>t.$emit(`save`),type:`primary`},{default:W(()=>n[12]||=[E(`保存`,-1)]),_:1,__:[12]})]),_:1})]),default:W(()=>[l.value?(I(),w(`div`,ce,[D(V(u),{model:l.value,"label-placement":`top`},{default:W(()=>[D(V(d),{label:`表名`},{default:W(()=>[D(V(m),{value:l.value.name,"onUpdate:value":n[0]||=e=>l.value.name=e,placeholder:`请输入表名`},null,8,[`value`])]),_:1}),D(V(d),{label:`表注释`},{default:W(()=>[D(V(m),{value:l.value.comment,"onUpdate:value":n[1]||=e=>l.value.comment=e,placeholder:`表注释`},null,8,[`value`])]),_:1}),D(V(o),null,{default:W(()=>n[5]||=[E(`字段列表`,-1)]),_:1,__:[5]}),T(`div`,le,[(I(!0),w(b,null,R(l.value.fields,(e,t)=>(I(),S(V(i),{key:t,size:`small`,class:`field-card`},{header:W(()=>[T(`div`,ue,[T(`span`,null,`#`+B(t+1)+` `+B(e.name||`新字段`),1),D(V(r),{onClick:e=>x(t),size:`tiny`,type:`error`,quaternary:``,disabled:l.value.fields.length<=1},{default:W(()=>n[6]||=[E(` 删除 `,-1)]),_:2,__:[6]},1032,[`onClick`,`disabled`])])]),default:W(()=>[D(V(p),{cols:2,"x-gap":12},{default:W(()=>[D(V(f),null,{default:W(()=>[D(V(d),{label:`字段名`,size:`small`},{default:W(()=>[D(V(m),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`字段名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),D(V(f),null,{default:W(()=>[D(V(d),{label:`类型`,size:`small`},{default:W(()=>[D(V(_),{value:e.type,"onUpdate:value":t=>e.type=t,options:V(se),size:`small`,filterable:``,placeholder:`选择类型`},null,8,[`value`,`onUpdate:value`,`options`])]),_:2},1024)]),_:2},1024)]),_:2},1024),D(V(v),{style:{"margin-top":`12px`}},{default:W(()=>[D(V(a),{checked:e.isPrimaryKey,"onUpdate:checked":[t=>e.isPrimaryKey=t,t=>g(e,t)]},{default:W(()=>n[7]||=[E(` 主键 `,-1)]),_:2,__:[7]},1032,[`checked`,`onUpdate:checked`]),D(V(a),{checked:e.isRequired,"onUpdate:checked":t=>e.isRequired=t},{default:W(()=>n[8]||=[E(`必填`,-1)]),_:2,__:[8]},1032,[`checked`,`onUpdate:checked`]),D(V(a),{checked:e.isForeignKey,"onUpdate:checked":t=>e.isForeignKey=t},{default:W(()=>n[9]||=[E(`外键`,-1)]),_:2,__:[9]},1032,[`checked`,`onUpdate:checked`])]),_:2},1024),D(V(d),{label:`注释`,size:`small`,style:{"margin-top":`12px`}},{default:W(()=>[D(V(m),{value:e.comment,"onUpdate:value":t=>e.comment=t,placeholder:`字段注释`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024))),128)),D(V(r),{onClick:y,dashed:``,block:``,type:`primary`,ghost:``,style:{"margin-top":`16px`}},{icon:W(()=>[D(e,{name:`mdi:plus`,size:16})]),default:W(()=>[n[10]||=E(` 添加字段 `,-1)]),_:1,__:[10]})])]),_:1},8,[`model`])])):C(`v-if`,!0)]),_:1},8,[`title`])]),_:1},8,[`show`]))}}),fe={class:`er-layout`},pe={key:0,class:`toolbar`},me={key:0,style:{"margin-top":`8px`}};var he=t(O({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},theme:{}},emits:[`ready`,`data-change`],setup(t,{expose:i,emit:a}){let o=t,s=a,c=L(),{graph:u,initGraph:d,centerContent:f,zoomToFit:p}=Y(c,x(()=>o.theme===`dark`)),{exportOptions:m,handleExport:h}=Z(u,`er-diagram`),g=L(!1),_=L(),y=L(!1),b=(e,t)=>e.length>t?e.substring(0,t-1)+`..`:e,S=e=>e.fields?.map(t=>{let n=t.isPrimaryKey?`🔑 ${t.name}`:t.isRequired?`* ${t.name}`:t.name;return{id:`${e.id}_${t.name}`,group:`list`,attrs:{portNameLabel:{text:b(n,12),title:n},portTypeLabel:{text:b(t.type,10),title:t.type},portBody:{fill:t.isPrimaryKey?`#FFF7E6`:`#EFF4FF`}}}})||[],O=e=>({id:e.id,shape:`er-rect`,x:e.position.x,y:e.position.y,width:200,height:24+(e.fields?.length||0)*24,data:e,attrs:{label:{text:b(e.name,20),refX:.5,refY:10,textAnchor:`middle`,title:e.name}},ports:S(e)}),k=()=>{u.value&&(G.registerPortLayout(`erPortPosition`,e=>e.map((e,t)=>({position:{x:0,y:(t+1)*24},angle:0})),!0),G.registerNode(`er-rect`,{inherit:`rect`,markup:[{tagName:`rect`,selector:`body`},{tagName:`text`,selector:`label`}],attrs:{rect:{strokeWidth:1,stroke:`#5F95FF`,fill:`#5F95FF`},label:{fontWeight:`bold`,fill:`#ffffff`,fontSize:12}},ports:{groups:{list:{markup:[{tagName:`rect`,selector:`portBody`},{tagName:`text`,selector:`portNameLabel`},{tagName:`text`,selector:`portTypeLabel`}],attrs:{portBody:{width:200,height:24,strokeWidth:1,stroke:`#5F95FF`,fill:`#EFF4FF`,magnet:!0},portNameLabel:{ref:`portBody`,refX:6,refY:6,fontSize:9,textAnchor:`start`,textOverflow:`ellipsis`},portTypeLabel:{ref:`portBody`,refX:120,refY:6,fontSize:9,textAnchor:`start`,fill:`#666`}},position:`erPortPosition`}}}},!0))},A=()=>{y.value=!y.value,y.value||M()},M=()=>{u.value?.getEdges().forEach(e=>{e.attr(`line/stroke`,`#A2B1C3`),e.attr(`line/strokeWidth`,2)})},N=e=>{if(!u.value)return;let t=u.value.createNode(O(e));return u.value.resetCells([t,...u.value.getCells()]),t},R=()=>{let e=u.value?.getNodes()||[];for(let t=0;t<10;t++)for(let n=0;n<3;n++){let r={x:n*250+50,y:t*250+50};if(!e.some(e=>{let t=e.getPosition();return Math.abs(t.x-r.x)<250*.8&&Math.abs(t.y-r.y)<250*.8}))return r}return{x:50,y:50}},z=()=>{let e={id:`table_${Date.now()}`,name:`新表`,comment:``,fields:[{name:`id`,type:`BIGINT`,isPrimaryKey:!0,isRequired:!0,isForeignKey:!1,comment:`主键`},{name:`name`,type:`VARCHAR(100)`,isPrimaryKey:!1,isRequired:!0,isForeignKey:!1,comment:`名称`}],position:R()};N(e),H(e),X()},H=e=>{_.value={...e,fields:e.fields?.map(e=>({...e}))||[]},g.value=!0},K=()=>{if(!u.value||!_.value)return;let e=u.value.getCellById(_.value.id);e&&(e.setData(_.value),e.prop({size:{width:200,height:24+_.value.fields.length*24},attrs:{label:{text:b(_.value.name,20),title:_.value.name}},ports:S(_.value)})),g.value=!1,X()},ee=(e,t)=>{t&&(e.isRequired=!0,_.value?.fields.forEach(t=>{t!==e&&(t.isPrimaryKey=!1)}))},q=()=>{_.value?.fields.push({name:`field_${(_.value?.fields.length||0)+1}`,type:`VARCHAR(100)`,isPrimaryKey:!1,isRequired:!1,isForeignKey:!1,comment:``})},te=e=>{_.value&&_.value.fields.length>1&&_.value.fields.splice(e,1)},J=()=>{if(!u.value)return{tables:[],relations:[]};let e=u.value.getNodes().map(e=>({...e.getData(),position:e.getPosition()})),t=[];return u.value.getEdges().forEach(e=>{let n=e.getSourceNode(),r=e.getTargetNode(),i=e.getSourcePortId(),a=e.getTargetPortId();n&&r&&i&&a&&t.push({id:e.id,type:`foreign-key`,sourceTable:n.id,sourceField:i.split(`_`).slice(1).join(`_`),targetTable:r.id,targetField:a.split(`_`).slice(1).join(`_`),name:`${n.getData()?.name||n.id} -> ${r.getData()?.name||r.id}`})}),{tables:e,relations:t}},X=()=>s(`data-change`,J());return U(u,e=>{if(!(e instanceof G))return;k(),e.on(`node:dblclick`,({node:e})=>{o.readonly||H(e.getData())}),e.on(`edge:connected`,X),e.on(`edge:removed`,X);let t=null;e.on(`edge:click`,({edge:e})=>{y.value?(e.remove(),X()):(M(),e.attr(`line/stroke`,`#ff4d4f`),e.attr(`line/strokeWidth`,3),t=e)}),e.on(`edge:dblclick`,({edge:e})=>{e.remove(),X()}),e.on(`blank:click`,()=>{t=null,y.value||M()});let n=e=>{let n=e.target?.tagName;n===`INPUT`||n===`TEXTAREA`||e.target?.isContentEditable||(e.key===`Delete`||e.key===`Backspace`)&&t&&(t.remove(),X(),t=null)};document.addEventListener(`keydown`,n),F(()=>document.removeEventListener(`keydown`,n)),s(`ready`,e),j(()=>{if(o.data?.tables){let t=o.data.tables.map(t=>e.createNode(O(t)));o.data.relations?.length&&o.data.relations.forEach(n=>{t.push(e.createEdge({source:{cell:n.sourceTable,port:`${n.sourceTable}_${n.sourceField}`},target:{cell:n.targetTable,port:`${n.targetTable}_${n.targetField}`},attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2}}}))}),e.resetCells(t),setTimeout(()=>e.zoomToFit({padding:20,maxScale:1}),300)}})},{immediate:!0}),U(()=>o.data,e=>{if(u.value&&e?.tables){let t=e.tables.map(e=>u.value.createNode(O(e)));e.relations?.length&&e.relations.forEach(e=>{t.push(u.value.createEdge({source:{cell:e.sourceTable,port:`${e.sourceTable}_${e.sourceField}`},target:{cell:e.targetTable,port:`${e.targetTable}_${e.targetField}`},attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2}}}))}),u.value.resetCells(t)}},{deep:!0}),P(()=>d()),i({getGraph:()=>u.value??void 0,getData:J}),(t,i)=>(I(),w(`div`,fe,[C(` 工具栏 `),t.showToolbar?(I(),w(`div`,pe,[D(V(v),null,{default:W(()=>[D(V(r),{onClick:z,type:`primary`,size:`small`},{icon:W(()=>[D(e,{name:`mdi:table-plus`,size:16})]),default:W(()=>[i[3]||=E(` 添加表 `,-1)]),_:1,__:[3]}),D(V(r),{onClick:V(f),size:`small`},{icon:W(()=>[D(e,{name:`mdi:image-filter-center-focus`,size:16})]),default:W(()=>[i[4]||=E(` 居中 `,-1)]),_:1,__:[4]},8,[`onClick`]),D(V(r),{onClick:V(p),size:`small`},{icon:W(()=>[D(e,{name:`mdi:fit-to-screen`,size:16})]),default:W(()=>[i[5]||=E(` 适应 `,-1)]),_:1,__:[5]},8,[`onClick`]),D(V(r),{onClick:A,type:y.value?`error`:`default`,size:`small`},{icon:W(()=>[D(e,{name:`mdi:delete`,size:16})]),default:W(()=>[E(` `+B(y.value?`退出删除`:`删除连线`),1)]),_:1},8,[`type`]),D(V(l),{options:V(m),onSelect:i[0]||=e=>V(h)(e,J)},{default:W(()=>[D(V(r),{size:`small`},{icon:W(()=>[D(e,{name:`mdi:export`,size:16})]),default:W(()=>[i[6]||=E(` 导出 `,-1)]),_:1,__:[6]})]),_:1},8,[`options`])]),_:1}),y.value?(I(),w(`div`,me,[D(V(n),{type:`info`,size:`small`,"show-icon":!1},{default:W(()=>i[7]||=[E(` 删除模式:点击连接线即可删除 `,-1)]),_:1,__:[7]})])):C(`v-if`,!0)])):C(`v-if`,!0),C(` 图表容器 `),T(`div`,{ref_key:`containerRef`,ref:c,class:`graph-container`},null,512),C(` 表编辑器 `),D(de,{show:g.value,"editing-table":_.value,"onUpdate:editingTable":i[1]||=e=>_.value=e,"onUpdate:show":i[2]||=e=>g.value=e,onSave:K,onAddField:q,onRemoveField:te,onHandlePrimaryKey:ee},null,8,[`show`,`editing-table`])]))}}),[[`__scopeId`,`data-v-19cb7526`]]);const ge={defaultColor:`#A2B1C3`,highlightColor:`#ff4d4f`,strokeWidth:2,highlightStrokeWidth:3,portPositions:[],onDataChange:()=>{}};function Q(e,t={}){let n={...ge,...t},r=()=>{e.value?.getEdges().forEach(e=>{e.attr(`line/stroke`,n.defaultColor),e.attr(`line/strokeWidth`,n.strokeWidth)})},i=e=>{r(),e.attr(`line/stroke`,n.highlightColor),e.attr(`line/strokeWidth`,n.highlightStrokeWidth)},a=(e,t)=>{n.portPositions.forEach(n=>e.attr(`port-${n}/style/opacity`,t))};return{resetEdgeStyles:r,highlightEdge:i,togglePorts:a,bindInteractions:()=>{let t=e.value;t&&(t.on(`edge:click`,({edge:e})=>i(e)),t.on(`edge:dblclick`,({edge:e})=>{e.remove(),n.onDataChange()}),t.on(`blank:click`,r),t.on(`node:click`,r),t.on(`edge:connected`,n.onDataChange),n.portPositions.length>0&&(t.on(`node:mouseenter`,({node:e})=>a(e,1)),t.on(`node:mouseleave`,({node:e})=>a(e,0))))}}}const _e={"start-event":{name:`开始`,title:`开始事件`,iconClass:`circle start-event`},activity:{name:`任务`,title:`任务活动`,iconClass:`rect activity`},gateway:{name:`网关`,title:`排他网关`,iconClass:`diamond gateway`},"end-event":{name:`结束`,title:`结束事件`,iconClass:`circle end-event`}},ve={event:`事件`,activity:`活动`,gateway:`网关`,"bpmn-edge":`连接线`},$=[`top`,`right`,`bottom`,`left`],ye=(e,t=`rect`)=>e.reduce((e,n)=>{let r=t===`circle`,i=n===`top`?r?{refCx:.5,refCy:0}:{refX:.5,refY:0}:n===`right`?r?{refCx:1,refCy:.5}:{refX:1,refY:.5}:n===`bottom`?r?{refCx:.5,refCy:1}:{refX:.5,refY:1}:r?{refCx:0,refCy:.5}:{refX:0,refY:.5};return e[`port-${n}`]={ref:`body`,...i,r:4,fill:`#31d0c6`,stroke:`#ffffff`,strokeWidth:2,magnet:!0,style:{cursor:`crosshair`,opacity:0,transition:`opacity 0.2s`}},e},{}),be={event:{inherit:`circle`,attrs:{body:{strokeWidth:2,stroke:`#5F95FF`,fill:`#FFF`,magnet:!1,style:{cursor:`move`}},text:{fontSize:12,fill:`#262626`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}},activity:{inherit:`rect`,attrs:{body:{rx:6,ry:6,stroke:`#5F95FF`,fill:`#EFF4FF`,strokeWidth:1,magnet:!1,style:{cursor:`move`}},text:{fontSize:12,fill:`#262626`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}},gateway:{inherit:`polygon`,attrs:{body:{refPoints:`0,10 10,0 20,10 10,20`,strokeWidth:2,stroke:`#5F95FF`,fill:`#EFF4FF`,magnet:!1,style:{cursor:`move`}},text:{fontSize:20,fill:`#5F95FF`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}}},xe={inherit:`edge`,attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2,targetMarker:{name:`block`,width:8,height:6,fill:`#A2B1C3`},cursor:`pointer`}}};function Se(e=!1){let t={background:e?`#18181c`:`#ffffff`,gridPrimary:e?`rgba(255, 255, 255, 0.08)`:`#eee`,gridSecondary:e?`rgba(255, 255, 255, 0.04)`:`#ddd`};return{background:{color:t.background},grid:{visible:!0,type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]},mousewheel:{enabled:!0,zoomAtMousePosition:!0,modifiers:`ctrl`,minScale:.5,maxScale:3},connecting:{router:`manhattan`,connector:{name:`rounded`,args:{radius:8}},allowBlank:!1,allowLoop:!1,allowNode:!1,snap:!0,allowEdge:!1},highlighting:{magnetAvailable:{name:`stroke`,args:{attrs:{fill:`#31d0c6`,stroke:`#31d0c6`,opacity:1}}},magnetAdsorbed:{name:`stroke`,args:{attrs:{fill:`#5F95FF`,stroke:`#5F95FF`,opacity:1}}}},selecting:{enabled:!0,rubberband:!0,showNodeSelectionBox:!0},resizing:!0,rotating:!1,snapline:!0,keyboard:!0,clipboard:!0}}Se();const Ce={"start-event":{shape:`event`,width:50,height:50,label:`开始事件`,data:{type:`start`}},"end-event":{shape:`event`,width:50,height:50,label:`结束事件`,data:{type:`end`}},activity:{shape:`activity`,width:120,height:60,label:`新活动`,data:{description:``,assignee:``}},gateway:{shape:`gateway`,width:40,height:40,label:`+`,data:{type:`exclusive`}}},we=[{id:`start-1`,shape:`event`,x:100,y:200,width:50,height:50,label:`流程开始`,data:{type:`start`}},{id:`activity-1`,shape:`activity`,x:200,y:180,width:120,height:60,label:`用户申请`,data:{description:`用户提交申请表单`,assignee:`申请人`}},{id:`activity-2`,shape:`activity`,x:380,y:180,width:120,height:60,label:`初审`,data:{description:`部门进行初步审核`,assignee:`部门主管`}},{id:`gateway-1`,shape:`gateway`,x:550,y:200,width:40,height:40,label:`+`,data:{type:`exclusive`}},{id:`activity-3`,shape:`activity`,x:650,y:120,width:120,height:60,label:`终审`,data:{description:`高级主管最终审核`,assignee:`总监`}},{id:`activity-4`,shape:`activity`,x:650,y:260,width:120,height:60,label:`驳回处理`,data:{description:`处理驳回流程`,assignee:`专员`}},{id:`end-1`,shape:`event`,x:820,y:140,width:50,height:50,label:`审批通过`,data:{type:`end`}},{id:`end-2`,shape:`event`,x:820,y:280,width:50,height:50,label:`审批驳回`,data:{type:`end`}},{id:`edge-1`,shape:`bpmn-edge`,source:`start-1`,target:`activity-1`,x:0,y:0},{id:`edge-2`,shape:`bpmn-edge`,source:`activity-1`,target:`activity-2`,x:0,y:0},{id:`edge-3`,shape:`bpmn-edge`,source:`activity-2`,target:`gateway-1`,x:0,y:0},{id:`edge-4`,shape:`bpmn-edge`,source:`gateway-1`,target:`activity-3`,label:`通过`,x:0,y:0},{id:`edge-5`,shape:`bpmn-edge`,source:`gateway-1`,target:`activity-4`,label:`驳回`,x:0,y:0},{id:`edge-6`,shape:`bpmn-edge`,source:`activity-3`,target:`end-1`,x:0,y:0},{id:`edge-7`,shape:`bpmn-edge`,source:`activity-4`,target:`end-2`,x:0,y:0}],Te={key:0,class:`property-panel`},Ee={class:`property-item`},De={class:`property-item`},Oe={key:0,class:`property-item`},ke={key:1,class:`property-item`},Ae={class:`form-actions`},je=O({__name:`BPMNPropertyEditor`,props:k({show:{type:Boolean}},{editingElement:{},editingElementModifiers:{}}),emits:k([`update:show`,`save`,`delete`],[`update:editingElement`]),setup(e,{emit:t}){let n=H(e,`editingElement`),i=t,a=x(()=>ve[n.value?.shape]||n.value?.shape||``);return(e,t)=>(I(),S(V(s),{show:e.show,width:`300`,title:`属性设置`,"onUpdate:show":t[6]||=e=>i(`update:show`,e)},{default:W(()=>[n.value?(I(),w(`div`,Te,[T(`div`,Ee,[t[7]||=T(`div`,{class:`property-label`},`名称`,-1),D(V(m),{value:n.value.label,"onUpdate:value":t[0]||=e=>n.value.label=e,placeholder:`请输入名称`,size:`small`},null,8,[`value`])]),T(`div`,De,[t[8]||=T(`div`,{class:`property-label`},`类型`,-1),D(V(m),{value:a.value,readonly:``,size:`small`},null,8,[`value`])]),n.value.shape===`activity`?(I(),w(`div`,Oe,[t[9]||=T(`div`,{class:`property-label`},`描述`,-1),D(V(m),{value:n.value.description,"onUpdate:value":t[1]||=e=>n.value.description=e,type:`textarea`,rows:3,placeholder:`请输入活动描述`,size:`small`},null,8,[`value`])])):C(`v-if`,!0),n.value.shape===`activity`?(I(),w(`div`,ke,[t[10]||=T(`div`,{class:`property-label`},`执行人`,-1),D(V(m),{value:n.value.assignee,"onUpdate:value":t[2]||=e=>n.value.assignee=e,placeholder:`请输入执行人`,size:`small`},null,8,[`value`])])):C(`v-if`,!0),T(`div`,Ae,[D(V(v),null,{default:W(()=>[D(V(r),{onClick:t[3]||=e=>i(`save`),type:`primary`,size:`small`},{default:W(()=>t[11]||=[E(` 保存 `,-1)]),_:1,__:[11]}),D(V(r),{onClick:t[4]||=e=>i(`update:show`,!1),size:`small`},{default:W(()=>t[12]||=[E(` 取消 `,-1)]),_:1,__:[12]}),D(V(r),{onClick:t[5]||=e=>i(`delete`),type:`error`,size:`small`},{default:W(()=>t[13]||=[E(` 删除 `,-1)]),_:1,__:[13]})]),_:1})])])):C(`v-if`,!0)]),_:1},8,[`show`]))}}),Me={class:`bpmn-layout`},Ne={key:0,class:`top-toolbar`},Pe={class:`toolbar-section`},Fe={class:`toolbar-group`},Ie={class:`toolbar-group`},Le={class:`toolbar-group`},Re={class:`main-content`},ze={key:0,class:`left-panel`},Be={class:`element-grid`},Ve=[`onClick`,`title`],He={class:`graph-wrapper`};var Ue=t(O({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},width:{default:`100%`},height:{default:`600px`},theme:{}},emits:[`ready`,`data-change`],setup(t,{expose:n,emit:i}){let a=t,o=i,s=L(),{graph:c,initGraph:u,centerContent:d,zoomToFit:f}=Y(s,x(()=>a.theme===`dark`)),{exportOptions:p,handleExport:m}=Z(c,`bpmn-diagram`),{bindInteractions:h}=Q(c,{portPositions:$,onDataChange:()=>H()}),g=L(!1),_=L(),v=e=>String(e.attr(`text/text`)||e.attr(`label/text`)||``),y=e=>{if(!e)return[];if(Array.isArray(e))return e;let t=[];return Object.values(e).forEach(e=>{Array.isArray(e)&&t.push(...e)}),t},S=()=>{let e=$.map(e=>({tagName:`circle`,selector:`port-${e}`})),t=[`event`,`activity`,`gateway`],n={event:`circle`,activity:`rect`,gateway:`polygon`};t.forEach(t=>{G.registerNode(t,{...be[t],markup:[{tagName:n[t],selector:`body`},{tagName:`text`,selector:`text`},...e],attrs:{...be[t].attrs,...ye($,n[t])}},!0)}),G.registerEdge(`bpmn-edge`,xe,!0)},O=e=>{if(!c.value||!e.length)return;let t=e.map(e=>{let{data:t,...n}=e,r=e.shape===`bpmn-edge`?c.value.createEdge(n):c.value.createNode(n);return t&&r.setData(t),r});c.value.resetCells(t),setTimeout(()=>c.value.zoomToFit({padding:50,maxScale:1}),200)},k=e=>{if(!c.value)return;let t=Ce[e];if(!t)return;let n=c.value.options.width/2,r=c.value.options.height/2,{data:i,...a}={id:`${e}-${Date.now()}`,x:n+Math.random()*100-50,y:r+Math.random()*100-50,...t},o=c.value.createNode(a);i&&o.setData(i),c.value.addCell(o),H()},A=()=>{c.value?.clearCells(),H()},j=e=>{let t=e.getData()||{};_.value={id:e.id,shape:e.shape,label:v(e),description:t.description||``,assignee:t.assignee||``,x:0,y:0},g.value=!0},N=()=>{if(!c.value||!_.value)return;let e=c.value.getCellById(_.value.id);e&&(e.setData({description:_.value.description,assignee:_.value.assignee}),e.attr(`text/text`,_.value.label||``),e.attr(`label/text`,_.value.label||``)),g.value=!1,H()},F=()=>{!c.value||!_.value||(c.value.getCellById(_.value.id)?.remove(),g.value=!1,H())},z=()=>c.value?[...c.value.getNodes().map(e=>({id:e.id,shape:e.shape,x:e.getPosition().x,y:e.getPosition().y,width:e.getSize().width,height:e.getSize().height,label:v(e),data:e.getData()||{}})),...c.value.getEdges().map(e=>({id:e.id,shape:`bpmn-edge`,source:e.getSourceCellId()||``,target:e.getTargetCellId()||``,label:v(e),x:0,y:0}))]:[],H=()=>o(`data-change`,z());return U(c,e=>{e instanceof G&&(a.readonly||(h(),e.on(`node:dblclick`,({node:e})=>j(e)),e.on(`node:moved`,H)),o(`ready`,e),O(we))},{immediate:!0}),U(()=>a.data,e=>{if(!e||!c.value)return;let t=y(e);t.length>0&&O(t)},{deep:!0}),P(async()=>{S();let e=Se();await u({...e,connecting:{...e.connecting,createEdge:()=>c.value.createEdge({shape:`bpmn-edge`}),validateConnection:({sourceView:e,targetView:t,sourceMagnet:n,targetMagnet:r})=>e!==t&&!!n&&!!r&&n.getAttribute(`magnet`)===`true`&&r.getAttribute(`magnet`)===`true`}})}),n({getGraph:()=>c.value,getData:z,loadData:O}),(t,n)=>(I(),w(`div`,Me,[t.showToolbar?(I(),w(`div`,Ne,[T(`div`,Pe,[T(`div`,Fe,[D(V(r),{onClick:A,size:`small`},{icon:W(()=>[D(e,{name:`mdi:delete-outline`,size:16})]),default:W(()=>[n[3]||=E(` 清空 `,-1)]),_:1,__:[3]})]),T(`div`,Ie,[D(V(r),{onClick:V(d),size:`small`},{icon:W(()=>[D(e,{name:`mdi:image-filter-center-focus`,size:16})]),default:W(()=>[n[4]||=E(` 居中 `,-1)]),_:1,__:[4]},8,[`onClick`]),D(V(r),{onClick:V(f),size:`small`},{icon:W(()=>[D(e,{name:`mdi:fit-to-screen`,size:16})]),default:W(()=>[n[5]||=E(` 适应 `,-1)]),_:1,__:[5]},8,[`onClick`])]),T(`div`,Le,[D(V(l),{options:V(p),onSelect:n[0]||=e=>V(m)(e,z)},{default:W(()=>[D(V(r),{size:`small`},{icon:W(()=>[D(e,{name:`mdi:export`,size:16})]),default:W(()=>[n[6]||=E(` 导出 `,-1)]),_:1,__:[6]})]),_:1},8,[`options`])])])])):C(`v-if`,!0),T(`div`,Re,[t.showToolbar?(I(),w(`div`,ze,[n[7]||=T(`div`,{class:`panel-title`},`组件`,-1),T(`div`,Be,[(I(!0),w(b,null,R(V(_e),(e,t)=>(I(),w(`div`,{key:t,class:`element-item`,onClick:e=>k(t),title:e.title},[T(`div`,{class:M([`element-icon`,e.iconClass])},null,2),T(`span`,null,B(e.name),1)],8,Ve))),128))])])):C(`v-if`,!0),T(`div`,He,[T(`div`,{ref_key:`containerRef`,ref:s,class:`graph-container`},null,512)])]),D(je,{show:g.value,"editing-element":_.value,"onUpdate:editingElement":n[1]||=e=>_.value=e,"onUpdate:show":n[2]||=e=>g.value=e,onSave:N,onDelete:F},null,8,[`show`,`editing-element`])]))}}),[[`__scopeId`,`data-v-d588444e`]]);const We={key:0,class:`class-editor`},Ge={class:`section`},Ke={class:`section-header`},qe={style:{"font-size":`13px`}},Je={class:`section`},Ye={class:`section-header`},Xe={style:{"font-size":`13px`}};var Ze=t(O({__name:`UMLClassEditor`,props:k({show:{type:Boolean}},{editingClass:{},editingClassModifiers:{}}),emits:k([`update:show`,`save`,`delete`],[`update:editingClass`]),setup(t,{emit:n}){let a=H(t,`editingClass`),c=n;return(t,n)=>(I(),S(V(s),{show:t.show,width:`450`,title:`编辑类`,"onUpdate:show":n[6]||=e=>c(`update:show`,e)},{default:W(()=>[a.value?(I(),w(`div`,We,[D(V(u),{"label-placement":`top`},{default:W(()=>[D(V(d),{label:`类名`},{default:W(()=>[D(V(m),{value:a.value.name,"onUpdate:value":n[0]||=e=>a.value.name=e,placeholder:`请输入类名`},null,8,[`value`])]),_:1}),D(V(o),{style:{margin:`20px 0`}},{default:W(()=>n[7]||=[E(`属性`,-1)]),_:1,__:[7]}),T(`div`,Ge,[(I(!0),w(b,null,R(a.value.attributes,(e,t)=>(I(),w(`div`,{key:t,class:`item`},[D(V(i),{size:`small`,style:{"margin-bottom":`12px`}},{header:W(()=>[T(`div`,Ke,[T(`span`,qe,`#`+B(t+1)+` `+B(e.name||`新属性`),1),D(V(r),{onClick:e=>a.value.attributes.splice(t,1),size:`tiny`,type:`error`,quaternary:``,style:{"margin-left":`auto`}},{default:W(()=>n[8]||=[E(` 删除 `,-1)]),_:2,__:[8]},1032,[`onClick`])])]),default:W(()=>[D(V(v),{vertical:``,size:`small`},{default:W(()=>[D(V(v),null,{default:W(()=>[D(V(d),{label:`属性名`,style:{margin:`0`,flex:`1`}},{default:W(()=>[D(V(m),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`属性名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),D(V(d),{label:`类型`,style:{margin:`0`,flex:`1`}},{default:W(()=>[D(V(m),{value:e.type,"onUpdate:value":t=>e.type=t,placeholder:`类型`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),D(V(d),{label:`可见性`,style:{margin:`0`}},{default:W(()=>[D(V(g),{value:e.visibility,"onUpdate:value":t=>e.visibility=t,size:`small`},{default:W(()=>[D(V(h),{value:`public`},{default:W(()=>n[9]||=[E(`+ public`,-1)]),_:1,__:[9]}),D(V(h),{value:`private`},{default:W(()=>n[10]||=[E(`- private`,-1)]),_:1,__:[10]}),D(V(h),{value:`protected`},{default:W(()=>n[11]||=[E(`# protected`,-1)]),_:1,__:[11]})]),_:2},1032,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128)),D(V(r),{onClick:n[1]||=e=>a.value.attributes.push({name:`newAttribute`,type:`string`,visibility:`private`}),dashed:``,block:``,type:`primary`,ghost:``,size:`small`},{icon:W(()=>[D(e,{name:`mdi:plus`,size:16})]),default:W(()=>[n[12]||=E(` 添加属性 `,-1)]),_:1,__:[12]})]),D(V(o),{style:{margin:`20px 0`}},{default:W(()=>n[13]||=[E(`方法`,-1)]),_:1,__:[13]}),T(`div`,Je,[(I(!0),w(b,null,R(a.value.methods,(e,t)=>(I(),w(`div`,{key:t,class:`item`},[D(V(i),{size:`small`,style:{"margin-bottom":`12px`}},{header:W(()=>[T(`div`,Ye,[T(`span`,Xe,`#`+B(t+1)+` `+B(e.name||`新方法`),1),D(V(r),{onClick:e=>a.value.methods.splice(t,1),size:`tiny`,type:`error`,quaternary:``,style:{"margin-left":`auto`}},{default:W(()=>n[14]||=[E(` 删除 `,-1)]),_:2,__:[14]},1032,[`onClick`])])]),default:W(()=>[D(V(v),{vertical:``,size:`small`},{default:W(()=>[D(V(v),null,{default:W(()=>[D(V(d),{label:`方法名`,style:{margin:`0`,flex:`1`}},{default:W(()=>[D(V(m),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`方法名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),D(V(d),{label:`返回类型`,style:{margin:`0`,flex:`1`}},{default:W(()=>[D(V(m),{value:e.returnType,"onUpdate:value":t=>e.returnType=t,placeholder:`返回类型`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),D(V(d),{label:`可见性`,style:{margin:`0`}},{default:W(()=>[D(V(g),{value:e.visibility,"onUpdate:value":t=>e.visibility=t,size:`small`},{default:W(()=>[D(V(h),{value:`public`},{default:W(()=>n[15]||=[E(`+ public`,-1)]),_:1,__:[15]}),D(V(h),{value:`private`},{default:W(()=>n[16]||=[E(`- private`,-1)]),_:1,__:[16]}),D(V(h),{value:`protected`},{default:W(()=>n[17]||=[E(`# protected`,-1)]),_:1,__:[17]})]),_:2},1032,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128)),D(V(r),{onClick:n[2]||=e=>a.value.methods.push({name:`newMethod`,returnType:`void`,visibility:`public`}),dashed:``,block:``,type:`primary`,ghost:``,size:`small`},{icon:W(()=>[D(e,{name:`mdi:plus`,size:16})]),default:W(()=>[n[18]||=E(` 添加方法 `,-1)]),_:1,__:[18]})]),D(V(o),{style:{margin:`20px 0`}}),D(V(v),{justify:`space-between`},{default:W(()=>[D(V(r),{onClick:n[3]||=e=>c(`delete`),type:`error`,ghost:``},{icon:W(()=>[D(e,{name:`mdi:delete`,size:16})]),default:W(()=>[n[19]||=E(` 删除类 `,-1)]),_:1,__:[19]}),D(V(v),null,{default:W(()=>[D(V(r),{onClick:n[4]||=e=>c(`update:show`,!1)},{default:W(()=>n[20]||=[E(`取消`,-1)]),_:1,__:[20]}),D(V(r),{onClick:n[5]||=e=>c(`save`),type:`primary`},{default:W(()=>n[21]||=[E(` 保存 `,-1)]),_:1,__:[21]})]),_:1})]),_:1})]),_:1})])):C(`v-if`,!0)]),_:1},8,[`show`]))}}),[[`__scopeId`,`data-v-102d6be6`]]);const Qe={public:`+`,private:`-`,protected:`#`},$e={extends:{strokeDasharray:0,targetMarker:{name:`block`,width:10,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},implement:{strokeDasharray:`8,4`,targetMarker:{name:`block`,width:10,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},composition:{strokeDasharray:0,sourceMarker:{name:`diamond`,width:12,height:8,fill:`#722ed1`,stroke:`#722ed1`}},aggregation:{strokeDasharray:0,sourceMarker:{name:`diamond`,width:12,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},association:{strokeDasharray:0,targetMarker:{name:`classic`,size:8,fill:`#722ed1`}}},et=[`top`,`right`,`bottom`,`left`].reduce((e,t)=>{let n=t===`top`?{refX:.5,refY:0}:t===`right`?{refX:1,refY:.5}:t===`bottom`?{refX:.5,refY:1}:{refX:0,refY:.5};return e[`port-${t}`]={ref:`body`,...n,r:4,fill:`#31d0c6`,stroke:`#ffffff`,strokeWidth:2,magnet:!0,style:{cursor:`crosshair`,opacity:0,transition:`opacity 0.2s`}},e},{}),tt={inherit:`rect`,markup:[{tagName:`rect`,selector:`body`},{tagName:`rect`,selector:`name-rect`},{tagName:`rect`,selector:`attrs-rect`},{tagName:`rect`,selector:`methods-rect`},{tagName:`text`,selector:`name-text`},{tagName:`text`,selector:`attrs-text`},{tagName:`text`,selector:`methods-text`},{tagName:`circle`,selector:`port-top`},{tagName:`circle`,selector:`port-right`},{tagName:`circle`,selector:`port-bottom`},{tagName:`circle`,selector:`port-left`}],attrs:{rect:{width:160},body:{stroke:`#5f95ff`,strokeWidth:1,fill:`#fff`,magnet:!1,style:{cursor:`move`}},"name-rect":{fill:`#5f95ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"attrs-rect":{fill:`#eff4ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"methods-rect":{fill:`#eff4ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"name-text":{ref:`name-rect`,refY:.5,refX:.5,textAnchor:`middle`,fontWeight:`bold`,fill:`#fff`,fontSize:12,pointerEvents:`none`},"attrs-text":{ref:`attrs-rect`,refY:.5,refX:5,textAnchor:`left`,fill:`black`,fontSize:10,pointerEvents:`none`},"methods-text":{ref:`methods-rect`,refY:.5,refX:5,textAnchor:`left`,fill:`black`,fontSize:10,pointerEvents:`none`},...et}},nt={router:`manhattan`,connector:{name:`rounded`,args:{radius:8}},allowBlank:!1,allowLoop:!1,allowNode:!1,snap:!0,allowEdge:!1},rt={magnetAvailable:{name:`stroke`,args:{attrs:{fill:`#31d0c6`,stroke:`#31d0c6`,opacity:1}}},magnetAdsorbed:{name:`stroke`,args:{attrs:{fill:`#5F95FF`,stroke:`#5F95FF`,opacity:1}}}},it={shape:`extends`,attrs:{line:{stroke:`#722ed1`,strokeWidth:2,targetMarker:{name:`block`,width:8,height:6,fill:`#722ed1`}}}},at=[{id:`animal`,name:`<<Abstract>>
|
|
1
|
+
import{r as e}from"./config.js";import{t}from"./C_Icon2.js";import{t as n}from"./export-helper.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,mergeModels as f,mergeProps as p,nextTick as m,normalizeClass as h,normalizeStyle as g,onMounted as _,onUnmounted as v,openBlock as y,ref as b,renderList as x,resolveDynamicComponent as S,toDisplayString as C,unref as w,useModel as T,watch as E,withCtx as D}from"vue";import{NAlert as O,NButton as k,NCard as A,NCheckbox as j,NDivider as M,NDrawer as N,NDrawerContent as P,NDropdown as F,NForm as I,NFormItem as L,NGi as R,NGrid as z,NInput as B,NRadio as V,NRadioGroup as H,NSelect as U,NSpace as W}from"naive-ui";import{Graph as G,ObjectExt as K}from"@antv/x6";import ee from"html2canvas";function q(e){return{background:e?`#18181c`:`#f5f5f5`,gridPrimary:e?`rgba(255, 255, 255, 0.08)`:`#eee`,gridSecondary:e?`rgba(255, 255, 255, 0.04)`:`#ddd`}}function te(e=!1){let t=q(e);return{background:{color:t.background},grid:{visible:!0,type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]},mousewheel:{enabled:!0,zoomAtMousePosition:!0,modifiers:`ctrl`,minScale:.5,maxScale:2},selecting:{enabled:!0,rubberband:!0,movable:!0,showNodeSelectionBox:!0},resizing:!0,rotating:!0,snapline:!0,keyboard:!0,clipboard:!0}}function J(e){return e?{width:e.clientWidth||e.offsetWidth||800,height:e.clientHeight||e.offsetHeight||600}:{width:0,height:0}}function Y(e,t){let n=0,r=b(null),i=b(!1),a=async(o={})=>{await m(),i.value=!0;try{if(!e.value)return;r.value&&=(r.value.dispose(),null);let{width:i,height:s}=J(e.value);if(i===0||s===0){n++,n<10&&setTimeout(()=>a(o),100);return}n=0;let c=te(t?.value??!1);r.value=new G({container:e.value,width:i,height:s,...c,...o})}catch{}finally{i.value=!1}};function o(e){if(!r.value)return;let t=q(e);r.value.drawBackground({color:t.background}),r.value.drawGrid({type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]})}t&&E(t,e=>{o(e)});function s(){r.value&&=(r.value.dispose(),null)}function c(){r.value?.centerContent()}function l(){r.value?.zoomToFit({padding:20,maxScale:1})}function u(e){r.value?.zoom(e)}function d(){if(r.value&&e.value){let{width:t,height:n}=J(e.value);r.value.resize(t,n)}}return v(s),{graph:r,loading:i,initGraph:a,destroyGraph:s,centerContent:c,zoomToFit:l,zoom:u,resizeGraph:d,updateTheme:o}}function X(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}function ne(e,t=`diagram.json`){let n=JSON.stringify(e,null,2);X(new Blob([n],{type:`application/json`}),t)}async function re(e,t=`diagram.png`,n={}){let{backgroundColor:r=`#ffffff`,scale:i=2}=n,{container:a}=e;X(await ae(await ee(a,{backgroundColor:r,scale:i,useCORS:!0,logging:!1}),`image/png`),t)}function ie(e,t=`diagram.svg`){let n=e.container.querySelector(`svg`);if(!n)throw Error(`SVG导出失败: 未找到图表 SVG 元素`);let r=n.cloneNode(!0);r.getAttribute(`xmlns`)||r.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),r.getAttribute(`xmlns:xlink`)||r.setAttribute(`xmlns:xlink`,`http://www.w3.org/1999/xlink`);let i=new XMLSerializer().serializeToString(r);X(new Blob([i],{type:`image/svg+xml;charset=utf-8`}),t)}function ae(e,t,n=1){return new Promise((r,i)=>{e.toBlob(e=>{e?r(e):i(Error(`Canvas 转 Blob 失败`))},t,n)})}const oe=[{label:`导出PNG`,key:`png`},{label:`导出SVG`,key:`svg`},{label:`导出JSON`,key:`json`}];function Z(t,n=`diagram`){let r=e();return{exportOptions:oe,handleExport:async(e,i)=>{if(t.value)try{switch(e){case`png`:await re(t.value,`${n}.png`);break;case`svg`:ie(t.value,`${n}.svg`);break;case`json`:i&&ne(i(),`${n}.json`);break}}catch(t){r.error(`导出${e.toUpperCase()}失败,请重试`,t)}}}}const se=[{label:`BIGINT`,value:`BIGINT`},{label:`INT`,value:`INT`},{label:`SMALLINT`,value:`SMALLINT`},{label:`TINYINT`,value:`TINYINT`},{label:`VARCHAR(50)`,value:`VARCHAR(50)`},{label:`VARCHAR(100)`,value:`VARCHAR(100)`},{label:`VARCHAR(255)`,value:`VARCHAR(255)`},{label:`CHAR(10)`,value:`CHAR(10)`},{label:`TEXT`,value:`TEXT`},{label:`LONGTEXT`,value:`LONGTEXT`},{label:`DATETIME`,value:`DATETIME`},{label:`TIMESTAMP`,value:`TIMESTAMP`},{label:`DATE`,value:`DATE`},{label:`TIME`,value:`TIME`},{label:`DECIMAL(10,2)`,value:`DECIMAL(10,2)`},{label:`FLOAT`,value:`FLOAT`},{label:`DOUBLE`,value:`DOUBLE`},{label:`BOOLEAN`,value:`BOOLEAN`},{label:`JSON`,value:`JSON`}],ce={key:0,class:`table-editor`},le={class:`fields-container`},ue={class:`field-header`},de=d({__name:`ERTableEditor`,props:f({show:{type:Boolean}},{editingTable:{},editingTableModifiers:{}}),emits:f([`update:show`,`save`,`add-field`,`remove-field`,`handle-primary-key`],[`update:editingTable`]),setup(e,{emit:n}){let i=T(e,`editingTable`),d=n,f=(e,t)=>d(`handle-primary-key`,e,t),p=()=>d(`add-field`),m=e=>d(`remove-field`,e);return(n,d)=>(y(),a(w(N),{show:e.show,width:`600`,placement:`right`,"onUpdate:show":d[4]||=e=>n.$emit(`update:show`,e)},{default:D(()=>[u(w(P),{title:`编辑表: ${i.value?.name||`新表`}`,closable:``},{footer:D(()=>[u(w(W),{justify:`end`},{default:D(()=>[u(w(k),{onClick:d[2]||=e=>n.$emit(`update:show`,!1)},{default:D(()=>[...d[11]||=[l(`取消`,-1)]]),_:1}),u(w(k),{onClick:d[3]||=e=>n.$emit(`save`),type:`primary`},{default:D(()=>[...d[12]||=[l(`保存`,-1)]]),_:1})]),_:1})]),default:D(()=>[i.value?(y(),s(`div`,ce,[u(w(I),{model:i.value,"label-placement":`top`},{default:D(()=>[u(w(L),{label:`表名`},{default:D(()=>[u(w(B),{value:i.value.name,"onUpdate:value":d[0]||=e=>i.value.name=e,placeholder:`请输入表名`},null,8,[`value`])]),_:1}),u(w(L),{label:`表注释`},{default:D(()=>[u(w(B),{value:i.value.comment,"onUpdate:value":d[1]||=e=>i.value.comment=e,placeholder:`表注释`},null,8,[`value`])]),_:1}),u(w(M),null,{default:D(()=>[...d[5]||=[l(`字段列表`,-1)]]),_:1}),c(`div`,le,[(y(!0),s(r,null,x(i.value.fields,(e,t)=>(y(),a(w(A),{key:t,size:`small`,class:`field-card`},{header:D(()=>[c(`div`,ue,[c(`span`,null,`#`+C(t+1)+` `+C(e.name||`新字段`),1),u(w(k),{onClick:e=>m(t),size:`tiny`,type:`error`,quaternary:``,disabled:i.value.fields.length<=1},{default:D(()=>[...d[6]||=[l(` 删除 `,-1)]]),_:1},8,[`onClick`,`disabled`])])]),default:D(()=>[u(w(z),{cols:2,"x-gap":12},{default:D(()=>[u(w(R),null,{default:D(()=>[u(w(L),{label:`字段名`,size:`small`},{default:D(()=>[u(w(B),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`字段名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),u(w(R),null,{default:D(()=>[u(w(L),{label:`类型`,size:`small`},{default:D(()=>[u(w(U),{value:e.type,"onUpdate:value":t=>e.type=t,options:w(se),size:`small`,filterable:``,placeholder:`选择类型`},null,8,[`value`,`onUpdate:value`,`options`])]),_:2},1024)]),_:2},1024)]),_:2},1024),u(w(W),{style:{"margin-top":`12px`}},{default:D(()=>[u(w(j),{checked:e.isPrimaryKey,"onUpdate:checked":[t=>e.isPrimaryKey=t,t=>f(e,t)]},{default:D(()=>[...d[7]||=[l(` 主键 `,-1)]]),_:1},8,[`checked`,`onUpdate:checked`]),u(w(j),{checked:e.isRequired,"onUpdate:checked":t=>e.isRequired=t},{default:D(()=>[...d[8]||=[l(`必填`,-1)]]),_:1},8,[`checked`,`onUpdate:checked`]),u(w(j),{checked:e.isForeignKey,"onUpdate:checked":t=>e.isForeignKey=t},{default:D(()=>[...d[9]||=[l(`外键`,-1)]]),_:1},8,[`checked`,`onUpdate:checked`])]),_:2},1024),u(w(L),{label:`注释`,size:`small`,style:{"margin-top":`12px`}},{default:D(()=>[u(w(B),{value:e.comment,"onUpdate:value":t=>e.comment=t,placeholder:`字段注释`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024))),128)),u(w(k),{onClick:p,dashed:``,block:``,type:`primary`,ghost:``,style:{"margin-top":`16px`}},{icon:D(()=>[u(t,{name:`mdi:plus`,size:16})]),default:D(()=>[d[10]||=l(` 添加字段 `,-1)]),_:1})])]),_:1},8,[`model`])])):o(`v-if`,!0)]),_:1},8,[`title`])]),_:1},8,[`show`]))}}),fe={class:`er-layout`},pe={key:0,class:`toolbar`},me={key:0,style:{"margin-top":`8px`}};var he=n(d({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},theme:{}},emits:[`ready`,`data-change`],setup(e,{expose:n,emit:r}){let a=e,d=r,f=b(),{graph:p,initGraph:h,centerContent:g,zoomToFit:x}=Y(f,i(()=>a.theme===`dark`)),{exportOptions:S,handleExport:T}=Z(p,`er-diagram`),A=b(!1),j=b(),M=b(!1),N=(e,t)=>e.length>t?e.substring(0,t-1)+`..`:e,P=e=>e.fields?.map(t=>{let n=t.isPrimaryKey?`🔑 ${t.name}`:t.isRequired?`* ${t.name}`:t.name;return{id:`${e.id}_${t.name}`,group:`list`,attrs:{portNameLabel:{text:N(n,12),title:n},portTypeLabel:{text:N(t.type,10),title:t.type},portBody:{fill:t.isPrimaryKey?`#FFF7E6`:`#EFF4FF`}}}})||[],I=e=>({id:e.id,shape:`er-rect`,x:e.position.x,y:e.position.y,width:200,height:24+(e.fields?.length||0)*24,data:e,attrs:{label:{text:N(e.name,20),refX:.5,refY:10,textAnchor:`middle`,title:e.name}},ports:P(e)}),L=()=>{p.value&&(G.registerPortLayout(`erPortPosition`,e=>e.map((e,t)=>({position:{x:0,y:(t+1)*24},angle:0})),!0),G.registerNode(`er-rect`,{inherit:`rect`,markup:[{tagName:`rect`,selector:`body`},{tagName:`text`,selector:`label`}],attrs:{rect:{strokeWidth:1,stroke:`#5F95FF`,fill:`#5F95FF`},label:{fontWeight:`bold`,fill:`#ffffff`,fontSize:12}},ports:{groups:{list:{markup:[{tagName:`rect`,selector:`portBody`},{tagName:`text`,selector:`portNameLabel`},{tagName:`text`,selector:`portTypeLabel`}],attrs:{portBody:{width:200,height:24,strokeWidth:1,stroke:`#5F95FF`,fill:`#EFF4FF`,magnet:!0},portNameLabel:{ref:`portBody`,refX:6,refY:6,fontSize:9,textAnchor:`start`,textOverflow:`ellipsis`},portTypeLabel:{ref:`portBody`,refX:120,refY:6,fontSize:9,textAnchor:`start`,fill:`#666`}},position:`erPortPosition`}}}},!0))},R=()=>{M.value=!M.value,M.value||z()},z=()=>{p.value?.getEdges().forEach(e=>{e.attr(`line/stroke`,`#A2B1C3`),e.attr(`line/strokeWidth`,2)})},B=e=>{if(!p.value)return;let t=p.value.createNode(I(e));return p.value.resetCells([t,...p.value.getCells()]),t},V=()=>{let e=p.value?.getNodes()||[];for(let t=0;t<10;t++)for(let n=0;n<3;n++){let r={x:n*250+50,y:t*250+50};if(!e.some(e=>{let t=e.getPosition();return Math.abs(t.x-r.x)<250*.8&&Math.abs(t.y-r.y)<250*.8}))return r}return{x:50,y:50}},H=()=>{let e={id:`table_${Date.now()}`,name:`新表`,comment:``,fields:[{name:`id`,type:`BIGINT`,isPrimaryKey:!0,isRequired:!0,isForeignKey:!1,comment:`主键`},{name:`name`,type:`VARCHAR(100)`,isPrimaryKey:!1,isRequired:!0,isForeignKey:!1,comment:`名称`}],position:V()};B(e),U(e),X()},U=e=>{j.value={...e,fields:e.fields?.map(e=>({...e}))||[]},A.value=!0},K=()=>{if(!p.value||!j.value)return;let e=p.value.getCellById(j.value.id);e&&(e.setData(j.value),e.prop({size:{width:200,height:24+j.value.fields.length*24},attrs:{label:{text:N(j.value.name,20),title:j.value.name}},ports:P(j.value)})),A.value=!1,X()},ee=(e,t)=>{t&&(e.isRequired=!0,j.value?.fields.forEach(t=>{t!==e&&(t.isPrimaryKey=!1)}))},q=()=>{j.value?.fields.push({name:`field_${(j.value?.fields.length||0)+1}`,type:`VARCHAR(100)`,isPrimaryKey:!1,isRequired:!1,isForeignKey:!1,comment:``})},te=e=>{j.value&&j.value.fields.length>1&&j.value.fields.splice(e,1)},J=()=>{if(!p.value)return{tables:[],relations:[]};let e=p.value.getNodes().map(e=>({...e.getData(),position:e.getPosition()})),t=[];return p.value.getEdges().forEach(e=>{let n=e.getSourceNode(),r=e.getTargetNode(),i=e.getSourcePortId(),a=e.getTargetPortId();n&&r&&i&&a&&t.push({id:e.id,type:`foreign-key`,sourceTable:n.id,sourceField:i.split(`_`).slice(1).join(`_`),targetTable:r.id,targetField:a.split(`_`).slice(1).join(`_`),name:`${n.getData()?.name||n.id} -> ${r.getData()?.name||r.id}`})}),{tables:e,relations:t}},X=()=>d(`data-change`,J());return E(p,e=>{if(!(e instanceof G))return;L(),e.on(`node:dblclick`,({node:e})=>{a.readonly||U(e.getData())}),e.on(`edge:connected`,X),e.on(`edge:removed`,X);let t=null;e.on(`edge:click`,({edge:e})=>{M.value?(e.remove(),X()):(z(),e.attr(`line/stroke`,`#ff4d4f`),e.attr(`line/strokeWidth`,3),t=e)}),e.on(`edge:dblclick`,({edge:e})=>{e.remove(),X()}),e.on(`blank:click`,()=>{t=null,M.value||z()});let n=e=>{let n=e.target?.tagName;n===`INPUT`||n===`TEXTAREA`||e.target?.isContentEditable||(e.key===`Delete`||e.key===`Backspace`)&&t&&(t.remove(),X(),t=null)};document.addEventListener(`keydown`,n),v(()=>document.removeEventListener(`keydown`,n)),d(`ready`,e),m(()=>{if(a.data?.tables){let t=a.data.tables.map(t=>e.createNode(I(t)));a.data.relations?.length&&a.data.relations.forEach(n=>{t.push(e.createEdge({source:{cell:n.sourceTable,port:`${n.sourceTable}_${n.sourceField}`},target:{cell:n.targetTable,port:`${n.targetTable}_${n.targetField}`},attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2}}}))}),e.resetCells(t),setTimeout(()=>e.zoomToFit({padding:20,maxScale:1}),300)}})},{immediate:!0}),E(()=>a.data,e=>{if(p.value&&e?.tables){let t=e.tables.map(e=>p.value.createNode(I(e)));e.relations?.length&&e.relations.forEach(e=>{t.push(p.value.createEdge({source:{cell:e.sourceTable,port:`${e.sourceTable}_${e.sourceField}`},target:{cell:e.targetTable,port:`${e.targetTable}_${e.targetField}`},attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2}}}))}),p.value.resetCells(t)}},{deep:!0}),_(()=>h()),n({getGraph:()=>p.value??void 0,getData:J}),(n,r)=>(y(),s(`div`,fe,[o(` 工具栏 `),e.showToolbar?(y(),s(`div`,pe,[u(w(W),null,{default:D(()=>[u(w(k),{onClick:H,type:`primary`,size:`small`},{icon:D(()=>[u(t,{name:`mdi:table-plus`,size:16})]),default:D(()=>[r[3]||=l(` 添加表 `,-1)]),_:1}),u(w(k),{onClick:w(g),size:`small`},{icon:D(()=>[u(t,{name:`mdi:image-filter-center-focus`,size:16})]),default:D(()=>[r[4]||=l(` 居中 `,-1)]),_:1},8,[`onClick`]),u(w(k),{onClick:w(x),size:`small`},{icon:D(()=>[u(t,{name:`mdi:fit-to-screen`,size:16})]),default:D(()=>[r[5]||=l(` 适应 `,-1)]),_:1},8,[`onClick`]),u(w(k),{onClick:R,type:M.value?`error`:`default`,size:`small`},{icon:D(()=>[u(t,{name:`mdi:delete`,size:16})]),default:D(()=>[l(` `+C(M.value?`退出删除`:`删除连线`),1)]),_:1},8,[`type`]),u(w(F),{options:w(S),onSelect:r[0]||=e=>w(T)(e,J)},{default:D(()=>[u(w(k),{size:`small`},{icon:D(()=>[u(t,{name:`mdi:export`,size:16})]),default:D(()=>[r[6]||=l(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])]),_:1}),M.value?(y(),s(`div`,me,[u(w(O),{type:`info`,size:`small`,"show-icon":!1},{default:D(()=>[...r[7]||=[l(` 删除模式:点击连接线即可删除 `,-1)]]),_:1})])):o(`v-if`,!0)])):o(`v-if`,!0),o(` 图表容器 `),c(`div`,{ref_key:`containerRef`,ref:f,class:`graph-container`},null,512),o(` 表编辑器 `),u(de,{show:A.value,"editing-table":j.value,"onUpdate:editingTable":r[1]||=e=>j.value=e,"onUpdate:show":r[2]||=e=>A.value=e,onSave:K,onAddField:q,onRemoveField:te,onHandlePrimaryKey:ee},null,8,[`show`,`editing-table`])]))}}),[[`__scopeId`,`data-v-19cb7526`]]);const ge={defaultColor:`#A2B1C3`,highlightColor:`#ff4d4f`,strokeWidth:2,highlightStrokeWidth:3,portPositions:[],onDataChange:()=>{}};function Q(e,t={}){let n={...ge,...t},r=()=>{e.value?.getEdges().forEach(e=>{e.attr(`line/stroke`,n.defaultColor),e.attr(`line/strokeWidth`,n.strokeWidth)})},i=e=>{r(),e.attr(`line/stroke`,n.highlightColor),e.attr(`line/strokeWidth`,n.highlightStrokeWidth)},a=(e,t)=>{n.portPositions.forEach(n=>e.attr(`port-${n}/style/opacity`,t))};return{resetEdgeStyles:r,highlightEdge:i,togglePorts:a,bindInteractions:()=>{let t=e.value;t&&(t.on(`edge:click`,({edge:e})=>i(e)),t.on(`edge:dblclick`,({edge:e})=>{e.remove(),n.onDataChange()}),t.on(`blank:click`,r),t.on(`node:click`,r),t.on(`edge:connected`,n.onDataChange),n.portPositions.length>0&&(t.on(`node:mouseenter`,({node:e})=>a(e,1)),t.on(`node:mouseleave`,({node:e})=>a(e,0))))}}}const _e={"start-event":{name:`开始`,title:`开始事件`,iconClass:`circle start-event`},activity:{name:`任务`,title:`任务活动`,iconClass:`rect activity`},gateway:{name:`网关`,title:`排他网关`,iconClass:`diamond gateway`},"end-event":{name:`结束`,title:`结束事件`,iconClass:`circle end-event`}},ve={event:`事件`,activity:`活动`,gateway:`网关`,"bpmn-edge":`连接线`},$=[`top`,`right`,`bottom`,`left`],ye=(e,t=`rect`)=>e.reduce((e,n)=>{let r=t===`circle`,i=n===`top`?r?{refCx:.5,refCy:0}:{refX:.5,refY:0}:n===`right`?r?{refCx:1,refCy:.5}:{refX:1,refY:.5}:n===`bottom`?r?{refCx:.5,refCy:1}:{refX:.5,refY:1}:r?{refCx:0,refCy:.5}:{refX:0,refY:.5};return e[`port-${n}`]={ref:`body`,...i,r:4,fill:`#31d0c6`,stroke:`#ffffff`,strokeWidth:2,magnet:!0,style:{cursor:`crosshair`,opacity:0,transition:`opacity 0.2s`}},e},{}),be={event:{inherit:`circle`,attrs:{body:{strokeWidth:2,stroke:`#5F95FF`,fill:`#FFF`,magnet:!1,style:{cursor:`move`}},text:{fontSize:12,fill:`#262626`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}},activity:{inherit:`rect`,attrs:{body:{rx:6,ry:6,stroke:`#5F95FF`,fill:`#EFF4FF`,strokeWidth:1,magnet:!1,style:{cursor:`move`}},text:{fontSize:12,fill:`#262626`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}},gateway:{inherit:`polygon`,attrs:{body:{refPoints:`0,10 10,0 20,10 10,20`,strokeWidth:2,stroke:`#5F95FF`,fill:`#EFF4FF`,magnet:!1,style:{cursor:`move`}},text:{fontSize:20,fill:`#5F95FF`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}}},xe={inherit:`edge`,attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2,targetMarker:{name:`block`,width:8,height:6,fill:`#A2B1C3`},cursor:`pointer`}}};function Se(e=!1){let t={background:e?`#18181c`:`#ffffff`,gridPrimary:e?`rgba(255, 255, 255, 0.08)`:`#eee`,gridSecondary:e?`rgba(255, 255, 255, 0.04)`:`#ddd`};return{background:{color:t.background},grid:{visible:!0,type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]},mousewheel:{enabled:!0,zoomAtMousePosition:!0,modifiers:`ctrl`,minScale:.5,maxScale:3},connecting:{router:`manhattan`,connector:{name:`rounded`,args:{radius:8}},allowBlank:!1,allowLoop:!1,allowNode:!1,snap:!0,allowEdge:!1},highlighting:{magnetAvailable:{name:`stroke`,args:{attrs:{fill:`#31d0c6`,stroke:`#31d0c6`,opacity:1}}},magnetAdsorbed:{name:`stroke`,args:{attrs:{fill:`#5F95FF`,stroke:`#5F95FF`,opacity:1}}}},selecting:{enabled:!0,rubberband:!0,showNodeSelectionBox:!0},resizing:!0,rotating:!1,snapline:!0,keyboard:!0,clipboard:!0}}Se();const Ce={"start-event":{shape:`event`,width:50,height:50,label:`开始事件`,data:{type:`start`}},"end-event":{shape:`event`,width:50,height:50,label:`结束事件`,data:{type:`end`}},activity:{shape:`activity`,width:120,height:60,label:`新活动`,data:{description:``,assignee:``}},gateway:{shape:`gateway`,width:40,height:40,label:`+`,data:{type:`exclusive`}}},we=[{id:`start-1`,shape:`event`,x:100,y:200,width:50,height:50,label:`流程开始`,data:{type:`start`}},{id:`activity-1`,shape:`activity`,x:200,y:180,width:120,height:60,label:`用户申请`,data:{description:`用户提交申请表单`,assignee:`申请人`}},{id:`activity-2`,shape:`activity`,x:380,y:180,width:120,height:60,label:`初审`,data:{description:`部门进行初步审核`,assignee:`部门主管`}},{id:`gateway-1`,shape:`gateway`,x:550,y:200,width:40,height:40,label:`+`,data:{type:`exclusive`}},{id:`activity-3`,shape:`activity`,x:650,y:120,width:120,height:60,label:`终审`,data:{description:`高级主管最终审核`,assignee:`总监`}},{id:`activity-4`,shape:`activity`,x:650,y:260,width:120,height:60,label:`驳回处理`,data:{description:`处理驳回流程`,assignee:`专员`}},{id:`end-1`,shape:`event`,x:820,y:140,width:50,height:50,label:`审批通过`,data:{type:`end`}},{id:`end-2`,shape:`event`,x:820,y:280,width:50,height:50,label:`审批驳回`,data:{type:`end`}},{id:`edge-1`,shape:`bpmn-edge`,source:`start-1`,target:`activity-1`,x:0,y:0},{id:`edge-2`,shape:`bpmn-edge`,source:`activity-1`,target:`activity-2`,x:0,y:0},{id:`edge-3`,shape:`bpmn-edge`,source:`activity-2`,target:`gateway-1`,x:0,y:0},{id:`edge-4`,shape:`bpmn-edge`,source:`gateway-1`,target:`activity-3`,label:`通过`,x:0,y:0},{id:`edge-5`,shape:`bpmn-edge`,source:`gateway-1`,target:`activity-4`,label:`驳回`,x:0,y:0},{id:`edge-6`,shape:`bpmn-edge`,source:`activity-3`,target:`end-1`,x:0,y:0},{id:`edge-7`,shape:`bpmn-edge`,source:`activity-4`,target:`end-2`,x:0,y:0}],Te={key:0,class:`property-panel`},Ee={class:`property-item`},De={class:`property-item`},Oe={key:0,class:`property-item`},ke={key:1,class:`property-item`},Ae={class:`form-actions`},je=d({__name:`BPMNPropertyEditor`,props:f({show:{type:Boolean}},{editingElement:{},editingElementModifiers:{}}),emits:f([`update:show`,`save`,`delete`],[`update:editingElement`]),setup(e,{emit:t}){let n=T(e,`editingElement`),r=t,d=i(()=>ve[n.value?.shape]||n.value?.shape||``);return(t,i)=>(y(),a(w(N),{show:e.show,width:`300`,title:`属性设置`,"onUpdate:show":i[6]||=e=>r(`update:show`,e)},{default:D(()=>[n.value?(y(),s(`div`,Te,[c(`div`,Ee,[i[7]||=c(`div`,{class:`property-label`},`名称`,-1),u(w(B),{value:n.value.label,"onUpdate:value":i[0]||=e=>n.value.label=e,placeholder:`请输入名称`,size:`small`},null,8,[`value`])]),c(`div`,De,[i[8]||=c(`div`,{class:`property-label`},`类型`,-1),u(w(B),{value:d.value,readonly:``,size:`small`},null,8,[`value`])]),n.value.shape===`activity`?(y(),s(`div`,Oe,[i[9]||=c(`div`,{class:`property-label`},`描述`,-1),u(w(B),{value:n.value.description,"onUpdate:value":i[1]||=e=>n.value.description=e,type:`textarea`,rows:3,placeholder:`请输入活动描述`,size:`small`},null,8,[`value`])])):o(`v-if`,!0),n.value.shape===`activity`?(y(),s(`div`,ke,[i[10]||=c(`div`,{class:`property-label`},`执行人`,-1),u(w(B),{value:n.value.assignee,"onUpdate:value":i[2]||=e=>n.value.assignee=e,placeholder:`请输入执行人`,size:`small`},null,8,[`value`])])):o(`v-if`,!0),c(`div`,Ae,[u(w(W),null,{default:D(()=>[u(w(k),{onClick:i[3]||=e=>r(`save`),type:`primary`,size:`small`},{default:D(()=>[...i[11]||=[l(` 保存 `,-1)]]),_:1}),u(w(k),{onClick:i[4]||=e=>r(`update:show`,!1),size:`small`},{default:D(()=>[...i[12]||=[l(` 取消 `,-1)]]),_:1}),u(w(k),{onClick:i[5]||=e=>r(`delete`),type:`error`,size:`small`},{default:D(()=>[...i[13]||=[l(` 删除 `,-1)]]),_:1})]),_:1})])])):o(`v-if`,!0)]),_:1},8,[`show`]))}}),Me={class:`bpmn-layout`},Ne={key:0,class:`top-toolbar`},Pe={class:`toolbar-section`},Fe={class:`toolbar-group`},Ie={class:`toolbar-group`},Le={class:`toolbar-group`},Re={class:`main-content`},ze={key:0,class:`left-panel`},Be={class:`element-grid`},Ve=[`onClick`,`title`],He={class:`graph-wrapper`};var Ue=n(d({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},width:{default:`100%`},height:{default:`600px`},theme:{}},emits:[`ready`,`data-change`],setup(e,{expose:n,emit:a}){let d=e,f=a,p=b(),{graph:m,initGraph:g,centerContent:v,zoomToFit:S}=Y(p,i(()=>d.theme===`dark`)),{exportOptions:T,handleExport:O}=Z(m,`bpmn-diagram`),{bindInteractions:A}=Q(m,{portPositions:$,onDataChange:()=>W()}),j=b(!1),M=b(),N=e=>String(e.attr(`text/text`)||e.attr(`label/text`)||``),P=e=>{if(!e)return[];if(Array.isArray(e))return e;let t=[];return Object.values(e).forEach(e=>{Array.isArray(e)&&t.push(...e)}),t},I=()=>{let e=$.map(e=>({tagName:`circle`,selector:`port-${e}`})),t=[`event`,`activity`,`gateway`],n={event:`circle`,activity:`rect`,gateway:`polygon`};t.forEach(t=>{G.registerNode(t,{...be[t],markup:[{tagName:n[t],selector:`body`},{tagName:`text`,selector:`text`},...e],attrs:{...be[t].attrs,...ye($,n[t])}},!0)}),G.registerEdge(`bpmn-edge`,xe,!0)},L=e=>{if(!m.value||!e.length)return;let t=e.map(e=>{let{data:t,...n}=e,r=e.shape===`bpmn-edge`?m.value.createEdge(n):m.value.createNode(n);return t&&r.setData(t),r});m.value.resetCells(t),setTimeout(()=>m.value.zoomToFit({padding:50,maxScale:1}),200)},R=e=>{if(!m.value)return;let t=Ce[e];if(!t)return;let n=m.value.options.width/2,r=m.value.options.height/2,{data:i,...a}={id:`${e}-${Date.now()}`,x:n+Math.random()*100-50,y:r+Math.random()*100-50,...t},o=m.value.createNode(a);i&&o.setData(i),m.value.addCell(o),W()},z=()=>{m.value?.clearCells(),W()},B=e=>{let t=e.getData()||{};M.value={id:e.id,shape:e.shape,label:N(e),description:t.description||``,assignee:t.assignee||``,x:0,y:0},j.value=!0},V=()=>{if(!m.value||!M.value)return;let e=m.value.getCellById(M.value.id);e&&(e.setData({description:M.value.description,assignee:M.value.assignee}),e.attr(`text/text`,M.value.label||``),e.attr(`label/text`,M.value.label||``)),j.value=!1,W()},H=()=>{!m.value||!M.value||(m.value.getCellById(M.value.id)?.remove(),j.value=!1,W())},U=()=>m.value?[...m.value.getNodes().map(e=>({id:e.id,shape:e.shape,x:e.getPosition().x,y:e.getPosition().y,width:e.getSize().width,height:e.getSize().height,label:N(e),data:e.getData()||{}})),...m.value.getEdges().map(e=>({id:e.id,shape:`bpmn-edge`,source:e.getSourceCellId()||``,target:e.getTargetCellId()||``,label:N(e),x:0,y:0}))]:[],W=()=>f(`data-change`,U());return E(m,e=>{e instanceof G&&(d.readonly||(A(),e.on(`node:dblclick`,({node:e})=>B(e)),e.on(`node:moved`,W)),f(`ready`,e),L(we))},{immediate:!0}),E(()=>d.data,e=>{if(!e||!m.value)return;let t=P(e);t.length>0&&L(t)},{deep:!0}),_(async()=>{I();let e=Se();await g({...e,connecting:{...e.connecting,createEdge:()=>m.value.createEdge({shape:`bpmn-edge`}),validateConnection:({sourceView:e,targetView:t,sourceMagnet:n,targetMagnet:r})=>e!==t&&!!n&&!!r&&n.getAttribute(`magnet`)===`true`&&r.getAttribute(`magnet`)===`true`}})}),n({getGraph:()=>m.value,getData:U,loadData:L}),(n,i)=>(y(),s(`div`,Me,[e.showToolbar?(y(),s(`div`,Ne,[c(`div`,Pe,[c(`div`,Fe,[u(w(k),{onClick:z,size:`small`},{icon:D(()=>[u(t,{name:`mdi:delete-outline`,size:16})]),default:D(()=>[i[3]||=l(` 清空 `,-1)]),_:1})]),c(`div`,Ie,[u(w(k),{onClick:w(v),size:`small`},{icon:D(()=>[u(t,{name:`mdi:image-filter-center-focus`,size:16})]),default:D(()=>[i[4]||=l(` 居中 `,-1)]),_:1},8,[`onClick`]),u(w(k),{onClick:w(S),size:`small`},{icon:D(()=>[u(t,{name:`mdi:fit-to-screen`,size:16})]),default:D(()=>[i[5]||=l(` 适应 `,-1)]),_:1},8,[`onClick`])]),c(`div`,Le,[u(w(F),{options:w(T),onSelect:i[0]||=e=>w(O)(e,U)},{default:D(()=>[u(w(k),{size:`small`},{icon:D(()=>[u(t,{name:`mdi:export`,size:16})]),default:D(()=>[i[6]||=l(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])])])])):o(`v-if`,!0),c(`div`,Re,[e.showToolbar?(y(),s(`div`,ze,[i[7]||=c(`div`,{class:`panel-title`},`组件`,-1),c(`div`,Be,[(y(!0),s(r,null,x(w(_e),(e,t)=>(y(),s(`div`,{key:t,class:`element-item`,onClick:e=>R(t),title:e.title},[c(`div`,{class:h([`element-icon`,e.iconClass])},null,2),c(`span`,null,C(e.name),1)],8,Ve))),128))])])):o(`v-if`,!0),c(`div`,He,[c(`div`,{ref_key:`containerRef`,ref:p,class:`graph-container`},null,512)])]),u(je,{show:j.value,"editing-element":M.value,"onUpdate:editingElement":i[1]||=e=>M.value=e,"onUpdate:show":i[2]||=e=>j.value=e,onSave:V,onDelete:H},null,8,[`show`,`editing-element`])]))}}),[[`__scopeId`,`data-v-d588444e`]]);const We={key:0,class:`class-editor`},Ge={class:`section`},Ke={class:`section-header`},qe={style:{"font-size":`13px`}},Je={class:`section`},Ye={class:`section-header`},Xe={style:{"font-size":`13px`}};var Ze=n(d({__name:`UMLClassEditor`,props:f({show:{type:Boolean}},{editingClass:{},editingClassModifiers:{}}),emits:f([`update:show`,`save`,`delete`],[`update:editingClass`]),setup(e,{emit:n}){let i=T(e,`editingClass`),d=n;return(n,f)=>(y(),a(w(N),{show:e.show,width:`450`,title:`编辑类`,"onUpdate:show":f[6]||=e=>d(`update:show`,e)},{default:D(()=>[i.value?(y(),s(`div`,We,[u(w(I),{"label-placement":`top`},{default:D(()=>[u(w(L),{label:`类名`},{default:D(()=>[u(w(B),{value:i.value.name,"onUpdate:value":f[0]||=e=>i.value.name=e,placeholder:`请输入类名`},null,8,[`value`])]),_:1}),u(w(M),{style:{margin:`20px 0`}},{default:D(()=>[...f[7]||=[l(`属性`,-1)]]),_:1}),c(`div`,Ge,[(y(!0),s(r,null,x(i.value.attributes,(e,t)=>(y(),s(`div`,{key:t,class:`item`},[u(w(A),{size:`small`,style:{"margin-bottom":`12px`}},{header:D(()=>[c(`div`,Ke,[c(`span`,qe,`#`+C(t+1)+` `+C(e.name||`新属性`),1),u(w(k),{onClick:e=>i.value.attributes.splice(t,1),size:`tiny`,type:`error`,quaternary:``,style:{"margin-left":`auto`}},{default:D(()=>[...f[8]||=[l(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),default:D(()=>[u(w(W),{vertical:``,size:`small`},{default:D(()=>[u(w(W),null,{default:D(()=>[u(w(L),{label:`属性名`,style:{margin:`0`,flex:`1`}},{default:D(()=>[u(w(B),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`属性名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),u(w(L),{label:`类型`,style:{margin:`0`,flex:`1`}},{default:D(()=>[u(w(B),{value:e.type,"onUpdate:value":t=>e.type=t,placeholder:`类型`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),u(w(L),{label:`可见性`,style:{margin:`0`}},{default:D(()=>[u(w(H),{value:e.visibility,"onUpdate:value":t=>e.visibility=t,size:`small`},{default:D(()=>[u(w(V),{value:`public`},{default:D(()=>[...f[9]||=[l(`+ public`,-1)]]),_:1}),u(w(V),{value:`private`},{default:D(()=>[...f[10]||=[l(`- private`,-1)]]),_:1}),u(w(V),{value:`protected`},{default:D(()=>[...f[11]||=[l(`# protected`,-1)]]),_:1})]),_:1},8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128)),u(w(k),{onClick:f[1]||=e=>i.value.attributes.push({name:`newAttribute`,type:`string`,visibility:`private`}),dashed:``,block:``,type:`primary`,ghost:``,size:`small`},{icon:D(()=>[u(t,{name:`mdi:plus`,size:16})]),default:D(()=>[f[12]||=l(` 添加属性 `,-1)]),_:1})]),u(w(M),{style:{margin:`20px 0`}},{default:D(()=>[...f[13]||=[l(`方法`,-1)]]),_:1}),c(`div`,Je,[(y(!0),s(r,null,x(i.value.methods,(e,t)=>(y(),s(`div`,{key:t,class:`item`},[u(w(A),{size:`small`,style:{"margin-bottom":`12px`}},{header:D(()=>[c(`div`,Ye,[c(`span`,Xe,`#`+C(t+1)+` `+C(e.name||`新方法`),1),u(w(k),{onClick:e=>i.value.methods.splice(t,1),size:`tiny`,type:`error`,quaternary:``,style:{"margin-left":`auto`}},{default:D(()=>[...f[14]||=[l(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),default:D(()=>[u(w(W),{vertical:``,size:`small`},{default:D(()=>[u(w(W),null,{default:D(()=>[u(w(L),{label:`方法名`,style:{margin:`0`,flex:`1`}},{default:D(()=>[u(w(B),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`方法名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),u(w(L),{label:`返回类型`,style:{margin:`0`,flex:`1`}},{default:D(()=>[u(w(B),{value:e.returnType,"onUpdate:value":t=>e.returnType=t,placeholder:`返回类型`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),u(w(L),{label:`可见性`,style:{margin:`0`}},{default:D(()=>[u(w(H),{value:e.visibility,"onUpdate:value":t=>e.visibility=t,size:`small`},{default:D(()=>[u(w(V),{value:`public`},{default:D(()=>[...f[15]||=[l(`+ public`,-1)]]),_:1}),u(w(V),{value:`private`},{default:D(()=>[...f[16]||=[l(`- private`,-1)]]),_:1}),u(w(V),{value:`protected`},{default:D(()=>[...f[17]||=[l(`# protected`,-1)]]),_:1})]),_:1},8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128)),u(w(k),{onClick:f[2]||=e=>i.value.methods.push({name:`newMethod`,returnType:`void`,visibility:`public`}),dashed:``,block:``,type:`primary`,ghost:``,size:`small`},{icon:D(()=>[u(t,{name:`mdi:plus`,size:16})]),default:D(()=>[f[18]||=l(` 添加方法 `,-1)]),_:1})]),u(w(M),{style:{margin:`20px 0`}}),u(w(W),{justify:`space-between`},{default:D(()=>[u(w(k),{onClick:f[3]||=e=>d(`delete`),type:`error`,ghost:``},{icon:D(()=>[u(t,{name:`mdi:delete`,size:16})]),default:D(()=>[f[19]||=l(` 删除类 `,-1)]),_:1}),u(w(W),null,{default:D(()=>[u(w(k),{onClick:f[4]||=e=>d(`update:show`,!1)},{default:D(()=>[...f[20]||=[l(`取消`,-1)]]),_:1}),u(w(k),{onClick:f[5]||=e=>d(`save`),type:`primary`},{default:D(()=>[...f[21]||=[l(` 保存 `,-1)]]),_:1})]),_:1})]),_:1})]),_:1})])):o(`v-if`,!0)]),_:1},8,[`show`]))}}),[[`__scopeId`,`data-v-102d6be6`]]);const Qe={public:`+`,private:`-`,protected:`#`},$e={extends:{strokeDasharray:0,targetMarker:{name:`block`,width:10,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},implement:{strokeDasharray:`8,4`,targetMarker:{name:`block`,width:10,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},composition:{strokeDasharray:0,sourceMarker:{name:`diamond`,width:12,height:8,fill:`#722ed1`,stroke:`#722ed1`}},aggregation:{strokeDasharray:0,sourceMarker:{name:`diamond`,width:12,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},association:{strokeDasharray:0,targetMarker:{name:`classic`,size:8,fill:`#722ed1`}}},et=[`top`,`right`,`bottom`,`left`].reduce((e,t)=>{let n=t===`top`?{refX:.5,refY:0}:t===`right`?{refX:1,refY:.5}:t===`bottom`?{refX:.5,refY:1}:{refX:0,refY:.5};return e[`port-${t}`]={ref:`body`,...n,r:4,fill:`#31d0c6`,stroke:`#ffffff`,strokeWidth:2,magnet:!0,style:{cursor:`crosshair`,opacity:0,transition:`opacity 0.2s`}},e},{}),tt={inherit:`rect`,markup:[{tagName:`rect`,selector:`body`},{tagName:`rect`,selector:`name-rect`},{tagName:`rect`,selector:`attrs-rect`},{tagName:`rect`,selector:`methods-rect`},{tagName:`text`,selector:`name-text`},{tagName:`text`,selector:`attrs-text`},{tagName:`text`,selector:`methods-text`},{tagName:`circle`,selector:`port-top`},{tagName:`circle`,selector:`port-right`},{tagName:`circle`,selector:`port-bottom`},{tagName:`circle`,selector:`port-left`}],attrs:{rect:{width:160},body:{stroke:`#5f95ff`,strokeWidth:1,fill:`#fff`,magnet:!1,style:{cursor:`move`}},"name-rect":{fill:`#5f95ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"attrs-rect":{fill:`#eff4ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"methods-rect":{fill:`#eff4ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"name-text":{ref:`name-rect`,refY:.5,refX:.5,textAnchor:`middle`,fontWeight:`bold`,fill:`#fff`,fontSize:12,pointerEvents:`none`},"attrs-text":{ref:`attrs-rect`,refY:.5,refX:5,textAnchor:`left`,fill:`black`,fontSize:10,pointerEvents:`none`},"methods-text":{ref:`methods-rect`,refY:.5,refX:5,textAnchor:`left`,fill:`black`,fontSize:10,pointerEvents:`none`},...et}},nt={router:`manhattan`,connector:{name:`rounded`,args:{radius:8}},allowBlank:!1,allowLoop:!1,allowNode:!1,snap:!0,allowEdge:!1},rt={magnetAvailable:{name:`stroke`,args:{attrs:{fill:`#31d0c6`,stroke:`#31d0c6`,opacity:1}}},magnetAdsorbed:{name:`stroke`,args:{attrs:{fill:`#5F95FF`,stroke:`#5F95FF`,opacity:1}}}},it={shape:`extends`,attrs:{line:{stroke:`#722ed1`,strokeWidth:2,targetMarker:{name:`block`,width:8,height:6,fill:`#722ed1`}}}},at=[{id:`animal`,name:`<<Abstract>>
|
|
2
2
|
动物`,x:342,y:98,attributes:[{name:`名字`,type:`string`,visibility:`public`}],methods:[{name:`新陈代谢`,returnType:`void`,visibility:`public`},{name:`繁殖`,returnType:`void`,visibility:`public`}]},{id:`bird`,name:`鸟`,x:575,y:280,attributes:[{name:`羽毛`,type:`string`,visibility:`public`},{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`mammal`,name:`哺乳动物`,x:844,y:319,attributes:[{name:`翅膀`,type:`boolean`,visibility:`public`}],methods:[]},{id:`dog`,name:`狗`,x:656,y:456,attributes:[{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`enterprise`,name:`企鹅`,x:984,y:456,attributes:[{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`sparrow`,name:`麻雀`,x:531,y:608,attributes:[{name:`学飞`,type:`boolean`,visibility:`public`}],methods:[]},{id:`interface-flying`,name:`<<interface>>
|
|
3
|
-
飞翔`,x:762,y:608,attributes:[{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`qemu`,name:`气球`,x:981,y:608,attributes:[],methods:[]}],ot=[{id:`edge-1`,shape:`extends`,source:`bird`,target:`animal`},{id:`edge-2`,shape:`extends`,source:`mammal`,target:`animal`},{id:`edge-3`,shape:`extends`,source:`dog`,target:`mammal`},{id:`edge-4`,shape:`extends`,source:`enterprise`,target:`mammal`},{id:`edge-5`,shape:`extends`,source:`sparrow`,target:`bird`},{id:`edge-6`,shape:`implement`,source:`sparrow`,target:`interface-flying`},{id:`edge-7`,shape:`implement`,source:`enterprise`,target:`interface-flying`},{id:`edge-8`,shape:`association`,source:`bird`,target:`mammal`,label:`1:2`}],st=e=>Qe[e]||`+`,ct={name:`新类`,attributes:[{name:`attribute`,type:`string`,visibility:`private`}],methods:[{name:`method`,returnType:`void`,visibility:`public`}],position:{x:100,y:100}},lt={class:`uml-layout`},ut={key:0,class:`toolbar`};var dt=
|
|
4
|
-
`):e.text),K.setByPath(i,`attrs/${e.type}-rect/height`,t),K.setByPath(i,`attrs/${e.type}-rect/transform`,`translate(0,${a})`),a+=t}),i.size={width:160,height:a},i}},!0),Object.entries($e).forEach(([e,t])=>{G.registerEdge(e,{inherit:`edge`,attrs:{line:{strokeWidth:2,stroke:`#722ed1`,...t}}},!0)})},
|
|
5
|
-
//# sourceMappingURL=C_AntV2.js.map
|
|
3
|
+
飞翔`,x:762,y:608,attributes:[{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`qemu`,name:`气球`,x:981,y:608,attributes:[],methods:[]}],ot=[{id:`edge-1`,shape:`extends`,source:`bird`,target:`animal`},{id:`edge-2`,shape:`extends`,source:`mammal`,target:`animal`},{id:`edge-3`,shape:`extends`,source:`dog`,target:`mammal`},{id:`edge-4`,shape:`extends`,source:`enterprise`,target:`mammal`},{id:`edge-5`,shape:`extends`,source:`sparrow`,target:`bird`},{id:`edge-6`,shape:`implement`,source:`sparrow`,target:`interface-flying`},{id:`edge-7`,shape:`implement`,source:`enterprise`,target:`interface-flying`},{id:`edge-8`,shape:`association`,source:`bird`,target:`mammal`,label:`1:2`}],st=e=>Qe[e]||`+`,ct={name:`新类`,attributes:[{name:`attribute`,type:`string`,visibility:`private`}],methods:[{name:`method`,returnType:`void`,visibility:`public`}],position:{x:100,y:100}},lt={class:`uml-layout`},ut={key:0,class:`toolbar`};var dt=n(d({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},width:{default:`100%`},height:{default:`600px`},theme:{}},emits:[`ready`,`data-change`],setup(e,{expose:n,emit:r}){let a=e,d=r,f=b(),{graph:p,initGraph:m,centerContent:h,zoomToFit:v}=Y(f,i(()=>a.theme===`dark`)),{exportOptions:x,handleExport:S}=Z(p,`uml-diagram`),{bindInteractions:C}=Q(p,{defaultColor:`#722ed1`,portPositions:[`top`,`right`,`bottom`,`left`],onDataChange:()=>z()}),T=b(!1),O=b(),A=()=>{G.registerNode(`class`,{...tt,propHooks(e){let{name:t,attributes:n,methods:r,...i}=e;if(!(t&&n&&r))return e;let a=0;return[{type:`name`,text:t},{type:`attrs`,text:n},{type:`methods`,text:r}].forEach(e=>{let t=Array.isArray(e.text)?e.text.length*12+16:32;K.setByPath(i,`attrs/${e.type}-text/text`,Array.isArray(e.text)?e.text.join(`
|
|
4
|
+
`):e.text),K.setByPath(i,`attrs/${e.type}-rect/height`,t),K.setByPath(i,`attrs/${e.type}-rect/transform`,`translate(0,${a})`),a+=t}),i.size={width:160,height:a},i}},!0),Object.entries($e).forEach(([e,t])=>{G.registerEdge(e,{inherit:`edge`,attrs:{line:{strokeWidth:2,stroke:`#722ed1`,...t}}},!0)})},j=e=>{if(!p.value||!e.length)return;let t=[`extends`,`composition`,`implement`,`aggregation`,`association`],n=[];e.forEach(e=>{if(t.includes(e.shape))n.push(p.value.createEdge(e));else{let{data:t,...r}=e,i=p.value.createNode(r);t&&i.setData(t),n.push(i)}}),p.value.resetCells(n),setTimeout(()=>p.value.zoomToFit({padding:10,maxScale:1}),200)},M=e=>({name:e.name,attributes:e.attributes.map(e=>`${st(e.visibility)} ${e.name}: ${e.type}`),methods:e.methods.map(e=>`${st(e.visibility)} ${e.name}(): ${e.returnType}`)}),N=()=>{if(!p.value)return;let e={id:`class_${Date.now()}`,...ct},t={id:e.id,shape:`class`,x:e.position.x,y:e.position.y,...M(e),data:e};p.value.addCell(p.value.createNode(t)),z()},P=e=>{O.value={...e,attributes:[...e.attributes||[]],methods:[...e.methods||[]]},T.value=!0},I=()=>{if(!p.value||!O.value)return;let e=p.value.getCellById(O.value.id);e&&(e.setData(O.value),e.prop(M(O.value))),T.value=!1,z()},L=()=>{!p.value||!O.value||(p.value.getCellById(O.value.id)?.remove(),T.value=!1,z())},R=()=>({classes:p.value?.getNodes().map(e=>({...e.getData(),position:e.getPosition()}))||[],relations:p.value?.getEdges().map(e=>({id:e.id,type:e.shape,source:e.getSourceCellId()||``,target:e.getTargetCellId()||``}))||[]}),z=()=>d(`data-change`,R());return E(p,e=>{e instanceof G&&(A(),C(),e.on(`node:dblclick`,({node:e})=>{!a.readonly&&e.getData()&&P(e.getData())}),d(`ready`,e),j([...at.map(e=>({id:e.id,shape:`class`,x:e.x,y:e.y,...M(e),data:{id:e.id,name:e.name,attributes:e.attributes,methods:e.methods,position:{x:e.x,y:e.y}}})),...ot]))},{immediate:!0}),E(()=>a.data,e=>{if(p.value&&e?.classes){let t=[`extends`,`composition`,`implement`,`aggregation`,`association`];j([...e.classes.map(e=>({id:e.id,shape:`class`,x:e.position?.x??50,y:e.position?.y??50,...M(e),data:e})),...(e.relations||[]).filter(e=>t.includes(e.type)).map(e=>({shape:e.type,source:e.source,target:e.target}))])}},{deep:!0}),_(()=>{m({interacting:!0,connecting:{...nt,createEdge:()=>p.value.createEdge(it),validateConnection:({sourceView:e,targetView:t,sourceMagnet:n,targetMagnet:r})=>e!==t&&!!n&&!!r&&n.getAttribute(`magnet`)===`true`&&r.getAttribute(`magnet`)===`true`},highlighting:rt})}),n({getGraph:()=>p.value,getData:R,addClass:N,centerContent:h,zoomToFit:v}),(n,r)=>(y(),s(`div`,lt,[e.showToolbar?(y(),s(`div`,ut,[u(w(W),null,{default:D(()=>[u(w(k),{onClick:N,type:`primary`,size:`small`},{icon:D(()=>[u(t,{name:`mdi:plus-box`,size:16})]),default:D(()=>[r[3]||=l(` 添加类 `,-1)]),_:1}),u(w(k),{onClick:w(h),size:`small`},{icon:D(()=>[u(t,{name:`mdi:image-filter-center-focus`,size:16})]),default:D(()=>[r[4]||=l(` 居中 `,-1)]),_:1},8,[`onClick`]),u(w(k),{onClick:w(v),size:`small`},{icon:D(()=>[u(t,{name:`mdi:fit-to-screen`,size:16})]),default:D(()=>[r[5]||=l(` 适应 `,-1)]),_:1},8,[`onClick`]),u(w(F),{options:w(x),onSelect:r[0]||=e=>w(S)(e,R)},{default:D(()=>[u(w(k),{size:`small`},{icon:D(()=>[u(t,{name:`mdi:export`,size:16})]),default:D(()=>[r[6]||=l(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])]),_:1})])):o(`v-if`,!0),c(`div`,{ref_key:`containerRef`,ref:f,class:`graph-container`,style:g({width:a.width,height:a.height})},null,4),u(Ze,{show:T.value,"editing-class":O.value,"onUpdate:editingClass":r[1]||=e=>O.value=e,"onUpdate:show":r[2]||=e=>T.value=e,onSave:I,onDelete:L},null,8,[`show`,`editing-class`])]))}}),[[`__scopeId`,`data-v-e4891a91`]]);const ft={class:`c-antv-container`};var pt=n(d({name:`C_AntV`,__name:`index`,props:{type:{},data:{},width:{default:`100%`},height:{default:`600px`},readonly:{type:Boolean,default:!1},showToolbar:{type:Boolean,default:!0},theme:{default:`light`}},emits:[`ready`,`data-change`],setup(e,{expose:t,emit:n}){let r=e,o=n,c=b(),l={er:he,bpmn:Ue,uml:dt},u=i(()=>l[r.type]),d=i(()=>{let e={width:r.width,height:r.height,readonly:r.readonly,showToolbar:r.showToolbar,theme:r.theme},t=r.data;if(r.type===`bpmn`&&r.data){let e=r.data;e&&typeof e==`object`&&`nodes`in e&&`edges`in e&&(t=[...(e.nodes||[]).map(e=>({...e,shape:e.type||e.shape||`rect`,x:e.x??0,y:e.y??0})),...(e.edges||[]).map(e=>({...e,shape:`edge`,x:0,y:0}))])}return{...e,data:t}}),f=e=>{o(`ready`,e)},m=e=>{let t;t=r.type===`bpmn`&&Array.isArray(e)?{nodes:e.filter(e=>e.shape!==`edge`).map(e=>{let{shape:t,x:n,y:r,...i}=e;return{...i,type:t===`rect`?`task`:t,x:n||0,y:r||0}}),edges:e.filter(e=>e.shape===`edge`).map(e=>{let{shape:t,x:n,y:r,...i}=e;return i}),flows:[]}:e,o(`data-change`,t)};return t({getGraph:()=>c.value?.getGraph?.(),getData:()=>{let e=c.value?.getData?.();return r.type===`bpmn`&&Array.isArray(e)?{nodes:e.filter(e=>e.shape!==`edge`),edges:e.filter(e=>e.shape===`edge`),flows:[]}:e}}),(e,t)=>(y(),s(`div`,ft,[(y(),a(S(u.value),p(d.value,{onReady:f,onDataChange:m,ref_key:`layoutRef`,ref:c}),null,16))]))}}),[[`__scopeId`,`data-v-b03826d0`]]);export{Y as i,Q as n,Z as r,pt as t};
|
package/dist/C_AudioPlayer.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./C_Icon2.cjs`);const e=require(`./C_AudioPlayer2.cjs`);exports.C_AudioPlayer=e.t,exports.DEFAULT_AUDIO_PLAYER_PROPS=e.n,exports.MODE_ICON_MAP=e.r,exports.formatTime=e.i;
|
package/dist/C_AudioPlayer.css
CHANGED
|
@@ -17,11 +17,6 @@
|
|
|
17
17
|
overflow: hidden;
|
|
18
18
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
|
|
19
19
|
/* ======================== Now Playing ======================== */
|
|
20
|
-
/* ======================== Progress ======================== */
|
|
21
|
-
/* ======================== Controls ======================== */
|
|
22
|
-
/* ======================== Volume ======================== */
|
|
23
|
-
/* ======================== Playlist ======================== */
|
|
24
|
-
/* ======================== Minimal Theme ======================== */
|
|
25
20
|
}
|
|
26
21
|
.c-audio-player__now-playing[data-v-9ab6a734] {
|
|
27
22
|
display: flex;
|
|
@@ -71,6 +66,9 @@
|
|
|
71
66
|
text-overflow: ellipsis;
|
|
72
67
|
white-space: nowrap;
|
|
73
68
|
}
|
|
69
|
+
.c-audio-player[data-v-9ab6a734] {
|
|
70
|
+
/* ======================== Progress ======================== */
|
|
71
|
+
}
|
|
74
72
|
.c-audio-player__progress[data-v-9ab6a734] {
|
|
75
73
|
padding: 0 20px;
|
|
76
74
|
}
|
|
@@ -118,6 +116,9 @@
|
|
|
118
116
|
margin-top: 4px;
|
|
119
117
|
padding-bottom: 4px;
|
|
120
118
|
}
|
|
119
|
+
.c-audio-player[data-v-9ab6a734] {
|
|
120
|
+
/* ======================== Controls ======================== */
|
|
121
|
+
}
|
|
121
122
|
.c-audio-player__controls[data-v-9ab6a734] {
|
|
122
123
|
display: flex;
|
|
123
124
|
align-items: center;
|
|
@@ -165,6 +166,9 @@
|
|
|
165
166
|
color: #fff;
|
|
166
167
|
box-shadow: 0 2px 10px color-mix(in srgb, var(--ap-accent) 35%, transparent);
|
|
167
168
|
}
|
|
169
|
+
.c-audio-player[data-v-9ab6a734] {
|
|
170
|
+
/* ======================== Volume ======================== */
|
|
171
|
+
}
|
|
168
172
|
.c-audio-player__volume[data-v-9ab6a734] {
|
|
169
173
|
display: flex;
|
|
170
174
|
align-items: center;
|
|
@@ -183,6 +187,9 @@
|
|
|
183
187
|
.c-audio-player__volume-slider[data-v-9ab6a734] {
|
|
184
188
|
width: 100px;
|
|
185
189
|
}
|
|
190
|
+
.c-audio-player[data-v-9ab6a734] {
|
|
191
|
+
/* ======================== Playlist ======================== */
|
|
192
|
+
}
|
|
186
193
|
.c-audio-player__playlist[data-v-9ab6a734] {
|
|
187
194
|
border-top: 1px solid var(--ap-border);
|
|
188
195
|
max-height: 260px;
|
|
@@ -248,6 +255,9 @@
|
|
|
248
255
|
color: var(--ap-text-sub);
|
|
249
256
|
flex-shrink: 0;
|
|
250
257
|
}
|
|
258
|
+
.c-audio-player[data-v-9ab6a734] {
|
|
259
|
+
/* ======================== Minimal Theme ======================== */
|
|
260
|
+
}
|
|
251
261
|
.c-audio-player.is-minimal[data-v-9ab6a734] {
|
|
252
262
|
border-radius: 99px;
|
|
253
263
|
padding: 6px 16px;
|
|
@@ -279,5 +289,3 @@
|
|
|
279
289
|
height: 34px;
|
|
280
290
|
font-size: 20px;
|
|
281
291
|
}
|
|
282
|
-
|
|
283
|
-
/*# sourceMappingURL=C_AudioPlayer-BnYIJXPD.css.map*/
|
package/dist/C_AudioPlayer.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as MODE_ICON_MAP, i as DEFAULT_AUDIO_PLAYER_PROPS, n as AudioPlayerProps, o as formatTime, r as AudioTrack, t as _default } from "./index2.vue.
|
|
1
|
+
import { a as MODE_ICON_MAP, i as DEFAULT_AUDIO_PLAYER_PROPS, n as AudioPlayerProps, o as formatTime, r as AudioTrack, t as _default } from "./index2.vue.cjs";
|
|
2
2
|
export { type AudioPlayerProps, type AudioTrack, _default as C_AudioPlayer, DEFAULT_AUDIO_PLAYER_PROPS, MODE_ICON_MAP, formatTime };
|
package/dist/C_AudioPlayer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,t as r}from"./C_AudioPlayer2.js";export{r as C_AudioPlayer,t as DEFAULT_AUDIO_PLAYER_PROPS,n as MODE_ICON_MAP,e as formatTime};
|
|
1
|
+
import"./C_Icon2.js";import{i as e,n as t,r as n,t as r}from"./C_AudioPlayer2.js";export{r as C_AudioPlayer,t as DEFAULT_AUDIO_PLAYER_PROPS,n as MODE_ICON_MAP,e as formatTime};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk.cjs`);const e=require(`./C_Icon2.cjs`),t=require(`./export-helper.cjs`);let n=require(`vue`),r=require(`naive-ui`);const i={initialIndex:0,showPlaylist:!0,showCover:!0,autoplay:!1,mode:`list`,theme:`default`},a={list:{icon:`mdi:repeat`,label:`List Loop`},loop:{icon:`mdi:repeat-once`,label:`Single Loop`},single:{icon:`mdi:numeric-1-box`,label:`Play Once`},shuffle:{icon:`mdi:shuffle-variant`,label:`Shuffle`}};function o(e){if(!Number.isFinite(e)||e<0)return`00:00`;let t=Math.floor(e/60),n=Math.floor(e%60);return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`}const s={class:`c-audio-player__now-playing`},c={key:0,class:`c-audio-player__cover`},l=[`src`,`alt`],u={class:`c-audio-player__info`},d={class:`c-audio-player__title`},f={key:0,class:`c-audio-player__artist`},ee={key:0,class:`c-audio-player__progress`},p={class:`c-audio-player__time`},m={class:`c-audio-player__controls`},h=[`title`],g=[`title`],_={key:1,class:`c-audio-player__volume`},v={key:2,class:`c-audio-player__playlist`},y={class:`c-audio-player__playlist-header`},b=[`onClick`],x={class:`c-audio-player__track-index`},S={class:`c-audio-player__track-info`},C={class:`c-audio-player__track-title`},w={key:0,class:`c-audio-player__track-artist`},T={key:0,class:`c-audio-player__track-duration`},E=(0,n.defineComponent)({__name:`index`,props:{tracks:{},initialIndex:{default:i.initialIndex},showPlaylist:{type:Boolean,default:i.showPlaylist},showCover:{type:Boolean,default:!0},autoplay:{type:Boolean,default:i.autoplay},mode:{default:i.mode},theme:{default:i.theme}},emits:[`play`,`pause`,`ended`,`modeChange`],setup(t,{emit:i}){let E=t,D=i,O=null,k=(0,n.ref)(E.initialIndex??0),A=(0,n.ref)(!1),j=(0,n.ref)(0),M=(0,n.ref)(0),N=(0,n.ref)(70),P=(0,n.ref)(70),F=(0,n.ref)(E.showPlaylist),I=(0,n.ref)(E.mode??`list`),L=(0,n.computed)(()=>E.tracks[k.value]),R=(0,n.computed)(()=>M.value===0?0:j.value/M.value*100),z=(0,n.computed)(()=>N.value===0?`mdi:volume-off`:N.value<40?`mdi:volume-low`:N.value<70?`mdi:volume-medium`:`mdi:volume-high`),B=(0,n.computed)(()=>a[I.value]?.icon??`mdi:repeat`),V=(0,n.computed)(()=>a[I.value]?.label??`循环`);function H(){O&&(O.pause(),O.removeEventListener(`timeupdate`,U),O.removeEventListener(`loadedmetadata`,W),O.removeEventListener(`ended`,G));let e=L.value;e&&(O=new Audio(e.src),O.volume=N.value/100,O.addEventListener(`timeupdate`,U),O.addEventListener(`loadedmetadata`,W),O.addEventListener(`ended`,G))}function U(){O&&(j.value=O.currentTime)}function W(){O&&(M.value=O.duration)}function G(){switch(D(`ended`,k.value),I.value){case`loop`:O?.play().catch(()=>{});break;case`single`:A.value=!1;break;case`shuffle`:q(Math.floor(Math.random()*E.tracks.length));break;default:k.value<E.tracks.length-1?Y():(k.value=0,H(),O?.play().catch(()=>{}))}}function K(){O||H(),A.value?(O?.pause(),A.value=!1,D(`pause`)):(O?.play().catch(()=>{}),A.value=!0,D(`play`,k.value))}function q(e){k.value=e,H(),O?.play().catch(()=>{}),A.value=!0,D(`play`,e)}function J(){q(k.value<=0?E.tracks.length-1:k.value-1)}function Y(){q(k.value>=E.tracks.length-1?0:k.value+1)}function X(e){if(!O||!M.value)return;let t=e.currentTarget.getBoundingClientRect(),n=Math.max(0,Math.min(1,(e.clientX-t.left)/t.width));O.currentTime=n*M.value,j.value=O.currentTime}function Z(e){N.value=e,O&&(O.volume=e/100)}function Q(){N.value>0?(P.value=N.value,N.value=0):N.value=P.value||70,O&&(O.volume=N.value/100)}let $=[`list`,`loop`,`single`,`shuffle`];function te(){I.value=$[($.indexOf(I.value)+1)%$.length],D(`modeChange`,I.value)}return(0,n.watch)(()=>E.tracks,()=>{k.value=0,H()}),(0,n.watch)(()=>E.initialIndex,e=>{e!==void 0&&e!==k.value&&(k.value=e,H())}),(0,n.onBeforeUnmount)(()=>{O&&=(O.pause(),O.removeEventListener(`timeupdate`,U),O.removeEventListener(`loadedmetadata`,W),O.removeEventListener(`ended`,G),null)}),E.autoplay&&E.tracks.length>0&&q(k.value),(i,a)=>{let E=r.NSlider;return(0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)([`c-audio-player`,{"is-minimal":t.theme===`minimal`}])},[(0,n.createCommentVNode)(` ================ Now Playing ================ `),(0,n.createElementVNode)(`div`,s,[t.showCover?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,c,[L.value?.cover?((0,n.openBlock)(),(0,n.createElementBlock)(`img`,{key:0,src:L.value.cover,alt:L.value.title},null,8,l)):((0,n.openBlock)(),(0,n.createBlock)(e.t,{key:1,name:`mdi:music-note`,class:`c-audio-player__cover-placeholder`}))])):(0,n.createCommentVNode)(`v-if`,!0),(0,n.createElementVNode)(`div`,u,[(0,n.createElementVNode)(`div`,d,(0,n.toDisplayString)(L.value?.title??`未选择曲目`),1),L.value?.artist?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,f,(0,n.toDisplayString)(L.value.artist),1)):(0,n.createCommentVNode)(`v-if`,!0)])]),(0,n.createCommentVNode)(` ================ Progress ================ `),t.theme===`minimal`?(0,n.createCommentVNode)(`v-if`,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ee,[(0,n.createElementVNode)(`div`,{class:`c-audio-player__progress-bar`,onClick:X},[(0,n.createElementVNode)(`div`,{class:`c-audio-player__progress-fill`,style:(0,n.normalizeStyle)({width:`${R.value}%`})},null,4)]),(0,n.createElementVNode)(`div`,p,[(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)((0,n.unref)(o)(j.value)),1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)((0,n.unref)(o)(M.value)),1)])])),(0,n.createCommentVNode)(` ================ Controls ================ `),(0,n.createElementVNode)(`div`,m,[(0,n.createElementVNode)(`button`,{class:`c-audio-player__ctrl-btn is-mode`,title:V.value,onClick:te},[(0,n.createVNode)(e.t,{name:B.value},null,8,[`name`])],8,h),(0,n.createElementVNode)(`button`,{class:`c-audio-player__ctrl-btn is-skip`,title:`上一曲`,onClick:J},[(0,n.createVNode)(e.t,{name:`mdi:skip-previous`})]),(0,n.createElementVNode)(`button`,{class:`c-audio-player__ctrl-btn is-play`,title:A.value?`暂停`:`播放`,onClick:K},[(0,n.createVNode)(e.t,{name:A.value?`mdi:pause`:`mdi:play`},null,8,[`name`])],8,g),(0,n.createElementVNode)(`button`,{class:`c-audio-player__ctrl-btn is-skip`,title:`下一曲`,onClick:Y},[(0,n.createVNode)(e.t,{name:`mdi:skip-next`})]),(0,n.createElementVNode)(`button`,{class:`c-audio-player__ctrl-btn is-mode`,title:`播放列表`,onClick:a[0]||=e=>F.value=!F.value},[(0,n.createVNode)(e.t,{name:`mdi:playlist-music`})])]),(0,n.createCommentVNode)(` ================ Volume ================ `),t.theme===`minimal`?(0,n.createCommentVNode)(`v-if`,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,_,[(0,n.createVNode)(e.t,{name:z.value,class:`c-audio-player__volume-icon`,onClick:Q},null,8,[`name`]),(0,n.createVNode)(E,{value:N.value,"onUpdate:value":[a[1]||=e=>N.value=e,Z],min:0,max:100,step:1,class:`c-audio-player__volume-slider`},null,8,[`value`])])),(0,n.createCommentVNode)(` ================ Playlist ================ `),t.showPlaylist&&F.value&&t.theme!==`minimal`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,v,[(0,n.createElementVNode)(`div`,y,[a[2]||=(0,n.createElementVNode)(`span`,null,`播放列表`,-1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(t.tracks.length)+` 首`,1)]),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(t.tracks,(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t.id,class:(0,n.normalizeClass)([`c-audio-player__track`,{"is-active":r===k.value}]),onClick:e=>q(r)},[(0,n.createElementVNode)(`span`,x,[r===k.value&&A.value?((0,n.openBlock)(),(0,n.createBlock)(e.t,{key:0,name:`mdi:volume-high`})):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createTextVNode)((0,n.toDisplayString)(r+1),1)],64))]),(0,n.createElementVNode)(`div`,S,[(0,n.createElementVNode)(`div`,C,(0,n.toDisplayString)(t.title),1),t.artist?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,w,(0,n.toDisplayString)(t.artist),1)):(0,n.createCommentVNode)(`v-if`,!0)]),t.duration?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,T,(0,n.toDisplayString)((0,n.unref)(o)(t.duration)),1)):(0,n.createCommentVNode)(`v-if`,!0)],10,b))),128))])):(0,n.createCommentVNode)(`v-if`,!0)],2)}}});var D=t.t(E,[[`__scopeId`,`data-v-9ab6a734`]]);Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return D}});
|
package/dist/C_AudioPlayer2.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{
|
|
2
|
-
//# sourceMappingURL=C_AudioPlayer2.js.map
|
|
1
|
+
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,normalizeClass as d,normalizeStyle as f,onBeforeUnmount as p,openBlock as m,ref as h,renderList as g,resolveComponent as _,toDisplayString as v,unref as y,watch as b}from"vue";import{NSlider as x}from"naive-ui";const S={initialIndex:0,showPlaylist:!0,showCover:!0,autoplay:!1,mode:`list`,theme:`default`},C={list:{icon:`mdi:repeat`,label:`List Loop`},loop:{icon:`mdi:repeat-once`,label:`Single Loop`},single:{icon:`mdi:numeric-1-box`,label:`Play Once`},shuffle:{icon:`mdi:shuffle-variant`,label:`Shuffle`}};function w(e){if(!Number.isFinite(e)||e<0)return`00:00`;let t=Math.floor(e/60),n=Math.floor(e%60);return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`}const T={class:`c-audio-player__now-playing`},E={key:0,class:`c-audio-player__cover`},D=[`src`,`alt`],O={class:`c-audio-player__info`},k={class:`c-audio-player__title`},A={key:0,class:`c-audio-player__artist`},ee={key:0,class:`c-audio-player__progress`},te={class:`c-audio-player__time`},ne={class:`c-audio-player__controls`},re=[`title`],ie=[`title`],ae={key:1,class:`c-audio-player__volume`},oe={key:2,class:`c-audio-player__playlist`},se={class:`c-audio-player__playlist-header`},ce=[`onClick`],j={class:`c-audio-player__track-index`},M={class:`c-audio-player__track-info`},N={class:`c-audio-player__track-title`},P={key:0,class:`c-audio-player__track-artist`},F={key:0,class:`c-audio-player__track-duration`};var I=t(u({__name:`index`,props:{tracks:{},initialIndex:{default:S.initialIndex},showPlaylist:{type:Boolean,default:S.showPlaylist},showCover:{type:Boolean,default:!0},autoplay:{type:Boolean,default:S.autoplay},mode:{default:S.mode},theme:{default:S.theme}},emits:[`play`,`pause`,`ended`,`modeChange`],setup(t,{emit:u}){let _=t,S=u,I=null,L=h(_.initialIndex??0),R=h(!1),z=h(0),B=h(0),V=h(70),H=h(70),U=h(_.showPlaylist),W=h(_.mode??`list`),G=r(()=>_.tracks[L.value]),le=r(()=>B.value===0?0:z.value/B.value*100),ue=r(()=>V.value===0?`mdi:volume-off`:V.value<40?`mdi:volume-low`:V.value<70?`mdi:volume-medium`:`mdi:volume-high`),de=r(()=>C[W.value]?.icon??`mdi:repeat`),fe=r(()=>C[W.value]?.label??`循环`);function K(){I&&(I.pause(),I.removeEventListener(`timeupdate`,q),I.removeEventListener(`loadedmetadata`,J),I.removeEventListener(`ended`,Y));let e=G.value;e&&(I=new Audio(e.src),I.volume=V.value/100,I.addEventListener(`timeupdate`,q),I.addEventListener(`loadedmetadata`,J),I.addEventListener(`ended`,Y))}function q(){I&&(z.value=I.currentTime)}function J(){I&&(B.value=I.duration)}function Y(){switch(S(`ended`,L.value),W.value){case`loop`:I?.play().catch(()=>{});break;case`single`:R.value=!1;break;case`shuffle`:X(Math.floor(Math.random()*_.tracks.length));break;default:L.value<_.tracks.length-1?Z():(L.value=0,K(),I?.play().catch(()=>{}))}}function pe(){I||K(),R.value?(I?.pause(),R.value=!1,S(`pause`)):(I?.play().catch(()=>{}),R.value=!0,S(`play`,L.value))}function X(e){L.value=e,K(),I?.play().catch(()=>{}),R.value=!0,S(`play`,e)}function me(){X(L.value<=0?_.tracks.length-1:L.value-1)}function Z(){X(L.value>=_.tracks.length-1?0:L.value+1)}function Q(e){if(!I||!B.value)return;let t=e.currentTarget.getBoundingClientRect(),n=Math.max(0,Math.min(1,(e.clientX-t.left)/t.width));I.currentTime=n*B.value,z.value=I.currentTime}function he(e){V.value=e,I&&(I.volume=e/100)}function ge(){V.value>0?(H.value=V.value,V.value=0):V.value=H.value||70,I&&(I.volume=V.value/100)}let $=[`list`,`loop`,`single`,`shuffle`];function _e(){W.value=$[($.indexOf(W.value)+1)%$.length],S(`modeChange`,W.value)}return b(()=>_.tracks,()=>{L.value=0,K()}),b(()=>_.initialIndex,e=>{e!==void 0&&e!==L.value&&(L.value=e,K())}),p(()=>{I&&=(I.pause(),I.removeEventListener(`timeupdate`,q),I.removeEventListener(`loadedmetadata`,J),I.removeEventListener(`ended`,Y),null)}),_.autoplay&&_.tracks.length>0&&X(L.value),(r,u)=>{let p=x;return m(),o(`div`,{class:d([`c-audio-player`,{"is-minimal":t.theme===`minimal`}])},[a(` ================ Now Playing ================ `),s(`div`,T,[t.showCover?(m(),o(`div`,E,[G.value?.cover?(m(),o(`img`,{key:0,src:G.value.cover,alt:G.value.title},null,8,D)):(m(),i(e,{key:1,name:`mdi:music-note`,class:`c-audio-player__cover-placeholder`}))])):a(`v-if`,!0),s(`div`,O,[s(`div`,k,v(G.value?.title??`未选择曲目`),1),G.value?.artist?(m(),o(`div`,A,v(G.value.artist),1)):a(`v-if`,!0)])]),a(` ================ Progress ================ `),t.theme===`minimal`?a(`v-if`,!0):(m(),o(`div`,ee,[s(`div`,{class:`c-audio-player__progress-bar`,onClick:Q},[s(`div`,{class:`c-audio-player__progress-fill`,style:f({width:`${le.value}%`})},null,4)]),s(`div`,te,[s(`span`,null,v(y(w)(z.value)),1),s(`span`,null,v(y(w)(B.value)),1)])])),a(` ================ Controls ================ `),s(`div`,ne,[s(`button`,{class:`c-audio-player__ctrl-btn is-mode`,title:fe.value,onClick:_e},[l(e,{name:de.value},null,8,[`name`])],8,re),s(`button`,{class:`c-audio-player__ctrl-btn is-skip`,title:`上一曲`,onClick:me},[l(e,{name:`mdi:skip-previous`})]),s(`button`,{class:`c-audio-player__ctrl-btn is-play`,title:R.value?`暂停`:`播放`,onClick:pe},[l(e,{name:R.value?`mdi:pause`:`mdi:play`},null,8,[`name`])],8,ie),s(`button`,{class:`c-audio-player__ctrl-btn is-skip`,title:`下一曲`,onClick:Z},[l(e,{name:`mdi:skip-next`})]),s(`button`,{class:`c-audio-player__ctrl-btn is-mode`,title:`播放列表`,onClick:u[0]||=e=>U.value=!U.value},[l(e,{name:`mdi:playlist-music`})])]),a(` ================ Volume ================ `),t.theme===`minimal`?a(`v-if`,!0):(m(),o(`div`,ae,[l(e,{name:ue.value,class:`c-audio-player__volume-icon`,onClick:ge},null,8,[`name`]),l(p,{value:V.value,"onUpdate:value":[u[1]||=e=>V.value=e,he],min:0,max:100,step:1,class:`c-audio-player__volume-slider`},null,8,[`value`])])),a(` ================ Playlist ================ `),t.showPlaylist&&U.value&&t.theme!==`minimal`?(m(),o(`div`,oe,[s(`div`,se,[u[2]||=s(`span`,null,`播放列表`,-1),s(`span`,null,v(t.tracks.length)+` 首`,1)]),(m(!0),o(n,null,g(t.tracks,(t,r)=>(m(),o(`div`,{key:t.id,class:d([`c-audio-player__track`,{"is-active":r===L.value}]),onClick:e=>X(r)},[s(`span`,j,[r===L.value&&R.value?(m(),i(e,{key:0,name:`mdi:volume-high`})):(m(),o(n,{key:1},[c(v(r+1),1)],64))]),s(`div`,M,[s(`div`,N,v(t.title),1),t.artist?(m(),o(`div`,P,v(t.artist),1)):a(`v-if`,!0)]),t.duration?(m(),o(`span`,F,v(y(w)(t.duration)),1)):a(`v-if`,!0)],10,ce))),128))])):a(`v-if`,!0)],2)}}}),[[`__scopeId`,`data-v-9ab6a734`]]);export{w as i,S as n,C as r,I as t};
|
package/dist/C_AvatarGroup.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./C_AvatarGroup2.cjs`);exports.AVATAR_STATUS_COLOR_MAP=e.r,exports.C_AvatarGroup=e.t,exports.DEFAULT_AVATAR_GROUP_PROPS=e.n,exports.getInitials=e.i,exports.nameToColor=e.a;
|