@tmagic/editor 1.3.0-beta.6 → 1.3.0-beta.7

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 (34) hide show
  1. package/dist/style.css +57 -56
  2. package/dist/tmagic-editor.js +487 -390
  3. package/dist/tmagic-editor.js.map +1 -1
  4. package/dist/tmagic-editor.umd.cjs +505 -408
  5. package/dist/tmagic-editor.umd.cjs.map +1 -1
  6. package/package.json +10 -10
  7. package/src/Editor.vue +8 -0
  8. package/src/components/Tree.vue +66 -0
  9. package/src/components/TreeNode.vue +142 -0
  10. package/src/layouts/sidebar/Sidebar.vue +13 -0
  11. package/src/layouts/sidebar/data-source/DataSourceList.vue +4 -2
  12. package/src/layouts/sidebar/data-source/DataSourceListPanel.vue +8 -2
  13. package/src/layouts/sidebar/layer/LayerPanel.vue +40 -31
  14. package/src/layouts/sidebar/layer/use-click.ts +105 -0
  15. package/src/layouts/sidebar/layer/use-drag.ts +1 -1
  16. package/src/layouts/sidebar/layer/use-filter.ts +1 -12
  17. package/src/layouts/sidebar/layer/use-keybinding.ts +6 -2
  18. package/src/layouts/sidebar/layer/use-node-status.ts +4 -2
  19. package/src/theme/layer-panel.scss +2 -74
  20. package/src/theme/theme.scss +1 -0
  21. package/src/theme/tree.scss +72 -0
  22. package/src/type.ts +16 -1
  23. package/src/utils/tree.ts +15 -0
  24. package/types/{layouts/sidebar/layer/LayerNode.vue.d.ts → components/Tree.vue.d.ts} +19 -17
  25. package/types/components/TreeNode.vue.d.ts +47 -0
  26. package/types/layouts/sidebar/data-source/DataSourceList.vue.d.ts +2 -6
  27. package/types/layouts/sidebar/data-source/DataSourceListPanel.vue.d.ts +7 -1
  28. package/types/layouts/sidebar/layer/LayerPanel.vue.d.ts +1 -1
  29. package/types/layouts/sidebar/layer/use-click.d.ts +106 -0
  30. package/types/layouts/sidebar/layer/use-filter.d.ts +0 -1
  31. package/types/layouts/sidebar/layer/use-keybinding.d.ts +2 -1
  32. package/types/type.d.ts +20 -1
  33. package/types/utils/tree.d.ts +3 -0
  34. package/src/layouts/sidebar/layer/LayerNode.vue +0 -208
@@ -29,10 +29,10 @@
29
29
  };
30
30
  const getConfig = (key) => $TMAGIC_EDITOR[key];
31
31
 
32
- const _hoisted_1$w = {
32
+ const _hoisted_1$x = {
33
33
  class: /* @__PURE__ */ vue.normalizeClass(`magic-code-editor`)
34
34
  };
35
- const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
35
+ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
36
36
  ...{
37
37
  name: "MEditorCodeEditor"
38
38
  },
@@ -189,7 +189,7 @@
189
189
  }
190
190
  });
191
191
  return (_ctx, _cache) => {
192
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
192
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
193
193
  (vue.openBlock(), vue.createBlock(vue.Teleport, {
194
194
  to: "body",
195
195
  disabled: !fullScreen.value
@@ -217,7 +217,7 @@
217
217
  }
218
218
  });
219
219
 
220
- const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
220
+ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
221
221
  ...{
222
222
  name: "MEditorCode"
223
223
  },
@@ -241,7 +241,7 @@
241
241
  emit("change", v);
242
242
  };
243
243
  return (_ctx, _cache) => {
244
- return vue.openBlock(), vue.createBlock(_sfc_main$S, {
244
+ return vue.openBlock(), vue.createBlock(_sfc_main$T, {
245
245
  height: _ctx.config.height,
246
246
  "init-values": _ctx.model[_ctx.name],
247
247
  language: _ctx.config.language,
@@ -256,7 +256,7 @@
256
256
  }
257
257
  });
258
258
 
259
- const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
259
+ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
260
260
  ...{
261
261
  name: "MEditorCodeLink"
262
262
  },
@@ -335,7 +335,7 @@
335
335
  }
336
336
  });
337
337
 
338
- const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
338
+ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
339
339
  ...{
340
340
  name: "MEditorCodeSelect"
341
341
  },
@@ -407,11 +407,11 @@
407
407
  }
408
408
  });
409
409
 
410
- const _hoisted_1$v = { style: { "display": "flex", "margin-bottom": "10px" } };
410
+ const _hoisted_1$w = { style: { "display": "flex", "margin-bottom": "10px" } };
411
411
  const _hoisted_2$p = { style: { "flex": "1" } };
412
412
  const _hoisted_3$b = { style: { "flex": "1" } };
413
413
  const _hoisted_4$7 = { class: "dialog-footer" };
414
- const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
414
+ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
415
415
  ...{
416
416
  name: "MEditorCodeBlockEditor"
417
417
  },
@@ -653,7 +653,7 @@
653
653
  ])
654
654
  ]),
655
655
  default: vue.withCtx(() => [
656
- vue.createElementVNode("div", _hoisted_1$v, [
656
+ vue.createElementVNode("div", _hoisted_1$w, [
657
657
  vue.createElementVNode("div", _hoisted_2$p, [
658
658
  vue.createVNode(vue.unref(design.TMagicTag), {
659
659
  size: "small",
@@ -677,7 +677,7 @@
677
677
  })
678
678
  ])
679
679
  ]),
680
- difVisible.value ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
680
+ difVisible.value ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
681
681
  key: 0,
682
682
  ref_key: "magicVsEditor",
683
683
  ref: magicVsEditor,
@@ -2964,7 +2964,7 @@
2964
2964
  return newNode;
2965
2965
  };
2966
2966
 
2967
- const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
2967
+ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
2968
2968
  ...{
2969
2969
  name: "MEditorCodeParams"
2970
2970
  },
@@ -3013,8 +3013,8 @@
3013
3013
  }
3014
3014
  });
3015
3015
 
3016
- const _hoisted_1$u = ["src"];
3017
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
3016
+ const _hoisted_1$v = ["src"];
3017
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
3018
3018
  ...{
3019
3019
  name: "MEditorIcon"
3020
3020
  },
@@ -3038,7 +3038,7 @@
3038
3038
  class: "magic-editor-icon"
3039
3039
  }, {
3040
3040
  default: vue.withCtx(() => [
3041
- vue.createElementVNode("img", { src: _ctx.icon }, null, 8, _hoisted_1$u)
3041
+ vue.createElementVNode("img", { src: _ctx.icon }, null, 8, _hoisted_1$v)
3042
3042
  ]),
3043
3043
  _: 1
3044
3044
  })) : typeof _ctx.icon === "string" ? (vue.openBlock(), vue.createElementBlock("i", {
@@ -3115,9 +3115,9 @@
3115
3115
  };
3116
3116
  };
3117
3117
 
3118
- const _hoisted_1$t = { class: "m-fields-code-select-col" };
3118
+ const _hoisted_1$u = { class: "m-fields-code-select-col" };
3119
3119
  const _hoisted_2$o = { class: "code-select-container" };
3120
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
3120
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
3121
3121
  ...{
3122
3122
  name: "MEditorCodeSelectCol"
3123
3123
  },
@@ -3189,7 +3189,7 @@
3189
3189
  const { codeBlockEditor, codeConfig, editCode, submitCodeBlockHandler } = useCodeBlockEdit(services?.codeBlockService);
3190
3190
  return (_ctx, _cache) => {
3191
3191
  const _component_m_form_container = vue.resolveComponent("m-form-container");
3192
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
3192
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
3193
3193
  vue.createElementVNode("div", _hoisted_2$o, [
3194
3194
  vue.createVNode(_component_m_form_container, {
3195
3195
  class: "select",
@@ -3198,14 +3198,14 @@
3198
3198
  size: _ctx.size,
3199
3199
  onChange: onParamsChangeHandler
3200
3200
  }, null, 8, ["model", "size"]),
3201
- _ctx.model[_ctx.name] ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
3201
+ _ctx.model[_ctx.name] ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
3202
3202
  key: 0,
3203
3203
  class: "icon",
3204
3204
  icon: !_ctx.disabled ? vue.unref(iconsVue.Edit) : vue.unref(iconsVue.View),
3205
3205
  onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(editCode)(_ctx.model[_ctx.name]))
3206
3206
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true)
3207
3207
  ]),
3208
- paramsConfig.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
3208
+ paramsConfig.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$O, {
3209
3209
  key: 0,
3210
3210
  name: "params",
3211
3211
  model: _ctx.model,
@@ -3213,7 +3213,7 @@
3213
3213
  "params-config": paramsConfig.value,
3214
3214
  onChange: onParamsChangeHandler
3215
3215
  }, null, 8, ["model", "size", "params-config"])) : vue.createCommentVNode("", true),
3216
- vue.unref(codeConfig) ? (vue.openBlock(), vue.createBlock(_sfc_main$O, {
3216
+ vue.unref(codeConfig) ? (vue.openBlock(), vue.createBlock(_sfc_main$P, {
3217
3217
  key: 1,
3218
3218
  ref_key: "codeBlockEditor",
3219
3219
  ref: codeBlockEditor,
@@ -3226,9 +3226,9 @@
3226
3226
  }
3227
3227
  });
3228
3228
 
3229
- const _hoisted_1$s = { class: "m-editor-data-source-fields" };
3229
+ const _hoisted_1$t = { class: "m-editor-data-source-fields" };
3230
3230
  const _hoisted_2$n = { class: "m-editor-data-source-fields-footer" };
3231
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
3231
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
3232
3232
  ...{
3233
3233
  name: "MEditorDataSourceFields"
3234
3234
  },
@@ -3459,7 +3459,7 @@
3459
3459
  }
3460
3460
  };
3461
3461
  return (_ctx, _cache) => {
3462
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
3462
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
3463
3463
  vue.createVNode(vue.unref(table.MagicTable), {
3464
3464
  data: _ctx.model[_ctx.name],
3465
3465
  columns: fieldColumns
@@ -3516,7 +3516,7 @@
3516
3516
  }
3517
3517
  });
3518
3518
 
3519
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
3519
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
3520
3520
  __name: "DataSourceFieldSelect",
3521
3521
  props: {
3522
3522
  config: {},
@@ -3570,10 +3570,10 @@
3570
3570
  }
3571
3571
  });
3572
3572
 
3573
- const _hoisted_1$r = { style: { "display": "flex", "flex-direction": "column", "line-height": "1.2em" } };
3573
+ const _hoisted_1$s = { style: { "display": "flex", "flex-direction": "column", "line-height": "1.2em" } };
3574
3574
  const _hoisted_2$m = { style: { "font-size": "10px", "color": "rgba(0, 0, 0, 0.6)" } };
3575
3575
  const _hoisted_3$a = { class: "el-input__inner" };
3576
- const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
3576
+ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
3577
3577
  ...{
3578
3578
  name: "MEditorDataSourceInput"
3579
3579
  },
@@ -3762,10 +3762,10 @@
3762
3762
  }
3763
3763
  ), {
3764
3764
  suffix: vue.withCtx(() => [
3765
- vue.createVNode(_sfc_main$M, { icon: vue.unref(iconsVue.Coin) }, null, 8, ["icon"])
3765
+ vue.createVNode(_sfc_main$N, { icon: vue.unref(iconsVue.Coin) }, null, 8, ["icon"])
3766
3766
  ]),
3767
3767
  default: vue.withCtx(({ item }) => [
3768
- vue.createElementVNode("div", _hoisted_1$r, [
3768
+ vue.createElementVNode("div", _hoisted_1$s, [
3769
3769
  vue.createElementVNode("div", null, vue.toDisplayString(item.text), 1),
3770
3770
  vue.createElementVNode("span", _hoisted_2$m, vue.toDisplayString(item.value), 1)
3771
3771
  ])
@@ -3797,7 +3797,7 @@
3797
3797
  }, 1032, ["size"])) : vue.createCommentVNode("", true)
3798
3798
  ], 64);
3799
3799
  }), 256)),
3800
- vue.createVNode(_sfc_main$M, {
3800
+ vue.createVNode(_sfc_main$N, {
3801
3801
  class: "tmagic-data-source-input-icon",
3802
3802
  icon: vue.unref(iconsVue.Coin)
3803
3803
  }, null, 8, ["icon"])
@@ -3880,9 +3880,9 @@
3880
3880
  };
3881
3881
  };
3882
3882
 
3883
- const _hoisted_1$q = { class: "m-editor-data-source-methods" };
3883
+ const _hoisted_1$r = { class: "m-editor-data-source-methods" };
3884
3884
  const _hoisted_2$l = { class: "m-editor-data-source-methods-footer" };
3885
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
3885
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
3886
3886
  ...{
3887
3887
  name: "MEditorDataSourceMethods"
3888
3888
  },
@@ -3951,7 +3951,7 @@
3951
3951
  emit("change", props.model[props.name]);
3952
3952
  };
3953
3953
  return (_ctx, _cache) => {
3954
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
3954
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
3955
3955
  vue.createVNode(vue.unref(table.MagicTable), {
3956
3956
  data: _ctx.model[_ctx.name],
3957
3957
  columns: methodColumns
@@ -3970,7 +3970,7 @@
3970
3970
  _: 1
3971
3971
  }, 8, ["disabled"])
3972
3972
  ]),
3973
- vue.unref(codeConfig) ? (vue.openBlock(), vue.createBlock(_sfc_main$O, {
3973
+ vue.unref(codeConfig) ? (vue.openBlock(), vue.createBlock(_sfc_main$P, {
3974
3974
  key: 0,
3975
3975
  ref_key: "codeBlockEditor",
3976
3976
  ref: codeBlockEditor,
@@ -3985,9 +3985,9 @@
3985
3985
  }
3986
3986
  });
3987
3987
 
3988
- const _hoisted_1$p = { class: "m-fields-data-source-method-select" };
3988
+ const _hoisted_1$q = { class: "m-fields-data-source-method-select" };
3989
3989
  const _hoisted_2$k = { class: "data-source-method-select-container" };
3990
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
3990
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
3991
3991
  ...{
3992
3992
  name: "MEditorDataSourceMethodSelect"
3993
3993
  },
@@ -4069,7 +4069,7 @@
4069
4069
  };
4070
4070
  return (_ctx, _cache) => {
4071
4071
  const _component_m_form_container = vue.resolveComponent("m-form-container");
4072
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
4072
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
4073
4073
  vue.createElementVNode("div", _hoisted_2$k, [
4074
4074
  vue.createVNode(_component_m_form_container, {
4075
4075
  class: "select",
@@ -4077,14 +4077,14 @@
4077
4077
  model: _ctx.model,
4078
4078
  onChange: onChangeHandler
4079
4079
  }, null, 8, ["config", "model"]),
4080
- _ctx.model[_ctx.name] ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
4080
+ _ctx.model[_ctx.name] ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
4081
4081
  key: 0,
4082
4082
  class: "icon",
4083
4083
  icon: !_ctx.disabled ? vue.unref(iconsVue.Edit) : vue.unref(iconsVue.View),
4084
4084
  onClick: editCodeHandler
4085
4085
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true)
4086
4086
  ]),
4087
- paramsConfig.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
4087
+ paramsConfig.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$O, {
4088
4088
  key: 0,
4089
4089
  name: "params",
4090
4090
  model: _ctx.model,
@@ -4093,7 +4093,7 @@
4093
4093
  "params-config": paramsConfig.value,
4094
4094
  onChange: onChangeHandler
4095
4095
  }, null, 8, ["model", "size", "disabled", "params-config"])) : vue.createCommentVNode("", true),
4096
- vue.unref(codeConfig) ? (vue.openBlock(), vue.createBlock(_sfc_main$O, {
4096
+ vue.unref(codeConfig) ? (vue.openBlock(), vue.createBlock(_sfc_main$P, {
4097
4097
  key: 1,
4098
4098
  ref_key: "codeBlockEditor",
4099
4099
  ref: codeBlockEditor,
@@ -4106,9 +4106,9 @@
4106
4106
  }
4107
4107
  });
4108
4108
 
4109
- const _hoisted_1$o = { class: "m-editor-data-source-fields" };
4109
+ const _hoisted_1$p = { class: "m-editor-data-source-fields" };
4110
4110
  const _hoisted_2$j = { class: "m-editor-data-source-fields-footer" };
4111
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
4111
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
4112
4112
  ...{
4113
4113
  name: "MEditorDataSourceMocks"
4114
4114
  },
@@ -4194,7 +4194,7 @@
4194
4194
  const columns = [
4195
4195
  {
4196
4196
  type: "expand",
4197
- component: _sfc_main$S,
4197
+ component: _sfc_main$T,
4198
4198
  props: (row) => ({
4199
4199
  initValues: row.data,
4200
4200
  language: "json",
@@ -4303,7 +4303,7 @@
4303
4303
  });
4304
4304
  };
4305
4305
  return (_ctx, _cache) => {
4306
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
4306
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
4307
4307
  vue.createVNode(vue.unref(table.MagicTable), {
4308
4308
  data: _ctx.model[_ctx.name],
4309
4309
  columns
@@ -4339,7 +4339,7 @@
4339
4339
  }
4340
4340
  });
4341
4341
 
4342
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
4342
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
4343
4343
  ...{
4344
4344
  name: "MEditorDataSourceSelect"
4345
4345
  },
@@ -4394,12 +4394,12 @@
4394
4394
  }
4395
4395
  });
4396
4396
 
4397
- const _hoisted_1$n = { class: "m-fields-event-select" };
4397
+ const _hoisted_1$o = { class: "m-fields-event-select" };
4398
4398
  const _hoisted_2$i = {
4399
4399
  key: 1,
4400
4400
  class: "fullWidth"
4401
4401
  };
4402
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
4402
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
4403
4403
  ...{
4404
4404
  name: "MEditorEventSelect"
4405
4405
  },
@@ -4601,7 +4601,7 @@
4601
4601
  const _component_m_form_table = vue.resolveComponent("m-form-table");
4602
4602
  const _component_m_form_container = vue.resolveComponent("m-form-container");
4603
4603
  const _component_m_form_panel = vue.resolveComponent("m-form-panel");
4604
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
4604
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
4605
4605
  isOldVersion.value ? (vue.openBlock(), vue.createBlock(_component_m_form_table, {
4606
4606
  key: 0,
4607
4607
  ref: "eventForm",
@@ -4661,9 +4661,9 @@
4661
4661
  }
4662
4662
  });
4663
4663
 
4664
- const _hoisted_1$m = { class: "m-fields-key-value" };
4664
+ const _hoisted_1$n = { class: "m-fields-key-value" };
4665
4665
  const _hoisted_2$h = /* @__PURE__ */ vue.createElementVNode("span", { class: "m-fileds-key-value-delimiter" }, ":", -1);
4666
- const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
4666
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
4667
4667
  ...{
4668
4668
  name: "MEditorKeyValue"
4669
4669
  },
@@ -4709,7 +4709,7 @@
4709
4709
  emit("change", getValue());
4710
4710
  };
4711
4711
  return (_ctx, _cache) => {
4712
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
4712
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
4713
4713
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(records.value, (item, index) => {
4714
4714
  return vue.openBlock(), vue.createElementBlock("div", {
4715
4715
  class: "m-fields-key-value-item",
@@ -4762,12 +4762,12 @@
4762
4762
  }
4763
4763
  });
4764
4764
 
4765
- const _hoisted_1$l = {
4765
+ const _hoisted_1$m = {
4766
4766
  key: 1,
4767
4767
  class: "m-fields-ui-select",
4768
4768
  style: { "display": "flex" }
4769
4769
  };
4770
- const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
4770
+ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
4771
4771
  ...{
4772
4772
  name: "MEditorUISelect"
4773
4773
  },
@@ -4856,7 +4856,7 @@
4856
4856
  ]),
4857
4857
  _: 1
4858
4858
  }, 8, ["icon", "disabled", "size"])
4859
- ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
4859
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
4860
4860
  val.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4861
4861
  vue.createVNode(vue.unref(design.TMagicTooltip), {
4862
4862
  content: "清除",
@@ -4953,7 +4953,7 @@
4953
4953
  };
4954
4954
  };
4955
4955
 
4956
- const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
4956
+ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
4957
4957
  ...{
4958
4958
  name: "MEditorResizer"
4959
4959
  },
@@ -4974,7 +4974,7 @@
4974
4974
  }
4975
4975
  });
4976
4976
 
4977
- const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
4977
+ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
4978
4978
  ...{
4979
4979
  name: "MEditorLayout"
4980
4980
  },
@@ -5086,7 +5086,7 @@
5086
5086
  }, [
5087
5087
  vue.renderSlot(_ctx.$slots, "left")
5088
5088
  ], 6),
5089
- vue.createVNode(_sfc_main$A, { onChange: changeLeft })
5089
+ vue.createVNode(_sfc_main$B, { onChange: changeLeft })
5090
5090
  ], 64)) : vue.createCommentVNode("", true),
5091
5091
  vue.createElementVNode("div", {
5092
5092
  class: vue.normalizeClass(["m-editor-layout-center", _ctx.centerClass]),
@@ -5095,7 +5095,7 @@
5095
5095
  vue.renderSlot(_ctx.$slots, "center")
5096
5096
  ], 6),
5097
5097
  hasRight.value && _ctx.$slots.right ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
5098
- vue.createVNode(_sfc_main$A, { onChange: changeRight }),
5098
+ vue.createVNode(_sfc_main$B, { onChange: changeRight }),
5099
5099
  vue.createElementVNode("div", {
5100
5100
  class: vue.normalizeClass(["m-editor-layout-right", _ctx.rightClass]),
5101
5101
  style: vue.normalizeStyle(`width: ${_ctx.right}px`)
@@ -5108,10 +5108,10 @@
5108
5108
  }
5109
5109
  });
5110
5110
 
5111
- const _hoisted_1$k = { class: "m-editor-empty-panel" };
5111
+ const _hoisted_1$l = { class: "m-editor-empty-panel" };
5112
5112
  const _hoisted_2$g = { class: "m-editor-empty-content" };
5113
5113
  const _hoisted_3$9 = /* @__PURE__ */ vue.createElementVNode("p", null, "新增页面", -1);
5114
- const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
5114
+ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5115
5115
  ...{
5116
5116
  name: "MEditorAddPageBox"
5117
5117
  },
@@ -5131,14 +5131,14 @@
5131
5131
  });
5132
5132
  };
5133
5133
  return (_ctx, _cache) => {
5134
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
5134
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
5135
5135
  vue.createElementVNode("div", _hoisted_2$g, [
5136
5136
  vue.createElementVNode("div", {
5137
5137
  class: "m-editor-empty-button",
5138
5138
  onClick: clickHandler
5139
5139
  }, [
5140
5140
  vue.createElementVNode("div", null, [
5141
- vue.createVNode(_sfc_main$M, { icon: vue.unref(iconsVue.Plus) }, null, 8, ["icon"])
5141
+ vue.createVNode(_sfc_main$N, { icon: vue.unref(iconsVue.Plus) }, null, 8, ["icon"])
5142
5142
  ]),
5143
5143
  _hoisted_3$9
5144
5144
  ])
@@ -5152,7 +5152,7 @@
5152
5152
  const DEFAULT_RIGHT_COLUMN_WIDTH = 480;
5153
5153
  const LEFT_COLUMN_WIDTH_STORAGE_KEY = "$MagicEditorLeftColumnWidthData";
5154
5154
  const RIGHT_COLUMN_WIDTH_STORAGE_KEY = "$MagicEditorRightColumnWidthData";
5155
- const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
5155
+ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
5156
5156
  ...{
5157
5157
  name: "MEditorFramework"
5158
5158
  },
@@ -5229,13 +5229,13 @@
5229
5229
  vue.renderSlot(_ctx.$slots, "nav"),
5230
5230
  vue.renderSlot(_ctx.$slots, "content-before"),
5231
5231
  showSrc.value ? vue.renderSlot(_ctx.$slots, "src-code", { key: 0 }, () => [
5232
- vue.createVNode(_sfc_main$S, {
5232
+ vue.createVNode(_sfc_main$T, {
5233
5233
  class: "m-editor-content",
5234
5234
  "init-values": root.value,
5235
5235
  options: vue.unref(codeOptions),
5236
5236
  onSave: saveCode
5237
5237
  }, null, 8, ["init-values", "options"])
5238
- ]) : (vue.openBlock(), vue.createBlock(_sfc_main$z, {
5238
+ ]) : (vue.openBlock(), vue.createBlock(_sfc_main$A, {
5239
5239
  key: 1,
5240
5240
  class: "m-editor-content",
5241
5241
  "left-class": "m-editor-framework-left",
@@ -5254,7 +5254,7 @@
5254
5254
  ]),
5255
5255
  center: vue.withCtx(() => [
5256
5256
  pageLength.value > 0 ? vue.renderSlot(_ctx.$slots, "workspace", { key: 0 }) : vue.renderSlot(_ctx.$slots, "empty", { key: 1 }, () => [
5257
- vue.createVNode(_sfc_main$y)
5257
+ vue.createVNode(_sfc_main$z)
5258
5258
  ])
5259
5259
  ]),
5260
5260
  _: 2
@@ -5279,12 +5279,12 @@
5279
5279
  }
5280
5280
  });
5281
5281
 
5282
- const _hoisted_1$j = {
5282
+ const _hoisted_1$k = {
5283
5283
  key: 1,
5284
5284
  class: "menu-item-text"
5285
5285
  };
5286
5286
  const _hoisted_2$f = { class: "el-dropdown-link menubar-menu-button" };
5287
- const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
5287
+ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
5288
5288
  ...{
5289
5289
  name: "MEditorToolButton"
5290
5290
  },
@@ -5363,7 +5363,7 @@
5363
5363
  _ctx.data.type === "divider" ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicDivider), {
5364
5364
  key: 0,
5365
5365
  direction: _ctx.data.direction || "vertical"
5366
- }, null, 8, ["direction"])) : _ctx.data.type === "text" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, vue.toDisplayString(_ctx.data.text), 1)) : _ctx.data.type === "button" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
5366
+ }, null, 8, ["direction"])) : _ctx.data.type === "text" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, vue.toDisplayString(_ctx.data.text), 1)) : _ctx.data.type === "button" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
5367
5367
  _ctx.data.tooltip ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicTooltip), {
5368
5368
  key: 0,
5369
5369
  effect: "dark",
@@ -5377,7 +5377,7 @@
5377
5377
  disabled: disabled.value
5378
5378
  }, {
5379
5379
  default: vue.withCtx(() => [
5380
- _ctx.data.icon ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
5380
+ _ctx.data.icon ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
5381
5381
  key: 0,
5382
5382
  icon: _ctx.data.icon
5383
5383
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
@@ -5395,7 +5395,7 @@
5395
5395
  title: _ctx.data.text
5396
5396
  }, {
5397
5397
  default: vue.withCtx(() => [
5398
- _ctx.data.icon ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
5398
+ _ctx.data.icon ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
5399
5399
  key: 0,
5400
5400
  icon: _ctx.data.icon
5401
5401
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
@@ -5445,7 +5445,7 @@
5445
5445
  }
5446
5446
  });
5447
5447
 
5448
- const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
5448
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
5449
5449
  ...{
5450
5450
  name: "MEditorNavMenu"
5451
5451
  },
@@ -5607,7 +5607,7 @@
5607
5607
  style: vue.normalizeStyle(`width: ${columnWidth.value?.[key]}px`)
5608
5608
  }, [
5609
5609
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(buttons.value[key], (item, index) => {
5610
- return vue.openBlock(), vue.createBlock(_sfc_main$w, {
5610
+ return vue.openBlock(), vue.createBlock(_sfc_main$x, {
5611
5611
  data: item,
5612
5612
  key: index
5613
5613
  }, null, 8, ["data"]);
@@ -5619,8 +5619,8 @@
5619
5619
  }
5620
5620
  });
5621
5621
 
5622
- const _hoisted_1$i = { class: "m-editor-props-panel" };
5623
- const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
5622
+ const _hoisted_1$j = { class: "m-editor-props-panel" };
5623
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
5624
5624
  ...{
5625
5625
  name: "MEditorPropsPanel"
5626
5626
  },
@@ -5673,7 +5673,7 @@
5673
5673
  };
5674
5674
  __expose({ configForm, submit });
5675
5675
  return (_ctx, _cache) => {
5676
- return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
5676
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
5677
5677
  vue.renderSlot(_ctx.$slots, "props-panel-header"),
5678
5678
  vue.createVNode(vue.unref(form.MForm), {
5679
5679
  ref_key: "configForm",
@@ -5693,7 +5693,7 @@
5693
5693
  }
5694
5694
  });
5695
5695
 
5696
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
5696
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
5697
5697
  ...{
5698
5698
  name: "MEditorSearchInput"
5699
5699
  },
@@ -5732,7 +5732,7 @@
5732
5732
  }
5733
5733
  });
5734
5734
 
5735
- const _hoisted_1$h = { xmlns: "http://www.w3.org/2000/svg" };
5735
+ const _hoisted_1$i = { xmlns: "http://www.w3.org/2000/svg" };
5736
5736
  const _hoisted_2$e = /* @__PURE__ */ vue.createElementVNode("g", {
5737
5737
  fill: "#7C878E",
5738
5738
  "fill-rule": "evenodd"
@@ -5746,19 +5746,19 @@
5746
5746
  const _hoisted_3$8 = [
5747
5747
  _hoisted_2$e
5748
5748
  ];
5749
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
5749
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
5750
5750
  ...{
5751
5751
  name: "MEditorAppManageIcon"
5752
5752
  },
5753
5753
  __name: "AppManageIcon",
5754
5754
  setup(__props) {
5755
5755
  return (_ctx, _cache) => {
5756
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$h, _hoisted_3$8);
5756
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$i, _hoisted_3$8);
5757
5757
  };
5758
5758
  }
5759
5759
  });
5760
5760
 
5761
- const _hoisted_1$g = {
5761
+ const _hoisted_1$h = {
5762
5762
  viewBox: "0 0 32 32",
5763
5763
  version: "1.1",
5764
5764
  xmlns: "http://www.w3.org/2000/svg",
@@ -5768,25 +5768,25 @@
5768
5768
  const _hoisted_4$6 = [
5769
5769
  _hoisted_2$d
5770
5770
  ];
5771
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
5771
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
5772
5772
  ...{
5773
5773
  name: "MEditorCodeIcon"
5774
5774
  },
5775
5775
  __name: "CodeIcon",
5776
5776
  setup(__props) {
5777
5777
  return (_ctx, _cache) => {
5778
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$g, _hoisted_4$6);
5778
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$h, _hoisted_4$6);
5779
5779
  };
5780
5780
  }
5781
5781
  });
5782
5782
 
5783
- const _hoisted_1$f = ["id"];
5783
+ const _hoisted_1$g = ["id"];
5784
5784
  const _hoisted_2$c = { class: "list-item" };
5785
5785
  const _hoisted_3$7 = {
5786
5786
  key: 2,
5787
5787
  class: "right-tool"
5788
5788
  };
5789
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
5789
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
5790
5790
  ...{
5791
5791
  name: "MEditorCodeBlockList"
5792
5792
  },
@@ -5888,11 +5888,11 @@
5888
5888
  class: "list-container"
5889
5889
  }, [
5890
5890
  vue.createElementVNode("div", _hoisted_2$c, [
5891
- data.type === "code" ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
5891
+ data.type === "code" ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
5892
5892
  key: 0,
5893
5893
  class: "codeIcon"
5894
5894
  })) : vue.createCommentVNode("", true),
5895
- data.type === "node" ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
5895
+ data.type === "node" ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
5896
5896
  key: 1,
5897
5897
  class: "compIcon"
5898
5898
  })) : vue.createCommentVNode("", true),
@@ -5906,7 +5906,7 @@
5906
5906
  placement: "bottom"
5907
5907
  }, {
5908
5908
  default: vue.withCtx(() => [
5909
- vue.createVNode(_sfc_main$M, {
5909
+ vue.createVNode(_sfc_main$N, {
5910
5910
  icon: editable.value ? vue.unref(iconsVue.Edit) : vue.unref(iconsVue.View),
5911
5911
  class: "edit-icon",
5912
5912
  onClick: vue.withModifiers(($event) => editCode(data.id), ["stop"])
@@ -5921,7 +5921,7 @@
5921
5921
  placement: "bottom"
5922
5922
  }, {
5923
5923
  default: vue.withCtx(() => [
5924
- vue.createVNode(_sfc_main$M, {
5924
+ vue.createVNode(_sfc_main$N, {
5925
5925
  icon: vue.unref(iconsVue.Close),
5926
5926
  class: "edit-icon",
5927
5927
  onClick: vue.withModifiers(($event) => deleteCode(`${data.id}`), ["stop"])
@@ -5935,7 +5935,7 @@
5935
5935
  })
5936
5936
  ])) : vue.createCommentVNode("", true)
5937
5937
  ])
5938
- ], 8, _hoisted_1$f)
5938
+ ], 8, _hoisted_1$g)
5939
5939
  ]),
5940
5940
  _: 3
5941
5941
  }, 8, ["default-expanded-keys", "data"]);
@@ -5943,8 +5943,8 @@
5943
5943
  }
5944
5944
  });
5945
5945
 
5946
- const _hoisted_1$e = { class: "search-wrapper" };
5947
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
5946
+ const _hoisted_1$f = { class: "search-wrapper" };
5947
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
5948
5948
  ...{
5949
5949
  name: "MEditorCodeBlockListPanel"
5950
5950
  },
@@ -5964,8 +5964,8 @@
5964
5964
  return vue.openBlock(), vue.createBlock(vue.unref(design.TMagicScrollbar), { class: "m-editor-code-block-list m-editor-dep-list-panel" }, {
5965
5965
  default: vue.withCtx(() => [
5966
5966
  vue.renderSlot(_ctx.$slots, "code-block-panel-header", {}, () => [
5967
- vue.createElementVNode("div", _hoisted_1$e, [
5968
- vue.createVNode(_sfc_main$t, { onSearch: filterTextChangeHandler }),
5967
+ vue.createElementVNode("div", _hoisted_1$f, [
5968
+ vue.createVNode(_sfc_main$u, { onSearch: filterTextChangeHandler }),
5969
5969
  editable.value ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
5970
5970
  key: 0,
5971
5971
  class: "create-code-button",
@@ -5981,7 +5981,7 @@
5981
5981
  vue.renderSlot(_ctx.$slots, "code-block-panel-search")
5982
5982
  ])
5983
5983
  ]),
5984
- vue.createVNode(_sfc_main$q, {
5984
+ vue.createVNode(_sfc_main$r, {
5985
5985
  ref_key: "codeBlockList",
5986
5986
  ref: codeBlockList,
5987
5987
  "custom-error": _ctx.customError,
@@ -5996,7 +5996,7 @@
5996
5996
  ]),
5997
5997
  _: 3
5998
5998
  }, 8, ["custom-error", "onEdit", "onRemove"]),
5999
- vue.unref(codeConfig) ? (vue.openBlock(), vue.createBlock(_sfc_main$O, {
5999
+ vue.unref(codeConfig) ? (vue.openBlock(), vue.createBlock(_sfc_main$P, {
6000
6000
  key: 0,
6001
6001
  ref_key: "codeBlockEditor",
6002
6002
  ref: codeBlockEditor,
@@ -6011,7 +6011,7 @@
6011
6011
  }
6012
6012
  });
6013
6013
 
6014
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
6014
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
6015
6015
  ...{
6016
6016
  name: "MEditorDataSourceConfigPanel"
6017
6017
  },
@@ -6065,13 +6065,13 @@
6065
6065
  }
6066
6066
  });
6067
6067
 
6068
- const _hoisted_1$d = ["id"];
6068
+ const _hoisted_1$e = ["id"];
6069
6069
  const _hoisted_2$b = { class: "list-item" };
6070
6070
  const _hoisted_3$6 = {
6071
6071
  key: 2,
6072
6072
  class: "right-tool"
6073
6073
  };
6074
- const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
6074
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
6075
6075
  ...{
6076
6076
  name: "MEditorDataSourceList"
6077
6077
  },
@@ -6167,12 +6167,12 @@
6167
6167
  class: "list-container"
6168
6168
  }, [
6169
6169
  vue.createElementVNode("div", _hoisted_2$b, [
6170
- data.type === "code" ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
6170
+ data.type === "code" ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
6171
6171
  key: 0,
6172
6172
  class: "codeIcon",
6173
6173
  icon: vue.unref(iconsVue.Coin)
6174
6174
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
6175
- data.type === "node" ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
6175
+ data.type === "node" ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
6176
6176
  key: 1,
6177
6177
  class: "compIcon",
6178
6178
  icon: vue.unref(iconsVue.Aim)
@@ -6187,7 +6187,7 @@
6187
6187
  placement: "bottom"
6188
6188
  }, {
6189
6189
  default: vue.withCtx(() => [
6190
- vue.createVNode(_sfc_main$M, {
6190
+ vue.createVNode(_sfc_main$N, {
6191
6191
  icon: editable.value ? vue.unref(iconsVue.Edit) : vue.unref(iconsVue.View),
6192
6192
  class: "edit-icon",
6193
6193
  onClick: vue.withModifiers(($event) => editHandler(`${data.id}`), ["stop"])
@@ -6202,7 +6202,7 @@
6202
6202
  placement: "bottom"
6203
6203
  }, {
6204
6204
  default: vue.withCtx(() => [
6205
- vue.createVNode(_sfc_main$M, {
6205
+ vue.createVNode(_sfc_main$N, {
6206
6206
  icon: vue.unref(iconsVue.Close),
6207
6207
  class: "edit-icon",
6208
6208
  onClick: vue.withModifiers(($event) => removeHandler(`${data.id}`), ["stop"])
@@ -6210,13 +6210,10 @@
6210
6210
  ]),
6211
6211
  _: 2
6212
6212
  }, 1024)) : vue.createCommentVNode("", true),
6213
- vue.renderSlot(_ctx.$slots, "data-source-panel-tool", {
6214
- id: data.id,
6215
- data: data.codeBlockContent
6216
- })
6213
+ vue.renderSlot(_ctx.$slots, "data-source-panel-tool", { data })
6217
6214
  ])) : vue.createCommentVNode("", true)
6218
6215
  ])
6219
- ], 8, _hoisted_1$d)
6216
+ ], 8, _hoisted_1$e)
6220
6217
  ]),
6221
6218
  _: 3
6222
6219
  }, 8, ["data"]);
@@ -6224,9 +6221,9 @@
6224
6221
  }
6225
6222
  });
6226
6223
 
6227
- const _hoisted_1$c = { class: "search-wrapper" };
6224
+ const _hoisted_1$d = { class: "search-wrapper" };
6228
6225
  const _hoisted_2$a = { class: "data-source-list-panel-add-menu" };
6229
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
6226
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
6230
6227
  ...{
6231
6228
  name: "MEditorDataSourceListPanel"
6232
6229
  },
@@ -6286,8 +6283,8 @@
6286
6283
  return (_ctx, _cache) => {
6287
6284
  return vue.openBlock(), vue.createBlock(vue.unref(design.TMagicScrollbar), { class: "data-source-list-panel m-editor-dep-list-panel" }, {
6288
6285
  default: vue.withCtx(() => [
6289
- vue.createElementVNode("div", _hoisted_1$c, [
6290
- vue.createVNode(_sfc_main$t, { onSearch: filterTextChangeHandler }),
6286
+ vue.createElementVNode("div", _hoisted_1$d, [
6287
+ vue.createVNode(_sfc_main$u, { onSearch: filterTextChangeHandler }),
6291
6288
  editable.value ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicPopover), {
6292
6289
  key: 0,
6293
6290
  placement: "right"
@@ -6306,7 +6303,7 @@
6306
6303
  default: vue.withCtx(() => [
6307
6304
  vue.createElementVNode("div", _hoisted_2$a, [
6308
6305
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(datasourceTypeList.value, (item, index) => {
6309
- return vue.openBlock(), vue.createBlock(_sfc_main$w, {
6306
+ return vue.openBlock(), vue.createBlock(_sfc_main$x, {
6310
6307
  data: {
6311
6308
  type: "button",
6312
6309
  text: item.text,
@@ -6322,11 +6319,16 @@
6322
6319
  _: 1
6323
6320
  })) : vue.createCommentVNode("", true)
6324
6321
  ]),
6325
- vue.createVNode(_sfc_main$n, {
6322
+ vue.createVNode(_sfc_main$o, {
6326
6323
  onEdit: editHandler,
6327
6324
  onRemove: removeHandler
6325
+ }, {
6326
+ "data-source-panel-tool": vue.withCtx(({ data }) => [
6327
+ vue.renderSlot(_ctx.$slots, "data-source-panel-tool", { data })
6328
+ ]),
6329
+ _: 3
6328
6330
  }),
6329
- vue.createVNode(_sfc_main$o, {
6331
+ vue.createVNode(_sfc_main$p, {
6330
6332
  ref_key: "editDialog",
6331
6333
  ref: editDialog,
6332
6334
  disabled: !editable.value,
@@ -6335,13 +6337,187 @@
6335
6337
  onSubmit: submitDataSourceHandler
6336
6338
  }, null, 8, ["disabled", "values", "title"])
6337
6339
  ]),
6338
- _: 1
6340
+ _: 3
6339
6341
  });
6340
6342
  };
6341
6343
  }
6342
6344
  });
6343
6345
 
6346
+ const updateStatus = (nodeStatusMap, id, status) => {
6347
+ const nodeStatus = nodeStatusMap.get(id);
6348
+ if (!nodeStatus)
6349
+ return;
6350
+ utils.getKeys(status).forEach((key) => {
6351
+ if (nodeStatus[key] !== void 0 && status[key] !== void 0) {
6352
+ nodeStatus[key] = Boolean(status[key]);
6353
+ }
6354
+ });
6355
+ };
6356
+
6357
+ const _hoisted_1$c = ["draggable", "data-node-id", "data-is-container"];
6358
+ const _hoisted_2$9 = { class: "tree-node-label" };
6359
+ const _hoisted_3$5 = { class: "tree-node-tool" };
6360
+ const _hoisted_4$5 = {
6361
+ key: 0,
6362
+ class: "m-editor-tree-node-children"
6363
+ };
6364
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
6365
+ ...{
6366
+ name: "MEditorTreeNode"
6367
+ },
6368
+ __name: "TreeNode",
6369
+ props: {
6370
+ data: {},
6371
+ nodeStatusMap: {},
6372
+ indent: { default: 0 }
6373
+ },
6374
+ emits: ["node-dragstart", "node-dragleave", "node-dragend", "node-contextmenu", "node-mouseenter", "node-click"],
6375
+ setup(__props, { emit }) {
6376
+ const props = __props;
6377
+ const treeEmit = vue.inject("treeEmit");
6378
+ const nodeStatus = vue.computed(
6379
+ () => props.nodeStatusMap?.get(props.data.id) || {
6380
+ selected: false,
6381
+ expand: false,
6382
+ visible: false,
6383
+ draggable: false
6384
+ }
6385
+ );
6386
+ const expanded = vue.computed(() => nodeStatus.value.expand);
6387
+ const selected = vue.computed(() => nodeStatus.value.selected);
6388
+ const visible = vue.computed(() => nodeStatus.value.visible);
6389
+ const draggable = vue.computed(() => nodeStatus.value.draggable);
6390
+ const hasChilren = vue.computed(() => props.data.items && props.data.items.length > 0);
6391
+ const handleDragStart = (event) => {
6392
+ treeEmit?.("node-dragstart", event, props.data);
6393
+ };
6394
+ const handleDragLeave = (event) => {
6395
+ treeEmit?.("node-dragleave", event, props.data);
6396
+ };
6397
+ const handleDragEnd = (event) => {
6398
+ treeEmit?.("node-dragend", event, props.data);
6399
+ };
6400
+ const nodeContentmenuHandler = (event) => {
6401
+ treeEmit?.("node-contextmenu", event, props.data);
6402
+ };
6403
+ const mouseenterHandler = (event) => {
6404
+ treeEmit?.("node-mouseenter", event, props.data);
6405
+ };
6406
+ const expandHandler = () => {
6407
+ updateStatus(props.nodeStatusMap, props.data.id, {
6408
+ expand: !expanded.value
6409
+ });
6410
+ };
6411
+ const nodeClickHandler = (event) => {
6412
+ treeEmit?.("node-click", event, props.data);
6413
+ };
6414
+ return (_ctx, _cache) => {
6415
+ const _component_TreeNode = vue.resolveComponent("TreeNode", true);
6416
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
6417
+ class: "m-editor-tree-node",
6418
+ draggable: draggable.value,
6419
+ "data-node-id": _ctx.data.id,
6420
+ "data-is-container": Array.isArray(_ctx.data.items),
6421
+ onDragstart: handleDragStart,
6422
+ onDragleave: handleDragLeave,
6423
+ onDragend: handleDragEnd
6424
+ }, [
6425
+ vue.createElementVNode("div", {
6426
+ class: vue.normalizeClass(["tree-node", { selected: selected.value, expanded: expanded.value }]),
6427
+ style: vue.normalizeStyle(`padding-left: ${_ctx.indent}px`),
6428
+ onContextmenu: nodeContentmenuHandler,
6429
+ onMouseenter: mouseenterHandler
6430
+ }, [
6431
+ vue.createVNode(_sfc_main$N, {
6432
+ class: "expand-icon",
6433
+ style: vue.normalizeStyle(hasChilren.value ? "" : "color: transparent; cursor: default"),
6434
+ icon: expanded.value ? vue.unref(iconsVue.ArrowDown) : vue.unref(iconsVue.ArrowRight),
6435
+ onClick: expandHandler
6436
+ }, null, 8, ["style", "icon"]),
6437
+ vue.createElementVNode("div", {
6438
+ class: "tree-node-content",
6439
+ onClick: nodeClickHandler
6440
+ }, [
6441
+ vue.renderSlot(_ctx.$slots, "tree-node-content", { data: _ctx.data }, () => [
6442
+ vue.createElementVNode("div", _hoisted_2$9, vue.toDisplayString(`${_ctx.data.name} (${_ctx.data.id})`), 1),
6443
+ vue.createElementVNode("div", _hoisted_3$5, [
6444
+ vue.renderSlot(_ctx.$slots, "tree-node-tool", { data: _ctx.data })
6445
+ ])
6446
+ ])
6447
+ ])
6448
+ ], 38),
6449
+ hasChilren.value && expanded.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
6450
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.data.items, (item) => {
6451
+ return vue.openBlock(), vue.createBlock(_component_TreeNode, {
6452
+ key: item.id,
6453
+ data: item,
6454
+ "node-status-map": _ctx.nodeStatusMap,
6455
+ indent: _ctx.indent + 11
6456
+ }, {
6457
+ "tree-node-content": vue.withCtx(({ data: nodeData }) => [
6458
+ vue.renderSlot(_ctx.$slots, "tree-node-content", { data: nodeData })
6459
+ ]),
6460
+ "tree-node-tool": vue.withCtx(({ data: nodeData }) => [
6461
+ vue.renderSlot(_ctx.$slots, "tree-node-tool", { data: nodeData })
6462
+ ]),
6463
+ _: 2
6464
+ }, 1032, ["data", "node-status-map", "indent"]);
6465
+ }), 128))
6466
+ ])) : vue.createCommentVNode("", true)
6467
+ ], 40, _hoisted_1$c)), [
6468
+ [vue.vShow, visible.value]
6469
+ ]);
6470
+ };
6471
+ }
6472
+ });
6473
+
6474
+ const _hoisted_1$b = { key: 1 };
6344
6475
  const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
6476
+ ...{
6477
+ name: "MEditorTree"
6478
+ },
6479
+ __name: "Tree",
6480
+ props: {
6481
+ data: {},
6482
+ nodeStatusMap: {},
6483
+ indent: { default: 0 },
6484
+ emptyText: { default: "暂无数据" }
6485
+ },
6486
+ emits: ["node-dragover", "node-dragstart", "node-dragleave", "node-dragend", "node-contextmenu", "node-mouseenter", "node-click"],
6487
+ setup(__props, { emit }) {
6488
+ vue.provide("treeEmit", emit);
6489
+ const handleDragOver = (event) => {
6490
+ emit("node-dragover", event);
6491
+ };
6492
+ return (_ctx, _cache) => {
6493
+ return vue.openBlock(), vue.createElementBlock("div", {
6494
+ class: "m-editor-tree",
6495
+ onDragover: handleDragOver
6496
+ }, [
6497
+ _ctx.data?.length ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.data, (item) => {
6498
+ return vue.openBlock(), vue.createBlock(_sfc_main$m, {
6499
+ key: item.id,
6500
+ data: item,
6501
+ indent: _ctx.indent,
6502
+ "node-status-map": _ctx.nodeStatusMap
6503
+ }, {
6504
+ "tree-node-content": vue.withCtx(({ data: nodeData }) => [
6505
+ vue.renderSlot(_ctx.$slots, "tree-node-content", { data: nodeData })
6506
+ ]),
6507
+ "tree-node-tool": vue.withCtx(({ data: nodeData }) => [
6508
+ vue.renderSlot(_ctx.$slots, "tree-node-tool", { data: nodeData })
6509
+ ]),
6510
+ _: 2
6511
+ }, 1032, ["data", "indent", "node-status-map"]);
6512
+ }), 128)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
6513
+ vue.createElementVNode("p", null, vue.toDisplayString(_ctx.emptyText), 1)
6514
+ ]))
6515
+ ], 32);
6516
+ };
6517
+ }
6518
+ });
6519
+
6520
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
6345
6521
  ...{
6346
6522
  name: "MEditorContentMenu"
6347
6523
  },
@@ -6474,7 +6650,7 @@
6474
6650
  vue.renderSlot(_ctx.$slots, "title"),
6475
6651
  vue.createElementVNode("div", null, [
6476
6652
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.menuData, (item, index) => {
6477
- return vue.openBlock(), vue.createBlock(_sfc_main$w, {
6653
+ return vue.openBlock(), vue.createBlock(_sfc_main$x, {
6478
6654
  "event-type": "mouseup",
6479
6655
  ref_for: true,
6480
6656
  ref_key: "buttons",
@@ -6509,7 +6685,7 @@
6509
6685
  }
6510
6686
  });
6511
6687
 
6512
- const _hoisted_1$b = {
6688
+ const _hoisted_1$a = {
6513
6689
  width: "1em",
6514
6690
  height: "1em",
6515
6691
  viewBox: "0 0 16 16",
@@ -6517,26 +6693,26 @@
6517
6693
  fill: "currentColor",
6518
6694
  xmlns: "http://www.w3.org/2000/svg"
6519
6695
  };
6520
- const _hoisted_2$9 = /* @__PURE__ */ vue.createElementVNode("path", {
6696
+ const _hoisted_2$8 = /* @__PURE__ */ vue.createElementVNode("path", {
6521
6697
  "fill-rule": "evenodd",
6522
6698
  d: "M9.828 4H2.19a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91H9v1H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181L15.546 8H14.54l.265-2.91A1 1 0 0 0 13.81 4H9.828zm-2.95-1.707L7.587 3H2.19c-.24 0-.47.042-.684.12L1.5 2.98a1 1 0 0 1 1-.98h3.672a1 1 0 0 1 .707.293z"
6523
6699
  }, null, -1);
6524
- const _hoisted_3$5 = /* @__PURE__ */ vue.createElementVNode("path", {
6700
+ const _hoisted_3$4 = /* @__PURE__ */ vue.createElementVNode("path", {
6525
6701
  "fill-rule": "evenodd",
6526
6702
  d: "M11 11.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z"
6527
6703
  }, null, -1);
6528
- const _hoisted_4$5 = [
6529
- _hoisted_2$9,
6530
- _hoisted_3$5
6704
+ const _hoisted_4$4 = [
6705
+ _hoisted_2$8,
6706
+ _hoisted_3$4
6531
6707
  ];
6532
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
6708
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
6533
6709
  ...{
6534
6710
  name: "MEditorFolderMinusIcon"
6535
6711
  },
6536
6712
  __name: "FolderMinusIcon",
6537
6713
  setup(__props) {
6538
6714
  return (_ctx, _cache) => {
6539
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$b, _hoisted_4$5);
6715
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$a, _hoisted_4$4);
6540
6716
  };
6541
6717
  }
6542
6718
  });
@@ -6616,7 +6792,7 @@
6616
6792
  };
6617
6793
  };
6618
6794
 
6619
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
6795
+ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6620
6796
  ...{
6621
6797
  name: "MEditorLayerMenu"
6622
6798
  },
@@ -6679,7 +6855,7 @@
6679
6855
  {
6680
6856
  type: "button",
6681
6857
  text: "全部折叠",
6682
- icon: _sfc_main$k,
6858
+ icon: _sfc_main$j,
6683
6859
  display: () => utils.isPage(node.value),
6684
6860
  handler: () => {
6685
6861
  emit("collapse-all");
@@ -6705,7 +6881,7 @@
6705
6881
  show
6706
6882
  });
6707
6883
  return (_ctx, _cache) => {
6708
- return vue.openBlock(), vue.createBlock(_sfc_main$l, {
6884
+ return vue.openBlock(), vue.createBlock(_sfc_main$k, {
6709
6885
  "menu-data": menuData.value,
6710
6886
  ref_key: "menu",
6711
6887
  ref: menu,
@@ -6715,7 +6891,7 @@
6715
6891
  }
6716
6892
  });
6717
6893
 
6718
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6894
+ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
6719
6895
  __name: "LayerNodeTool",
6720
6896
  props: {
6721
6897
  data: {}
@@ -6734,12 +6910,12 @@
6734
6910
  };
6735
6911
  return (_ctx, _cache) => {
6736
6912
  return _ctx.data.type !== "page" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
6737
- _ctx.data.visible === false ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
6913
+ _ctx.data.visible === false ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
6738
6914
  key: 0,
6739
6915
  icon: vue.unref(iconsVue.Hide),
6740
6916
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => setNodeVisible(true), ["stop"])),
6741
6917
  title: "点击显示"
6742
- }, null, 8, ["icon"])) : (vue.openBlock(), vue.createBlock(_sfc_main$M, {
6918
+ }, null, 8, ["icon"])) : (vue.openBlock(), vue.createBlock(_sfc_main$N, {
6743
6919
  key: 1,
6744
6920
  icon: vue.unref(iconsVue.View),
6745
6921
  onClick: _cache[1] || (_cache[1] = vue.withModifiers(($event) => setNodeVisible(false), ["stop"])),
@@ -6751,6 +6927,75 @@
6751
6927
  }
6752
6928
  });
6753
6929
 
6930
+ const useClick = (services, isCtrlKeyDown, nodeStatusMap) => {
6931
+ const select = async (data) => {
6932
+ if (!data.id) {
6933
+ throw new Error("没有id");
6934
+ }
6935
+ if (isCtrlKeyDown.value) {
6936
+ multiSelect(data);
6937
+ } else {
6938
+ await services?.editorService.select(data);
6939
+ services?.editorService.get("stage")?.select(data.id);
6940
+ }
6941
+ };
6942
+ const multiSelect = async (data) => {
6943
+ const nodes = services?.editorService.get("nodes") || [];
6944
+ const newNodes = [];
6945
+ let isCancel = false;
6946
+ nodes.forEach((node) => {
6947
+ if (node.id === data.id) {
6948
+ isCancel = true;
6949
+ return;
6950
+ }
6951
+ newNodes.push(node.id);
6952
+ });
6953
+ if (!isCancel || newNodes.length === 0) {
6954
+ newNodes.push(data.id);
6955
+ }
6956
+ await services?.editorService.multiSelect(newNodes);
6957
+ services?.editorService.get("stage")?.multiSelect(newNodes);
6958
+ };
6959
+ const throttleTime = 300;
6960
+ const highlightHandler = lodashEs.throttle((event, data) => {
6961
+ highlight(data);
6962
+ }, throttleTime);
6963
+ const highlight = (data) => {
6964
+ services?.editorService?.highlight(data);
6965
+ services?.editorService?.get("stage")?.highlight(data.id);
6966
+ };
6967
+ const nodeClickHandler = (event, data) => {
6968
+ if (!nodeStatusMap?.value)
6969
+ return;
6970
+ if (services?.uiService.get("uiSelectMode")) {
6971
+ document.dispatchEvent(new CustomEvent(UI_SELECT_MODE_EVENT_NAME, { detail: data }));
6972
+ return;
6973
+ }
6974
+ if (data.items && data.items.length > 0 && !isCtrlKeyDown.value) {
6975
+ updateStatus(nodeStatusMap.value, data.id, {
6976
+ expand: true
6977
+ });
6978
+ }
6979
+ vue.nextTick(() => {
6980
+ select(data);
6981
+ });
6982
+ };
6983
+ const menu = vue.ref();
6984
+ return {
6985
+ menu,
6986
+ nodeClickHandler,
6987
+ nodeContentmenuHandler(event, data) {
6988
+ event.preventDefault();
6989
+ const nodes = services?.editorService.get("nodes") || [];
6990
+ if (nodes.length < 2 || !nodes.includes(data)) {
6991
+ nodeClickHandler(event, data);
6992
+ }
6993
+ menu.value?.show(event);
6994
+ },
6995
+ highlightHandler
6996
+ };
6997
+ };
6998
+
6754
6999
  const dragState = {
6755
7000
  dragOverNodeId: "",
6756
7001
  dropType: "",
@@ -6795,7 +7040,7 @@
6795
7040
  if (!event.target)
6796
7041
  return;
6797
7042
  const targetEl = getNodeEl(event.target);
6798
- if (!targetEl)
7043
+ if (!targetEl?.draggable)
6799
7044
  return;
6800
7045
  const labelEl = targetEl.children[0];
6801
7046
  if (!labelEl)
@@ -6869,16 +7114,6 @@
6869
7114
  };
6870
7115
  };
6871
7116
 
6872
- const updateStatus = (nodeStatusMap, id, status) => {
6873
- const nodeStatus = nodeStatusMap.get(id);
6874
- if (!nodeStatus)
6875
- return;
6876
- utils.getKeys(status).forEach((key) => {
6877
- if (nodeStatus[key] !== void 0 && status[key] !== void 0) {
6878
- nodeStatus[key] = Boolean(status[key]);
6879
- }
6880
- });
6881
- };
6882
7117
  const useFilter = (nodeStatusMap, page) => {
6883
7118
  const filterIsMatch = (value, data) => {
6884
7119
  if (!value) {
@@ -6923,179 +7158,6 @@
6923
7158
  };
6924
7159
  };
6925
7160
 
6926
- const _hoisted_1$a = ["draggable", "data-node-id", "data-is-container"];
6927
- const _hoisted_2$8 = { class: "layer-node-label" };
6928
- const _hoisted_3$4 = { class: "layer-node-tool" };
6929
- const _hoisted_4$4 = {
6930
- key: 0,
6931
- class: "magic-editor-layer-node-children"
6932
- };
6933
- const throttleTime = 300;
6934
- const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
6935
- ...{
6936
- name: "MEditorLayerNode"
6937
- },
6938
- __name: "LayerNode",
6939
- props: {
6940
- data: {},
6941
- parent: {},
6942
- indent: { default: 0 },
6943
- filterText: { default: "" },
6944
- isCtrlKeyDown: { type: Boolean, default: false }
6945
- },
6946
- emits: ["node-contextmenu"],
6947
- setup(__props, { emit }) {
6948
- const props = __props;
6949
- const services = vue.inject("services");
6950
- const nodeStatusMap = vue.inject("nodeStatusMap");
6951
- const editorService = services?.editorService;
6952
- const uiService = services?.uiService;
6953
- const nodeStatus = vue.computed(
6954
- () => nodeStatusMap?.value?.get(props.data.id) || {
6955
- selected: false,
6956
- expand: false,
6957
- visible: false
6958
- }
6959
- );
6960
- const expanded = vue.computed(() => nodeStatus.value.expand);
6961
- const selected = vue.computed(() => nodeStatus.value.selected);
6962
- const visible = vue.computed(() => nodeStatus.value.visible);
6963
- const hasChilren = vue.computed(() => props.data.items?.length > 0);
6964
- const nodeEl = vue.ref();
6965
- const { handleDragStart, handleDragEnd, handleDragLeave } = useDrag(services);
6966
- const expandHandler = () => {
6967
- if (!nodeStatusMap?.value)
6968
- return;
6969
- updateStatus(nodeStatusMap.value, props.data.id, {
6970
- expand: !expanded.value
6971
- });
6972
- };
6973
- const nodeClickHandler = () => {
6974
- if (!nodeStatusMap?.value)
6975
- return;
6976
- if (uiService?.get("uiSelectMode")) {
6977
- document.dispatchEvent(new CustomEvent(UI_SELECT_MODE_EVENT_NAME, { detail: props.data }));
6978
- return;
6979
- }
6980
- if (hasChilren.value && !props.isCtrlKeyDown) {
6981
- updateStatus(nodeStatusMap.value, props.data.id, {
6982
- expand: true
6983
- });
6984
- }
6985
- vue.nextTick(() => {
6986
- select(props.data);
6987
- });
6988
- };
6989
- const contextmenuHandler = (event) => {
6990
- event.preventDefault();
6991
- const nodes = editorService?.get("nodes") || [];
6992
- if (nodes.length < 2 || !nodes.includes(props.data)) {
6993
- nodeClickHandler();
6994
- }
6995
- emit("node-contextmenu", event, props.data);
6996
- };
6997
- const nodeContentmenuHandler = (event, node) => {
6998
- emit("node-contextmenu", event, node);
6999
- };
7000
- const select = async (data) => {
7001
- if (!data.id) {
7002
- throw new Error("没有id");
7003
- }
7004
- if (props.isCtrlKeyDown) {
7005
- multiSelect(data);
7006
- } else {
7007
- await editorService?.select(data);
7008
- editorService?.get("stage")?.select(data.id);
7009
- }
7010
- };
7011
- const multiSelect = async (data) => {
7012
- const nodes = editorService?.get("nodes") || [];
7013
- const newNodes = [];
7014
- let isCancel = false;
7015
- nodes.forEach((node) => {
7016
- if (node.id === data.id) {
7017
- isCancel = true;
7018
- return;
7019
- }
7020
- newNodes.push(node.id);
7021
- });
7022
- if (!isCancel || newNodes.length === 0) {
7023
- newNodes.push(data.id);
7024
- }
7025
- await editorService?.multiSelect(newNodes);
7026
- editorService?.get("stage")?.multiSelect(newNodes);
7027
- };
7028
- const highlightHandler = lodashEs.throttle(() => {
7029
- highlight();
7030
- }, throttleTime);
7031
- const highlight = () => {
7032
- editorService?.highlight(props.data);
7033
- editorService?.get("stage")?.highlight(props.data.id);
7034
- };
7035
- return (_ctx, _cache) => {
7036
- const _component_LayerNode = vue.resolveComponent("LayerNode", true);
7037
- return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
7038
- class: "magic-editor-layer-node",
7039
- ref_key: "nodeEl",
7040
- ref: nodeEl,
7041
- draggable: !vue.unref(utils.isPage)(_ctx.data),
7042
- "data-node-id": _ctx.data.id,
7043
- "data-is-container": Array.isArray(_ctx.data.items),
7044
- onDragstart: _cache[1] || (_cache[1] = //@ts-ignore
7045
- (...args) => vue.unref(handleDragStart) && vue.unref(handleDragStart)(...args)),
7046
- onDragleave: _cache[2] || (_cache[2] = //@ts-ignore
7047
- (...args) => vue.unref(handleDragLeave) && vue.unref(handleDragLeave)(...args)),
7048
- onDragend: _cache[3] || (_cache[3] = ($event) => vue.unref(handleDragEnd)($event, _ctx.data))
7049
- }, [
7050
- vue.createElementVNode("div", {
7051
- class: vue.normalizeClass(["layer-node", { selected: selected.value, expanded: expanded.value }]),
7052
- style: vue.normalizeStyle(`padding-left: ${_ctx.indent}px`),
7053
- onContextmenu: contextmenuHandler,
7054
- onMouseenter: _cache[0] || (_cache[0] = ($event) => vue.unref(highlightHandler)())
7055
- }, [
7056
- vue.createVNode(_sfc_main$M, {
7057
- class: "expand-icon",
7058
- style: vue.normalizeStyle(hasChilren.value ? "" : "color: transparent; cursor: default"),
7059
- icon: expanded.value ? vue.unref(iconsVue.ArrowDown) : vue.unref(iconsVue.ArrowRight),
7060
- onClick: expandHandler
7061
- }, null, 8, ["style", "icon"]),
7062
- vue.createElementVNode("div", {
7063
- class: "layer-node-content",
7064
- onClick: nodeClickHandler
7065
- }, [
7066
- vue.renderSlot(_ctx.$slots, "layer-node-content", { data: _ctx.data }, () => [
7067
- vue.createElementVNode("div", _hoisted_2$8, vue.toDisplayString(`${_ctx.data.name} (${_ctx.data.id})`), 1),
7068
- vue.createElementVNode("div", _hoisted_3$4, [
7069
- vue.createVNode(_sfc_main$i, { data: _ctx.data }, null, 8, ["data"])
7070
- ])
7071
- ])
7072
- ])
7073
- ], 38),
7074
- hasChilren.value && expanded.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
7075
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.data.items, (item) => {
7076
- return vue.openBlock(), vue.createBlock(_component_LayerNode, {
7077
- data: item,
7078
- parent: _ctx.data,
7079
- key: item.id,
7080
- indent: _ctx.indent + 11,
7081
- "filter-text": _ctx.filterText,
7082
- "is-ctrl-key-down": _ctx.isCtrlKeyDown,
7083
- onNodeContextmenu: nodeContentmenuHandler
7084
- }, {
7085
- "layer-node-content": vue.withCtx(({ data: nodeData }) => [
7086
- vue.renderSlot(_ctx.$slots, "layer-node-content", { data: nodeData })
7087
- ]),
7088
- _: 2
7089
- }, 1032, ["data", "parent", "indent", "filter-text", "is-ctrl-key-down"]);
7090
- }), 128))
7091
- ])) : vue.createCommentVNode("", true)
7092
- ], 40, _hoisted_1$a)), [
7093
- [vue.vShow, visible.value]
7094
- ]);
7095
- };
7096
- }
7097
- });
7098
-
7099
7161
  var KeyBindingContainerKey = /* @__PURE__ */ ((KeyBindingContainerKey2) => {
7100
7162
  KeyBindingContainerKey2["STAGE"] = "stage";
7101
7163
  KeyBindingContainerKey2["LAYER_PANEL"] = "layer-panel";
@@ -7247,7 +7309,7 @@
7247
7309
  vue.watchEffect(() => {
7248
7310
  if (contianer.value) {
7249
7311
  globalThis.addEventListener("blur", windowBlurHandler);
7250
- keybindingService?.registeEl(KeyBindingContainerKey.LAYER_PANEL, contianer.value);
7312
+ keybindingService?.registeEl(KeyBindingContainerKey.LAYER_PANEL, contianer.value.$el);
7251
7313
  } else {
7252
7314
  globalThis.removeEventListener("blur", windowBlurHandler);
7253
7315
  keybindingService?.unregisteEl(KeyBindingContainerKey.LAYER_PANEL);
@@ -7263,14 +7325,16 @@
7263
7325
  map.set(pageId, {
7264
7326
  visible: true,
7265
7327
  expand: true,
7266
- selected: true
7328
+ selected: true,
7329
+ draggable: false
7267
7330
  });
7268
7331
  services?.editorService.getNodeById(pageId)?.items.forEach(
7269
7332
  (node) => traverseNode(node, (node2) => {
7270
7333
  map.set(node2.id, {
7271
7334
  visible: true,
7272
7335
  expand: false,
7273
- selected: false
7336
+ selected: false,
7337
+ draggable: true
7274
7338
  });
7275
7339
  })
7276
7340
  );
@@ -7320,7 +7384,8 @@
7320
7384
  nodeStatusMap.value?.set(node2.id, {
7321
7385
  visible: true,
7322
7386
  expand: Array.isArray(node2.items),
7323
- selected: true
7387
+ selected: true,
7388
+ draggable: true
7324
7389
  });
7325
7390
  });
7326
7391
  });
@@ -7349,13 +7414,11 @@
7349
7414
  setup(__props) {
7350
7415
  const services = vue.inject("services");
7351
7416
  const editorService = services?.editorService;
7352
- const layerTreeContainer = vue.ref();
7417
+ const tree = vue.ref();
7353
7418
  const page = vue.computed(() => editorService?.get("page"));
7354
- const root = vue.computed(() => editorService?.get("root"));
7355
7419
  const { nodeStatusMap } = useNodeStatus(services, page);
7356
- const { isCtrlKeyDown } = useKeybinding(services, layerTreeContainer);
7357
- vue.provide("nodeStatusMap", nodeStatusMap);
7358
- const { filterText, filterTextChangeHandler } = useFilter(nodeStatusMap, page);
7420
+ const { isCtrlKeyDown } = useKeybinding(services, tree);
7421
+ const { filterTextChangeHandler } = useFilter(nodeStatusMap, page);
7359
7422
  const collapseAllHandler = () => {
7360
7423
  if (!page.value || !nodeStatusMap.value)
7361
7424
  return;
@@ -7367,40 +7430,45 @@
7367
7430
  status.expand = false;
7368
7431
  }
7369
7432
  };
7370
- const menu = vue.ref();
7371
- const contextmenu = (event) => {
7372
- event.preventDefault();
7373
- menu.value?.show(event);
7374
- };
7375
- const { handleDragOver } = useDrag(services);
7433
+ const { handleDragStart, handleDragEnd, handleDragLeave, handleDragOver } = useDrag(services);
7434
+ const {
7435
+ menu,
7436
+ nodeClickHandler,
7437
+ nodeContentmenuHandler,
7438
+ highlightHandler: mouseenterHandler
7439
+ } = useClick(services, isCtrlKeyDown, nodeStatusMap);
7376
7440
  return (_ctx, _cache) => {
7377
- return vue.openBlock(), vue.createBlock(vue.unref(design.TMagicScrollbar), { class: "magic-editor-layer-panel" }, {
7441
+ return vue.openBlock(), vue.createBlock(vue.unref(design.TMagicScrollbar), { class: "m-editor-layer-panel" }, {
7378
7442
  default: vue.withCtx(() => [
7379
7443
  vue.renderSlot(_ctx.$slots, "layer-panel-header"),
7380
- vue.createVNode(_sfc_main$t, { onSearch: vue.unref(filterTextChangeHandler) }, null, 8, ["onSearch"]),
7381
- vue.createElementVNode("div", {
7382
- class: "magic-editor-layer-tree",
7383
- ref_key: "layerTreeContainer",
7384
- ref: layerTreeContainer,
7444
+ vue.createVNode(_sfc_main$u, { onSearch: vue.unref(filterTextChangeHandler) }, null, 8, ["onSearch"]),
7445
+ page.value && vue.unref(nodeStatusMap) ? (vue.openBlock(), vue.createBlock(_sfc_main$l, {
7446
+ key: 0,
7385
7447
  tabindex: "-1",
7386
- onDragover: _cache[0] || (_cache[0] = //@ts-ignore
7387
- (...args) => vue.unref(handleDragOver) && vue.unref(handleDragOver)(...args))
7388
- }, [
7389
- page.value && root.value ? (vue.openBlock(), vue.createBlock(_sfc_main$h, {
7390
- key: 0,
7391
- data: page.value,
7392
- "filter-text": vue.unref(filterText),
7393
- "is-ctrl-key-down": vue.unref(isCtrlKeyDown),
7394
- onNodeContextmenu: contextmenu
7395
- }, {
7396
- "layer-node-content": vue.withCtx(({ data: nodeData }) => [
7397
- vue.renderSlot(_ctx.$slots, "layer-node-content", { data: nodeData })
7398
- ]),
7399
- _: 3
7400
- }, 8, ["data", "filter-text", "is-ctrl-key-down"])) : vue.createCommentVNode("", true)
7401
- ], 544),
7448
+ ref_key: "tree",
7449
+ ref: tree,
7450
+ data: [page.value],
7451
+ "node-status-map": vue.unref(nodeStatusMap),
7452
+ onNodeDragover: vue.unref(handleDragOver),
7453
+ onNodeDragstart: vue.unref(handleDragStart),
7454
+ onNodeDragleave: vue.unref(handleDragLeave),
7455
+ onNodeDragend: vue.unref(handleDragEnd),
7456
+ onNodeContextmenu: vue.unref(nodeContentmenuHandler),
7457
+ onNodeMouseenter: vue.unref(mouseenterHandler),
7458
+ onNodeClick: vue.unref(nodeClickHandler)
7459
+ }, {
7460
+ "tree-node-tool": vue.withCtx(({ data: nodeData }) => [
7461
+ vue.renderSlot(_ctx.$slots, "layer-node-tool", { data: nodeData }, () => [
7462
+ vue.createVNode(_sfc_main$h, { data: nodeData }, null, 8, ["data"])
7463
+ ])
7464
+ ]),
7465
+ "tree-node-content": vue.withCtx(({ data: nodeData }) => [
7466
+ vue.renderSlot(_ctx.$slots, "layer-node-content", { data: nodeData })
7467
+ ]),
7468
+ _: 3
7469
+ }, 8, ["data", "node-status-map", "onNodeDragover", "onNodeDragstart", "onNodeDragleave", "onNodeDragend", "onNodeContextmenu", "onNodeMouseenter", "onNodeClick"])) : vue.createCommentVNode("", true),
7402
7470
  (vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
7403
- vue.createVNode(_sfc_main$j, {
7471
+ vue.createVNode(_sfc_main$i, {
7404
7472
  ref_key: "menu",
7405
7473
  ref: menu,
7406
7474
  "layer-content-menu": _ctx.layerContentMenu,
@@ -7496,7 +7564,7 @@
7496
7564
  "model-value": collapseValue.value
7497
7565
  }, {
7498
7566
  default: vue.withCtx(() => [
7499
- vue.createVNode(_sfc_main$t, { onSearch: filterTextChangeHandler }),
7567
+ vue.createVNode(_sfc_main$u, { onSearch: filterTextChangeHandler }),
7500
7568
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(list.value, (group, index) => {
7501
7569
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
7502
7570
  group.items && group.items.length ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicCollapseItem), {
@@ -7504,7 +7572,7 @@
7504
7572
  name: `${index}`
7505
7573
  }, {
7506
7574
  title: vue.withCtx(() => [
7507
- vue.createVNode(_sfc_main$M, { icon: vue.unref(iconsVue.Grid) }, null, 8, ["icon"]),
7575
+ vue.createVNode(_sfc_main$N, { icon: vue.unref(iconsVue.Grid) }, null, 8, ["icon"]),
7508
7576
  vue.createTextVNode(vue.toDisplayString(group.title), 1)
7509
7577
  ]),
7510
7578
  default: vue.withCtx(() => [
@@ -7525,7 +7593,7 @@
7525
7593
  content: item.desc
7526
7594
  }, {
7527
7595
  default: vue.withCtx(() => [
7528
- vue.createVNode(_sfc_main$M, {
7596
+ vue.createVNode(_sfc_main$N, {
7529
7597
  icon: item.icon
7530
7598
  }, null, 8, ["icon"])
7531
7599
  ]),
@@ -7600,7 +7668,7 @@
7600
7668
  type: "component",
7601
7669
  icon: iconsVue.EditPen,
7602
7670
  text: "代码编辑",
7603
- component: _sfc_main$p,
7671
+ component: _sfc_main$q,
7604
7672
  slots: {}
7605
7673
  },
7606
7674
  "data-source": {
@@ -7608,7 +7676,7 @@
7608
7676
  type: "component",
7609
7677
  icon: iconsVue.Coin,
7610
7678
  text: "数据源",
7611
- component: _sfc_main$m,
7679
+ component: _sfc_main$n,
7612
7680
  slots: {}
7613
7681
  }
7614
7682
  };
@@ -7633,7 +7701,7 @@
7633
7701
  key: config.$key ?? index,
7634
7702
  onClick: ($event) => activeTabName.value = config.text || `${index}`
7635
7703
  }, [
7636
- config.icon ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
7704
+ config.icon ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
7637
7705
  key: 0,
7638
7706
  icon: config.icon
7639
7707
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
@@ -7704,6 +7772,29 @@
7704
7772
  }, null, 8, ["data"])) : vue.createCommentVNode("", true)
7705
7773
  ]),
7706
7774
  key: "5"
7775
+ } : void 0,
7776
+ config.$key === "layer" || config.slots?.layerNodeTool ? {
7777
+ name: "layer-node-tool",
7778
+ fn: vue.withCtx(({ data: nodeData }) => [
7779
+ config.$key === "layer" ? vue.renderSlot(_ctx.$slots, "layer-node-tool", {
7780
+ key: 0,
7781
+ data: nodeData
7782
+ }) : config.slots?.layerNodeTool ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(config.slots.layerNodeTool), {
7783
+ key: 1,
7784
+ data: nodeData
7785
+ }, null, 8, ["data"])) : vue.createCommentVNode("", true)
7786
+ ]),
7787
+ key: "6"
7788
+ } : void 0,
7789
+ config.$key === "data-source" || config.slots?.codeBlockPanelTool ? {
7790
+ name: "data-source-panel-tool",
7791
+ fn: vue.withCtx(({ data }) => [
7792
+ config.$key === "data-source" ? vue.renderSlot(_ctx.$slots, "data-source-panel-tool", {
7793
+ key: 0,
7794
+ data
7795
+ }) : config.slots?.DataSourcePanelTool ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(config.slots.DataSourcePanelTool), { key: 1 })) : vue.createCommentVNode("", true)
7796
+ ]),
7797
+ key: "7"
7707
7798
  } : void 0
7708
7799
  ]), 1040)) : vue.createCommentVNode("", true)
7709
7800
  ])), [
@@ -8331,7 +8422,7 @@
8331
8422
  content: _ctx.pinned ? "取消置于顶层自动隐藏" : "置于顶层不消失"
8332
8423
  }, {
8333
8424
  default: vue.withCtx(() => [
8334
- vue.createVNode(_sfc_main$M, {
8425
+ vue.createVNode(_sfc_main$N, {
8335
8426
  style: { "margin-left": "10px", "cursor": "pointer" },
8336
8427
  icon: _ctx.pinned ? _sfc_main$a : _sfc_main$b,
8337
8428
  onClick: pinHandler
@@ -8347,7 +8438,7 @@
8347
8438
  onClick: closeHandler
8348
8439
  }, {
8349
8440
  default: vue.withCtx(() => [
8350
- vue.createVNode(_sfc_main$M, { icon: vue.unref(iconsVue.Close) }, null, 8, ["icon"])
8441
+ vue.createVNode(_sfc_main$N, { icon: vue.unref(iconsVue.Close) }, null, 8, ["icon"])
8351
8442
  ]),
8352
8443
  _: 1
8353
8444
  })
@@ -8474,7 +8565,7 @@
8474
8565
  menu.value?.hide();
8475
8566
  };
8476
8567
  return (_ctx, _cache) => {
8477
- return vue.openBlock(), vue.createBlock(_sfc_main$l, {
8568
+ return vue.openBlock(), vue.createBlock(_sfc_main$k, {
8478
8569
  ref_key: "menu",
8479
8570
  ref: menu,
8480
8571
  class: "magic-editor-node-list-menu",
@@ -8660,7 +8751,7 @@
8660
8751
  };
8661
8752
  __expose({ show });
8662
8753
  return (_ctx, _cache) => {
8663
- return vue.openBlock(), vue.createBlock(_sfc_main$l, {
8754
+ return vue.openBlock(), vue.createBlock(_sfc_main$k, {
8664
8755
  "menu-data": menuData.value,
8665
8756
  ref_key: "menu",
8666
8757
  ref: menu
@@ -8993,14 +9084,14 @@
8993
9084
  class: "m-editor-page-bar-item m-editor-page-bar-item-icon",
8994
9085
  onClick: addPage
8995
9086
  }, [
8996
- vue.createVNode(_sfc_main$M, { icon: vue.unref(iconsVue.Plus) }, null, 8, ["icon"])
9087
+ vue.createVNode(_sfc_main$N, { icon: vue.unref(iconsVue.Plus) }, null, 8, ["icon"])
8997
9088
  ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2)),
8998
9089
  canScroll.value ? (vue.openBlock(), vue.createElementBlock("div", {
8999
9090
  key: 2,
9000
9091
  class: "m-editor-page-bar-item m-editor-page-bar-item-icon",
9001
9092
  onClick: _cache[0] || (_cache[0] = ($event) => scroll("left"))
9002
9093
  }, [
9003
- vue.createVNode(_sfc_main$M, { icon: vue.unref(iconsVue.ArrowLeftBold) }, null, 8, ["icon"])
9094
+ vue.createVNode(_sfc_main$N, { icon: vue.unref(iconsVue.ArrowLeftBold) }, null, 8, ["icon"])
9004
9095
  ])) : vue.createCommentVNode("", true),
9005
9096
  pageLength.value ? (vue.openBlock(), vue.createElementBlock("div", {
9006
9097
  key: 3,
@@ -9016,7 +9107,7 @@
9016
9107
  class: "m-editor-page-bar-item m-editor-page-bar-item-icon",
9017
9108
  onClick: _cache[1] || (_cache[1] = ($event) => scroll("right"))
9018
9109
  }, [
9019
- vue.createVNode(_sfc_main$M, { icon: vue.unref(iconsVue.ArrowRightBold) }, null, 8, ["icon"])
9110
+ vue.createVNode(_sfc_main$N, { icon: vue.unref(iconsVue.ArrowRightBold) }, null, 8, ["icon"])
9020
9111
  ])) : vue.createCommentVNode("", true)
9021
9112
  ], 512);
9022
9113
  };
@@ -9088,7 +9179,7 @@
9088
9179
  default: vue.withCtx(() => [
9089
9180
  vue.createElementVNode("div", null, [
9090
9181
  vue.renderSlot(_ctx.$slots, "page-bar-popover", { page: item }, () => [
9091
- vue.createVNode(_sfc_main$w, {
9182
+ vue.createVNode(_sfc_main$x, {
9092
9183
  data: {
9093
9184
  type: "button",
9094
9185
  text: "复制",
@@ -9096,7 +9187,7 @@
9096
9187
  handler: () => copy(item)
9097
9188
  }
9098
9189
  }, null, 8, ["data"]),
9099
- vue.createVNode(_sfc_main$w, {
9190
+ vue.createVNode(_sfc_main$x, {
9100
9191
  data: {
9101
9192
  type: "button",
9102
9193
  text: "删除",
@@ -10273,13 +10364,13 @@
10273
10364
  );
10274
10365
  __expose(services);
10275
10366
  return (_ctx, _cache) => {
10276
- return vue.openBlock(), vue.createBlock(_sfc_main$x, null, {
10367
+ return vue.openBlock(), vue.createBlock(_sfc_main$y, null, {
10277
10368
  header: vue.withCtx(() => [
10278
10369
  vue.renderSlot(_ctx.$slots, "header")
10279
10370
  ]),
10280
10371
  nav: vue.withCtx(() => [
10281
10372
  vue.renderSlot(_ctx.$slots, "nav", { editorService: vue.unref(editorService) }, () => [
10282
- vue.createVNode(_sfc_main$v, { data: _ctx.menu }, null, 8, ["data"])
10373
+ vue.createVNode(_sfc_main$w, { data: _ctx.menu }, null, 8, ["data"])
10283
10374
  ])
10284
10375
  ]),
10285
10376
  "content-before": vue.withCtx(() => [
@@ -10300,6 +10391,9 @@
10300
10391
  "layer-node-content": vue.withCtx(({ data }) => [
10301
10392
  vue.renderSlot(_ctx.$slots, "layer-node-content", { data })
10302
10393
  ]),
10394
+ "layer-node-tool": vue.withCtx(({ data }) => [
10395
+ vue.renderSlot(_ctx.$slots, "layer-node-tool", { data })
10396
+ ]),
10303
10397
  "component-list-panel-header": vue.withCtx(() => [
10304
10398
  vue.renderSlot(_ctx.$slots, "component-list-panel-header")
10305
10399
  ]),
@@ -10315,6 +10409,9 @@
10315
10409
  data
10316
10410
  })
10317
10411
  ]),
10412
+ "data-source-panel-tool": vue.withCtx(({ data }) => [
10413
+ vue.renderSlot(_ctx.$slots, "data-source-panel-tool", { data })
10414
+ ]),
10318
10415
  _: 3
10319
10416
  }, 8, ["data", "layer-content-menu"])
10320
10417
  ])
@@ -10340,7 +10437,7 @@
10340
10437
  ]),
10341
10438
  "props-panel": vue.withCtx(() => [
10342
10439
  vue.renderSlot(_ctx.$slots, "props-panel", {}, () => [
10343
- vue.createVNode(_sfc_main$u, {
10440
+ vue.createVNode(_sfc_main$v, {
10344
10441
  "extend-state": _ctx.extendFormState,
10345
10442
  onMounted: _cache[0] || (_cache[0] = (instance) => _ctx.$emit("props-panel-mounted", instance))
10346
10443
  }, {
@@ -10378,61 +10475,61 @@
10378
10475
  app.config.globalProperties.$TMAGIC_EDITOR = option;
10379
10476
  setConfig(option);
10380
10477
  app.component(_sfc_main.name, _sfc_main);
10381
- app.component("m-fields-ui-select", _sfc_main$B);
10382
- app.component("m-fields-code-link", _sfc_main$Q);
10383
- app.component("m-fields-vs-code", _sfc_main$R);
10384
- app.component("magic-code-editor", _sfc_main$S);
10385
- app.component("m-fields-code-select", _sfc_main$P);
10386
- app.component("m-fields-code-select-col", _sfc_main$L);
10387
- app.component("m-fields-event-select", _sfc_main$D);
10388
- app.component("m-fields-data-source-fields", _sfc_main$K);
10389
- app.component("m-fields-data-source-mocks", _sfc_main$F);
10390
- app.component("m-fields-key-value", _sfc_main$C);
10391
- app.component("m-fields-data-source-input", _sfc_main$I);
10392
- app.component("m-fields-data-source-select", _sfc_main$E);
10393
- app.component("m-fields-data-source-methods", _sfc_main$H);
10394
- app.component("m-fields-data-source-method-select", _sfc_main$G);
10395
- app.component("m-fields-data-source-field-select", _sfc_main$J);
10478
+ app.component("m-fields-ui-select", _sfc_main$C);
10479
+ app.component("m-fields-code-link", _sfc_main$R);
10480
+ app.component("m-fields-vs-code", _sfc_main$S);
10481
+ app.component("magic-code-editor", _sfc_main$T);
10482
+ app.component("m-fields-code-select", _sfc_main$Q);
10483
+ app.component("m-fields-code-select-col", _sfc_main$M);
10484
+ app.component("m-fields-event-select", _sfc_main$E);
10485
+ app.component("m-fields-data-source-fields", _sfc_main$L);
10486
+ app.component("m-fields-data-source-mocks", _sfc_main$G);
10487
+ app.component("m-fields-key-value", _sfc_main$D);
10488
+ app.component("m-fields-data-source-input", _sfc_main$J);
10489
+ app.component("m-fields-data-source-select", _sfc_main$F);
10490
+ app.component("m-fields-data-source-methods", _sfc_main$I);
10491
+ app.component("m-fields-data-source-method-select", _sfc_main$H);
10492
+ app.component("m-fields-data-source-field-select", _sfc_main$K);
10396
10493
  }
10397
10494
  };
10398
10495
 
10399
10496
  exports.CODE_DRAFT_STORAGE_KEY = CODE_DRAFT_STORAGE_KEY;
10400
10497
  exports.COPY_STORAGE_KEY = COPY_STORAGE_KEY;
10401
- exports.CodeBlockEditor = _sfc_main$O;
10402
- exports.CodeBlockList = _sfc_main$q;
10403
- exports.CodeBlockListPanel = _sfc_main$p;
10498
+ exports.CodeBlockEditor = _sfc_main$P;
10499
+ exports.CodeBlockList = _sfc_main$r;
10500
+ exports.CodeBlockListPanel = _sfc_main$q;
10404
10501
  exports.CodeDeleteErrorType = CodeDeleteErrorType;
10405
- exports.CodeSelect = _sfc_main$P;
10406
- exports.CodeSelectCol = _sfc_main$L;
10502
+ exports.CodeSelect = _sfc_main$Q;
10503
+ exports.CodeSelectCol = _sfc_main$M;
10407
10504
  exports.ColumnLayout = ColumnLayout;
10408
10505
  exports.ComponentListPanel = _sfc_main$f;
10409
- exports.ContentMenu = _sfc_main$l;
10410
- exports.DataSourceFieldSelect = _sfc_main$J;
10411
- exports.DataSourceFields = _sfc_main$K;
10412
- exports.DataSourceInput = _sfc_main$I;
10413
- exports.DataSourceMethodSelect = _sfc_main$G;
10414
- exports.DataSourceMethods = _sfc_main$H;
10415
- exports.DataSourceMocks = _sfc_main$F;
10416
- exports.DataSourceSelect = _sfc_main$E;
10506
+ exports.ContentMenu = _sfc_main$k;
10507
+ exports.DataSourceFieldSelect = _sfc_main$K;
10508
+ exports.DataSourceFields = _sfc_main$L;
10509
+ exports.DataSourceInput = _sfc_main$J;
10510
+ exports.DataSourceMethodSelect = _sfc_main$H;
10511
+ exports.DataSourceMethods = _sfc_main$I;
10512
+ exports.DataSourceMocks = _sfc_main$G;
10513
+ exports.DataSourceSelect = _sfc_main$F;
10417
10514
  exports.DepTargetType = DepTargetType;
10418
10515
  exports.DragType = DragType;
10419
- exports.EventSelect = _sfc_main$D;
10516
+ exports.EventSelect = _sfc_main$E;
10420
10517
  exports.Fixed2Other = Fixed2Other;
10421
10518
  exports.H_GUIDE_LINE_STORAGE_KEY = H_GUIDE_LINE_STORAGE_KEY;
10422
- exports.Icon = _sfc_main$M;
10519
+ exports.Icon = _sfc_main$N;
10423
10520
  exports.KeyBindingCommand = KeyBindingCommand;
10424
- exports.KeyValue = _sfc_main$C;
10521
+ exports.KeyValue = _sfc_main$D;
10425
10522
  exports.Keys = Keys;
10426
10523
  exports.LayerOffset = LayerOffset;
10427
10524
  exports.LayerPanel = _sfc_main$g;
10428
10525
  exports.Layout = Layout;
10429
- exports.LayoutContainer = _sfc_main$z;
10430
- exports.PropsPanel = _sfc_main$u;
10431
- exports.Resizer = _sfc_main$A;
10432
- exports.SplitView = _sfc_main$z;
10433
- exports.TMagicCodeEditor = _sfc_main$S;
10526
+ exports.LayoutContainer = _sfc_main$A;
10527
+ exports.PropsPanel = _sfc_main$v;
10528
+ exports.Resizer = _sfc_main$B;
10529
+ exports.SplitView = _sfc_main$A;
10530
+ exports.TMagicCodeEditor = _sfc_main$T;
10434
10531
  exports.TMagicEditor = _sfc_main;
10435
- exports.ToolButton = _sfc_main$w;
10532
+ exports.ToolButton = _sfc_main$x;
10436
10533
  exports.UI_SELECT_MODE_EVENT_NAME = UI_SELECT_MODE_EVENT_NAME;
10437
10534
  exports.V_GUIDE_LINE_STORAGE_KEY = V_GUIDE_LINE_STORAGE_KEY;
10438
10535
  exports.advancedTabConfig = advancedTabConfig;