diygw-designer 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/core/src/components/designer/src/designer.vue.cjs +1 -1
  3. package/dist/core/src/components/designer/src/designer.vue.d.ts +1 -0
  4. package/dist/core/src/components/designer/src/designer.vue.js +101 -100
  5. package/dist/core/src/components/designer/src/modules/preview/index.vue2.cjs +1 -1
  6. package/dist/core/src/components/designer/src/modules/preview/index.vue2.js +5 -150
  7. package/dist/core/src/components/designer/src/modules/preview/index.vue3.cjs +1 -0
  8. package/dist/core/src/components/designer/src/modules/preview/index.vue3.js +152 -0
  9. package/dist/diygw-designer/miniapp.d.ts +6 -1
  10. package/dist/diygw-designer.css +1 -1
  11. package/dist/miniapp-designer/src/MiniProgramDesigner.vue.cjs +1 -1
  12. package/dist/miniapp-designer/src/MiniProgramDesigner.vue.js +38 -27
  13. package/dist/miniapp-designer/src/MiniProgramPreview.vue.cjs +1 -0
  14. package/dist/miniapp-designer/src/MiniProgramPreview.vue.d.ts +605 -0
  15. package/dist/miniapp-designer/src/MiniProgramPreview.vue.js +7 -0
  16. package/dist/miniapp-designer/src/MiniProgramPreview.vue2.cjs +1 -0
  17. package/dist/miniapp-designer/src/MiniProgramPreview.vue2.js +188 -0
  18. package/dist/miniapp-designer/src/index.d.ts +3 -0
  19. package/dist/miniapp-designer/src/loadPreviewPageSchema.cjs +1 -0
  20. package/dist/miniapp-designer/src/loadPreviewPageSchema.d.ts +16 -0
  21. package/dist/miniapp-designer/src/loadPreviewPageSchema.js +71 -0
  22. package/dist/miniapp-designer/src/miniProgramPreviewProps.d.ts +38 -0
  23. package/dist/miniapp-designer/src/miniappDesignerProps.d.ts +7 -0
  24. package/dist/miniapp.cjs +1 -1
  25. package/dist/miniapp.js +12 -7
  26. package/dist/style.css +1 -1
  27. package/dist/types/src/designer.d.ts +6 -0
  28. package/dist/ui-kit/panel-ui/src/index.cjs +1 -1
  29. package/dist/ui-kit/panel-ui/src/index.d.ts +1 -1
  30. package/dist/ui-kit/panel-ui/src/index.js +11 -10
  31. package/package.json +2 -1
  32. package/dist/core/src/components/designer/src/modules/preview/index.vue.cjs +0 -1
  33. package/dist/core/src/components/designer/src/modules/preview/index.vue.js +0 -7
package/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # Changelog
2
+
3
+ ## 1.4.0 - 2026-04-12
4
+
5
+ ### Features
6
+
7
+ - `EDesigner` / `DesignerProps` 新增可选属性 `pageTreePersistence`(默认 `true`)。为 `false` 时不挂载页面树持久化宿主,且跳过本地草稿恢复引导,避免用 IndexedDB / 适配器中的多页项目数据覆盖当前 `defaultSchema`。
8
+ - `MiniProgramDesigner`:在 `multi-page={false}` 且传入 `project-id` 时自动关闭页面树持久化,画布仅采用 `initial-page-schema` 或默认模板;`project-id` 仍用于存储命名空间隔离(如数据源等)。
9
+ - 发布产物增加子路径导出 `diygw-designer/miniapp`(小程序设计器相关入口,与主包一同构建)。
10
+
11
+ ### Notes
12
+
13
+ - 单页 + `project-id` 场景下不再从页面树存储自动回填画布;持久化保存请依赖业务侧 `@save` / `onSaveSchema` 等自行落库。
@@ -1 +1 @@
1
- "use strict";const e=require("vue");;/* empty css */const k=require("../../../../../ui-kit/base-ui/src/asyncLoader/designerLoader.vue.cjs");;/* empty css */;/* empty css */const u=require("../../../../../utils/src/common/component.cjs"),S=require("../../../../../utils/src/common/data.cjs");require("jsep");const Z=require("../../../../../hooks/src/common/createEventBus.cjs");require("@vueuse/core");const j=require("../../../../../hooks/src/store/index.cjs"),J=require("../../../../../hooks/src/designer/useDesignerContext.cjs"),K=require("../../../../../hooks/src/designer/usePageManager.cjs"),h=require("../../../../../manager/src/pluginManager.cjs");;/* empty css */require("vue-draggable-plus");const G=require("../../../../../ui-kit/panel-ui/src/index.cjs"),U=require("../hooks/useDesigner.cjs"),W=require("../hooks/useHotkeys.cjs"),X=/* empty css */x=require("../../../../../ui-kit/panel-ui/src/activitybars/pageManager/pageDraftBootstrap.cjs"),i=s=>Object.freeze(Object.defineProperty({__proto__:null,default:s},Symbol.toStringTag,{value:"Module"})),Y={key:0,class:"diygw-loading-box"},F={key:0,class:"diygw-header-container"},Q={class:"diygw-loading-box"},ee=e.defineComponent({__name:"designer",props:{canvasMode:{default:"desktop"},defaultSchema:{},disabledZoom:{type:Boolean,default:!1},enablePageManager:{type:Boolean,default:!0},draggable:{type:Boolean,default:!0},formMode:{type:Boolean,default:!1},hiddenDesktop:{type:Boolean},hiddenHeader:{type:Boolean,default:!1},hiddenImport:{type:Boolean},hiddenMobile:{type:Boolean},hiddenPreviewJson:{type:Boolean},hiddenTablet:{type:Boolean},hidePreviewConfirm:{type:Boolean},lockDefaultSchemaEdit:{type:Boolean,default:!1},showHiddenItems:{type:Boolean,default:!0},sourceCodeReadOnly:{type:Boolean},tableJson:{},title:{default:"EpicDesigner默认项目"}},emits:["ready","save","reset","imported","toggleDeviceMode"],setup(s,{expose:D,emit:E}){const b=e.defineAsyncComponent(()=>Promise.resolve().then(()=>i(require("../../../../../ui-kit/panel-ui/src/activitybars/pageManager/pageTreePersistenceHost.vue.cjs")))),r=s,o=E;G.setupPanel(h.pluginManager,{enablePageManager:r.enablePageManager});const _=u.loadAsyncComponent(()=>Promise.resolve().then(()=>i(require("./modules/header/index.vue.cjs")))),M=u.loadAsyncComponent(()=>Promise.resolve().then(()=>i(require("./modules/activityBar/index.vue.cjs")))),N=u.loadAsyncComponent(()=>Promise.resolve().then(()=>i(require("./modules/editContainer/index.vue.cjs")))),H=u.loadAsyncComponent(()=>Promise.resolve().then(()=>i(require("./modules/rightSidebar/index.vue.cjs")))),v=h.pluginManager.component.get("epBuilderSlot"),m=e.ref(null),{handleDelete:y,handleDuplicate:V,pageManager:c,pageSchema:d,ready:$,reset:B,revoke:n,setHoverNode:w,setSelectedNode:l,state:p}=U.useDesigner(r,o);x.registerPageDraftBootstrap(x.runPageDraftBootstrap(d,l));const{setTarget:R}=W.useHotkeys({emit:o,handleDelete:y,pageSchema:d,revoke:n,setSelectedNode:l,state:p}),{disabledZoom:T}=j.useStore();e.watchEffect(()=>{T.value=r.disabledZoom}),Z.createEventBus(),e.provide(J.DESIGNER_CONTEXT_KEY,{handleDelete:y,handleDuplicate:V,handleImported:L,handleToggleDeviceMode:z,pageSchema:d,preview:g,props:r,reset:B,revoke:n,save:f,setDisabledHover:O,setHoverNode:w,setSelectedNode:l,state:p}),K.providePageManager(c);const a=e.ref(null);function A(){e.nextTick(()=>{var t;$.value=!0,a.value&&R(a.value),(t=a.value)==null||t.addEventListener("wheel",C,{passive:!1}),o("ready",{pageManager:c})})}async function O(t=!1){p.disabledHover=t}function I(t){S.migrateComponentProps(t),c.setPageSchema(t),l(),n.push("加载数据")}function q(){return S.deepClone(d)}function f(){o("save",q())}function z(t){o("toggleDeviceMode",t)}function L(t){o("imported",t)}function g(){m.value.handleOpen()}function C(t){t.ctrlKey&&t.preventDefault()}return e.onUnmounted(()=>{var t;(t=a.value)==null||t.removeEventListener("wheel",C)}),D({exportHistory:n.exportHistory,getData:q,importHistory:n.importHistory,preview:g,reset:B,revoke:n,save:f,setData:I}),(t,P)=>e.unref(h.pluginManager).designer.initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:A},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"diygw-designer-main ep-scoped",onMouseover:P[0]||(P[0]=te=>e.unref(w)()),ref_key:"designerRef",ref:a,tabindex:"0"},[r.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",F,[e.renderSlot(t.$slots,"header",{},()=>[e.createVNode(e.unref(_),{onPreview:g,onSave:f},{header:e.withCtx(()=>[e.renderSlot(t.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(t.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(t.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(t.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(t.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(t.$slots,"header-right-suffix")]),_:3})])])),e.createElementVNode("div",{class:e.normalizeClass(["diygw-split-view-container",{"hidden-header":s.hiddenHeader}])},[e.createVNode(e.unref(M)),e.createVNode(e.unref(N)),e.createVNode(e.unref(H))],2),e.createVNode(X,{ref_key:"previewRef",ref:m,"hide-confirm":r.hidePreviewConfirm},null,8,["hide-confirm"]),e.createVNode(e.unref(b)),e.unref(v)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(v)),{key:1})):e.createCommentVNode("",!0)],544)]),fallback:e.withCtx(()=>[e.createElementVNode("div",Q,[e.createVNode(e.unref(k))])]),_:3})):(e.openBlock(),e.createElementBlock("div",Y,[e.createVNode(e.unref(k))]))}});module.exports=ee;
1
+ "use strict";const e=require("vue");;/* empty css */const D=require("../../../../../ui-kit/base-ui/src/asyncLoader/designerLoader.vue.cjs");;/* empty css */;/* empty css */const u=require("../../../../../utils/src/common/component.cjs"),S=require("../../../../../utils/src/common/data.cjs");require("jsep");const Z=require("../../../../../hooks/src/common/createEventBus.cjs");require("@vueuse/core");const j=require("../../../../../hooks/src/store/index.cjs"),J=require("../../../../../hooks/src/designer/useDesignerContext.cjs"),K=require("../../../../../hooks/src/designer/usePageManager.cjs"),h=require("../../../../../manager/src/pluginManager.cjs");;/* empty css */require("vue-draggable-plus");const G=require("../../../../../ui-kit/panel-ui/src/index.cjs"),U=require("../hooks/useDesigner.cjs"),W=require("../hooks/useHotkeys.cjs"),X=require("./modules/preview/index.vue2.cjs"),v=require("../../../../../ui-kit/panel-ui/src/activitybars/pageManager/pageDraftBootstrap.cjs"),i=s=>Object.freeze(Object.defineProperty({__proto__:null,default:s},Symbol.toStringTag,{value:"Module"})),Y={key:0,class:"diygw-loading-box"},F={key:0,class:"diygw-header-container"},Q={class:"diygw-loading-box"},ee=e.defineComponent({__name:"designer",props:{canvasMode:{default:"desktop"},defaultSchema:{},disabledZoom:{type:Boolean,default:!1},enablePageManager:{type:Boolean,default:!0},pageTreePersistence:{type:Boolean,default:!0},draggable:{type:Boolean,default:!0},formMode:{type:Boolean,default:!1},hiddenDesktop:{type:Boolean},hiddenHeader:{type:Boolean,default:!1},hiddenImport:{type:Boolean},hiddenMobile:{type:Boolean},hiddenPreviewJson:{type:Boolean},hiddenTablet:{type:Boolean},hidePreviewConfirm:{type:Boolean},lockDefaultSchemaEdit:{type:Boolean,default:!1},showHiddenItems:{type:Boolean,default:!0},sourceCodeReadOnly:{type:Boolean},tableJson:{},title:{default:"EpicDesigner默认项目"}},emits:["ready","save","reset","imported","toggleDeviceMode"],setup(s,{expose:x,emit:E}){const b=e.defineAsyncComponent(()=>Promise.resolve().then(()=>i(require("../../../../../ui-kit/panel-ui/src/activitybars/pageManager/pageTreePersistenceHost.vue.cjs")))),r=s,o=E;G.setupPanel(h.pluginManager,{enablePageManager:r.enablePageManager});const _=u.loadAsyncComponent(()=>Promise.resolve().then(()=>i(require("./modules/header/index.vue.cjs")))),M=u.loadAsyncComponent(()=>Promise.resolve().then(()=>i(require("./modules/activityBar/index.vue.cjs")))),N=u.loadAsyncComponent(()=>Promise.resolve().then(()=>i(require("./modules/editContainer/index.vue.cjs")))),H=u.loadAsyncComponent(()=>Promise.resolve().then(()=>i(require("./modules/rightSidebar/index.vue.cjs")))),m=h.pluginManager.component.get("epBuilderSlot"),y=e.ref(null),{handleDelete:B,handleDuplicate:V,pageManager:c,pageSchema:l,ready:T,reset:P,revoke:n,setHoverNode:w,setSelectedNode:d,state:p}=U.useDesigner(r,o);r.pageTreePersistence?v.registerPageDraftBootstrap(v.runPageDraftBootstrap(l,d)):v.registerPageDraftBootstrap(Promise.resolve());const{setTarget:$}=W.useHotkeys({emit:o,handleDelete:B,pageSchema:l,revoke:n,setSelectedNode:d,state:p}),{disabledZoom:R}=j.useStore();e.watchEffect(()=>{R.value=r.disabledZoom}),Z.createEventBus(),e.provide(J.DESIGNER_CONTEXT_KEY,{handleDelete:B,handleDuplicate:V,handleImported:L,handleToggleDeviceMode:z,pageSchema:l,preview:g,props:r,reset:P,revoke:n,save:f,setDisabledHover:O,setHoverNode:w,setSelectedNode:d,state:p}),K.providePageManager(c);const a=e.ref(null);function A(){e.nextTick(()=>{var t;T.value=!0,a.value&&$(a.value),(t=a.value)==null||t.addEventListener("wheel",q,{passive:!1}),o("ready",{pageManager:c})})}async function O(t=!1){p.disabledHover=t}function I(t){S.migrateComponentProps(t),c.setPageSchema(t),d(),n.push("加载数据")}function C(){return S.deepClone(l)}function f(){o("save",C())}function z(t){o("toggleDeviceMode",t)}function L(t){o("imported",t)}function g(){y.value.handleOpen()}function q(t){t.ctrlKey&&t.preventDefault()}return e.onUnmounted(()=>{var t;(t=a.value)==null||t.removeEventListener("wheel",q)}),x({exportHistory:n.exportHistory,getData:C,importHistory:n.importHistory,preview:g,reset:P,revoke:n,save:f,setData:I}),(t,k)=>e.unref(h.pluginManager).designer.initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:A},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"diygw-designer-main ep-scoped",onMouseover:k[0]||(k[0]=te=>e.unref(w)()),ref_key:"designerRef",ref:a,tabindex:"0"},[r.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",F,[e.renderSlot(t.$slots,"header",{},()=>[e.createVNode(e.unref(_),{onPreview:g,onSave:f},{header:e.withCtx(()=>[e.renderSlot(t.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(t.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(t.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(t.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(t.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(t.$slots,"header-right-suffix")]),_:3})])])),e.createElementVNode("div",{class:e.normalizeClass(["diygw-split-view-container",{"hidden-header":s.hiddenHeader}])},[e.createVNode(e.unref(M)),e.createVNode(e.unref(N)),e.createVNode(e.unref(H))],2),e.createVNode(X,{ref_key:"previewRef",ref:y,"hide-confirm":r.hidePreviewConfirm},null,8,["hide-confirm"]),r.pageTreePersistence?(e.openBlock(),e.createBlock(e.unref(b),{key:1})):e.createCommentVNode("",!0),e.unref(m)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(m)),{key:2})):e.createCommentVNode("",!0)],544)]),fallback:e.withCtx(()=>[e.createElementVNode("div",Q,[e.createVNode(e.unref(D))])]),_:3})):(e.openBlock(),e.createElementBlock("div",Y,[e.createVNode(e.unref(D))]))}});module.exports=ee;
@@ -629,6 +629,7 @@ declare const __VLS_component: import('vue').DefineComponent<DesignerProps, {
629
629
  disabledZoom: boolean;
630
630
  canvasMode: "desktop" | "mobile" | "tablet";
631
631
  enablePageManager: boolean;
632
+ pageTreePersistence: boolean;
632
633
  formMode: boolean;
633
634
  hiddenHeader: boolean;
634
635
  lockDefaultSchemaEdit: boolean;
@@ -1,37 +1,38 @@
1
- import { defineComponent as Y, defineAsyncComponent as j, ref as S, watchEffect as q, provide as F, onUnmounted as Q, createElementBlock as M, createBlock as x, unref as o, openBlock as m, createVNode as t, Suspense as ee, withCtx as r, createElementVNode as v, createCommentVNode as R, renderSlot as a, normalizeClass as oe, resolveDynamicComponent as te, nextTick as re } from "vue";
1
+ import { defineComponent as j, defineAsyncComponent as q, ref as x, watchEffect as F, provide as Q, onUnmounted as ee, createElementBlock as T, createBlock as v, unref as o, openBlock as l, createVNode as a, Suspense as oe, withCtx as r, createElementVNode as y, createCommentVNode as B, renderSlot as i, normalizeClass as te, resolveDynamicComponent as re, nextTick as ae } from "vue";
2
2
  /* empty css */
3
- import _ from "../../../../../ui-kit/base-ui/src/asyncLoader/designerLoader.vue.js";
3
+ import R from "../../../../../ui-kit/base-ui/src/asyncLoader/designerLoader.vue.js";
4
4
  /* empty css */
5
5
  /* empty css */
6
6
  import { loadAsyncComponent as f } from "../../../../../utils/src/common/component.js";
7
- import { migrateComponentProps as ae, deepClone as ie } from "../../../../../utils/src/common/data.js";
7
+ import { migrateComponentProps as ie, deepClone as ne } from "../../../../../utils/src/common/data.js";
8
8
  import "jsep";
9
- import { createEventBus as ne } from "../../../../../hooks/src/common/createEventBus.js";
9
+ import { createEventBus as se } from "../../../../../hooks/src/common/createEventBus.js";
10
10
  import "@vueuse/core";
11
11
  import { useStore as de } from "../../../../../hooks/src/store/index.js";
12
- import { DESIGNER_CONTEXT_KEY as se } from "../../../../../hooks/src/designer/useDesignerContext.js";
13
- import { providePageManager as le } from "../../../../../hooks/src/designer/usePageManager.js";
14
- import { pluginManager as y } from "../../../../../manager/src/pluginManager.js";
12
+ import { DESIGNER_CONTEXT_KEY as le } from "../../../../../hooks/src/designer/useDesignerContext.js";
13
+ import { providePageManager as pe } from "../../../../../hooks/src/designer/usePageManager.js";
14
+ import { pluginManager as w } from "../../../../../manager/src/pluginManager.js";
15
15
  /* empty css */
16
16
  import "vue-draggable-plus";
17
- import { setupPanel as pe } from "../../../../../ui-kit/panel-ui/src/index.js";
18
- import { useDesigner as me } from "../hooks/useDesigner.js";
19
- import { useHotkeys as fe } from "../hooks/useHotkeys.js";
20
- import ce from "./modules/preview/index.vue.js";
21
- import { registerPageDraftBootstrap as ue, runPageDraftBootstrap as ge } from "../../../../../ui-kit/panel-ui/src/activitybars/pageManager/pageDraftBootstrap.js";
17
+ import { setupPanel as me } from "../../../../../ui-kit/panel-ui/src/index.js";
18
+ import { useDesigner as fe } from "../hooks/useDesigner.js";
19
+ import { useHotkeys as ce } from "../hooks/useHotkeys.js";
20
+ import ue from "./modules/preview/index.vue2.js";
21
+ import { registerPageDraftBootstrap as _, runPageDraftBootstrap as ge } from "../../../../../ui-kit/panel-ui/src/activitybars/pageManager/pageDraftBootstrap.js";
22
22
  const he = {
23
23
  key: 0,
24
24
  class: "diygw-loading-box"
25
25
  }, ve = {
26
26
  key: 0,
27
27
  class: "diygw-header-container"
28
- }, ye = { class: "diygw-loading-box" }, ze = /* @__PURE__ */ Y({
28
+ }, ye = { class: "diygw-loading-box" }, ze = /* @__PURE__ */ j({
29
29
  __name: "designer",
30
30
  props: {
31
31
  canvasMode: { default: "desktop" },
32
32
  defaultSchema: {},
33
33
  disabledZoom: { type: Boolean, default: !1 },
34
34
  enablePageManager: { type: Boolean, default: !0 },
35
+ pageTreePersistence: { type: Boolean, default: !0 },
35
36
  draggable: { type: Boolean, default: !0 },
36
37
  formMode: { type: Boolean, default: !1 },
37
38
  hiddenDesktop: { type: Boolean },
@@ -54,167 +55,167 @@ const he = {
54
55
  "imported",
55
56
  "toggleDeviceMode"
56
57
  ],
57
- setup(B, { expose: $, emit: N }) {
58
- const T = j(
58
+ setup(P, { expose: $, emit: N }) {
59
+ const I = q(
59
60
  () => import("../../../../../ui-kit/panel-ui/src/activitybars/pageManager/pageTreePersistenceHost.vue.js")
60
- ), i = B, n = N;
61
- pe(y, {
62
- enablePageManager: i.enablePageManager
61
+ ), t = P, n = N;
62
+ me(w, {
63
+ enablePageManager: t.enablePageManager
63
64
  });
64
- const I = f(() => import("./modules/header/index.vue.js")), A = f(
65
+ const A = f(() => import("./modules/header/index.vue.js")), O = f(
65
66
  () => import("./modules/activityBar/index.vue.js")
66
- ), O = f(
67
- () => import("./modules/editContainer/index.vue.js")
68
67
  ), V = f(
68
+ () => import("./modules/editContainer/index.vue.js")
69
+ ), Z = f(
69
70
  () => import("./modules/rightSidebar/index.vue.js")
70
- ), w = y.component.get("epBuilderSlot"), E = S(null), {
71
- handleDelete: b,
72
- handleDuplicate: Z,
71
+ ), E = w.component.get("epBuilderSlot"), b = x(null), {
72
+ handleDelete: k,
73
+ handleDuplicate: z,
73
74
  pageManager: c,
74
- pageSchema: l,
75
- ready: z,
75
+ pageSchema: p,
76
+ ready: J,
76
77
  reset: D,
77
- revoke: d,
78
- setHoverNode: P,
79
- setSelectedNode: p,
78
+ revoke: s,
79
+ setHoverNode: C,
80
+ setSelectedNode: m,
80
81
  state: u
81
- } = me(i, n);
82
- ue(ge(l, p));
83
- const { setTarget: J } = fe({
82
+ } = fe(t, n);
83
+ t.pageTreePersistence ? _(ge(p, m)) : _(Promise.resolve());
84
+ const { setTarget: K } = ce({
84
85
  emit: n,
85
- handleDelete: b,
86
- pageSchema: l,
87
- revoke: d,
88
- setSelectedNode: p,
86
+ handleDelete: k,
87
+ pageSchema: p,
88
+ revoke: s,
89
+ setSelectedNode: m,
89
90
  state: u
90
- }), { disabledZoom: K } = de();
91
- q(() => {
92
- K.value = i.disabledZoom;
93
- }), ne(), F(se, {
94
- handleDelete: b,
95
- handleDuplicate: Z,
96
- handleImported: X,
97
- handleToggleDeviceMode: W,
98
- pageSchema: l,
91
+ }), { disabledZoom: L } = de();
92
+ F(() => {
93
+ L.value = t.disabledZoom;
94
+ }), se(), Q(le, {
95
+ handleDelete: k,
96
+ handleDuplicate: z,
97
+ handleImported: Y,
98
+ handleToggleDeviceMode: X,
99
+ pageSchema: p,
99
100
  preview: h,
100
- props: i,
101
+ props: t,
101
102
  reset: D,
102
- revoke: d,
103
+ revoke: s,
103
104
  save: g,
104
- setDisabledHover: G,
105
- setHoverNode: P,
106
- setSelectedNode: p,
105
+ setDisabledHover: U,
106
+ setHoverNode: C,
107
+ setSelectedNode: m,
107
108
  state: u
108
- }), le(c);
109
- const s = S(null);
110
- function L() {
111
- re(() => {
109
+ }), pe(c);
110
+ const d = x(null);
111
+ function G() {
112
+ ae(() => {
112
113
  var e;
113
- z.value = !0, s.value && J(s.value), (e = s.value) == null || e.addEventListener("wheel", C, {
114
+ J.value = !0, d.value && K(d.value), (e = d.value) == null || e.addEventListener("wheel", S, {
114
115
  passive: !1
115
116
  }), n("ready", { pageManager: c });
116
117
  });
117
118
  }
118
- async function G(e = !1) {
119
+ async function U(e = !1) {
119
120
  u.disabledHover = e;
120
121
  }
121
- function U(e) {
122
- ae(e), c.setPageSchema(e), p(), d.push("加载数据");
122
+ function W(e) {
123
+ ie(e), c.setPageSchema(e), m(), s.push("加载数据");
123
124
  }
124
- function k() {
125
- return ie(l);
125
+ function H() {
126
+ return ne(p);
126
127
  }
127
128
  function g() {
128
- n("save", k());
129
+ n("save", H());
129
130
  }
130
- function W(e) {
131
+ function X(e) {
131
132
  n("toggleDeviceMode", e);
132
133
  }
133
- function X(e) {
134
+ function Y(e) {
134
135
  n("imported", e);
135
136
  }
136
137
  function h() {
137
- E.value.handleOpen();
138
+ b.value.handleOpen();
138
139
  }
139
- function C(e) {
140
+ function S(e) {
140
141
  e.ctrlKey && e.preventDefault();
141
142
  }
142
- return Q(() => {
143
+ return ee(() => {
143
144
  var e;
144
- (e = s.value) == null || e.removeEventListener("wheel", C);
145
+ (e = d.value) == null || e.removeEventListener("wheel", S);
145
146
  }), $({
146
- exportHistory: d.exportHistory,
147
- getData: k,
148
- importHistory: d.importHistory,
147
+ exportHistory: s.exportHistory,
148
+ getData: H,
149
+ importHistory: s.importHistory,
149
150
  preview: h,
150
151
  reset: D,
151
- revoke: d,
152
+ revoke: s,
152
153
  save: g,
153
- setData: U
154
- }), (e, H) => o(y).designer.initialized.value ? (m(), x(ee, {
154
+ setData: W
155
+ }), (e, M) => o(w).designer.initialized.value ? (l(), v(oe, {
155
156
  key: 1,
156
- onResolve: L
157
+ onResolve: G
157
158
  }, {
158
159
  default: r(() => [
159
- v("div", {
160
+ y("div", {
160
161
  class: "diygw-designer-main ep-scoped",
161
- onMouseover: H[0] || (H[0] = (Be) => o(P)()),
162
+ onMouseover: M[0] || (M[0] = (Be) => o(C)()),
162
163
  ref_key: "designerRef",
163
- ref: s,
164
+ ref: d,
164
165
  tabindex: "0"
165
166
  }, [
166
- i.hiddenHeader ? R("", !0) : (m(), M("div", ve, [
167
- a(e.$slots, "header", {}, () => [
168
- t(o(I), {
167
+ t.hiddenHeader ? B("", !0) : (l(), T("div", ve, [
168
+ i(e.$slots, "header", {}, () => [
169
+ a(o(A), {
169
170
  onPreview: h,
170
171
  onSave: g
171
172
  }, {
172
173
  header: r(() => [
173
- a(e.$slots, "header-prefix")
174
+ i(e.$slots, "header-prefix")
174
175
  ]),
175
176
  prefix: r(() => [
176
- a(e.$slots, "header-prefix")
177
+ i(e.$slots, "header-prefix")
177
178
  ]),
178
179
  title: r(() => [
179
- a(e.$slots, "header-title")
180
+ i(e.$slots, "header-title")
180
181
  ]),
181
182
  "right-prefix": r(() => [
182
- a(e.$slots, "header-right-prefix")
183
+ i(e.$slots, "header-right-prefix")
183
184
  ]),
184
185
  "right-action": r(() => [
185
- a(e.$slots, "header-right-action")
186
+ i(e.$slots, "header-right-action")
186
187
  ]),
187
188
  "right-suffix": r(() => [
188
- a(e.$slots, "header-right-suffix")
189
+ i(e.$slots, "header-right-suffix")
189
190
  ]),
190
191
  _: 3
191
192
  })
192
193
  ])
193
194
  ])),
194
- v("div", {
195
- class: oe(["diygw-split-view-container", { "hidden-header": B.hiddenHeader }])
195
+ y("div", {
196
+ class: te(["diygw-split-view-container", { "hidden-header": P.hiddenHeader }])
196
197
  }, [
197
- t(o(A)),
198
- t(o(O)),
199
- t(o(V))
198
+ a(o(O)),
199
+ a(o(V)),
200
+ a(o(Z))
200
201
  ], 2),
201
- t(ce, {
202
+ a(ue, {
202
203
  ref_key: "previewRef",
203
- ref: E,
204
- "hide-confirm": i.hidePreviewConfirm
204
+ ref: b,
205
+ "hide-confirm": t.hidePreviewConfirm
205
206
  }, null, 8, ["hide-confirm"]),
206
- t(o(T)),
207
- o(w) ? (m(), x(te(o(w)), { key: 1 })) : R("", !0)
207
+ t.pageTreePersistence ? (l(), v(o(I), { key: 1 })) : B("", !0),
208
+ o(E) ? (l(), v(re(o(E)), { key: 2 })) : B("", !0)
208
209
  ], 544)
209
210
  ]),
210
211
  fallback: r(() => [
211
- v("div", ye, [
212
- t(o(_))
212
+ y("div", ye, [
213
+ a(o(R))
213
214
  ])
214
215
  ]),
215
216
  _: 3
216
- })) : (m(), M("div", he, [
217
- t(o(_))
217
+ })) : (l(), T("div", he, [
218
+ a(o(R))
218
219
  ]));
219
220
  }
220
221
  });
@@ -1 +1 @@
1
- "use strict";const t=require("vue");;/* empty css */;/* empty css */;/* empty css */const c=require("../../../../../../../manager/src/pluginManager.cjs");;/* empty css */require("vue-draggable-plus");const M=require("../../../../../../../utils/src/common/data.cjs");require("jsep");require("@vueuse/core");require("../../../../../../../hooks/src/store/index.cjs");const S=require("../../../../../../../hooks/src/designer/useDesignerContext.cjs"),E=require("../../../../builder/src/builder.vue.cjs"),B={class:"epic-preview-body translate-y-0px h-full rounded"},O={class:"h-full rounded"},z=t.defineComponent({__name:"index",props:{hideConfirm:{type:Boolean},width:{default:""}},setup(x,{expose:k}){const u=x,w=c.pluginManager.component.get("monacoEditor"),m=c.pluginManager.component.get("modal"),f=t.ref(null),n=t.ref(!1),a=t.ref(!1),s=t.ref({}),{pageSchema:l}=S.useDesignerContext(),p=t.ref(null),v={desktop:"desktop",mobile:"mobile",pad:"tablet",pc:"desktop",tablet:"tablet"};function h(e){return e?e in v?v[e]:["desktop","mobile","tablet"].includes(e)?e:"desktop":"desktop"}const _=t.computed(()=>{var g;if((g=u.width)!=null&&g.trim())return u.width;const e=l.canvas,o=h(e==null?void 0:e.mode),r=((e==null?void 0:e.width)??"").trim();if((o==="mobile"||o==="tablet")&&r){const d=Number.parseInt(r,10),N=56;if(!Number.isNaN(d)&&d>0)return`${Math.min(d+N,1200)}px`}return"min(96vw, 1280px)"}),y=t.computed(()=>{const e=l.canvas,o=h(e==null?void 0:e.mode),r=((e==null?void 0:e.width)??"").trim();return o==="mobile"||o==="tablet"?{background:"#fff",border:"1px solid var(--el-border-color-lighter, #ebeef5)",borderRadius:o==="mobile"?"12px":"10px",boxSizing:"border-box",margin:"0 auto",maxWidth:"100%",minHeight:"520px",overflow:"auto",width:r||"100%"}:{boxSizing:"border-box",minHeight:"min(70vh, 720px)",width:"100%"}}),i=t.computed(()=>{const e=M.findSchemas(l.schemas,o=>{var r;return o.type.includes("form")&&((r=o.props)==null?void 0:r.name)}).map(o=>{var r;return(r=o.props)==null?void 0:r.name});return[...new Set(e)]});function b(){a.value=!1}function V(){n.value=!1}function q(){n.value=!0}async function C(){if(!i.value.length){c.pluginManager.global.$message.error("缺少表单组件!");return}try{let e={};for(const o of i.value)e[`${o}`]=await p.value.validate(o);i.value.length===1&&i.value[0]==="default"&&(e=e.default),s.value=JSON.stringify(e,null,2),t.nextTick(()=>{var o;(o=f.value)==null||o.setValue(s.value)}),a.value=!0}catch(e){console.error(e)}}return k({handleOpen:q}),(e,o)=>(t.openBlock(),t.createBlock(t.unref(m),{modelValue:n.value,"onUpdate:modelValue":o[1]||(o[1]=r=>n.value=r),title:"预览",width:_.value,"hide-confirm":u.hideConfirm,"ok-text":"表单数据",onClose:V,onOk:C},{default:t.withCtx(()=>[t.createElementVNode("div",B,[t.createElementVNode("div",{class:"epic-preview-frame",style:t.normalizeStyle(y.value)},[n.value?(t.openBlock(),t.createBlock(t.unref(E),{key:0,ref_key:"kb",ref:p,"page-schema":t.unref(l)},null,8,["page-schema"])):t.createCommentVNode("",!0)],4),t.createVNode(t.unref(m),{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=r=>a.value=r),title:"表单数据",width:"860px",onClose:b,onOk:b},{default:t.withCtx(()=>[t.createElementVNode("div",O,[t.createVNode(t.unref(w),{ref_key:"monacoEditorRef",ref:f,"auto-toggle-theme":"","read-only":"",class:"editor h-full","model-value":s.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue","width","hide-confirm"]))}});module.exports=z;
1
+ "use strict";const e=;/* empty css */;/* empty css */const r=require("../../../../../../../_virtual/_plugin-vue_export-helper.cjs"),t=r(e,[["__scopeId","data-v-8454a49d"]]);module.exports=t;
@@ -1,152 +1,7 @@
1
- import { defineComponent as W, ref as a, computed as p, createBlock as y, openBlock as V, unref as r, withCtx as _, createElementVNode as c, createVNode as C, normalizeStyle as D, createCommentVNode as F, nextTick as H } from "vue";
2
- /* empty css */
3
- /* empty css */
4
- /* empty css */
5
- import { pluginManager as f } from "../../../../../../../manager/src/pluginManager.js";
6
- /* empty css */
7
- import "vue-draggable-plus";
8
- import { findSchemas as U } from "../../../../../../../utils/src/common/data.js";
9
- import "jsep";
10
- import "@vueuse/core";
11
- import "../../../../../../../hooks/src/store/index.js";
12
- import { useDesignerContext as I } from "../../../../../../../hooks/src/designer/useDesignerContext.js";
13
- import J from "../../../../builder/src/builder.vue.js";
14
- const T = { class: "epic-preview-body translate-y-0px h-full rounded" }, j = { class: "h-full rounded" }, ne = /* @__PURE__ */ W({
15
- __name: "index",
16
- props: {
17
- hideConfirm: { type: Boolean },
18
- width: { default: "" }
19
- },
20
- setup(N, { expose: M }) {
21
- const d = N, S = f.component.get("monacoEditor"), v = f.component.get("modal"), h = a(null), n = a(!1), l = a(!1), u = a({}), { pageSchema: i } = I(), b = a(null), g = {
22
- desktop: "desktop",
23
- mobile: "mobile",
24
- pad: "tablet",
25
- pc: "desktop",
26
- tablet: "tablet"
27
- };
28
- function x(e) {
29
- return e ? e in g ? g[e] : ["desktop", "mobile", "tablet"].includes(e) ? e : "desktop" : "desktop";
30
- }
31
- const E = p(() => {
32
- var k;
33
- if ((k = d.width) != null && k.trim()) return d.width;
34
- const e = i.canvas, t = x(e == null ? void 0 : e.mode), o = ((e == null ? void 0 : e.width) ?? "").trim();
35
- if ((t === "mobile" || t === "tablet") && o) {
36
- const m = Number.parseInt(o, 10), R = 56;
37
- if (!Number.isNaN(m) && m > 0)
38
- return `${Math.min(m + R, 1200)}px`;
39
- }
40
- return "min(96vw, 1280px)";
41
- }), O = p(() => {
42
- const e = i.canvas, t = x(e == null ? void 0 : e.mode), o = ((e == null ? void 0 : e.width) ?? "").trim();
43
- return t === "mobile" || t === "tablet" ? {
44
- background: "#fff",
45
- border: "1px solid var(--el-border-color-lighter, #ebeef5)",
46
- borderRadius: t === "mobile" ? "12px" : "10px",
47
- boxSizing: "border-box",
48
- margin: "0 auto",
49
- maxWidth: "100%",
50
- minHeight: "520px",
51
- overflow: "auto",
52
- width: o || "100%"
53
- } : {
54
- boxSizing: "border-box",
55
- minHeight: "min(70vh, 720px)",
56
- width: "100%"
57
- };
58
- }), s = p(() => {
59
- const e = U(
60
- i.schemas,
61
- (t) => {
62
- var o;
63
- return t.type.includes("form") && ((o = t.props) == null ? void 0 : o.name);
64
- }
65
- ).map((t) => {
66
- var o;
67
- return (o = t.props) == null ? void 0 : o.name;
68
- });
69
- return [...new Set(e)];
70
- });
71
- function w() {
72
- l.value = !1;
73
- }
74
- function z() {
75
- n.value = !1;
76
- }
77
- function $() {
78
- n.value = !0;
79
- }
80
- async function B() {
81
- if (!s.value.length) {
82
- f.global.$message.error("缺少表单组件!");
83
- return;
84
- }
85
- try {
86
- let e = {};
87
- for (const t of s.value)
88
- e[`${t}`] = await b.value.validate(t);
89
- s.value.length === 1 && s.value[0] === "default" && (e = e.default), u.value = JSON.stringify(e, null, 2), H(() => {
90
- var t;
91
- (t = h.value) == null || t.setValue(u.value);
92
- }), l.value = !0;
93
- } catch (e) {
94
- console.error(e);
95
- }
96
- }
97
- return M({
98
- handleOpen: $
99
- }), (e, t) => (V(), y(r(v), {
100
- modelValue: n.value,
101
- "onUpdate:modelValue": t[1] || (t[1] = (o) => n.value = o),
102
- title: "预览",
103
- width: E.value,
104
- "hide-confirm": d.hideConfirm,
105
- "ok-text": "表单数据",
106
- onClose: z,
107
- onOk: B
108
- }, {
109
- default: _(() => [
110
- c("div", T, [
111
- c("div", {
112
- class: "epic-preview-frame",
113
- style: D(O.value)
114
- }, [
115
- n.value ? (V(), y(r(J), {
116
- key: 0,
117
- ref_key: "kb",
118
- ref: b,
119
- "page-schema": r(i)
120
- }, null, 8, ["page-schema"])) : F("", !0)
121
- ], 4),
122
- C(r(v), {
123
- modelValue: l.value,
124
- "onUpdate:modelValue": t[0] || (t[0] = (o) => l.value = o),
125
- title: "表单数据",
126
- width: "860px",
127
- onClose: w,
128
- onOk: w
129
- }, {
130
- default: _(() => [
131
- c("div", j, [
132
- C(r(S), {
133
- ref_key: "monacoEditorRef",
134
- ref: h,
135
- "auto-toggle-theme": "",
136
- "read-only": "",
137
- class: "editor h-full",
138
- "model-value": u.value
139
- }, null, 8, ["model-value"])
140
- ])
141
- ]),
142
- _: 1
143
- }, 8, ["modelValue"])
144
- ])
145
- ]),
146
- _: 1
147
- }, 8, ["modelValue", "width", "hide-confirm"]));
148
- }
149
- });
1
+ import o from "./index.vue3.js";
2
+ /* empty css */
3
+ import r from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const e = /* @__PURE__ */ r(o, [["__scopeId", "data-v-8454a49d"]]);
150
5
  export {
151
- ne as default
6
+ e as default
152
7
  };
@@ -0,0 +1 @@
1
+ "use strict";const t=require("vue");;/* empty css */;/* empty css */;/* empty css */const c=require("../../../../../../../manager/src/pluginManager.cjs");;/* empty css */require("vue-draggable-plus");const M=require("../../../../../../../utils/src/common/data.cjs");require("jsep");require("@vueuse/core");require("../../../../../../../hooks/src/store/index.cjs");const S=require("../../../../../../../hooks/src/designer/useDesignerContext.cjs"),E=require("../../../../builder/src/builder.vue.cjs"),B={class:"epic-preview-body translate-y-0px h-full rounded"},O={class:"h-full rounded"},z=t.defineComponent({__name:"index",props:{hideConfirm:{type:Boolean},width:{default:""}},setup(x,{expose:k}){const u=x,w=c.pluginManager.component.get("monacoEditor"),m=c.pluginManager.component.get("modal"),f=t.ref(null),n=t.ref(!1),a=t.ref(!1),s=t.ref({}),{pageSchema:l}=S.useDesignerContext(),p=t.ref(null),v={desktop:"desktop",mobile:"mobile",pad:"tablet",pc:"desktop",tablet:"tablet"};function h(e){return e?e in v?v[e]:["desktop","mobile","tablet"].includes(e)?e:"desktop":"desktop"}const _=t.computed(()=>{var g;if((g=u.width)!=null&&g.trim())return u.width;const e=l.canvas,o=h(e==null?void 0:e.mode),r=((e==null?void 0:e.width)??"").trim();if((o==="mobile"||o==="tablet")&&r){const d=Number.parseInt(r,10),N=56;if(!Number.isNaN(d)&&d>0)return`${Math.min(d+N,1200)}px`}return"min(96vw, 1280px)"}),y=t.computed(()=>{const e=l.canvas,o=h(e==null?void 0:e.mode),r=((e==null?void 0:e.width)??"").trim();return o==="mobile"||o==="tablet"?{background:"#fff",border:"1px solid var(--el-border-color-lighter, #ebeef5)",borderRadius:o==="mobile"?"12px":"10px",boxSizing:"border-box",margin:"0 auto",maxWidth:"100%",minHeight:"520px",overflow:"auto",width:r||"100%"}:{boxSizing:"border-box",minHeight:"min(70vh, 720px)",width:"100%"}}),i=t.computed(()=>{const e=M.findSchemas(l.schemas,o=>{var r;return o.type.includes("form")&&((r=o.props)==null?void 0:r.name)}).map(o=>{var r;return(r=o.props)==null?void 0:r.name});return[...new Set(e)]});function b(){a.value=!1}function V(){n.value=!1}function q(){n.value=!0}async function C(){if(!i.value.length){c.pluginManager.global.$message.error("缺少表单组件!");return}try{let e={};for(const o of i.value)e[`${o}`]=await p.value.validate(o);i.value.length===1&&i.value[0]==="default"&&(e=e.default),s.value=JSON.stringify(e,null,2),t.nextTick(()=>{var o;(o=f.value)==null||o.setValue(s.value)}),a.value=!0}catch(e){console.error(e)}}return k({handleOpen:q}),(e,o)=>(t.openBlock(),t.createBlock(t.unref(m),{modelValue:n.value,"onUpdate:modelValue":o[1]||(o[1]=r=>n.value=r),title:"预览",width:_.value,"hide-confirm":u.hideConfirm,"ok-text":"表单数据",onClose:V,onOk:C},{default:t.withCtx(()=>[t.createElementVNode("div",B,[t.createElementVNode("div",{class:"epic-preview-frame",style:t.normalizeStyle(y.value)},[n.value?(t.openBlock(),t.createBlock(t.unref(E),{key:0,ref_key:"kb",ref:p,"page-schema":t.unref(l)},null,8,["page-schema"])):t.createCommentVNode("",!0)],4),t.createVNode(t.unref(m),{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=r=>a.value=r),title:"表单数据",width:"860px",onClose:b,onOk:b},{default:t.withCtx(()=>[t.createElementVNode("div",O,[t.createVNode(t.unref(w),{ref_key:"monacoEditorRef",ref:f,"auto-toggle-theme":"","read-only":"",class:"editor h-full","model-value":s.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue","width","hide-confirm"]))}});module.exports=z;