@gct-paas/design 0.1.4-dev.1 → 0.1.4-dev.11
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/dist/assets/transform-js.worker-CeYFqnkk.js +638 -0
- package/dist/index.esm.min.mjs +18089 -0
- package/dist/index.min.cjs +3 -1
- package/dist/index.min.css +1 -0
- package/dist/index.system.min.js +3 -1
- package/es/_virtual/_plugin-vue_export-helper.mjs +9 -0
- package/es/assets/transform-js.worker-D2HSS5w_.js +270718 -0
- package/es/components/design-icon-button/design-icon-button.css +101 -0
- package/es/components/design-icon-button/design-icon-button.d.ts +104 -0
- package/es/components/design-icon-button/design-icon-button.mjs +150 -0
- package/es/components/design-save-tip/design-save-tip.css +107 -0
- package/es/components/design-save-tip/design-save-tip.d.ts +44 -0
- package/es/components/design-save-tip/design-save-tip.mjs +107 -0
- package/es/components/design-step-check/design-step-check.css +133 -0
- package/es/components/design-step-check/design-step-check.d.ts +30 -0
- package/es/components/design-step-check/design-step-check.mjs +122 -0
- package/es/components/design-view-layout/design-view-layout.css +157 -0
- package/es/components/design-view-layout/design-view-layout.d.ts +1 -0
- package/es/components/design-view-layout/design-view-layout.mjs +209 -0
- package/es/components/editor/index.d.ts +5 -0
- package/es/components/editor/index.mjs +15 -0
- package/es/components/editor/style/border-editor/border-box.css +144 -0
- package/es/components/editor/style/border-editor/border-box.vue.d.ts +10 -0
- package/es/components/editor/style/border-editor/border-box.vue2.mjs +7 -0
- package/es/components/editor/style/border-editor/border-box.vue3.mjs +305 -0
- package/es/components/editor/style/border-editor/border-editor.css +64 -0
- package/es/components/editor/style/border-editor/border-editor.vue.d.ts +13 -0
- package/es/components/editor/style/border-editor/border-editor.vue2.mjs +7 -0
- package/es/components/editor/style/border-editor/border-editor.vue3.mjs +60 -0
- package/es/components/editor/style/border-editor/border-radius.css +102 -0
- package/es/components/editor/style/border-editor/border-radius.vue.d.ts +10 -0
- package/es/components/editor/style/border-editor/border-radius.vue2.mjs +7 -0
- package/es/components/editor/style/border-editor/border-radius.vue3.mjs +212 -0
- package/es/components/editor/style/border-editor/util.d.ts +19 -0
- package/es/components/editor/style/border-editor/util.mjs +77 -0
- package/es/components/editor/style/font-editor/align-group.css +28 -0
- package/es/components/editor/style/font-editor/align-group.vue.d.ts +10 -0
- package/es/components/editor/style/font-editor/align-group.vue2.mjs +7 -0
- package/es/components/editor/style/font-editor/align-group.vue3.mjs +66 -0
- package/es/components/editor/style/font-editor/font-editor.vue.d.ts +10 -0
- package/es/components/editor/style/font-editor/font-editor.vue.mjs +72 -0
- package/es/components/editor/style/font-editor/font-editor.vue2.mjs +5 -0
- package/es/components/editor/style/font-editor/font-style-group.css +29 -0
- package/es/components/editor/style/font-editor/font-style-group.vue.d.ts +11 -0
- package/es/components/editor/style/font-editor/font-style-group.vue2.mjs +7 -0
- package/es/components/editor/style/font-editor/font-style-group.vue3.mjs +105 -0
- package/es/components/editor/style/font-editor/util.d.ts +2 -0
- package/es/components/editor/style/font-editor/util.mjs +12 -0
- package/es/components/editor/style/position-editor/position-editor.css +158 -0
- package/es/components/editor/style/position-editor/position-editor.vue.d.ts +12 -0
- package/es/components/editor/style/position-editor/position-editor.vue2.mjs +7 -0
- package/es/components/editor/style/position-editor/position-editor.vue3.mjs +242 -0
- package/es/components/editor/style/spacing-editor/spacing-editor.css +135 -0
- package/es/components/editor/style/spacing-editor/spacing-editor.vue.d.ts +16 -0
- package/es/components/editor/style/spacing-editor/spacing-editor.vue2.mjs +7 -0
- package/es/components/editor/style/spacing-editor/spacing-editor.vue3.mjs +311 -0
- package/es/components/field-cascader/index.d.ts +2 -0
- package/es/components/field-cascader/src/FieldCascader.css +69 -0
- package/es/components/field-cascader/src/FieldCascader.vue.d.ts +87 -0
- package/es/components/field-cascader/src/FieldCascader.vue.mjs +129 -0
- package/es/components/field-cascader/src/FieldCascader.vue3.mjs +6 -0
- package/es/components/field-cascader/src/SearchInput.css +9 -0
- package/es/components/field-cascader/src/SearchInput.vue.d.ts +11 -0
- package/es/components/field-cascader/src/SearchInput.vue.mjs +7 -0
- package/es/components/field-cascader/src/SearchInput.vue2.mjs +48 -0
- package/es/components/field-cascader/src/hooks.d.ts +129 -0
- package/es/components/field-cascader/src/hooks.mjs +205 -0
- package/es/components/field-transfer/components/Cascader/FieldCascader.d.ts +25 -0
- package/es/components/field-transfer/components/Cascader/FieldCascader.mjs +250 -0
- package/es/components/field-transfer/components/Transfer/AdvancedColumnSetting.d.ts +46 -0
- package/es/components/field-transfer/components/Transfer/AdvancedColumnSetting.mjs +56 -0
- package/es/components/field-transfer/components/Transfer/AdvancedTransfer.d.ts +39 -0
- package/es/components/field-transfer/components/Transfer/AdvancedTransfer.mjs +160 -0
- package/es/components/field-transfer/components/Transfer/FieldTransfer.d.ts +83 -0
- package/es/components/field-transfer/components/Transfer/FieldTransfer.mjs +211 -0
- package/es/components/field-transfer/components/Transfer/TransferTree.d.ts +62 -0
- package/es/components/field-transfer/components/Transfer/TransferTree.mjs +117 -0
- package/es/components/field-transfer/components/Transfer/TreeItem.d.ts +17 -0
- package/es/components/field-transfer/components/Transfer/TreeItem.mjs +41 -0
- package/es/components/field-transfer/components/field-transfer-modal.css +5 -0
- package/es/components/field-transfer/components/field-transfer-modal.vue.d.ts +43 -0
- package/es/components/field-transfer/components/field-transfer-modal.vue2.mjs +7 -0
- package/es/components/field-transfer/components/field-transfer-modal.vue3.mjs +230 -0
- package/es/components/field-transfer/components/modal-wrapper.vue.d.ts +19 -0
- package/es/components/field-transfer/components/modal-wrapper.vue.mjs +29 -0
- package/es/components/field-transfer/components/modal-wrapper.vue2.mjs +5 -0
- package/es/components/field-transfer/hooks/useTreeData.d.ts +139 -0
- package/es/components/field-transfer/hooks/useTreeData.mjs +165 -0
- package/es/components/field-transfer/index.d.ts +21 -0
- package/es/components/field-transfer/less/AdvancedTransfer.css +60 -0
- package/es/components/field-transfer/less/FieldCascader.css +57 -0
- package/es/components/field-transfer/less/TransferTree.css +86 -0
- package/es/components/field-transfer/less/TreeItem.css +29 -0
- package/es/components/field-transfer/useFieldTransfer.d.ts +47 -0
- package/es/components/field-transfer/useFieldTransfer.mjs +51 -0
- package/es/components/field-transfer/utils/tree-tool.d.ts +6 -0
- package/es/components/field-transfer/utils/tree-tool.mjs +73 -0
- package/es/components/icon/downleft-icon.vue.d.ts +4 -0
- package/es/components/icon/downleft-icon.vue.mjs +11 -0
- package/es/components/icon/downleft-icon.vue2.mjs +27 -0
- package/es/components/icon/downright-icon.vue.d.ts +4 -0
- package/es/components/icon/downright-icon.vue.mjs +11 -0
- package/es/components/icon/downright-icon.vue2.mjs +27 -0
- package/es/components/icon/upleft-icon.vue.d.ts +4 -0
- package/es/components/icon/upleft-icon.vue.mjs +11 -0
- package/es/components/icon/upleft-icon.vue2.mjs +27 -0
- package/es/components/icon/upright-icon.vue.d.ts +4 -0
- package/es/components/icon/upright-icon.vue.mjs +11 -0
- package/es/components/icon/upright-icon.vue2.mjs +27 -0
- package/es/components/index.d.ts +12 -0
- package/es/components/index.mjs +59 -0
- package/es/components/mobile-container/mobile-container.css +134 -0
- package/es/components/mobile-container/mobile-container.d.ts +31 -0
- package/es/components/mobile-container/mobile-container.mjs +81 -0
- package/es/components/modal-name-editor/modal-name-editor.css +117 -0
- package/es/components/modal-name-editor/modal-name-editor.d.ts +44 -0
- package/es/components/modal-name-editor/modal-name-editor.mjs +174 -0
- package/es/components/user-occupy/index.d.ts +4 -0
- package/es/components/user-occupy/occupy.const.d.ts +4 -0
- package/es/components/user-occupy/occupy.const.mjs +3 -0
- package/es/components/user-occupy/useUserOccupy.d.ts +38 -0
- package/es/components/user-occupy/useUserOccupy.mjs +218 -0
- package/es/components/user-occupy/user-lock.css +29 -0
- package/es/components/user-occupy/user-lock.vue.d.ts +2 -0
- package/es/components/user-occupy/user-lock.vue.mjs +7 -0
- package/es/components/user-occupy/user-lock.vue3.mjs +35 -0
- package/es/components/user-occupy/user-occupy.css +25 -0
- package/es/components/user-occupy/user-occupy.vue.d.ts +2 -0
- package/es/components/user-occupy/user-occupy.vue.mjs +7 -0
- package/es/components/user-occupy/user-occupy.vue3.mjs +36 -0
- package/es/constant/design-editor-type.d.ts +50 -0
- package/es/constant/design-editor-type.mjs +15 -0
- package/es/constant/index.d.ts +256 -1
- package/es/constant/index.mjs +71 -2
- package/es/constant/page-designer.d.ts +75 -0
- package/es/constant/page-designer.mjs +52 -0
- package/es/create-app-vue.d.ts +8 -0
- package/es/create-app-vue.mjs +7 -0
- package/es/data/design-container-node/design-container-node.d.ts +15 -0
- package/es/data/design-container-node/design-container-node.mjs +6 -0
- package/es/data/design-editor-node/design-editor-node.d.ts +16 -0
- package/es/data/design-editor-node/design-editor-node.mjs +8 -0
- package/es/data/design-node/design-node.d.ts +41 -0
- package/es/data/design-node/design-node.mjs +67 -0
- package/es/data/index.d.ts +3 -0
- package/es/dictionary/index.d.ts +1 -0
- package/es/dictionary/tab-type/tab-type.d.ts +5 -0
- package/es/hooks/design-view/constants/style-editor.const.d.ts +24 -0
- package/es/hooks/design-view/constants/style-editor.const.mjs +53 -0
- package/es/hooks/design-view/design-state.d.ts +2572 -0
- package/es/hooks/design-view/design-state.mjs +127 -0
- package/es/hooks/design-view/designer/useDesignCache.d.ts +4 -0
- package/es/hooks/design-view/designer/useDesignCache.mjs +90 -0
- package/es/hooks/design-view/designer/useDesignHistory.d.ts +16 -0
- package/es/hooks/design-view/designer/useDesignHistory.mjs +102 -0
- package/es/hooks/design-view/designer/useDesignModal.d.ts +3133 -0
- package/es/hooks/design-view/designer/useDesignModal.mjs +98 -0
- package/es/hooks/design-view/designer/useDesignPreview.d.ts +11 -0
- package/es/hooks/design-view/designer/useDesignPreview.mjs +201 -0
- package/es/hooks/design-view/designer/useDesignSave.d.ts +12 -0
- package/es/hooks/design-view/designer/useDesignSave.mjs +302 -0
- package/es/hooks/design-view/editor/usePropEditor.d.ts +33 -0
- package/es/hooks/design-view/editor/usePropEditor.mjs +99 -0
- package/es/hooks/design-view/editor/useStyle.d.ts +21 -0
- package/es/hooks/design-view/editor/useStyle.mjs +30 -0
- package/es/hooks/design-view/editor/useStyleEditor.d.ts +30 -0
- package/es/hooks/design-view/editor/useStyleEditor.mjs +77 -0
- package/es/hooks/design-view/global/useGlobal.d.ts +1470 -0
- package/es/hooks/design-view/global/useGlobal.mjs +74 -0
- package/es/hooks/design-view/layout/useScope.d.ts +12 -0
- package/es/hooks/design-view/layout/useScope.mjs +106 -0
- package/es/hooks/design-view/layout/useToolkit.d.ts +400 -0
- package/es/hooks/design-view/layout/useToolkit.mjs +356 -0
- package/es/hooks/design-view/page/usePage.d.ts +57 -0
- package/es/hooks/design-view/page/usePage.mjs +227 -0
- package/es/hooks/design-view/page/usePageOccupy.d.ts +33 -0
- package/es/hooks/design-view/page/usePageOccupy.mjs +77 -0
- package/es/hooks/design-view/useDesigner.d.ts +4259 -0
- package/es/hooks/design-view/useDesigner.mjs +125 -0
- package/es/hooks/design-view/utils/color.util.d.ts +21 -0
- package/es/hooks/design-view/utils/color.util.mjs +36 -0
- package/es/hooks/design-view/utils/field-schema.util.d.ts +55 -0
- package/es/hooks/design-view/utils/field-schema.util.mjs +96 -0
- package/es/hooks/design-view/widget/useSelectedWidget.d.ts +53 -0
- package/es/hooks/design-view/widget/useSelectedWidget.mjs +227 -0
- package/es/hooks/design-view/widget/useWidget.d.ts +102 -0
- package/es/hooks/design-view/widget/useWidget.mjs +119 -0
- package/es/hooks/design-view/widget/useWidgetQuery.d.ts +13 -0
- package/es/hooks/design-view/widget/useWidgetQuery.mjs +88 -0
- package/es/hooks/design-view/widget/useWidgetRegistry.d.ts +11 -0
- package/es/hooks/design-view/widget/useWidgetRegistry.mjs +118 -0
- package/es/hooks/designer.hooks.d.ts +15 -0
- package/es/hooks/designer.hooks.mjs +12 -0
- package/es/hooks/develop/useCacheHistory.d.ts +67 -0
- package/es/hooks/develop/useCacheHistory.mjs +157 -0
- package/es/hooks/develop/useKeyParser.d.ts +16 -0
- package/es/hooks/develop/useKeyParser.mjs +67 -0
- package/es/hooks/index.d.ts +26 -1
- package/es/hooks/use-model-field/use-model-field.d.ts +32 -0
- package/es/hooks/use-model-field/use-model-field.mjs +344 -0
- package/es/hooks/widgets/useAsyncFields.d.ts +17 -0
- package/es/hooks/widgets/useAsyncFields.mjs +177 -0
- package/es/hooks/widgets/useFileAttrsHooks.d.ts +28 -0
- package/es/hooks/widgets/useFileAttrsHooks.mjs +39 -0
- package/es/index.d.ts +9 -3
- package/es/index.mjs +103 -20
- package/es/interface/actions/i-design-view.actions.d.ts +217 -0
- package/es/interface/controller/i-design-view.controller.d.ts +53 -14
- package/es/interface/design/i-design-container-node.d.ts +13 -0
- package/es/interface/design/i-design-data.d.ts +44 -0
- package/es/interface/design/i-design-editor-data.d.ts +20 -0
- package/es/interface/design/i-design-editor-node.d.ts +15 -0
- package/es/interface/design/i-design-node-data.d.ts +19 -0
- package/es/interface/design/i-design-node.d.ts +80 -0
- package/es/interface/design/i-design-page-node-data.d.ts +15 -0
- package/es/interface/design/i-design-tree-item.d.ts +26 -0
- package/es/interface/design/i-model-field-node-data/i-model-field-node-data.d.ts +158 -0
- package/es/interface/design/index.d.ts +9 -0
- package/es/interface/designer/i-designer-hooks.d.ts +26 -0
- package/es/interface/designer/i-designer-provider.d.ts +20 -0
- package/es/interface/designer/i-designer-state.d.ts +41 -0
- package/es/interface/designer/i-designer.controller.d.ts +116 -0
- package/es/interface/designer/index.d.ts +4 -0
- package/es/interface/i-design-item-action/i-design-item-action.d.ts +42 -0
- package/es/interface/i-design-view-options/i-design-view-options.d.ts +69 -0
- package/es/interface/i-drag-collect/i-drag-collect.d.ts +6 -0
- package/es/interface/i-drag-data-item/i-drag-data-item.d.ts +13 -2
- package/es/interface/i-drag-item/i-drag-item.d.ts +13 -2
- package/es/interface/i-drop-collect/i-drop-collect.d.ts +8 -0
- package/es/interface/i-drop-result/i-drop-result.d.ts +2 -0
- package/es/interface/i-material-data/i-material-data.d.ts +50 -0
- package/es/interface/i-material-group/i-material-group.d.ts +51 -0
- package/es/interface/i-view-step/i-view-step.d.ts +32 -0
- package/es/interface/i-vue3-dnd-item-options/i-vue3-dnd-item-options.d.ts +323 -0
- package/es/interface/index.d.ts +29 -7
- package/es/interface/page-designer/toolkit.d.ts +12 -0
- package/es/interface/state/i-design-view.state.d.ts +107 -10
- package/es/props/index.d.ts +64 -0
- package/es/props/index.mjs +56 -0
- package/es/register/designer-register/designer-register.d.ts +82 -0
- package/es/register/designer-register/designer-register.mjs +102 -0
- package/es/register/index.d.ts +2 -0
- package/es/register/material/material.register.d.ts +90 -0
- package/es/register/material/material.register.mjs +134 -0
- package/es/schema/common-config/base-button-config.d.ts +1 -43
- package/es/schema/common-config/base-button-config.mjs +0 -1
- package/es/schema/common-config/button-editor-config.d.ts +2 -12
- package/es/schema/common-config/button-editor-config.mjs +66 -2
- package/es/schema/common-config/button-props-func.d.ts +1 -1
- package/es/schema/common-config/button-props-func.mjs +0 -1
- package/es/schema/common-config/common-event-config.d.ts +6 -0
- package/es/schema/common-config/common-event-config.mjs +14 -0
- package/es/schema/common-config/common-field-editor-config.d.ts +17 -0
- package/es/schema/common-config/common-field-editor-config.mjs +213 -0
- package/es/schema/common-config/common-style.d.ts +2 -2
- package/es/schema/common-config/common-style.mjs +2 -3
- package/es/schema/common-config/display-editor-config.d.ts +1 -1
- package/es/schema/common-config/display-editor-config.mjs +27 -5
- package/es/schema/common-config/formItem-editor-config.d.ts +1 -2
- package/es/schema/common-config/formItem-editor-config.mjs +2 -52
- package/es/schema/common-config/permission-editor-config.d.ts +1 -1
- package/es/schema/common-config/permission-editor-config.mjs +8 -1
- package/es/schema/index.d.ts +13 -9
- package/es/schema/modal/modal-body.d.ts +2 -0
- package/es/schema/modal/modal-body.mjs +9 -0
- package/es/schema/modal/modal-footer.d.ts +2 -0
- package/es/schema/modal/modal-footer.mjs +9 -0
- package/es/schema/modal/modal.d.ts +8 -0
- package/es/schema/modal/modal.mjs +182 -0
- package/es/schema/search/BaseDate.d.ts +143 -0
- package/es/schema/search/BaseDate.mjs +123 -0
- package/es/schema/search/BaseSearch.d.ts +141 -0
- package/es/schema/search/BaseSearch.mjs +160 -0
- package/es/setup-app.d.ts +1 -0
- package/es/setup-app.mjs +71 -0
- package/es/types/index.d.ts +10 -24
- package/es/utils/begin-drag/begin-drag.d.ts +13 -0
- package/es/utils/begin-drag/begin-drag.mjs +206 -0
- package/es/utils/design-interceptors/design-interceptors.d.ts +8 -0
- package/es/utils/design-interceptors/design-interceptors.mjs +20 -0
- package/es/utils/design-view/index.d.ts +9 -0
- package/es/utils/design-view/index.mjs +17 -0
- package/es/utils/field-attrs/basicAttrs.d.ts +25 -0
- package/es/utils/field-attrs/basicAttrs.mjs +724 -0
- package/es/utils/field-attrs/index.d.ts +8 -0
- package/es/utils/field-attrs/index.mjs +8 -0
- package/es/utils/field-filter/index.d.ts +4 -0
- package/es/utils/field-filter/index.mjs +58 -0
- package/es/utils/find-deep-types/find-deep-types.d.ts +9 -0
- package/es/utils/find-deep-types/find-deep-types.mjs +30 -0
- package/es/utils/flatten.d.ts +12 -0
- package/es/utils/flatten.mjs +27 -0
- package/es/utils/formula-editor-design/formula-editor-design.d.ts +9 -0
- package/es/utils/formula-editor-design/formula-editor-design.mjs +85 -0
- package/es/utils/index.d.ts +12 -1
- package/es/utils/init-widget-info/init-widget-info.d.ts +16 -0
- package/es/utils/init-widget-info/init-widget-info.mjs +40 -0
- package/es/utils/plugin-pkg-util/plugin-pkg-util.d.ts +97 -0
- package/es/utils/plugin-pkg-util/plugin-pkg-util.mjs +258 -0
- package/es/utils/schema/index.d.ts +10 -0
- package/es/utils/schema/index.mjs +12 -0
- package/es/utils/transform-js/index.d.ts +1 -0
- package/es/utils/transform-js/transform-js.d.ts +13 -0
- package/es/utils/transform-js/transform-js.mjs +48 -0
- package/es/utils/transform-js/transform-js.worker.d.ts +1 -0
- package/package.json +31 -10
- package/es/constant/variable-type/variable-type.d.ts +0 -12
- package/es/constant/variable-type/variable-type.mjs +0 -13
- package/es/hooks/index.mjs +0 -3
- package/es/hooks/useStyle.d.ts +0 -15
- package/es/hooks/useStyle.mjs +0 -135
- package/es/interface/controller/i-design-drag.controller.d.ts +0 -42
- package/es/interface/controller/i-design-drag.controller.mjs +0 -1
- package/es/interface/controller/i-design-view.controller.mjs +0 -1
- package/es/interface/design-page/design-page.d.ts +0 -141
- package/es/interface/design-page/design-page.mjs +0 -1
- package/es/interface/i-drag-collect/i-drag-collect.mjs +0 -1
- package/es/interface/i-drag-data-item/i-drag-data-item.mjs +0 -1
- package/es/interface/i-drag-item/i-drag-item.mjs +0 -1
- package/es/interface/i-drop-collect/i-drop-collect.mjs +0 -1
- package/es/interface/i-drop-result/i-drop-result.mjs +0 -1
- package/es/interface/index.mjs +0 -3
- package/es/interface/props/index.d.ts +0 -1
- package/es/interface/props/index.mjs +0 -1
- package/es/interface/props/plugin-comp-props.d.ts +0 -15
- package/es/interface/props/plugin-comp-props.mjs +0 -1
- package/es/interface/state/i-design-drag.state.d.ts +0 -15
- package/es/interface/state/i-design-drag.state.mjs +0 -1
- package/es/interface/state/i-design-view.state.mjs +0 -1
- package/es/schema/common-config/autofill-editor-config.d.ts +0 -4
- package/es/schema/common-config/autofill-editor-config.mjs +0 -45
- package/es/schema/common-config/column-editor-config.d.ts +0 -3
- package/es/schema/common-config/column-editor-config.mjs +0 -29
- package/es/schema/index.mjs +0 -11
- package/es/utils/index.mjs +0 -3
- package/es/utils/message/message.d.ts +0 -14
- package/es/utils/message/message.mjs +0 -35
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { ref, computed, reactive, watch } from 'vue';
|
|
2
|
+
import { traverse, isGroupNode, findNode, traverseFilter, generateData } from '../utils/tree-tool.mjs';
|
|
3
|
+
|
|
4
|
+
const MAX_ENABLE_COUNT = 5e6;
|
|
5
|
+
const useTreeData = (useMultiLevelTHead, isResetData, draggable, maxEnableCount, onColumnsChange) => {
|
|
6
|
+
const leafKeys = ref([]);
|
|
7
|
+
const refOriginalLeafKeys = ref([]);
|
|
8
|
+
const refTotalFields = ref(0);
|
|
9
|
+
const multiple = computed(() => useMultiLevelTHead);
|
|
10
|
+
const root = reactive({
|
|
11
|
+
key: "0",
|
|
12
|
+
title: "root",
|
|
13
|
+
children: [],
|
|
14
|
+
level: 0,
|
|
15
|
+
type: "group",
|
|
16
|
+
parent: null
|
|
17
|
+
});
|
|
18
|
+
const onChangeTree = (columnsData, fields) => {
|
|
19
|
+
const keys = [];
|
|
20
|
+
function handle(items, parent) {
|
|
21
|
+
return items.map(({ id, ...restItem }) => {
|
|
22
|
+
const node = {
|
|
23
|
+
...restItem,
|
|
24
|
+
key: id,
|
|
25
|
+
parent,
|
|
26
|
+
level: parent.level + 1,
|
|
27
|
+
isLeaf: restItem.type === "field"
|
|
28
|
+
};
|
|
29
|
+
if (!node.isLeaf) {
|
|
30
|
+
node.children = handle(node.children, node);
|
|
31
|
+
} else {
|
|
32
|
+
const fieldItem = fields.find((item) => item.id === id);
|
|
33
|
+
if (fieldItem) {
|
|
34
|
+
node.disabled = fieldItem.disabled;
|
|
35
|
+
if (fieldItem) {
|
|
36
|
+
node.disableCheckbox = fieldItem.disabled;
|
|
37
|
+
node.fieldType = fieldItem.type;
|
|
38
|
+
keys.push(id);
|
|
39
|
+
refTotalFields.value += 1;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return node;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
root.children = handle(columnsData, root);
|
|
47
|
+
leafKeys.value = keys;
|
|
48
|
+
if (!isResetData) {
|
|
49
|
+
refOriginalLeafKeys.value = [...keys];
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
watch(
|
|
53
|
+
multiple,
|
|
54
|
+
(val) => {
|
|
55
|
+
if (!val) {
|
|
56
|
+
const result = [];
|
|
57
|
+
traverse((node) => {
|
|
58
|
+
if (!isGroupNode(node)) {
|
|
59
|
+
result.push({
|
|
60
|
+
...node,
|
|
61
|
+
parent: root
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}, root.children);
|
|
65
|
+
root.children = result;
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
immediate: true
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
const data = computed(() => root.children);
|
|
73
|
+
const refresh = () => {
|
|
74
|
+
root.children = [...root.children];
|
|
75
|
+
};
|
|
76
|
+
const handleColumnsChange = () => {
|
|
77
|
+
onColumnsChange?.(generateData(root.children));
|
|
78
|
+
};
|
|
79
|
+
const remainCount = computed(
|
|
80
|
+
() => (maxEnableCount ?? MAX_ENABLE_COUNT) - leafKeys.value.length
|
|
81
|
+
);
|
|
82
|
+
function getContainerNode() {
|
|
83
|
+
return root;
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
data,
|
|
87
|
+
root,
|
|
88
|
+
leafKeys,
|
|
89
|
+
multiple,
|
|
90
|
+
draggable,
|
|
91
|
+
remainCount,
|
|
92
|
+
addTreeNodes(nodes, parent) {
|
|
93
|
+
const p = findNode(parent.key, root);
|
|
94
|
+
const newNodes = nodes.map(
|
|
95
|
+
(item) => ({
|
|
96
|
+
...item,
|
|
97
|
+
level: p.level + 1,
|
|
98
|
+
parent: p
|
|
99
|
+
})
|
|
100
|
+
);
|
|
101
|
+
p.children.push(...newNodes);
|
|
102
|
+
const newLeafKeys = [...leafKeys.value];
|
|
103
|
+
nodes.forEach((item) => {
|
|
104
|
+
if (item.isLeaf) {
|
|
105
|
+
newLeafKeys.push(item.key);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
leafKeys.value = newLeafKeys;
|
|
109
|
+
refresh();
|
|
110
|
+
setTimeout(() => {
|
|
111
|
+
newNodes.forEach((node) => {
|
|
112
|
+
if (node.isNew) {
|
|
113
|
+
node.isNew = false;
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}, 500);
|
|
117
|
+
handleColumnsChange();
|
|
118
|
+
},
|
|
119
|
+
removeTreeNodesByKeys(keys) {
|
|
120
|
+
root.children = traverseFilter(
|
|
121
|
+
(node) => !keys.includes(node.key),
|
|
122
|
+
root.children
|
|
123
|
+
);
|
|
124
|
+
leafKeys.value = leafKeys.value.filter((key) => !keys.includes(key));
|
|
125
|
+
handleColumnsChange();
|
|
126
|
+
},
|
|
127
|
+
moveTreeNode(source, target, direction, asChildren = false) {
|
|
128
|
+
const sourceParent = findNode(source.parent.key, root);
|
|
129
|
+
let j = 0;
|
|
130
|
+
let targetParent = findNode(target.parent.key, root);
|
|
131
|
+
if (asChildren) {
|
|
132
|
+
if (isGroupNode(target)) {
|
|
133
|
+
targetParent = findNode(target.key, root);
|
|
134
|
+
} else {
|
|
135
|
+
j = targetParent.children.findIndex((item) => item.key === target.key);
|
|
136
|
+
j += 1;
|
|
137
|
+
}
|
|
138
|
+
} else {
|
|
139
|
+
j = targetParent.children.findIndex((item) => item.key === target.key);
|
|
140
|
+
j += direction === 1 ? 1 : -1;
|
|
141
|
+
j = Math.max(j, 0);
|
|
142
|
+
}
|
|
143
|
+
if (targetParent.level >= 3 && isGroupNode(source)) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const i = sourceParent.children.findIndex(
|
|
147
|
+
(item) => item.key === source.key
|
|
148
|
+
);
|
|
149
|
+
sourceParent.children.splice(i, 1);
|
|
150
|
+
if (source.parent === targetParent) {
|
|
151
|
+
targetParent.children.splice(i < j ? j - 1 : j, 0, source);
|
|
152
|
+
} else {
|
|
153
|
+
source.parent = targetParent;
|
|
154
|
+
source.level = targetParent.level + 1;
|
|
155
|
+
targetParent.children.splice(j, 0, source);
|
|
156
|
+
}
|
|
157
|
+
refresh();
|
|
158
|
+
handleColumnsChange();
|
|
159
|
+
},
|
|
160
|
+
getContainerNode,
|
|
161
|
+
onChangeTree
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
export { useTreeData };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 使用方法
|
|
3
|
+
* @example
|
|
4
|
+
* import { useFieldTransfer } from '/@/components/FieldTransfer';
|
|
5
|
+
* const i18nInstance = useFieldTransfer();
|
|
6
|
+
* i18nInstance.open({
|
|
7
|
+
* modelKey: '',
|
|
8
|
+
* modalTitle: '',
|
|
9
|
+
* isShowCascader: false,
|
|
10
|
+
* data: [],
|
|
11
|
+
* titles: ['aa', 'bb'],
|
|
12
|
+
* containFieldType: [FIELD_TYPE.DATE_TIME, FIELD_TYPE.TEXT],
|
|
13
|
+
* excludeFieldType: [FIELD_TYPE.DATE_TIME, FIELD_TYPE.TEXT],
|
|
14
|
+
* excludeFieldKey: ['f_xxx', 'f_aaa'],
|
|
15
|
+
* maxEnableCount: 5,
|
|
16
|
+
* saveCallback: (params) => {
|
|
17
|
+
* console.log('saveCallback', params);
|
|
18
|
+
* },
|
|
19
|
+
* });
|
|
20
|
+
*/
|
|
21
|
+
export { useFieldTransfer } from './useFieldTransfer';
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
.advanced-transfer-container {
|
|
2
|
+
box-sizing: border-box;
|
|
3
|
+
width: 100%;
|
|
4
|
+
height: 100%;
|
|
5
|
+
padding: 16px;
|
|
6
|
+
border: 1px solid #f0f0f0;
|
|
7
|
+
background-color: #fafafa;
|
|
8
|
+
}
|
|
9
|
+
.advanced-transfer-container .ant-transfer-list-body {
|
|
10
|
+
height: 340px;
|
|
11
|
+
}
|
|
12
|
+
.advanced-transfer-container .ant-transfer-list-body .field-title {
|
|
13
|
+
overflow: hidden;
|
|
14
|
+
color: #333;
|
|
15
|
+
text-overflow: ellipsis;
|
|
16
|
+
white-space: nowrap;
|
|
17
|
+
}
|
|
18
|
+
.advanced-transfer-container .ant-transfer-list-body .field-title .field-icon {
|
|
19
|
+
margin-right: 4px;
|
|
20
|
+
color: var(--ant-primary-color);
|
|
21
|
+
}
|
|
22
|
+
.advanced-transfer-container .ant-transfer-customize-list .ant-transfer-list {
|
|
23
|
+
width: 1px;
|
|
24
|
+
background-color: #fff;
|
|
25
|
+
}
|
|
26
|
+
.advanced-transfer-container .ant-transfer-operation + .ant-transfer-list .ant-transfer-list-body-search-wrapper {
|
|
27
|
+
display: none;
|
|
28
|
+
}
|
|
29
|
+
.advanced-transfer-container .ant-transfer-list-body-customize-wrapper {
|
|
30
|
+
flex: 1;
|
|
31
|
+
overflow: auto;
|
|
32
|
+
}
|
|
33
|
+
.advanced-transfer-container .ant-transfer-list-content-item {
|
|
34
|
+
height: 44px;
|
|
35
|
+
border-bottom: 1px solid #eaedf1;
|
|
36
|
+
}
|
|
37
|
+
.advanced-transfer-container .ant-transfer-list-content-item:hover {
|
|
38
|
+
background-color: #e6eeff;
|
|
39
|
+
}
|
|
40
|
+
.advanced-transfer-container .ant-tree-treenode {
|
|
41
|
+
height: 44px;
|
|
42
|
+
border-bottom: 1px solid #eaedf1;
|
|
43
|
+
}
|
|
44
|
+
.advanced-transfer-container .ant-tree-list-holder-inner:first-child,
|
|
45
|
+
.advanced-transfer-container .ant-transfer-list-content-item:first-child {
|
|
46
|
+
border-top: 1px solid #eaedf1;
|
|
47
|
+
}
|
|
48
|
+
.advanced-transfer-container .empty-container {
|
|
49
|
+
display: flex;
|
|
50
|
+
align-items: center;
|
|
51
|
+
justify-content: center;
|
|
52
|
+
height: 100%;
|
|
53
|
+
}
|
|
54
|
+
.advanced-transfer-container .ant-empty-image {
|
|
55
|
+
width: 90px;
|
|
56
|
+
height: 66px;
|
|
57
|
+
}
|
|
58
|
+
.advanced-transfer-container .ant-empty-description {
|
|
59
|
+
color: #A6A6A6;
|
|
60
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
.field-cascader {
|
|
2
|
+
cursor: pointer;
|
|
3
|
+
}
|
|
4
|
+
.field-cascader:focus {
|
|
5
|
+
outline: none;
|
|
6
|
+
}
|
|
7
|
+
.field-cascader .bread {
|
|
8
|
+
color: #333;
|
|
9
|
+
display: inline-block;
|
|
10
|
+
line-height: 32px;
|
|
11
|
+
}
|
|
12
|
+
.field-cascader .bread .field-cascader-title {
|
|
13
|
+
color: #666;
|
|
14
|
+
}
|
|
15
|
+
.field-cascader .last-name {
|
|
16
|
+
color: #333;
|
|
17
|
+
margin-left: 4px;
|
|
18
|
+
}
|
|
19
|
+
.field-cascader .down-icon {
|
|
20
|
+
color: #bfbfbf;
|
|
21
|
+
}
|
|
22
|
+
.field-popup-cascader {
|
|
23
|
+
z-index: 3000;
|
|
24
|
+
}
|
|
25
|
+
.field-popup-cascader > div {
|
|
26
|
+
max-width: 60vw;
|
|
27
|
+
}
|
|
28
|
+
.field-popup-cascader .ant-cascader-menu-item {
|
|
29
|
+
padding: 0;
|
|
30
|
+
min-width: 160px;
|
|
31
|
+
}
|
|
32
|
+
.field-popup-cascader .ant-cascader-menu-item .ant-cascader-menu-item-content {
|
|
33
|
+
display: flex;
|
|
34
|
+
align-items: center;
|
|
35
|
+
}
|
|
36
|
+
.field-popup-cascader .ant-cascader-menu-item .field-ops {
|
|
37
|
+
padding-right: 0;
|
|
38
|
+
line-height: 32px;
|
|
39
|
+
padding-left: 16px;
|
|
40
|
+
flex: 1;
|
|
41
|
+
}
|
|
42
|
+
.field-popup-cascader .ant-cascader-menu-item .field-ops .field-ops-name .field-ops-desc {
|
|
43
|
+
color: rgba(0, 0, 0, 0.45);
|
|
44
|
+
}
|
|
45
|
+
.field-popup-cascader .ant-cascader-menu-item .iconfont {
|
|
46
|
+
font-size: 12px;
|
|
47
|
+
padding-right: 8px;
|
|
48
|
+
flex-shrink: 0;
|
|
49
|
+
color: rgba(0, 0, 0, 0.45);
|
|
50
|
+
}
|
|
51
|
+
.field-popup-cascader .ant-cascader-menu-item .ant-cascader-menu-item-expand-icon {
|
|
52
|
+
display: none;
|
|
53
|
+
}
|
|
54
|
+
.field-popup-cascader .ant-cascader-menu-item.ant-cascader-menu-item-disabled {
|
|
55
|
+
cursor: default;
|
|
56
|
+
color: #c3c3c3;
|
|
57
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
.transfer-tree-container {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
align-items: center;
|
|
5
|
+
align-items: stretch;
|
|
6
|
+
height: 100%;
|
|
7
|
+
padding-top: 12px;
|
|
8
|
+
}
|
|
9
|
+
.transfer-tree-container .search-container {
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
padding: 0 12px;
|
|
13
|
+
}
|
|
14
|
+
.transfer-tree-container .search-container .search-icon {
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
width: 16px;
|
|
19
|
+
height: 16px;
|
|
20
|
+
color: #bfbfbf;
|
|
21
|
+
font-size: 14px;
|
|
22
|
+
}
|
|
23
|
+
.transfer-tree-container .tree-wrapper {
|
|
24
|
+
flex: 1;
|
|
25
|
+
padding-top: 12px;
|
|
26
|
+
}
|
|
27
|
+
.transfer-tree-container .tree-wrapper .empty-container {
|
|
28
|
+
display: flex;
|
|
29
|
+
align-items: center;
|
|
30
|
+
justify-content: center;
|
|
31
|
+
height: 100%;
|
|
32
|
+
}
|
|
33
|
+
.transfer-tree-container .ant-tree-treenode {
|
|
34
|
+
align-items: center;
|
|
35
|
+
padding: 0 12px;
|
|
36
|
+
transition: background 0.3s;
|
|
37
|
+
}
|
|
38
|
+
.transfer-tree-container .ant-tree-treenode:hover {
|
|
39
|
+
background-color: #e6eeff;
|
|
40
|
+
}
|
|
41
|
+
.transfer-tree-container .ant-tree-node-content-wrapper {
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
height: 32px;
|
|
45
|
+
padding-left: 0;
|
|
46
|
+
}
|
|
47
|
+
.transfer-tree-container .ant-tree-node-content-wrapper.ant-tree-node-selected {
|
|
48
|
+
background-color: transparent;
|
|
49
|
+
}
|
|
50
|
+
.transfer-tree-container .ant-tree-node-content-wrapper:hover {
|
|
51
|
+
background-color: transparent;
|
|
52
|
+
}
|
|
53
|
+
.transfer-tree-container .ant-tree-title {
|
|
54
|
+
flex: 1;
|
|
55
|
+
color: #333;
|
|
56
|
+
}
|
|
57
|
+
.transfer-tree-container .ant-tree-icon__customize {
|
|
58
|
+
color: var(--ant-primary-color);
|
|
59
|
+
}
|
|
60
|
+
.transfer-tree-container .ant-tree-treenode-disabled .ant-tree-icon__customize {
|
|
61
|
+
color: var(--ant-primary-color-disabled);
|
|
62
|
+
}
|
|
63
|
+
.transfer-tree-container .ant-tree-switcher-leaf-line,
|
|
64
|
+
.transfer-tree-container .ant-tree-indent {
|
|
65
|
+
opacity: 0;
|
|
66
|
+
}
|
|
67
|
+
.transfer-tree-container .ant-tree-switcher {
|
|
68
|
+
display: none;
|
|
69
|
+
position: relative;
|
|
70
|
+
top: -1px;
|
|
71
|
+
align-self: center;
|
|
72
|
+
width: 20px;
|
|
73
|
+
background: transparent;
|
|
74
|
+
color: rgba(0, 0, 0, 0.45);
|
|
75
|
+
}
|
|
76
|
+
.transfer-tree-container .ant-tree-checkbox {
|
|
77
|
+
margin-top: 0;
|
|
78
|
+
margin-right: 4px;
|
|
79
|
+
}
|
|
80
|
+
.transfer-tree-container .ant-empty-image {
|
|
81
|
+
width: 90px;
|
|
82
|
+
height: 66px;
|
|
83
|
+
}
|
|
84
|
+
.transfer-tree-container .ant-empty-description {
|
|
85
|
+
color: #A6A6A6;
|
|
86
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
.tree-item-container {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
}
|
|
6
|
+
.tree-item-container:hover .operation-container {
|
|
7
|
+
opacity: 1;
|
|
8
|
+
}
|
|
9
|
+
.tree-item-container .tree-title {
|
|
10
|
+
word-break: keep-all;
|
|
11
|
+
white-space: nowrap;
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
text-overflow: ellipsis;
|
|
14
|
+
flex: 1;
|
|
15
|
+
width: 1px;
|
|
16
|
+
}
|
|
17
|
+
.tree-item-container .operation-container {
|
|
18
|
+
opacity: 0;
|
|
19
|
+
white-space: nowrap;
|
|
20
|
+
color: #8c8c8c;
|
|
21
|
+
}
|
|
22
|
+
.tree-item-container .operation-container .iconfont {
|
|
23
|
+
color: #bfbfbf;
|
|
24
|
+
margin: 0 4px;
|
|
25
|
+
font-size: 12px;
|
|
26
|
+
}
|
|
27
|
+
.tree-item-container .operation-container .iconfont:hover {
|
|
28
|
+
color: #595959;
|
|
29
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { FIELD_TYPE, CreateType } from '@gct-paas/core';
|
|
2
|
+
export interface IFieldTransferProps {
|
|
3
|
+
/** 模型key */
|
|
4
|
+
modelKey: string;
|
|
5
|
+
/** 模态框标题 */
|
|
6
|
+
modalTitle?: string;
|
|
7
|
+
/** 是否显示级联选择 */
|
|
8
|
+
isShowCascader?: boolean;
|
|
9
|
+
/**提示消息 */
|
|
10
|
+
promptMessage?: string;
|
|
11
|
+
/** 选中的字段数组 */
|
|
12
|
+
data: IObject[];
|
|
13
|
+
/** 穿梭框标题集合 */
|
|
14
|
+
titles?: string[];
|
|
15
|
+
/** 包含的字段 */
|
|
16
|
+
containFieldType?: FIELD_TYPE[];
|
|
17
|
+
/** 包含的字段key */
|
|
18
|
+
containFieldKey?: string[];
|
|
19
|
+
/** 禁用的字段key */
|
|
20
|
+
disabledFieldKey?: string[];
|
|
21
|
+
/** 排除的字段 */
|
|
22
|
+
excludeFieldKey?: string[];
|
|
23
|
+
/** 排除的字段 */
|
|
24
|
+
excludeFieldType?: FIELD_TYPE[];
|
|
25
|
+
/**包含的字段创建类型 */
|
|
26
|
+
containCreateType?: CreateType[];
|
|
27
|
+
/**过滤函数 */
|
|
28
|
+
filterFieldByFunction?: (field: object) => boolean;
|
|
29
|
+
/** 最大选择个数 */
|
|
30
|
+
maxEnableCount?: number;
|
|
31
|
+
/** 是否支持拖拽 */
|
|
32
|
+
draggable?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* 子表的关联主键字段的父模型字段
|
|
35
|
+
*/
|
|
36
|
+
childParentModelKey?: string;
|
|
37
|
+
width?: number;
|
|
38
|
+
saveCallback?: (params: IObject) => void;
|
|
39
|
+
}
|
|
40
|
+
export interface IFieldTransferOptions {
|
|
41
|
+
target?: any;
|
|
42
|
+
props?: Partial<IFieldTransferProps>;
|
|
43
|
+
}
|
|
44
|
+
export declare function useFieldTransfer(): {
|
|
45
|
+
open: (params: Partial<IFieldTransferProps> | Partial<IFieldTransferOptions>) => Promise<void>;
|
|
46
|
+
close: () => void;
|
|
47
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ref, unref } from 'vue';
|
|
2
|
+
import { has } from 'lodash-es';
|
|
3
|
+
import _sfc_main from './components/modal-wrapper.vue.mjs';
|
|
4
|
+
import { OverlayContainer } from '@gct-paas/core';
|
|
5
|
+
|
|
6
|
+
function useFieldTransfer() {
|
|
7
|
+
let app = null;
|
|
8
|
+
let instance = null;
|
|
9
|
+
const modalKey = ref("");
|
|
10
|
+
async function open(params) {
|
|
11
|
+
let props;
|
|
12
|
+
let target = document.body;
|
|
13
|
+
if (has(params, "target") || has(params, "props")) {
|
|
14
|
+
const options = params;
|
|
15
|
+
props = options.props || {};
|
|
16
|
+
target = options.target || document.body;
|
|
17
|
+
} else {
|
|
18
|
+
props = params;
|
|
19
|
+
}
|
|
20
|
+
modalKey.value = `field-transfer-modal-${Math.random().toString(16).substring(8)}`;
|
|
21
|
+
const propsData = {
|
|
22
|
+
width: 740,
|
|
23
|
+
modalKey: unref(modalKey),
|
|
24
|
+
destroyCallback: close,
|
|
25
|
+
...props
|
|
26
|
+
};
|
|
27
|
+
if (!app) {
|
|
28
|
+
const container = document.createElement("div");
|
|
29
|
+
container.id = unref(modalKey);
|
|
30
|
+
const t = unref(target);
|
|
31
|
+
t?.appendChild(container);
|
|
32
|
+
app = await OverlayContainer.createVueApp(_sfc_main, propsData);
|
|
33
|
+
instance = app.mount(container);
|
|
34
|
+
}
|
|
35
|
+
instance.open();
|
|
36
|
+
}
|
|
37
|
+
function close() {
|
|
38
|
+
document.querySelector(`#${unref(modalKey)}`).remove();
|
|
39
|
+
if (app) {
|
|
40
|
+
app.unmount();
|
|
41
|
+
app = null;
|
|
42
|
+
instance = null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
open,
|
|
47
|
+
close
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export { useFieldTransfer };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ColumnItem, TreeNodeGroup, TreeNode } from '../types/index.d';
|
|
2
|
+
export declare function isGroupNode(node: TreeNode): node is TreeNodeGroup;
|
|
3
|
+
export declare function generateData(nodes: TreeNode[]): ColumnItem[];
|
|
4
|
+
export declare function traverse(handler: (node: TreeNode) => void, items: TreeNode[]): void;
|
|
5
|
+
export declare function findNode(key: string, root: TreeNodeGroup): TreeNode | undefined;
|
|
6
|
+
export declare function traverseFilter(handler: (node: TreeNode) => boolean, items: TreeNode[]): TreeNode[];
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
function isGroupNode(node) {
|
|
2
|
+
return node.type === "group";
|
|
3
|
+
}
|
|
4
|
+
function generateData(nodes) {
|
|
5
|
+
return nodes.map((node) => {
|
|
6
|
+
if (isGroupNode(node)) {
|
|
7
|
+
return {
|
|
8
|
+
width: node.width,
|
|
9
|
+
id: node.key,
|
|
10
|
+
title: node.title,
|
|
11
|
+
type: node.type,
|
|
12
|
+
children: generateData(node.children || [])
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
width: node.width,
|
|
17
|
+
id: node.key,
|
|
18
|
+
title: node.title,
|
|
19
|
+
type: node.type,
|
|
20
|
+
modelKey: node.modelKey
|
|
21
|
+
};
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function traverse(handler, items) {
|
|
25
|
+
items.forEach((node) => {
|
|
26
|
+
handler(node);
|
|
27
|
+
if (isGroupNode(node)) {
|
|
28
|
+
traverse(handler, node.children);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function findNode(key, root) {
|
|
33
|
+
let result;
|
|
34
|
+
const handler = (items) => {
|
|
35
|
+
return items.some((node) => {
|
|
36
|
+
if (node.key === key) {
|
|
37
|
+
result = node;
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
if (isGroupNode(node)) {
|
|
41
|
+
return handler(node.children);
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
if (root.key === key) {
|
|
47
|
+
return root;
|
|
48
|
+
}
|
|
49
|
+
handler(root.children);
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
function traverseFilter(handler, items) {
|
|
53
|
+
const result = [];
|
|
54
|
+
items.forEach((node) => {
|
|
55
|
+
if (isGroupNode(node)) {
|
|
56
|
+
const children = traverseFilter(handler, node.children);
|
|
57
|
+
if (children.length === 0 && !handler(node)) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
result.push({
|
|
61
|
+
...node,
|
|
62
|
+
children
|
|
63
|
+
});
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (handler(node)) {
|
|
67
|
+
result.push(node);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { findNode, generateData, isGroupNode, traverse, traverseFilter };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {
|
|
2
|
+
Icon: import('@ant-design/icons-vue/lib/components/Icon').IconType;
|
|
3
|
+
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
4
|
+
export default _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import _sfc_main from './downleft-icon.vue.mjs';
|
|
2
|
+
import { resolveComponent, openBlock, createBlock, withCtx, createElementVNode } from 'vue';
|
|
3
|
+
import _export_sfc from '../../_virtual/_plugin-vue_export-helper.mjs';
|
|
4
|
+
|
|
5
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
6
|
+
const _component_icon = resolveComponent("icon");
|
|
7
|
+
return openBlock(), createBlock(_component_icon, null, {
|
|
8
|
+
component: withCtx(() => [..._cache[0] || (_cache[0] = [
|
|
9
|
+
createElementVNode("svg", {
|
|
10
|
+
width: "1em",
|
|
11
|
+
height: "1em",
|
|
12
|
+
fill: "currentColor",
|
|
13
|
+
viewBox: "0 0 1024 1024"
|
|
14
|
+
}, [
|
|
15
|
+
createElementVNode("path", {
|
|
16
|
+
d: "M128 128h768a64 64 0 0 1 64 64v640a64 64 0 0 1-64 64H128a64 64 0 0 1-64-64V192a64 64 0 0 1 64-64z m32 64a32 32 0 0 0-32 32v576a32 32 0 0 0 32 32h704a32 32 0 0 0 32-32V224a32 32 0 0 0-32-32H160z m64 320h192a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H224a32 32 0 0 1-32-32v-192a32 32 0 0 1 32-32z",
|
|
17
|
+
fill: "#000000",
|
|
18
|
+
"p-id": "4633"
|
|
19
|
+
})
|
|
20
|
+
], -1)
|
|
21
|
+
])]),
|
|
22
|
+
_: 1
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const DownleftIcon = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
26
|
+
|
|
27
|
+
export { DownleftIcon as default };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {
|
|
2
|
+
Icon: import('@ant-design/icons-vue/lib/components/Icon').IconType;
|
|
3
|
+
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
4
|
+
export default _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import _sfc_main from './downright-icon.vue.mjs';
|
|
2
|
+
import { resolveComponent, openBlock, createBlock, withCtx, createElementVNode } from 'vue';
|
|
3
|
+
import _export_sfc from '../../_virtual/_plugin-vue_export-helper.mjs';
|
|
4
|
+
|
|
5
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
6
|
+
const _component_icon = resolveComponent("icon");
|
|
7
|
+
return openBlock(), createBlock(_component_icon, null, {
|
|
8
|
+
component: withCtx(() => [..._cache[0] || (_cache[0] = [
|
|
9
|
+
createElementVNode("svg", {
|
|
10
|
+
width: "1em",
|
|
11
|
+
height: "1em",
|
|
12
|
+
fill: "currentColor",
|
|
13
|
+
viewBox: "0 0 1024 1024"
|
|
14
|
+
}, [
|
|
15
|
+
createElementVNode("path", {
|
|
16
|
+
d: "M128 128h768a64 64 0 0 1 64 64v640a64 64 0 0 1-64 64H128a64 64 0 0 1-64-64V192a64 64 0 0 1 64-64z m32 64a32 32 0 0 0-32 32v576a32 32 0 0 0 32 32h704a32 32 0 0 0 32-32V224a32 32 0 0 0-32-32H160z m448 320h192a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32h-192a32 32 0 0 1-32-32v-192a32 32 0 0 1 32-32z",
|
|
17
|
+
fill: "#000000",
|
|
18
|
+
"p-id": "4921"
|
|
19
|
+
})
|
|
20
|
+
], -1)
|
|
21
|
+
])]),
|
|
22
|
+
_: 1
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const DownrightIcon = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
26
|
+
|
|
27
|
+
export { DownrightIcon as default };
|