@kp-ui/lowcode 2.15.0-beta.7 → 2.16.0-alpha.3
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/install.js +18 -16
- package/install.js.map +1 -1
- package/package.json +3 -6
- package/src/components/FormRender/FormContainer.vue.js +55 -0
- package/src/components/FormRender/FormContainer.vue.js.map +1 -0
- package/src/components/FormRender/FormContainer.vue2.js +5 -0
- package/src/components/FormRender/FormContainer.vue2.js.map +1 -0
- package/src/components/FormRender/index.vue.js +2 -2
- package/src/components/FormRender/index.vue2.js +35 -40
- package/src/components/FormRender/index.vue2.js.map +1 -1
- package/src/components/FormRender/useFormContext.js +128 -120
- package/src/components/FormRender/useFormContext.js.map +1 -1
- package/src/components/{designer.js → form-designer/designer.js} +76 -71
- package/src/components/form-designer/designer.js.map +1 -0
- package/src/components/form-designer/form-widget/RenderDesignerWigetList.vue.js +1 -1
- package/src/components/form-designer/form-widget/RenderDesignerWigetList.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/useTableWidget.js +116 -114
- package/src/components/form-designer/form-widget/container-widget/useTableWidget.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js +2 -2
- package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue2.js +18 -19
- package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js +2 -2
- package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue2.js +22 -16
- package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue.js +8 -0
- package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue.js.map +1 -0
- package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue2.js +58 -0
- package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue2.js.map +1 -0
- package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js +1 -1
- package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js +1 -1
- package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/index.js +1 -1
- package/src/components/form-designer/form-widget/field-widget/index.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue2.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/useField.js +140 -140
- package/src/components/form-designer/form-widget/field-widget/useField.js.map +1 -1
- package/src/components/form-designer/form-widget/index.vue.js +2 -2
- package/src/components/form-designer/form-widget/index.vue2.js +56 -47
- package/src/components/form-designer/form-widget/index.vue2.js.map +1 -1
- package/src/components/form-designer/form-widget/useFormDesigner.js +34 -0
- package/src/components/form-designer/form-widget/useFormDesigner.js.map +1 -0
- package/src/components/form-designer/index.vue.js +77 -74
- package/src/components/form-designer/index.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/form-setting.vue.js +2 -2
- package/src/components/form-designer/setting-panel/form-setting.vue2.js +100 -126
- package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/index.vue.js +1 -1
- package/src/components/form-designer/setting-panel/index.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/index.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/option-items-setting.vue.js +2 -2
- package/src/components/form-designer/setting-panel/option-items-setting.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/option-items-setting.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue2.js +255 -201
- package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js +45 -39
- package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js +2 -2
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js +2 -2
- package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue.js +32 -0
- package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue.js.map +1 -0
- package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue.js +32 -0
- package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue.js.map +1 -0
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/cancelButtonLabel-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/height-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue.js +5 -0
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue.js.map +1 -0
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue2.js +38 -0
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue2.js.map +1 -0
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue.js +5 -0
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue.js.map +1 -0
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue2.js +38 -0
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue2.js.map +1 -0
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue2.js +10 -10
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/event-handler/onTableChange-editor.vue2.js +4 -4
- package/src/components/form-designer/setting-panel/property-editor/event-handler/onTableChange-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/field-slider/range-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/field-slider/range-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/field-switch/switch-defaultValue-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/field-switch/switch-defaultValue-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/index.js +178 -176
- package/src/components/form-designer/setting-panel/property-editor/index.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/multiple-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue2.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/type-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/useEditor.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/useEditor.js.map +1 -1
- package/src/components/form-designer/setting-panel/propertyRegister.js +12 -12
- package/src/components/form-designer/setting-panel/propertyRegister.js.map +1 -1
- package/src/components/form-designer/toolbar-panel/PreviewDialog.vue.js +1 -1
- package/src/components/form-designer/toolbar-panel/PreviewDialog.vue.js.map +1 -1
- package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
- package/src/components/form-designer/toolbar-panel/index.vue2.js +177 -137
- package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
- package/src/components/form-designer/widget-panel/PanelItemDrag.vue.js +50 -0
- package/src/components/form-designer/widget-panel/PanelItemDrag.vue.js.map +1 -0
- package/src/components/form-designer/widget-panel/containers/vf-box.js +1 -4
- package/src/components/form-designer/widget-panel/containers/vf-box.js.map +1 -1
- package/src/components/form-designer/widget-panel/containers/vf-dialog.js +34 -10
- package/src/components/form-designer/widget-panel/containers/vf-dialog.js.map +1 -1
- package/src/components/form-designer/widget-panel/index.vue.js +2 -2
- package/src/components/form-designer/widget-panel/index.vue2.js +34 -74
- package/src/components/form-designer/widget-panel/index.vue2.js.map +1 -1
- package/src/components/form-render/container-items/data-table-widget.vue.js +1 -1
- package/src/components/form-render/container-items/data-table-widget.vue2.js +60 -61
- package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -1
- package/src/components/form-render/dynamic-dialog.vue.js +72 -76
- package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
- package/src/components/public/ActionButtonListDialog.vue.js +1 -1
- package/src/components/public/ActionButtonListDialog.vue2.js +115 -94
- package/src/components/public/ActionButtonListDialog.vue2.js.map +1 -1
- package/src/components/public/ActionButtonListRender.vue.js +15 -13
- package/src/components/public/ActionButtonListRender.vue.js.map +1 -1
- package/src/components/public/ActionButtonListRender.vue2.js +35 -25
- package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
- package/src/constants/EditorTypeEnum.js +1 -1
- package/src/constants/EditorTypeEnum.js.map +1 -1
- package/src/constants/WidgetTypeEnum.js +3 -4
- package/src/constants/WidgetTypeEnum.js.map +1 -1
- package/src/hooks/useLowcode.js.map +1 -1
- package/src/lang/en-US.js +2 -1
- package/src/lang/en-US.js.map +1 -1
- package/src/lang/zh-CN.js +4 -5
- package/src/lang/zh-CN.js.map +1 -1
- package/src/utils/util.js +22 -21
- package/src/utils/util.js.map +1 -1
- package/stats.html +1 -1
- package/styles/style.css +1 -1
- package/src/components/FormRender/FormContainer.js +0 -52
- package/src/components/FormRender/FormContainer.js.map +0 -1
- package/src/components/bi-widget/echartBar/echart-bar-widget.vue.js +0 -8
- package/src/components/bi-widget/echartBar/echart-bar-widget.vue.js.map +0 -1
- package/src/components/bi-widget/echartBar/echart-bar-widget.vue2.js +0 -43
- package/src/components/bi-widget/echartBar/echart-bar-widget.vue2.js.map +0 -1
- package/src/components/bi-widget/echartBar/echart-bar.js +0 -35
- package/src/components/bi-widget/echartBar/echart-bar.js.map +0 -1
- package/src/components/bi-widget/index.js +0 -13
- package/src/components/bi-widget/index.js.map +0 -1
- package/src/components/designer.js.map +0 -1
- package/src/components/form-designer/form-widget/RenderDesignerPC.vue.js +0 -26
- package/src/components/form-designer/form-widget/RenderDesignerPC.vue.js.map +0 -1
- package/src/components/form-designer/form-widget/RenderDesignerPC.vue2.js +0 -5
- package/src/components/form-designer/form-widget/RenderDesignerPC.vue2.js.map +0 -1
- package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue.js +0 -8
- package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue.js.map +0 -1
- package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue2.js +0 -68
- package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue2.js.map +0 -1
- package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue.js +0 -8
- package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue.js.map +0 -1
- package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue2.js +0 -136
- package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue2.js.map +0 -1
- package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue.js +0 -8
- package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue.js.map +0 -1
- package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue2.js +0 -153
- package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue2.js.map +0 -1
- package/src/components/form-designer/form-widget/bi/useRuler.js +0 -66
- package/src/components/form-designer/form-widget/bi/useRuler.js.map +0 -1
- package/src/components/form-designer/setting-panel/panel/PanelItemDrag.vue.js +0 -51
- package/src/components/form-designer/setting-panel/panel/PanelItemDrag.vue.js.map +0 -1
- package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue.js +0 -51
- package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue.js.map +0 -1
- package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue2.js +0 -5
- package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue2.js.map +0 -1
- package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue.js +0 -5
- package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue.js.map +0 -1
- package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue2.js +0 -71
- package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue2.js.map +0 -1
- package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue.js +0 -5
- package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue.js.map +0 -1
- package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue2.js +0 -81
- package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue2.js.map +0 -1
- package/src/constants/LayoutTypeEnum.js +0 -5
- package/src/constants/LayoutTypeEnum.js.map +0 -1
- package/src/hooks/useDesigner.js +0 -51
- package/src/hooks/useDesigner.js.map +0 -1
- /package/src/components/form-designer/{setting-panel/panel → widget-panel}/PanelItemDrag.vue2.js +0 -0
- /package/src/components/form-designer/{setting-panel/panel → widget-panel}/PanelItemDrag.vue2.js.map +0 -0
|
@@ -1,20 +1,18 @@
|
|
|
1
|
-
import { defineComponent as z,
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { createDesigner as
|
|
7
|
-
import { useLocaleStore as
|
|
8
|
-
import { deepClone as
|
|
9
|
-
import { isEmpty as
|
|
1
|
+
import { defineComponent as z, ref as l, provide as s, computed as G, watch as K, onMounted as Q, resolveComponent as a, createBlock as X, openBlock as Y, withCtx as r, createVNode as n, createSlots as Z, renderList as j, renderSlot as O, createElementVNode as ee } from "vue";
|
|
2
|
+
import te from "./widget-panel/index.vue.js";
|
|
3
|
+
import oe from "./toolbar-panel/index.vue.js";
|
|
4
|
+
import ne from "./setting-panel/index.vue.js";
|
|
5
|
+
import re from "./form-widget/index.vue.js";
|
|
6
|
+
import { createDesigner as ie } from "./designer.js";
|
|
7
|
+
import { useLocaleStore as le } from "@kp-ui/i18n";
|
|
8
|
+
import { deepClone as F, getAllFieldWidgets as w, getAllContainerWidgets as L } from "../../utils/util.js";
|
|
9
|
+
import { isEmpty as b, set as se } from "lodash-es";
|
|
10
10
|
import { useI18n as D } from "../../utils/i18n.js";
|
|
11
|
-
import { message as
|
|
12
|
-
import { storeToRefs as
|
|
13
|
-
import { useExecFunction as
|
|
14
|
-
import { useEmitter as
|
|
15
|
-
|
|
16
|
-
import { getLocat as me } from "@kp-ui/tool";
|
|
17
|
-
const ce = { class: "container-scroll-bar" }, be = /* @__PURE__ */ z({
|
|
11
|
+
import { message as J } from "ant-design-vue";
|
|
12
|
+
import { storeToRefs as ae } from "pinia";
|
|
13
|
+
import { useExecFunction as de, useRef as fe } from "tmgc2-share";
|
|
14
|
+
import { useEmitter as ge } from "../../utils/useEmitter.js";
|
|
15
|
+
const ue = { class: "container-scroll-bar" }, Je = /* @__PURE__ */ z({
|
|
18
16
|
name: "VFormDesigner",
|
|
19
17
|
componentName: "VFormDesigner",
|
|
20
18
|
__name: "index",
|
|
@@ -37,105 +35,108 @@ const ce = { class: "container-scroll-bar" }, be = /* @__PURE__ */ z({
|
|
|
37
35
|
}) },
|
|
38
36
|
globalDsv: { default: () => ({}) }
|
|
39
37
|
},
|
|
40
|
-
setup(
|
|
41
|
-
const { i18nt: c } = D(),
|
|
42
|
-
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
i("formData", v), i("formConfig", V), i("designer", o), i("getDesignerConfig", () => d.designerConfig), i("layoutType", h), o.value.changeLayoutType(h.value);
|
|
48
|
-
const P = (e) => {
|
|
49
|
-
if (!A(e))
|
|
38
|
+
setup(A, { expose: R }) {
|
|
39
|
+
const m = l(), { i18nt: c } = D(), S = le(), { locale: p } = ae(S), d = A, f = ge(), { context: E } = de();
|
|
40
|
+
s("serverFieldList", () => v.value), s("designState", !0);
|
|
41
|
+
const g = l(270), u = l(300), v = l([]), { initLocale: B } = D(), o = l(ie(E)), V = G(() => o.value.formConfig), h = l({});
|
|
42
|
+
s("formData", h), s("formConfig", V), s("designer", o), s("getDesignerConfig", () => d.designerConfig);
|
|
43
|
+
const $ = (e) => {
|
|
44
|
+
if (!b(e))
|
|
50
45
|
try {
|
|
51
46
|
if (!e || !e.formConfig)
|
|
52
47
|
throw new Error(c("designer.hint.invalidJsonFormat"));
|
|
53
48
|
o.value.loadFormJson(e), o.value.emitHistoryChange(), o.value.emitEvent("form-json-imported", []);
|
|
54
49
|
} catch (t) {
|
|
55
|
-
|
|
50
|
+
J.error(t + "");
|
|
56
51
|
}
|
|
57
|
-
},
|
|
58
|
-
d.fieldListApi && (
|
|
59
|
-
},
|
|
60
|
-
if (!
|
|
52
|
+
}, k = async () => {
|
|
53
|
+
d.fieldListApi && (v.value = await d.fieldListApi());
|
|
54
|
+
}, x = (e) => {
|
|
55
|
+
if (!b(e))
|
|
61
56
|
try {
|
|
62
57
|
let t = !1;
|
|
63
58
|
typeof e == "string" ? t = o.value.loadFormJson(JSON.parse(e)) : e.constructor === Object && (t = o.value.loadFormJson(e)), t && o.value.emitHistoryChange();
|
|
64
59
|
} catch (t) {
|
|
65
|
-
|
|
60
|
+
J.error(t + "");
|
|
66
61
|
}
|
|
67
62
|
}, H = () => ({
|
|
68
|
-
widgetList:
|
|
69
|
-
formConfig:
|
|
70
|
-
}),
|
|
71
|
-
|
|
72
|
-
|
|
63
|
+
widgetList: F(o.value.widgetList),
|
|
64
|
+
formConfig: F(o.value.formConfig)
|
|
65
|
+
}), P = (e = []) => e.length ? w(e) : w(o.value.widgetList), U = (e = []) => e.length ? L(e) : L(o.value.widgetList), I = (e, t = !1) => m.value.getWidgetRef(e, t);
|
|
66
|
+
K(
|
|
67
|
+
p,
|
|
73
68
|
() => {
|
|
74
|
-
|
|
69
|
+
B(p.value);
|
|
75
70
|
},
|
|
76
71
|
{
|
|
77
72
|
immediate: !0
|
|
78
73
|
}
|
|
79
74
|
);
|
|
80
|
-
const [
|
|
81
|
-
|
|
82
|
-
console.log("fieldChange", e, t), typeof e < "u" && typeof t < "u" &&
|
|
75
|
+
const [M, N] = fe(!1), T = () => {
|
|
76
|
+
f.off$("fieldChange"), f.on$("fieldChange", ({ fieldName: e, value: t }) => {
|
|
77
|
+
console.log("fieldChange", e, t), typeof e < "u" && typeof t < "u" && se(h.value, e, t);
|
|
83
78
|
});
|
|
84
79
|
};
|
|
85
|
-
return
|
|
86
|
-
|
|
87
|
-
}),
|
|
88
|
-
...
|
|
80
|
+
return Q(() => {
|
|
81
|
+
o.value.initDesigner(), T(), k();
|
|
82
|
+
}), R({
|
|
83
|
+
...f,
|
|
89
84
|
i18nt: c,
|
|
90
|
-
isLoading:
|
|
91
|
-
setLoading:
|
|
92
|
-
|
|
93
|
-
|
|
85
|
+
isLoading: M,
|
|
86
|
+
setLoading: N,
|
|
87
|
+
getWidgetRef: I,
|
|
88
|
+
getContainerWidgets: U,
|
|
89
|
+
getFieldWidgets: P,
|
|
94
90
|
getFormJson: H,
|
|
95
|
-
setFormJson:
|
|
96
|
-
setJsonImport:
|
|
91
|
+
setFormJson: x,
|
|
92
|
+
setJsonImport: $
|
|
97
93
|
}), (e, t) => {
|
|
98
|
-
const
|
|
99
|
-
return
|
|
94
|
+
const C = a("a-layout-sider"), q = a("a-layout-header"), y = a("a-layout-content"), _ = a("a-layout");
|
|
95
|
+
return Y(), X(_, { class: "main-container full-height" }, {
|
|
100
96
|
default: r(() => [
|
|
101
97
|
n(_, null, {
|
|
102
98
|
default: r(() => [
|
|
103
|
-
n(
|
|
104
|
-
width:
|
|
99
|
+
n(C, {
|
|
100
|
+
width: g.value,
|
|
105
101
|
class: "side-panel"
|
|
106
102
|
}, {
|
|
107
103
|
default: r(() => [
|
|
108
|
-
n(
|
|
104
|
+
n(te)
|
|
109
105
|
]),
|
|
110
106
|
_: 1
|
|
111
107
|
}, 8, ["width"]),
|
|
112
|
-
n(
|
|
108
|
+
n(y, { class: "center-layout-container" }, {
|
|
113
109
|
default: r(() => [
|
|
114
110
|
n(q, { class: "toolbar-header" }, {
|
|
115
111
|
default: r(() => [
|
|
116
|
-
n(
|
|
112
|
+
n(oe, {
|
|
117
113
|
saveJsonApi: e.saveJsonApi,
|
|
118
114
|
"global-dsv": e.globalDsv,
|
|
119
|
-
leftWidth:
|
|
120
|
-
"onUpdate:leftWidth": t[0] || (t[0] = (
|
|
121
|
-
rightWidth:
|
|
122
|
-
"onUpdate:rightWidth": t[1] || (t[1] = (
|
|
115
|
+
leftWidth: g.value,
|
|
116
|
+
"onUpdate:leftWidth": t[0] || (t[0] = (i) => g.value = i),
|
|
117
|
+
rightWidth: u.value,
|
|
118
|
+
"onUpdate:rightWidth": t[1] || (t[1] = (i) => u.value = i),
|
|
123
119
|
ref: "toolbarRef"
|
|
124
|
-
},
|
|
125
|
-
|
|
126
|
-
name:
|
|
120
|
+
}, Z({ _: 2 }, [
|
|
121
|
+
j(e.$slots, (i, W) => ({
|
|
122
|
+
name: W,
|
|
127
123
|
fn: r(() => [
|
|
128
|
-
|
|
124
|
+
O(e.$slots, W)
|
|
129
125
|
])
|
|
130
126
|
}))
|
|
131
127
|
]), 1032, ["saveJsonApi", "global-dsv", "leftWidth", "rightWidth"])
|
|
132
128
|
]),
|
|
133
129
|
_: 3
|
|
134
130
|
}),
|
|
135
|
-
n(
|
|
131
|
+
n(y, { class: "form-widget-main" }, {
|
|
136
132
|
default: r(() => [
|
|
137
|
-
|
|
138
|
-
n(
|
|
133
|
+
ee("div", ue, [
|
|
134
|
+
n(re, {
|
|
135
|
+
"global-dsv": e.globalDsv,
|
|
136
|
+
"form-config": o.value.formConfig,
|
|
137
|
+
ref_key: "formRef",
|
|
138
|
+
ref: m
|
|
139
|
+
}, null, 8, ["global-dsv", "form-config"])
|
|
139
140
|
])
|
|
140
141
|
]),
|
|
141
142
|
_: 1
|
|
@@ -143,12 +144,14 @@ const ce = { class: "container-scroll-bar" }, be = /* @__PURE__ */ z({
|
|
|
143
144
|
]),
|
|
144
145
|
_: 3
|
|
145
146
|
}),
|
|
146
|
-
n(
|
|
147
|
+
n(C, { width: u.value }, {
|
|
147
148
|
default: r(() => [
|
|
148
|
-
n(
|
|
149
|
+
n(ne, {
|
|
149
150
|
"selected-widget": o.value.selectedWidget,
|
|
150
|
-
"onUpdate:selectedWidget": t[2] || (t[2] = (
|
|
151
|
-
|
|
151
|
+
"onUpdate:selectedWidget": t[2] || (t[2] = (i) => o.value.selectedWidget = i),
|
|
152
|
+
"global-dsv": e.globalDsv,
|
|
153
|
+
"form-config": o.value.formConfig
|
|
154
|
+
}, null, 8, ["selected-widget", "global-dsv", "form-config"])
|
|
152
155
|
]),
|
|
153
156
|
_: 1
|
|
154
157
|
}, 8, ["width"])
|
|
@@ -162,6 +165,6 @@ const ce = { class: "container-scroll-bar" }, be = /* @__PURE__ */ z({
|
|
|
162
165
|
}
|
|
163
166
|
});
|
|
164
167
|
export {
|
|
165
|
-
|
|
168
|
+
Je as default
|
|
166
169
|
};
|
|
167
170
|
//# sourceMappingURL=index.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.js","sources":["../../../../src/components/form-designer/index.vue"],"sourcesContent":["<template>\n <a-layout class=\"main-container full-height\">\n <a-layout>\n <a-layout-sider :width=\"leftWidth\" class=\"side-panel\">\n <WidgetPanel />\n </a-layout-sider>\n\n <a-layout-content class=\"center-layout-container\">\n <a-layout-header class=\"toolbar-header\">\n <toolbar-panel\n :saveJsonApi=\"saveJsonApi\"\n :global-dsv=\"globalDsv\"\n v-model:leftWidth=\"leftWidth\"\n v-model:rightWidth=\"rightWidth\"\n ref=\"toolbarRef\"\n >\n <template v-for=\"(idx, slotName) in $slots\" #[slotName]>\n <slot :name=\"slotName\"></slot>\n </template>\n </toolbar-panel>\n </a-layout-header>\n <a-layout-content class=\"form-widget-main\">\n <div class=\"container-scroll-bar\">\n <VFormWidget />\n </div>\n </a-layout-content>\n </a-layout-content>\n <a-layout-sider :width=\"rightWidth\">\n <setting-panel v-model:selected-widget=\"designer.selectedWidget\" />\n </a-layout-sider>\n </a-layout>\n </a-layout>\n</template>\n\n<script lang=\"ts\" setup>\n import WidgetPanel from './widget-panel/index.vue';\n import ToolbarPanel from './toolbar-panel/index.vue';\n import SettingPanel from './setting-panel/index.vue';\n import VFormWidget from './form-widget/index.vue';\n import { createDesigner } from '../designer';\n import { useLocaleStore } from '@kp-ui/i18n';\n import { deepClone, getAllContainerWidgets, getAllFieldWidgets } from '@/utils/util';\n import { isEmpty, set } from 'lodash-es';\n import { ref, provide, watch, onMounted, computed } from 'vue';\n import { WidgetTree } from '@/types/schema';\n import { useI18n } from '@/utils/i18n';\n import { message } from 'ant-design-vue';\n import { storeToRefs } from 'pinia';\n import { useExecFunction, useRef } from 'tmgc2-share';\n import { useEmitter } from '@/utils/useEmitter';\n import { LayoutTypeEnum } from '@/constants/LayoutTypeEnum';\n import { getLocat } from '@kp-ui/tool';\n defineOptions({\n name: 'VFormDesigner',\n componentName: 'VFormDesigner'\n });\n\n const { i18nt } = useI18n();\n const localeStore = useLocaleStore();\n const { locale } = storeToRefs(localeStore);\n\n const props = withDefaults(\n defineProps<{\n saveJsonApi: (json: any) => Promise<void>;\n fieldListApi: () => Promise<any[]>;\n designerConfig?: {\n eventCollapse?: boolean;\n widgetNameReadonly?: boolean;\n clearDesignerButton?: boolean;\n previewFormButton?: boolean;\n importJsonButton?: boolean;\n exportJsonButton?: boolean;\n };\n globalDsv?: Record<string, any>;\n }>(),\n {\n designerConfig: () => ({\n eventCollapse: true, //是否显示组件事件属性折叠面板\n widgetNameReadonly: false, //禁止修改组件名称\n clearDesignerButton: true, //是否显示清空设计器按钮\n previewFormButton: true, //是否显示预览表单按钮\n importJsonButton: true, //是否显示导入JSON按钮\n exportJsonButton: true //是否显示导出JSON器按钮\n }),\n globalDsv: () => ({})\n }\n );\n const emitter = useEmitter();\n const { context } = useExecFunction();\n\n provide('serverFieldList', () => fieldList.value);\n provide('designState', true); // 设计态标识\n const leftWidth = ref(270);\n const rightWidth = ref(300);\n const fieldList = ref<any[]>([]);\n const { initLocale } = useI18n();\n const designer = ref(createDesigner(context));\n const formConfig = computed(() => designer.value.formConfig);\n // 状态变量\n const formDataModel = ref<Record<string, any>>({});\n\n const layoutType = computed(() => {\n const { type = LayoutTypeEnum.PC } = getLocat();\n return type;\n });\n\n provide('formData', formDataModel);\n provide('formConfig', formConfig);\n provide('designer', designer);\n provide('getDesignerConfig', () => props.designerConfig);\n provide('layoutType', layoutType);\n\n designer.value.changeLayoutType(layoutType.value);\n\n const setJsonImport = (importObj: WidgetTree) => {\n if (isEmpty(importObj)) return;\n try {\n if (!importObj || !importObj.formConfig) {\n throw new Error(i18nt('designer.hint.invalidJsonFormat'));\n }\n designer.value.loadFormJson(importObj);\n designer.value.emitHistoryChange();\n designer.value.emitEvent('form-json-imported', []);\n } catch (error) {\n message.error(error + '');\n }\n };\n\n const loadFieldListFromServer = async () => {\n if (!props.fieldListApi) {\n return;\n }\n fieldList.value = await props.fieldListApi();\n };\n\n const setFormJson = (formJson: WidgetTree) => {\n if (isEmpty(formJson)) return;\n try {\n let modifiedFlag = false;\n if (typeof formJson === 'string') {\n modifiedFlag = designer.value.loadFormJson(JSON.parse(formJson));\n } else if (formJson.constructor === Object) {\n modifiedFlag = designer.value.loadFormJson(formJson);\n }\n if (modifiedFlag) {\n designer.value.emitHistoryChange();\n }\n } catch (error) {\n message.error(error + '');\n }\n };\n\n const getFormJson = (): WidgetTree => {\n return {\n widgetList: deepClone(designer.value.widgetList),\n formConfig: deepClone(designer.value.formConfig)\n };\n };\n\n const getFieldWidgets = (widgetList = []) => {\n return widgetList.length\n ? getAllFieldWidgets(widgetList)\n : getAllFieldWidgets(designer.value.widgetList);\n };\n\n /**\n * 获取所有容器组件\n * @returns {*[]}\n */\n const getContainerWidgets = (widgetList = []) => {\n return widgetList.length\n ? getAllContainerWidgets(widgetList)\n : getAllContainerWidgets(designer.value.widgetList);\n };\n\n watch(\n locale,\n () => {\n initLocale(locale.value);\n },\n {\n immediate: true\n }\n );\n const [isLoading, setLoading] = useRef(false);\n\n /**\n * 字段值变化事件处理器\n */\n const fieldChangeEventHandler = () => {\n emitter.off$('fieldChange');\n emitter.on$('fieldChange', ({ fieldName, value }) => {\n console.log('fieldChange', fieldName, value);\n\n // 过滤掉错误值\n if (typeof fieldName !== 'undefined' && typeof value !== 'undefined') {\n set(formDataModel.value, fieldName, value);\n }\n });\n };\n\n onMounted(() => {\n fieldChangeEventHandler();\n loadFieldListFromServer();\n });\n\n defineExpose({\n ...emitter,\n i18nt,\n isLoading,\n setLoading,\n getContainerWidgets,\n getFieldWidgets,\n getFormJson,\n setFormJson,\n setJsonImport\n });\n</script>\n\n<style lang=\"less\">\n .main-container {\n background: #fff;\n .ant-layout-sider {\n background: #fff;\n }\n :deep(aside) {\n /* 防止aside样式被外部样式覆盖!! */\n margin: 0;\n padding: 0;\n background: inherit;\n }\n .form-widget-main {\n padding: 0;\n position: relative;\n overflow-x: hidden;\n flex: 1 0 0;\n }\n .full-height {\n height: 100%;\n overflow-y: hidden;\n }\n .center-layout-container {\n min-width: 680px;\n border-left: 2px solid #ebeef5;\n border-right: 2px dotted #ebeef5;\n display: flex;\n flex-direction: column;\n }\n .form-widget-footer {\n flex: 0 0 50px;\n align-items: center;\n background: #fff;\n display: flex;\n justify-content: space-between;\n padding: 0 15px;\n }\n\n .main-header {\n border-bottom: 2px solid #ebeef5;\n background: #fff;\n padding: 0;\n\n height: 48px !important;\n line-height: 48px !important;\n min-width: 800px;\n }\n\n .container-scroll-bar {\n height: 100%;\n & > .form-widget-container {\n height: 100%;\n }\n }\n\n .toolbar-header {\n font-size: 14px;\n border-bottom: 1px solid rgba(5, 5, 5, 0.06);\n height: 42px !important;\n background: #fff;\n padding: 0;\n }\n\n .side-panel {\n width: 260px !important;\n overflow-y: hidden;\n }\n }\n\n div.main-title {\n font-size: 18px;\n color: #242424;\n display: flex;\n align-items: center;\n justify-items: center;\n\n img {\n cursor: pointer;\n width: 36px;\n height: 36px;\n }\n\n span.bold {\n font-size: 20px;\n font-weight: bold;\n margin: 0 6px 0 6px;\n }\n\n span.version-span {\n font-size: 14px;\n color: #101f1c;\n margin-left: 6px;\n }\n }\n\n .float-left {\n float: left;\n }\n\n .float-right {\n float: right;\n }\n</style>\n"],"names":["i18nt","useI18n","localeStore","useLocaleStore","locale","storeToRefs","props","__props","emitter","useEmitter","context","useExecFunction","provide","fieldList","leftWidth","ref","rightWidth","initLocale","designer","createDesigner","formConfig","computed","formDataModel","layoutType","type","LayoutTypeEnum","getLocat","setJsonImport","importObj","isEmpty","error","message","loadFieldListFromServer","setFormJson","formJson","modifiedFlag","getFormJson","deepClone","getFieldWidgets","widgetList","getAllFieldWidgets","getContainerWidgets","getAllContainerWidgets","watch","isLoading","setLoading","useRef","fieldChangeEventHandler","fieldName","value","set","onMounted","__expose","_createBlock","_component_a_layout","_createVNode","_component_a_layout_sider","WidgetPanel","_component_a_layout_content","_component_a_layout_header","ToolbarPanel","saveJsonApi","globalDsv","$event","$slots","idx","slotName","_renderSlot","_ctx","_createElementVNode","_hoisted_1","VFormWidget","SettingPanel","_cache"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":["../../../../src/components/form-designer/index.vue"],"sourcesContent":["<template>\n <a-layout class=\"main-container full-height\">\n <a-layout>\n <a-layout-sider :width=\"leftWidth\" class=\"side-panel\">\n <WidgetPanel />\n </a-layout-sider>\n\n <a-layout-content class=\"center-layout-container\">\n <a-layout-header class=\"toolbar-header\">\n <toolbar-panel\n :saveJsonApi=\"saveJsonApi\"\n :global-dsv=\"globalDsv\"\n v-model:leftWidth=\"leftWidth\"\n v-model:rightWidth=\"rightWidth\"\n ref=\"toolbarRef\"\n >\n <template v-for=\"(idx, slotName) in $slots\" #[slotName]>\n <slot :name=\"slotName\"></slot>\n </template>\n </toolbar-panel>\n </a-layout-header>\n <a-layout-content class=\"form-widget-main\">\n <div class=\"container-scroll-bar\">\n <VFormWidget\n :global-dsv=\"globalDsv\"\n :form-config=\"designer.formConfig\"\n ref=\"formRef\"\n />\n </div>\n </a-layout-content>\n </a-layout-content>\n <a-layout-sider :width=\"rightWidth\">\n <setting-panel\n v-model:selected-widget=\"designer.selectedWidget\"\n :global-dsv=\"globalDsv\"\n :form-config=\"designer.formConfig\"\n />\n </a-layout-sider>\n </a-layout>\n </a-layout>\n</template>\n\n<script lang=\"ts\" setup>\n import WidgetPanel from './widget-panel/index.vue';\n import ToolbarPanel from './toolbar-panel/index.vue';\n import SettingPanel from './setting-panel/index.vue';\n import VFormWidget from './form-widget/index.vue';\n import { createDesigner } from '@/components/form-designer/designer';\n import { useLocaleStore } from '@kp-ui/i18n';\n import {\n deepClone,\n getAllContainerWidgets,\n getAllFieldWidgets,\n traverseAllWidgets\n } from '@/utils/util';\n import { isEmpty, set } from 'lodash-es';\n import { ref, provide, watch, onMounted, computed } from 'vue';\n import { WidgetTree } from '@/types/schema';\n import { useI18n } from '@/utils/i18n';\n import { message } from 'ant-design-vue';\n import { storeToRefs } from 'pinia';\n import { useExecFunction, useRef } from 'tmgc2-share';\n import { useEmitter } from '@/utils/useEmitter';\n\n defineOptions({\n name: 'VFormDesigner',\n componentName: 'VFormDesigner'\n });\n\n const formRef = ref();\n const { i18nt } = useI18n();\n const localeStore = useLocaleStore();\n const { locale } = storeToRefs(localeStore);\n\n const props = withDefaults(\n defineProps<{\n saveJsonApi: (json: any) => Promise<void>;\n fieldListApi: () => Promise<any[]>;\n designerConfig?: {\n eventCollapse?: boolean;\n widgetNameReadonly?: boolean;\n clearDesignerButton?: boolean;\n previewFormButton?: boolean;\n importJsonButton?: boolean;\n exportJsonButton?: boolean;\n };\n globalDsv?: Record<string, any>;\n }>(),\n {\n designerConfig: () => ({\n eventCollapse: true, //是否显示组件事件属性折叠面板\n widgetNameReadonly: false, //禁止修改组件名称\n clearDesignerButton: true, //是否显示清空设计器按钮\n previewFormButton: true, //是否显示预览表单按钮\n importJsonButton: true, //是否显示导入JSON按钮\n exportJsonButton: true //是否显示导出JSON器按钮\n }),\n globalDsv: () => ({})\n }\n );\n const emitter = useEmitter();\n const { context } = useExecFunction();\n provide('serverFieldList', () => fieldList.value);\n provide('designState', true); // 设计态标识\n const leftWidth = ref(270);\n const rightWidth = ref(300);\n const fieldList = ref<any[]>([]);\n const { initLocale } = useI18n();\n const designer = ref(createDesigner(context));\n const formConfig = computed(() => designer.value.formConfig);\n // 状态变量\n const formDataModel = ref<Record<string, any>>({});\n\n provide('formData', formDataModel);\n provide('formConfig', formConfig);\n provide('designer', designer);\n provide('getDesignerConfig', () => props.designerConfig);\n\n const setJsonImport = (importObj: WidgetTree) => {\n if (isEmpty(importObj)) return;\n try {\n if (!importObj || !importObj.formConfig) {\n throw new Error(i18nt('designer.hint.invalidJsonFormat'));\n }\n designer.value.loadFormJson(importObj);\n designer.value.emitHistoryChange();\n designer.value.emitEvent('form-json-imported', []);\n } catch (error) {\n message.error(error + '');\n }\n };\n\n const loadFieldListFromServer = async () => {\n if (!props.fieldListApi) {\n return;\n }\n fieldList.value = await props.fieldListApi();\n };\n\n const setFormJson = (formJson: WidgetTree) => {\n if (isEmpty(formJson)) return;\n try {\n let modifiedFlag = false;\n if (typeof formJson === 'string') {\n modifiedFlag = designer.value.loadFormJson(JSON.parse(formJson));\n } else if (formJson.constructor === Object) {\n modifiedFlag = designer.value.loadFormJson(formJson);\n }\n if (modifiedFlag) {\n designer.value.emitHistoryChange();\n }\n } catch (error) {\n message.error(error + '');\n }\n };\n\n const getFormJson = (): WidgetTree => {\n return {\n widgetList: deepClone(designer.value.widgetList),\n formConfig: deepClone(designer.value.formConfig)\n };\n };\n\n const getFieldWidgets = (widgetList = []) => {\n return widgetList.length\n ? getAllFieldWidgets(widgetList)\n : getAllFieldWidgets(designer.value.widgetList);\n };\n\n /**\n * 获取所有容器组件\n * @returns {*[]}\n */\n const getContainerWidgets = (widgetList = []) => {\n return widgetList.length\n ? getAllContainerWidgets(widgetList)\n : getAllContainerWidgets(designer.value.widgetList);\n };\n\n const getWidgetRef = (widgetName, showError = false) => {\n return formRef.value.getWidgetRef(widgetName, showError);\n };\n\n watch(\n locale,\n () => {\n initLocale(locale.value);\n },\n {\n immediate: true\n }\n );\n const [isLoading, setLoading] = useRef(false);\n\n /**\n * 字段值变化事件处理器\n */\n const fieldChangeEventHandler = () => {\n emitter.off$('fieldChange');\n emitter.on$('fieldChange', ({ fieldName, value }) => {\n console.log('fieldChange', fieldName, value);\n\n // 过滤掉错误值\n if (typeof fieldName !== 'undefined' && typeof value !== 'undefined') {\n set(formDataModel.value, fieldName, value);\n }\n });\n };\n\n onMounted(() => {\n designer.value.initDesigner();\n fieldChangeEventHandler();\n loadFieldListFromServer();\n });\n\n defineExpose({\n ...emitter,\n i18nt,\n isLoading,\n setLoading,\n getWidgetRef,\n getContainerWidgets,\n getFieldWidgets,\n getFormJson,\n setFormJson,\n setJsonImport\n });\n</script>\n\n<style lang=\"less\">\n .main-container {\n background: #fff;\n .ant-layout-sider {\n background: #fff;\n }\n :deep(aside) {\n /* 防止aside样式被外部样式覆盖!! */\n margin: 0;\n padding: 0;\n background: inherit;\n }\n .form-widget-main {\n padding: 0;\n position: relative;\n overflow-x: hidden;\n flex: 1 0 0;\n }\n .full-height {\n height: 100%;\n overflow-y: hidden;\n }\n .center-layout-container {\n min-width: 680px;\n border-left: 2px solid #ebeef5;\n border-right: 2px dotted #ebeef5;\n display: flex;\n flex-direction: column;\n }\n .form-widget-footer {\n flex: 0 0 50px;\n align-items: center;\n background: #fff;\n display: flex;\n justify-content: space-between;\n padding: 0 15px;\n }\n\n .main-header {\n border-bottom: 2px solid #ebeef5;\n background: #fff;\n padding: 0;\n\n height: 48px !important;\n line-height: 48px !important;\n min-width: 800px;\n }\n\n .container-scroll-bar {\n height: 100%;\n & > .form-widget-container {\n height: 100%;\n }\n }\n\n .toolbar-header {\n font-size: 14px;\n border-bottom: 1px dotted #cccccc;\n height: 42px !important;\n background: #fff;\n padding: 0;\n }\n\n .side-panel {\n width: 260px !important;\n overflow-y: hidden;\n }\n }\n\n div.main-title {\n font-size: 18px;\n color: #242424;\n display: flex;\n align-items: center;\n justify-items: center;\n\n img {\n cursor: pointer;\n width: 36px;\n height: 36px;\n }\n\n span.bold {\n font-size: 20px;\n font-weight: bold;\n margin: 0 6px 0 6px;\n }\n\n span.version-span {\n font-size: 14px;\n color: #101f1c;\n margin-left: 6px;\n }\n }\n\n .float-left {\n float: left;\n }\n\n .float-right {\n float: right;\n }\n\n div.external-link {\n display: flex;\n align-items: center;\n\n a {\n font-size: 13px;\n text-decoration: none;\n margin-right: 10px;\n color: #606266;\n }\n }\n</style>\n"],"names":["formRef","ref","i18nt","useI18n","localeStore","useLocaleStore","locale","storeToRefs","props","__props","emitter","useEmitter","context","useExecFunction","provide","fieldList","leftWidth","rightWidth","initLocale","designer","createDesigner","formConfig","computed","formDataModel","setJsonImport","importObj","isEmpty","error","message","loadFieldListFromServer","setFormJson","formJson","modifiedFlag","getFormJson","deepClone","getFieldWidgets","widgetList","getAllFieldWidgets","getContainerWidgets","getAllContainerWidgets","getWidgetRef","widgetName","showError","watch","isLoading","setLoading","useRef","fieldChangeEventHandler","fieldName","value","set","onMounted","__expose","_createBlock","_component_a_layout","_createVNode","_component_a_layout_sider","WidgetPanel","_component_a_layout_content","_component_a_layout_header","ToolbarPanel","saveJsonApi","globalDsv","$event","$slots","idx","slotName","_renderSlot","_ctx","_createElementVNode","_hoisted_1","VFormWidget","SettingPanel","_cache"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import o from "./form-setting.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-9d3391e5"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
p as default
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=form-setting.vue.js.map
|