@tmagic/editor 1.3.0-beta.8 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8815,11 +8815,6 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8815
8815
  return;
8816
8816
  stage.setZoom(zoom2);
8817
8817
  });
8818
- watch(root, (root2) => {
8819
- if (runtime && root2) {
8820
- runtime.updateRootConfig?.(cloneDeep(toRaw(root2)));
8821
- }
8822
- });
8823
8818
  watch(page, (page2) => {
8824
8819
  if (runtime && page2) {
8825
8820
  runtime.updatePageId?.(page2.id);
@@ -8828,6 +8823,12 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8828
8823
  });
8829
8824
  }
8830
8825
  });
8826
+ const rootChangeHandler = (root2) => {
8827
+ if (runtime && root2) {
8828
+ runtime.updateRootConfig?.(cloneDeep(toRaw(root2)));
8829
+ }
8830
+ };
8831
+ services?.editorService.on("root-change", rootChangeHandler);
8831
8832
  const resizeObserver = new ResizeObserver((entries) => {
8832
8833
  for (const { contentRect } of entries) {
8833
8834
  services?.uiService.set("stageContainerRect", {
@@ -8847,6 +8848,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8847
8848
  resizeObserver.disconnect();
8848
8849
  services?.editorService.set("stage", null);
8849
8850
  services?.keybindingService.unregisteEl("stage");
8851
+ services?.editorService.off("root-change", rootChangeHandler);
8850
8852
  });
8851
8853
  const parseDSL = getConfig("parseDSL");
8852
8854
  const contextmenuHandler = (e) => {
@@ -10195,23 +10197,6 @@ const initServiceEvents = (props, emit, { editorService, codeBlockService, dataS
10195
10197
  depService.addTarget(createDataSourceCondTarget(ds.id));
10196
10198
  };
10197
10199
  const rootChangeHandler = async (value, preValue) => {
10198
- const nodeId = editorService.get("node")?.id || props.defaultSelected;
10199
- let node;
10200
- if (nodeId) {
10201
- node = editorService.getNodeById(nodeId);
10202
- }
10203
- if (node && node !== value) {
10204
- await editorService.select(node.id);
10205
- } else if (value?.items?.length) {
10206
- await editorService.select(value.items[0]);
10207
- } else if (value?.id) {
10208
- editorService.set("nodes", [value]);
10209
- editorService.set("parent", null);
10210
- editorService.set("page", null);
10211
- }
10212
- if (toRaw(value) !== toRaw(preValue)) {
10213
- emit("update:modelValue", value);
10214
- }
10215
10200
  if (!value)
10216
10201
  return;
10217
10202
  value.codeBlocks = value.codeBlocks || {};
@@ -10225,12 +10210,29 @@ const initServiceEvents = (props, emit, { editorService, codeBlockService, dataS
10225
10210
  value.dataSources.forEach((ds) => {
10226
10211
  initDataSourceDepTarget(ds);
10227
10212
  });
10228
- if (value && Array.isArray(value.items)) {
10213
+ if (Array.isArray(value.items)) {
10229
10214
  depService.collect(value.items, true);
10230
10215
  } else {
10231
10216
  depService.clear();
10232
10217
  delete value.dataSourceDeps;
10233
10218
  }
10219
+ const nodeId = editorService.get("node")?.id || props.defaultSelected;
10220
+ let node;
10221
+ if (nodeId) {
10222
+ node = editorService.getNodeById(nodeId);
10223
+ }
10224
+ if (node && node !== value) {
10225
+ await editorService.select(node.id);
10226
+ } else if (value.items?.length) {
10227
+ await editorService.select(value.items[0]);
10228
+ } else if (value.id) {
10229
+ editorService.set("nodes", [value]);
10230
+ editorService.set("parent", null);
10231
+ editorService.set("page", null);
10232
+ }
10233
+ if (toRaw(value) !== toRaw(preValue)) {
10234
+ emit("update:modelValue", value);
10235
+ }
10234
10236
  };
10235
10237
  const nodeAddHandler = (nodes) => {
10236
10238
  depService.collect(nodes);