@g1cloud/page-builder-editor 1.0.0-alpha.43 → 1.0.0-alpha.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PbPropertyEditorColor-ECWITss2.js → PbPropertyEditorColor-DHIK8xLM.js} +1 -1
- package/dist/{PbPropertyEditorHtml-Bpa0EKp9.js → PbPropertyEditorHtml-Jh4spLgs.js} +1 -1
- package/dist/{PbPropertyEditorImage-D9sBmfaV.js → PbPropertyEditorImage-DaQ6AzHk.js} +1 -1
- package/dist/{PbPropertyEditorMultilineText-DfvOukAA.js → PbPropertyEditorMultilineText-DHqDdVCb.js} +1 -1
- package/dist/{PbPropertyEditorText-DmfUyQGj.js → PbPropertyEditorText-CLz-HW0c.js} +1 -1
- package/dist/{PbPropertyEditorYoutube-D0EpPwPV.js → PbPropertyEditorYoutube-Dqi0T67b.js} +1 -1
- package/dist/{PbWidgetAddModal-BDzxd8h_.js → PbWidgetAddModal-eVGTb1x1.js} +1 -1
- package/dist/{index-DMnlRaKO.js → index-BtttVLpv.js} +140 -104
- package/dist/page-builder-editor.js +1 -1
- package/dist/page-builder-editor.umd.cjs +132 -96
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, createVNode, unref } from "vue";
|
|
2
2
|
import { BSTextInput } from "@g1cloud/bluesea";
|
|
3
|
-
import { P as PbColorPicker } from "./index-
|
|
3
|
+
import { P as PbColorPicker } from "./index-BtttVLpv.js";
|
|
4
4
|
const _hoisted_1 = { class: "property-editor property-editor-color" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
|
6
6
|
const _hoisted_3 = ["textContent"];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, defineAsyncComponent } from "vue";
|
|
2
2
|
import { useModal } from "@g1cloud/bluesea";
|
|
3
|
-
import { u as usePageBuilderEditor } from "./index-
|
|
3
|
+
import { u as usePageBuilderEditor } from "./index-BtttVLpv.js";
|
|
4
4
|
const _hoisted_1 = { class: "property-editor property-editor-image flex-align-center" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
|
6
6
|
const _hoisted_3 = ["textContent"];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString } from "vue";
|
|
2
|
-
import { u as usePageBuilderEditor } from "./index-
|
|
2
|
+
import { u as usePageBuilderEditor } from "./index-BtttVLpv.js";
|
|
3
3
|
import { useModal } from "@g1cloud/bluesea";
|
|
4
4
|
const _hoisted_1 = { class: "property-editor property-editor-image flex-align-center" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
package/dist/{PbPropertyEditorMultilineText-DfvOukAA.js → PbPropertyEditorMultilineText-DHqDdVCb.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createElementBlock, createElementVNode, toDisplayString, createBlock, unref } from "vue";
|
|
2
2
|
import { BSMultiLangTextArea, BSTextArea } from "@g1cloud/bluesea";
|
|
3
|
-
import { u as usePageBuilderEditor } from "./index-
|
|
3
|
+
import { u as usePageBuilderEditor } from "./index-BtttVLpv.js";
|
|
4
4
|
const _hoisted_1 = { class: "property-editor property-editor-multiline-text" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
|
6
6
|
const _hoisted_3 = ["textContent"];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createElementBlock, createElementVNode, toDisplayString, createBlock, unref } from "vue";
|
|
2
2
|
import { BSMultiLangTextInput, BSTextInput } from "@g1cloud/bluesea";
|
|
3
|
-
import { u as usePageBuilderEditor } from "./index-
|
|
3
|
+
import { u as usePageBuilderEditor } from "./index-BtttVLpv.js";
|
|
4
4
|
const _hoisted_1 = { class: "property-editor property-editor-text flex-align-center" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
|
6
6
|
const _hoisted_3 = ["textContent"];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString } from "vue";
|
|
2
2
|
import { useModal } from "@g1cloud/bluesea";
|
|
3
|
-
import { s as selectYoutubeVideo } from "./index-
|
|
3
|
+
import { s as selectYoutubeVideo } from "./index-BtttVLpv.js";
|
|
4
4
|
const _hoisted_1 = { class: "property-editor property-editor-image flex-align-center" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
|
6
6
|
const _hoisted_3 = ["textContent"];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createBlock, unref, withCtx, createElementVNode, createElementBlock, Fragment, renderList, toDisplayString } from "vue";
|
|
2
2
|
import { useModalHandle, BSModalFrame } from "@g1cloud/bluesea";
|
|
3
|
-
import { w as widgetPartDefinitions } from "./index-
|
|
3
|
+
import { w as widgetPartDefinitions } from "./index-BtttVLpv.js";
|
|
4
4
|
const _hoisted_1 = { class: "bs-layout-vertical pb-part-add-modal" };
|
|
5
5
|
const _hoisted_2 = { class: "bs-layout-horizontal-wrap ml-16 mb-8 gap-8" };
|
|
6
6
|
const _hoisted_3 = ["onClick", "textContent"];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import { ref, defineComponent, computed, openBlock, createElementBlock, Fragment, createElementVNode, normalizeStyle, createCommentVNode, toDisplayString, onMounted, onBeforeUnmount, createBlock as createBlock$1, resolveDynamicComponent, unref, provide, inject, watch, renderList, normalizeProps, mergeProps, normalizeClass, reactive, defineAsyncComponent,
|
|
4
|
+
import { ref, defineComponent, computed, openBlock, createElementBlock, Fragment, createElementVNode, normalizeStyle, createCommentVNode, toDisplayString, onMounted, onBeforeUnmount, createBlock as createBlock$1, resolveDynamicComponent, unref, provide, inject, watch, renderList, normalizeProps, mergeProps, normalizeClass, withDirectives, vShow, reactive, defineAsyncComponent, createVNode, resolveComponent, vModelText, resolveDirective, withModifiers, renderSlot, guardReactiveProps, markRaw, toHandlers, Teleport } from "vue";
|
|
5
5
|
import { notNull, BSTextInput, vClickOutside, useModal, BSSelect, BSTree, useContextMenu } from "@g1cloud/bluesea";
|
|
6
6
|
import YouTube from "vue3-youtube";
|
|
7
7
|
const create$5 = () => /* @__PURE__ */ new Map();
|
|
@@ -6879,14 +6879,21 @@ let Model$1 = class Model {
|
|
|
6879
6879
|
this.rootPart = ref(new RootPart());
|
|
6880
6880
|
}
|
|
6881
6881
|
};
|
|
6882
|
-
const _hoisted_1$
|
|
6883
|
-
const _sfc_main$
|
|
6882
|
+
const _hoisted_1$a$1 = ["data-part-id"];
|
|
6883
|
+
const _sfc_main$b$1 = /* @__PURE__ */ defineComponent({
|
|
6884
6884
|
__name: "PbWidget",
|
|
6885
6885
|
props: {
|
|
6886
6886
|
part: {}
|
|
6887
6887
|
},
|
|
6888
|
-
|
|
6888
|
+
emits: ["update:visible"],
|
|
6889
|
+
setup(__props, { emit: __emit }) {
|
|
6889
6890
|
const props = __props;
|
|
6891
|
+
const emit = __emit;
|
|
6892
|
+
const visible = ref(true);
|
|
6893
|
+
const updateVisible = (value) => {
|
|
6894
|
+
visible.value = value;
|
|
6895
|
+
emit("update:visible", value);
|
|
6896
|
+
};
|
|
6890
6897
|
const classNames = computed(() => [getPartClassName(props.part), props.part.getClassNames()]);
|
|
6891
6898
|
const styleTag = computed(() => props.part.getStyleTag());
|
|
6892
6899
|
const style = computed(() => ({
|
|
@@ -6896,83 +6903,76 @@ const _sfc_main$c$1 = /* @__PURE__ */ defineComponent({
|
|
|
6896
6903
|
const thisComponent = computed(() => createPartComponent(props.part));
|
|
6897
6904
|
return (_ctx, _cache) => {
|
|
6898
6905
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
6899
|
-
styleTag.value ? (openBlock(), createBlock$1(resolveDynamicComponent("style"), {
|
|
6906
|
+
styleTag.value && visible.value ? (openBlock(), createBlock$1(resolveDynamicComponent("style"), {
|
|
6900
6907
|
key: 0,
|
|
6901
6908
|
innerHTML: styleTag.value
|
|
6902
6909
|
}, null, 8, ["innerHTML"])) : createCommentVNode("", true),
|
|
6903
|
-
createElementVNode("div", {
|
|
6910
|
+
withDirectives(createElementVNode("div", {
|
|
6904
6911
|
class: normalizeClass([classNames.value, "pb-widget"]),
|
|
6905
6912
|
"data-part-id": _ctx.part.partId,
|
|
6906
6913
|
style: normalizeStyle(style.value)
|
|
6907
6914
|
}, [
|
|
6908
6915
|
thisComponent.value ? (openBlock(), createBlock$1(resolveDynamicComponent(thisComponent.value), {
|
|
6909
6916
|
key: 0,
|
|
6910
|
-
part: _ctx.part
|
|
6911
|
-
|
|
6912
|
-
|
|
6917
|
+
part: _ctx.part,
|
|
6918
|
+
"onUpdate:visible": updateVisible
|
|
6919
|
+
}, null, 40, ["part"])) : createCommentVNode("", true)
|
|
6920
|
+
], 14, _hoisted_1$a$1), [
|
|
6921
|
+
[vShow, visible.value]
|
|
6922
|
+
])
|
|
6913
6923
|
], 64);
|
|
6914
6924
|
};
|
|
6915
6925
|
}
|
|
6916
6926
|
});
|
|
6917
|
-
const _hoisted_1$
|
|
6918
|
-
const _sfc_main$
|
|
6927
|
+
const _hoisted_1$9$1 = ["data-part-id"];
|
|
6928
|
+
const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
|
|
6919
6929
|
__name: "PbBlock",
|
|
6920
6930
|
props: {
|
|
6921
6931
|
part: {},
|
|
6922
6932
|
isMobilePage: { type: Boolean }
|
|
6923
6933
|
},
|
|
6924
|
-
|
|
6934
|
+
emits: ["update:visible"],
|
|
6935
|
+
setup(__props, { emit: __emit }) {
|
|
6925
6936
|
const props = __props;
|
|
6937
|
+
const emit = __emit;
|
|
6938
|
+
const visible = ref(true);
|
|
6939
|
+
const childrenVisible = {};
|
|
6940
|
+
const updateVisible = (partId, value) => {
|
|
6941
|
+
childrenVisible[partId] = value;
|
|
6942
|
+
visible.value = props.part.children.some((child) => !(child.partId in childrenVisible) || childrenVisible[child.partId]);
|
|
6943
|
+
emit("update:visible", visible.value);
|
|
6944
|
+
};
|
|
6926
6945
|
const classNames = computed(() => [getPartClassName(props.part), props.part.getClassNames()]);
|
|
6927
6946
|
const styleTag = computed(() => props.part.getStyleTag());
|
|
6928
6947
|
const style = computed(() => ({
|
|
6929
6948
|
...props.part.getStyles(props.isMobilePage),
|
|
6930
6949
|
...props.part.getInlineStyles()
|
|
6931
6950
|
}));
|
|
6932
|
-
computed(() => createPartComponents(props.part.children));
|
|
6933
6951
|
return (_ctx, _cache) => {
|
|
6934
6952
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
6935
|
-
styleTag.value ? (openBlock(), createBlock$1(resolveDynamicComponent("style"), {
|
|
6953
|
+
styleTag.value && visible.value ? (openBlock(), createBlock$1(resolveDynamicComponent("style"), {
|
|
6936
6954
|
key: 0,
|
|
6937
6955
|
innerHTML: styleTag.value
|
|
6938
6956
|
}, null, 8, ["innerHTML"])) : createCommentVNode("", true),
|
|
6939
|
-
createElementVNode("div", {
|
|
6957
|
+
withDirectives(createElementVNode("div", {
|
|
6940
6958
|
class: normalizeClass([classNames.value, "pb-block"]),
|
|
6941
6959
|
"data-part-id": _ctx.part.partId,
|
|
6942
6960
|
style: normalizeStyle(style.value)
|
|
6943
6961
|
}, [
|
|
6944
|
-
(openBlock(true), createElementBlock(Fragment,
|
|
6945
|
-
return openBlock(), createBlock$1(_sfc_main$
|
|
6962
|
+
_ctx.part.children && _ctx.part.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.part.children, (child) => {
|
|
6963
|
+
return openBlock(), createBlock$1(_sfc_main$b$1, {
|
|
6946
6964
|
key: child.partId,
|
|
6947
|
-
part: child
|
|
6948
|
-
|
|
6949
|
-
|
|
6950
|
-
|
|
6965
|
+
part: child,
|
|
6966
|
+
"onUpdate:visible": (value) => updateVisible(child.partId, value)
|
|
6967
|
+
}, null, 8, ["part", "onUpdate:visible"]);
|
|
6968
|
+
}), 128)) : createCommentVNode("", true)
|
|
6969
|
+
], 14, _hoisted_1$9$1), [
|
|
6970
|
+
[vShow, visible.value]
|
|
6971
|
+
])
|
|
6951
6972
|
], 64);
|
|
6952
6973
|
};
|
|
6953
6974
|
}
|
|
6954
6975
|
});
|
|
6955
|
-
const _hoisted_1$9$1 = { class: "pb-block" };
|
|
6956
|
-
const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
|
|
6957
|
-
__name: "PbLoginDepart",
|
|
6958
|
-
props: {
|
|
6959
|
-
part: {}
|
|
6960
|
-
},
|
|
6961
|
-
setup(__props) {
|
|
6962
|
-
return (_ctx, _cache) => {
|
|
6963
|
-
return openBlock(), createElementBlock("div", _hoisted_1$9$1, _cache[0] || (_cache[0] = [
|
|
6964
|
-
createElementVNode("div", {
|
|
6965
|
-
class: "pb-widget",
|
|
6966
|
-
style: { "margin": "0 auto" }
|
|
6967
|
-
}, [
|
|
6968
|
-
createElementVNode("div", { class: "pb-login-widget" }, [
|
|
6969
|
-
createElementVNode("h3", null, "Login Design Part")
|
|
6970
|
-
])
|
|
6971
|
-
], -1)
|
|
6972
|
-
]));
|
|
6973
|
-
};
|
|
6974
|
-
}
|
|
6975
|
-
});
|
|
6976
6976
|
const _hoisted_1$8$1 = ["data-part-id"];
|
|
6977
6977
|
const _sfc_main$9$1 = /* @__PURE__ */ defineComponent({
|
|
6978
6978
|
__name: "PbSection",
|
|
@@ -6982,6 +6982,12 @@ const _sfc_main$9$1 = /* @__PURE__ */ defineComponent({
|
|
|
6982
6982
|
},
|
|
6983
6983
|
setup(__props) {
|
|
6984
6984
|
const props = __props;
|
|
6985
|
+
const visible = ref(true);
|
|
6986
|
+
const childrenVisible = {};
|
|
6987
|
+
const updateVisible = (partId, value) => {
|
|
6988
|
+
childrenVisible[partId] = value;
|
|
6989
|
+
visible.value = props.part.children.some((child) => !(child.partId in childrenVisible) || childrenVisible[child.partId]);
|
|
6990
|
+
};
|
|
6985
6991
|
const classNames = computed(() => [getPartClassName(props.part), props.part.getClassNames()]);
|
|
6986
6992
|
const styleTag = computed(() => props.part.getStyleTag());
|
|
6987
6993
|
const style = computed(() => ({
|
|
@@ -6989,28 +6995,27 @@ const _sfc_main$9$1 = /* @__PURE__ */ defineComponent({
|
|
|
6989
6995
|
...props.part.getInlineStyles()
|
|
6990
6996
|
}));
|
|
6991
6997
|
return (_ctx, _cache) => {
|
|
6992
|
-
var _a;
|
|
6993
6998
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
6994
|
-
styleTag.value ? (openBlock(), createBlock$1(resolveDynamicComponent("style"), {
|
|
6999
|
+
styleTag.value && visible.value ? (openBlock(), createBlock$1(resolveDynamicComponent("style"), {
|
|
6995
7000
|
key: 0,
|
|
6996
7001
|
innerHTML: styleTag.value
|
|
6997
7002
|
}, null, 8, ["innerHTML"])) : createCommentVNode("", true),
|
|
6998
|
-
createElementVNode("div", {
|
|
7003
|
+
withDirectives(createElementVNode("div", {
|
|
6999
7004
|
class: normalizeClass([classNames.value, "pb-section"]),
|
|
7000
7005
|
"data-part-id": _ctx.part.partId,
|
|
7001
7006
|
style: normalizeStyle(style.value)
|
|
7002
7007
|
}, [
|
|
7003
|
-
|
|
7004
|
-
|
|
7005
|
-
|
|
7006
|
-
}, null, 8, ["part"])) : _ctx.part.children && _ctx.part.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(_ctx.part.children, (block) => {
|
|
7007
|
-
return openBlock(), createBlock$1(_sfc_main$b$1, {
|
|
7008
|
-
key: block.partId,
|
|
7008
|
+
_ctx.part.children && _ctx.part.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.part.children, (child) => {
|
|
7009
|
+
return openBlock(), createBlock$1(_sfc_main$a$1, {
|
|
7010
|
+
key: child.partId,
|
|
7009
7011
|
"is-mobile-page": _ctx.isMobilePage,
|
|
7010
|
-
part:
|
|
7011
|
-
|
|
7012
|
+
part: child,
|
|
7013
|
+
"onUpdate:visible": (value) => updateVisible(child.partId, value)
|
|
7014
|
+
}, null, 8, ["is-mobile-page", "part", "onUpdate:visible"]);
|
|
7012
7015
|
}), 128)) : createCommentVNode("", true)
|
|
7013
|
-
], 14, _hoisted_1$8$1)
|
|
7016
|
+
], 14, _hoisted_1$8$1), [
|
|
7017
|
+
[vShow, visible.value]
|
|
7018
|
+
])
|
|
7014
7019
|
], 64);
|
|
7015
7020
|
};
|
|
7016
7021
|
}
|
|
@@ -7280,7 +7285,7 @@ const defaultPartDefinitions = {
|
|
|
7280
7285
|
partType: "Block",
|
|
7281
7286
|
partName: "Block",
|
|
7282
7287
|
className: "pb-block",
|
|
7283
|
-
creator: () => _sfc_main$
|
|
7288
|
+
creator: () => _sfc_main$a$1
|
|
7284
7289
|
},
|
|
7285
7290
|
"TextWidget": {
|
|
7286
7291
|
partType: "Widget",
|
|
@@ -8171,15 +8176,15 @@ class PartManager {
|
|
|
8171
8176
|
const defaultPartPropertyEditors = () => {
|
|
8172
8177
|
return {
|
|
8173
8178
|
"readonly-text": () => defineAsyncComponent(() => import("./PbPropertyEditorReadonlyText-Dgp_AVOD.js")),
|
|
8174
|
-
"text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-
|
|
8179
|
+
"text": () => defineAsyncComponent(() => import("./PbPropertyEditorText-CLz-HW0c.js")),
|
|
8175
8180
|
"number": () => defineAsyncComponent(() => import("./PbPropertyEditorNumber-TTgo0zbQ.js")),
|
|
8176
8181
|
"boolean": () => defineAsyncComponent(() => import("./PbPropertyEditorBoolean-C7-iSAtn.js")),
|
|
8177
|
-
"multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-
|
|
8182
|
+
"multiline-text": () => defineAsyncComponent(() => import("./PbPropertyEditorMultilineText-DHqDdVCb.js")),
|
|
8178
8183
|
"select": () => defineAsyncComponent(() => import("./PbPropertyEditorSelect-CWedbXJI.js")),
|
|
8179
|
-
"color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-
|
|
8180
|
-
"image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-
|
|
8181
|
-
"html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-
|
|
8182
|
-
"youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-
|
|
8184
|
+
"color": () => defineAsyncComponent(() => import("./PbPropertyEditorColor-DHIK8xLM.js")),
|
|
8185
|
+
"image": () => defineAsyncComponent(() => import("./PbPropertyEditorImage-DaQ6AzHk.js")),
|
|
8186
|
+
"html": () => defineAsyncComponent(() => import("./PbPropertyEditorHtml-Jh4spLgs.js")),
|
|
8187
|
+
"youtube": () => defineAsyncComponent(() => import("./PbPropertyEditorYoutube-Dqi0T67b.js"))
|
|
8183
8188
|
};
|
|
8184
8189
|
};
|
|
8185
8190
|
const getPropertyValueOfParts = (parts, propertyName) => {
|
|
@@ -12533,7 +12538,7 @@ __publicField(_OpenAddWidgetModalCommand, "COMMAND_ID", "OpenAddWidgetModal");
|
|
|
12533
12538
|
let OpenAddWidgetModalCommand = _OpenAddWidgetModalCommand;
|
|
12534
12539
|
const openWidgetAddModal = (modal, args, callback) => {
|
|
12535
12540
|
modal.openModal({
|
|
12536
|
-
component: defineAsyncComponent(() => import("./PbWidgetAddModal-
|
|
12541
|
+
component: defineAsyncComponent(() => import("./PbWidgetAddModal-eVGTb1x1.js")),
|
|
12537
12542
|
style: {
|
|
12538
12543
|
width: "80%",
|
|
12539
12544
|
height: "80%",
|
|
@@ -12566,40 +12571,6 @@ const openWidgetAddModal = (modal, args, callback) => {
|
|
|
12566
12571
|
}
|
|
12567
12572
|
});
|
|
12568
12573
|
};
|
|
12569
|
-
const findInsertTargetAndIndex = (pageBuilder, partType) => {
|
|
12570
|
-
var _a, _b, _c;
|
|
12571
|
-
const selected = pageBuilder.context.getSelectedParts()[0];
|
|
12572
|
-
const page = pageBuilder.context.getSelectedPage();
|
|
12573
|
-
if (!page) return {};
|
|
12574
|
-
if (partType === SECTION_TYPE) {
|
|
12575
|
-
const section = pageBuilder.partManager.findNearestSection(selected);
|
|
12576
|
-
return {
|
|
12577
|
-
target: page,
|
|
12578
|
-
index: section ? page.children.indexOf(section) + 1 : (_a = page.children) == null ? void 0 : _a.length
|
|
12579
|
-
};
|
|
12580
|
-
} else if (partType === BLOCK_TYPE) {
|
|
12581
|
-
let section = pageBuilder.partManager.findNearestSection(selected);
|
|
12582
|
-
let block = pageBuilder.partManager.findNearestBlock(selected);
|
|
12583
|
-
if (!section) {
|
|
12584
|
-
section = page.children[page.children.length - 1];
|
|
12585
|
-
}
|
|
12586
|
-
return {
|
|
12587
|
-
target: section,
|
|
12588
|
-
index: block ? section.children.indexOf(block) + 1 : (_b = section.children) == null ? void 0 : _b.length
|
|
12589
|
-
};
|
|
12590
|
-
} else {
|
|
12591
|
-
let block = pageBuilder.partManager.findNearestBlock(selected);
|
|
12592
|
-
let widget = selected.parent.isWidget() ? selected.parent : selected;
|
|
12593
|
-
if (!block) {
|
|
12594
|
-
const section = page.children[page.children.length - 1];
|
|
12595
|
-
block = section.children[section.children.length - 1];
|
|
12596
|
-
}
|
|
12597
|
-
return {
|
|
12598
|
-
target: block,
|
|
12599
|
-
index: widget ? block.children.indexOf(widget) + 1 : (_c = block.children) == null ? void 0 : _c.length
|
|
12600
|
-
};
|
|
12601
|
-
}
|
|
12602
|
-
};
|
|
12603
12574
|
const createPartWithDefinition = (def, properties) => {
|
|
12604
12575
|
const part = createPart(def.partType, def.partName, def.initialProperties);
|
|
12605
12576
|
if (part && properties) {
|
|
@@ -13128,7 +13099,7 @@ const _PastePartCommand = class _PastePartCommand {
|
|
|
13128
13099
|
__publicField(this, "commandId", _PastePartCommand.COMMAND_ID);
|
|
13129
13100
|
}
|
|
13130
13101
|
async execute(pageBuilder) {
|
|
13131
|
-
var _a;
|
|
13102
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
13132
13103
|
const json = await navigator.clipboard.readText();
|
|
13133
13104
|
const object = JSON.parse(json);
|
|
13134
13105
|
if (object.partType === ROOT_TYPE) {
|
|
@@ -13196,7 +13167,7 @@ const _PastePartCommand = class _PastePartCommand {
|
|
|
13196
13167
|
else if (part.partType === WIDGET_TYPE && !pasteType) pasteType = WIDGET_TYPE;
|
|
13197
13168
|
});
|
|
13198
13169
|
if (!pasteType) return;
|
|
13199
|
-
const
|
|
13170
|
+
const partsToPaste = parts.map((part) => {
|
|
13200
13171
|
if (pasteType === SECTION_TYPE) {
|
|
13201
13172
|
if (part.partType === SECTION_TYPE) {
|
|
13202
13173
|
return part;
|
|
@@ -13227,11 +13198,76 @@ const _PastePartCommand = class _PastePartCommand {
|
|
|
13227
13198
|
return part;
|
|
13228
13199
|
}
|
|
13229
13200
|
}).filter(notNull);
|
|
13230
|
-
const
|
|
13231
|
-
const
|
|
13232
|
-
if (
|
|
13233
|
-
|
|
13201
|
+
const selectedPage = pageBuilder.context.getSelectedPage();
|
|
13202
|
+
const selected = pageBuilder.context.getSelectedParts()[0] || selectedPage;
|
|
13203
|
+
if (!selectedPage || !selected) return;
|
|
13204
|
+
let selectedWidget;
|
|
13205
|
+
if (selected && selected.isWidget()) selectedWidget = selected;
|
|
13206
|
+
if (selectedWidget && selectedWidget.isNestedWidget()) selectedWidget = selectedWidget.parent;
|
|
13207
|
+
let selectedBlock;
|
|
13208
|
+
if (selectedWidget) selectedBlock = selectedWidget.parent;
|
|
13209
|
+
else if (selected && selected.isBlock()) selectedBlock = selected;
|
|
13210
|
+
let selectedSection;
|
|
13211
|
+
if (selectedBlock) selectedSection = selectedBlock.parent;
|
|
13212
|
+
else if (selected && selected.isSection()) selectedSection = selected;
|
|
13213
|
+
let targetPartId;
|
|
13214
|
+
let targetIndex = -1;
|
|
13215
|
+
let partsToInsert;
|
|
13216
|
+
if (pasteType === SECTION_TYPE) {
|
|
13217
|
+
targetPartId = selectedPage.partId;
|
|
13218
|
+
targetIndex = selectedSection ? selectedPage.children.indexOf(selectedSection) + 1 : ((_b = selectedPage.children) == null ? void 0 : _b.length) || 0;
|
|
13219
|
+
partsToInsert = partsToPaste;
|
|
13220
|
+
} else if (pasteType === BLOCK_TYPE) {
|
|
13221
|
+
if (selectedSection) {
|
|
13222
|
+
targetPartId = selectedSection.partId;
|
|
13223
|
+
targetIndex = selectedBlock ? selectedSection.children.indexOf(selectedBlock) + 1 : ((_c = selectedSection.children) == null ? void 0 : _c.length) || 0;
|
|
13224
|
+
partsToInsert = partsToPaste;
|
|
13225
|
+
} else if ((_d = selectedPage.children) == null ? void 0 : _d.length) {
|
|
13226
|
+
selectedSection = selectedPage.children[selectedPage.children.length - 1];
|
|
13227
|
+
targetPartId = selectedSection.partId;
|
|
13228
|
+
targetIndex = ((_e = selectedSection.children) == null ? void 0 : _e.length) || 0;
|
|
13229
|
+
partsToInsert = partsToPaste;
|
|
13230
|
+
} else {
|
|
13231
|
+
const newSection = createSection(pageBuilder);
|
|
13232
|
+
if (!newSection) return;
|
|
13233
|
+
newSection.children = partsToPaste;
|
|
13234
|
+
targetPartId = selectedPage.partId;
|
|
13235
|
+
targetIndex = 0;
|
|
13236
|
+
partsToInsert = [newSection];
|
|
13237
|
+
}
|
|
13238
|
+
} else if (pasteType === WIDGET_TYPE) {
|
|
13239
|
+
if (selectedBlock) {
|
|
13240
|
+
targetPartId = selectedBlock.partId;
|
|
13241
|
+
targetIndex = selectedWidget ? selectedBlock.children.indexOf(selectedWidget) + 1 : ((_f = selectedBlock.children) == null ? void 0 : _f.length) || 0;
|
|
13242
|
+
partsToInsert = partsToPaste;
|
|
13243
|
+
} else if (selectedSection || ((_g = selectedPage.children) == null ? void 0 : _g.length)) {
|
|
13244
|
+
if (!selectedSection) selectedSection = selectedPage.children[selectedPage.children.length - 1];
|
|
13245
|
+
if ((_h = selectedSection.children) == null ? void 0 : _h.length) {
|
|
13246
|
+
selectedBlock = selectedSection.children[selectedSection.children.length - 1];
|
|
13247
|
+
targetPartId = selectedBlock.partId;
|
|
13248
|
+
targetIndex = ((_i = selectedBlock.children) == null ? void 0 : _i.length) || 0;
|
|
13249
|
+
partsToInsert = partsToPaste;
|
|
13250
|
+
} else {
|
|
13251
|
+
const newBlock = createBlock(pageBuilder);
|
|
13252
|
+
if (!newBlock) return;
|
|
13253
|
+
newBlock.children = partsToPaste;
|
|
13254
|
+
targetPartId = selectedSection.partId;
|
|
13255
|
+
targetIndex = 0;
|
|
13256
|
+
partsToInsert = [newBlock];
|
|
13257
|
+
}
|
|
13258
|
+
} else {
|
|
13259
|
+
const newBlock = createBlock(pageBuilder);
|
|
13260
|
+
const newSection = createSection(pageBuilder);
|
|
13261
|
+
if (!newBlock || !newSection) return;
|
|
13262
|
+
newSection.children = [newBlock];
|
|
13263
|
+
newBlock.children = partsToPaste;
|
|
13264
|
+
targetPartId = selectedPage.partId;
|
|
13265
|
+
targetIndex = 0;
|
|
13266
|
+
partsToInsert = [newSection];
|
|
13267
|
+
}
|
|
13234
13268
|
}
|
|
13269
|
+
if (!targetPartId || targetIndex < 0 || !partsToInsert) return;
|
|
13270
|
+
insertParts(pageBuilder, targetPartId, targetIndex, partsToInsert, false);
|
|
13235
13271
|
}
|
|
13236
13272
|
}
|
|
13237
13273
|
};
|
|
@@ -13636,8 +13672,8 @@ class PageBuilderContextImpl {
|
|
|
13636
13672
|
const pages = this.model.rootPart.children;
|
|
13637
13673
|
let part = this.selection[0];
|
|
13638
13674
|
if (!part) return pages && pages[0];
|
|
13639
|
-
while (part
|
|
13640
|
-
if (part.
|
|
13675
|
+
while (part) {
|
|
13676
|
+
if (part.isPage()) return part;
|
|
13641
13677
|
part = part.parent;
|
|
13642
13678
|
}
|
|
13643
13679
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B, b, M, c, d, e, _, a, f, g, h, i, j, k, l, m, n, R, o, S, p, W, q, r, t, v, x, y, z, A, C } from "./index-
|
|
1
|
+
import { B, b, M, c, d, e, _, a, f, g, h, i, j, k, l, m, n, R, o, S, p, W, q, r, t, v, x, y, z, A, C } from "./index-BtttVLpv.js";
|
|
2
2
|
export {
|
|
3
3
|
B as BLOCK_TYPE,
|
|
4
4
|
b as Block,
|
|
@@ -6880,14 +6880,21 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6880
6880
|
this.rootPart = vue.ref(new RootPart());
|
|
6881
6881
|
}
|
|
6882
6882
|
};
|
|
6883
|
-
const _hoisted_1$
|
|
6884
|
-
const _sfc_main$
|
|
6883
|
+
const _hoisted_1$a$1 = ["data-part-id"];
|
|
6884
|
+
const _sfc_main$b$1 = /* @__PURE__ */ vue.defineComponent({
|
|
6885
6885
|
__name: "PbWidget",
|
|
6886
6886
|
props: {
|
|
6887
6887
|
part: {}
|
|
6888
6888
|
},
|
|
6889
|
-
|
|
6889
|
+
emits: ["update:visible"],
|
|
6890
|
+
setup(__props, { emit: __emit }) {
|
|
6890
6891
|
const props = __props;
|
|
6892
|
+
const emit = __emit;
|
|
6893
|
+
const visible = vue.ref(true);
|
|
6894
|
+
const updateVisible = (value) => {
|
|
6895
|
+
visible.value = value;
|
|
6896
|
+
emit("update:visible", value);
|
|
6897
|
+
};
|
|
6891
6898
|
const classNames = vue.computed(() => [getPartClassName(props.part), props.part.getClassNames()]);
|
|
6892
6899
|
const styleTag = vue.computed(() => props.part.getStyleTag());
|
|
6893
6900
|
const style = vue.computed(() => ({
|
|
@@ -6897,83 +6904,76 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6897
6904
|
const thisComponent = vue.computed(() => createPartComponent(props.part));
|
|
6898
6905
|
return (_ctx, _cache) => {
|
|
6899
6906
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
6900
|
-
styleTag.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent("style"), {
|
|
6907
|
+
styleTag.value && visible.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent("style"), {
|
|
6901
6908
|
key: 0,
|
|
6902
6909
|
innerHTML: styleTag.value
|
|
6903
6910
|
}, null, 8, ["innerHTML"])) : vue.createCommentVNode("", true),
|
|
6904
|
-
vue.createElementVNode("div", {
|
|
6911
|
+
vue.withDirectives(vue.createElementVNode("div", {
|
|
6905
6912
|
class: vue.normalizeClass([classNames.value, "pb-widget"]),
|
|
6906
6913
|
"data-part-id": _ctx.part.partId,
|
|
6907
6914
|
style: vue.normalizeStyle(style.value)
|
|
6908
6915
|
}, [
|
|
6909
6916
|
thisComponent.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(thisComponent.value), {
|
|
6910
6917
|
key: 0,
|
|
6911
|
-
part: _ctx.part
|
|
6912
|
-
|
|
6913
|
-
|
|
6918
|
+
part: _ctx.part,
|
|
6919
|
+
"onUpdate:visible": updateVisible
|
|
6920
|
+
}, null, 40, ["part"])) : vue.createCommentVNode("", true)
|
|
6921
|
+
], 14, _hoisted_1$a$1), [
|
|
6922
|
+
[vue.vShow, visible.value]
|
|
6923
|
+
])
|
|
6914
6924
|
], 64);
|
|
6915
6925
|
};
|
|
6916
6926
|
}
|
|
6917
6927
|
});
|
|
6918
|
-
const _hoisted_1$
|
|
6919
|
-
const _sfc_main$
|
|
6928
|
+
const _hoisted_1$9$1 = ["data-part-id"];
|
|
6929
|
+
const _sfc_main$a$1 = /* @__PURE__ */ vue.defineComponent({
|
|
6920
6930
|
__name: "PbBlock",
|
|
6921
6931
|
props: {
|
|
6922
6932
|
part: {},
|
|
6923
6933
|
isMobilePage: { type: Boolean }
|
|
6924
6934
|
},
|
|
6925
|
-
|
|
6935
|
+
emits: ["update:visible"],
|
|
6936
|
+
setup(__props, { emit: __emit }) {
|
|
6926
6937
|
const props = __props;
|
|
6938
|
+
const emit = __emit;
|
|
6939
|
+
const visible = vue.ref(true);
|
|
6940
|
+
const childrenVisible = {};
|
|
6941
|
+
const updateVisible = (partId, value) => {
|
|
6942
|
+
childrenVisible[partId] = value;
|
|
6943
|
+
visible.value = props.part.children.some((child) => !(child.partId in childrenVisible) || childrenVisible[child.partId]);
|
|
6944
|
+
emit("update:visible", visible.value);
|
|
6945
|
+
};
|
|
6927
6946
|
const classNames = vue.computed(() => [getPartClassName(props.part), props.part.getClassNames()]);
|
|
6928
6947
|
const styleTag = vue.computed(() => props.part.getStyleTag());
|
|
6929
6948
|
const style = vue.computed(() => ({
|
|
6930
6949
|
...props.part.getStyles(props.isMobilePage),
|
|
6931
6950
|
...props.part.getInlineStyles()
|
|
6932
6951
|
}));
|
|
6933
|
-
vue.computed(() => createPartComponents(props.part.children));
|
|
6934
6952
|
return (_ctx, _cache) => {
|
|
6935
6953
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
6936
|
-
styleTag.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent("style"), {
|
|
6954
|
+
styleTag.value && visible.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent("style"), {
|
|
6937
6955
|
key: 0,
|
|
6938
6956
|
innerHTML: styleTag.value
|
|
6939
6957
|
}, null, 8, ["innerHTML"])) : vue.createCommentVNode("", true),
|
|
6940
|
-
vue.createElementVNode("div", {
|
|
6958
|
+
vue.withDirectives(vue.createElementVNode("div", {
|
|
6941
6959
|
class: vue.normalizeClass([classNames.value, "pb-block"]),
|
|
6942
6960
|
"data-part-id": _ctx.part.partId,
|
|
6943
6961
|
style: vue.normalizeStyle(style.value)
|
|
6944
6962
|
}, [
|
|
6945
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment,
|
|
6946
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
6963
|
+
_ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (child) => {
|
|
6964
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$b$1, {
|
|
6947
6965
|
key: child.partId,
|
|
6948
|
-
part: child
|
|
6949
|
-
|
|
6950
|
-
|
|
6951
|
-
|
|
6966
|
+
part: child,
|
|
6967
|
+
"onUpdate:visible": (value) => updateVisible(child.partId, value)
|
|
6968
|
+
}, null, 8, ["part", "onUpdate:visible"]);
|
|
6969
|
+
}), 128)) : vue.createCommentVNode("", true)
|
|
6970
|
+
], 14, _hoisted_1$9$1), [
|
|
6971
|
+
[vue.vShow, visible.value]
|
|
6972
|
+
])
|
|
6952
6973
|
], 64);
|
|
6953
6974
|
};
|
|
6954
6975
|
}
|
|
6955
6976
|
});
|
|
6956
|
-
const _hoisted_1$9$1 = { class: "pb-block" };
|
|
6957
|
-
const _sfc_main$a$1 = /* @__PURE__ */ vue.defineComponent({
|
|
6958
|
-
__name: "PbLoginDepart",
|
|
6959
|
-
props: {
|
|
6960
|
-
part: {}
|
|
6961
|
-
},
|
|
6962
|
-
setup(__props) {
|
|
6963
|
-
return (_ctx, _cache) => {
|
|
6964
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9$1, _cache[0] || (_cache[0] = [
|
|
6965
|
-
vue.createElementVNode("div", {
|
|
6966
|
-
class: "pb-widget",
|
|
6967
|
-
style: { "margin": "0 auto" }
|
|
6968
|
-
}, [
|
|
6969
|
-
vue.createElementVNode("div", { class: "pb-login-widget" }, [
|
|
6970
|
-
vue.createElementVNode("h3", null, "Login Design Part")
|
|
6971
|
-
])
|
|
6972
|
-
], -1)
|
|
6973
|
-
]));
|
|
6974
|
-
};
|
|
6975
|
-
}
|
|
6976
|
-
});
|
|
6977
6977
|
const _hoisted_1$8$1 = ["data-part-id"];
|
|
6978
6978
|
const _sfc_main$9$1 = /* @__PURE__ */ vue.defineComponent({
|
|
6979
6979
|
__name: "PbSection",
|
|
@@ -6983,6 +6983,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6983
6983
|
},
|
|
6984
6984
|
setup(__props) {
|
|
6985
6985
|
const props = __props;
|
|
6986
|
+
const visible = vue.ref(true);
|
|
6987
|
+
const childrenVisible = {};
|
|
6988
|
+
const updateVisible = (partId, value) => {
|
|
6989
|
+
childrenVisible[partId] = value;
|
|
6990
|
+
visible.value = props.part.children.some((child) => !(child.partId in childrenVisible) || childrenVisible[child.partId]);
|
|
6991
|
+
};
|
|
6986
6992
|
const classNames = vue.computed(() => [getPartClassName(props.part), props.part.getClassNames()]);
|
|
6987
6993
|
const styleTag = vue.computed(() => props.part.getStyleTag());
|
|
6988
6994
|
const style = vue.computed(() => ({
|
|
@@ -6990,28 +6996,27 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6990
6996
|
...props.part.getInlineStyles()
|
|
6991
6997
|
}));
|
|
6992
6998
|
return (_ctx, _cache) => {
|
|
6993
|
-
var _a;
|
|
6994
6999
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
6995
|
-
styleTag.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent("style"), {
|
|
7000
|
+
styleTag.value && visible.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent("style"), {
|
|
6996
7001
|
key: 0,
|
|
6997
7002
|
innerHTML: styleTag.value
|
|
6998
7003
|
}, null, 8, ["innerHTML"])) : vue.createCommentVNode("", true),
|
|
6999
|
-
vue.createElementVNode("div", {
|
|
7004
|
+
vue.withDirectives(vue.createElementVNode("div", {
|
|
7000
7005
|
class: vue.normalizeClass([classNames.value, "pb-section"]),
|
|
7001
7006
|
"data-part-id": _ctx.part.partId,
|
|
7002
7007
|
style: vue.normalizeStyle(style.value)
|
|
7003
7008
|
}, [
|
|
7004
|
-
|
|
7005
|
-
|
|
7006
|
-
|
|
7007
|
-
}, null, 8, ["part"])) : _ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.part.children, (block) => {
|
|
7008
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$b$1, {
|
|
7009
|
-
key: block.partId,
|
|
7009
|
+
_ctx.part.children && _ctx.part.children.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.part.children, (child) => {
|
|
7010
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$a$1, {
|
|
7011
|
+
key: child.partId,
|
|
7010
7012
|
"is-mobile-page": _ctx.isMobilePage,
|
|
7011
|
-
part:
|
|
7012
|
-
|
|
7013
|
+
part: child,
|
|
7014
|
+
"onUpdate:visible": (value) => updateVisible(child.partId, value)
|
|
7015
|
+
}, null, 8, ["is-mobile-page", "part", "onUpdate:visible"]);
|
|
7013
7016
|
}), 128)) : vue.createCommentVNode("", true)
|
|
7014
|
-
], 14, _hoisted_1$8$1)
|
|
7017
|
+
], 14, _hoisted_1$8$1), [
|
|
7018
|
+
[vue.vShow, visible.value]
|
|
7019
|
+
])
|
|
7015
7020
|
], 64);
|
|
7016
7021
|
};
|
|
7017
7022
|
}
|
|
@@ -7281,7 +7286,7 @@ ${_html.style}
|
|
|
7281
7286
|
partType: "Block",
|
|
7282
7287
|
partName: "Block",
|
|
7283
7288
|
className: "pb-block",
|
|
7284
|
-
creator: () => _sfc_main$
|
|
7289
|
+
creator: () => _sfc_main$a$1
|
|
7285
7290
|
},
|
|
7286
7291
|
"TextWidget": {
|
|
7287
7292
|
partType: "Widget",
|
|
@@ -12567,40 +12572,6 @@ ${_html.style}
|
|
|
12567
12572
|
}
|
|
12568
12573
|
});
|
|
12569
12574
|
};
|
|
12570
|
-
const findInsertTargetAndIndex = (pageBuilder, partType) => {
|
|
12571
|
-
var _a, _b, _c;
|
|
12572
|
-
const selected = pageBuilder.context.getSelectedParts()[0];
|
|
12573
|
-
const page = pageBuilder.context.getSelectedPage();
|
|
12574
|
-
if (!page) return {};
|
|
12575
|
-
if (partType === SECTION_TYPE) {
|
|
12576
|
-
const section = pageBuilder.partManager.findNearestSection(selected);
|
|
12577
|
-
return {
|
|
12578
|
-
target: page,
|
|
12579
|
-
index: section ? page.children.indexOf(section) + 1 : (_a = page.children) == null ? void 0 : _a.length
|
|
12580
|
-
};
|
|
12581
|
-
} else if (partType === BLOCK_TYPE) {
|
|
12582
|
-
let section = pageBuilder.partManager.findNearestSection(selected);
|
|
12583
|
-
let block = pageBuilder.partManager.findNearestBlock(selected);
|
|
12584
|
-
if (!section) {
|
|
12585
|
-
section = page.children[page.children.length - 1];
|
|
12586
|
-
}
|
|
12587
|
-
return {
|
|
12588
|
-
target: section,
|
|
12589
|
-
index: block ? section.children.indexOf(block) + 1 : (_b = section.children) == null ? void 0 : _b.length
|
|
12590
|
-
};
|
|
12591
|
-
} else {
|
|
12592
|
-
let block = pageBuilder.partManager.findNearestBlock(selected);
|
|
12593
|
-
let widget = selected.parent.isWidget() ? selected.parent : selected;
|
|
12594
|
-
if (!block) {
|
|
12595
|
-
const section = page.children[page.children.length - 1];
|
|
12596
|
-
block = section.children[section.children.length - 1];
|
|
12597
|
-
}
|
|
12598
|
-
return {
|
|
12599
|
-
target: block,
|
|
12600
|
-
index: widget ? block.children.indexOf(widget) + 1 : (_c = block.children) == null ? void 0 : _c.length
|
|
12601
|
-
};
|
|
12602
|
-
}
|
|
12603
|
-
};
|
|
12604
12575
|
const createPartWithDefinition = (def, properties) => {
|
|
12605
12576
|
const part = createPart(def.partType, def.partName, def.initialProperties);
|
|
12606
12577
|
if (part && properties) {
|
|
@@ -13129,7 +13100,7 @@ ${_html.style}
|
|
|
13129
13100
|
__publicField(this, "commandId", _PastePartCommand.COMMAND_ID);
|
|
13130
13101
|
}
|
|
13131
13102
|
async execute(pageBuilder) {
|
|
13132
|
-
var _a;
|
|
13103
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
13133
13104
|
const json = await navigator.clipboard.readText();
|
|
13134
13105
|
const object = JSON.parse(json);
|
|
13135
13106
|
if (object.partType === ROOT_TYPE) {
|
|
@@ -13197,7 +13168,7 @@ ${_html.style}
|
|
|
13197
13168
|
else if (part.partType === WIDGET_TYPE && !pasteType) pasteType = WIDGET_TYPE;
|
|
13198
13169
|
});
|
|
13199
13170
|
if (!pasteType) return;
|
|
13200
|
-
const
|
|
13171
|
+
const partsToPaste = parts.map((part) => {
|
|
13201
13172
|
if (pasteType === SECTION_TYPE) {
|
|
13202
13173
|
if (part.partType === SECTION_TYPE) {
|
|
13203
13174
|
return part;
|
|
@@ -13228,11 +13199,76 @@ ${_html.style}
|
|
|
13228
13199
|
return part;
|
|
13229
13200
|
}
|
|
13230
13201
|
}).filter(bluesea.notNull);
|
|
13231
|
-
const
|
|
13232
|
-
const
|
|
13233
|
-
if (
|
|
13234
|
-
|
|
13202
|
+
const selectedPage = pageBuilder.context.getSelectedPage();
|
|
13203
|
+
const selected = pageBuilder.context.getSelectedParts()[0] || selectedPage;
|
|
13204
|
+
if (!selectedPage || !selected) return;
|
|
13205
|
+
let selectedWidget;
|
|
13206
|
+
if (selected && selected.isWidget()) selectedWidget = selected;
|
|
13207
|
+
if (selectedWidget && selectedWidget.isNestedWidget()) selectedWidget = selectedWidget.parent;
|
|
13208
|
+
let selectedBlock;
|
|
13209
|
+
if (selectedWidget) selectedBlock = selectedWidget.parent;
|
|
13210
|
+
else if (selected && selected.isBlock()) selectedBlock = selected;
|
|
13211
|
+
let selectedSection;
|
|
13212
|
+
if (selectedBlock) selectedSection = selectedBlock.parent;
|
|
13213
|
+
else if (selected && selected.isSection()) selectedSection = selected;
|
|
13214
|
+
let targetPartId;
|
|
13215
|
+
let targetIndex = -1;
|
|
13216
|
+
let partsToInsert;
|
|
13217
|
+
if (pasteType === SECTION_TYPE) {
|
|
13218
|
+
targetPartId = selectedPage.partId;
|
|
13219
|
+
targetIndex = selectedSection ? selectedPage.children.indexOf(selectedSection) + 1 : ((_b = selectedPage.children) == null ? void 0 : _b.length) || 0;
|
|
13220
|
+
partsToInsert = partsToPaste;
|
|
13221
|
+
} else if (pasteType === BLOCK_TYPE) {
|
|
13222
|
+
if (selectedSection) {
|
|
13223
|
+
targetPartId = selectedSection.partId;
|
|
13224
|
+
targetIndex = selectedBlock ? selectedSection.children.indexOf(selectedBlock) + 1 : ((_c = selectedSection.children) == null ? void 0 : _c.length) || 0;
|
|
13225
|
+
partsToInsert = partsToPaste;
|
|
13226
|
+
} else if ((_d = selectedPage.children) == null ? void 0 : _d.length) {
|
|
13227
|
+
selectedSection = selectedPage.children[selectedPage.children.length - 1];
|
|
13228
|
+
targetPartId = selectedSection.partId;
|
|
13229
|
+
targetIndex = ((_e = selectedSection.children) == null ? void 0 : _e.length) || 0;
|
|
13230
|
+
partsToInsert = partsToPaste;
|
|
13231
|
+
} else {
|
|
13232
|
+
const newSection = createSection(pageBuilder);
|
|
13233
|
+
if (!newSection) return;
|
|
13234
|
+
newSection.children = partsToPaste;
|
|
13235
|
+
targetPartId = selectedPage.partId;
|
|
13236
|
+
targetIndex = 0;
|
|
13237
|
+
partsToInsert = [newSection];
|
|
13238
|
+
}
|
|
13239
|
+
} else if (pasteType === WIDGET_TYPE) {
|
|
13240
|
+
if (selectedBlock) {
|
|
13241
|
+
targetPartId = selectedBlock.partId;
|
|
13242
|
+
targetIndex = selectedWidget ? selectedBlock.children.indexOf(selectedWidget) + 1 : ((_f = selectedBlock.children) == null ? void 0 : _f.length) || 0;
|
|
13243
|
+
partsToInsert = partsToPaste;
|
|
13244
|
+
} else if (selectedSection || ((_g = selectedPage.children) == null ? void 0 : _g.length)) {
|
|
13245
|
+
if (!selectedSection) selectedSection = selectedPage.children[selectedPage.children.length - 1];
|
|
13246
|
+
if ((_h = selectedSection.children) == null ? void 0 : _h.length) {
|
|
13247
|
+
selectedBlock = selectedSection.children[selectedSection.children.length - 1];
|
|
13248
|
+
targetPartId = selectedBlock.partId;
|
|
13249
|
+
targetIndex = ((_i = selectedBlock.children) == null ? void 0 : _i.length) || 0;
|
|
13250
|
+
partsToInsert = partsToPaste;
|
|
13251
|
+
} else {
|
|
13252
|
+
const newBlock = createBlock(pageBuilder);
|
|
13253
|
+
if (!newBlock) return;
|
|
13254
|
+
newBlock.children = partsToPaste;
|
|
13255
|
+
targetPartId = selectedSection.partId;
|
|
13256
|
+
targetIndex = 0;
|
|
13257
|
+
partsToInsert = [newBlock];
|
|
13258
|
+
}
|
|
13259
|
+
} else {
|
|
13260
|
+
const newBlock = createBlock(pageBuilder);
|
|
13261
|
+
const newSection = createSection(pageBuilder);
|
|
13262
|
+
if (!newBlock || !newSection) return;
|
|
13263
|
+
newSection.children = [newBlock];
|
|
13264
|
+
newBlock.children = partsToPaste;
|
|
13265
|
+
targetPartId = selectedPage.partId;
|
|
13266
|
+
targetIndex = 0;
|
|
13267
|
+
partsToInsert = [newSection];
|
|
13268
|
+
}
|
|
13235
13269
|
}
|
|
13270
|
+
if (!targetPartId || targetIndex < 0 || !partsToInsert) return;
|
|
13271
|
+
insertParts(pageBuilder, targetPartId, targetIndex, partsToInsert, false);
|
|
13236
13272
|
}
|
|
13237
13273
|
}
|
|
13238
13274
|
};
|
|
@@ -13637,8 +13673,8 @@ ${_html.style}
|
|
|
13637
13673
|
const pages = this.model.rootPart.children;
|
|
13638
13674
|
let part = this.selection[0];
|
|
13639
13675
|
if (!part) return pages && pages[0];
|
|
13640
|
-
while (part
|
|
13641
|
-
if (part.
|
|
13676
|
+
while (part) {
|
|
13677
|
+
if (part.isPage()) return part;
|
|
13642
13678
|
part = part.parent;
|
|
13643
13679
|
}
|
|
13644
13680
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@g1cloud/page-builder-editor",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.0.0-alpha.
|
|
4
|
+
"version": "1.0.0-alpha.45",
|
|
5
5
|
"engins": {
|
|
6
6
|
"node": ">= 20.0.0"
|
|
7
7
|
},
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"author": "zag@g1project.net",
|
|
17
17
|
"license": "LicenseRef-LICENSE",
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@g1cloud/bluesea": "5.0.0-alpha.
|
|
19
|
+
"@g1cloud/bluesea": "5.0.0-alpha.84",
|
|
20
20
|
"vue3-youtube": "^0.1.9"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"vue-router": "^4.4.3",
|
|
31
31
|
"vue3-click-away": "^1.2.4",
|
|
32
32
|
"yjs": "^13.6.14",
|
|
33
|
-
"@g1cloud/page-builder-viewer": "1.0.0-alpha.
|
|
33
|
+
"@g1cloud/page-builder-viewer": "1.0.0-alpha.45"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^20.12.7",
|