@kp-ui/lowcode-pc 1.0.0 → 1.0.2
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/_virtual/_plugin-vue_export-helper.js +11 -0
- package/_virtual/_plugin-vue_export-helper.js.map +1 -0
- package/assets/styles/style.css +463 -388
- package/core/src/components/DragBtn.vue.js +8 -0
- package/core/src/components/DragBtn.vue.js.map +1 -0
- package/core/src/components/DragBtn.vue2.js +33 -0
- package/core/src/components/DragBtn.vue2.js.map +1 -0
- package/core/src/components/common/RenderWidgetList.vue.js +8 -0
- package/core/src/components/common/RenderWidgetList.vue.js.map +1 -0
- package/core/src/components/common/RenderWidgetList.vue2.js +99 -0
- package/core/src/components/common/RenderWidgetList.vue2.js.map +1 -0
- package/core/src/components/common/desginer/WidgetWrapper.vue.js +8 -0
- package/core/src/components/common/desginer/WidgetWrapper.vue.js.map +1 -0
- package/core/src/components/common/desginer/WidgetWrapper.vue2.js +67 -0
- package/core/src/components/common/desginer/WidgetWrapper.vue2.js.map +1 -0
- package/core/src/components/common/render/Debugger.vue.js +8 -0
- package/core/src/components/common/render/Debugger.vue.js.map +1 -0
- package/core/src/components/common/render/Debugger.vue2.js +73 -0
- package/core/src/components/common/render/Debugger.vue2.js.map +1 -0
- package/core/src/components/common/render/LowcodeRenderProvider.vue.js +61 -0
- package/core/src/components/common/render/LowcodeRenderProvider.vue.js.map +1 -0
- package/core/src/components/common/render/LowcodeRenderProvider.vue2.js +5 -0
- package/core/src/components/common/render/LowcodeRenderProvider.vue2.js.map +1 -0
- package/core/src/components/common/render/RenderForm.vue.js +69 -0
- package/core/src/components/common/render/RenderForm.vue.js.map +1 -0
- package/core/src/components/common/render/RenderForm.vue2.js +5 -0
- package/core/src/components/common/render/RenderForm.vue2.js.map +1 -0
- package/core/src/components/common/render/useFormContext.js +262 -0
- package/core/src/components/common/render/useFormContext.js.map +1 -0
- package/core/src/components/contextMenu/WidgetContextMenu.vue.js +8 -0
- package/core/src/components/contextMenu/WidgetContextMenu.vue.js.map +1 -0
- package/core/src/components/contextMenu/WidgetContextMenu.vue2.js +125 -0
- package/core/src/components/contextMenu/WidgetContextMenu.vue2.js.map +1 -0
- package/core/src/components/contextMenu/useWidgetContextMenu.js +165 -0
- package/core/src/components/contextMenu/useWidgetContextMenu.js.map +1 -0
- package/core/src/constants/LayoutTypeEnum.js +10 -0
- package/core/src/constants/LayoutTypeEnum.js.map +1 -0
- package/core/src/constants/WidgetTypeEnum.js +64 -0
- package/core/src/constants/WidgetTypeEnum.js.map +1 -0
- package/core/src/constants/index.js +9 -0
- package/core/src/constants/index.js.map +1 -0
- package/core/src/hooks/useAppRef.js +57 -0
- package/core/src/hooks/useAppRef.js.map +1 -0
- package/core/src/hooks/useDataHttp.js +65 -0
- package/core/src/hooks/useDataHttp.js.map +1 -0
- package/core/src/hooks/useDesigner.js +60 -0
- package/core/src/hooks/useDesigner.js.map +1 -0
- package/{assets/useField.mjs → core/src/hooks/useField.js} +25 -5
- package/core/src/hooks/useField.js.map +1 -0
- package/core/src/hooks/useFormValidation.js +112 -0
- package/core/src/hooks/useFormValidation.js.map +1 -0
- package/core/src/hooks/useLowcode.js +94 -0
- package/core/src/hooks/useLowcode.js.map +1 -0
- package/core/src/hooks/useWebMCP.js +82 -0
- package/core/src/hooks/useWebMCP.js.map +1 -0
- package/core/src/hooks/useWidget.js +15 -0
- package/core/src/hooks/useWidget.js.map +1 -0
- package/{assets/en-US.mjs → core/src/lang/en-US.js} +41 -0
- package/core/src/lang/en-US.js.map +1 -0
- package/{assets/en-US_extension.mjs → core/src/lang/en-US_extension.js} +1 -0
- package/core/src/lang/en-US_extension.js.map +1 -0
- package/{assets/en-US_render.mjs → core/src/lang/en-US_render.js} +1 -0
- package/core/src/lang/en-US_render.js.map +1 -0
- package/{assets/zh-CN.mjs → core/src/lang/zh-CN.js} +81 -6
- package/core/src/lang/zh-CN.js.map +1 -0
- package/{assets/zh-CN_extension.mjs → core/src/lang/zh-CN_extension.js} +1 -0
- package/core/src/lang/zh-CN_extension.js.map +1 -0
- package/{assets/zh-CN_render.mjs → core/src/lang/zh-CN_render.js} +1 -0
- package/core/src/lang/zh-CN_render.js.map +1 -0
- package/core/src/utils/format.js +46 -0
- package/core/src/utils/format.js.map +1 -0
- package/core/src/utils/getFileName.js +10 -0
- package/core/src/utils/getFileName.js.map +1 -0
- package/core/src/utils/i18n.js +33 -0
- package/core/src/utils/i18n.js.map +1 -0
- package/core/src/utils/smart-vue-i18n/index.js +84 -0
- package/core/src/utils/smart-vue-i18n/index.js.map +1 -0
- package/core/src/utils/useEmitter.js +95 -0
- package/core/src/utils/useEmitter.js.map +1 -0
- package/core/src/utils/util.js +155 -0
- package/core/src/utils/util.js.map +1 -0
- package/core/src/utils/validators.js +114 -0
- package/core/src/utils/validators.js.map +1 -0
- package/install.js +31 -0
- package/install.js.map +1 -0
- package/package.json +9 -4
- package/src/components/desginer/form-widget/container-widget/data-table-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/data-table-widget.vue.js.map +1 -0
- package/{assets/data-table-widget.mjs → src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js} +22 -6
- package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.js.map +1 -0
- package/{assets/grid-col-widget.mjs → src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js} +13 -8
- package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.js.map +1 -0
- package/{assets/grid-sub-form-widget.mjs → src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js} +4 -3
- package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue3.js +2 -0
- package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue3.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/grid-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/grid-widget.vue.js.map +1 -0
- package/{assets/grid-widget.mjs → src/components/desginer/form-widget/container-widget/grid-widget.vue2.js} +13 -9
- package/src/components/desginer/form-widget/container-widget/grid-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/index.js +19 -0
- package/src/components/desginer/form-widget/container-widget/index.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/tab-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/tab-widget.vue.js.map +1 -0
- package/{assets/tab-widget.mjs → src/components/desginer/form-widget/container-widget/tab-widget.vue2.js} +5 -3
- package/src/components/desginer/form-widget/container-widget/tab-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/useTableWidget.js +316 -0
- package/src/components/desginer/form-widget/container-widget/useTableWidget.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.js.map +1 -0
- package/{assets/vf-box-widget.mjs → src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js} +5 -3
- package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.js +9 -0
- package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.js.map +1 -0
- package/{assets/vf-collapse-widget.mjs → src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js} +6 -6
- package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.js.map +1 -0
- package/{assets/vf-dialog-widget.mjs → src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js} +12 -4
- package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/index.vue.js +2 -0
- package/src/components/desginer/form-widget/index.vue.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/bpmn-editor.js +30 -0
- package/src/components/desginer/widget-panel/advanced/bpmn-editor.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/cascader.js +68 -0
- package/src/components/desginer/widget-panel/advanced/cascader.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/code-editor.js +44 -0
- package/src/components/desginer/widget-panel/advanced/code-editor.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/data-table.js +104 -0
- package/src/components/desginer/widget-panel/advanced/data-table.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/diy-compontent.js +30 -0
- package/src/components/desginer/widget-panel/advanced/diy-compontent.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/file-upload.js +43 -0
- package/src/components/desginer/widget-panel/advanced/file-upload.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/rich-editor.js +40 -0
- package/src/components/desginer/widget-panel/advanced/rich-editor.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/tree-select.js +69 -0
- package/src/components/desginer/widget-panel/advanced/tree-select.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/tree.js +47 -0
- package/src/components/desginer/widget-panel/advanced/tree.js.map +1 -0
- package/src/components/desginer/widget-panel/advancedFieldsEnums.js +24 -0
- package/src/components/desginer/widget-panel/advancedFieldsEnums.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/button.js +37 -0
- package/src/components/desginer/widget-panel/basicFields/button.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/buttonList.js +45 -0
- package/src/components/desginer/widget-panel/basicFields/buttonList.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/checkbox.js +64 -0
- package/src/components/desginer/widget-panel/basicFields/checkbox.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/color.js +38 -0
- package/src/components/desginer/widget-panel/basicFields/color.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/date.js +55 -0
- package/src/components/desginer/widget-panel/basicFields/date.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/dateRange.js +55 -0
- package/src/components/desginer/widget-panel/basicFields/dateRange.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/divider.js +31 -0
- package/src/components/desginer/widget-panel/basicFields/divider.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/dropdown.js +42 -0
- package/src/components/desginer/widget-panel/basicFields/dropdown.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/htmlText.js +29 -0
- package/src/components/desginer/widget-panel/basicFields/htmlText.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/input.js +56 -0
- package/src/components/desginer/widget-panel/basicFields/input.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/number.js +50 -0
- package/src/components/desginer/widget-panel/basicFields/number.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/radio.js +70 -0
- package/src/components/desginer/widget-panel/basicFields/radio.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/rate.js +45 -0
- package/src/components/desginer/widget-panel/basicFields/rate.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/select.js +77 -0
- package/src/components/desginer/widget-panel/basicFields/select.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/slider.js +47 -0
- package/src/components/desginer/widget-panel/basicFields/slider.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/staticText.js +29 -0
- package/src/components/desginer/widget-panel/basicFields/staticText.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/switch.js +41 -0
- package/src/components/desginer/widget-panel/basicFields/switch.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/textarea.js +53 -0
- package/src/components/desginer/widget-panel/basicFields/textarea.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/time.js +51 -0
- package/src/components/desginer/widget-panel/basicFields/time.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/timeRange.js +52 -0
- package/src/components/desginer/widget-panel/basicFields/timeRange.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFieldsEnums.js +46 -0
- package/src/components/desginer/widget-panel/basicFieldsEnums.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/grid-col.js +29 -0
- package/src/components/desginer/widget-panel/containers/grid-col.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/grid-sub-form.js +27 -0
- package/src/components/desginer/widget-panel/containers/grid-sub-form.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/grid.js +24 -0
- package/src/components/desginer/widget-panel/containers/grid.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/index.js +19 -0
- package/src/components/desginer/widget-panel/containers/index.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/tab-pane.js +23 -0
- package/src/components/desginer/widget-panel/containers/tab-pane.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/tab.js +27 -0
- package/src/components/desginer/widget-panel/containers/tab.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/vf-box.js +47 -0
- package/src/components/desginer/widget-panel/containers/vf-box.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/vf-collapse.js +25 -0
- package/src/components/desginer/widget-panel/containers/vf-collapse.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/vf-dialog.js +55 -0
- package/src/components/desginer/widget-panel/containers/vf-dialog.js.map +1 -0
- package/src/components/desginer/widget-panel/widgetsConfig.js +7 -0
- package/src/components/desginer/widget-panel/widgetsConfig.js.map +1 -0
- package/src/components/field-widget/bpmn-editor-widget.vue.js +8 -0
- package/src/components/field-widget/bpmn-editor-widget.vue.js.map +1 -0
- package/{assets/bpmn-editor-widget.mjs → src/components/field-widget/bpmn-editor-widget.vue2.js} +5 -5
- package/src/components/field-widget/bpmn-editor-widget.vue2.js.map +1 -0
- package/src/components/field-widget/button-list-widget.vue.js +8 -0
- package/src/components/field-widget/button-list-widget.vue.js.map +1 -0
- package/{assets/button-list-widget.mjs → src/components/field-widget/button-list-widget.vue2.js} +12 -5
- package/src/components/field-widget/button-list-widget.vue2.js.map +1 -0
- package/src/components/field-widget/button-widget.vue.js +8 -0
- package/src/components/field-widget/button-widget.vue.js.map +1 -0
- package/{assets/button-widget.mjs → src/components/field-widget/button-widget.vue2.js} +4 -4
- package/src/components/field-widget/button-widget.vue2.js.map +1 -0
- package/src/components/field-widget/cascader-widget.vue.js +5 -0
- package/src/components/field-widget/cascader-widget.vue.js.map +1 -0
- package/{assets/cascader-widget.mjs → src/components/field-widget/cascader-widget.vue2.js} +6 -4
- package/src/components/field-widget/cascader-widget.vue2.js.map +1 -0
- package/src/components/field-widget/checkbox-widget.vue.js +5 -0
- package/src/components/field-widget/checkbox-widget.vue.js.map +1 -0
- package/{assets/checkbox-widget.mjs → src/components/field-widget/checkbox-widget.vue2.js} +9 -10
- package/src/components/field-widget/checkbox-widget.vue2.js.map +1 -0
- package/src/components/field-widget/code-editor-widget.vue.js +8 -0
- package/src/components/field-widget/code-editor-widget.vue.js.map +1 -0
- package/{assets/code-editor-widget.mjs → src/components/field-widget/code-editor-widget.vue2.js} +10 -5
- package/src/components/field-widget/code-editor-widget.vue2.js.map +1 -0
- package/src/components/field-widget/color-widget.vue.js +8 -0
- package/src/components/field-widget/color-widget.vue.js.map +1 -0
- package/{assets/color-widget.mjs → src/components/field-widget/color-widget.vue2.js} +5 -5
- package/src/components/field-widget/color-widget.vue2.js.map +1 -0
- package/src/components/field-widget/date-range-widget.vue.js +8 -0
- package/src/components/field-widget/date-range-widget.vue.js.map +1 -0
- package/{assets/date-range-widget.mjs → src/components/field-widget/date-range-widget.vue2.js} +5 -5
- package/src/components/field-widget/date-range-widget.vue2.js.map +1 -0
- package/src/components/field-widget/date-widget.vue.js +8 -0
- package/src/components/field-widget/date-widget.vue.js.map +1 -0
- package/{assets/date-widget.mjs → src/components/field-widget/date-widget.vue2.js} +5 -5
- package/src/components/field-widget/date-widget.vue2.js.map +1 -0
- package/src/components/field-widget/divider-widget.vue.js +5 -0
- package/src/components/field-widget/divider-widget.vue.js.map +1 -0
- package/{assets/divider-widget.mjs → src/components/field-widget/divider-widget.vue2.js} +3 -2
- package/src/components/field-widget/divider-widget.vue2.js.map +1 -0
- package/src/components/field-widget/diy-compontent-widget.vue.js +5 -0
- package/src/components/field-widget/diy-compontent-widget.vue.js.map +1 -0
- package/{assets/diy-compontent-widget.mjs → src/components/field-widget/diy-compontent-widget.vue2.js} +11 -6
- package/src/components/field-widget/diy-compontent-widget.vue2.js.map +1 -0
- package/src/components/field-widget/dropdown-widget.vue.js +8 -0
- package/src/components/field-widget/dropdown-widget.vue.js.map +1 -0
- package/{assets/dropdown-widget.mjs → src/components/field-widget/dropdown-widget.vue2.js} +15 -23
- package/src/components/field-widget/dropdown-widget.vue2.js.map +1 -0
- package/src/components/field-widget/file-upload-widget.vue.js +8 -0
- package/src/components/field-widget/file-upload-widget.vue.js.map +1 -0
- package/{assets/file-upload-widget.mjs → src/components/field-widget/file-upload-widget.vue2.js} +15 -10
- package/src/components/field-widget/file-upload-widget.vue2.js.map +1 -0
- package/src/components/field-widget/form-item-wrapper.vue.js +8 -0
- package/src/components/field-widget/form-item-wrapper.vue.js.map +1 -0
- package/{assets/form-item-wrapper.mjs → src/components/field-widget/form-item-wrapper.vue2.js} +5 -7
- package/src/components/field-widget/form-item-wrapper.vue2.js.map +1 -0
- package/{assets/useSelect.mjs → src/components/field-widget/hooks/useSelect.js} +3 -2
- package/src/components/field-widget/hooks/useSelect.js.map +1 -0
- package/src/components/field-widget/html-text-widget.vue.js +8 -0
- package/src/components/field-widget/html-text-widget.vue.js.map +1 -0
- package/{assets/html-text-widget.mjs → src/components/field-widget/html-text-widget.vue2.js} +4 -4
- package/src/components/field-widget/html-text-widget.vue2.js.map +1 -0
- package/src/components/field-widget/html-text-widget.vue3.js +2 -0
- package/src/components/field-widget/html-text-widget.vue3.js.map +1 -0
- package/src/components/field-widget/index.js +12 -0
- package/src/components/field-widget/index.js.map +1 -0
- package/src/components/field-widget/input-widget.vue.js +8 -0
- package/src/components/field-widget/input-widget.vue.js.map +1 -0
- package/{assets/input-widget.mjs → src/components/field-widget/input-widget.vue2.js} +5 -5
- package/src/components/field-widget/input-widget.vue2.js.map +1 -0
- package/src/components/field-widget/number-widget.vue.js +5 -0
- package/src/components/field-widget/number-widget.vue.js.map +1 -0
- package/{assets/number-widget.mjs → src/components/field-widget/number-widget.vue2.js} +4 -3
- package/src/components/field-widget/number-widget.vue2.js.map +1 -0
- package/src/components/field-widget/radio-widget.vue.js +8 -0
- package/src/components/field-widget/radio-widget.vue.js.map +1 -0
- package/{assets/radio-widget.mjs → src/components/field-widget/radio-widget.vue2.js} +11 -12
- package/src/components/field-widget/radio-widget.vue2.js.map +1 -0
- package/src/components/field-widget/rate-widget.vue.js +8 -0
- package/src/components/field-widget/rate-widget.vue.js.map +1 -0
- package/{assets/rate-widget.mjs → src/components/field-widget/rate-widget.vue2.js} +5 -5
- package/src/components/field-widget/rate-widget.vue2.js.map +1 -0
- package/src/components/field-widget/rich-editor-widget.vue.js +8 -0
- package/src/components/field-widget/rich-editor-widget.vue.js.map +1 -0
- package/{assets/rich-editor-widget.mjs → src/components/field-widget/rich-editor-widget.vue2.js} +5 -5
- package/src/components/field-widget/rich-editor-widget.vue2.js.map +1 -0
- package/src/components/field-widget/select-widget.vue.js +8 -0
- package/src/components/field-widget/select-widget.vue.js.map +1 -0
- package/{assets/select-widget.mjs → src/components/field-widget/select-widget.vue2.js} +5 -6
- package/src/components/field-widget/select-widget.vue2.js.map +1 -0
- package/src/components/field-widget/slider-widget.vue.js +5 -0
- package/src/components/field-widget/slider-widget.vue.js.map +1 -0
- package/{assets/slider-widget.mjs → src/components/field-widget/slider-widget.vue2.js} +4 -3
- package/src/components/field-widget/slider-widget.vue2.js.map +1 -0
- package/src/components/field-widget/static-text-widget.vue.js +5 -0
- package/src/components/field-widget/static-text-widget.vue.js.map +1 -0
- package/{assets/static-text-widget.mjs → src/components/field-widget/static-text-widget.vue2.js} +3 -2
- package/src/components/field-widget/static-text-widget.vue2.js.map +1 -0
- package/src/components/field-widget/switch-widget.vue.js +8 -0
- package/src/components/field-widget/switch-widget.vue.js.map +1 -0
- package/{assets/switch-widget.mjs → src/components/field-widget/switch-widget.vue2.js} +5 -5
- package/src/components/field-widget/switch-widget.vue2.js.map +1 -0
- package/src/components/field-widget/textarea-widget.vue.js +8 -0
- package/src/components/field-widget/textarea-widget.vue.js.map +1 -0
- package/{assets/textarea-widget.mjs → src/components/field-widget/textarea-widget.vue2.js} +5 -5
- package/src/components/field-widget/textarea-widget.vue2.js.map +1 -0
- package/src/components/field-widget/time-range-widget.vue.js +8 -0
- package/src/components/field-widget/time-range-widget.vue.js.map +1 -0
- package/{assets/time-range-widget.mjs → src/components/field-widget/time-range-widget.vue2.js} +5 -5
- package/src/components/field-widget/time-range-widget.vue2.js.map +1 -0
- package/src/components/field-widget/time-widget.vue.js +8 -0
- package/src/components/field-widget/time-widget.vue.js.map +1 -0
- package/{assets/time-widget.mjs → src/components/field-widget/time-widget.vue2.js} +5 -5
- package/src/components/field-widget/time-widget.vue2.js.map +1 -0
- package/src/components/field-widget/tree-widget.vue.js +8 -0
- package/src/components/field-widget/tree-widget.vue.js.map +1 -0
- package/{assets/tree-widget.mjs → src/components/field-widget/tree-widget.vue2.js} +6 -6
- package/src/components/field-widget/tree-widget.vue2.js.map +1 -0
- package/src/components/field-widget/treeSelect-widget.vue.js +5 -0
- package/src/components/field-widget/treeSelect-widget.vue.js.map +1 -0
- package/{assets/treeSelect-widget.mjs → src/components/field-widget/treeSelect-widget.vue2.js} +13 -12
- package/src/components/field-widget/treeSelect-widget.vue2.js.map +1 -0
- package/src/components/field-widget/vue-render-widget.vue.js +5 -0
- package/src/components/field-widget/vue-render-widget.vue.js.map +1 -0
- package/{assets/vue-render-widget.mjs → src/components/field-widget/vue-render-widget.vue2.js} +6 -8
- package/src/components/field-widget/vue-render-widget.vue2.js.map +1 -0
- package/src/components/form-render/RenderWigetList.vue.js +5 -0
- package/src/components/form-render/RenderWigetList.vue.js.map +1 -0
- package/src/components/form-render/RenderWigetList.vue2.js +46 -0
- package/src/components/form-render/RenderWigetList.vue2.js.map +1 -0
- package/src/components/form-render/container-items/data-table-widget.vue.js +8 -0
- package/src/components/form-render/container-items/data-table-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/data-table-widget.vue2.js +198 -0
- package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/grid-col-widget.vue.js +8 -0
- package/src/components/form-render/container-items/grid-col-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/grid-col-widget.vue2.js +56 -0
- package/src/components/form-render/container-items/grid-col-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/grid-sub-form-widget.vue.js +8 -0
- package/src/components/form-render/container-items/grid-sub-form-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js +282 -0
- package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/grid-widget.vue.js +8 -0
- package/src/components/form-render/container-items/grid-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/grid-widget.vue2.js +61 -0
- package/src/components/form-render/container-items/grid-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/grid-widget.vue3.js +2 -0
- package/src/components/form-render/container-items/grid-widget.vue3.js.map +1 -0
- package/src/components/form-render/container-items/index.js +21 -0
- package/src/components/form-render/container-items/index.js.map +1 -0
- package/src/components/form-render/container-items/tab-widget.vue.js +8 -0
- package/src/components/form-render/container-items/tab-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/tab-widget.vue2.js +66 -0
- package/src/components/form-render/container-items/tab-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/vf-box-widget.vue.js +8 -0
- package/src/components/form-render/container-items/vf-box-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/vf-box-widget.vue2.js +59 -0
- package/src/components/form-render/container-items/vf-box-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/vf-collapse-widget.vue.js +9 -0
- package/src/components/form-render/container-items/vf-collapse-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/vf-collapse-widget.vue2.js +70 -0
- package/src/components/form-render/container-items/vf-collapse-widget.vue2.js.map +1 -0
- package/src/components/public/ActionButtonListRender.vue.js +130 -0
- package/src/components/public/ActionButtonListRender.vue.js.map +1 -0
- package/src/components/public/ActionButtonListRender.vue3.js +53 -0
- package/src/components/public/ActionButtonListRender.vue3.js.map +1 -0
- package/src/components/public/ConfigView/CustomPageRender.vue.js +80 -0
- package/src/components/public/ConfigView/CustomPageRender.vue.js.map +1 -0
- package/src/components/public/ConfigView/CustomPageRender.vue2.js +5 -0
- package/src/components/public/ConfigView/CustomPageRender.vue2.js.map +1 -0
- package/src/components/public/CustomerModal/CustomerModal.vue.js +5 -0
- package/src/components/public/CustomerModal/CustomerModal.vue.js.map +1 -0
- package/{assets/CustomerModal.mjs → src/components/public/CustomerModal/CustomerModal.vue2.js} +7 -91
- package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -0
- package/{assets/useCustomerModal.mjs → src/components/public/CustomerModal/useCustomerModal.js} +2 -1
- package/src/components/public/CustomerModal/useCustomerModal.js.map +1 -0
- package/src/components/public/DataTableColumnDialog.vue.js +8 -0
- package/src/components/public/DataTableColumnDialog.vue.js.map +1 -0
- package/src/components/public/DataTableColumnDialog.vue2.js +333 -0
- package/src/components/public/DataTableColumnDialog.vue2.js.map +1 -0
- package/src/components/public/DynamicDialog.vue.js +226 -0
- package/src/components/public/DynamicDialog.vue.js.map +1 -0
- package/src/components/public/DynamicDialog.vue3.js +6 -0
- package/src/components/public/DynamicDialog.vue3.js.map +1 -0
- package/src/components/render/index.vue.js +8 -0
- package/src/components/render/index.vue.js.map +1 -0
- package/src/components/render/index.vue2.js +105 -0
- package/src/components/render/index.vue2.js.map +1 -0
- package/src/components/render/useRenderWidget.js +11 -0
- package/src/components/render/useRenderWidget.js.map +1 -0
- package/src/hooks/useLowcode.js +113 -0
- package/src/hooks/useLowcode.js.map +1 -0
- package/stats.html +4949 -0
- package/types/index.d.ts +1 -0
- package/types/pc/install.d.ts +9 -0
- package/assets/install.mjs +0 -5405
- package/index.js +0 -7
- package/types/core/src/components/DragBtn.vue.d.ts +0 -7
- package/types/core/src/components/HttpEditor.vue.d.ts +0 -46
- package/types/core/src/components/common/EventItemEditor.vue.d.ts +0 -12
- package/types/core/src/components/common/LowcodeI18nProvider.vue.d.ts +0 -17
- package/types/core/src/components/common/RenderWidgetList.vue.d.ts +0 -16
- package/types/core/src/components/common/desginer/RenderDesignerWrapper.vue.d.ts +0 -2
- package/types/core/src/components/common/desginer/WidgetWrapper.vue.d.ts +0 -30
- package/types/core/src/components/common/render/ActionButtonListDialog.vue.d.ts +0 -345
- package/types/core/src/components/common/render/Debugger.vue.d.ts +0 -10
- package/types/core/src/components/common/render/LowcodeRenderProvider.vue.d.ts +0 -26
- package/types/core/src/components/common/render/index.d.ts +0 -6
- package/types/core/src/components/common/render/useFormContext.d.ts +0 -148
- package/types/core/src/components/common/render/useFormDataProcessor.d.ts +0 -10
- package/types/core/src/components/contextMenu/WidgetContextMenu.vue.d.ts +0 -21
- package/types/core/src/components/contextMenu/useWidgetContextMenu.d.ts +0 -25
- package/types/core/src/components/index.d.ts +0 -16
- package/types/core/src/components/layout/LowcodeLayout.vue.d.ts +0 -24
- package/types/core/src/components/property-editor/index.d.ts +0 -3
- package/types/core/src/components/property-editor/propertyRegister.d.ts +0 -199
- package/types/core/src/components/property-editor/useEditor.d.ts +0 -19
- package/types/core/src/components/setting-plane/WidgetSettingPlane.vue.d.ts +0 -2
- package/types/core/src/components/setting-plane/form-crud-setting.vue.d.ts +0 -10
- package/types/core/src/components/setting-plane/form-setting.vue.d.ts +0 -332
- package/types/core/src/components/setting-plane/index.d.ts +0 -3
- package/types/core/src/components/setting-plane/index.vue.d.ts +0 -675
- package/types/core/src/components/settings/PanelItemDrag.vue.d.ts +0 -24
- package/types/core/src/components/settings/WidgetPanel.vue.d.ts +0 -20
- package/types/core/src/components/toolbar-panel/index.vue.d.ts +0 -689
- package/types/core/src/constants/EditorTypeEnum.d.ts +0 -151
- package/types/core/src/constants/LayoutTypeEnum.d.ts +0 -5
- package/types/core/src/constants/WidgetTypeEnum.d.ts +0 -65
- package/types/core/src/constants/index.d.ts +0 -12
- package/types/core/src/hooks/index.d.ts +0 -6
- package/types/core/src/hooks/useAppRef.d.ts +0 -9
- package/types/core/src/hooks/useDataHttp.d.ts +0 -207
- package/types/core/src/hooks/useDesigner.d.ts +0 -20
- package/types/core/src/hooks/useField.d.ts +0 -95
- package/types/core/src/hooks/useFormValidation.d.ts +0 -54
- package/types/core/src/hooks/useInputEvent.d.ts +0 -10
- package/types/core/src/hooks/useLowcode.d.ts +0 -22
- package/types/core/src/hooks/useNativeDragAndDrop.d.ts +0 -34
- package/types/core/src/lang/en-US.d.ts +0 -564
- package/types/core/src/lang/en-US_extension.d.ts +0 -23
- package/types/core/src/lang/en-US_render.d.ts +0 -38
- package/types/core/src/lang/zh-CN.d.ts +0 -584
- package/types/core/src/lang/zh-CN_extension.d.ts +0 -23
- package/types/core/src/lang/zh-CN_render.d.ts +0 -38
- package/types/core/src/types/button.d.ts +0 -17
- package/types/core/src/types/designer.d.ts +0 -74
- package/types/core/src/types/fileObject.d.ts +0 -7
- package/types/core/src/types/global.d.ts +0 -20
- package/types/core/src/types/index.d.ts +0 -8
- package/types/core/src/types/rowSelectionType.d.ts +0 -12
- package/types/core/src/types/schema.d.ts +0 -169
- package/types/core/src/types/widgetProps.d.ts +0 -8
- package/types/core/src/utils/emitter.d.ts +0 -17
- package/types/core/src/utils/event-bus.d.ts +0 -10
- package/types/core/src/utils/file.d.ts +0 -0
- package/types/core/src/utils/format.d.ts +0 -46
- package/types/core/src/utils/getFileName.d.ts +0 -1
- package/types/core/src/utils/i18n.d.ts +0 -27
- package/types/core/src/utils/index.d.ts +0 -8
- package/types/core/src/utils/insertAssetsToBody.d.ts +0 -3
- package/types/core/src/utils/request/handleAxiosError.d.ts +0 -11
- package/types/core/src/utils/request/http.d.ts +0 -4
- package/types/core/src/utils/smart-vue-i18n/index.d.ts +0 -11
- package/types/core/src/utils/transformWidgetList.d.ts +0 -2
- package/types/core/src/utils/useEmitter.d.ts +0 -31
- package/types/core/src/utils/util.d.ts +0 -81
- package/types/core/src/utils/validators.d.ts +0 -25
- package/types/core/src/utils/widgetRegistry.d.ts +0 -27
- package/types/pc/src/components/desginer/form-widget/RenderDesignerPC.vue.d.ts +0 -2
- package/types/pc/src/components/desginer/form-widget/container-widget/data-table-widget.vue.d.ts +0 -77
- package/types/pc/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.d.ts +0 -16
- package/types/pc/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.d.ts +0 -5
- package/types/pc/src/components/desginer/form-widget/container-widget/grid-widget.vue.d.ts +0 -5
- package/types/pc/src/components/desginer/form-widget/container-widget/index.d.ts +0 -153
- package/types/pc/src/components/desginer/form-widget/container-widget/tab-widget.vue.d.ts +0 -5
- package/types/pc/src/components/desginer/form-widget/container-widget/useTableWidget.d.ts +0 -274
- package/types/pc/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.d.ts +0 -32
- package/types/pc/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.d.ts +0 -33
- package/types/pc/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.d.ts +0 -4
- package/types/pc/src/components/desginer/form-widget/index.vue.d.ts +0 -171
- package/types/pc/src/components/desginer/index.vue.d.ts +0 -52
- package/types/pc/src/components/desginer/widget-panel/advanced/bpmn-editor.d.ts +0 -13
- package/types/pc/src/components/desginer/widget-panel/advanced/cascader.d.ts +0 -31
- package/types/pc/src/components/desginer/widget-panel/advanced/code-editor.d.ts +0 -18
- package/types/pc/src/components/desginer/widget-panel/advanced/data-table.d.ts +0 -52
- package/types/pc/src/components/desginer/widget-panel/advanced/diy-compontent.d.ts +0 -10
- package/types/pc/src/components/desginer/widget-panel/advanced/file-upload.d.ts +0 -24
- package/types/pc/src/components/desginer/widget-panel/advanced/index.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/advanced/rich-editor.d.ts +0 -22
- package/types/pc/src/components/desginer/widget-panel/advanced/tree-select.d.ts +0 -33
- package/types/pc/src/components/desginer/widget-panel/advanced/tree.d.ts +0 -27
- package/types/pc/src/components/desginer/widget-panel/advancedFieldsEnums.d.ts +0 -11
- package/types/pc/src/components/desginer/widget-panel/basicFields/button.d.ts +0 -17
- package/types/pc/src/components/desginer/widget-panel/basicFields/buttonList.d.ts +0 -22
- package/types/pc/src/components/desginer/widget-panel/basicFields/checkbox.d.ts +0 -27
- package/types/pc/src/components/desginer/widget-panel/basicFields/color.d.ts +0 -16
- package/types/pc/src/components/desginer/widget-panel/basicFields/date.d.ts +0 -29
- package/types/pc/src/components/desginer/widget-panel/basicFields/dateRange.d.ts +0 -29
- package/types/pc/src/components/desginer/widget-panel/basicFields/divider.d.ts +0 -12
- package/types/pc/src/components/desginer/widget-panel/basicFields/dropdown.d.ts +0 -18
- package/types/pc/src/components/desginer/widget-panel/basicFields/htmlText.d.ts +0 -11
- package/types/pc/src/components/desginer/widget-panel/basicFields/input.d.ts +0 -31
- package/types/pc/src/components/desginer/widget-panel/basicFields/number.d.ts +0 -26
- package/types/pc/src/components/desginer/widget-panel/basicFields/radio.d.ts +0 -38
- package/types/pc/src/components/desginer/widget-panel/basicFields/rate.d.ts +0 -23
- package/types/pc/src/components/desginer/widget-panel/basicFields/select.d.ts +0 -35
- package/types/pc/src/components/desginer/widget-panel/basicFields/slider.d.ts +0 -25
- package/types/pc/src/components/desginer/widget-panel/basicFields/staticText.d.ts +0 -11
- package/types/pc/src/components/desginer/widget-panel/basicFields/switch.d.ts +0 -19
- package/types/pc/src/components/desginer/widget-panel/basicFields/textarea.d.ts +0 -35
- package/types/pc/src/components/desginer/widget-panel/basicFields/time.d.ts +0 -26
- package/types/pc/src/components/desginer/widget-panel/basicFields/timeRange.d.ts +0 -27
- package/types/pc/src/components/desginer/widget-panel/basicFieldsEnums.d.ts +0 -38
- package/types/pc/src/components/desginer/widget-panel/containers/grid-col.d.ts +0 -17
- package/types/pc/src/components/desginer/widget-panel/containers/grid-sub-form.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/containers/grid.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/containers/index.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/containers/tab-pane.d.ts +0 -23
- package/types/pc/src/components/desginer/widget-panel/containers/tab.d.ts +0 -9
- package/types/pc/src/components/desginer/widget-panel/containers/vf-box.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/containers/vf-collapse.d.ts +0 -13
- package/types/pc/src/components/desginer/widget-panel/containers/vf-dialog.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/containersEnums.d.ts +0 -1
- package/types/pc/src/components/desginer/widget-panel/index.vue.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/widgetsConfig.d.ts +0 -28
- package/types/pc/src/components/field-widget/hooks/useSelect.d.ts +0 -72
- package/types/pc/src/components/field-widget/index.d.ts +0 -3
- package/types/pc/src/components/field-widget/useField.d.ts +0 -95
- package/types/pc/src/components/form-render/RenderWigetList.vue.d.ts +0 -27
- package/types/pc/src/components/form-render/container-items/data-table-widget.vue.d.ts +0 -95
- package/types/pc/src/components/form-render/container-items/grid-col-widget.vue.d.ts +0 -36
- package/types/pc/src/components/form-render/container-items/grid-sub-form-widget.vue.d.ts +0 -39
- package/types/pc/src/components/form-render/container-items/grid-widget.vue.d.ts +0 -35
- package/types/pc/src/components/form-render/container-items/index.d.ts +0 -255
- package/types/pc/src/components/form-render/container-items/tab-widget.vue.d.ts +0 -5
- package/types/pc/src/components/form-render/container-items/vf-box-widget.vue.d.ts +0 -32
- package/types/pc/src/components/form-render/container-items/vf-collapse-widget.vue.d.ts +0 -33
- package/types/pc/src/components/index.d.ts +0 -4
- package/types/pc/src/components/public/ActionButtonListRender.vue.d.ts +0 -121
- package/types/pc/src/components/public/ConfigView/CustomPageRender.vue.d.ts +0 -16
- package/types/pc/src/components/public/CustomerModal/CustomerModal.vue.d.ts +0 -14
- package/types/pc/src/components/public/CustomerModal/customerModal.d.ts +0 -6
- package/types/pc/src/components/public/CustomerModal/useCustomerModal.d.ts +0 -7
- package/types/pc/src/components/public/DynamicDialog.vue.d.ts +0 -97
- package/types/pc/src/components/render/index.vue.d.ts +0 -82
- package/types/pc/src/components/render/useRenderWidget.d.ts +0 -3
- package/types/pc/src/designer.d.ts +0 -233
- package/types/pc/src/hooks/useLowcode.d.ts +0 -21
- package/types/pc/src/hooks/useWidget.d.ts +0 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sources":["../../../../../core/src/utils/util.ts"],"sourcesContent":["import Clipboard from 'clipboard';\nimport { getLocat } from '@kp-ui/tool';\nimport { isArray, isEmpty, cloneDeep } from 'lodash-es';\n\nimport { FormConfig, Widget, FormJsonType } from '@kp-ui/lowcode-core';\n\nexport function isNull(value: unknown): value is null | undefined {\n return value === null || value === undefined;\n}\n\nexport function isNotNull(value: unknown): boolean {\n return value !== null && value !== undefined;\n}\n\nexport function isEmptyStr(str: unknown): boolean {\n //return (str === undefined) || (!str) || (!/[^\\s]/.test(str));\n return (\n str === undefined ||\n (!str && str !== 0 && str !== '0') ||\n (typeof str === 'string' && !/[^\\s]/.test(str))\n );\n}\n\nexport const generateId = function (): number {\n return Math.floor(Math.random() * 100000 + Math.random() * 20000 + Math.random() * 5000);\n};\n\nexport const deepClone = function <T>(origin: T): T {\n return cloneDeep(origin);\n};\n\nexport const overwriteObj = function <T extends Record<string, unknown>>(\n obj1: T,\n obj2: Partial<T>\n): void {\n /* 浅拷贝对象属性,obj2覆盖obj1 */\n Object.keys(obj2).forEach(prop => {\n (obj1 as Record<string, unknown>)[prop] = obj2[prop as keyof T];\n });\n};\n\nexport const insertCustomCssToHead = function (cssCode: string, formId = ''): void {\n const head = document.getElementsByTagName('head')[0];\n\n const newStyle = document.createElement('style');\n newStyle.type = 'text/css';\n newStyle.id = formId ? 'vform-custom-css' + '-' + formId : 'vform-custom-css';\n\n try {\n newStyle.appendChild(document.createTextNode(cssCode));\n } catch (ex) {\n (newStyle as HTMLStyleElement & { styleSheet?: { cssText: string } }).styleSheet!.cssText =\n cssCode;\n }\n\n head.appendChild(newStyle);\n};\n\nexport const insertGlobalFunctionsToHtml = function (functionsCode: string, formId = ''): void {\n const bodyEle = document.getElementsByTagName('body')[0];\n\n const newScriptEle = document.createElement('script');\n newScriptEle.id = formId ? 'v_form_global_functions' + '-' + formId : 'v_form_global_functions';\n newScriptEle.type = 'text/javascript';\n newScriptEle.innerHTML = functionsCode;\n bodyEle.appendChild(newScriptEle);\n};\n\nexport const optionExists = function (\n optionsObj: Record<string, unknown> | null | undefined,\n optionName: string\n): boolean {\n if (!optionsObj) {\n return false;\n }\n\n return Object.keys(optionsObj).indexOf(optionName) > -1;\n};\n\nexport const loadRemoteScript = function (srcPath: string, callback: () => void): void {\n /*加载远程js,加载成功后执行回调函数*/\n const sid = encodeURIComponent(srcPath);\n const oldScriptEle = document.getElementById(sid);\n\n if (!oldScriptEle) {\n let s: HTMLScriptElement | null = document.createElement('script');\n s.src = srcPath;\n s.id = sid;\n document.body.appendChild(s);\n\n s.onload = s.onreadystatechange = function (\n this: HTMLScriptElement,\n _?: Event | string,\n isAbort?: boolean\n ) {\n /* 借鉴自ace.js */\n const scriptEl = this as HTMLScriptElement & { readyState?: string };\n if (\n isAbort ||\n !scriptEl.readyState ||\n scriptEl.readyState === 'loaded' ||\n scriptEl.readyState === 'complete'\n ) {\n s = null;\n if (!isAbort) {\n callback();\n }\n }\n } as OnErrorEventHandler;\n }\n};\n\nexport type WidgetHandler = (widget: Widget, parent?: Widget | null) => void;\nexport type ContainerHandler = (container: Widget) => void;\n\nexport function traverseFieldWidgets(\n widgetList: Widget[] | undefined,\n handler: WidgetHandler,\n parent: Widget | null = null,\n staticWidgetsIncluded = false\n): void {\n if (!widgetList) {\n return;\n }\n\n widgetList.forEach(w => {\n if (w.formItemFlag || (w.formItemFlag === false && staticWidgetsIncluded)) {\n handler(w, parent);\n } else if (w.type === 'grid') {\n w.cols?.forEach(col => {\n traverseFieldWidgets(col.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'table') {\n w.rows?.forEach(row => {\n row.cols?.forEach(cell => {\n traverseFieldWidgets(cell.widgetList, handler, w, staticWidgetsIncluded);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs?.forEach(tab => {\n traverseFieldWidgets(tab.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n } else if (w.category === 'container') {\n //自定义容器\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n }\n });\n}\n\nexport function traverseContainerWidgets(\n widgetList: Widget[] | undefined,\n handler: ContainerHandler\n): void {\n if (!widgetList?.length) {\n return;\n }\n\n widgetList.forEach(w => {\n if (w.category === 'container') {\n handler(w);\n }\n\n if (w.type === 'grid') {\n w.cols?.forEach(col => {\n traverseContainerWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows?.forEach(row => {\n row.cols?.forEach(cell => {\n traverseContainerWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs?.forEach(tab => {\n traverseContainerWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseContainerWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseContainerWidgets(w.widgetList, handler);\n }\n });\n}\n\nexport function traverseAllWidgets(\n widgetList: Widget[] | undefined,\n handler: (widget: Widget) => void\n): void {\n if (!widgetList) {\n return;\n }\n\n widgetList.forEach(w => {\n handler(w);\n\n if (w.type === 'grid') {\n w.cols?.forEach(col => {\n handler(col as unknown as Widget);\n traverseAllWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows?.forEach(row => {\n row.cols?.forEach(cell => {\n handler(cell as unknown as Widget);\n traverseAllWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs?.forEach(tab => {\n traverseAllWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseAllWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseAllWidgets(w.widgetList, handler);\n }\n });\n}\n\nfunction handleWidgetForTraverse(widget: Widget, handler: WidgetHandler): void {\n if (widget.category && widget.category === 'container') {\n traverseFieldWidgetsOfContainer(widget, handler);\n } else if (widget.formItemFlag) {\n handler(widget);\n }\n}\n\n/**\n * 遍历容器内的字段组件\n * @param con\n * @param handler\n */\nexport function traverseFieldWidgetsOfContainer(con: Widget, handler: WidgetHandler): void {\n if (con.type === 'grid') {\n con.cols?.forEach(col => {\n col.widgetList?.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'table') {\n con.rows?.forEach(row => {\n row.cols?.forEach(cell => {\n cell.widgetList?.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs?.forEach(tab => {\n tab.widgetList?.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList?.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList?.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n }\n}\n\nfunction handleContainerTraverse(\n widget: Widget,\n fieldHandler: WidgetHandler,\n containerHandler: ContainerHandler\n): void {\n if (widget.category && widget.category === 'container') {\n traverseWidgetsOfContainer(widget, fieldHandler, containerHandler);\n } else if (widget.formItemFlag) {\n fieldHandler(widget);\n }\n}\n\n/**\n * 遍历容器内部的字段组件和容器组件\n * @param con\n * @param fieldHandler\n * @param containerHandler\n */\nexport function traverseWidgetsOfContainer(\n con: Widget,\n fieldHandler: WidgetHandler,\n containerHandler: ContainerHandler\n): void {\n if (con.type === 'grid') {\n con.cols?.forEach(col => {\n col.widgetList?.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'table') {\n con.rows?.forEach(row => {\n row.cols?.forEach(cell => {\n cell.widgetList?.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs?.forEach(tab => {\n tab.widgetList?.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList?.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList?.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n }\n}\n\nexport interface FieldWidgetInfo {\n type: string;\n name: string | undefined;\n field: Widget;\n}\n\n/**\n * 获取所有字段组件\n * @param widgetList\n * @param staticWidgetsIncluded 是否包含按钮等静态组件,默认不包含\n * @returns {[]}\n */\nexport function getAllFieldWidgets(\n widgetList: Widget[] | undefined,\n staticWidgetsIncluded = false\n): FieldWidgetInfo[] {\n if (!widgetList) {\n return [];\n }\n\n const result: FieldWidgetInfo[] = [];\n const handlerFn: WidgetHandler = w => {\n result.push({\n type: w.type,\n name: w.options?.name,\n field: w\n });\n };\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n\n return result;\n}\n\nexport interface ContainerWidgetInfo {\n type: string;\n name: string | undefined;\n container: Widget;\n}\n\n/**\n * 获取所有容器组件\n * @param widgetList\n * @returns {[]}\n */\nexport function getAllContainerWidgets(widgetList: Widget[] | undefined): ContainerWidgetInfo[] {\n if (!widgetList) {\n return [];\n }\n\n const result: ContainerWidgetInfo[] = [];\n const handlerFn: ContainerHandler = w => {\n result.push({\n type: w.type,\n name: w.options?.name,\n container: w\n });\n };\n traverseContainerWidgets(widgetList, handlerFn);\n\n return result;\n}\n\nexport function getFieldWidgetByName(\n widgetList: Widget[] | undefined,\n fieldName: string,\n staticWidgetsIncluded?: boolean\n): Widget | null {\n if (!widgetList) {\n return null;\n }\n\n let foundWidget: Widget | null = null;\n const handlerFn: WidgetHandler = widget => {\n if (widget.options?.name === fieldName) {\n foundWidget = widget;\n }\n };\n\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n return foundWidget;\n}\n\nexport function getContainerWidgetByName(\n widgetList: Widget[] | undefined,\n containerName: string\n): Widget | null {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer: Widget | null = null;\n const handlerFn: ContainerHandler = con => {\n if (con.options?.name === containerName) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\nexport function getContainerWidgetById(\n widgetList: Widget[] | undefined,\n containerId: string\n): Widget | null {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer: Widget | null = null;\n const handlerFn: ContainerHandler = con => {\n if (con.id === containerId) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\ninterface MessageApi {\n success: (msg: string) => void;\n error: (msg: string) => void;\n}\n\nexport function copyToClipboard(\n content: string,\n clickEvent: MouseEvent,\n $message: MessageApi,\n successMsg: string,\n errorMsg: string\n): void {\n const clipboard = new Clipboard(clickEvent.target as Element, {\n text: () => content\n });\n\n clipboard.on('success', () => {\n $message.success(successMsg);\n clipboard.destroy();\n });\n\n clipboard.on('error', () => {\n $message.error(errorMsg);\n clipboard.destroy();\n });\n\n clipboard.onClick(clickEvent);\n}\n\nexport function getQueryParam(variable: string): string | undefined {\n const query = window.location.search.substring(1);\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n if (pair[0] == variable) {\n return pair[1];\n }\n }\n\n return undefined;\n}\n\nexport function getDefaultFormConfig(): FormConfig {\n const { formCode = '' } = getLocat() as { formCode?: string };\n\n return {\n labelWidth: 80,\n labelPosition: 'horizontal', //'left',\n size: '',\n labelAlign: 'right',\n cssCode: '',\n customClass: [],\n\n isEnterSubmit: 0,\n\n buttonList: [],\n\n functions: '', //全局函数\n layoutType: 'PC',\n scaleMode: 'auto',\n onFormCreated: '',\n onFormMounted: `\n if(!this.vfCtx) return\n if(!this.vfCtx._id) return\n const type = this.vfCtx.type\n this.setReadMode(type==='view')\n this.onFormDetail().then(res=>{\n this.setFormData({...res})\n })\n `,\n\n onFormDataChange: '',\n\n serveList: {\n list: [],\n vformUpdate: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formSubmit`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: ''\n },\n vformDetail: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formLoad`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: 'return data.data.object||{}'\n }\n }\n };\n}\n\nexport function buildDefaultFormJson(): FormJsonType {\n return {\n widgetList: [],\n formConfig: deepClone(getDefaultFormConfig())\n };\n}\n\nexport function cloneFormConfigWithoutEventHandler(formConfig: FormConfig): FormConfig {\n const newFC = deepClone(formConfig);\n newFC.onFormCreated = '';\n newFC.onFormMounted = '';\n newFC.onFormDataChange = '';\n\n return newFC;\n}\n\n/**\n * 转译选择项数据\n * @param rawData\n * @param widgetType\n * @param labelKey\n * @param valueKey\n * @returns {[]}\n */\nexport function translateOptionItems<T extends Record<string, unknown>>(\n rawData: T[],\n widgetType: string,\n labelKey: string,\n valueKey: string\n): Array<{ label: unknown; value: unknown }> | T[] {\n if (['cascader', 'treeSelect', 'select'].includes(widgetType)) {\n // 级联选择不转译\n return deepClone(rawData);\n }\n\n const result: Array<{ label: unknown; value: unknown }> = [];\n if (rawData && rawData.length > 0) {\n rawData.forEach(ri => {\n result.push({\n label: ri[labelKey],\n value: ri[valueKey]\n });\n });\n }\n\n return rawData; //result;\n}\n\nexport function getDSByName(\n formConfig: FormConfig,\n dsName: string\n): { uniqueName: string; [key: string]: unknown } | null {\n let resultDS: { uniqueName: string; [key: string]: unknown } | null = null;\n if (dsName && formConfig.dataSources) {\n formConfig.dataSources.forEach(ds => {\n if (ds.uniqueName === dsName) {\n resultDS = ds;\n }\n });\n }\n\n return resultDS;\n}\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { isNull } from "./util.js";
|
|
2
|
+
const commonRegExp = {
|
|
3
|
+
number: /^[-]?\d+(\.\d+)?$/,
|
|
4
|
+
letter: /^[A-Za-z]+$/,
|
|
5
|
+
letterAndNumber: /^[A-Za-z0-9]+$/,
|
|
6
|
+
mobilePhone: /^[1][3-9][0-9]{9}$/,
|
|
7
|
+
letterStartNumberIncluded: /^[A-Za-z]+[A-Za-z\d]*$/,
|
|
8
|
+
noChinese: /^[^\u4e00-\u9fa5]+$/,
|
|
9
|
+
chinese: /^[\u4e00-\u9fa5]+$/,
|
|
10
|
+
email: /^([-_A-Za-z0-9.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/,
|
|
11
|
+
url: /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/
|
|
12
|
+
};
|
|
13
|
+
const getRegExp = function(validatorName) {
|
|
14
|
+
return commonRegExp[validatorName];
|
|
15
|
+
};
|
|
16
|
+
const parseRegExpString = (regExpStr) => {
|
|
17
|
+
try {
|
|
18
|
+
const match = regExpStr.match(/^\/(.+)\/([gimsuy]*)$/);
|
|
19
|
+
if (match) {
|
|
20
|
+
return new RegExp(match[1], match[2]);
|
|
21
|
+
}
|
|
22
|
+
return new RegExp(regExpStr);
|
|
23
|
+
} catch {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const validateFn = function(validatorName, rule, value, defaultErrorMsg) {
|
|
28
|
+
try {
|
|
29
|
+
if (isNull(value) || typeof value === "string" && value.length <= 0) {
|
|
30
|
+
return Promise.resolve();
|
|
31
|
+
}
|
|
32
|
+
const reg = getRegExp(validatorName);
|
|
33
|
+
if (!reg) {
|
|
34
|
+
return Promise.resolve();
|
|
35
|
+
}
|
|
36
|
+
if (!reg.test(String(value))) {
|
|
37
|
+
const errTxt = rule.errorMsg || defaultErrorMsg;
|
|
38
|
+
return Promise.reject(errTxt);
|
|
39
|
+
} else {
|
|
40
|
+
return Promise.resolve();
|
|
41
|
+
}
|
|
42
|
+
} catch (error) {
|
|
43
|
+
return Promise.resolve();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const FormValidators = {
|
|
47
|
+
/* 数字 */
|
|
48
|
+
number(rule, value) {
|
|
49
|
+
return validateFn("number", rule, value, "[" + rule.label + "]包含非数字字符");
|
|
50
|
+
},
|
|
51
|
+
/* 字母 */
|
|
52
|
+
letter(rule, value) {
|
|
53
|
+
return validateFn("letter", rule, value, "[" + rule.label + "]包含非字母字符");
|
|
54
|
+
},
|
|
55
|
+
/* 字母和数字 */
|
|
56
|
+
letterAndNumber(rule, value) {
|
|
57
|
+
return validateFn("letterAndNumber", rule, value, "[" + rule.label + "]只能输入字母或数字");
|
|
58
|
+
},
|
|
59
|
+
/* 手机号码 */
|
|
60
|
+
mobilePhone(rule, value) {
|
|
61
|
+
return validateFn("mobilePhone", rule, value, "[" + rule.label + "]手机号码格式有误");
|
|
62
|
+
},
|
|
63
|
+
/* 禁止空白字符开头 */
|
|
64
|
+
noBlankStart(_rule, _value) {
|
|
65
|
+
},
|
|
66
|
+
/* 禁止空白字符结尾 */
|
|
67
|
+
noBlankEnd(_rule, _value) {
|
|
68
|
+
},
|
|
69
|
+
/* 字母开头,仅可包含数字 */
|
|
70
|
+
letterStartNumberIncluded(rule, value) {
|
|
71
|
+
return validateFn(
|
|
72
|
+
"letterStartNumberIncluded",
|
|
73
|
+
rule,
|
|
74
|
+
value,
|
|
75
|
+
"[" + rule.label + "]必须以字母开头,可包含数字"
|
|
76
|
+
);
|
|
77
|
+
},
|
|
78
|
+
/* 禁止中文输入 */
|
|
79
|
+
noChinese(rule, value) {
|
|
80
|
+
return validateFn("noChinese", rule, value, "[" + rule.label + "]不可输入中文字符");
|
|
81
|
+
},
|
|
82
|
+
/* 必须中文输入 */
|
|
83
|
+
chinese(rule, value) {
|
|
84
|
+
return validateFn("chinese", rule, value, "[" + rule.label + "]只能输入中文字符");
|
|
85
|
+
},
|
|
86
|
+
/* 电子邮箱 */
|
|
87
|
+
email(rule, value) {
|
|
88
|
+
return validateFn("email", rule, value, "[" + rule.label + "]邮箱格式有误");
|
|
89
|
+
},
|
|
90
|
+
/* URL网址 */
|
|
91
|
+
url(rule, value) {
|
|
92
|
+
return validateFn("url", rule, value, "[" + rule.label + "]URL格式有误");
|
|
93
|
+
},
|
|
94
|
+
regExp(rule, value) {
|
|
95
|
+
if (isNull(value) || typeof value === "string" && value.length <= 0) {
|
|
96
|
+
return Promise.resolve();
|
|
97
|
+
}
|
|
98
|
+
const pattern = parseRegExpString(rule.regExp || "");
|
|
99
|
+
if (!pattern) {
|
|
100
|
+
return Promise.resolve();
|
|
101
|
+
}
|
|
102
|
+
if (!pattern.test(String(value))) {
|
|
103
|
+
const errTxt = rule.errorMsg || "[" + rule.label + "]invalid value";
|
|
104
|
+
return Promise.reject(errTxt);
|
|
105
|
+
} else {
|
|
106
|
+
return Promise.resolve();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
export {
|
|
111
|
+
FormValidators as default,
|
|
112
|
+
getRegExp
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sources":["../../../../../core/src/utils/validators.ts"],"sourcesContent":["import { isNull } from './util';\n\ntype RegExpName =\n | 'number'\n | 'letter'\n | 'letterAndNumber'\n | 'mobilePhone'\n | 'letterStartNumberIncluded'\n | 'noChinese'\n | 'chinese'\n | 'email'\n | 'url';\n\ninterface ValidationRule {\n label?: string;\n errorMsg?: string;\n regExp?: string;\n [key: string]: unknown;\n}\n\n// 直接存储 RegExp 对象,避免使用 eval\nconst commonRegExp: Record<RegExpName, RegExp> = {\n number: /^[-]?\\d+(\\.\\d+)?$/,\n letter: /^[A-Za-z]+$/,\n letterAndNumber: /^[A-Za-z0-9]+$/,\n mobilePhone: /^[1][3-9][0-9]{9}$/,\n letterStartNumberIncluded: /^[A-Za-z]+[A-Za-z\\d]*$/,\n noChinese: /^[^\\u4e00-\\u9fa5]+$/,\n chinese: /^[\\u4e00-\\u9fa5]+$/,\n email: /^([-_A-Za-z0-9.]+)@([_A-Za-z0-9]+\\.)+[A-Za-z0-9]{2,3}$/,\n url: /^([hH][tT]{2}[pP]:\\/\\/|[hH][tT]{2}[pP][sS]:\\/\\/)(([A-Za-z0-9-~]+)\\.)+([A-Za-z0-9-~\\/])+$/\n};\n\nexport const getRegExp = function (validatorName: RegExpName): RegExp | undefined {\n return commonRegExp[validatorName];\n};\n\n/**\n * 将正则表达式字符串转换为 RegExp 对象\n * 支持格式: '/pattern/flags' 或 'pattern'\n */\nconst parseRegExpString = (regExpStr: string): RegExp | null => {\n try {\n // 处理 /pattern/flags 格式\n const match = regExpStr.match(/^\\/(.+)\\/([gimsuy]*)$/);\n if (match) {\n return new RegExp(match[1], match[2]);\n }\n // 普通字符串作为 pattern\n return new RegExp(regExpStr);\n } catch {\n return null;\n }\n};\n\nconst validateFn = function (\n validatorName: RegExpName,\n rule: ValidationRule,\n value: unknown,\n defaultErrorMsg: string\n): Promise<void> {\n try {\n // 空值不校验\n if (isNull(value) || (typeof value === 'string' && value.length <= 0)) {\n return Promise.resolve();\n }\n\n const reg = getRegExp(validatorName);\n if (!reg) {\n return Promise.resolve();\n }\n\n if (!reg.test(String(value))) {\n const errTxt = rule.errorMsg || defaultErrorMsg;\n return Promise.reject(errTxt);\n } else {\n return Promise.resolve();\n }\n } catch (error) {\n return Promise.resolve();\n }\n};\n\ntype ValidatorFn = (rule: ValidationRule, value: unknown) => Promise<void> | void;\n\ninterface FormValidatorsType {\n number: ValidatorFn;\n letter: ValidatorFn;\n letterAndNumber: ValidatorFn;\n mobilePhone: ValidatorFn;\n noBlankStart: ValidatorFn;\n noBlankEnd: ValidatorFn;\n letterStartNumberIncluded: ValidatorFn;\n noChinese: ValidatorFn;\n chinese: ValidatorFn;\n email: ValidatorFn;\n url: ValidatorFn;\n regExp: ValidatorFn;\n}\n\nconst FormValidators: FormValidatorsType = {\n /* 数字 */\n number(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('number', rule, value, '[' + rule.label + ']包含非数字字符');\n },\n\n /* 字母 */\n letter(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('letter', rule, value, '[' + rule.label + ']包含非字母字符');\n },\n\n /* 字母和数字 */\n letterAndNumber(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('letterAndNumber', rule, value, '[' + rule.label + ']只能输入字母或数字');\n },\n\n /* 手机号码 */\n mobilePhone(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('mobilePhone', rule, value, '[' + rule.label + ']手机号码格式有误');\n },\n\n /* 禁止空白字符开头 */\n noBlankStart(_rule: ValidationRule, _value: unknown): void {\n //暂未实现\n },\n\n /* 禁止空白字符结尾 */\n noBlankEnd(_rule: ValidationRule, _value: unknown): void {\n //暂未实现\n },\n\n /* 字母开头,仅可包含数字 */\n letterStartNumberIncluded(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn(\n 'letterStartNumberIncluded',\n rule,\n value,\n '[' + rule.label + ']必须以字母开头,可包含数字'\n );\n },\n\n /* 禁止中文输入 */\n noChinese(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('noChinese', rule, value, '[' + rule.label + ']不可输入中文字符');\n },\n\n /* 必须中文输入 */\n chinese(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('chinese', rule, value, '[' + rule.label + ']只能输入中文字符');\n },\n\n /* 电子邮箱 */\n email(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('email', rule, value, '[' + rule.label + ']邮箱格式有误');\n },\n\n /* URL网址 */\n url(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('url', rule, value, '[' + rule.label + ']URL格式有误');\n },\n\n regExp(rule: ValidationRule, value: unknown): Promise<void> {\n // 空值不校验\n if (isNull(value) || (typeof value === 'string' && value.length <= 0)) {\n return Promise.resolve();\n }\n\n const pattern = parseRegExpString(rule.regExp || '');\n if (!pattern) {\n return Promise.resolve();\n }\n\n if (!pattern.test(String(value))) {\n const errTxt = rule.errorMsg || '[' + rule.label + ']invalid value';\n return Promise.reject(errTxt);\n } else {\n return Promise.resolve();\n }\n }\n};\n\nexport default FormValidators;\n"],"names":[],"mappings":"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"}
|
package/install.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import { getLocat, getUserInfo } from "@kp-ui/tool";
|
|
3
|
+
import { VxeTooltip } from "vxe-pc-ui";
|
|
4
|
+
import dayjs from "dayjs";
|
|
5
|
+
import { http } from "tmgc2-share";
|
|
6
|
+
import { default as default2 } from "./src/components/render/index.vue.js";
|
|
7
|
+
import { useLowcode } from "./src/hooks/useLowcode.js";
|
|
8
|
+
import { default as default3 } from "./src/components/public/ConfigView/CustomPageRender.vue.js";
|
|
9
|
+
const registerLowcodeCore = (params) => {
|
|
10
|
+
const { app, factoryRender } = params;
|
|
11
|
+
app.config.globalProperties.$http = http;
|
|
12
|
+
app.config.globalProperties.$getLocat = getLocat;
|
|
13
|
+
app.config.globalProperties.$dayjs = dayjs;
|
|
14
|
+
app.config.globalProperties.$getUserInfo = getUserInfo;
|
|
15
|
+
app.config.globalProperties.$factoryRender = factoryRender;
|
|
16
|
+
app.config.globalProperties.$openCustomerModal = (ops) => {
|
|
17
|
+
import("./src/components/public/CustomerModal/useCustomerModal.js").then(
|
|
18
|
+
({ openCustomerModal }) => {
|
|
19
|
+
openCustomerModal(ops, app);
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
};
|
|
23
|
+
app.component("VxeTooltip", VxeTooltip);
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
default3 as CustomPageRender,
|
|
27
|
+
default2 as VFormRender,
|
|
28
|
+
registerLowcodeCore,
|
|
29
|
+
useLowcode
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=install.js.map
|
package/install.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sources":["../install.ts"],"sourcesContent":["import '@kp-ui/lowcode-core/src/styles/global.less';\nimport { getLocat, getUserInfo } from '@kp-ui/tool';\nimport { VxeTooltip } from 'vxe-pc-ui';\nimport dayjs from 'dayjs';\nimport { App } from 'vue';\nimport { http } from 'tmgc2-share';\n\nexport { default as VFormRender } from './src/components/render/index.vue';\n\nexport * from './src/hooks/useLowcode';\n\nexport { default as CustomPageRender } from './src/components/public/ConfigView/CustomPageRender.vue';\ninterface RegisterLowcodeCoreParams {\n app: App;\n factoryRender: (name: any, props: any, ...args: any[]) => any;\n}\n\n// 注册 HTTP\nexport const registerLowcodeCore = (params: RegisterLowcodeCoreParams) => {\n const { app, factoryRender } = params;\n\n app.config.globalProperties.$http = http;\n app.config.globalProperties.$getLocat = getLocat;\n app.config.globalProperties.$dayjs = dayjs;\n app.config.globalProperties.$getUserInfo = getUserInfo;\n app.config.globalProperties.$factoryRender = factoryRender;\n app.config.globalProperties.$openCustomerModal = ops => {\n import('./src/components/public/CustomerModal/useCustomerModal').then(\n ({ openCustomerModal }) => {\n openCustomerModal(ops, app);\n }\n );\n };\n app.component('VxeTooltip', VxeTooltip);\n};\n"],"names":[],"mappings":";;;;;;;;AAkBO,MAAM,sBAAsB,CAAC,WAAsC;AACtE,QAAM,EAAE,KAAK,cAAA,IAAkB;AAE/B,MAAI,OAAO,iBAAiB,QAAQ;AACpC,MAAI,OAAO,iBAAiB,YAAY;AACxC,MAAI,OAAO,iBAAiB,SAAS;AACrC,MAAI,OAAO,iBAAiB,eAAe;AAC3C,MAAI,OAAO,iBAAiB,iBAAiB;AAC7C,MAAI,OAAO,iBAAiB,qBAAqB,CAAA,QAAO;AACpD,WAAO,2DAAwD,EAAE;AAAA,MAC7D,CAAC,EAAE,kBAAA,MAAwB;AACvB,0BAAkB,KAAK,GAAG;AAAA,MAC9B;AAAA,IAAA;AAAA,EAER;AACA,MAAI,UAAU,cAAc,UAAU;AAC1C;"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kp-ui/lowcode-pc",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
7
7
|
},
|
|
8
8
|
"module": "index.js",
|
|
9
9
|
"dependencies": {
|
|
10
|
+
"vxe-pc-ui": "4.10.29",
|
|
11
|
+
"vxe-table": "4.17.18",
|
|
12
|
+
"vuedraggable": "^4.0.0",
|
|
13
|
+
"bpmn-js": "13.2.0",
|
|
14
|
+
"vue-json-viewer": "^3.0.1",
|
|
10
15
|
"ant-design-vue": "4.2.6",
|
|
11
16
|
"query-string": "^6.14.1",
|
|
12
17
|
"dayjs": "^1.11.7",
|
|
@@ -18,15 +23,15 @@
|
|
|
18
23
|
"echarts": "^5.6.0"
|
|
19
24
|
},
|
|
20
25
|
"main": "index.js",
|
|
21
|
-
"types": "types/
|
|
26
|
+
"types": "types/pc/install.d.ts",
|
|
22
27
|
"sideEffects": [
|
|
23
28
|
"./assets/styles/*",
|
|
24
29
|
"./_virtual/*"
|
|
25
30
|
],
|
|
26
31
|
"exports": {
|
|
27
32
|
".": {
|
|
28
|
-
"import": "./
|
|
29
|
-
"types": "./types/
|
|
33
|
+
"import": "./install.js",
|
|
34
|
+
"types": "./types/pc/install.d.ts"
|
|
30
35
|
},
|
|
31
36
|
"./style": "./assets/styles/style.css",
|
|
32
37
|
"./styles/*": "./assets/styles/*"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import _sfc_main from "./data-table-widget.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const dataTableWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d47a2444"]]);
|
|
5
|
+
export {
|
|
6
|
+
dataTableWidget as default
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data-table-widget.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { defineComponent, watchEffect, onMounted, createElementBlock, createCommentVNode, unref, openBlock, normalizeStyle, createVNode } from "vue";
|
|
2
|
-
import {
|
|
1
|
+
import { defineComponent, ref, watchEffect, onMounted, createElementBlock, createCommentVNode, unref, openBlock, normalizeStyle, createVNode } from "vue";
|
|
2
|
+
import { useTableWidget } from "./useTableWidget.js";
|
|
3
3
|
import { useVxeTable, Table } from "tmgc2-share";
|
|
4
|
+
import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
|
|
5
|
+
import { useField } from "../../../../../core/src/hooks/useField.js";
|
|
4
6
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5
7
|
...{
|
|
6
8
|
name: ContainerTypeEnum.DataTable,
|
|
@@ -17,7 +19,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
17
19
|
},
|
|
18
20
|
setup(__props, { expose: __expose }) {
|
|
19
21
|
const props = __props;
|
|
20
|
-
const { fieldModel, handleHidden, defineExposed } = useField(props);
|
|
22
|
+
const { fieldModel, handleHidden, defineExposed, designState } = useField(props);
|
|
23
|
+
ref(false);
|
|
24
|
+
const columnList = ref([]);
|
|
21
25
|
const {
|
|
22
26
|
isLoading,
|
|
23
27
|
tableProps,
|
|
@@ -29,6 +33,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
29
33
|
initTableSoureData,
|
|
30
34
|
tableDefinExpoed
|
|
31
35
|
} = useTableWidget({
|
|
36
|
+
designState,
|
|
32
37
|
fieldModel,
|
|
33
38
|
props
|
|
34
39
|
});
|
|
@@ -37,7 +42,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
37
42
|
total: props.field.options.showPagination ? 1 : 0
|
|
38
43
|
});
|
|
39
44
|
});
|
|
40
|
-
const { tableRef,
|
|
45
|
+
const { tableRef, register } = useVxeTable({
|
|
41
46
|
props: {
|
|
42
47
|
rowKey: props.field.options.rowKey,
|
|
43
48
|
clickRowCheck: props.field.options.colorRow
|
|
@@ -55,6 +60,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
62
|
});
|
|
63
|
+
const initColumnList = () => {
|
|
64
|
+
const tableColumns = props.field.options.tableColumns || [];
|
|
65
|
+
if (tableColumns.length > 0) {
|
|
66
|
+
columnList.value = tableColumns.map((col) => ({
|
|
67
|
+
...col,
|
|
68
|
+
visible: col.show !== false,
|
|
69
|
+
title: col.title || col.dataIndex
|
|
70
|
+
}));
|
|
71
|
+
}
|
|
72
|
+
};
|
|
58
73
|
watchEffect(() => {
|
|
59
74
|
if (tableRef.value) {
|
|
60
75
|
setTableRef(tableRef.value);
|
|
@@ -62,6 +77,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
62
77
|
});
|
|
63
78
|
onMounted(() => {
|
|
64
79
|
initTableSoureData();
|
|
80
|
+
initColumnList();
|
|
65
81
|
});
|
|
66
82
|
__expose({
|
|
67
83
|
...defineExposed,
|
|
@@ -86,7 +102,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
86
102
|
};
|
|
87
103
|
}
|
|
88
104
|
});
|
|
89
|
-
const dataTableWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ad6fb3c4"]]);
|
|
90
105
|
export {
|
|
91
|
-
|
|
106
|
+
_sfc_main as default
|
|
92
107
|
};
|
|
108
|
+
//# sourceMappingURL=data-table-widget.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/data-table-widget.vue"],"sourcesContent":["<template>\n <div class=\"talbe-wrapper\" v-if=\"!handleHidden\" :style=\"{ width: tableWidth }\">\n <Table\n :tableProps=\"tableProps\"\n @register=\"register\"\n :loading=\"isLoading\"\n :pagination=\"pagintion\"\n @change=\"handleTableChange\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, onMounted, watchEffect } from 'vue';\n import { ContainerTypeEnum, ComponentNameEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { useTableWidget } from './useTableWidget';\n import { useField } from '@kp-ui/lowcode-core';\n import { useVxeTable, Table, SvgIcon } from 'tmgc2-share';\n import { DataTableWidget } from '../../widget-panel/advanced';\n import DataTableColumnDialog from '../../../public/DataTableColumnDialog.vue';\n\n const props = defineProps<WidgetProps<DataTableWidget>>();\n defineOptions({\n name: ContainerTypeEnum.DataTable,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const { fieldModel, handleHidden, defineExposed, designState } = useField(props);\n\n // 列管理相关\n const columnDialogVisible = ref(false);\n const columnList = ref<any[]>([]);\n\n const {\n isLoading,\n tableProps,\n pagintion,\n tableWidth,\n setPagination,\n handleTableChange,\n setTableRef,\n initTableSoureData,\n tableDefinExpoed\n } = useTableWidget({\n designState,\n fieldModel,\n props\n });\n\n watchEffect(() => {\n setPagination({\n total: props.field.options.showPagination ? 1 : 0\n });\n });\n\n const { tableRef, register } = useVxeTable({\n props: {\n rowKey: props.field.options.rowKey,\n clickRowCheck: props.field.options.colorRow\n },\n events: {\n columnResizableChange: data => {\n const { field, resizeWidth } = data.resizeColumn;\n if (field) {\n const column = props.field.options.tableColumns.find(\n item => item.dataIndex === field\n );\n column.isAutoWidth = false;\n column.width = resizeWidth;\n }\n }\n }\n });\n\n // 打开列管理弹窗\n const openColumnDialog = () => {\n columnDialogVisible.value = true;\n };\n\n // 处理列更新\n const handleUpdateColumns = (newColumns: any[]) => {\n // 更新原始配置,同步 show 属性\n if (props.field.options.tableColumns) {\n props.field.options.tableColumns = props.field.options.tableColumns.map(col => {\n const found = newColumns.find(item => item.dataIndex === col.dataIndex);\n if (found) {\n return { ...col, show: found.visible !== false };\n }\n return col;\n });\n }\n // 清除 vxe-table storage 中的列配置\n clearTableStorage();\n // 重新初始化列列表\n initColumnList();\n };\n\n // 初始化列列表\n const initColumnList = () => {\n const tableColumns = props.field.options.tableColumns || [];\n if (tableColumns.length > 0) {\n columnList.value = tableColumns.map(col => ({\n ...col,\n visible: col.show !== false,\n title: col.title || col.dataIndex\n }));\n }\n };\n\n // 清除 vxe-table storage 中的列配置\n const clearTableStorage = () => {\n // 清除当前表格的 storage key(包含表格 id)\n const tableId = props.field.id || props.field.options.name;\n const keysToRemove: string[] = [];\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n // 查找包含表格 id 的 storage key\n if (key && key.includes(tableId)) {\n keysToRemove.push(key);\n }\n }\n keysToRemove.forEach(key => localStorage.removeItem(key));\n };\n\n watchEffect(() => {\n if (tableRef.value) {\n setTableRef(tableRef.value);\n }\n });\n\n onMounted(() => {\n initTableSoureData();\n initColumnList();\n });\n\n defineExpose({\n ...defineExposed,\n ...tableDefinExpoed,\n setPagination,\n fieldEditor: tableRef.value\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .top-action {\n display: flex;\n gap: 8px;\n padding: 4px 0 8px;\n }\n\n .talbe-wrapper {\n width: 100%;\n // display: flex;\n .vxe-grid {\n width: 100%;\n }\n &__pagination {\n margin-top: 10px;\n display: flex;\n justify-content: end;\n }\n }\n</style>\n"],"names":["_unref","_createElementBlock","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;AAqBI,UAAM,QAAQ;AAMd,UAAM,EAAE,YAAY,cAAc,eAAe,YAAA,IAAgB,SAAS,KAAK;AAGnD,QAAI,KAAK;AACrC,UAAM,aAAa,IAAW,EAAE;AAEhC,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACH;AAED,gBAAY,MAAM;AACd,oBAAc;AAAA,QACV,OAAO,MAAM,MAAM,QAAQ,iBAAiB,IAAI;AAAA,MAAA,CACnD;AAAA,IACL,CAAC;AAED,UAAM,EAAE,UAAU,SAAA,IAAa,YAAY;AAAA,MACvC,OAAO;AAAA,QACH,QAAQ,MAAM,MAAM,QAAQ;AAAA,QAC5B,eAAe,MAAM,MAAM,QAAQ;AAAA,MAAA;AAAA,MAEvC,QAAQ;AAAA,QACJ,uBAAuB,CAAA,SAAQ;AAC3B,gBAAM,EAAE,OAAO,YAAA,IAAgB,KAAK;AACpC,cAAI,OAAO;AACP,kBAAM,SAAS,MAAM,MAAM,QAAQ,aAAa;AAAA,cAC5C,CAAA,SAAQ,KAAK,cAAc;AAAA,YAAA;AAE/B,mBAAO,cAAc;AACrB,mBAAO,QAAQ;AAAA,UACnB;AAAA,QACJ;AAAA,MAAA;AAAA,IACJ,CACH;AA0BD,UAAM,iBAAiB,MAAM;AACzB,YAAM,eAAe,MAAM,MAAM,QAAQ,gBAAgB,CAAA;AACzD,UAAI,aAAa,SAAS,GAAG;AACzB,mBAAW,QAAQ,aAAa,IAAI,CAAA,SAAQ;AAAA,UACxC,GAAG;AAAA,UACH,SAAS,IAAI,SAAS;AAAA,UACtB,OAAO,IAAI,SAAS,IAAI;AAAA,QAAA,EAC1B;AAAA,MACN;AAAA,IACJ;AAiBA,gBAAY,MAAM;AACd,UAAI,SAAS,OAAO;AAChB,oBAAY,SAAS,KAAK;AAAA,MAC9B;AAAA,IACJ,CAAC;AAED,cAAU,MAAM;AACZ,yBAAA;AACA,qBAAA;AAAA,IACJ,CAAC;AAED,aAAa;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,aAAa,SAAS;AAAA,IAAA,CACzB;;cA3IiCA,MAAA,YAAA,kBAAlCC,mBAQM,OAAA;AAAA;QARD,OAAM;AAAA,QAAsC,+BAAgBD,MAAA,UAAA,GAAU;AAAA,MAAA;QACvEE,YAMEF,MAAA,KAAA,GAAA;AAAA,UALG,YAAYA,MAAA,UAAA;AAAA,UACZ,YAAUA,MAAA,QAAA;AAAA,UACV,SAASA,MAAA,SAAA;AAAA,UACT,YAAYA,MAAA,SAAA;AAAA,UACZ,UAAQA,MAAA,iBAAA;AAAA,QAAA;;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import _sfc_main from "./grid-col-widget.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const GridColWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-aac76d55"]]);
|
|
5
|
+
export {
|
|
6
|
+
GridColWidget as default
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=grid-col-widget.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-col-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { defineComponent, mergeModels, useModel, computed, reactive, resolveComponent, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, mergeProps, withModifiers, unref, withCtx, createVNode } from "vue";
|
|
2
|
-
import {
|
|
2
|
+
import { useDesigner } from "../../../../../core/src/hooks/useDesigner.js";
|
|
3
|
+
import { useWidget } from "../../../../../core/src/hooks/useWidget.js";
|
|
4
|
+
import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
|
|
5
|
+
import RenderWidgetList from "../../../../../core/src/components/common/RenderWidgetList.vue.js";
|
|
6
|
+
import WidgetContextMenu from "../../../../../core/src/components/contextMenu/WidgetContextMenu.vue.js";
|
|
3
7
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
4
8
|
...{
|
|
5
9
|
name: ContainerTypeEnum.GridColWidget,
|
|
@@ -25,15 +29,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
25
29
|
setup(__props) {
|
|
26
30
|
const props = __props;
|
|
27
31
|
const list = useModel(__props, "list");
|
|
32
|
+
const { customClass, options } = useWidget(props.widget);
|
|
28
33
|
const { selected, selectWidget } = useDesigner();
|
|
29
34
|
const colHeightStyle = computed(() => {
|
|
30
35
|
return props.colHeight ? { height: props.colHeight } : {};
|
|
31
36
|
});
|
|
32
37
|
const layoutProps = computed(() => ({
|
|
33
|
-
span:
|
|
34
|
-
offset:
|
|
35
|
-
push:
|
|
36
|
-
pull:
|
|
38
|
+
span: options.value.span || 12,
|
|
39
|
+
offset: options.value.offset || 0,
|
|
40
|
+
push: options.value.push || 0,
|
|
41
|
+
pull: options.value.pull || 0
|
|
37
42
|
}));
|
|
38
43
|
const contextMenuState = reactive({
|
|
39
44
|
visible: false,
|
|
@@ -49,7 +54,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
49
54
|
const _component_a_col = resolveComponent("a-col");
|
|
50
55
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
51
56
|
(openBlock(), createBlock(_component_a_col, mergeProps({ class: "grid-cell" }, layoutProps.value, {
|
|
52
|
-
class: [unref(selected)(_ctx.widget.id) ? "selected" : "",
|
|
57
|
+
class: [unref(selected)(_ctx.widget.id) ? "selected" : "", unref(customClass)],
|
|
53
58
|
style: colHeightStyle.value,
|
|
54
59
|
key: _ctx.widget.id,
|
|
55
60
|
onClick: _cache[1] || (_cache[1] = withModifiers(($event) => unref(selectWidget)(_ctx.widget), ["stop"])),
|
|
@@ -80,7 +85,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
80
85
|
};
|
|
81
86
|
}
|
|
82
87
|
});
|
|
83
|
-
const GridColWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-046dd94b"]]);
|
|
84
88
|
export {
|
|
85
|
-
|
|
89
|
+
_sfc_main as default
|
|
86
90
|
};
|
|
91
|
+
//# sourceMappingURL=grid-col-widget.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-col-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-col-widget.vue"],"sourcesContent":["<template>\n <a-col\n class=\"grid-cell\"\n v-bind=\"layoutProps\"\n :class=\"[selected(widget.id) ? 'selected' : '', customClass]\"\n :style=\"colHeightStyle\"\n :key=\"widget.id\"\n @click.stop=\"selectWidget(widget)\"\n @contextmenu.prevent.stop=\"onContextMenu\"\n >\n <RenderWidgetList v-model:list=\"widget.widgetList\" :parentWidget=\"widget\" />\n </a-col>\n <!-- 右键菜单 -->\n <WidgetContextMenu\n v-if=\"contextMenuState.visible\"\n v-model:visible=\"contextMenuState.visible\"\n v-model:list=\"list\"\n :x=\"contextMenuState.x\"\n :y=\"contextMenuState.y\"\n :widget=\"widget\"\n :index=\"indexOfParentList\"\n :parentWidget=\"parentWidget\"\n />\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, reactive, ref } from 'vue';\n import {\n RenderWidgetList,\n useDesigner,\n useWidget,\n Widget,\n WidgetProps\n } from '@kp-ui/lowcode-core';\n import { ComponentNameEnum, ContainerTypeEnum, WidgetContextMenu } from '@kp-ui/lowcode-core';\n\n defineOptions({\n name: ContainerTypeEnum.GridColWidget,\n componentName: ComponentNameEnum.ContainerWidget,\n inheritAttrs: false\n });\n\n const props = withDefaults(\n defineProps<\n WidgetProps & {\n colHeight?: number | string | null;\n }\n >(),\n {\n indexOfParentList: 0,\n colHeight: null\n }\n );\n const list = defineModel<Widget[]>('list', {\n default: () => []\n });\n\n const { customClass, options } = useWidget(props.widget);\n const { selected, selectWidget } = useDesigner();\n\n const colHeightStyle = computed(() => {\n return props.colHeight ? { height: props.colHeight } : {};\n });\n\n const layoutProps = computed(() => ({\n span: options.value.span || 12,\n offset: options.value.offset || 0,\n push: options.value.push || 0,\n pull: options.value.pull || 0\n }));\n\n const contextMenuState = reactive({\n visible: false,\n x: 0,\n y: 0\n });\n\n const onContextMenu = (event: MouseEvent) => {\n contextMenuState.x = event.clientX;\n contextMenuState.y = event.clientY;\n contextMenuState.visible = true;\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .grid-cell {\n min-height: 38px !important;\n //margin: 6px 0; /* 设置了margin,栅格列的offset、push、pull会失效!! */\n padding: 3px;\n border: 1px dashed #336699;\n position: relative;\n &.selected {\n outline: 1px solid var(--ant-primary-color) !important;\n }\n :deep(.widget-wrapper.container-wrapper) {\n border-width: 1px !important;\n &.selected {\n outline: 1px solid var(--ant-primary-color) !important;\n }\n }\n .form-widget-list {\n min-height: 28px;\n }\n\n :deep(.designer-widget-list.empty-list) {\n min-height: 48px;\n .empty-drop-zone {\n height: 42px;\n }\n }\n .grid-col-action {\n position: absolute;\n bottom: 0;\n right: -2px;\n height: 28px;\n line-height: 28px;\n background: var(--ant-primary-4);\n z-index: 999;\n\n i {\n font-size: 14px;\n color: #fff;\n margin: 0 5px;\n cursor: pointer;\n }\n }\n\n .grid-col-handler {\n position: absolute;\n top: -2px;\n left: -2px;\n height: 22px;\n line-height: 22px;\n background: var(--ant-primary-4);\n z-index: 9;\n\n i {\n font-size: 14px;\n font-style: normal;\n color: #fff;\n margin: 4px;\n cursor: default;\n }\n }\n }\n\n .grid-col-action,\n .grid-col-handler {\n :deep(.svg-icon) {\n margin-left: 0.1em;\n margin-right: 0.1em;\n }\n }\n</style>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","_unref","widget","_withModifiers","_createVNode","indexOfParentList","parentWidget"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CI,UAAM,QAAQ;AAWd,UAAM,OAAOA,SAAqB,SAAC,MAElC;AAED,UAAM,EAAE,aAAa,QAAA,IAAY,UAAU,MAAM,MAAM;AACvD,UAAM,EAAE,UAAU,aAAA,IAAiB,YAAA;AAEnC,UAAM,iBAAiB,SAAS,MAAM;AAClC,aAAO,MAAM,YAAY,EAAE,QAAQ,MAAM,UAAA,IAAc,CAAA;AAAA,IAC3D,CAAC;AAED,UAAM,cAAc,SAAS,OAAO;AAAA,MAChC,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,QAAQ,QAAQ,MAAM,UAAU;AAAA,MAChC,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,MAAM,QAAQ,MAAM,QAAQ;AAAA,IAAA,EAC9B;AAEF,UAAM,mBAAmB,SAAS;AAAA,MAC9B,SAAS;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,CACN;AAED,UAAM,gBAAgB,CAAC,UAAsB;AACzC,uBAAiB,IAAI,MAAM;AAC3B,uBAAiB,IAAI,MAAM;AAC3B,uBAAiB,UAAU;AAAA,IAC/B;;;;SAhFAC,UAAA,GAAAC,YAUQ,kBAVRC,WAUQ,EATJ,OAAM,YAAA,GACE,YAAA,OAAW;AAAA,UAClB,QAAQC,MAAA,QAAA,EAASC,YAAO,EAAE,qBAAqBD,MAAA,WAAA,CAAW;AAAA,UAC1D,OAAO,eAAA;AAAA,UACP,KAAKC,KAAAA,OAAO;AAAA,UACZ,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAAC,cAAA,CAAA,WAAOF,MAAA,YAAA,EAAaC,KAAAA,MAAM,GAAA,CAAA,MAAA,CAAA;AAAA,UAC/B,6BAA0B,eAAa,CAAA,WAAA,MAAA,CAAA;AAAA,QAAA;2BAExC,MAA4E;AAAA,YAA5EE,YAA4EH,MAAA,gBAAA,GAAA;AAAA,cAAlD,MAAMC,KAAAA,OAAO;AAAA,cAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,cAAG,cAAcA,KAAAA;AAAAA,YAAAA;;;;QAI5D,iBAAiB,wBAD3BH,YASEE,MAAA,iBAAA,GAAA;AAAA;UAPU,SAAS,iBAAiB;AAAA,UAAjB,oBAAA,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAA,iBAAiB,UAAO;AAAA,UACjC,MAAM,KAAA;AAAA,iEAAA,KAAI,QAAA;AAAA,UACjB,GAAG,iBAAiB;AAAA,UACpB,GAAG,iBAAiB;AAAA,UACpB,QAAQC,KAAAA;AAAAA,UACR,OAAOG,KAAAA;AAAAA,UACP,cAAcC,KAAAA;AAAAA,QAAAA;;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import _sfc_main from "./grid-sub-form-widget.vue2.js";
|
|
2
|
+
import "./grid-sub-form-widget.vue3.js";
|
|
3
|
+
import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const gridSubFormWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-84976375"]]);
|
|
5
|
+
export {
|
|
6
|
+
gridSubFormWidget as default
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=grid-sub-form-widget.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-sub-form-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { defineComponent, createElementBlock, openBlock, createVNode, unref } from "vue";
|
|
2
|
-
import {
|
|
2
|
+
import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
|
|
3
|
+
import RenderWidgetList from "../../../../../core/src/components/common/RenderWidgetList.vue.js";
|
|
3
4
|
const _hoisted_1 = { class: "sub-form-container" };
|
|
4
5
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5
6
|
...{
|
|
@@ -27,7 +28,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
27
28
|
};
|
|
28
29
|
}
|
|
29
30
|
});
|
|
30
|
-
const gridSubFormWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-49c81f5e"]]);
|
|
31
31
|
export {
|
|
32
|
-
|
|
32
|
+
_sfc_main as default
|
|
33
33
|
};
|
|
34
|
+
//# sourceMappingURL=grid-sub-form-widget.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-sub-form-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue"],"sourcesContent":["<template>\n <div class=\"sub-form-container\">\n <RenderWidgetList v-model:list=\"widget.widgetList\" :parentWidget=\"widget\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, ContainerTypeEnum, RenderWidgetList } from '@kp-ui/lowcode-core';\n import { GridSubFormWidget } from '../../widget-panel/containers';\n import { WidgetProps } from '@kp-ui/lowcode-core';\n const props = defineProps<WidgetProps<GridSubFormWidget>>();\n defineOptions({\n name: ContainerTypeEnum.GridSubFormWidget,\n componentName: ComponentNameEnum.ContainerWidget\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .sub-form-container {\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createVNode","_unref","widget"],"mappings":";;;;;;;;;;;;;;;;;;;;AACI,aAAAA,UAAA,GAAAC,mBAEM,OAFN,YAEM;AAAA,QADFC,YAA4EC,MAAA,gBAAA,GAAA;AAAA,UAAlD,MAAMC,KAAAA,OAAO;AAAA,UAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,UAAG,cAAcA,KAAAA;AAAAA,QAAAA;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-sub-form-widget.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import _sfc_main from "./grid-widget.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const gridWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d41dbfac"]]);
|
|
5
|
+
export {
|
|
6
|
+
gridWidget as default
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=grid-widget.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { defineComponent, resolveComponent, createElementBlock, openBlock, createBlock, withCtx, Fragment, renderList } from "vue";
|
|
2
|
-
import GridColWidget from "./grid-col-widget.
|
|
3
|
-
import {
|
|
1
|
+
import { defineComponent, resolveComponent, createElementBlock, openBlock, createBlock, unref, withCtx, Fragment, renderList } from "vue";
|
|
2
|
+
import GridColWidget from "./grid-col-widget.vue.js";
|
|
3
|
+
import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
|
|
4
|
+
import { useField } from "../../../../../core/src/hooks/useField.js";
|
|
4
5
|
const _hoisted_1 = { class: "grid-container" };
|
|
5
6
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
7
|
...{
|
|
@@ -17,14 +18,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
17
18
|
subFormRowId: {}
|
|
18
19
|
},
|
|
19
20
|
setup(__props) {
|
|
20
|
-
const
|
|
21
|
-
|
|
21
|
+
const props = __props;
|
|
22
|
+
const { options } = useField(props, false);
|
|
22
23
|
return (_ctx, _cache) => {
|
|
23
24
|
const _component_a_row = resolveComponent("a-row");
|
|
24
25
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
25
26
|
(openBlock(), createBlock(_component_a_row, {
|
|
26
27
|
key: _ctx.widget.id,
|
|
27
|
-
gutter: _ctx.widget.options.gutter
|
|
28
|
+
gutter: _ctx.widget.options.gutter,
|
|
29
|
+
justify: unref(options).gridJustify ?? "start",
|
|
30
|
+
align: unref(options).gridAlign ?? "top",
|
|
31
|
+
wrap: unref(options).gridWrap ?? true
|
|
28
32
|
}, {
|
|
29
33
|
default: withCtx(() => [
|
|
30
34
|
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.widget.cols, (colWidget, colIdx) => {
|
|
@@ -41,12 +45,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
41
45
|
}), 128))
|
|
42
46
|
]),
|
|
43
47
|
_: 1
|
|
44
|
-
}, 8, ["gutter"]))
|
|
48
|
+
}, 8, ["gutter", "justify", "align", "wrap"]))
|
|
45
49
|
]);
|
|
46
50
|
};
|
|
47
51
|
}
|
|
48
52
|
});
|
|
49
|
-
const gridWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-40047deb"]]);
|
|
50
53
|
export {
|
|
51
|
-
|
|
54
|
+
_sfc_main as default
|
|
52
55
|
};
|
|
56
|
+
//# sourceMappingURL=grid-widget.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-widget.vue"],"sourcesContent":["<template>\n <div class=\"grid-container\">\n <a-row\n :key=\"widget.id\"\n :gutter=\"widget.options.gutter\"\n :justify=\"options.gridJustify ?? 'start'\"\n :align=\"options.gridAlign ?? 'top'\"\n :wrap=\"options.gridWrap ?? true\"\n >\n <grid-col-widget\n v-for=\"(colWidget, colIdx) in widget.cols\"\n :key=\"colWidget.id\"\n :field=\"colWidget\"\n :widget=\"colWidget\"\n v-model:list=\"widget.cols\"\n :index-of-parent-list=\"colIdx\"\n :parent-widget=\"widget\"\n :col-height=\"widget.options.colHeight\"\n />\n </a-row>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import GridColWidget from './grid-col-widget.vue';\n import {\n ContainerTypeEnum,\n ComponentNameEnum,\n WidgetProps,\n useField\n } from '@kp-ui/lowcode-core';\n import { GridWidget } from '../../widget-panel/containers';\n\n const props = defineProps<WidgetProps<GridWidget>>();\n defineOptions({\n name: ContainerTypeEnum.grid,\n componentName: ComponentNameEnum.ContainerWidget\n });\n\n const { options } = useField(props, false);\n</script>\n\n<style lang=\"scss\" scoped>\n .grid-container {\n min-height: 50px;\n padding: 3px;\n\n .form-widget-list {\n min-height: 28px;\n }\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createBlock","widget","_unref","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;AAiCI,UAAM,QAAQ;AAMd,UAAM,EAAE,QAAA,IAAY,SAAS,OAAO,KAAK;;;AAtCzC,aAAAA,UAAA,GAAAC,mBAmBM,OAnBN,YAmBM;AAAA,sBAlBFC,YAiBQ,kBAAA;AAAA,UAhBH,KAAKC,KAAAA,OAAO;AAAA,UACZ,QAAQA,KAAAA,OAAO,QAAQ;AAAA,UACvB,SAASC,MAAA,OAAA,EAAQ,eAAW;AAAA,UAC5B,OAAOA,MAAA,OAAA,EAAQ,aAAS;AAAA,UACxB,MAAMA,MAAA,OAAA,EAAQ,YAAQ;AAAA,QAAA;2BAGnB,MAA0C;AAAA,aAD9CJ,UAAA,IAAA,GAAAC,mBASEI,2BARgCF,KAAAA,OAAO,MAAI,CAAjC,WAAW,WAAM;kCAD7BD,YASE,eAAA;AAAA,gBAPG,KAAK,UAAU;AAAA,gBACf,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACD,MAAMC,KAAAA,OAAO;AAAA,gBAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,OAAI;AAAA,gBACxB,wBAAsB;AAAA,gBACtB,iBAAeA,KAAAA;AAAAA,gBACf,cAAYA,KAAAA,OAAO,QAAQ;AAAA,cAAA;;;;;;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { defineAsyncComponent } from "vue";
|
|
2
|
+
import { ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
|
|
3
|
+
({
|
|
4
|
+
[ContainerTypeEnum.GridColWidget]: defineAsyncComponent(() => import("./grid-col-widget.vue.js")),
|
|
5
|
+
[ContainerTypeEnum.grid]: defineAsyncComponent(() => import("./grid-widget.vue.js")),
|
|
6
|
+
[ContainerTypeEnum.DataTable]: defineAsyncComponent(() => import("./data-table-widget.vue.js")),
|
|
7
|
+
[ContainerTypeEnum.GridSubFormWidget]: defineAsyncComponent(
|
|
8
|
+
() => import("./grid-sub-form-widget.vue.js")
|
|
9
|
+
),
|
|
10
|
+
[ContainerTypeEnum.Tab]: defineAsyncComponent(() => import("./tab-widget.vue.js")),
|
|
11
|
+
[ContainerTypeEnum.VfCollapseWidget]: defineAsyncComponent(
|
|
12
|
+
() => import("./vf-collapse-widget.vue.js")
|
|
13
|
+
),
|
|
14
|
+
[ContainerTypeEnum.VfDialogWidget]: defineAsyncComponent(
|
|
15
|
+
() => import("./vf-dialog-widget.vue.js")
|
|
16
|
+
),
|
|
17
|
+
[ContainerTypeEnum.VfBoxWidget]: defineAsyncComponent(() => import("./vf-box-widget.vue.js"))
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/index.ts"],"sourcesContent":["import { ContainerTypeEnum } from '@kp-ui/lowcode-core';\nimport { defineAsyncComponent } from 'vue';\n\nexport const RenderDesignerWidgetList = {\n [ContainerTypeEnum.GridColWidget]: defineAsyncComponent(() => import('./grid-col-widget.vue')),\n [ContainerTypeEnum.grid]: defineAsyncComponent(() => import('./grid-widget.vue')),\n [ContainerTypeEnum.DataTable]: defineAsyncComponent(() => import('./data-table-widget.vue')),\n [ContainerTypeEnum.GridSubFormWidget]: defineAsyncComponent(\n () => import('./grid-sub-form-widget.vue')\n ),\n [ContainerTypeEnum.Tab]: defineAsyncComponent(() => import('./tab-widget.vue')),\n [ContainerTypeEnum.VfCollapseWidget]: defineAsyncComponent(\n () => import('./vf-collapse-widget.vue')\n ),\n [ContainerTypeEnum.VfDialogWidget]: defineAsyncComponent(\n () => import('./vf-dialog-widget.vue')\n ),\n [ContainerTypeEnum.VfBoxWidget]: defineAsyncComponent(() => import('./vf-box-widget.vue'))\n};\n"],"names":[],"mappings":";;CAGwC;AAAA,EACpC,CAAC,kBAAkB,aAAa,GAAG,qBAAqB,MAAM,OAAO,0BAAuB,CAAC;AAAA,EAC7F,CAAC,kBAAkB,IAAI,GAAG,qBAAqB,MAAM,OAAO,sBAAmB,CAAC;AAAA,EAChF,CAAC,kBAAkB,SAAS,GAAG,qBAAqB,MAAM,OAAO,4BAAyB,CAAC;AAAA,EAC3F,CAAC,kBAAkB,iBAAiB,GAAG;AAAA,IACnC,MAAM,OAAO,+BAA4B;AAAA,EAAA;AAAA,EAE7C,CAAC,kBAAkB,GAAG,GAAG,qBAAqB,MAAM,OAAO,qBAAkB,CAAC;AAAA,EAC9E,CAAC,kBAAkB,gBAAgB,GAAG;AAAA,IAClC,MAAM,OAAO,6BAA0B;AAAA,EAAA;AAAA,EAE3C,CAAC,kBAAkB,cAAc,GAAG;AAAA,IAChC,MAAM,OAAO,2BAAwB;AAAA,EAAA;AAAA,EAEzC,CAAC,kBAAkB,WAAW,GAAG,qBAAqB,MAAM,OAAO,wBAAqB,CAAC;AAC7F;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import _sfc_main from "./tab-widget.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const tabWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3280ee5e"]]);
|
|
5
|
+
export {
|
|
6
|
+
tabWidget as default
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=tab-widget.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|