@tmagic/editor 1.8.0-manmanyu.8 → 1.8.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.
Files changed (281) hide show
  1. package/dist/es/Editor.vue_vue_type_script_setup_true_lang.js +22 -13
  2. package/dist/es/components/CodeBlockEditor.vue_vue_type_script_setup_true_lang.js +10 -5
  3. package/dist/es/components/CodeParams.vue_vue_type_script_setup_true_lang.js +7 -6
  4. package/dist/es/components/CompareForm.vue_vue_type_script_setup_true_lang.js +21 -119
  5. package/dist/es/components/ContentMenu.vue_vue_type_script_setup_true_lang.js +21 -5
  6. package/dist/es/components/FloatingBox.vue_vue_type_script_setup_true_lang.js +62 -16
  7. package/dist/es/components/Icon.vue_vue_type_script_setup_true_lang.js +1 -1
  8. package/dist/es/components/Resizer.vue_vue_type_script_setup_true_lang.js +3 -2
  9. package/dist/es/components/ScrollBar.js +0 -1
  10. package/dist/es/components/ScrollBar.vue_vue_type_script_setup_true_lang.js +5 -4
  11. package/dist/es/components/ScrollViewer.vue_vue_type_script_setup_true_lang.js +1 -1
  12. package/dist/es/components/SearchInput.vue_vue_type_script_setup_true_lang.js +1 -1
  13. package/dist/es/components/SplitView.vue_vue_type_script_setup_true_lang.js +1 -1
  14. package/dist/es/components/ToolButton.vue_vue_type_script_setup_true_lang.js +1 -1
  15. package/dist/es/components/Tree.vue_vue_type_script_setup_true_lang.js +1 -1
  16. package/dist/es/components/TreeNode.vue_vue_type_script_setup_true_lang.js +1 -1
  17. package/dist/es/components/ViewForm.js +5 -0
  18. package/dist/es/components/ViewForm.vue_vue_type_script_setup_true_lang.js +56 -0
  19. package/dist/es/editorProps.js +7 -1
  20. package/dist/es/fields/Code.vue_vue_type_script_setup_true_lang.js +1 -1
  21. package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +1 -1
  22. package/dist/es/fields/CodeSelect.vue_vue_type_script_setup_true_lang.js +30 -113
  23. package/dist/es/fields/CodeSelectCol.vue_vue_type_script_setup_true_lang.js +2 -2
  24. package/dist/es/fields/CondOpSelect.vue_vue_type_script_setup_true_lang.js +7 -19
  25. package/dist/es/fields/DataSourceFieldSelect/FieldSelect.vue_vue_type_script_setup_true_lang.js +7 -6
  26. package/dist/es/fields/DataSourceFieldSelect/Index.vue_vue_type_script_setup_true_lang.js +4 -2
  27. package/dist/es/fields/DataSourceFields.vue_vue_type_script_setup_true_lang.js +12 -4
  28. package/dist/es/fields/DataSourceInput.vue_vue_type_script_setup_true_lang.js +9 -20
  29. package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js +2 -2
  30. package/dist/es/fields/DataSourceMethods.vue_vue_type_script_setup_true_lang.js +5 -3
  31. package/dist/es/fields/DataSourceMocks.vue_vue_type_script_setup_true_lang.js +9 -4
  32. package/dist/es/fields/DataSourceSelect.vue_vue_type_script_setup_true_lang.js +2 -2
  33. package/dist/es/fields/DisplayConds.vue_vue_type_script_setup_true_lang.js +10 -110
  34. package/dist/es/fields/EventSelect.vue_vue_type_script_setup_true_lang.js +52 -363
  35. package/dist/es/fields/KeyValue.vue_vue_type_script_setup_true_lang.js +1 -1
  36. package/dist/es/fields/PageFragmentSelect.vue_vue_type_script_setup_true_lang.js +1 -1
  37. package/dist/es/fields/StyleSetter/Index.vue_vue_type_script_setup_true_lang.js +3 -6
  38. package/dist/es/fields/StyleSetter/components/BackgroundPosition.vue_vue_type_script_setup_true_lang.js +1 -1
  39. package/dist/es/fields/StyleSetter/components/Border.vue_vue_type_script_setup_true_lang.js +4 -35
  40. package/dist/es/fields/StyleSetter/components/Box.vue_vue_type_script_setup_true_lang.js +3 -3
  41. package/dist/es/fields/StyleSetter/configs.js +663 -0
  42. package/dist/es/fields/StyleSetter/icons/align-items/Center.js +1 -1
  43. package/dist/es/fields/StyleSetter/icons/align-items/FlexEnd.js +1 -1
  44. package/dist/es/fields/StyleSetter/icons/align-items/FlexStart.js +1 -1
  45. package/dist/es/fields/StyleSetter/icons/align-items/SpaceAround.js +1 -1
  46. package/dist/es/fields/StyleSetter/icons/align-items/SpaceBetween.js +1 -1
  47. package/dist/es/fields/StyleSetter/icons/background-repeat/NoRepeat.js +1 -1
  48. package/dist/es/fields/StyleSetter/icons/background-repeat/Repeat.js +1 -1
  49. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatX.js +1 -1
  50. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatY.js +1 -1
  51. package/dist/es/fields/StyleSetter/icons/display/Block.js +1 -1
  52. package/dist/es/fields/StyleSetter/icons/display/Flex.js +1 -1
  53. package/dist/es/fields/StyleSetter/icons/display/Inline.js +1 -1
  54. package/dist/es/fields/StyleSetter/icons/display/InlineBlock.js +1 -1
  55. package/dist/es/fields/StyleSetter/icons/display/None.js +1 -1
  56. package/dist/es/fields/StyleSetter/icons/flex-direction/Column.js +1 -1
  57. package/dist/es/fields/StyleSetter/icons/flex-direction/ColumnReverse.js +1 -1
  58. package/dist/es/fields/StyleSetter/icons/flex-direction/Row.js +1 -1
  59. package/dist/es/fields/StyleSetter/icons/flex-direction/RowReverse.js +1 -1
  60. package/dist/es/fields/StyleSetter/icons/justify-content/Center.js +1 -1
  61. package/dist/es/fields/StyleSetter/icons/justify-content/FlexEnd.js +1 -1
  62. package/dist/es/fields/StyleSetter/icons/justify-content/FlexStart.js +1 -1
  63. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceAround.js +1 -1
  64. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceBetween.js +1 -1
  65. package/dist/es/fields/StyleSetter/icons/text-align/Center.js +1 -1
  66. package/dist/es/fields/StyleSetter/icons/text-align/Left.js +1 -1
  67. package/dist/es/fields/StyleSetter/icons/text-align/Right.js +1 -1
  68. package/dist/es/fields/StyleSetter/pro/Background.vue_vue_type_script_setup_true_lang.js +29 -106
  69. package/dist/es/fields/StyleSetter/pro/Border.vue_vue_type_script_setup_true_lang.js +8 -11
  70. package/dist/es/fields/StyleSetter/pro/Font.vue_vue_type_script_setup_true_lang.js +30 -89
  71. package/dist/es/fields/StyleSetter/pro/Layout.vue_vue_type_script_setup_true_lang.js +29 -297
  72. package/dist/es/fields/StyleSetter/pro/Position.vue_vue_type_script_setup_true_lang.js +29 -82
  73. package/dist/es/fields/StyleSetter/pro/Transform.vue_vue_type_script_setup_true_lang.js +8 -24
  74. package/dist/es/fields/UISelect.js +0 -1
  75. package/dist/es/fields/UISelect.vue_vue_type_script_setup_true_lang.js +1 -1
  76. package/dist/es/fields/configs/codeSelect.js +98 -0
  77. package/dist/es/fields/configs/displayConds.js +158 -0
  78. package/dist/es/fields/configs/eventSelect.js +225 -0
  79. package/dist/es/fields/configs/stickyAddButton.js +21 -0
  80. package/dist/es/fields/headless-validation.js +139 -0
  81. package/dist/es/headless.js +2 -0
  82. package/dist/es/hooks/use-code-block-edit.js +4 -2
  83. package/dist/es/hooks/use-compare-form.js +101 -0
  84. package/dist/es/hooks/use-form-context.js +29 -0
  85. package/dist/es/hooks/use-stage.js +1 -0
  86. package/dist/es/icons/CenterIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  87. package/dist/es/icons/CodeIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  88. package/dist/es/icons/DatasourceIcon.js +1 -1
  89. package/dist/es/icons/FolderMinusIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  90. package/dist/es/index.js +17 -9
  91. package/dist/es/initService.js +52 -16
  92. package/dist/es/layouts/AddPageBox.vue_vue_type_script_setup_true_lang.js +1 -1
  93. package/dist/es/layouts/CodeEditor.vue_vue_type_script_setup_true_lang.js +26 -10
  94. package/dist/es/layouts/Framework.vue_vue_type_script_setup_true_lang.js +11 -8
  95. package/dist/es/layouts/NavMenu.vue_vue_type_script_setup_true_lang.js +3 -3
  96. package/dist/es/layouts/NavMenuColumn.vue_vue_type_script_setup_true_lang.js +1 -1
  97. package/dist/es/layouts/history-list/Bucket.vue_vue_type_script_setup_true_lang.js +1 -1
  98. package/dist/es/layouts/history-list/BucketTab.vue_vue_type_script_setup_true_lang.js +8 -5
  99. package/dist/es/layouts/history-list/GroupRow.vue_vue_type_script_setup_true_lang.js +1 -1
  100. package/dist/es/layouts/history-list/HistoryDiffDialog.vue_vue_type_script_setup_true_lang.js +26 -10
  101. package/dist/es/layouts/history-list/HistoryListPanel.vue_vue_type_script_setup_true_lang.js +36 -28
  102. package/dist/es/layouts/history-list/InitialRow.vue_vue_type_script_setup_true_lang.js +1 -1
  103. package/dist/es/layouts/history-list/PageTab.vue_vue_type_script_setup_true_lang.js +1 -1
  104. package/dist/es/layouts/history-list/composables.js +1 -1
  105. package/dist/es/layouts/history-list/useHistoryList.js +4 -4
  106. package/dist/es/layouts/history-list/useHistoryRevert.js +38 -33
  107. package/dist/es/layouts/page-bar/AddButton.vue_vue_type_script_setup_true_lang.js +1 -1
  108. package/dist/es/layouts/page-bar/PageBar.vue_vue_type_script_setup_true_lang.js +1 -1
  109. package/dist/es/layouts/page-bar/PageBarScrollContainer.vue_vue_type_script_setup_true_lang.js +1 -1
  110. package/dist/es/layouts/page-bar/PageList.vue_vue_type_script_setup_true_lang.js +1 -1
  111. package/dist/es/layouts/page-bar/Search.vue_vue_type_script_setup_true_lang.js +2 -2
  112. package/dist/es/layouts/props-panel/FormPanel.vue_vue_type_script_setup_true_lang.js +50 -20
  113. package/dist/es/layouts/props-panel/PropsPanel.vue_vue_type_script_setup_true_lang.js +53 -35
  114. package/dist/es/layouts/props-panel/use-style-panel.js +3 -2
  115. package/dist/es/layouts/sidebar/ComponentListPanel.vue_vue_type_script_setup_true_lang.js +3 -3
  116. package/dist/es/layouts/sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +21 -36
  117. package/dist/es/layouts/sidebar/code-block/CodeBlockList.vue_vue_type_script_setup_true_lang.js +1 -1
  118. package/dist/es/layouts/sidebar/code-block/CodeBlockListPanel.vue_vue_type_script_setup_true_lang.js +4 -4
  119. package/dist/es/layouts/sidebar/code-block/useContentMenu.js +19 -4
  120. package/dist/es/layouts/sidebar/data-source/DataSourceAddButton.vue_vue_type_script_setup_true_lang.js +1 -1
  121. package/dist/es/layouts/sidebar/data-source/DataSourceConfigPanel.vue_vue_type_script_setup_true_lang.js +9 -4
  122. package/dist/es/layouts/sidebar/data-source/DataSourceList.vue_vue_type_script_setup_true_lang.js +1 -1
  123. package/dist/es/layouts/sidebar/data-source/DataSourceListPanel.vue_vue_type_script_setup_true_lang.js +4 -4
  124. package/dist/es/layouts/sidebar/data-source/useContentMenu.js +19 -4
  125. package/dist/es/layouts/sidebar/layer/LayerMenu.vue_vue_type_script_setup_true_lang.js +3 -3
  126. package/dist/es/layouts/sidebar/layer/LayerNodeContent.js +5 -0
  127. package/dist/es/layouts/sidebar/layer/LayerNodeContent.vue_vue_type_script_setup_true_lang.js +46 -0
  128. package/dist/es/layouts/sidebar/layer/LayerNodeTool.vue_vue_type_script_setup_true_lang.js +1 -1
  129. package/dist/es/layouts/sidebar/layer/LayerPanel.vue_vue_type_script_setup_true_lang.js +6 -4
  130. package/dist/es/layouts/sidebar/layer/use-click.js +3 -3
  131. package/dist/es/layouts/sidebar/layer/use-drag.js +11 -10
  132. package/dist/es/layouts/sidebar/layer/use-node-status.js +2 -2
  133. package/dist/es/layouts/workspace/Breadcrumb.vue_vue_type_script_setup_true_lang.js +1 -1
  134. package/dist/es/layouts/workspace/Workspace.vue_vue_type_script_setup_true_lang.js +1 -1
  135. package/dist/es/layouts/workspace/viewer/NodeListMenu.vue_vue_type_script_setup_true_lang.js +9 -3
  136. package/dist/es/layouts/workspace/viewer/Stage.vue_vue_type_script_setup_true_lang.js +55 -9
  137. package/dist/es/layouts/workspace/viewer/StageOverlay.vue_vue_type_script_setup_true_lang.js +1 -1
  138. package/dist/es/layouts/workspace/viewer/ViewerMenu.vue_vue_type_script_setup_true_lang.js +8 -8
  139. package/dist/es/plugin.js +35 -23
  140. package/dist/es/services/codeBlock.js +40 -31
  141. package/dist/es/services/dataSource.js +46 -34
  142. package/dist/es/services/dep.js +162 -41
  143. package/dist/es/services/editor.js +373 -137
  144. package/dist/es/services/events.js +4 -4
  145. package/dist/es/services/history.js +275 -392
  146. package/dist/es/services/keybinding.js +3 -3
  147. package/dist/es/services/props.js +2 -1
  148. package/dist/es/services/storage.js +2 -2
  149. package/dist/es/services/ui.js +7 -2
  150. package/dist/es/style.css +277 -114
  151. package/dist/es/utils/code-block.js +14 -7
  152. package/dist/es/utils/config.js +4 -1
  153. package/dist/es/utils/const.js +2 -2
  154. package/dist/es/utils/content-menu.js +2 -2
  155. package/dist/es/utils/data-source/index.js +34 -12
  156. package/dist/es/utils/dep/collect-worker-client.js +154 -0
  157. package/dist/es/utils/dep/idle-task.js +70 -22
  158. package/dist/es/utils/dep/worker.js +1 -1
  159. package/dist/es/utils/editor.js +4 -2
  160. package/dist/es/utils/event.js +135 -0
  161. package/dist/es/utils/history.js +35 -47
  162. package/dist/es/utils/monaco-editor.js +22 -6
  163. package/dist/es/utils/operator.js +2 -2
  164. package/dist/es/utils/props.js +50 -106
  165. package/dist/es/utils/type-match-rules.js +356 -0
  166. package/dist/style.css +277 -114
  167. package/dist/themes/magic-admin.css +978 -175
  168. package/dist/tmagic-editor-headless.umd.cjs +10880 -0
  169. package/dist/tmagic-editor.umd.cjs +13047 -11363
  170. package/package.json +18 -13
  171. package/src/Editor.vue +23 -6
  172. package/src/components/CodeBlockEditor.vue +3 -0
  173. package/src/components/CodeParams.vue +10 -4
  174. package/src/components/CompareForm.vue +20 -190
  175. package/src/components/ContentMenu.vue +34 -6
  176. package/src/components/FloatingBox.vue +71 -7
  177. package/src/components/ScrollBar.vue +0 -67
  178. package/src/components/ViewForm.vue +54 -0
  179. package/src/editorProps.ts +23 -10
  180. package/src/fields/Code.vue +1 -1
  181. package/src/fields/CodeSelect.vue +20 -113
  182. package/src/fields/CodeSelectCol.vue +1 -1
  183. package/src/fields/CondOpSelect.vue +5 -26
  184. package/src/fields/DataSourceFieldSelect/FieldSelect.vue +2 -2
  185. package/src/fields/DataSourceFieldSelect/Index.vue +4 -1
  186. package/src/fields/DataSourceFields.vue +5 -1
  187. package/src/fields/DataSourceInput.vue +10 -28
  188. package/src/fields/DataSourceMethodSelect.vue +1 -1
  189. package/src/fields/DataSourceMethods.vue +6 -2
  190. package/src/fields/DataSourceMocks.vue +3 -0
  191. package/src/fields/DataSourceSelect.vue +1 -1
  192. package/src/fields/DisplayConds.vue +17 -139
  193. package/src/fields/EventSelect.vue +29 -416
  194. package/src/fields/KeyValue.vue +1 -1
  195. package/src/fields/StyleSetter/Index.vue +2 -8
  196. package/src/fields/StyleSetter/components/Border.vue +4 -38
  197. package/src/fields/StyleSetter/components/Box.vue +1 -1
  198. package/src/fields/StyleSetter/components/Position.vue +1 -1
  199. package/src/fields/StyleSetter/configs.ts +690 -0
  200. package/src/fields/StyleSetter/pro/Background.vue +9 -64
  201. package/src/fields/StyleSetter/pro/Border.vue +5 -16
  202. package/src/fields/StyleSetter/pro/Font.vue +11 -71
  203. package/src/fields/StyleSetter/pro/Layout.vue +10 -230
  204. package/src/fields/StyleSetter/pro/Position.vue +11 -82
  205. package/src/fields/StyleSetter/pro/Transform.vue +6 -34
  206. package/src/fields/UISelect.vue +0 -12
  207. package/src/fields/configs/codeSelect.ts +127 -0
  208. package/src/fields/configs/displayConds.ts +184 -0
  209. package/src/fields/configs/eventSelect.ts +309 -0
  210. package/src/fields/configs/stickyAddButton.ts +32 -0
  211. package/src/fields/headless-validation.ts +177 -0
  212. package/src/headless.ts +33 -0
  213. package/src/hooks/index.ts +1 -0
  214. package/src/hooks/use-compare-form.ts +166 -0
  215. package/src/hooks/use-form-context.ts +56 -0
  216. package/src/hooks/use-stage.ts +1 -0
  217. package/src/index.ts +9 -0
  218. package/src/initService.ts +73 -18
  219. package/src/layouts/CodeEditor.vue +32 -6
  220. package/src/layouts/Framework.vue +7 -6
  221. package/src/layouts/history-list/BucketTab.vue +2 -2
  222. package/src/layouts/history-list/HistoryDiffDialog.vue +33 -15
  223. package/src/layouts/history-list/HistoryListPanel.vue +16 -18
  224. package/src/layouts/history-list/useHistoryRevert.ts +57 -41
  225. package/src/layouts/props-panel/FormPanel.vue +75 -20
  226. package/src/layouts/props-panel/PropsPanel.vue +81 -30
  227. package/src/layouts/props-panel/use-style-panel.ts +4 -3
  228. package/src/layouts/sidebar/ComponentListPanel.vue +6 -2
  229. package/src/layouts/sidebar/Sidebar.vue +5 -3
  230. package/src/layouts/sidebar/code-block/CodeBlockListPanel.vue +5 -2
  231. package/src/layouts/sidebar/code-block/useContentMenu.ts +14 -2
  232. package/src/layouts/sidebar/data-source/DataSourceConfigPanel.vue +3 -0
  233. package/src/layouts/sidebar/data-source/DataSourceListPanel.vue +3 -3
  234. package/src/layouts/sidebar/data-source/useContentMenu.ts +14 -2
  235. package/src/layouts/sidebar/layer/LayerMenu.vue +2 -2
  236. package/src/layouts/sidebar/layer/LayerNodeContent.vue +57 -0
  237. package/src/layouts/sidebar/layer/LayerPanel.vue +5 -2
  238. package/src/layouts/sidebar/layer/use-click.ts +3 -3
  239. package/src/layouts/sidebar/layer/use-node-status.ts +2 -2
  240. package/src/layouts/workspace/viewer/NodeListMenu.vue +4 -1
  241. package/src/layouts/workspace/viewer/Stage.vue +80 -10
  242. package/src/layouts/workspace/viewer/ViewerMenu.vue +7 -7
  243. package/src/plugin.ts +35 -25
  244. package/src/services/codeBlock.ts +4 -0
  245. package/src/services/dataSource.ts +3 -0
  246. package/src/services/dep.ts +292 -47
  247. package/src/services/editor.ts +383 -120
  248. package/src/services/events.ts +8 -7
  249. package/src/services/history.ts +22 -1
  250. package/src/services/keybinding.ts +3 -3
  251. package/src/services/ui.ts +26 -5
  252. package/src/theme/code-block.scss +0 -37
  253. package/src/theme/display-conds.scss +4 -0
  254. package/src/theme/event.scss +25 -33
  255. package/src/theme/floating-box.scss +9 -1
  256. package/src/theme/framework.scss +4 -1
  257. package/src/theme/layer-node-content.scss +14 -0
  258. package/src/theme/nav-menu.scss +5 -1
  259. package/src/theme/props-panel.scss +17 -3
  260. package/src/theme/scroll-bar.scss +64 -0
  261. package/src/theme/theme.scss +3 -0
  262. package/src/theme/themes/magic-admin/index.scss +109 -9
  263. package/src/theme/ui-select.scss +9 -0
  264. package/src/type.ts +216 -6
  265. package/src/utils/code-block.ts +1 -0
  266. package/src/utils/config.ts +9 -1
  267. package/src/utils/const.ts +3 -3
  268. package/src/utils/content-menu.ts +2 -2
  269. package/src/utils/data-source/index.ts +31 -12
  270. package/src/utils/dep/collect-worker-client.ts +215 -0
  271. package/src/utils/dep/idle-task.ts +104 -35
  272. package/src/utils/dep/worker.ts +113 -9
  273. package/src/utils/event.ts +237 -0
  274. package/src/utils/index.ts +2 -0
  275. package/src/utils/monaco-editor.ts +27 -0
  276. package/src/utils/operator.ts +2 -2
  277. package/src/utils/props.ts +61 -122
  278. package/src/utils/type-match-rules.ts +697 -0
  279. package/types/headless.d.ts +17 -0
  280. package/types/index.d.ts +1494 -978
  281. package/src/fields/StyleSetter/icons/align-items/index copy.ts +0 -5
@@ -1,4 +1,3 @@
1
- import { useServices } from "../../hooks/use-services.js";
2
1
  import CodeEditor_default from "../CodeEditor.js";
3
2
  import CompareForm_default from "../../components/CompareForm.js";
4
3
  import { TMagicButton, TMagicDialog, TMagicRadioButton, TMagicRadioGroup, TMagicTag } from "@tmagic/design";
@@ -21,14 +20,14 @@ var _hoisted_7 = {
21
20
  key: 0,
22
21
  class: "m-editor-history-diff-dialog-tip"
23
22
  };
24
- var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
23
+ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
25
24
  name: "MEditorHistoryDiffDialog",
26
25
  __name: "HistoryDiffDialog",
27
26
  props: {
28
- services: { default: () => useServices() },
29
- extendState: {},
27
+ services: {},
30
28
  loadConfig: {},
31
29
  width: { default: "900px" },
30
+ size: {},
32
31
  isConfirm: { type: Boolean },
33
32
  onConfirm: {},
34
33
  selfDiffFieldTypes: {}
@@ -65,6 +64,20 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
65
64
  };
66
65
  const dialogTitle = computed(() => props.onConfirm ? "确认回滚" : "查看修改差异");
67
66
  const hasCurrent = computed(() => payload.value?.currentValue !== void 0 && payload.value?.currentValue !== null);
67
+ /** 是否存在该步「修改后的值」:不存在(如仅删除)时「与修改前对比」无意义,置灰禁用。 */
68
+ const hasValue = computed(() => payload.value?.value !== void 0 && payload.value?.value !== null);
69
+ /** 指定模式当前是否可用:before 依赖「修改后的值」,current 依赖「当前值」。 */
70
+ const isModeAvailable = (m) => m === "current" ? hasCurrent.value : hasValue.value;
71
+ /**
72
+ * 计算 open 时的初始对比模式:
73
+ * - 调用方通过 payload.mode 指定且该模式可用时,优先使用指定模式;
74
+ * - 否则没有「修改后的值」但有当前值时(「与修改前对比」不可用),默认进入「与当前对比」;
75
+ * - 其余情况默认「与修改前对比」。
76
+ */
77
+ const resolveInitialMode = (specified) => {
78
+ if (specified && isModeAvailable(specified)) return specified;
79
+ return !hasValue.value && hasCurrent.value ? "current" : "before";
80
+ };
68
81
  /** 左侧(旧/参照)值 */
69
82
  const leftValue = computed(() => {
70
83
  if (!payload.value) return {};
@@ -107,7 +120,7 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
107
120
  });
108
121
  const open = (p) => {
109
122
  payload.value = p;
110
- mode.value = "before";
123
+ mode.value = resolveInitialMode(p.mode);
111
124
  viewMode.value = "form";
112
125
  visible.value = true;
113
126
  };
@@ -199,10 +212,13 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
199
212
  size: "small",
200
213
  class: "m-editor-history-diff-dialog-mode"
201
214
  }, {
202
- default: withCtx(() => [createVNode(unref(TMagicRadioButton), { value: "before" }, {
215
+ default: withCtx(() => [createVNode(unref(TMagicRadioButton), {
216
+ value: "before",
217
+ disabled: !hasValue.value
218
+ }, {
203
219
  default: withCtx(() => [..._cache[7] || (_cache[7] = [createTextVNode("与修改前对比", -1)])]),
204
220
  _: 1
205
- }), createVNode(unref(TMagicRadioButton), {
221
+ }, 8, ["disabled"]), createVNode(unref(TMagicRadioButton), {
206
222
  value: "current",
207
223
  disabled: !hasCurrent.value
208
224
  }, {
@@ -236,10 +252,10 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
236
252
  "data-source-type": payload.value.dataSourceType,
237
253
  value: rightValue.value,
238
254
  "last-value": leftValue.value,
239
- "extend-state": __props.extendState,
240
255
  "load-config": __props.loadConfig,
241
256
  "self-diff-field-types": __props.selfDiffFieldTypes,
242
257
  services: props.services,
258
+ size: props.size,
243
259
  height: "70vh"
244
260
  }, null, 8, [
245
261
  "category",
@@ -247,10 +263,10 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
247
263
  "data-source-type",
248
264
  "value",
249
265
  "last-value",
250
- "extend-state",
251
266
  "load-config",
252
267
  "self-diff-field-types",
253
- "services"
268
+ "services",
269
+ "size"
254
270
  ])) : (openBlock(), createBlock(CodeEditor_default, {
255
271
  key: 2,
256
272
  type: "diff",
@@ -10,7 +10,7 @@ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock
10
10
  import { Clock, Close } from "@element-plus/icons-vue";
11
11
  //#region packages/editor/src/layouts/history-list/HistoryListPanel.vue?vue&type=script&setup=true&lang.ts
12
12
  var _hoisted_1 = { class: "m-editor-history-list" };
13
- var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
13
+ var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
14
14
  name: "MEditorHistoryListPanel",
15
15
  __name: "HistoryListPanel",
16
16
  setup(__props) {
@@ -62,38 +62,40 @@ var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
62
62
  watch([disabledDataSource, disabledCodeBlock], ([dsDisabled, cbDisabled]) => {
63
63
  if (activeTab.value === "data-source" && dsDisabled || activeTab.value === "code-block" && cbDisabled) activeTab.value = "page";
64
64
  });
65
- /**
66
- * 通过 inject 拿到 Editor 顶层注入的 `extendFormState`,转交给 HistoryDiffDialog
67
- * 内部的 CompareForm,使差异对比表单的 filterFunction 能拿到完整的业务上下文。
68
- * 未提供时为 undefined,CompareForm/MForm 会跳过 extendState 处理。
69
- */
70
- const extendFormState = inject("extendFormState", void 0);
71
65
  const { expanded, toggleGroup, pageGroups, dataSourceGroups, codeBlockGroups, pageGroupsDisplay, dataSourceGroupsByTarget, codeBlockGroupsByTarget } = useHistoryList();
72
66
  /**
73
67
  * 当前活动页的「加载/初始」标记记录(设置 root 时生成),透传给 PageTab 的底部初始行展示。
74
68
  * 基于 historyService 的 reactive state 派生,活动页切换或标记写入后自动刷新。
75
69
  */
76
- const pageMarker = computed(() => historyService.getPageMarker());
70
+ const pageMarker = computed(() => historyService.getMarker("page", editorService.get("page")?.id));
71
+ /**
72
+ * 各历史类型的展示名称(页面 / 数据源 / 代码块),由 historyService.state.stepNames 配置,
73
+ * 业务方可通过 historyService.setStepName / registerStepType 覆盖。基于 reactive state 派生,配置变更后自动刷新。
74
+ */
75
+ const pageName = computed(() => historyService.getStepName("page"));
76
+ const dataSourceName = computed(() => historyService.getStepName("dataSource"));
77
+ const codeBlockName = computed(() => historyService.getStepName("codeBlock"));
77
78
  /** 代码块 step 仅 update(前后 content 都存在)时可查看差异。 */
78
79
  const isStepDiffable = (step) => Boolean(step.diff?.[0]?.oldSchema && step.diff?.[0]?.newSchema);
79
80
  /**
80
81
  * 数据源 / 代码块两类 bucket 历史的整体渲染配置:把 title / prefix 与各自的描述、
81
82
  * 可差异、可回滚判定收敛为单一对象整体注入 BucketTab,组件内部按需读取。
83
+ * title / 描述回退名取自可配置的展示名称,故用 computed 使其随 stepNames 变更刷新。
82
84
  */
83
- const dataSourceConfig = {
84
- title: "数据源",
85
+ const dataSourceConfig = computed(() => ({
86
+ title: dataSourceName.value,
85
87
  prefix: "ds",
86
- describeStep: (step) => describeStep(step, (schema) => schema?.title, "数据源"),
88
+ describeStep: (step) => describeStep(step, (schema) => schema?.title, dataSourceName.value),
87
89
  isStepDiffable,
88
90
  isStepRevertable: isSingleDiffStepRevertable
89
- };
90
- const codeBlockConfig = {
91
- title: "代码块",
91
+ }));
92
+ const codeBlockConfig = computed(() => ({
93
+ title: codeBlockName.value,
92
94
  prefix: "cb",
93
- describeStep: (step) => describeStep(step, (content) => content?.name, "代码块"),
95
+ describeStep: (step) => describeStep(step, (content) => content?.name, codeBlockName.value),
94
96
  isStepDiffable,
95
97
  isStepRevertable: isSingleDiffStepRevertable
96
- };
98
+ }));
97
99
  /** 把"目标 step 索引"翻译成"目标 cursor"(已应用步骤数量)。 */
98
100
  const indexToCursor = (index) => index + 1;
99
101
  const onPageGoto = (index) => {
@@ -106,7 +108,7 @@ var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
106
108
  * - 该 step 涉及的节点都已不存在(如删除记录、被撤销的新增)时给出提示,不做选中。
107
109
  */
108
110
  const onPageSelect = async (index) => {
109
- const step = historyService.getPageStepList()[index]?.step;
111
+ const step = historyService.getStepList("page", editorService.get("page")?.id)[index]?.step;
110
112
  if (!step) return;
111
113
  const targetId = (step.diff ?? []).map((item) => item.newSchema?.id ?? item.oldSchema?.id).find((id) => id !== void 0 && id !== null && editorService.getNodeById(id, false));
112
114
  if (targetId === void 0 || targetId === null) {
@@ -141,9 +143,9 @@ var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
141
143
  /**
142
144
  * 「单步回滚」与「查看差异」的完整逻辑收敛到 useHistoryRevert,面板与业务方共用:
143
145
  * 二者均由 useHistoryRevert 内部按需动态挂载 HistoryDiffDialog,
144
- * 业务方亦可直接 import useHistoryRevert(services) 调用,无需自行挂载任何弹窗。
146
+ * 业务方亦可直接 import useHistoryRevert(options, services) 调用,无需自行挂载任何弹窗。
145
147
  */
146
- const { onPageRevert, onDataSourceRevert, onCodeBlockRevert, onPageDiff, onDataSourceDiff, onCodeBlockDiff } = useHistoryRevert(services, { extendState: extendFormState });
148
+ const { onPageRevert, onDataSourceRevert, onCodeBlockRevert, onPageDiff, onDataSourceDiff, onCodeBlockDiff } = useHistoryRevert({}, services);
147
149
  /**
148
150
  * 把内存中(已清空对应类别后的)历史状态重新写回 IndexedDB,
149
151
  * 使本地持久化的那份与内存保持一致——即「连同本地保存的一并删除」。
@@ -156,19 +158,19 @@ var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
156
158
  };
157
159
  const onPageClear = async () => {
158
160
  if (await confirmHistoryAction("确定清空当前页面的历史记录吗?清空后将无法撤销/重做之前的操作,本地保存的记录也会一并删除。")) {
159
- historyService.clearPage();
161
+ historyService.clear("page", editorService.get("page")?.id);
160
162
  await syncIndexedDB();
161
163
  }
162
164
  };
163
165
  const onDataSourceClear = async () => {
164
166
  if (await confirmHistoryAction("确定清空数据源的历史记录吗?清空后将无法撤销/重做之前的操作,本地保存的记录也会一并删除。")) {
165
- historyService.clearDataSource();
167
+ historyService.clear("dataSource");
166
168
  await syncIndexedDB();
167
169
  }
168
170
  };
169
171
  const onCodeBlockClear = async () => {
170
172
  if (await confirmHistoryAction("确定清空代码块的历史记录吗?清空后将无法撤销/重做之前的操作,本地保存的记录也会一并删除。")) {
171
- historyService.clearCodeBlock();
173
+ historyService.clear("codeBlock");
172
174
  await syncIndexedDB();
173
175
  }
174
176
  };
@@ -219,7 +221,8 @@ var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
219
221
  default: withCtx(() => [
220
222
  (openBlock(), createBlock(resolveDynamicComponent(unref(tabPaneComponent)?.component || "el-tab-pane"), normalizeProps(guardReactiveProps(unref(tabPaneComponent)?.props({
221
223
  name: "page",
222
- label: `页面 (${unref(pageGroups).length})`
224
+ label: `${pageName.value} (${unref(pageGroups).length})`,
225
+ lazy: true
223
226
  }) || {})), {
224
227
  default: withCtx(() => [createVNode(PageTab_default, {
225
228
  list: unref(pageGroupsDisplay),
@@ -244,10 +247,11 @@ var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
244
247
  }, 16)),
245
248
  !disabledDataSource.value ? (openBlock(), createBlock(resolveDynamicComponent(unref(tabPaneComponent)?.component || "el-tab-pane"), normalizeProps(mergeProps({ key: 0 }, unref(tabPaneComponent)?.props({
246
249
  name: "data-source",
247
- label: `数据源 (${unref(dataSourceGroups).length})`
250
+ label: `${dataSourceName.value} (${unref(dataSourceGroups).length})`,
251
+ lazy: true
248
252
  }) || {})), {
249
253
  default: withCtx(() => [createVNode(BucketTab_default, {
250
- config: dataSourceConfig,
254
+ config: dataSourceConfig.value,
251
255
  buckets: unref(dataSourceGroupsByTarget),
252
256
  expanded: unref(expanded),
253
257
  onToggle: unref(toggleGroup),
@@ -257,6 +261,7 @@ var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
257
261
  onRevertStep: unref(onDataSourceRevert),
258
262
  onClear: onDataSourceClear
259
263
  }, null, 8, [
264
+ "config",
260
265
  "buckets",
261
266
  "expanded",
262
267
  "onToggle",
@@ -267,10 +272,11 @@ var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
267
272
  }, 16)) : createCommentVNode("v-if", true),
268
273
  !disabledCodeBlock.value ? (openBlock(), createBlock(resolveDynamicComponent(unref(tabPaneComponent)?.component || "el-tab-pane"), normalizeProps(mergeProps({ key: 1 }, unref(tabPaneComponent)?.props({
269
274
  name: "code-block",
270
- label: `代码块 (${unref(codeBlockGroups).length})`
275
+ label: `${codeBlockName.value} (${unref(codeBlockGroups).length})`,
276
+ lazy: true
271
277
  }) || {})), {
272
278
  default: withCtx(() => [createVNode(BucketTab_default, {
273
- config: codeBlockConfig,
279
+ config: codeBlockConfig.value,
274
280
  buckets: unref(codeBlockGroupsByTarget),
275
281
  expanded: unref(expanded),
276
282
  onToggle: unref(toggleGroup),
@@ -280,6 +286,7 @@ var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
280
286
  onRevertStep: unref(onCodeBlockRevert),
281
287
  onClear: onCodeBlockClear
282
288
  }, null, 8, [
289
+ "config",
283
290
  "buckets",
284
291
  "expanded",
285
292
  "onToggle",
@@ -291,7 +298,8 @@ var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
291
298
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(extraTabs), (tab) => {
292
299
  return openBlock(), createBlock(resolveDynamicComponent(unref(tabPaneComponent)?.component || "el-tab-pane"), mergeProps({ key: tab.name }, { ref_for: true }, unref(tabPaneComponent)?.props({
293
300
  name: tab.name,
294
- label: resolveTabLabel(tab)
301
+ label: resolveTabLabel(tab),
302
+ lazy: true
295
303
  }) || {}), {
296
304
  default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(tab.component), mergeProps({ ref_for: true }, tab.props || {}, toHandlers(tab.listeners || {})), null, 16))]),
297
305
  _: 2
@@ -13,7 +13,7 @@ var _hoisted_4 = {
13
13
  class: "m-editor-history-list-item-actions"
14
14
  };
15
15
  var _hoisted_5 = ["title"];
16
- var InitialRow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
16
+ var InitialRow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
17
17
  name: "MEditorHistoryListInitialRow",
18
18
  __name: "InitialRow",
19
19
  props: {
@@ -13,7 +13,7 @@ var _hoisted_2 = {
13
13
  class: "m-editor-history-list-toolbar"
14
14
  };
15
15
  var _hoisted_3 = { class: "m-editor-history-list-ul" };
16
- var PageTab_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
16
+ var PageTab_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
17
17
  name: "MEditorHistoryListPageTab",
18
18
  __name: "PageTab",
19
19
  props: {
@@ -181,4 +181,4 @@ var confirmHistoryAction = async (message) => {
181
181
  }
182
182
  };
183
183
  //#endregion
184
- export { confirmHistoryAction, describePageGroup, describePageStep, describeStep, formatHistoryFullTime, formatHistoryTime, isHistoryGroupExpanded, isPageStepRevertable, isSingleDiffStepRevertable, opLabel, sourceLabel, toRowGroup };
184
+ export { confirmHistoryAction, describePageGroup, describePageStep, describeStep, formatHistoryFullTime, formatHistoryTime, groupOperator, groupSource, groupTimestamp, isHistoryGroupExpanded, isPageStepRevertable, isSingleDiffStepRevertable, opLabel, sourceLabel, toRowGroup };
@@ -10,7 +10,7 @@ import { computed, reactive } from "vue";
10
10
  * 所有数据基于 historyService 的 reactive state 派生,自动跟随历史变化刷新。
11
11
  */
12
12
  var useHistoryList = () => {
13
- const { historyService } = useServices();
13
+ const { editorService, historyService } = useServices();
14
14
  /**
15
15
  * 折叠状态:key 形如 `pg-${组内首步 index}` / `ds-${id}-${组内首步 index}` / `cb-${id}-${组内首步 index}`。
16
16
  * 用组内首步的稳定 index(而非展示位置)作为 key,确保历史数据更新后已展开的分组状态保持不变。
@@ -20,9 +20,9 @@ var useHistoryList = () => {
20
20
  const toggleGroup = (key) => {
21
21
  expanded[key] = expanded[key] === false;
22
22
  };
23
- const pageGroups = computed(() => historyService.getPageHistoryGroups());
24
- const dataSourceGroups = computed(() => historyService.getDataSourceHistoryGroups());
25
- const codeBlockGroups = computed(() => historyService.getCodeBlockHistoryGroups());
23
+ const pageGroups = computed(() => historyService.getHistoryGroups("page", editorService.get("page")?.id));
24
+ const dataSourceGroups = computed(() => historyService.getHistoryGroups("dataSource"));
25
+ const codeBlockGroups = computed(() => historyService.getHistoryGroups("codeBlock"));
26
26
  /** 页面 tab 倒序展示(最新一组在最上面)。 */
27
27
  const pageGroupsDisplay = computed(() => pageGroups.value.slice().reverse());
28
28
  /**
@@ -43,9 +43,10 @@ var mountHistoryDiffDialog = async (options) => {
43
43
  const app = createApp(historyDiffDialog, {
44
44
  services: options.services,
45
45
  isConfirm: options.isConfirm,
46
- extendState: options.extendState,
47
46
  loadConfig: options.loadConfig,
48
47
  selfDiffFieldTypes: options.selfDiffFieldTypes,
48
+ width: options.width,
49
+ size: options.size ?? options.services?.uiService?.get("propsPanelSize"),
49
50
  onClose: options.onClose
50
51
  });
51
52
  if (options.appContext) Object.assign(app._context, options.appContext);
@@ -59,6 +60,7 @@ var mountHistoryDiffDialog = async (options) => {
59
60
  }, 300);
60
61
  };
61
62
  return {
63
+ app,
62
64
  instance,
63
65
  destroy
64
66
  };
@@ -116,15 +118,14 @@ var viewHistoryDiffDialog = async (payload, options) => {
116
118
  * ```ts
117
119
  * import { useHistoryRevert } from '@tmagic/editor';
118
120
  *
119
- * const { onPageRevert, onPageDiff } = useHistoryRevert(editorRef.value); // editorRef.value 即 Editor 暴露的 services
121
+ * const { onPageRevert, onPageDiff } = useHistoryRevert({}, editorRef.value); // editorRef.value 即 Editor 暴露的 services
120
122
  * await onPageRevert(index); // 弹出差异 / 二次确认弹窗后回滚
121
123
  * onPageDiff(index); // 弹出只读差异弹窗查看前后值差异
122
124
  * ```
123
125
  */
124
- var useHistoryRevert = (services, options = {}) => {
125
- const { editorService, dataSourceService, codeBlockService, historyService } = services;
126
+ var useHistoryRevert = (options = {}, services) => {
126
127
  const appContext = options.appContext ?? getCurrentInstance()?.appContext ?? null;
127
- const { extendState } = options;
128
+ const { dialogWidth } = options;
128
129
  /** 目标数据已被删除、无法回滚时的统一提示。 */
129
130
  const showRevertTargetMissing = () => {
130
131
  tMagicMessage.error("回滚失败:该记录对应的数据已被删除");
@@ -134,7 +135,7 @@ var useHistoryRevert = (services, options = {}) => {
134
135
  * 不弹差异弹窗,改用一个普通确认框替代「确定回滚」按钮,避免点击后无任何提示直接执行。
135
136
  * 用户取消时返回 false,调用方据此中止回滚。
136
137
  */
137
- const confirmRevert = () => confirmHistoryAction("确定回滚该步骤吗?回滚会将该操作作为一条新记录反向应用(新增将被删除、删除将被还原),不影响后续历史记录。");
138
+ const confirmRevert = () => confirmHistoryAction("确定回滚该步骤吗?");
138
139
  /**
139
140
  * 「回滚」统一确认入口:可差异对比的步骤动态挂载 HistoryDiffDialog 走差异确认弹窗,
140
141
  * 无法对比的步骤(add / remove / 多节点更新)回退到普通二次确认框。
@@ -143,30 +144,31 @@ var useHistoryRevert = (services, options = {}) => {
143
144
  const runRevert = (payload, extra) => {
144
145
  if (payload) return confirmRevertWithDiffDialog(payload, {
145
146
  appContext,
146
- extendState,
147
147
  services,
148
- ...extra
148
+ ...extra,
149
+ width: extra?.width ?? dialogWidth,
150
+ size: extra?.size
149
151
  });
150
152
  return confirmRevert();
151
153
  };
152
154
  const buildPageDiffPayload = (index) => buildDiffPayload({
153
155
  category: "node",
154
- groups: () => historyService.getPageHistoryGroups(),
155
- getCurrent: (id) => editorService.getNodeById(id),
156
+ groups: () => services?.historyService.getHistoryGroups("page", services?.editorService.get("page")?.id) ?? [],
157
+ getCurrent: (id) => services?.editorService.getNodeById(id),
156
158
  resolveType: (n, o) => n.type || o.type || "",
157
159
  resolveLabel: (n, o) => n.name || o.name || n.type || o.type || ""
158
160
  }, index);
159
161
  const buildDataSourceDiffPayload = (id, index) => buildDiffPayload({
160
162
  category: "data-source",
161
- groups: () => historyService.getDataSourceHistoryGroups(),
162
- getCurrent: (id) => dataSourceService.getDataSourceById(`${id}`),
163
+ groups: () => services?.historyService.getHistoryGroups("dataSource") ?? [],
164
+ getCurrent: (id) => services?.dataSourceService.getDataSourceById(`${id}`),
163
165
  resolveType: (n, o) => n.type || o.type || "base",
164
166
  resolveLabel: (n, o, id) => n.title || o.title || `${id}`
165
167
  }, index, id);
166
168
  const buildCodeBlockDiffPayload = (id, index) => buildDiffPayload({
167
169
  category: "code-block",
168
- groups: () => historyService.getCodeBlockHistoryGroups(),
169
- getCurrent: (id) => codeBlockService.getCodeContentById(id),
170
+ groups: () => services?.historyService.getHistoryGroups("codeBlock") ?? [],
171
+ getCurrent: (id) => services?.codeBlockService.getCodeContentById(id),
170
172
  resolveLabel: (n, o, id) => n.name || o.name || `${id}`
171
173
  }, index, id);
172
174
  /**
@@ -176,45 +178,45 @@ var useHistoryRevert = (services, options = {}) => {
176
178
  * add(回滚即删除)即使目标已不在,也已达成「删除」目的,不视为失败。
177
179
  */
178
180
  const isPageRevertTargetMissing = (index) => {
179
- const step = historyService.getPageStepList()[index]?.step;
181
+ const step = services?.historyService.getStepList("page", services?.editorService.get("page")?.id)[index]?.step;
180
182
  if (!step) return false;
181
183
  if (step.opType === "update") return (step.diff ?? []).some((item) => {
182
184
  const id = item.newSchema?.id ?? item.oldSchema?.id;
183
- return id !== void 0 && !editorService.getNodeById(id, false);
185
+ return id !== void 0 && !services?.editorService.getNodeById(id, false);
184
186
  });
185
- if (step.opType === "remove") return (step.diff ?? []).some((item) => item.parentId !== void 0 && !editorService.getNodeById(item.parentId, false));
187
+ if (step.opType === "remove") return (step.diff ?? []).some((item) => item.parentId !== void 0 && !services?.editorService.getNodeById(item.parentId, false));
186
188
  return false;
187
189
  };
188
190
  /** 数据源 update 步骤回滚时,对应数据源必须仍存在(已删除则无处写回旧值)。 */
189
191
  const isDataSourceRevertTargetMissing = (id, index) => {
190
- const step = historyService.getDataSourceStepList(id)[index]?.step;
191
- return Boolean(step?.opType === "update" && !dataSourceService.getDataSourceById(`${id}`));
192
+ const step = services?.historyService.getStepList("dataSource", id)[index]?.step;
193
+ return Boolean(step?.opType === "update" && !services?.dataSourceService.getDataSourceById(`${id}`));
192
194
  };
193
195
  /** 代码块 update 步骤回滚时,对应代码块必须仍存在(已删除则无处写回旧值)。 */
194
196
  const isCodeBlockRevertTargetMissing = (id, index) => {
195
- const step = historyService.getCodeBlockStepList(id)[index]?.step;
196
- return Boolean(step?.opType === "update" && !codeBlockService.getCodeContentById(id));
197
+ const step = services?.historyService.getStepList("codeBlock", id)[index]?.step;
198
+ return Boolean(step?.opType === "update" && !services?.codeBlockService.getCodeContentById(id));
197
199
  };
198
200
  const onPageRevert = (index) => {
199
201
  if (isPageRevertTargetMissing(index)) {
200
202
  showRevertTargetMissing();
201
203
  return Promise.resolve(null);
202
204
  }
203
- return runRevert(buildPageDiffPayload(index)).then((result) => result ? editorService.revertPageStep(index) : null);
205
+ return runRevert(buildPageDiffPayload(index), {}).then((result) => result ? services?.editorService.revertPageStep(index) : null);
204
206
  };
205
207
  const onDataSourceRevert = (id, index) => {
206
208
  if (isDataSourceRevertTargetMissing(id, index)) {
207
209
  showRevertTargetMissing();
208
210
  return Promise.resolve(null);
209
211
  }
210
- return runRevert(buildDataSourceDiffPayload(id, index)).then((result) => result ? dataSourceService.revert(id, index) : null);
212
+ return runRevert(buildDataSourceDiffPayload(id, index)).then((result) => result ? services?.dataSourceService.revert(id, index) : null);
211
213
  };
212
214
  const onCodeBlockRevert = (id, index) => {
213
215
  if (isCodeBlockRevertTargetMissing(id, index)) {
214
216
  showRevertTargetMissing();
215
217
  return Promise.resolve(null);
216
218
  }
217
- return runRevert(buildCodeBlockDiffPayload(id, index)).then((result) => result ? codeBlockService.revert(id, index) : null);
219
+ return runRevert(buildCodeBlockDiffPayload(id, index)).then((result) => result ? services?.codeBlockService.revert(id, index) : null);
218
220
  };
219
221
  /**
220
222
  * 「查看差异」:可差异对比的步骤(单实体 update)动态挂载只读 HistoryDiffDialog 展示前后值差异,
@@ -224,24 +226,24 @@ var useHistoryRevert = (services, options = {}) => {
224
226
  const payload = buildPageDiffPayload(index);
225
227
  if (payload) return viewHistoryDiffDialog(payload, {
226
228
  appContext,
227
- extendState,
228
- services
229
+ services,
230
+ width: dialogWidth
229
231
  });
230
232
  };
231
233
  const onDataSourceDiff = (id, index) => {
232
234
  const payload = buildDataSourceDiffPayload(id, index);
233
235
  if (payload) return viewHistoryDiffDialog(payload, {
234
236
  appContext,
235
- extendState,
236
- services
237
+ services,
238
+ width: dialogWidth
237
239
  });
238
240
  };
239
241
  const onCodeBlockDiff = (id, index) => {
240
242
  const payload = buildCodeBlockDiffPayload(id, index);
241
243
  if (payload) return viewHistoryDiffDialog(payload, {
242
244
  appContext,
243
- extendState,
244
- services
245
+ services,
246
+ width: dialogWidth
245
247
  });
246
248
  };
247
249
  /**
@@ -267,7 +269,9 @@ var useHistoryRevert = (services, options = {}) => {
267
269
  }
268
270
  if (!await runRevert(revertOptions.diffPayload ?? null, {
269
271
  loadConfig: revertOptions.loadConfig,
270
- selfDiffFieldTypes: revertOptions.selfDiffFieldTypes
272
+ selfDiffFieldTypes: revertOptions.selfDiffFieldTypes,
273
+ width: revertOptions.width,
274
+ size: revertOptions.size
271
275
  })) return null;
272
276
  return await revertOptions.revert();
273
277
  };
@@ -278,9 +282,10 @@ var useHistoryRevert = (services, options = {}) => {
278
282
  const viewDiff = (payload, extra) => {
279
283
  if (payload) return viewHistoryDiffDialog(payload, {
280
284
  appContext,
281
- extendState,
282
285
  services,
283
- ...extra
286
+ ...extra,
287
+ width: extra?.width ?? dialogWidth,
288
+ size: extra?.size
284
289
  });
285
290
  };
286
291
  return {
@@ -16,7 +16,7 @@ var _hoisted_2 = {
16
16
  key: 1,
17
17
  style: { "width": "21px" }
18
18
  };
19
- var AddButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
19
+ var AddButton_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
20
20
  name: "MEditorPageBarAddButton",
21
21
  __name: "AddButton",
22
22
  setup(__props) {
@@ -13,7 +13,7 @@ var _hoisted_1 = { class: "m-editor-page-bar-tabs" };
13
13
  var _hoisted_2 = ["data-page-id", "onClick"];
14
14
  var _hoisted_3 = { class: "m-editor-page-bar-title" };
15
15
  var _hoisted_4 = ["title"];
16
- var PageBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
16
+ var PageBar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
17
17
  name: "MEditorPageBar",
18
18
  __name: "PageBar",
19
19
  props: {
@@ -13,7 +13,7 @@ var _hoisted_2 = {
13
13
  class: "m-editor-page-bar-items",
14
14
  ref: "itemsContainer"
15
15
  };
16
- var PageBarScrollContainer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
16
+ var PageBarScrollContainer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
17
17
  name: "MEditorPageBarScrollContainer",
18
18
  __name: "PageBarScrollContainer",
19
19
  props: {
@@ -11,7 +11,7 @@ var _hoisted_1 = {
11
11
  };
12
12
  var _hoisted_2 = { class: "page-bar-popover-wrapper" };
13
13
  var _hoisted_3 = { class: "page-bar-popover-inner" };
14
- var PageList_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
14
+ var PageList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
15
15
  name: "MEditorPageList",
16
16
  __name: "PageList",
17
17
  props: { list: {} },
@@ -5,13 +5,13 @@ import { Teleport, createBlock, createCommentVNode, createElementBlock, createVN
5
5
  import { Search } from "@element-plus/icons-vue";
6
6
  //#region packages/editor/src/layouts/page-bar/Search.vue?vue&type=script&setup=true&lang.ts
7
7
  var _hoisted_1 = { class: "m-editor-page-bar-item m-editor-page-bar-item-icon m-editor-page-bar-search" };
8
- var Search_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
8
+ var Search_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
9
9
  __name: "Search",
10
10
  props: {
11
11
  "query": {},
12
12
  "queryModifiers": {}
13
13
  },
14
- emits: /* @__PURE__ */ mergeModels(["search"], ["update:query"]),
14
+ emits: /*@__PURE__*/ mergeModels(["search"], ["update:query"]),
15
15
  setup(__props, { emit: __emit }) {
16
16
  const emit = __emit;
17
17
  const query = useModel(__props, "query");