diygw-designer 1.3.2 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/core/src/components/designer/src/designer.vue.cjs +1 -1
- package/dist/core/src/components/designer/src/designer.vue.d.ts +1 -0
- package/dist/core/src/components/designer/src/designer.vue.js +101 -100
- package/dist/core/src/components/designer/src/modules/preview/index.vue2.cjs +1 -1
- package/dist/core/src/components/designer/src/modules/preview/index.vue2.js +5 -150
- package/dist/core/src/components/designer/src/modules/preview/index.vue3.cjs +1 -0
- package/dist/core/src/components/designer/src/modules/preview/index.vue3.js +152 -0
- package/dist/diygw-designer/miniapp.d.ts +4 -1
- package/dist/diygw-designer.css +1 -1
- package/dist/miniapp-designer/src/MiniProgramDesigner.vue.cjs +1 -1
- package/dist/miniapp-designer/src/MiniProgramDesigner.vue.js +30 -25
- package/dist/miniapp-designer/src/MiniProgramPreview.vue.cjs +1 -0
- package/dist/miniapp-designer/src/MiniProgramPreview.vue.d.ts +605 -0
- package/dist/miniapp-designer/src/MiniProgramPreview.vue.js +7 -0
- package/dist/miniapp-designer/src/MiniProgramPreview.vue2.cjs +1 -0
- package/dist/miniapp-designer/src/MiniProgramPreview.vue2.js +187 -0
- package/dist/miniapp-designer/src/index.d.ts +3 -0
- package/dist/miniapp-designer/src/loadPreviewPageSchema.cjs +1 -0
- package/dist/miniapp-designer/src/loadPreviewPageSchema.d.ts +16 -0
- package/dist/miniapp-designer/src/loadPreviewPageSchema.js +71 -0
- package/dist/miniapp-designer/src/miniProgramPreviewProps.d.ts +38 -0
- package/dist/miniapp-designer/src/miniappDesignerProps.d.ts +1 -0
- package/dist/miniapp.cjs +1 -1
- package/dist/miniapp.js +9 -5
- package/dist/style.css +1 -1
- package/dist/types/src/designer.d.ts +6 -0
- package/dist/ui-kit/panel-ui/src/activitybars/pageManager/storage.cjs +1 -1
- package/dist/ui-kit/panel-ui/src/activitybars/pageManager/storage.d.ts +8 -2
- package/dist/ui-kit/panel-ui/src/activitybars/pageManager/storage.js +148 -132
- package/dist/ui-kit/panel-ui/src/index.cjs +1 -1
- package/dist/ui-kit/panel-ui/src/index.d.ts +1 -1
- package/dist/ui-kit/panel-ui/src/index.js +11 -10
- package/package.json +2 -1
- package/dist/core/src/components/designer/src/modules/preview/index.vue.cjs +0 -1
- 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
|
|
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
|
|
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
|
|
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
|
|
7
|
+
import { migrateComponentProps as ie, deepClone as ne } from "../../../../../utils/src/common/data.js";
|
|
8
8
|
import "jsep";
|
|
9
|
-
import { createEventBus as
|
|
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
|
|
13
|
-
import { providePageManager as
|
|
14
|
-
import { pluginManager as
|
|
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
|
|
18
|
-
import { useDesigner as
|
|
19
|
-
import { useHotkeys as
|
|
20
|
-
import
|
|
21
|
-
import { registerPageDraftBootstrap as
|
|
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__ */
|
|
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(
|
|
58
|
-
const
|
|
58
|
+
setup(P, { expose: $, emit: N }) {
|
|
59
|
+
const I = q(
|
|
59
60
|
() => import("../../../../../ui-kit/panel-ui/src/activitybars/pageManager/pageTreePersistenceHost.vue.js")
|
|
60
|
-
),
|
|
61
|
-
|
|
62
|
-
enablePageManager:
|
|
61
|
+
), t = P, n = N;
|
|
62
|
+
me(w, {
|
|
63
|
+
enablePageManager: t.enablePageManager
|
|
63
64
|
});
|
|
64
|
-
const
|
|
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
|
-
),
|
|
71
|
-
handleDelete:
|
|
72
|
-
handleDuplicate:
|
|
71
|
+
), E = w.component.get("epBuilderSlot"), b = x(null), {
|
|
72
|
+
handleDelete: k,
|
|
73
|
+
handleDuplicate: z,
|
|
73
74
|
pageManager: c,
|
|
74
|
-
pageSchema:
|
|
75
|
-
ready:
|
|
75
|
+
pageSchema: p,
|
|
76
|
+
ready: J,
|
|
76
77
|
reset: D,
|
|
77
|
-
revoke:
|
|
78
|
-
setHoverNode:
|
|
79
|
-
setSelectedNode:
|
|
78
|
+
revoke: s,
|
|
79
|
+
setHoverNode: C,
|
|
80
|
+
setSelectedNode: m,
|
|
80
81
|
state: u
|
|
81
|
-
} =
|
|
82
|
-
|
|
83
|
-
const { setTarget:
|
|
82
|
+
} = fe(t, n);
|
|
83
|
+
t.pageTreePersistence ? _(ge(p, m)) : _(Promise.resolve());
|
|
84
|
+
const { setTarget: K } = ce({
|
|
84
85
|
emit: n,
|
|
85
|
-
handleDelete:
|
|
86
|
-
pageSchema:
|
|
87
|
-
revoke:
|
|
88
|
-
setSelectedNode:
|
|
86
|
+
handleDelete: k,
|
|
87
|
+
pageSchema: p,
|
|
88
|
+
revoke: s,
|
|
89
|
+
setSelectedNode: m,
|
|
89
90
|
state: u
|
|
90
|
-
}), { disabledZoom:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}),
|
|
94
|
-
handleDelete:
|
|
95
|
-
handleDuplicate:
|
|
96
|
-
handleImported:
|
|
97
|
-
handleToggleDeviceMode:
|
|
98
|
-
pageSchema:
|
|
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:
|
|
101
|
+
props: t,
|
|
101
102
|
reset: D,
|
|
102
|
-
revoke:
|
|
103
|
+
revoke: s,
|
|
103
104
|
save: g,
|
|
104
|
-
setDisabledHover:
|
|
105
|
-
setHoverNode:
|
|
106
|
-
setSelectedNode:
|
|
105
|
+
setDisabledHover: U,
|
|
106
|
+
setHoverNode: C,
|
|
107
|
+
setSelectedNode: m,
|
|
107
108
|
state: u
|
|
108
|
-
}),
|
|
109
|
-
const
|
|
110
|
-
function
|
|
111
|
-
|
|
109
|
+
}), pe(c);
|
|
110
|
+
const d = x(null);
|
|
111
|
+
function G() {
|
|
112
|
+
ae(() => {
|
|
112
113
|
var e;
|
|
113
|
-
|
|
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
|
|
119
|
+
async function U(e = !1) {
|
|
119
120
|
u.disabledHover = e;
|
|
120
121
|
}
|
|
121
|
-
function
|
|
122
|
-
|
|
122
|
+
function W(e) {
|
|
123
|
+
ie(e), c.setPageSchema(e), m(), s.push("加载数据");
|
|
123
124
|
}
|
|
124
|
-
function
|
|
125
|
-
return
|
|
125
|
+
function H() {
|
|
126
|
+
return ne(p);
|
|
126
127
|
}
|
|
127
128
|
function g() {
|
|
128
|
-
n("save",
|
|
129
|
+
n("save", H());
|
|
129
130
|
}
|
|
130
|
-
function
|
|
131
|
+
function X(e) {
|
|
131
132
|
n("toggleDeviceMode", e);
|
|
132
133
|
}
|
|
133
|
-
function
|
|
134
|
+
function Y(e) {
|
|
134
135
|
n("imported", e);
|
|
135
136
|
}
|
|
136
137
|
function h() {
|
|
137
|
-
|
|
138
|
+
b.value.handleOpen();
|
|
138
139
|
}
|
|
139
|
-
function
|
|
140
|
+
function S(e) {
|
|
140
141
|
e.ctrlKey && e.preventDefault();
|
|
141
142
|
}
|
|
142
|
-
return
|
|
143
|
+
return ee(() => {
|
|
143
144
|
var e;
|
|
144
|
-
(e =
|
|
145
|
+
(e = d.value) == null || e.removeEventListener("wheel", S);
|
|
145
146
|
}), $({
|
|
146
|
-
exportHistory:
|
|
147
|
-
getData:
|
|
148
|
-
importHistory:
|
|
147
|
+
exportHistory: s.exportHistory,
|
|
148
|
+
getData: H,
|
|
149
|
+
importHistory: s.importHistory,
|
|
149
150
|
preview: h,
|
|
150
151
|
reset: D,
|
|
151
|
-
revoke:
|
|
152
|
+
revoke: s,
|
|
152
153
|
save: g,
|
|
153
|
-
setData:
|
|
154
|
-
}), (e,
|
|
154
|
+
setData: W
|
|
155
|
+
}), (e, M) => o(w).designer.initialized.value ? (l(), v(oe, {
|
|
155
156
|
key: 1,
|
|
156
|
-
onResolve:
|
|
157
|
+
onResolve: G
|
|
157
158
|
}, {
|
|
158
159
|
default: r(() => [
|
|
159
|
-
|
|
160
|
+
y("div", {
|
|
160
161
|
class: "diygw-designer-main ep-scoped",
|
|
161
|
-
onMouseover:
|
|
162
|
+
onMouseover: M[0] || (M[0] = (Be) => o(C)()),
|
|
162
163
|
ref_key: "designerRef",
|
|
163
|
-
ref:
|
|
164
|
+
ref: d,
|
|
164
165
|
tabindex: "0"
|
|
165
166
|
}, [
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
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
|
-
|
|
174
|
+
i(e.$slots, "header-prefix")
|
|
174
175
|
]),
|
|
175
176
|
prefix: r(() => [
|
|
176
|
-
|
|
177
|
+
i(e.$slots, "header-prefix")
|
|
177
178
|
]),
|
|
178
179
|
title: r(() => [
|
|
179
|
-
|
|
180
|
+
i(e.$slots, "header-title")
|
|
180
181
|
]),
|
|
181
182
|
"right-prefix": r(() => [
|
|
182
|
-
|
|
183
|
+
i(e.$slots, "header-right-prefix")
|
|
183
184
|
]),
|
|
184
185
|
"right-action": r(() => [
|
|
185
|
-
|
|
186
|
+
i(e.$slots, "header-right-action")
|
|
186
187
|
]),
|
|
187
188
|
"right-suffix": r(() => [
|
|
188
|
-
|
|
189
|
+
i(e.$slots, "header-right-suffix")
|
|
189
190
|
]),
|
|
190
191
|
_: 3
|
|
191
192
|
})
|
|
192
193
|
])
|
|
193
194
|
])),
|
|
194
|
-
|
|
195
|
-
class:
|
|
195
|
+
y("div", {
|
|
196
|
+
class: te(["diygw-split-view-container", { "hidden-header": P.hiddenHeader }])
|
|
196
197
|
}, [
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
a(o(O)),
|
|
199
|
+
a(o(V)),
|
|
200
|
+
a(o(Z))
|
|
200
201
|
], 2),
|
|
201
|
-
|
|
202
|
+
a(ue, {
|
|
202
203
|
ref_key: "previewRef",
|
|
203
|
-
ref:
|
|
204
|
-
"hide-confirm":
|
|
204
|
+
ref: b,
|
|
205
|
+
"hide-confirm": t.hidePreviewConfirm
|
|
205
206
|
}, null, 8, ["hide-confirm"]),
|
|
206
|
-
t(o(
|
|
207
|
-
o(
|
|
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
|
-
|
|
212
|
-
|
|
212
|
+
y("div", ye, [
|
|
213
|
+
a(o(R))
|
|
213
214
|
])
|
|
214
215
|
]),
|
|
215
216
|
_: 3
|
|
216
|
-
})) : (
|
|
217
|
-
|
|
217
|
+
})) : (l(), T("div", he, [
|
|
218
|
+
a(o(R))
|
|
218
219
|
]));
|
|
219
220
|
}
|
|
220
221
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const
|
|
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
|
|
2
|
-
/* empty css
|
|
3
|
-
|
|
4
|
-
/*
|
|
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
|
-
|
|
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;
|