@tmagic/editor 1.7.7 → 1.7.8-beta.2

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 (242) hide show
  1. package/LICENSE +235 -164
  2. package/dist/es/Editor.js +5 -0
  3. package/dist/es/Editor.vue_vue_type_script_setup_true_lang.js +214 -0
  4. package/dist/es/_virtual/_plugin-vue_export-helper.js +8 -0
  5. package/dist/es/components/CodeBlockEditor.js +5 -0
  6. package/dist/es/components/CodeBlockEditor.vue_vue_type_script_setup_true_lang.js +337 -0
  7. package/dist/es/components/CodeParams.js +5 -0
  8. package/dist/es/components/CodeParams.vue_vue_type_script_setup_true_lang.js +63 -0
  9. package/dist/es/components/ContentMenu.js +5 -0
  10. package/dist/es/components/ContentMenu.vue_vue_type_script_setup_true_lang.js +160 -0
  11. package/dist/es/components/FloatingBox.js +5 -0
  12. package/dist/es/components/FloatingBox.vue_vue_type_script_setup_true_lang.js +161 -0
  13. package/dist/es/components/Icon.js +5 -0
  14. package/dist/es/components/Icon.vue_vue_type_script_setup_true_lang.js +39 -0
  15. package/dist/es/components/Resizer.js +5 -0
  16. package/dist/es/components/Resizer.vue_vue_type_script_setup_true_lang.js +20 -0
  17. package/dist/es/components/ScrollBar.js +6 -0
  18. package/dist/es/components/ScrollBar.vue_vue_type_script_setup_true_lang.js +72 -0
  19. package/dist/es/components/ScrollViewer.js +5 -0
  20. package/dist/es/components/ScrollViewer.vue_vue_type_script_setup_true_lang.js +104 -0
  21. package/dist/es/components/SearchInput.js +5 -0
  22. package/dist/es/components/SearchInput.vue_vue_type_script_setup_true_lang.js +40 -0
  23. package/dist/es/components/SplitView.js +5 -0
  24. package/dist/es/components/SplitView.vue_vue_type_script_setup_true_lang.js +135 -0
  25. package/dist/es/components/ToolButton.js +5 -0
  26. package/dist/es/components/ToolButton.vue_vue_type_script_setup_true_lang.js +131 -0
  27. package/dist/es/components/Tree.js +5 -0
  28. package/dist/es/components/Tree.vue_vue_type_script_setup_true_lang.js +60 -0
  29. package/dist/es/components/TreeNode.js +5 -0
  30. package/dist/es/components/TreeNode.vue_vue_type_script_setup_true_lang.js +126 -0
  31. package/dist/es/editorProps.js +34 -0
  32. package/dist/es/fields/Code.js +5 -0
  33. package/dist/es/fields/Code.vue_vue_type_script_setup_true_lang.js +54 -0
  34. package/dist/es/fields/CodeLink.js +5 -0
  35. package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +69 -0
  36. package/dist/es/fields/CodeSelect.js +5 -0
  37. package/dist/es/fields/CodeSelect.vue_vue_type_script_setup_true_lang.js +116 -0
  38. package/dist/es/fields/CodeSelectCol.js +5 -0
  39. package/dist/es/fields/CodeSelectCol.vue_vue_type_script_setup_true_lang.js +145 -0
  40. package/dist/es/fields/CondOpSelect.js +5 -0
  41. package/dist/es/fields/CondOpSelect.vue_vue_type_script_setup_true_lang.js +81 -0
  42. package/dist/es/fields/DataSourceFieldSelect/FieldSelect.js +5 -0
  43. package/dist/es/fields/DataSourceFieldSelect/FieldSelect.vue_vue_type_script_setup_true_lang.js +158 -0
  44. package/dist/es/fields/DataSourceFieldSelect/Index.js +5 -0
  45. package/dist/es/fields/DataSourceFieldSelect/Index.vue_vue_type_script_setup_true_lang.js +155 -0
  46. package/dist/es/fields/DataSourceFields.js +5 -0
  47. package/dist/es/fields/DataSourceFields.vue_vue_type_script_setup_true_lang.js +390 -0
  48. package/dist/es/fields/DataSourceInput.js +5 -0
  49. package/dist/es/fields/DataSourceInput.vue_vue_type_script_setup_true_lang.js +268 -0
  50. package/dist/es/fields/DataSourceMethodSelect.js +5 -0
  51. package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js +144 -0
  52. package/dist/es/fields/DataSourceMethods.js +5 -0
  53. package/dist/es/fields/DataSourceMethods.vue_vue_type_script_setup_true_lang.js +148 -0
  54. package/dist/es/fields/DataSourceMocks.js +5 -0
  55. package/dist/es/fields/DataSourceMocks.vue_vue_type_script_setup_true_lang.js +259 -0
  56. package/dist/es/fields/DataSourceSelect.js +5 -0
  57. package/dist/es/fields/DataSourceSelect.vue_vue_type_script_setup_true_lang.js +101 -0
  58. package/dist/es/fields/DisplayConds.js +5 -0
  59. package/dist/es/fields/DisplayConds.vue_vue_type_script_setup_true_lang.js +156 -0
  60. package/dist/es/fields/EventSelect.js +5 -0
  61. package/dist/es/fields/EventSelect.vue_vue_type_script_setup_true_lang.js +338 -0
  62. package/dist/es/fields/KeyValue.js +5 -0
  63. package/dist/es/fields/KeyValue.vue_vue_type_script_setup_true_lang.js +158 -0
  64. package/dist/es/fields/PageFragmentSelect.js +5 -0
  65. package/dist/es/fields/PageFragmentSelect.vue_vue_type_script_setup_true_lang.js +81 -0
  66. package/dist/es/fields/StyleSetter/Index.js +5 -0
  67. package/dist/es/fields/StyleSetter/Index.vue_vue_type_script_setup_true_lang.js +92 -0
  68. package/dist/es/fields/StyleSetter/components/BackgroundPosition.js +5 -0
  69. package/dist/es/fields/StyleSetter/components/BackgroundPosition.vue_vue_type_script_setup_true_lang.js +96 -0
  70. package/dist/es/fields/StyleSetter/components/Border.js +5 -0
  71. package/dist/es/fields/StyleSetter/components/Border.vue_vue_type_script_setup_true_lang.js +100 -0
  72. package/dist/es/fields/StyleSetter/components/Box.js +5 -0
  73. package/dist/es/fields/StyleSetter/components/Box.vue_vue_type_script_setup_true_lang.js +81 -0
  74. package/dist/es/fields/StyleSetter/icons/background-repeat/NoRepeat.js +17 -0
  75. package/dist/es/fields/StyleSetter/icons/background-repeat/Repeat.js +14 -0
  76. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatX.js +17 -0
  77. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatY.js +17 -0
  78. package/dist/es/fields/StyleSetter/icons/display/Block.js +14 -0
  79. package/dist/es/fields/StyleSetter/icons/display/Flex.js +14 -0
  80. package/dist/es/fields/StyleSetter/icons/display/Inline.js +14 -0
  81. package/dist/es/fields/StyleSetter/icons/display/InlineBlock.js +14 -0
  82. package/dist/es/fields/StyleSetter/icons/display/None.js +14 -0
  83. package/dist/es/fields/StyleSetter/icons/flex-direction/Column.js +14 -0
  84. package/dist/es/fields/StyleSetter/icons/flex-direction/ColumnReverse.js +14 -0
  85. package/dist/es/fields/StyleSetter/icons/flex-direction/Row.js +14 -0
  86. package/dist/es/fields/StyleSetter/icons/flex-direction/RowReverse.js +14 -0
  87. package/dist/es/fields/StyleSetter/icons/justify-content/Center.js +14 -0
  88. package/dist/es/fields/StyleSetter/icons/justify-content/FlexEnd.js +14 -0
  89. package/dist/es/fields/StyleSetter/icons/justify-content/FlexStart.js +14 -0
  90. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceAround.js +14 -0
  91. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceBetween.js +14 -0
  92. package/dist/es/fields/StyleSetter/icons/text-align/Center.js +14 -0
  93. package/dist/es/fields/StyleSetter/icons/text-align/Left.js +14 -0
  94. package/dist/es/fields/StyleSetter/icons/text-align/Right.js +14 -0
  95. package/dist/es/fields/StyleSetter/pro/Background.js +5 -0
  96. package/dist/es/fields/StyleSetter/pro/Background.vue_vue_type_script_setup_true_lang.js +114 -0
  97. package/dist/es/fields/StyleSetter/pro/Border.js +5 -0
  98. package/dist/es/fields/StyleSetter/pro/Border.vue_vue_type_script_setup_true_lang.js +50 -0
  99. package/dist/es/fields/StyleSetter/pro/Font.js +5 -0
  100. package/dist/es/fields/StyleSetter/pro/Font.vue_vue_type_script_setup_true_lang.js +98 -0
  101. package/dist/es/fields/StyleSetter/pro/Layout.js +5 -0
  102. package/dist/es/fields/StyleSetter/pro/Layout.vue_vue_type_script_setup_true_lang.js +288 -0
  103. package/dist/es/fields/StyleSetter/pro/Position.js +5 -0
  104. package/dist/es/fields/StyleSetter/pro/Position.vue_vue_type_script_setup_true_lang.js +95 -0
  105. package/dist/es/fields/UISelect.js +6 -0
  106. package/dist/es/fields/UISelect.vue_vue_type_script_setup_true_lang.js +161 -0
  107. package/dist/es/hooks/use-code-block-edit.js +54 -0
  108. package/dist/es/hooks/use-data-source-edit.js +29 -0
  109. package/dist/es/hooks/use-editor-content-height.js +17 -0
  110. package/dist/es/hooks/use-filter.js +35 -0
  111. package/dist/es/hooks/use-float-box.js +76 -0
  112. package/dist/es/hooks/use-getso.js +28 -0
  113. package/dist/es/hooks/use-next-float-box-position.js +27 -0
  114. package/dist/es/hooks/use-node-status.js +28 -0
  115. package/dist/es/hooks/use-services.js +9 -0
  116. package/dist/es/hooks/use-stage.js +107 -0
  117. package/dist/es/hooks/use-window-rect.js +19 -0
  118. package/dist/es/icons/CenterIcon.js +5 -0
  119. package/dist/es/icons/CenterIcon.vue_vue_type_script_setup_true_lang.js +40 -0
  120. package/dist/es/icons/CodeIcon.js +5 -0
  121. package/dist/es/icons/CodeIcon.vue_vue_type_script_setup_true_lang.js +19 -0
  122. package/dist/es/icons/FolderMinusIcon.js +5 -0
  123. package/dist/es/icons/FolderMinusIcon.vue_vue_type_script_setup_true_lang.js +27 -0
  124. package/dist/es/index.js +79 -0
  125. package/dist/es/initService.js +392 -0
  126. package/dist/es/layouts/AddPageBox.js +5 -0
  127. package/dist/es/layouts/AddPageBox.vue_vue_type_script_setup_true_lang.js +38 -0
  128. package/dist/es/layouts/CodeEditor.js +5 -0
  129. package/dist/es/layouts/CodeEditor.vue_vue_type_script_setup_true_lang.js +270 -0
  130. package/dist/es/layouts/Framework.js +5 -0
  131. package/dist/es/layouts/Framework.vue_vue_type_script_setup_true_lang.js +134 -0
  132. package/dist/es/layouts/NavMenu.js +5 -0
  133. package/dist/es/layouts/NavMenu.vue_vue_type_script_setup_true_lang.js +181 -0
  134. package/dist/es/layouts/page-bar/AddButton.js +5 -0
  135. package/dist/es/layouts/page-bar/AddButton.vue_vue_type_script_setup_true_lang.js +57 -0
  136. package/dist/es/layouts/page-bar/PageBar.js +5 -0
  137. package/dist/es/layouts/page-bar/PageBar.vue_vue_type_script_setup_true_lang.js +135 -0
  138. package/dist/es/layouts/page-bar/PageBarScrollContainer.js +5 -0
  139. package/dist/es/layouts/page-bar/PageBarScrollContainer.vue_vue_type_script_setup_true_lang.js +119 -0
  140. package/dist/es/layouts/page-bar/PageList.js +5 -0
  141. package/dist/es/layouts/page-bar/PageList.vue_vue_type_script_setup_true_lang.js +54 -0
  142. package/dist/es/layouts/page-bar/Search.js +5 -0
  143. package/dist/es/layouts/page-bar/Search.vue_vue_type_script_setup_true_lang.js +60 -0
  144. package/dist/es/layouts/props-panel/FormPanel.js +5 -0
  145. package/dist/es/layouts/props-panel/FormPanel.vue_vue_type_script_setup_true_lang.js +129 -0
  146. package/dist/es/layouts/props-panel/PropsPanel.js +5 -0
  147. package/dist/es/layouts/props-panel/PropsPanel.vue_vue_type_script_setup_true_lang.js +179 -0
  148. package/dist/es/layouts/props-panel/use-style-panel.js +40 -0
  149. package/dist/es/layouts/sidebar/ComponentListPanel.js +5 -0
  150. package/dist/es/layouts/sidebar/ComponentListPanel.vue_vue_type_script_setup_true_lang.js +121 -0
  151. package/dist/es/layouts/sidebar/Sidebar.js +5 -0
  152. package/dist/es/layouts/sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +314 -0
  153. package/dist/es/layouts/sidebar/code-block/CodeBlockList.js +5 -0
  154. package/dist/es/layouts/sidebar/code-block/CodeBlockList.vue_vue_type_script_setup_true_lang.js +161 -0
  155. package/dist/es/layouts/sidebar/code-block/CodeBlockListPanel.js +5 -0
  156. package/dist/es/layouts/sidebar/code-block/CodeBlockListPanel.vue_vue_type_script_setup_true_lang.js +113 -0
  157. package/dist/es/layouts/sidebar/code-block/useContentMenu.js +60 -0
  158. package/dist/es/layouts/sidebar/data-source/DataSourceAddButton.js +5 -0
  159. package/dist/es/layouts/sidebar/data-source/DataSourceAddButton.vue_vue_type_script_setup_true_lang.js +44 -0
  160. package/dist/es/layouts/sidebar/data-source/DataSourceConfigPanel.js +5 -0
  161. package/dist/es/layouts/sidebar/data-source/DataSourceConfigPanel.vue_vue_type_script_setup_true_lang.js +103 -0
  162. package/dist/es/layouts/sidebar/data-source/DataSourceList.js +5 -0
  163. package/dist/es/layouts/sidebar/data-source/DataSourceList.vue_vue_type_script_setup_true_lang.js +162 -0
  164. package/dist/es/layouts/sidebar/data-source/DataSourceListPanel.js +5 -0
  165. package/dist/es/layouts/sidebar/data-source/DataSourceListPanel.vue_vue_type_script_setup_true_lang.js +133 -0
  166. package/dist/es/layouts/sidebar/data-source/useContentMenu.js +59 -0
  167. package/dist/es/layouts/sidebar/layer/LayerMenu.js +5 -0
  168. package/dist/es/layouts/sidebar/layer/LayerMenu.vue_vue_type_script_setup_true_lang.js +90 -0
  169. package/dist/es/layouts/sidebar/layer/LayerNodeTool.js +5 -0
  170. package/dist/es/layouts/sidebar/layer/LayerNodeTool.vue_vue_type_script_setup_true_lang.js +35 -0
  171. package/dist/es/layouts/sidebar/layer/LayerPanel.js +5 -0
  172. package/dist/es/layouts/sidebar/layer/LayerPanel.vue_vue_type_script_setup_true_lang.js +99 -0
  173. package/dist/es/layouts/sidebar/layer/use-click.js +68 -0
  174. package/dist/es/layouts/sidebar/layer/use-drag.js +118 -0
  175. package/dist/es/layouts/sidebar/layer/use-keybinding.js +36 -0
  176. package/dist/es/layouts/sidebar/layer/use-node-status.js +75 -0
  177. package/dist/es/layouts/workspace/Breadcrumb.js +5 -0
  178. package/dist/es/layouts/workspace/Breadcrumb.vue_vue_type_script_setup_true_lang.js +39 -0
  179. package/dist/es/layouts/workspace/Workspace.js +5 -0
  180. package/dist/es/layouts/workspace/Workspace.vue_vue_type_script_setup_true_lang.js +43 -0
  181. package/dist/es/layouts/workspace/viewer/NodeListMenu.js +5 -0
  182. package/dist/es/layouts/workspace/viewer/NodeListMenu.vue_vue_type_script_setup_true_lang.js +88 -0
  183. package/dist/es/layouts/workspace/viewer/Stage.js +5 -0
  184. package/dist/es/layouts/workspace/viewer/Stage.vue_vue_type_script_setup_true_lang.js +206 -0
  185. package/dist/es/layouts/workspace/viewer/StageOverlay.js +5 -0
  186. package/dist/es/layouts/workspace/viewer/StageOverlay.vue_vue_type_script_setup_true_lang.js +89 -0
  187. package/dist/es/layouts/workspace/viewer/ViewerMenu.js +5 -0
  188. package/dist/es/layouts/workspace/viewer/ViewerMenu.vue_vue_type_script_setup_true_lang.js +132 -0
  189. package/dist/es/plugin.js +61 -0
  190. package/dist/es/services/BaseService.js +148 -0
  191. package/dist/es/services/codeBlock.js +251 -0
  192. package/dist/es/services/componentList.js +29 -0
  193. package/dist/es/services/dataSource.js +157 -0
  194. package/dist/es/services/dep.js +173 -0
  195. package/dist/es/services/editor.js +752 -0
  196. package/dist/es/services/events.js +64 -0
  197. package/dist/es/services/history.js +84 -0
  198. package/dist/es/services/keybinding.js +182 -0
  199. package/dist/es/services/props.js +216 -0
  200. package/dist/es/services/stageOverlay.js +161 -0
  201. package/dist/es/services/storage.js +127 -0
  202. package/dist/es/services/ui.js +112 -0
  203. package/dist/es/style.css +1937 -0
  204. package/dist/es/type.js +90 -0
  205. package/dist/es/utils/compose.js +44 -0
  206. package/dist/es/utils/config.js +8 -0
  207. package/dist/es/utils/const.js +15 -0
  208. package/dist/es/utils/content-menu.js +76 -0
  209. package/dist/es/utils/data-source/formConfigs/base.js +28 -0
  210. package/dist/es/utils/data-source/formConfigs/http.js +74 -0
  211. package/dist/es/utils/data-source/index.js +202 -0
  212. package/dist/es/utils/dep/idle-task.js +76 -0
  213. package/dist/es/utils/dep/worker.js +19 -0
  214. package/dist/es/utils/editor.js +261 -0
  215. package/dist/es/utils/keybinding-config.js +106 -0
  216. package/dist/es/utils/logger.js +18 -0
  217. package/dist/es/utils/monaco-editor.js +13 -0
  218. package/dist/es/utils/operator.js +73 -0
  219. package/dist/es/utils/props.js +232 -0
  220. package/dist/es/utils/scroll-viewer.js +115 -0
  221. package/dist/es/utils/tree.js +11 -0
  222. package/dist/es/utils/undo-redo.js +43 -0
  223. package/dist/style.css +10 -10
  224. package/dist/tmagic-editor.umd.cjs +18430 -21979
  225. package/package.json +16 -12
  226. package/src/components/CodeBlockEditor.vue +2 -8
  227. package/src/fields/CodeLink.vue +2 -2
  228. package/src/fields/CodeSelectCol.vue +1 -1
  229. package/src/fields/DataSourceFieldSelect/Index.vue +16 -3
  230. package/src/fields/DataSourceFields.vue +4 -1
  231. package/src/fields/EventSelect.vue +11 -11
  232. package/src/fields/StyleSetter/components/BackgroundPosition.vue +2 -2
  233. package/src/fields/StyleSetter/pro/Layout.vue +8 -8
  234. package/src/index.ts +1 -73
  235. package/src/plugin.ts +92 -0
  236. package/src/services/props.ts +3 -1
  237. package/src/type.ts +1 -1
  238. package/src/utils/data-source/index.ts +71 -73
  239. package/src/utils/index.ts +1 -0
  240. package/src/utils/props.ts +9 -7
  241. package/types/index.d.ts +3369 -3319
  242. package/dist/tmagic-editor.js +0 -17053
@@ -0,0 +1,214 @@
1
+ import props_default from "./services/props.js";
2
+ import history_default from "./services/history.js";
3
+ import storage_default from "./services/storage.js";
4
+ import editor_default from "./services/editor.js";
5
+ import ui_default from "./services/ui.js";
6
+ import Framework_default from "./layouts/Framework.js";
7
+ import NavMenu_default from "./layouts/NavMenu.js";
8
+ import PropsPanel_default from "./layouts/props-panel/PropsPanel.js";
9
+ import keybinding_config_default from "./utils/keybinding-config.js";
10
+ import Sidebar_default from "./layouts/sidebar/Sidebar.js";
11
+ import Workspace_default from "./layouts/workspace/Workspace.js";
12
+ import codeBlock_default from "./services/codeBlock.js";
13
+ import componentList_default from "./services/componentList.js";
14
+ import dataSource_default from "./services/dataSource.js";
15
+ import dep_default from "./services/dep.js";
16
+ import events_default from "./services/events.js";
17
+ import keybinding_default from "./services/keybinding.js";
18
+ import stageOverlay_default from "./services/stageOverlay.js";
19
+ import { defaultEditorProps } from "./editorProps.js";
20
+ import { initServiceEvents, initServiceState } from "./initService.js";
21
+ import { createBlock, createVNode, defineComponent, mergeDefaults, openBlock, provide, renderSlot, unref, withCtx } from "vue";
22
+ import { EventEmitter } from "events";
23
+ //#region packages/editor/src/Editor.vue?vue&type=script&setup=true&lang.ts
24
+ var Editor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
25
+ name: "MEditor",
26
+ __name: "Editor",
27
+ props: /* @__PURE__ */ mergeDefaults({
28
+ modelValue: {},
29
+ componentGroupList: {},
30
+ datasourceList: {},
31
+ sidebar: {},
32
+ menu: {},
33
+ layerContentMenu: {},
34
+ stageContentMenu: {},
35
+ runtimeUrl: {},
36
+ renderType: {},
37
+ autoScrollIntoView: { type: Boolean },
38
+ propsConfigs: {},
39
+ propsValues: {},
40
+ eventMethodList: {},
41
+ datasourceValues: {},
42
+ datasourceConfigs: {},
43
+ datasourceEventMethodList: {},
44
+ moveableOptions: { type: [Function, Object] },
45
+ defaultSelected: {},
46
+ containerHighlightClassName: {},
47
+ containerHighlightDuration: {},
48
+ containerHighlightType: {},
49
+ stageRect: {},
50
+ codeOptions: {},
51
+ disabledDragStart: { type: Boolean },
52
+ guidesOptions: {},
53
+ disabledMultiSelect: { type: Boolean },
54
+ disabledPageFragment: { type: Boolean },
55
+ disabledStageOverlay: { type: Boolean },
56
+ disabledShowSrc: { type: Boolean },
57
+ disabledDataSource: { type: Boolean },
58
+ disabledCodeBlock: { type: Boolean },
59
+ treeIndent: {},
60
+ treeNextLevelIndentIncrement: {},
61
+ render: { type: Function },
62
+ updateDragEl: { type: Function },
63
+ canSelect: { type: Function },
64
+ isContainer: { type: Function },
65
+ customContentMenu: { type: Function },
66
+ extendFormState: { type: Function },
67
+ pageBarSortOptions: {},
68
+ pageFilterFunction: { type: Function }
69
+ }, defaultEditorProps),
70
+ emits: [
71
+ "props-panel-mounted",
72
+ "props-panel-unmounted",
73
+ "update:modelValue",
74
+ "props-form-error",
75
+ "props-submit-error"
76
+ ],
77
+ setup(__props, { expose: __expose, emit: __emit }) {
78
+ const emit = __emit;
79
+ const props = __props;
80
+ const services = {
81
+ componentListService: componentList_default,
82
+ eventsService: events_default,
83
+ historyService: history_default,
84
+ propsService: props_default,
85
+ editorService: editor_default,
86
+ uiService: ui_default,
87
+ storageService: storage_default,
88
+ codeBlockService: codeBlock_default,
89
+ depService: dep_default,
90
+ dataSourceService: dataSource_default,
91
+ keybindingService: keybinding_default,
92
+ stageOverlayService: stageOverlay_default
93
+ };
94
+ initServiceEvents(props, emit, services);
95
+ initServiceState(props, services);
96
+ keybinding_default.register(keybinding_config_default);
97
+ keybinding_default.registerEl("global");
98
+ const stageOptions = {
99
+ runtimeUrl: props.runtimeUrl,
100
+ autoScrollIntoView: props.autoScrollIntoView,
101
+ render: props.render,
102
+ moveableOptions: props.moveableOptions,
103
+ canSelect: props.canSelect,
104
+ updateDragEl: props.updateDragEl,
105
+ isContainer: props.isContainer,
106
+ containerHighlightClassName: props.containerHighlightClassName,
107
+ containerHighlightDuration: props.containerHighlightDuration,
108
+ containerHighlightType: props.containerHighlightType,
109
+ disabledDragStart: props.disabledDragStart,
110
+ renderType: props.renderType,
111
+ guidesOptions: props.guidesOptions,
112
+ disabledMultiSelect: props.disabledMultiSelect
113
+ };
114
+ stageOverlay_default.set("stageOptions", stageOptions);
115
+ provide("services", services);
116
+ provide("codeOptions", props.codeOptions);
117
+ provide("stageOptions", stageOptions);
118
+ provide("eventBus", new EventEmitter());
119
+ const propsPanelMountedHandler = (e) => {
120
+ emit("props-panel-mounted", e);
121
+ };
122
+ const propsPanelUnmountedHandler = () => {
123
+ emit("props-panel-unmounted");
124
+ };
125
+ const propsPanelSubmitErrorHandler = (e) => {
126
+ emit("props-submit-error", e);
127
+ };
128
+ const propsPanelFormErrorHandler = (e) => {
129
+ emit("props-form-error", e);
130
+ };
131
+ __expose(services);
132
+ return (_ctx, _cache) => {
133
+ return openBlock(), createBlock(Framework_default, {
134
+ "disabled-page-fragment": __props.disabledPageFragment,
135
+ "page-bar-sort-options": __props.pageBarSortOptions,
136
+ "page-filter-function": __props.pageFilterFunction
137
+ }, {
138
+ header: withCtx(() => [renderSlot(_ctx.$slots, "header")]),
139
+ nav: withCtx(() => [renderSlot(_ctx.$slots, "nav", { editorService: unref(editor_default) }, () => [createVNode(NavMenu_default, { data: __props.menu }, null, 8, ["data"])])]),
140
+ "content-before": withCtx(() => [renderSlot(_ctx.$slots, "content-before")]),
141
+ "src-code": withCtx(() => [renderSlot(_ctx.$slots, "src-code", { editorService: unref(editor_default) })]),
142
+ sidebar: withCtx(() => [renderSlot(_ctx.$slots, "sidebar", { editorService: unref(editor_default) }, () => [createVNode(Sidebar_default, {
143
+ data: __props.sidebar,
144
+ "layer-content-menu": __props.layerContentMenu,
145
+ "custom-content-menu": __props.customContentMenu,
146
+ indent: __props.treeIndent,
147
+ "next-level-indent-increment": __props.treeNextLevelIndentIncrement
148
+ }, {
149
+ "layer-panel-header": withCtx(() => [renderSlot(_ctx.$slots, "layer-panel-header")]),
150
+ "layer-node-content": withCtx(({ data }) => [renderSlot(_ctx.$slots, "layer-node-content", { data })]),
151
+ "layer-node-label": withCtx(({ data }) => [renderSlot(_ctx.$slots, "layer-node-label", { data })]),
152
+ "layer-node-tool": withCtx(({ data }) => [renderSlot(_ctx.$slots, "layer-node-tool", { data })]),
153
+ "component-list": withCtx(({ componentGroupList }) => [renderSlot(_ctx.$slots, "component-list", { componentGroupList })]),
154
+ "component-list-panel-header": withCtx(() => [renderSlot(_ctx.$slots, "component-list-panel-header")]),
155
+ "component-list-item": withCtx(({ component }) => [renderSlot(_ctx.$slots, "component-list-item", { component })]),
156
+ "code-block-panel-header": withCtx(() => [renderSlot(_ctx.$slots, "code-block-panel-header")]),
157
+ "code-block-panel-tool": withCtx(({ id, data }) => [renderSlot(_ctx.$slots, "code-block-panel-tool", {
158
+ id,
159
+ data
160
+ })]),
161
+ "code-block-panel-search": withCtx(() => [renderSlot(_ctx.$slots, "code-block-panel-search")]),
162
+ "data-source-panel-tool": withCtx(({ data }) => [renderSlot(_ctx.$slots, "data-source-panel-tool", { data })]),
163
+ "data-source-panel-search": withCtx(() => [renderSlot(_ctx.$slots, "data-source-panel-search")]),
164
+ _: 3
165
+ }, 8, [
166
+ "data",
167
+ "layer-content-menu",
168
+ "custom-content-menu",
169
+ "indent",
170
+ "next-level-indent-increment"
171
+ ])])]),
172
+ workspace: withCtx(() => [renderSlot(_ctx.$slots, "workspace", { editorService: unref(editor_default) }, () => [createVNode(Workspace_default, {
173
+ "disabled-stage-overlay": __props.disabledStageOverlay,
174
+ "stage-content-menu": __props.stageContentMenu,
175
+ "custom-content-menu": __props.customContentMenu
176
+ }, {
177
+ stage: withCtx(() => [renderSlot(_ctx.$slots, "stage")]),
178
+ "workspace-content": withCtx(() => [renderSlot(_ctx.$slots, "workspace-content", { editorService: unref(editor_default) })]),
179
+ _: 3
180
+ }, 8, [
181
+ "disabled-stage-overlay",
182
+ "stage-content-menu",
183
+ "custom-content-menu"
184
+ ])])]),
185
+ "props-panel": withCtx(() => [renderSlot(_ctx.$slots, "props-panel", {}, () => [createVNode(PropsPanel_default, {
186
+ "extend-state": __props.extendFormState,
187
+ "disabled-show-src": __props.disabledShowSrc,
188
+ onMounted: propsPanelMountedHandler,
189
+ onUnmounted: propsPanelUnmountedHandler,
190
+ onFormError: propsPanelFormErrorHandler,
191
+ onSubmitError: propsPanelSubmitErrorHandler
192
+ }, {
193
+ "props-panel-header": withCtx(() => [renderSlot(_ctx.$slots, "props-panel-header")]),
194
+ _: 3
195
+ }, 8, ["extend-state", "disabled-show-src"])])]),
196
+ empty: withCtx(() => [renderSlot(_ctx.$slots, "empty", { editorService: unref(editor_default) })]),
197
+ "content-after": withCtx(() => [renderSlot(_ctx.$slots, "content-after")]),
198
+ footer: withCtx(() => [renderSlot(_ctx.$slots, "footer")]),
199
+ "page-bar": withCtx(() => [renderSlot(_ctx.$slots, "page-bar")]),
200
+ "page-bar-add-button": withCtx(() => [renderSlot(_ctx.$slots, "page-bar-add-button")]),
201
+ "page-bar-title": withCtx(({ page }) => [renderSlot(_ctx.$slots, "page-bar-title", { page })]),
202
+ "page-bar-popover": withCtx(({ page }) => [renderSlot(_ctx.$slots, "page-bar-popover", { page })]),
203
+ "page-list-popover": withCtx(({ list }) => [renderSlot(_ctx.$slots, "page-list-popover", { list })]),
204
+ _: 3
205
+ }, 8, [
206
+ "disabled-page-fragment",
207
+ "page-bar-sort-options",
208
+ "page-filter-function"
209
+ ]);
210
+ };
211
+ }
212
+ });
213
+ //#endregion
214
+ export { Editor_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,8 @@
1
+ //#region \0plugin-vue:export-helper
2
+ var _plugin_vue_export_helper_default = (sfc, props) => {
3
+ const target = sfc.__vccOpts || sfc;
4
+ for (const [key, val] of props) target[key] = val;
5
+ return target;
6
+ };
7
+ //#endregion
8
+ export { _plugin_vue_export_helper_default as default };
@@ -0,0 +1,5 @@
1
+ import CodeBlockEditor_vue_vue_type_script_setup_true_lang_default from "./CodeBlockEditor.vue_vue_type_script_setup_true_lang.js";
2
+ //#region packages/editor/src/components/CodeBlockEditor.vue
3
+ var CodeBlockEditor_default = CodeBlockEditor_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { CodeBlockEditor_default as default };
@@ -0,0 +1,337 @@
1
+ import { getEditorConfig } from "../utils/config.js";
2
+ import { useServices } from "../hooks/use-services.js";
3
+ import { useWindowRect } from "../hooks/use-window-rect.js";
4
+ import { useEditorContentHeight } from "../hooks/use-editor-content-height.js";
5
+ import { useNextFloatBoxPosition } from "../hooks/use-next-float-box-position.js";
6
+ import CodeEditor_default from "../layouts/CodeEditor.js";
7
+ import FloatingBox_default from "./FloatingBox.js";
8
+ import { MFormBox } from "@tmagic/form";
9
+ import { TMagicButton, TMagicDialog, TMagicTag, tMagicMessage, tMagicMessageBox } from "@tmagic/design";
10
+ import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, isRef, mergeModels, nextTick, openBlock, ref, unref, useModel, useTemplateRef, watch, withCtx } from "vue";
11
+ //#region packages/editor/src/components/CodeBlockEditor.vue?vue&type=script&setup=true&lang.ts
12
+ var _hoisted_1 = { style: {
13
+ "display": "flex",
14
+ "margin-bottom": "10px"
15
+ } };
16
+ var _hoisted_2 = { style: { "flex": "1" } };
17
+ var _hoisted_3 = { style: { "flex": "1" } };
18
+ var _hoisted_4 = { class: "dialog-footer" };
19
+ var CodeBlockEditor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
20
+ name: "MEditorCodeBlockEditor",
21
+ __name: "CodeBlockEditor",
22
+ props: /* @__PURE__ */ mergeModels({
23
+ content: {},
24
+ disabled: { type: Boolean },
25
+ isDataSource: { type: Boolean },
26
+ dataSourceType: {}
27
+ }, {
28
+ "width": { default: 670 },
29
+ "widthModifiers": {},
30
+ "visible": {
31
+ type: Boolean,
32
+ default: false
33
+ },
34
+ "visibleModifiers": {}
35
+ }),
36
+ emits: /* @__PURE__ */ mergeModels([
37
+ "submit",
38
+ "close",
39
+ "open"
40
+ ], ["update:width", "update:visible"]),
41
+ setup(__props, { expose: __expose, emit: __emit }) {
42
+ const width = useModel(__props, "width");
43
+ const boxVisible = useModel(__props, "visible");
44
+ const props = __props;
45
+ const emit = __emit;
46
+ const { codeBlockService, uiService } = useServices();
47
+ const { height: codeBlockEditorHeight } = useEditorContentHeight();
48
+ const difVisible = ref(false);
49
+ const { rect: windowRect } = useWindowRect();
50
+ const magicVsEditorRef = useTemplateRef("magicVsEditor");
51
+ const diffChange = () => {
52
+ if (!magicVsEditorRef.value || !formBox.value?.form) return;
53
+ formBox.value.form.values.content = magicVsEditorRef.value.getEditorValue();
54
+ difVisible.value = false;
55
+ };
56
+ const defaultParamColConfig = {
57
+ type: "row",
58
+ label: "参数类型",
59
+ items: [{
60
+ text: "参数类型",
61
+ labelWidth: "70px",
62
+ type: "select",
63
+ name: "type",
64
+ options: [
65
+ {
66
+ text: "数字",
67
+ label: "数字",
68
+ value: "number"
69
+ },
70
+ {
71
+ text: "字符串",
72
+ label: "字符串",
73
+ value: "text"
74
+ },
75
+ {
76
+ text: "组件",
77
+ label: "组件",
78
+ value: "ui-select"
79
+ }
80
+ ]
81
+ }]
82
+ };
83
+ const functionConfig = computed(() => [
84
+ {
85
+ text: "名称",
86
+ name: "name",
87
+ rules: [{
88
+ required: true,
89
+ message: "请输入名称",
90
+ trigger: "blur"
91
+ }]
92
+ },
93
+ {
94
+ text: "描述",
95
+ name: "desc"
96
+ },
97
+ {
98
+ text: "执行时机",
99
+ name: "timing",
100
+ type: "select",
101
+ options: () => {
102
+ const options = [{
103
+ text: "初始化前",
104
+ value: "beforeInit"
105
+ }, {
106
+ text: "初始化后",
107
+ value: "afterInit"
108
+ }];
109
+ if (props.dataSourceType !== "base") {
110
+ options.push({
111
+ text: "请求前",
112
+ value: "beforeRequest"
113
+ });
114
+ options.push({
115
+ text: "请求后",
116
+ value: "afterRequest"
117
+ });
118
+ }
119
+ return options;
120
+ },
121
+ display: () => props.isDataSource
122
+ },
123
+ {
124
+ type: "table",
125
+ border: true,
126
+ text: "参数",
127
+ enableFullscreen: false,
128
+ enableToggleMode: false,
129
+ name: "params",
130
+ dropSort: false,
131
+ items: [
132
+ {
133
+ type: "text",
134
+ label: "参数名",
135
+ name: "name"
136
+ },
137
+ {
138
+ type: "text",
139
+ label: "描述",
140
+ name: "extra"
141
+ },
142
+ codeBlockService.getParamsColConfig() || defaultParamColConfig
143
+ ]
144
+ },
145
+ {
146
+ name: "content",
147
+ type: "vs-code",
148
+ options: inject("codeOptions", {}),
149
+ autosize: {
150
+ minRows: 10,
151
+ maxRows: 30
152
+ },
153
+ onChange: (formState, code) => {
154
+ try {
155
+ getEditorConfig("parseDSL")(code);
156
+ return code;
157
+ } catch (error) {
158
+ tMagicMessage.error(error.message);
159
+ throw error;
160
+ }
161
+ }
162
+ }
163
+ ]);
164
+ const parseContent = (content) => {
165
+ if (typeof content === "string") return getEditorConfig("parseDSL")(content);
166
+ return content;
167
+ };
168
+ const submitForm = (values, data) => {
169
+ changedValue.value = void 0;
170
+ emit("submit", {
171
+ ...values,
172
+ content: parseContent(values.content)
173
+ }, {
174
+ ...data,
175
+ changeRecords: data.changeRecords?.map((record) => {
176
+ let { value } = record;
177
+ if (record.propPath === "content" && typeof value === "string") value = parseContent(value);
178
+ return {
179
+ ...record,
180
+ value
181
+ };
182
+ })
183
+ });
184
+ };
185
+ const errorHandler = (error) => {
186
+ tMagicMessage.error(error.message);
187
+ };
188
+ const formBox = useTemplateRef("formBox");
189
+ const changedValue = ref();
190
+ const changeHandler = (values) => {
191
+ changedValue.value = values;
192
+ };
193
+ const beforeClose = (done) => {
194
+ if (!changedValue.value) {
195
+ done();
196
+ return;
197
+ }
198
+ tMagicMessageBox.confirm("当前代码块已修改,是否保存?", "提示", {
199
+ confirmButtonText: "保存并关闭",
200
+ cancelButtonText: "不保存并关闭",
201
+ type: "warning",
202
+ distinguishCancelAndClose: true
203
+ }).then(() => {
204
+ changedValue.value && submitForm(changedValue.value, { changeRecords: formBox.value?.form?.changeRecords });
205
+ done();
206
+ }).catch((action) => {
207
+ if (action === "cancel") {}
208
+ done(action === "cancel");
209
+ });
210
+ };
211
+ const closedHandler = () => {
212
+ changedValue.value = void 0;
213
+ };
214
+ const { boxPosition, calcBoxPosition } = useNextFloatBoxPosition(uiService, inject("parentFloating", ref(null)));
215
+ watch(boxVisible, (visible) => {
216
+ nextTick(() => {
217
+ if (!visible) emit("close");
218
+ else emit("open");
219
+ });
220
+ });
221
+ __expose({
222
+ async show() {
223
+ calcBoxPosition();
224
+ boxVisible.value = true;
225
+ },
226
+ async hide() {
227
+ boxVisible.value = false;
228
+ }
229
+ });
230
+ return (_ctx, _cache) => {
231
+ return openBlock(), createElementBlock(Fragment, null, [
232
+ createCommentVNode(" 代码块编辑区 "),
233
+ createVNode(FloatingBox_default, {
234
+ visible: boxVisible.value,
235
+ "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => boxVisible.value = $event),
236
+ width: width.value,
237
+ "onUpdate:width": _cache[2] || (_cache[2] = ($event) => width.value = $event),
238
+ height: unref(codeBlockEditorHeight),
239
+ "onUpdate:height": _cache[3] || (_cache[3] = ($event) => isRef(codeBlockEditorHeight) ? codeBlockEditorHeight.value = $event : null),
240
+ title: __props.content.name ? `${__props.disabled ? "查看" : "编辑"}${__props.content.name}` : "新增代码",
241
+ position: unref(boxPosition),
242
+ "before-close": beforeClose
243
+ }, {
244
+ body: withCtx(() => [createVNode(unref(MFormBox), {
245
+ class: "m-editor-code-block-editor",
246
+ ref_key: "formBox",
247
+ ref: formBox,
248
+ "label-width": "80px",
249
+ "close-on-press-escape": false,
250
+ title: __props.content.name,
251
+ config: functionConfig.value,
252
+ values: __props.content,
253
+ disabled: __props.disabled,
254
+ style: { "height": "100%" },
255
+ onChange: changeHandler,
256
+ onSubmit: submitForm,
257
+ onError: errorHandler,
258
+ onClosed: closedHandler
259
+ }, {
260
+ left: withCtx(() => [!__props.disabled ? (openBlock(), createBlock(unref(TMagicButton), {
261
+ key: 0,
262
+ type: "primary",
263
+ link: "",
264
+ onClick: _cache[0] || (_cache[0] = ($event) => difVisible.value = true)
265
+ }, {
266
+ default: withCtx(() => [..._cache[6] || (_cache[6] = [createTextVNode("查看修改", -1)])]),
267
+ _: 1
268
+ })) : createCommentVNode("v-if", true)]),
269
+ _: 1
270
+ }, 8, [
271
+ "title",
272
+ "config",
273
+ "values",
274
+ "disabled"
275
+ ])]),
276
+ _: 1
277
+ }, 8, [
278
+ "visible",
279
+ "width",
280
+ "height",
281
+ "title",
282
+ "position"
283
+ ]),
284
+ (openBlock(), createBlock(Teleport, { to: "body" }, [createVNode(unref(TMagicDialog), {
285
+ title: "查看修改",
286
+ modelValue: difVisible.value,
287
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => difVisible.value = $event),
288
+ fullscreen: "",
289
+ "destroy-on-close": ""
290
+ }, {
291
+ footer: withCtx(() => [createElementVNode("span", _hoisted_4, [createVNode(unref(TMagicButton), {
292
+ size: "small",
293
+ onClick: _cache[4] || (_cache[4] = ($event) => difVisible.value = false)
294
+ }, {
295
+ default: withCtx(() => [..._cache[9] || (_cache[9] = [createTextVNode("取消", -1)])]),
296
+ _: 1
297
+ }), createVNode(unref(TMagicButton), {
298
+ size: "small",
299
+ type: "primary",
300
+ onClick: diffChange
301
+ }, {
302
+ default: withCtx(() => [..._cache[10] || (_cache[10] = [createTextVNode("确定", -1)])]),
303
+ _: 1
304
+ })])]),
305
+ default: withCtx(() => [createElementVNode("div", _hoisted_1, [createElementVNode("div", _hoisted_2, [createVNode(unref(TMagicTag), {
306
+ size: "small",
307
+ type: "info"
308
+ }, {
309
+ default: withCtx(() => [..._cache[7] || (_cache[7] = [createTextVNode("修改前", -1)])]),
310
+ _: 1
311
+ })]), createElementVNode("div", _hoisted_3, [createVNode(unref(TMagicTag), {
312
+ size: "small",
313
+ type: "success"
314
+ }, {
315
+ default: withCtx(() => [..._cache[8] || (_cache[8] = [createTextVNode("修改后", -1)])]),
316
+ _: 1
317
+ })])]), createVNode(CodeEditor_default, {
318
+ ref: "magicVsEditor",
319
+ type: "diff",
320
+ language: "json",
321
+ "disabled-full-screen": true,
322
+ initValues: __props.content.content,
323
+ modifiedValues: formBox.value?.form?.values.content,
324
+ height: `${unref(windowRect).height - 150}px`
325
+ }, null, 8, [
326
+ "initValues",
327
+ "modifiedValues",
328
+ "height"
329
+ ])]),
330
+ _: 1
331
+ }, 8, ["modelValue"])]))
332
+ ], 64);
333
+ };
334
+ }
335
+ });
336
+ //#endregion
337
+ export { CodeBlockEditor_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,5 @@
1
+ import CodeParams_vue_vue_type_script_setup_true_lang_default from "./CodeParams.vue_vue_type_script_setup_true_lang.js";
2
+ //#region packages/editor/src/components/CodeParams.vue
3
+ var CodeParams_default = CodeParams_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { CodeParams_default as default };
@@ -0,0 +1,63 @@
1
+ import { error } from "../utils/logger.js";
2
+ import { MForm } from "@tmagic/form";
3
+ import { computed, createBlock, defineComponent, openBlock, unref, useTemplateRef } from "vue";
4
+ //#region packages/editor/src/components/CodeParams.vue?vue&type=script&setup=true&lang.ts
5
+ var CodeParams_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
6
+ name: "MEditorCodeParams",
7
+ __name: "CodeParams",
8
+ props: {
9
+ model: {},
10
+ size: {},
11
+ disabled: { type: Boolean },
12
+ name: {},
13
+ paramsConfig: {}
14
+ },
15
+ emits: ["change"],
16
+ setup(__props, { emit: __emit }) {
17
+ const props = __props;
18
+ const emit = __emit;
19
+ const formRef = useTemplateRef("form");
20
+ const getFormConfig = (items = []) => [{
21
+ type: "fieldset",
22
+ items,
23
+ legend: "参数",
24
+ labelWidth: "120px",
25
+ name: props.name
26
+ }];
27
+ const codeParamsConfig = computed(() => getFormConfig(props.paramsConfig.map(({ name, text, extra, ...config }) => ({
28
+ type: "data-source-field-select",
29
+ name,
30
+ text,
31
+ extra,
32
+ fieldConfig: config
33
+ }))));
34
+ /**
35
+ * 参数值修改更新
36
+ */
37
+ const onParamsChangeHandler = async (v, eventData) => {
38
+ try {
39
+ emit("change", await formRef.value?.submitForm(true), eventData);
40
+ } catch (e) {
41
+ error(e);
42
+ }
43
+ };
44
+ return (_ctx, _cache) => {
45
+ return openBlock(), createBlock(unref(MForm), {
46
+ ref: "form",
47
+ config: codeParamsConfig.value,
48
+ "init-values": __props.model,
49
+ disabled: __props.disabled,
50
+ size: __props.size,
51
+ "watch-props": false,
52
+ onChange: onParamsChangeHandler
53
+ }, null, 8, [
54
+ "config",
55
+ "init-values",
56
+ "disabled",
57
+ "size"
58
+ ]);
59
+ };
60
+ }
61
+ });
62
+ //#endregion
63
+ export { CodeParams_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,5 @@
1
+ import ContentMenu_vue_vue_type_script_setup_true_lang_default from "./ContentMenu.vue_vue_type_script_setup_true_lang.js";
2
+ //#region packages/editor/src/components/ContentMenu.vue
3
+ var ContentMenu_default = ContentMenu_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { ContentMenu_default as default };