@epxing/designer 5.3.0-beta.1 → 5.3.0-beta.3

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 (249) hide show
  1. package/API.md +5 -4
  2. package/README.md +46 -45
  3. package/dist/src/index.js +1 -0
  4. package/dist/src/page-designer/PageConfigPreview.js +1 -0
  5. package/dist/src/page-designer/PageDesigner.js +12 -0
  6. package/dist/src/page-designer/designer.js +22 -0
  7. package/dist/src/page-designer/index.js +1 -0
  8. package/dist/src/page-designer/mixins/dragSourceMixin.js +1 -0
  9. package/dist/src/page-designer/page-variable-panel/JsonEditor.js +1 -0
  10. package/dist/src/page-designer/page-variable-panel/PageVariablePanel.js +1 -0
  11. package/dist/src/page-designer/page-variable-panel/index.js +1 -0
  12. package/dist/src/page-designer/page-variable-panel/jsonlint.js +1 -0
  13. package/dist/src/page-designer/previews/add-form/Preview.js +2 -1
  14. package/dist/src/page-designer/previews/add-form/Preview.vue.js +19 -8
  15. package/dist/src/page-designer/previews/add-form-item/Preview.js +1 -0
  16. package/dist/src/page-designer/previews/button/Preview.js +1 -0
  17. package/dist/src/page-designer/previews/card/Preview.js +1 -0
  18. package/dist/src/page-designer/previews/carousel/CarouselItemPreview.js +1 -0
  19. package/dist/src/page-designer/previews/carousel/Preview.js +1 -0
  20. package/dist/src/page-designer/previews/collapse/CollapseItemPreview.js +1 -0
  21. package/dist/src/page-designer/previews/collapse/Preview.js +1 -0
  22. package/dist/src/page-designer/previews/dropdown/Preview.js +1 -0
  23. package/dist/src/page-designer/previews/entity-list/Preview.js +1 -0
  24. package/dist/src/page-designer/previews/entity-sub-list/Preview.js +1 -0
  25. package/dist/src/page-designer/previews/entity-virtual-list/Preview.js +1 -0
  26. package/dist/src/page-designer/previews/form-field/preview/Checkbox.js +1 -0
  27. package/dist/src/page-designer/previews/form-field/preview/Date.js +1 -0
  28. package/dist/src/page-designer/previews/form-field/preview/Input.js +1 -0
  29. package/dist/src/page-designer/previews/form-field/preview/InputNumber.js +1 -0
  30. package/dist/src/page-designer/previews/form-field/preview/Object.js +1 -0
  31. package/dist/src/page-designer/previews/form-field/preview/Radio.js +1 -0
  32. package/dist/src/page-designer/previews/form-field/preview/Select.js +1 -0
  33. package/dist/src/page-designer/previews/form-field/preview/Textarea.js +1 -0
  34. package/dist/src/page-designer/previews/grid/Preview.js +1 -0
  35. package/dist/src/page-designer/previews/html/Preview.js +1 -0
  36. package/dist/src/page-designer/previews/icon/Preview.js +1 -0
  37. package/dist/src/page-designer/previews/image/Preview.js +1 -0
  38. package/dist/src/page-designer/previews/index.js +1 -0
  39. package/dist/src/page-designer/previews/layout/ColumnPreview.js +1 -0
  40. package/dist/src/page-designer/previews/layout/Preview.js +1 -0
  41. package/dist/src/page-designer/previews/num/Preview.js +1 -0
  42. package/dist/src/page-designer/previews/page-tabs/Preview.js +1 -0
  43. package/dist/src/page-designer/previews/step/Preview.js +1 -0
  44. package/dist/src/page-designer/previews/tabs/Preview.js +1 -0
  45. package/dist/src/page-designer/previews/tabs/tab-pane/Preview.js +1 -0
  46. package/dist/src/page-designer/previews/text/Preview.js +1 -0
  47. package/dist/src/page-designer/previews/text-editor/Preview.js +1 -0
  48. package/dist/src/page-designer/previews/video/Preview.js +1 -0
  49. package/dist/src/page-designer/setting-panel/Advance.js +1 -0
  50. package/dist/src/page-designer/setting-panel/CodeEditor.js +1 -0
  51. package/dist/src/page-designer/setting-panel/Property.js +1 -0
  52. package/dist/src/page-designer/setting-panel/Setting.js +47 -10
  53. package/dist/src/page-designer/setting-panel/Style.js +1 -0
  54. package/dist/src/page-designer/setting-panel/css-editor/CssEditor.js +1 -0
  55. package/dist/src/page-designer/setting-panel/css-editor/css-hint.js +1 -0
  56. package/dist/src/page-designer/setting-panel/index.js +1 -0
  57. package/dist/src/page-designer/template-attribute-panel/TemplateAttributePanel.js +1 -0
  58. package/dist/src/page-designer/template-attribute-panel/index.js +1 -0
  59. package/dist/src/page-designer/template-library/Library.js +1 -0
  60. package/dist/src/page-designer/template-library/index.js +1 -0
  61. package/dist/src/page-designer/widget-library/Base.js +1 -0
  62. package/dist/src/page-designer/widget-library/Library.js +1 -0
  63. package/dist/src/page-designer/widget-library/index.js +1 -0
  64. package/dist/src/page-designer/widget-preview/Container.js +1 -0
  65. package/dist/src/page-designer/widget-preview/DragGhost.js +1 -0
  66. package/dist/src/page-designer/widget-preview/DropZoneOverlay.js +1 -0
  67. package/dist/src/page-designer/widget-preview/HoverOverlay.js +1 -0
  68. package/dist/src/page-designer/widget-preview/Mixin.js +1 -0
  69. package/dist/src/page-designer/widget-preview/Placeholder.js +1 -0
  70. package/dist/src/page-designer/widget-preview/Preview.js +1 -0
  71. package/dist/src/page-designer/widget-preview/PreviewItem.js +1 -0
  72. package/dist/src/page-designer/widget-preview/SelectedOverlay.js +1 -0
  73. package/dist/src/page-designer/widget-preview/Template.js +1 -0
  74. package/dist/src/page-designer/widget-preview/WidgetWrapper.js +1 -0
  75. package/dist/src/page-designer/widget-preview/directive.js +1 -0
  76. package/dist/src/page-designer/widget-preview/dropPosition.js +1 -0
  77. package/dist/src/page-designer/widget-preview/index.js +1 -0
  78. package/dist/src/page-designer/widget-preview/overlayPositionMixin.js +1 -0
  79. package/dist/src/page-designer/widget-preview/resolvePreviewName.js +1 -0
  80. package/dist/src/page-designer/widget-tree/Item.js +1 -0
  81. package/dist/src/page-designer/widget-tree/Tree.js +1 -0
  82. package/dist/src/page-designer/widget-tree/index.js +1 -0
  83. package/dist/src/visual/AddForm.js +1 -0
  84. package/dist/src/visual/AddFormItem.js +1 -0
  85. package/dist/src/visual/AppIndex.js +1 -0
  86. package/dist/src/visual/ApplyForm.js +1 -0
  87. package/dist/src/visual/AttributeList.js +1 -0
  88. package/dist/src/visual/BasePage.js +1 -0
  89. package/dist/src/visual/Button.js +1 -0
  90. package/dist/src/visual/CardNum.js +1 -0
  91. package/dist/src/visual/CategoryList.js +1 -0
  92. package/dist/src/visual/Chart.js +1 -0
  93. package/dist/src/visual/ChartNew.js +1 -0
  94. package/dist/src/visual/CheckForm.js +1 -0
  95. package/dist/src/visual/ClientList.js +1 -0
  96. package/dist/src/visual/CodeManage.js +1 -0
  97. package/dist/src/visual/Component.js +1 -0
  98. package/dist/src/visual/ComponentList.js +1 -0
  99. package/dist/src/visual/Config.js +1 -0
  100. package/dist/src/visual/ConfigItem.js +1 -0
  101. package/dist/src/visual/ConfigSelectItems.js +1 -0
  102. package/dist/src/visual/CreatePage.js +1 -0
  103. package/dist/src/visual/DashboardDiv.js +1 -0
  104. package/dist/src/visual/DashboardTabs.js +1 -0
  105. package/dist/src/visual/DashboardWidget.js +1 -0
  106. package/dist/src/visual/DblogList.js +1 -0
  107. package/dist/src/visual/EntityAddPage.js +1 -0
  108. package/dist/src/visual/EntityApplyPage.js +1 -0
  109. package/dist/src/visual/EntityCardList.js +1 -0
  110. package/dist/src/visual/EntityCheckPage.js +1 -0
  111. package/dist/src/visual/EntityFindPage.js +1 -0
  112. package/dist/src/visual/EntityList.js +1 -0
  113. package/dist/src/visual/EntityListPage.js +1 -0
  114. package/dist/src/visual/EntityNoSubmitSubList.js +1 -0
  115. package/dist/src/visual/EntityRightSubList.js +1 -0
  116. package/dist/src/visual/EntitySubAdd.js +1 -0
  117. package/dist/src/visual/EntitySubGridItem.js +1 -0
  118. package/dist/src/visual/EntitySubList.js +1 -0
  119. package/dist/src/visual/EntityTreeFindPage.js +1 -0
  120. package/dist/src/visual/EntityTreeManage.js +1 -0
  121. package/dist/src/visual/EntityTreePage.js +1 -0
  122. package/dist/src/visual/ExcelPreview.js +1 -0
  123. package/dist/src/visual/FormField.js +1 -0
  124. package/dist/src/visual/HeaderNew.js +1 -0
  125. package/dist/src/visual/Html.js +1 -0
  126. package/dist/src/visual/Import.js +1 -0
  127. package/dist/src/visual/InterfaceSubList.js +1 -0
  128. package/dist/src/visual/ListFirst.js +1 -0
  129. package/dist/src/visual/MEntityAddPage.js +1 -0
  130. package/dist/src/visual/MEntityList.js +1 -0
  131. package/dist/src/visual/MEntityListPage.js +1 -0
  132. package/dist/src/visual/MEntitySubList.js +1 -0
  133. package/dist/src/visual/MetaList.js +1 -0
  134. package/dist/src/visual/ModuleIndexPage.js +1 -0
  135. package/dist/src/visual/ModuleList.js +1 -0
  136. package/dist/src/visual/NavAddForm.js +1 -0
  137. package/dist/src/visual/NavFormCatalogItem.js +1 -0
  138. package/dist/src/visual/NumItem.js +1 -0
  139. package/dist/src/visual/NumStatistic.js +1 -0
  140. package/dist/src/visual/OrgChart.js +1 -0
  141. package/dist/src/visual/PageCatalog.js +1 -0
  142. package/dist/src/visual/PageConfig.js +1 -0
  143. package/dist/src/visual/PageTabs.js +1 -0
  144. package/dist/src/visual/Progress.js +1 -0
  145. package/dist/src/visual/ProgressItem.js +1 -0
  146. package/dist/src/visual/SystemManager.js +1 -0
  147. package/dist/src/visual/Title.js +1 -0
  148. package/dist/src/visual/TodoList.js +1 -0
  149. package/dist/src/visual/UserFormItem.js +1 -0
  150. package/dist/src/visual/UserManage.js +1 -0
  151. package/dist/src/visual/chart/CircularPie.js +1 -0
  152. package/dist/src/visual/chart/Column.js +1 -0
  153. package/dist/src/visual/chart/HoriColumn.js +1 -0
  154. package/dist/src/visual/chart/Line.js +1 -0
  155. package/dist/src/visual/chart/Pie.js +1 -0
  156. package/dist/src/visual/config/Background.js +1 -0
  157. package/dist/src/visual/config/Chart.js +1 -0
  158. package/dist/src/visual/config/Checkbox.js +1 -0
  159. package/dist/src/visual/config/Color.js +1 -0
  160. package/dist/src/visual/config/DesignReport.js +1 -0
  161. package/dist/src/visual/config/Event.js +1 -0
  162. package/dist/src/visual/config/Field.js +1 -0
  163. package/dist/src/visual/config/Font.js +1 -0
  164. package/dist/src/visual/config/FormItem.js +1 -0
  165. package/dist/src/visual/config/Function.js +1 -0
  166. package/dist/src/visual/config/Html.js +1 -0
  167. package/dist/src/visual/config/Image.js +1 -0
  168. package/dist/src/visual/config/Input.js +1 -0
  169. package/dist/src/visual/config/LazyDialog.js +1 -0
  170. package/dist/src/visual/config/List.js +1 -0
  171. package/dist/src/visual/config/ListField.js +1 -0
  172. package/dist/src/visual/config/MField.js +1 -0
  173. package/dist/src/visual/config/Number.js +1 -0
  174. package/dist/src/visual/config/Object.js +1 -0
  175. package/dist/src/visual/config/Operate.js +1 -0
  176. package/dist/src/visual/config/OperateItem.js +1 -0
  177. package/dist/src/visual/config/Options.js +1 -0
  178. package/dist/src/visual/config/OrderField.js +1 -0
  179. package/dist/src/visual/config/Page.js +1 -0
  180. package/dist/src/visual/config/Params.js +1 -0
  181. package/dist/src/visual/config/Radio.js +1 -0
  182. package/dist/src/visual/config/Row.js +1 -0
  183. package/dist/src/visual/config/Scope.js +1 -0
  184. package/dist/src/visual/config/Select.js +1 -0
  185. package/dist/src/visual/config/Switch.js +1 -0
  186. package/dist/src/visual/config/Textarea.js +1 -0
  187. package/dist/src/visual/config/Tree.js +1 -0
  188. package/dist/src/visual/config/remote-cache.js +1 -0
  189. package/dist/src/visual/config/show-condition.js +1 -0
  190. package/dist/src/visual/config/variable-sources.js +1 -0
  191. package/dist/src/visual/config/wait-ref.js +1 -0
  192. package/dist/src/visual/config-page/ComponentLibrary.js +1 -0
  193. package/dist/src/visual/config-page/ComponentLibraryDialog.js +9 -2
  194. package/dist/src/visual/config-page/ComponentList.js +1 -0
  195. package/dist/src/visual/config-page/ComponentPreview.js +1 -0
  196. package/dist/src/visual/config-page/ConfigOption.js +1 -0
  197. package/dist/src/visual/config-page/ConfigPanel.js +1 -0
  198. package/dist/src/visual/config-page/Dashboard.js +1 -0
  199. package/dist/src/visual/config-page/DashboardDesign.js +1 -0
  200. package/dist/src/visual/config-page/DashboardGlobalConfig.js +1 -0
  201. package/dist/src/visual/config-page/DashboardMobile.js +2 -1
  202. package/dist/src/visual/config-page/DashboardSetting.js +1 -0
  203. package/dist/src/visual/config-page/PagePreview.js +1 -0
  204. package/dist/src/visual/config-page/StyleConfig.js +1 -0
  205. package/dist/src/visual/config-page/VisualConfigPage.js +1 -0
  206. package/dist/src/visual/config-page/dashboard-theme-setting/Background.js +1 -0
  207. package/dist/src/visual/config-page/dashboard-theme-setting/Border.js +1 -0
  208. package/dist/src/visual/config-page/dashboard-theme-setting/Font.js +1 -0
  209. package/dist/src/visual/config-page/dashboard-theme-setting/Index.js +1 -0
  210. package/dist/src/visual/config-page/dashboard-theme-setting/Shadow.js +1 -0
  211. package/dist/src/visual/config-page/index.js +1 -0
  212. package/dist/src/visual/index.js +1 -0
  213. package/dist/src/visual/mixins/innerGridMixin.js +1 -0
  214. package/dist/src/visual/search/Filter.js +1 -0
  215. package/dist/src/visual/step/Index.js +1 -0
  216. package/dist/src/visual/step/Item.js +1 -0
  217. package/dist/src/visual/widgets/CardFormItemVisual.js +1 -0
  218. package/dist/src/visual/widgets/CarouselVisual.js +1 -0
  219. package/dist/src/visual/widgets/CollapseVisual.js +1 -0
  220. package/dist/src/visual/widgets/DropdownVisual.js +1 -0
  221. package/dist/src/visual/widgets/LayoutConfig.js +1 -0
  222. package/dist/src/visual/widgets/ListVisual.js +1 -0
  223. package/dist/src/visual/widgets/MEntityListFindVisual.js +1 -0
  224. package/dist/src/visual/widgets/ProcessFormItemVisual.js +1 -0
  225. package/dist/src/visual/widgets/TabsConfig.js +1 -0
  226. package/dist/style.css +116 -112
  227. package/package.json +10 -9
  228. package/src/index.js +27 -27
  229. package/src/page-designer/PageDesigner.vue +11 -0
  230. package/src/page-designer/designer.js +1322 -1299
  231. package/src/page-designer/previews/add-form/Preview.vue +43 -44
  232. package/src/page-designer/setting-panel/Setting.vue +24 -2
  233. package/src/page-designer/widget-preview/Mixin.js +285 -285
  234. package/src/page-designer/widget-preview/Preview.vue +322 -322
  235. package/src/page-designer/widget-preview/WidgetWrapper.vue +197 -197
  236. package/src/page-designer/widget-preview/directive.js +258 -258
  237. package/src/visual/CategoryList.vue +563 -563
  238. package/src/visual/ComponentList.vue +280 -280
  239. package/src/visual/CreatePage.vue +389 -389
  240. package/src/visual/EntityCardList.vue +449 -449
  241. package/src/visual/EntityList.vue +838 -838
  242. package/src/visual/config-page/ComponentLibraryDialog.vue +7 -1
  243. package/src/visual/config-page/DashboardMobile.vue +934 -934
  244. package/src/visual/widgets/ProcessFormItemVisual.vue +58 -58
  245. package/types/index.d.ts +22 -22
  246. package/types/page-designer.d.ts +3 -3
  247. package/types/visual-component.d.ts +1 -1
  248. package/types/visual-entity-list.d.ts +1 -1
  249. package/types/visual-entity-sub-list.d.ts +1 -1
package/API.md CHANGED
@@ -2,19 +2,18 @@
2
2
 
3
3
  页面设计器、可视化配置组件、字段配置面板及预览组件集合。
4
4
 
5
- 本页对应包版本 `5.3.0-beta.1`。导出名、子路径和签名从当前源码、package.json 与类型声明生成。
5
+ 本页对应包版本 `5.3.0-beta.3`。导出名、子路径和签名从当前源码、package.json 与类型声明生成。
6
6
 
7
7
  ## 安装与使用
8
8
 
9
9
 
10
10
  ```sh
11
- pnpm add @epxing/designer
11
+ pnpm add @epxing/designer@5.3.0-beta.2
12
12
  ```
13
13
 
14
14
 
15
15
  ```js
16
16
  import Designer, { VisualComponent, PageDesigner } from '@epxing/designer'
17
- import '@epxing/designer/style.css'
18
17
 
19
18
  // app 已安装 core、基础组件及所需业务组件
20
19
  app.use(Designer)
@@ -25,6 +24,8 @@ export default { extends: VisualComponent }
25
24
 
26
25
  设计组件需要配置/元数据服务以及基础组件注册环境。default 插件同时安装公开设计组件及 widgetPreviews;具名组件适合局部使用和继承。远程共享产品应导入公开组件,插件由宿主安装。
27
26
 
27
+ 本版 JS 入口自动加载本包聚合样式,根导入和稳定子路径均无需手动 import style.css;保留显式样式入口以兼容旧代码。样式按包加载,产品覆盖样式放在框架导入之后。
28
+
28
29
  ## 根入口完整导出
29
30
 
30
31
  | 导出名 | 形态 | 用途 | 参数 / 配置 / 事件 |
@@ -107,7 +108,7 @@ export default { extends: VisualComponent }
107
108
  | `@epxing/designer/visual-component` | `default` | 可视化配置组件基类,维护 allConfigs、配置项变更及设计上下文;产品设计面板可继承。 [详细参考](../../docs/revision/designer/visual/Component.md) |
108
109
  | `@epxing/designer/visual-entity-list` | `default` | 实体列表的可视化配置组件,编辑列表字段、查询和操作配置。 [详细参考](../../docs/revision/designer/visual/EntityList.md) |
109
110
  | `@epxing/designer/visual-entity-sub-list` | `default` | 实体子列表的可视化配置组件,编辑子表字段与关联配置。 [详细参考](../../docs/revision/designer/visual/EntitySubList.md) |
110
- | `@epxing/designer/style.css` | 样式副作用入口 | 在产品入口引入一次。 |
111
+ | `@epxing/designer/style.css` | 可选的显式样式入口 | JS 入口自动加载本包样式;保留此路径以兼容旧代码。 |
111
112
 
112
113
  ## 子路径补充导出
113
114
 
package/README.md CHANGED
@@ -1,45 +1,46 @@
1
- # @epxing/designer
2
-
3
- [完整公开 API、导入方式与示例](./API.md)
4
-
5
- 可视化配置体系包 - **设计态独有,运行时按需加载**。
6
-
7
- ## 范围
8
-
9
- - `src/frame/page-designer/`(整目录)
10
- - 各 package 的 `Visual.vue` / `Config.vue`(T07 抽出,14+ 处)
11
- - 各 package 的 `Preview.vue`(T08 抽出,35+ 处)
12
- - `src/frame/views/visual/`
13
- - `src/frame/views/{FormDesign,ExcelDesign,Bpmn}.vue`
14
- - `src/frame/views/report/` / `src/frame/views/match/`
15
- - `src/frame/packages/visual-config-page/`
16
-
17
- ## 加载策略
18
-
19
- `apps/platform` 路由层 `() => import('@epxing/designer')` 懒加载,运行时进入设计页面才下载。
20
-
21
- ## 依赖
22
-
23
- - `@epxing/utils`
24
- - `@epxing/theme`
25
- - `@epxing/core`
26
- - `@epxing/components`
27
-
28
- ## 状态
29
-
30
- 已提供公共根入口、稳定组件子路径和类型声明。
31
-
32
-
33
- ## 独立包公共入口(2026-10-22)
34
-
35
- 根入口及稳定子路径提供类型声明。先安装 core 与需要的 component,再按需安装本包。
36
-
37
- 产品设计面板可从根入口具名导入 VisualComponent、VisualEntityList 等,或默认导入 `@epxing/designer/visual-component`。远程产品通过 epxShared 复用宿主设计态组件,整包安装由宿主负责。详见 `docs/guide/getting-started/packages.md`。
38
-
39
- ```js
40
- import plugin from '@epxing/designer'
41
- import '@epxing/designer/style.css'
42
- app.use(plugin)
43
- ```
44
-
45
- 工作区构建:`pnpm --filter @epxing/designer build`。pack/publish 的 prepack 会重建;版本由 Changesets 独立管理。旧 `/src/*` 入口保留。完整初始化、打包与远程共享流程见 docs/build-and-publish.md。
1
+ # @epxing/designer
2
+
3
+ [完整公开 API、导入方式与示例](./API.md)
4
+
5
+ 从 5.3.0-beta.2 起,导入本包 JS 时自动加载包级样式,根入口和稳定子路径均无需手动引入 style.css。显式样式入口继续兼容旧代码;产品覆盖样式放在框架导入之后。
6
+
7
+ 可视化配置体系包 - **设计态独有,运行时按需加载**。
8
+
9
+ ## 范围
10
+
11
+ - `src/frame/page-designer/`(整目录)
12
+ - 各 package 的 `Visual.vue` / `Config.vue`(T07 抽出,14+ 处)
13
+ - 各 package 的 `Preview.vue`(T08 抽出,35+ 处)
14
+ - `src/frame/views/visual/`
15
+ - `src/frame/views/{FormDesign,ExcelDesign,Bpmn}.vue`
16
+ - `src/frame/views/report/` / `src/frame/views/match/`
17
+ - `src/frame/packages/visual-config-page/`
18
+
19
+ ## 加载策略
20
+
21
+ `apps/platform` 路由层 `() => import('@epxing/designer')` 懒加载,运行时进入设计页面才下载。
22
+
23
+ ## 依赖
24
+
25
+ - `@epxing/utils`
26
+ - `@epxing/theme`
27
+ - `@epxing/core`
28
+ - `@epxing/components`
29
+
30
+ ## 状态
31
+
32
+ 已提供公共根入口、稳定组件子路径和类型声明。
33
+
34
+
35
+ ## 独立包公共入口(2026-10-22)
36
+
37
+ 根入口及稳定子路径提供类型声明。先安装 core 与需要的 component,再按需安装本包。
38
+
39
+ 产品设计面板可从根入口具名导入 VisualComponent、VisualEntityList 等,或默认导入 `@epxing/designer/visual-component`。远程产品通过 epxShared 复用宿主设计态组件,整包安装由宿主负责。详见 `docs/guide/getting-started/packages.md`。
40
+
41
+ ```js
42
+ import plugin from '@epxing/designer'
43
+ app.use(plugin)
44
+ ```
45
+
46
+ 工作区构建:`pnpm --filter @epxing/designer build`。pack/publish 的 prepack 会重建;版本由 Changesets 独立管理。旧 `/src/*` 入口保留。完整初始化、打包与远程共享流程见 docs/build-and-publish.md。
package/dist/src/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import '../style.css';
1
2
  import { installComponents } from "@epxing/core/src/register-components";
2
3
  import _sfc_main$6 from "./visual/widgets/ProcessFormItemVisual.vue.js";
3
4
  import _sfc_main$5 from "./visual/Component.vue.js";
@@ -1,3 +1,4 @@
1
+ import '../../style.css';
1
2
  import component from "@epxing/core/src/mixins/component";
2
3
  import { createDesigner } from "./designer.js";
3
4
  import WidgetPreview from "./widget-preview/Preview.js";
@@ -1,3 +1,4 @@
1
+ import '../../style.css';
1
2
  import { __vitePreload as __epxPackagePreload } from "../../_virtual/preload-helper.js";
2
3
  import { mapGetters, mapState } from "vuex";
3
4
  import { createDesigner, getWidgetChildren } from "./designer.js";
@@ -150,6 +151,17 @@ const _sfc_main = {
150
151
  };
151
152
  }
152
153
  });
154
+ },
155
+ // 切换组件后预览区会按新组件重建 DOM,选中浮层需重新定位到新元素(选中其它组件由上面的监听处理)
156
+ "designer.selectedWidget.contentType"() {
157
+ const widget = this.designer.selectedWidget;
158
+ if (!widget || this.selectedWidgetData.widget !== widget) return;
159
+ this.$nextTick(() => {
160
+ this.selectedWidgetData = {
161
+ ...this.selectedWidgetData,
162
+ element: document.querySelector(`[data-widget-id="${widget.id}"]`)
163
+ };
164
+ });
153
165
  }
154
166
  },
155
167
  methods: {
@@ -1,3 +1,4 @@
1
+ import '../../style.css';
1
2
  import { cloneDeep, isEmpty } from "lodash-es";
2
3
  import { effectScope, reactive, toRaw, markRaw, watch } from "vue";
3
4
  import util from "@epxing/core/src/runtime-utils/util";
@@ -954,6 +955,27 @@ function createDesigner(vueInstance) {
954
955
  }
955
956
  }
956
957
  },
958
+ /**
959
+ * 切换组件类型:只换 contentType(及自定义组件的 type 标记),组件 id 不变,
960
+ * 因此按 id 存的组件配置(itemConfigs)、子组件、样式等全部保留
961
+ * @param { Object } widget 要切换的组件
962
+ * @param { Object } widgetInfo 目标组件记录(组件库中的 FM_PAGE)
963
+ */
964
+ switchWidget(widget, widgetInfo) {
965
+ const oldInfo = this.getWidgetByType(widget.contentType, widget.type) || {};
966
+ const property = {
967
+ contentType: widgetInfo.CODE,
968
+ type: widgetInfo.COMPONENT_SOURCE === "custom" ? "custom" : null
969
+ };
970
+ if (!widget.title || widget.title === oldInfo.TITLE) {
971
+ property.title = widgetInfo.TITLE;
972
+ }
973
+ this.updateWidget(widget.id, property);
974
+ const { metaId } = this.widgetConfig[widget.id] || {};
975
+ if (widgetInfo.CODE === "chart" && !metaId) {
976
+ this.updateWidgetConfig(widget.id, { metaId: this.page.metaId });
977
+ }
978
+ },
957
979
  addContainerByDbClick(container) {
958
980
  const newCon = this.copyNewContainerWidget(container);
959
981
  this.widgetList.push(newCon);
@@ -1,3 +1,4 @@
1
+ import '../../style.css';
1
2
  import PageDesigner from "./PageDesigner.js";
2
3
  import WidgetTree from "./widget-tree/Tree.js";
3
4
  import WidgetItem from "./widget-tree/Item.js";
@@ -1,3 +1,4 @@
1
+ import '../../../style.css';
1
2
  const dragSourceMixin = {
2
3
  data() {
3
4
  return {
@@ -1,3 +1,4 @@
1
+ import '../../../style.css';
1
2
  import "codemirror/lib/codemirror.css";
2
3
  import "./jsonlint.js";
3
4
  import "codemirror/addon/lint/javascript-lint.js";
@@ -1,3 +1,4 @@
1
+ import '../../../style.css';
1
2
  import { mapGetters } from "vuex";
2
3
  import draggable from "@epxing/core/src/components/draggable";
3
4
  import { resolveComponent, resolveDirective, openBlock, createElementBlock, createElementVNode, createVNode, withCtx, createTextVNode, Fragment, renderList, toDisplayString, createCommentVNode, createBlock, withDirectives, normalizeClass } from "vue";
@@ -1,3 +1,4 @@
1
+ import '../../../style.css';
1
2
  import { default as default2 } from "./PageVariablePanel.js";
2
3
  import { default as default3 } from "./JsonEditor.js";
3
4
  export {
@@ -1,3 +1,4 @@
1
+ import '../../../style.css';
1
2
  window.jsonlint = (function() {
2
3
  var a = true;
3
4
  var b = false;
@@ -1,7 +1,8 @@
1
+ import '../../../../style.css';
1
2
  import _sfc_main from "./Preview.vue.js";
2
3
  /* empty css */
3
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
4
- const AddFormPreview = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-59a0f3d2"]]);
5
+ const AddFormPreview = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0554afd8"]]);
5
6
  export {
6
7
  AddFormPreview as default
7
8
  };
@@ -1,4 +1,4 @@
1
- import { createVNode, createTextVNode, resolveComponent, mergeProps, isVNode } from "vue";
1
+ import { createVNode, resolveComponent, mergeProps, createTextVNode, isVNode } from "vue";
2
2
  import previewMixin from "../../widget-preview/Mixin.js";
3
3
  import { MobileActionSheet } from "@epxing/components/src/mobile";
4
4
  function _isSlot(s) {
@@ -196,14 +196,13 @@ const _sfc_main = {
196
196
  }, [this.renderCatalogList(this.childWidgetList)])]);
197
197
  },
198
198
  renderForm() {
199
- let _slot2;
200
199
  const {
201
- operateFlag,
202
- showCatalog
200
+ operatePosition
203
201
  } = this.$configs;
202
+ const operateTop = operatePosition === "top" && !this.$isMobile;
204
203
  return createVNode("div", {
205
204
  "class": "epx-add-form__content"
206
- }, [createVNode("div", {
205
+ }, [operateTop && this.renderOperateArea(true), createVNode("div", {
207
206
  "class": "epx-add-form__field-group epx-page-designer-widget-preview__drop-zone",
208
207
  "ref": "addForm"
209
208
  }, [createVNode("div", {
@@ -223,7 +222,17 @@ const _sfc_main = {
223
222
  }, [this.renderComponent(component)]);
224
223
  }), this.childWidgetList.length === 0 && createVNode("div", {
225
224
  "class": "epx-page-designer-widget-preview__no-widget"
226
- }, [createTextVNode("拖拽表单项到这里")])])]), !this.readonly && operateFlag && !(showCatalog && !this.$isMobile) && createVNode("div", null, [this.$isMobile ? createVNode("div", {
225
+ }, [createTextVNode("拖拽表单项到这里")])])]), !operateTop && this.renderOperateArea(false)]);
226
+ },
227
+ // 表单区按钮区;PC 端开了目录时按钮在目录区渲染,此处不渲染
228
+ renderOperateArea(top) {
229
+ let _slot2;
230
+ const {
231
+ operateFlag,
232
+ showCatalog
233
+ } = this.$configs;
234
+ if (this.readonly || !operateFlag || showCatalog && !this.$isMobile) return null;
235
+ return createVNode("div", null, [this.$isMobile ? createVNode("div", {
227
236
  "class": ["epx-add-form__m-buttongroup", {
228
237
  "epx-add-form__m-button-more": this.operates.length > 3
229
238
  }]
@@ -257,7 +266,9 @@ const _sfc_main = {
257
266
  }, {
258
267
  default: () => [operate.text]
259
268
  }))])]) : createVNode("div", {
260
- "class": "epx-add-form__button-group"
269
+ "class": ["epx-add-form__button-group", {
270
+ "epx-add-form__button-group--top": top
271
+ }]
261
272
  }, [this.operates.map((operate) => createVNode(resolveComponent("el-button"), mergeProps({
262
273
  "loading": this.httpLoading[operate.handler + "-" + operate.text],
263
274
  "size": "default",
@@ -273,7 +284,7 @@ const _sfc_main = {
273
284
  default: () => [operate.icon && createVNode("i", {
274
285
  "class": [operate.icon]
275
286
  }, null), operate.text]
276
- }))])])]);
287
+ }))])]);
277
288
  }
278
289
  },
279
290
  created() {
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, normalizeStyle, normalizeClass, createElementVNode, toDisplayString, createTextVNode, createCommentVNode, createBlock, withCtx, createVNode } from "vue";
3
4
  /* empty css */
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, normalizeClass, createTextVNode, toDisplayString } from "vue";
3
4
  /* empty css */
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createBlock, normalizeStyle, normalizeClass, withCtx, createElementVNode, createVNode, createElementBlock, Fragment, renderList, mergeProps, createCommentVNode, toDisplayString } from "vue";
3
4
  /* empty css */
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, Fragment, renderList, createBlock, mergeProps, createCommentVNode } from "vue";
3
4
  /* empty css */
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import Carousel from "@epxing/components/src/carousel/Carousel";
3
4
  import { resolveComponent, openBlock, createBlock, withCtx, createElementBlock, Fragment, renderList, mergeProps, withModifiers, createCommentVNode, createElementVNode } from "vue";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createBlock, withCtx, createElementVNode, createElementBlock, Fragment, renderList, mergeProps, createCommentVNode, withModifiers, normalizeClass, toDisplayString } from "vue";
3
4
  /* empty css */
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createBlock, withCtx, createElementBlock, Fragment, renderList, mergeProps } from "vue";
3
4
  /* empty css */
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createBlock, withCtx, createVNode, createTextVNode, toDisplayString, createElementVNode, normalizeClass } from "vue";
3
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import __cjsReq0 from "../../../assets/images/default-icon.png.js";
2
3
  import previewMixin from "../../widget-preview/Mixin.js";
3
4
  import { resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, Fragment, renderList, createBlock, withCtx, normalizeClass, createCommentVNode, createTextVNode, toDisplayString, normalizeStyle, mergeProps } from "vue";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, toDisplayString, createTextVNode, createCommentVNode, createBlock, withCtx, Fragment, renderList, mergeProps, createVNode } from "vue";
3
4
  /* empty css */
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import EntityListPreview from "../entity-list/Preview.js";
2
3
  const Preview = {
3
4
  name: "epx-entity-virtual-list--preview",
@@ -1,3 +1,4 @@
1
+ import '../../../../../style.css';
1
2
  import previewMixin from "../../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createTextVNode, toDisplayString, createBlock, withCtx, createElementVNode, createCommentVNode, createVNode } from "vue";
3
4
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../../style.css';
1
2
  import previewMixin from "../../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createTextVNode, toDisplayString, createBlock, withCtx, createElementVNode, createCommentVNode, createVNode } from "vue";
3
4
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../../style.css';
1
2
  import previewMixin from "../../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createTextVNode, toDisplayString, createBlock, withCtx, createElementVNode, createCommentVNode, createVNode } from "vue";
3
4
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../../style.css';
1
2
  import previewMixin from "../../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createTextVNode, toDisplayString, createBlock, withCtx, createElementVNode, createCommentVNode, createVNode } from "vue";
3
4
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../../style.css';
1
2
  import previewMixin from "../../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createTextVNode, toDisplayString, createBlock, withCtx, createElementVNode, createCommentVNode, createVNode } from "vue";
3
4
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../../style.css';
1
2
  import previewMixin from "../../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createTextVNode, toDisplayString, createBlock, withCtx, createElementVNode, createCommentVNode, createVNode, Fragment } from "vue";
3
4
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../../style.css';
1
2
  import previewMixin from "../../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createTextVNode, toDisplayString, createBlock, withCtx, createElementVNode, createCommentVNode, createVNode } from "vue";
3
4
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../../style.css';
1
2
  import previewMixin from "../../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createTextVNode, toDisplayString, createBlock, withCtx, createElementVNode, createCommentVNode, createVNode } from "vue";
3
4
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { MobileGridItem, MobileGrid } from "@epxing/components/src/mobile";
3
4
  import { resolveComponent, openBlock, createBlock, normalizeStyle, withCtx, createElementBlock, Fragment, renderList, createVNode, mergeProps, createElementVNode } from "vue";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { openBlock, createElementBlock } from "vue";
3
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { openBlock, createElementBlock, normalizeStyle, normalizeClass } from "vue";
3
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createBlock, normalizeStyle, withCtx, createElementVNode } from "vue";
3
4
  /* empty css */
@@ -1,3 +1,4 @@
1
+ import '../../../style.css';
1
2
  import ButtonPreview from "./button/Preview.js";
2
3
  import CardPreview from "./card/Preview.js";
3
4
  import IconPreview from "./icon/Preview.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createBlock, withCtx, createElementBlock, Fragment, renderList, mergeProps, createCommentVNode } from "vue";
3
4
  /* empty css */
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, createVNode, normalizeStyle, withCtx, Fragment, renderList, createBlock, mergeProps } from "vue";
3
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { openBlock, createElementBlock, normalizeStyle, normalizeClass, createCommentVNode, createElementVNode, toDisplayString } from "vue";
3
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createBlock, normalizeStyle, withCtx, createElementBlock, Fragment, renderList, createVNode, mergeProps } from "vue";
3
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, createElementVNode, Fragment, renderList, normalizeClass, normalizeStyle, toDisplayString, renderSlot, createTextVNode, createVNode, mergeProps } from "vue";
3
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createBlock, normalizeStyle, withCtx, createElementBlock, Fragment, renderList, createVNode, mergeProps, createElementVNode, normalizeClass, createCommentVNode, createTextVNode, toDisplayString } from "vue";
3
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../../style.css';
1
2
  import previewMixin from "../../../widget-preview/Mixin.js";
2
3
  import { resolveComponent, openBlock, createElementBlock, Fragment, renderList, createBlock, mergeProps, createCommentVNode } from "vue";
3
4
  /* empty css */
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { openBlock, createElementBlock, normalizeStyle, createElementVNode, toDisplayString } from "vue";
3
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import previewMixin from "../../widget-preview/Mixin.js";
2
3
  import { openBlock, createElementBlock, normalizeStyle, createElementVNode } from "vue";
3
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../../style.css';
1
2
  import Video from "@epxing/components/src/video/Video";
2
3
  import previewMixin from "../../widget-preview/Mixin.js";
3
4
  const _sfc_main = {
@@ -1,3 +1,4 @@
1
+ import '../../../style.css';
1
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, normalizeClass, Fragment, renderList, createBlock, createTextVNode } from "vue";
2
3
  /* empty css */
3
4
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
@@ -1,3 +1,4 @@
1
+ import '../../../style.css';
1
2
  import "codemirror/addon/hint/show-hint.js";
2
3
  import "codemirror/lib/codemirror.css";
3
4
  import "codemirror/addon/hint/show-hint.css";
@@ -1,3 +1,4 @@
1
+ import '../../../style.css';
1
2
  import { resolveComponent, openBlock, createElementBlock, createBlock } from "vue";
2
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
3
4
  const _sfc_main = {