@tmagic/editor 1.0.0-rc.3 → 1.0.0-rc.4

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 (58) hide show
  1. package/coverage/clover.xml +361 -324
  2. package/coverage/coverage-final.json +7 -7
  3. package/coverage/lcov-report/index.html +39 -39
  4. package/coverage/lcov-report/src/Editor.vue.html +1 -1
  5. package/coverage/lcov-report/src/components/ContentMenu.vue.html +11 -11
  6. package/coverage/lcov-report/src/components/Icon.vue.html +2 -2
  7. package/coverage/lcov-report/src/components/ScrollViewer.vue.html +1 -1
  8. package/coverage/lcov-report/src/components/ToolButton.vue.html +25 -25
  9. package/coverage/lcov-report/src/components/index.html +5 -5
  10. package/coverage/lcov-report/src/index.html +1 -1
  11. package/coverage/lcov-report/src/layouts/AddPageBox.vue.html +1 -1
  12. package/coverage/lcov-report/src/layouts/Framework.vue.html +1 -1
  13. package/coverage/lcov-report/src/layouts/NavMenu.vue.html +1 -1
  14. package/coverage/lcov-report/src/layouts/PropsPanel.vue.html +1 -1
  15. package/coverage/lcov-report/src/layouts/Resizer.vue.html +1 -1
  16. package/coverage/lcov-report/src/layouts/index.html +1 -1
  17. package/coverage/lcov-report/src/layouts/sidebar/ComponentListPanel.vue.html +1 -1
  18. package/coverage/lcov-report/src/layouts/sidebar/LayerMenu.vue.html +17 -17
  19. package/coverage/lcov-report/src/layouts/sidebar/LayerPanel.vue.html +1 -1
  20. package/coverage/lcov-report/src/layouts/sidebar/Sidebar.vue.html +1 -1
  21. package/coverage/lcov-report/src/layouts/sidebar/TabPane.vue.html +2 -2
  22. package/coverage/lcov-report/src/layouts/sidebar/index.html +19 -19
  23. package/coverage/lcov-report/src/layouts/workspace/PageBar.vue.html +1 -1
  24. package/coverage/lcov-report/src/layouts/workspace/Stage.vue.html +1 -1
  25. package/coverage/lcov-report/src/layouts/workspace/ViewerMenu.vue.html +69 -33
  26. package/coverage/lcov-report/src/layouts/workspace/Workspace.vue.html +79 -34
  27. package/coverage/lcov-report/src/layouts/workspace/index.html +28 -28
  28. package/coverage/lcov-report/src/services/BaseService.ts.html +2 -2
  29. package/coverage/lcov-report/src/services/componentList.ts.html +1 -1
  30. package/coverage/lcov-report/src/services/editor.ts.html +100 -10
  31. package/coverage/lcov-report/src/services/events.ts.html +1 -1
  32. package/coverage/lcov-report/src/services/history.ts.html +1 -1
  33. package/coverage/lcov-report/src/services/index.html +15 -15
  34. package/coverage/lcov-report/src/services/props.ts.html +1 -1
  35. package/coverage/lcov-report/src/services/ui.ts.html +1 -1
  36. package/coverage/lcov-report/src/type.ts.html +1 -1
  37. package/coverage/lcov-report/src/utils/compose.ts.html +1 -1
  38. package/coverage/lcov-report/src/utils/config.ts.html +1 -1
  39. package/coverage/lcov-report/src/utils/editor.ts.html +1 -1
  40. package/coverage/lcov-report/src/utils/index.html +1 -1
  41. package/coverage/lcov-report/src/utils/index.ts.html +1 -1
  42. package/coverage/lcov-report/src/utils/logger.ts.html +1 -1
  43. package/coverage/lcov-report/src/utils/props.ts.html +1 -1
  44. package/coverage/lcov-report/src/utils/scroll-viewer.ts.html +1 -1
  45. package/coverage/lcov-report/src/utils/undo-redo.ts.html +1 -1
  46. package/coverage/lcov.info +782 -683
  47. package/dist/tmagic-editor.es.js +75 -32
  48. package/dist/tmagic-editor.es.js.map +1 -1
  49. package/dist/tmagic-editor.umd.js +74 -31
  50. package/dist/tmagic-editor.umd.js.map +1 -1
  51. package/dist/types/src/services/BaseService.d.ts +1 -1
  52. package/package.json +7 -7
  53. package/src/components/ContentMenu.vue +1 -1
  54. package/src/layouts/sidebar/TabPane.vue +1 -1
  55. package/src/layouts/workspace/ViewerMenu.vue +14 -2
  56. package/src/layouts/workspace/Workspace.vue +38 -23
  57. package/src/services/BaseService.ts +1 -1
  58. package/src/services/editor.ts +31 -1
@@ -963,6 +963,13 @@
963
963
  } else {
964
964
  historyService.empty();
965
965
  }
966
+ if (node?.id) {
967
+ this.get("stage")?.renderer.runtime?.getApp?.()?.emit("editor:select", {
968
+ node,
969
+ page,
970
+ parent
971
+ }, utils.getNodePath(node.id, this.get("root").items));
972
+ }
966
973
  this.emit("select", node);
967
974
  return node;
968
975
  }
@@ -1151,6 +1158,9 @@
1151
1158
  ...position
1152
1159
  };
1153
1160
  }
1161
+ if (utils.isPage(config)) {
1162
+ config.name = generatePageNameByApp(this.get("root"));
1163
+ }
1154
1164
  return await this.add(config);
1155
1165
  }
1156
1166
  async alignCenter(config2) {
@@ -1160,7 +1170,17 @@
1160
1170
  if (layout === Layout.RELATIVE) {
1161
1171
  return;
1162
1172
  }
1163
- if (parent.style?.width && node.style?.width) {
1173
+ if (!node.style)
1174
+ return;
1175
+ const stage = this.get("stage");
1176
+ const doc = stage?.renderer.contentWindow?.document;
1177
+ if (doc) {
1178
+ const parentEl = doc.getElementById(`${parent.id}`);
1179
+ const el = doc.getElementById(`${node.id}`);
1180
+ if (parentEl && el) {
1181
+ node.style.left = (parentEl.clientWidth - el.clientWidth) / 2;
1182
+ }
1183
+ } else if (parent.style && utils.isNumber(parent.style?.width) && utils.isNumber(node.style?.width)) {
1164
1184
  node.style.left = (parent.style.width - node.style.width) / 2;
1165
1185
  }
1166
1186
  await this.update(node);
@@ -2306,7 +2326,7 @@
2306
2326
  function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
2307
2327
  const _component_tool_button = vue.resolveComponent("tool-button");
2308
2328
  const _component_content_menu = vue.resolveComponent("content-menu", true);
2309
- return _ctx.menuData.length ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
2329
+ return _ctx.menuData.length && _ctx.visible ? (vue.openBlock(), vue.createElementBlock("div", {
2310
2330
  key: 0,
2311
2331
  class: "magic-editor-content-menu",
2312
2332
  ref: "menu",
@@ -2330,9 +2350,7 @@
2330
2350
  "menu-data": _ctx.subMenuData
2331
2351
  }, null, 8, ["menu-data"])
2332
2352
  ]))
2333
- ], 4)), [
2334
- [vue.vShow, _ctx.visible]
2335
- ]) : vue.createCommentVNode("", true);
2353
+ ], 4)) : vue.createCommentVNode("", true);
2336
2354
  }
2337
2355
  var ContentMenu = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$a]]);
2338
2356
 
@@ -2632,7 +2650,7 @@
2632
2650
  components: { MIcon },
2633
2651
  props: {
2634
2652
  data: {
2635
- type: Object
2653
+ type: [Object, String]
2636
2654
  }
2637
2655
  },
2638
2656
  setup(props) {
@@ -3235,8 +3253,17 @@
3235
3253
  text: "\u7C98\u8D34",
3236
3254
  display: () => canPaste.value,
3237
3255
  handler: () => {
3238
- const top = menu.value?.$el.offsetTop || 0;
3239
- const left = menu.value?.$el.offsetLeft || 0;
3256
+ const stage = editorService?.get("stage");
3257
+ const rect = menu.value?.$el.getBoundingClientRect();
3258
+ const parentRect = stage?.container?.getBoundingClientRect();
3259
+ let left = (rect?.left || 0) - (parentRect?.left || 0);
3260
+ let top = (rect?.top || 0) - (parentRect?.top || 0);
3261
+ if (node.value?.items && stage) {
3262
+ const parentEl = stage.renderer.contentWindow?.document.getElementById(`${node.value.id}`);
3263
+ const parentElRect = parentEl?.getBoundingClientRect();
3264
+ left = left - (parentElRect?.left || 0);
3265
+ top = top - (parentElRect?.top || 0);
3266
+ }
3240
3267
  editorService?.paste({ left, top });
3241
3268
  }
3242
3269
  },
@@ -3533,10 +3560,7 @@
3533
3560
  keycon = new KeyController__default["default"](workspace.value);
3534
3561
  const isMac = /mac os x/.test(navigator.userAgent.toLowerCase());
3535
3562
  const ctrl = isMac ? "meta" : "ctrl";
3536
- keycon.keydown((e) => {
3537
- console.log(e);
3538
- e.inputEvent.preventDefault();
3539
- }).keyup("delete", (e) => {
3563
+ keycon.keyup("delete", (e) => {
3540
3564
  e.inputEvent.preventDefault();
3541
3565
  if (!node.value || utils.isPage(node.value))
3542
3566
  return;
@@ -3546,46 +3570,65 @@
3546
3570
  if (!node.value || utils.isPage(node.value))
3547
3571
  return;
3548
3572
  services?.editorService.remove(node.value);
3549
- }).keydown([ctrl, "c"], () => {
3573
+ }).keydown([ctrl, "c"], (e) => {
3574
+ e.inputEvent.preventDefault();
3550
3575
  node.value && services?.editorService.copy(node.value);
3551
- }).keydown([ctrl, "v"], () => {
3576
+ }).keydown([ctrl, "v"], (e) => {
3577
+ e.inputEvent.preventDefault();
3552
3578
  node.value && services?.editorService.paste();
3553
- }).keydown([ctrl, "x"], () => {
3579
+ }).keydown([ctrl, "x"], (e) => {
3580
+ e.inputEvent.preventDefault();
3554
3581
  if (!node.value || utils.isPage(node.value))
3555
3582
  return;
3556
3583
  services?.editorService.copy(node.value);
3557
3584
  services?.editorService.remove(node.value);
3558
- }).keydown([ctrl, "z"], () => {
3585
+ }).keydown([ctrl, "z"], (e) => {
3586
+ e.inputEvent.preventDefault();
3559
3587
  services?.editorService.undo();
3560
- }).keydown([ctrl, "shift", "z"], () => {
3588
+ }).keydown([ctrl, "shift", "z"], (e) => {
3589
+ e.inputEvent.preventDefault();
3561
3590
  services?.editorService.redo();
3562
- }).keydown("up", () => {
3591
+ }).keydown("up", (e) => {
3592
+ e.inputEvent.preventDefault();
3563
3593
  services?.editorService.move(0, -1);
3564
- }).keydown("down", () => {
3594
+ }).keydown("down", (e) => {
3595
+ e.inputEvent.preventDefault();
3565
3596
  services?.editorService.move(0, 1);
3566
- }).keydown("left", () => {
3597
+ }).keydown("left", (e) => {
3598
+ e.inputEvent.preventDefault();
3567
3599
  services?.editorService.move(-1, 0);
3568
- }).keydown("right", () => {
3600
+ }).keydown("right", (e) => {
3601
+ e.inputEvent.preventDefault();
3569
3602
  services?.editorService.move(1, 0);
3570
- }).keydown([ctrl, "up"], () => {
3603
+ }).keydown([ctrl, "up"], (e) => {
3604
+ e.inputEvent.preventDefault();
3571
3605
  services?.editorService.move(0, -10);
3572
- }).keydown([ctrl, "down"], () => {
3606
+ }).keydown([ctrl, "down"], (e) => {
3607
+ e.inputEvent.preventDefault();
3573
3608
  services?.editorService.move(0, 10);
3574
- }).keydown([ctrl, "left"], () => {
3609
+ }).keydown([ctrl, "left"], (e) => {
3610
+ e.inputEvent.preventDefault();
3575
3611
  services?.editorService.move(-10, 0);
3576
- }).keydown([ctrl, "right"], () => {
3612
+ }).keydown([ctrl, "right"], (e) => {
3613
+ e.inputEvent.preventDefault();
3577
3614
  services?.editorService.move(10, 0);
3578
- }).keydown("tab", () => {
3615
+ }).keydown("tab", (e) => {
3616
+ e.inputEvent.preventDefault();
3579
3617
  services?.editorService.selectNextNode();
3580
- }).keydown([ctrl, "tab"], () => {
3618
+ }).keydown([ctrl, "tab"], (e) => {
3619
+ e.inputEvent.preventDefault();
3581
3620
  services?.editorService.selectNextPage();
3582
- }).keydown([ctrl, "="], () => {
3621
+ }).keydown([ctrl, "="], (e) => {
3622
+ e.inputEvent.preventDefault();
3583
3623
  services?.uiService.zoom(0.1);
3584
- }).keydown([ctrl, "numpadplus"], () => {
3624
+ }).keydown([ctrl, "numpadplus"], (e) => {
3625
+ e.inputEvent.preventDefault();
3585
3626
  services?.uiService.zoom(0.1);
3586
- }).keydown([ctrl, "-"], () => {
3627
+ }).keydown([ctrl, "-"], (e) => {
3628
+ e.inputEvent.preventDefault();
3587
3629
  services?.uiService.zoom(-0.1);
3588
- }).keydown([ctrl, "numpad-"], () => {
3630
+ }).keydown([ctrl, "numpad-"], (e) => {
3631
+ e.inputEvent.preventDefault();
3589
3632
  services?.uiService.zoom(-0.1);
3590
3633
  });
3591
3634
  });