@tmagic/editor 1.8.0-manmanyu.9 → 1.8.1

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 (279) 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 -122
  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 +8 -9
  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 +155 -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 +16 -8
  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 +1 -1
  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 +11 -13
  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/useHistoryRevert.js +38 -33
  106. package/dist/es/layouts/page-bar/AddButton.vue_vue_type_script_setup_true_lang.js +1 -1
  107. package/dist/es/layouts/page-bar/PageBar.vue_vue_type_script_setup_true_lang.js +1 -1
  108. package/dist/es/layouts/page-bar/PageBarScrollContainer.vue_vue_type_script_setup_true_lang.js +1 -1
  109. package/dist/es/layouts/page-bar/PageList.vue_vue_type_script_setup_true_lang.js +1 -1
  110. package/dist/es/layouts/page-bar/Search.vue_vue_type_script_setup_true_lang.js +2 -2
  111. package/dist/es/layouts/props-panel/FormPanel.vue_vue_type_script_setup_true_lang.js +50 -20
  112. package/dist/es/layouts/props-panel/PropsPanel.vue_vue_type_script_setup_true_lang.js +53 -35
  113. package/dist/es/layouts/props-panel/use-style-panel.js +3 -2
  114. package/dist/es/layouts/sidebar/ComponentListPanel.vue_vue_type_script_setup_true_lang.js +3 -3
  115. package/dist/es/layouts/sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +21 -36
  116. package/dist/es/layouts/sidebar/code-block/CodeBlockList.vue_vue_type_script_setup_true_lang.js +1 -1
  117. package/dist/es/layouts/sidebar/code-block/CodeBlockListPanel.vue_vue_type_script_setup_true_lang.js +4 -4
  118. package/dist/es/layouts/sidebar/code-block/useContentMenu.js +19 -4
  119. package/dist/es/layouts/sidebar/data-source/DataSourceAddButton.vue_vue_type_script_setup_true_lang.js +1 -1
  120. package/dist/es/layouts/sidebar/data-source/DataSourceConfigPanel.vue_vue_type_script_setup_true_lang.js +9 -4
  121. package/dist/es/layouts/sidebar/data-source/DataSourceList.vue_vue_type_script_setup_true_lang.js +1 -1
  122. package/dist/es/layouts/sidebar/data-source/DataSourceListPanel.vue_vue_type_script_setup_true_lang.js +4 -4
  123. package/dist/es/layouts/sidebar/data-source/useContentMenu.js +19 -4
  124. package/dist/es/layouts/sidebar/layer/LayerMenu.vue_vue_type_script_setup_true_lang.js +3 -3
  125. package/dist/es/layouts/sidebar/layer/LayerNodeContent.js +5 -0
  126. package/dist/es/layouts/sidebar/layer/LayerNodeContent.vue_vue_type_script_setup_true_lang.js +46 -0
  127. package/dist/es/layouts/sidebar/layer/LayerNodeTool.vue_vue_type_script_setup_true_lang.js +1 -1
  128. package/dist/es/layouts/sidebar/layer/LayerPanel.vue_vue_type_script_setup_true_lang.js +6 -4
  129. package/dist/es/layouts/sidebar/layer/use-click.js +3 -3
  130. package/dist/es/layouts/sidebar/layer/use-drag.js +11 -10
  131. package/dist/es/layouts/sidebar/layer/use-node-status.js +2 -2
  132. package/dist/es/layouts/workspace/Breadcrumb.vue_vue_type_script_setup_true_lang.js +1 -1
  133. package/dist/es/layouts/workspace/Workspace.vue_vue_type_script_setup_true_lang.js +1 -1
  134. package/dist/es/layouts/workspace/viewer/NodeListMenu.vue_vue_type_script_setup_true_lang.js +9 -3
  135. package/dist/es/layouts/workspace/viewer/Stage.vue_vue_type_script_setup_true_lang.js +55 -9
  136. package/dist/es/layouts/workspace/viewer/StageOverlay.vue_vue_type_script_setup_true_lang.js +1 -1
  137. package/dist/es/layouts/workspace/viewer/ViewerMenu.vue_vue_type_script_setup_true_lang.js +8 -8
  138. package/dist/es/plugin.js +35 -23
  139. package/dist/es/services/codeBlock.js +8 -3
  140. package/dist/es/services/dataSource.js +3 -0
  141. package/dist/es/services/dep.js +162 -41
  142. package/dist/es/services/editor.js +344 -113
  143. package/dist/es/services/events.js +4 -4
  144. package/dist/es/services/history.js +17 -1
  145. package/dist/es/services/keybinding.js +3 -3
  146. package/dist/es/services/props.js +2 -1
  147. package/dist/es/services/storage.js +2 -2
  148. package/dist/es/services/ui.js +7 -2
  149. package/dist/es/style.css +277 -114
  150. package/dist/es/utils/code-block.js +14 -7
  151. package/dist/es/utils/config.js +4 -1
  152. package/dist/es/utils/const.js +2 -2
  153. package/dist/es/utils/content-menu.js +2 -2
  154. package/dist/es/utils/data-source/index.js +69 -13
  155. package/dist/es/utils/dep/collect-worker-client.js +154 -0
  156. package/dist/es/utils/dep/idle-task.js +70 -22
  157. package/dist/es/utils/dep/worker.js +1 -1
  158. package/dist/es/utils/editor.js +4 -2
  159. package/dist/es/utils/event.js +135 -0
  160. package/dist/es/utils/monaco-editor.js +22 -6
  161. package/dist/es/utils/operator.js +2 -2
  162. package/dist/es/utils/props.js +50 -106
  163. package/dist/es/utils/type-match-rules.js +364 -0
  164. package/dist/style.css +277 -114
  165. package/dist/themes/magic-admin.css +978 -175
  166. package/dist/tmagic-editor-headless.umd.cjs +10919 -0
  167. package/dist/tmagic-editor.umd.cjs +12507 -10673
  168. package/package.json +18 -13
  169. package/src/Editor.vue +23 -6
  170. package/src/components/CodeBlockEditor.vue +3 -0
  171. package/src/components/CodeParams.vue +10 -4
  172. package/src/components/CompareForm.vue +20 -190
  173. package/src/components/ContentMenu.vue +34 -6
  174. package/src/components/FloatingBox.vue +71 -7
  175. package/src/components/ScrollBar.vue +0 -67
  176. package/src/components/ViewForm.vue +54 -0
  177. package/src/editorProps.ts +23 -10
  178. package/src/fields/Code.vue +1 -1
  179. package/src/fields/CodeSelect.vue +20 -113
  180. package/src/fields/CodeSelectCol.vue +1 -1
  181. package/src/fields/CondOpSelect.vue +5 -26
  182. package/src/fields/DataSourceFieldSelect/FieldSelect.vue +2 -2
  183. package/src/fields/DataSourceFieldSelect/Index.vue +15 -12
  184. package/src/fields/DataSourceFields.vue +5 -1
  185. package/src/fields/DataSourceInput.vue +10 -28
  186. package/src/fields/DataSourceMethodSelect.vue +1 -1
  187. package/src/fields/DataSourceMethods.vue +6 -2
  188. package/src/fields/DataSourceMocks.vue +3 -0
  189. package/src/fields/DataSourceSelect.vue +1 -1
  190. package/src/fields/DisplayConds.vue +17 -139
  191. package/src/fields/EventSelect.vue +29 -416
  192. package/src/fields/KeyValue.vue +1 -1
  193. package/src/fields/StyleSetter/Index.vue +2 -8
  194. package/src/fields/StyleSetter/components/Border.vue +4 -38
  195. package/src/fields/StyleSetter/components/Box.vue +1 -1
  196. package/src/fields/StyleSetter/components/Position.vue +1 -1
  197. package/src/fields/StyleSetter/configs.ts +690 -0
  198. package/src/fields/StyleSetter/pro/Background.vue +9 -64
  199. package/src/fields/StyleSetter/pro/Border.vue +5 -16
  200. package/src/fields/StyleSetter/pro/Font.vue +11 -71
  201. package/src/fields/StyleSetter/pro/Layout.vue +10 -230
  202. package/src/fields/StyleSetter/pro/Position.vue +11 -82
  203. package/src/fields/StyleSetter/pro/Transform.vue +6 -34
  204. package/src/fields/UISelect.vue +0 -12
  205. package/src/fields/configs/codeSelect.ts +127 -0
  206. package/src/fields/configs/displayConds.ts +184 -0
  207. package/src/fields/configs/eventSelect.ts +309 -0
  208. package/src/fields/configs/stickyAddButton.ts +32 -0
  209. package/src/fields/headless-validation.ts +177 -0
  210. package/src/headless.ts +33 -0
  211. package/src/hooks/index.ts +1 -0
  212. package/src/hooks/use-compare-form.ts +166 -0
  213. package/src/hooks/use-form-context.ts +56 -0
  214. package/src/hooks/use-stage.ts +1 -0
  215. package/src/index.ts +9 -0
  216. package/src/initService.ts +73 -18
  217. package/src/layouts/CodeEditor.vue +32 -6
  218. package/src/layouts/Framework.vue +7 -6
  219. package/src/layouts/history-list/BucketTab.vue +2 -2
  220. package/src/layouts/history-list/HistoryDiffDialog.vue +33 -15
  221. package/src/layouts/history-list/HistoryListPanel.vue +16 -18
  222. package/src/layouts/history-list/useHistoryRevert.ts +57 -41
  223. package/src/layouts/props-panel/FormPanel.vue +75 -20
  224. package/src/layouts/props-panel/PropsPanel.vue +81 -30
  225. package/src/layouts/props-panel/use-style-panel.ts +4 -3
  226. package/src/layouts/sidebar/ComponentListPanel.vue +6 -2
  227. package/src/layouts/sidebar/Sidebar.vue +5 -3
  228. package/src/layouts/sidebar/code-block/CodeBlockListPanel.vue +5 -2
  229. package/src/layouts/sidebar/code-block/useContentMenu.ts +14 -2
  230. package/src/layouts/sidebar/data-source/DataSourceConfigPanel.vue +3 -0
  231. package/src/layouts/sidebar/data-source/DataSourceListPanel.vue +3 -3
  232. package/src/layouts/sidebar/data-source/useContentMenu.ts +14 -2
  233. package/src/layouts/sidebar/layer/LayerMenu.vue +2 -2
  234. package/src/layouts/sidebar/layer/LayerNodeContent.vue +57 -0
  235. package/src/layouts/sidebar/layer/LayerPanel.vue +5 -2
  236. package/src/layouts/sidebar/layer/use-click.ts +3 -3
  237. package/src/layouts/sidebar/layer/use-node-status.ts +2 -2
  238. package/src/layouts/workspace/viewer/NodeListMenu.vue +4 -1
  239. package/src/layouts/workspace/viewer/Stage.vue +80 -10
  240. package/src/layouts/workspace/viewer/ViewerMenu.vue +7 -7
  241. package/src/plugin.ts +35 -25
  242. package/src/services/codeBlock.ts +4 -0
  243. package/src/services/dataSource.ts +3 -0
  244. package/src/services/dep.ts +292 -47
  245. package/src/services/editor.ts +383 -120
  246. package/src/services/events.ts +8 -7
  247. package/src/services/history.ts +22 -1
  248. package/src/services/keybinding.ts +3 -3
  249. package/src/services/ui.ts +26 -5
  250. package/src/theme/code-block.scss +0 -37
  251. package/src/theme/display-conds.scss +4 -0
  252. package/src/theme/event.scss +25 -33
  253. package/src/theme/floating-box.scss +9 -1
  254. package/src/theme/framework.scss +4 -1
  255. package/src/theme/layer-node-content.scss +14 -0
  256. package/src/theme/nav-menu.scss +5 -1
  257. package/src/theme/props-panel.scss +17 -3
  258. package/src/theme/scroll-bar.scss +64 -0
  259. package/src/theme/theme.scss +3 -0
  260. package/src/theme/themes/magic-admin/index.scss +109 -9
  261. package/src/theme/ui-select.scss +9 -0
  262. package/src/type.ts +216 -6
  263. package/src/utils/code-block.ts +1 -0
  264. package/src/utils/config.ts +9 -1
  265. package/src/utils/const.ts +3 -3
  266. package/src/utils/content-menu.ts +2 -2
  267. package/src/utils/data-source/index.ts +82 -11
  268. package/src/utils/dep/collect-worker-client.ts +215 -0
  269. package/src/utils/dep/idle-task.ts +104 -35
  270. package/src/utils/dep/worker.ts +113 -9
  271. package/src/utils/event.ts +237 -0
  272. package/src/utils/index.ts +2 -0
  273. package/src/utils/monaco-editor.ts +27 -0
  274. package/src/utils/operator.ts +2 -2
  275. package/src/utils/props.ts +61 -122
  276. package/src/utils/type-match-rules.ts +733 -0
  277. package/types/headless.d.ts +17 -0
  278. package/types/index.d.ts +1207 -724
  279. package/src/fields/StyleSetter/icons/align-items/index copy.ts +0 -5
@@ -1,8 +1,8 @@
1
1
  import { useServices } from "../hooks/use-services.js";
2
- import { getDisplayField } from "../utils/data-source/index.js";
2
+ import { getDisplayField, resolveFieldByPath } from "../utils/data-source/index.js";
3
3
  import Icon_default from "../components/Icon.js";
4
4
  import { TMagicInput, TMagicTag, getDesignConfig } from "@tmagic/design";
5
- import { getKeysArray, isNumber } from "@tmagic/utils";
5
+ import { getKeysArray } from "@tmagic/utils";
6
6
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, nextTick, normalizeClass, openBlock, ref, renderList, resolveDynamicComponent, toDisplayString, unref, useTemplateRef, watch, withCtx } from "vue";
7
7
  import { Coin } from "@element-plus/icons-vue";
8
8
  //#region packages/editor/src/fields/DataSourceInput.vue?vue&type=script&setup=true&lang.ts
@@ -15,7 +15,7 @@ var _hoisted_2 = { style: {
15
15
  "font-size": "10px",
16
16
  "color": "rgba(0, 0, 0, 0.6)"
17
17
  } };
18
- var DataSourceInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
18
+ var DataSourceInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
19
19
  name: "MFieldsDataSourceInput",
20
20
  __name: "DataSourceInput",
21
21
  props: {
@@ -128,30 +128,19 @@ var DataSourceInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
128
128
  */
129
129
  const fieldQuerySearch = (queryString, leftAngleIndex, dotIndex, cb) => {
130
130
  let result = [];
131
- const keys = getKeysArray(queryString.substring(leftAngleIndex + 1, dotIndex));
131
+ const dsKey = queryString.substring(leftAngleIndex + 1, dotIndex);
132
+ const keys = getKeysArray(dsKey);
132
133
  const dsId = keys.shift();
133
134
  const ds = dataSources.value.find((ds) => ds.id === dsId);
134
135
  if (!ds) {
135
136
  cb([]);
136
137
  return;
137
138
  }
138
- let fields = ds.fields || [];
139
- let key = keys.shift();
140
- while (key) {
141
- if (isNumber(key)) {
142
- key = keys.shift();
143
- continue;
144
- }
145
- for (const field of fields) if (field.name === key) {
146
- fields = field.fields || [];
147
- key = keys.shift();
148
- break;
149
- }
150
- }
151
- if (curCharIsDot(dotIndex)) result = fields || [];
139
+ const { fields } = resolveFieldByPath(ds.fields, keys, { skipNumberIndices: true });
140
+ if (curCharIsDot(dotIndex)) result = fields;
152
141
  else if (dotIndex > -1) {
153
142
  const queryName = queryString.substring(dotIndex + 1).toLowerCase();
154
- result = fields.filter((field) => field.name?.toLowerCase().includes(queryName) || field.title?.toLowerCase().includes(queryName)) || [];
143
+ result = fields.filter((field) => field.name?.toLowerCase().includes(queryName) || field.title?.toLowerCase().includes(queryName));
155
144
  }
156
145
  cb(result.map((field) => ({
157
146
  value: field.name,
@@ -230,7 +219,7 @@ var DataSourceInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
230
219
  onSelect: selectHandler
231
220
  }), {
232
221
  suffix: withCtx(() => [createVNode(Icon_default, { icon: unref(Coin) }, null, 8, ["icon"])]),
233
- default: withCtx(({ item }) => [createElementVNode("div", _hoisted_1, [createElementVNode("div", null, toDisplayString(item.text), 1), createElementVNode("span", _hoisted_2, toDisplayString(item.value), 1)])]),
222
+ default: withCtx((slotProps) => [createElementVNode("div", _hoisted_1, [createElementVNode("div", null, toDisplayString(slotProps?.item?.text || ""), 1), createElementVNode("span", _hoisted_2, toDisplayString(slotProps?.item?.value || ""), 1)])]),
234
223
  _: 1
235
224
  }, 16, ["modelValue"])) : (openBlock(), createElementBlock("div", {
236
225
  key: 2,
@@ -11,7 +11,7 @@ import { Edit, View } from "@element-plus/icons-vue";
11
11
  //#region packages/editor/src/fields/DataSourceMethodSelect.vue?vue&type=script&setup=true&name=true&lang.ts
12
12
  var _hoisted_1 = { class: "m-fields-data-source-method-select" };
13
13
  var _hoisted_2 = { class: "data-source-method-select-container" };
14
- var DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default = /* @__PURE__ */ defineComponent({
14
+ var DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default = /*@__PURE__*/ defineComponent({
15
15
  name: "MFieldsDataSourceMethodSelect",
16
16
  __name: "DataSourceMethodSelect",
17
17
  props: {
@@ -36,7 +36,7 @@ var DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default
36
36
  setup(__props, { emit: __emit }) {
37
37
  const { dataSourceService, uiService } = useServices();
38
38
  const mForm = inject("mForm");
39
- const eventBus = inject("eventBus");
39
+ const eventBus = inject("eventBus", null);
40
40
  const emit = __emit;
41
41
  const props = __props;
42
42
  const dataSourceSidePanel = computed(() => (uiService.get("sideBarItems") || []).find((item) => item.$key === SideItemKey.DATA_SOURCE));
@@ -9,7 +9,7 @@ var _hoisted_2 = {
9
9
  key: 0,
10
10
  class: "m-editor-data-source-methods-footer"
11
11
  };
12
- var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
12
+ var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
13
13
  name: "MFieldsDataSourceMethods",
14
14
  __name: "DataSourceMethods",
15
15
  props: {
@@ -42,8 +42,10 @@ var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
42
42
  let editIndex = -1;
43
43
  const editMethod = (method, index) => {
44
44
  let codeContent = "({ params, dataSource, app }) => {\n // place your code here\n}";
45
- if (method.content) if (typeof method.content !== "string") codeContent = method.content.toString();
46
- else codeContent = method.content;
45
+ if (method.content) {
46
+ if (typeof method.content !== "string") codeContent = method.content.toString();
47
+ else codeContent = method.content;
48
+ }
47
49
  codeConfig.value = {
48
50
  ...cloneDeep(method),
49
51
  content: codeContent
@@ -14,10 +14,10 @@ var _hoisted_2 = {
14
14
  key: 0,
15
15
  class: "m-editor-data-source-fields-footer"
16
16
  };
17
- var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
17
+ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
18
18
  name: "MFieldsDataSourceMocks",
19
19
  __name: "DataSourceMocks",
20
- props: /* @__PURE__ */ mergeModels({
20
+ props: /*@__PURE__*/ mergeModels({
21
21
  config: {},
22
22
  model: {},
23
23
  initValues: {},
@@ -43,7 +43,7 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
43
43
  },
44
44
  "visibleModifiers": {}
45
45
  }),
46
- emits: /* @__PURE__ */ mergeModels(["change"], ["update:width", "update:visible"]),
46
+ emits: /*@__PURE__*/ mergeModels(["change"], ["update:width", "update:visible"]),
47
47
  setup(__props, { emit: __emit }) {
48
48
  const props = __props;
49
49
  const emit = __emit;
@@ -215,7 +215,9 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
215
215
  };
216
216
  const addDialogVisible = useModel(__props, "visible");
217
217
  const { height: editorHeight } = useEditorContentHeight();
218
- const { boxPosition, calcBoxPosition } = useNextFloatBoxPosition(uiService, inject("parentFloating", ref(null)));
218
+ const parentFloating = inject("parentFloating", ref(null));
219
+ const { boxPosition, calcBoxPosition } = useNextFloatBoxPosition(uiService, parentFloating);
220
+ const frameworkWidth = computed(() => uiService.get("frameworkRect")?.width || 0);
219
221
  return (_ctx, _cache) => {
220
222
  return openBlock(), createElementBlock("div", _hoisted_1, [
221
223
  createVNode(unref(MagicTable), {
@@ -233,6 +235,7 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
233
235
  _: 1
234
236
  }, 8, ["disabled"])])) : createCommentVNode("v-if", true),
235
237
  createVNode(FloatingBox_default, {
238
+ "body-style": { padding: "0 16px" },
236
239
  visible: addDialogVisible.value,
237
240
  "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => addDialogVisible.value = $event),
238
241
  width: width.value,
@@ -240,6 +243,7 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
240
243
  height: unref(editorHeight),
241
244
  "onUpdate:height": _cache[3] || (_cache[3] = ($event) => isRef(editorHeight) ? editorHeight.value = $event : null),
242
245
  title: drawerTitle.value,
246
+ "framework-width": frameworkWidth.value,
243
247
  position: unref(boxPosition)
244
248
  }, {
245
249
  body: withCtx(() => [createVNode(unref(MFormBox), {
@@ -260,6 +264,7 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
260
264
  "width",
261
265
  "height",
262
266
  "title",
267
+ "framework-width",
263
268
  "position"
264
269
  ])
265
270
  ]);
@@ -7,7 +7,7 @@ import { computed, createBlock, createCommentVNode, createElementBlock, createVN
7
7
  import { Edit, View } from "@element-plus/icons-vue";
8
8
  //#region packages/editor/src/fields/DataSourceSelect.vue?vue&type=script&setup=true&lang.ts
9
9
  var _hoisted_1 = { class: "m-fields-data-source-select" };
10
- var DataSourceSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
10
+ var DataSourceSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
11
11
  name: "MFieldsDataSourceSelect",
12
12
  __name: "DataSourceSelect",
13
13
  props: {
@@ -34,7 +34,7 @@ var DataSourceSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
34
34
  const props = __props;
35
35
  const mForm = inject("mForm");
36
36
  const { dataSourceService, uiService } = useServices();
37
- const eventBus = inject("eventBus");
37
+ const eventBus = inject("eventBus", null);
38
38
  const dataSources = computed(() => dataSourceService.get("dataSources"));
39
39
  const notEditable = computed(() => filterFunction(mForm, props.config.notEditable, props));
40
40
  /** 对比模式下隐藏查看/编辑操作按钮,仅保留只读展示。 */
@@ -1,9 +1,9 @@
1
- import { useServices } from "../hooks/use-services.js";
2
- import { getCascaderOptionsFromFields, getFieldType } from "../utils/data-source/index.js";
1
+ import { createDisplayCondsConfig } from "./configs/displayConds.js";
3
2
  import { MGroupList, filterFunction } from "@tmagic/form";
4
- import { computed, createBlock, defineComponent, inject, openBlock, unref } from "vue";
3
+ import { computed, createElementBlock, createVNode, defineComponent, inject, openBlock, unref } from "vue";
5
4
  //#region packages/editor/src/fields/DisplayConds.vue?vue&type=script&setup=true&lang.ts
6
- var DisplayConds_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
5
+ var _hoisted_1 = { class: "m-fields-display-conds" };
6
+ var DisplayConds_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
7
7
  name: "m-fields-display-conds",
8
8
  __name: "DisplayConds",
9
9
  props: {
@@ -28,122 +28,21 @@ var DisplayConds_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
28
28
  setup(__props, { emit: __emit }) {
29
29
  const emit = __emit;
30
30
  const props = __props;
31
- const { dataSourceService } = useServices();
32
31
  const mForm = inject("mForm");
33
32
  const parentFields = computed(() => filterFunction(mForm, props.config.parentFields, props) || []);
34
- const fieldOnChange = (_formState, v, { model }) => {
35
- const [id, ...fieldNames] = [...parentFields.value, ...v];
36
- const type = getFieldType(dataSourceService.getDataSourceById(id), fieldNames);
37
- if (type === "number") model.value = Number(model.value);
38
- else if (type === "boolean") model.value = Boolean(model.value);
39
- else if (type === "null") model.value = null;
40
- else model.value = `${model.value}`;
41
- return v;
42
- };
43
- const config = computed(() => ({
44
- type: "groupList",
45
- name: props.name,
46
- titlePrefix: props.config.titlePrefix,
47
- expandAll: true,
48
- enableToggleMode: false,
49
- flat: props.config.flat,
50
- items: [{
51
- type: "table",
52
- name: "cond",
53
- operateColWidth: props.config.operateColWidth,
54
- enableToggleMode: false,
55
- fixed: props.config.fixed,
56
- flat: props.config.flat,
57
- items: [
58
- parentFields.value.length ? {
59
- type: "cascader",
60
- options: () => {
61
- const [dsId, ...keys] = parentFields.value;
62
- const ds = dataSourceService.getDataSourceById(dsId);
63
- if (!ds) return [];
64
- let fields = ds.fields || [];
65
- keys.forEach((key) => {
66
- fields = fields.find((f) => f.name === key)?.fields || [];
67
- });
68
- return getCascaderOptionsFromFields(fields, [
69
- "string",
70
- "number",
71
- "boolean",
72
- "any"
73
- ]);
74
- },
75
- name: "field",
76
- value: "key",
77
- label: "字段",
78
- checkStrictly: false,
79
- onChange: fieldOnChange
80
- } : {
81
- type: "data-source-field-select",
82
- name: "field",
83
- value: "key",
84
- label: "字段",
85
- checkStrictly: false,
86
- dataSourceFieldType: [
87
- "string",
88
- "number",
89
- "boolean",
90
- "any"
91
- ],
92
- onChange: fieldOnChange
93
- },
94
- {
95
- type: "cond-op-select",
96
- parentFields: parentFields.value,
97
- label: "条件",
98
- width: 140,
99
- name: "op"
100
- },
101
- {
102
- label: "值",
103
- width: 160,
104
- items: [{
105
- name: "value",
106
- type: (_mForm, { model }) => {
107
- const [id, ...fieldNames] = [...parentFields.value, ...model.field];
108
- const type = getFieldType(dataSourceService.getDataSourceById(id), fieldNames);
109
- if (type === "number") return "number";
110
- if (type === "boolean") return "select";
111
- if (type === "null") return "display";
112
- return "text";
113
- },
114
- options: [{
115
- text: "true",
116
- value: true
117
- }, {
118
- text: "false",
119
- value: false
120
- }],
121
- display: (_mForm, { model }) => !["between", "not_between"].includes(model.op),
122
- displayText: (_mForm, { model }) => {
123
- if (model.value === null) return "null";
124
- return model.value;
125
- }
126
- }, {
127
- name: "range",
128
- type: "number-range",
129
- display: (vm, { model }) => ["between", "not_between"].includes(model.op)
130
- }]
131
- }
132
- ]
133
- }]
134
- }));
33
+ const config = computed(() => createDisplayCondsConfig(props.config, props.name, parentFields.value));
34
+ const isCompareMode = computed(() => Boolean(props.isCompare && props.lastValues));
135
35
  const changeHandler = (v, eventData) => {
136
- if (!Array.isArray(props.model[props.name])) props.model[props.name] = [];
137
36
  emit("change", v, eventData);
138
37
  };
139
38
  return (_ctx, _cache) => {
140
- return openBlock(), createBlock(unref(MGroupList), {
141
- style: { "width": "100%" },
39
+ return openBlock(), createElementBlock("div", _hoisted_1, [createVNode(unref(MGroupList), {
142
40
  config: config.value,
143
41
  name: __props.name,
144
42
  disabled: __props.disabled,
145
43
  model: __props.model,
146
44
  "last-values": __props.lastValues,
45
+ "is-compare": isCompareMode.value,
147
46
  prop: __props.prop,
148
47
  size: __props.size,
149
48
  onChange: changeHandler
@@ -153,9 +52,10 @@ var DisplayConds_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
153
52
  "disabled",
154
53
  "model",
155
54
  "last-values",
55
+ "is-compare",
156
56
  "prop",
157
57
  "size"
158
- ]);
58
+ ])]);
159
59
  };
160
60
  }
161
61
  });