eoss 0.1.0-alpha.40 → 0.1.0-alpha.41

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 (250) hide show
  1. package/lib/0.js +1 -1
  2. package/lib/1.js +1 -1
  3. package/lib/10.js +1 -1
  4. package/lib/11.js +1 -1
  5. package/lib/12.js +1 -1
  6. package/lib/13.js +1 -1
  7. package/lib/14.js +1 -1
  8. package/lib/15.js +1 -1
  9. package/lib/16.js +1 -1
  10. package/lib/17.js +1 -1
  11. package/lib/18.js +1 -1
  12. package/lib/19.js +1 -1
  13. package/lib/20.js +1 -1
  14. package/lib/21.js +1 -1
  15. package/lib/22.js +1 -1
  16. package/lib/23.js +1 -1
  17. package/lib/24.js +1 -1
  18. package/lib/25.js +1 -1
  19. package/lib/26.js +1 -1
  20. package/lib/27.js +1 -1
  21. package/lib/28.js +1 -1
  22. package/lib/29.js +1 -1
  23. package/lib/3.js +1 -1
  24. package/lib/30.js +1 -1
  25. package/lib/31.js +1 -1
  26. package/lib/32.js +1 -1
  27. package/lib/33.js +1 -1
  28. package/lib/34.js +1 -1
  29. package/lib/35.js +1 -1
  30. package/lib/36.js +1 -1
  31. package/lib/37.js +1 -1
  32. package/lib/38.js +1 -1
  33. package/lib/39.js +1 -1
  34. package/lib/4.js +1 -1
  35. package/lib/40.js +1 -1
  36. package/lib/41.js +1 -1
  37. package/lib/42.js +1 -1
  38. package/lib/43.js +1 -1
  39. package/lib/44.js +1 -1
  40. package/lib/45.js +1 -1
  41. package/lib/46.js +1 -1
  42. package/lib/47.js +1 -1
  43. package/lib/48.js +1 -1
  44. package/lib/49.js +1 -1
  45. package/lib/5.js +1 -1
  46. package/lib/50.js +1 -1
  47. package/lib/51.js +1 -1
  48. package/lib/52.js +1 -1
  49. package/lib/53.js +1 -1
  50. package/lib/54.js +1 -1
  51. package/lib/55.js +1 -1
  52. package/lib/56.js +1 -1
  53. package/lib/57.js +1 -1
  54. package/lib/58.js +1 -1
  55. package/lib/59.js +1 -1
  56. package/lib/6.js +1 -1
  57. package/lib/60.js +1 -1
  58. package/lib/61.js +1 -1
  59. package/lib/62.js +1 -1
  60. package/lib/63.js +1 -1
  61. package/lib/64.js +1 -1
  62. package/lib/65.js +1 -1
  63. package/lib/66.js +1 -1
  64. package/lib/67.js +1 -1
  65. package/lib/68.js +1 -1
  66. package/lib/69.js +1 -1
  67. package/lib/7.js +1 -1
  68. package/lib/70.js +1 -1
  69. package/lib/71.js +1 -1
  70. package/lib/72.js +1 -1
  71. package/lib/73.js +1 -1
  72. package/lib/74.js +1 -1
  73. package/lib/75.js +1 -1
  74. package/lib/76.js +1 -1
  75. package/lib/77.js +1 -1
  76. package/lib/78.js +1 -1
  77. package/lib/79.js +1 -1
  78. package/lib/8.js +1 -1
  79. package/lib/80.js +1 -1
  80. package/lib/81.js +1 -1
  81. package/lib/9.js +1 -1
  82. package/lib/account-login.js +59 -59
  83. package/lib/alert.js +2 -2
  84. package/lib/aside.js +2 -2
  85. package/lib/audit-trajectory.js +2 -2
  86. package/lib/autocomplete.js +56 -56
  87. package/lib/avatar.js +2 -2
  88. package/lib/backtop.js +6 -6
  89. package/lib/badge.js +2 -2
  90. package/lib/breadcrumb-item.js +4 -4
  91. package/lib/breadcrumb.js +4 -4
  92. package/lib/button-group.js +4 -4
  93. package/lib/button.js +2 -2
  94. package/lib/ca-login.js +37 -37
  95. package/lib/calendar.js +4 -4
  96. package/lib/card.js +2 -2
  97. package/lib/carousel-item.js +36 -36
  98. package/lib/carousel.js +38 -38
  99. package/lib/cascader-panel.js +71 -71
  100. package/lib/cascader.js +220 -220
  101. package/lib/checkbox-button.js +4 -4
  102. package/lib/checkbox-group.js +65 -65
  103. package/lib/checkbox.js +6 -6
  104. package/lib/code-editor.js +1134 -0
  105. package/lib/col.js +2 -2
  106. package/lib/collapse-item.js +76 -76
  107. package/lib/collapse.js +76 -76
  108. package/lib/color-picker.js +10 -10
  109. package/lib/container.js +2 -2
  110. package/lib/cron.js +20 -20
  111. package/lib/data-table.js +66 -66
  112. package/lib/date-picker.js +2419 -2419
  113. package/lib/descriptions-item.js +4 -4
  114. package/lib/descriptions.js +4 -4
  115. package/lib/dialog.js +42 -42
  116. package/lib/divider.js +2 -2
  117. package/lib/drawer.js +6 -6
  118. package/lib/dropdown-item.js +8 -8
  119. package/lib/dropdown-menu.js +20 -20
  120. package/lib/dropdown.js +40 -40
  121. package/lib/email-login.js +64 -64
  122. package/lib/empty.js +2 -2
  123. package/lib/eoss.common.js +23730 -5967
  124. package/lib/flip.js +2 -2
  125. package/lib/flow-group.js +55 -55
  126. package/lib/flow.js +171 -171
  127. package/lib/flows.js +77 -77
  128. package/lib/footer.js +2 -2
  129. package/lib/form-editor.js +12534 -0
  130. package/lib/form-item.js +57 -49
  131. package/lib/form.js +233 -174
  132. package/lib/guide.js +2 -2
  133. package/lib/header.js +2 -2
  134. package/lib/icon.js +38 -38
  135. package/lib/icons.js +11 -11
  136. package/lib/image-viewer.js +38 -38
  137. package/lib/image.js +6 -6
  138. package/lib/index.js +1 -1
  139. package/lib/infinite-scroll.js +4 -4
  140. package/lib/input-number.js +39 -39
  141. package/lib/input.js +60 -60
  142. package/lib/link.js +2 -2
  143. package/lib/loading.js +6 -6
  144. package/lib/login.js +193 -193
  145. package/lib/lowcode-view.js +824 -132
  146. package/lib/lowcode.js +27278 -16925
  147. package/lib/main.js +270 -257
  148. package/lib/marquee.js +38 -38
  149. package/lib/menu-item-group.js +14 -14
  150. package/lib/menu-item.js +10 -10
  151. package/lib/menu.js +129 -129
  152. package/lib/message-box.js +52 -52
  153. package/lib/message.js +62 -62
  154. package/lib/notification.js +40 -40
  155. package/lib/option-group.js +4 -4
  156. package/lib/option.js +36 -36
  157. package/lib/page-header.js +2 -2
  158. package/lib/pagination.js +37 -37
  159. package/lib/phone-login.js +58 -58
  160. package/lib/popconfirm.js +4 -4
  161. package/lib/popover.js +42 -42
  162. package/lib/process-config.js +65 -65
  163. package/lib/process-module.js +62 -62
  164. package/lib/process-rule.js +66 -66
  165. package/lib/progress.js +2 -2
  166. package/lib/qr-code.js +6 -6
  167. package/lib/qrcode-login.js +57 -57
  168. package/lib/radio-button.js +4 -4
  169. package/lib/radio-group.js +63 -63
  170. package/lib/radio.js +6 -6
  171. package/lib/rate.js +36 -36
  172. package/lib/retrial-auth.js +55 -55
  173. package/lib/row.js +2 -2
  174. package/lib/scrollbar.js +41 -41
  175. package/lib/select.js +95 -95
  176. package/lib/selector-panel.js +92 -91
  177. package/lib/selector.js +935 -935
  178. package/lib/slider.js +6 -6
  179. package/lib/step.js +35 -35
  180. package/lib/steps.js +82 -82
  181. package/lib/submenu.js +38 -38
  182. package/lib/switch.js +38 -38
  183. package/lib/tab-pane.js +4 -4
  184. package/lib/table-column.js +39 -39
  185. package/lib/table.js +653 -653
  186. package/lib/tabs.js +42 -42
  187. package/lib/tag.js +2 -2
  188. package/lib/theme-chalk/code-editor.css +1 -0
  189. package/lib/theme-chalk/form-editor.css +1 -0
  190. package/lib/theme-chalk/form.css +1 -1
  191. package/lib/theme-chalk/index.css +1 -1
  192. package/lib/theme-chalk/lowcode.css +1 -1
  193. package/lib/theme-chalk/selector.css +1 -1
  194. package/lib/time-picker.js +1276 -1276
  195. package/lib/time-select.js +21 -21
  196. package/lib/timeline-item.js +2 -2
  197. package/lib/timeline.js +2 -2
  198. package/lib/tips.js +59 -59
  199. package/lib/toolbar.js +6 -6
  200. package/lib/tooltip.js +44 -44
  201. package/lib/transfer.js +36 -36
  202. package/lib/tree-group.js +49 -49
  203. package/lib/tree.js +432 -432
  204. package/lib/update-history.js +2 -2
  205. package/lib/upload.js +942 -942
  206. package/lib/utils/source-generator.js +586 -0
  207. package/lib/utils/source-parser.js +581 -0
  208. package/lib/wujie.js +39 -39
  209. package/package.json +1 -1
  210. package/packages/code-editor/index.js +5 -0
  211. package/packages/{lowcode/src/editor.vue → code-editor/src/code-editor.vue} +14 -17
  212. package/packages/form/src/form-item-render.vue +25 -0
  213. package/packages/form/src/form-item.vue +10 -3
  214. package/packages/form-editor/index.js +5 -0
  215. package/packages/form-editor/src/components.js +6736 -0
  216. package/packages/form-editor/src/form-editor.vue +981 -0
  217. package/packages/form-editor/src/props-panel.vue +168 -0
  218. package/packages/lowcode/src/attribute/bind.vue +5 -5
  219. package/packages/lowcode/src/attribute/function.vue +24 -9
  220. package/packages/lowcode/src/attribute/javascript.vue +4 -4
  221. package/packages/lowcode/src/attribute/property.vue +1 -1
  222. package/packages/lowcode/src/attribute/props.vue +44 -29
  223. package/packages/lowcode/src/attribute/styles.vue +1 -1
  224. package/packages/lowcode/src/attribute.vue +4 -4
  225. package/packages/lowcode/src/canvas.vue +45 -100
  226. package/packages/lowcode/src/form-render.vue +25 -13
  227. package/packages/lowcode/src/json.vue +4 -4
  228. package/packages/lowcode/src/lowcode.vue +1 -1
  229. package/packages/lowcode/src/modules.vue +8 -1
  230. package/packages/lowcode/src/render.vue +14 -9
  231. package/packages/lowcode/src/source.vue +6 -6
  232. package/packages/lowcode/src/util/components.js +15646 -68
  233. package/packages/lowcode/src/util/form-controls.js +87 -0
  234. package/packages/lowcode/src/util/props-util.js +9 -8
  235. package/packages/lowcode-view/src/render.vue +13 -6
  236. package/packages/lowcode-view/src/view.vue +4 -1
  237. package/packages/main/src/components/user.vue +2 -0
  238. package/packages/main/src/components/userinfo.vue +22 -14
  239. package/packages/selector-panel/src/mixin.js +1 -0
  240. package/packages/theme-chalk/src/code-editor.scss +59 -0
  241. package/packages/theme-chalk/src/form-editor.scss +240 -0
  242. package/packages/theme-chalk/src/form.scss +10 -1
  243. package/packages/theme-chalk/src/index.scss +2 -0
  244. package/packages/theme-chalk/src/lowcode.scss +1 -42
  245. package/packages/theme-chalk/src/selector.scss +2 -0
  246. package/src/index.js +7 -1
  247. package/{packages/lowcode/src/util → src/utils}/source-generator.js +24 -15
  248. package/{packages/lowcode/src/util → src/utils}/source-parser.js +67 -23
  249. /package/packages/{lowcode → code-editor}/src/util/json-repair.js +0 -0
  250. /package/packages/{lowcode → code-editor}/src/util/monaco-vue-completions.js +0 -0
@@ -6,14 +6,14 @@
6
6
  class="es-lowcode__canvas--component"
7
7
  :class="{ 'is-active': newNode.id === active }"
8
8
  :data-id="newNode.id"
9
- :style="newNode.style"
10
- :label="formItem.label"
11
- :prop="formItem.prop"
9
+ :style="rootStyle"
10
+ :label="newNode.label"
11
+ :prop="newNode.name"
12
12
  @click.native.stop="handleClick"
13
13
  >
14
14
  <component
15
15
  :style="controlStyle"
16
- :is="newNode.name"
16
+ :is="newNode.nodeName"
17
17
  v-bind="cleanProps"
18
18
  v-on="newNode.events"
19
19
  :key="instanceKey"
@@ -93,6 +93,11 @@ export default {
93
93
  drag: {
94
94
  type: Boolean,
95
95
  default: true
96
+ },
97
+ // 声明仅为吸收 canvas 顶层统一绑定的 :span(grid 跨列实际读 node.style.span)
98
+ span: {
99
+ type: [Number, String],
100
+ default: 1
96
101
  }
97
102
  },
98
103
  data() {
@@ -121,13 +126,6 @@ export default {
121
126
  }
122
127
  },
123
128
  computed: {
124
- /**
125
- * 表单元信息(label/字段键):canvas 拖入时写入 node.formItem,
126
- * 解析源码时由 es-form-item 包裹层拆包还原
127
- */
128
- formItem() {
129
- return (this.newNode && this.newNode.formItem) || {};
130
- },
131
129
  /**
132
130
  * 所属 es-form 节点:在页面树中反查包含当前字段的父节点
133
131
  */
@@ -145,10 +143,12 @@ export default {
145
143
  return this.page ? find([this.page]) : null;
146
144
  },
147
145
  /**
148
- * 是否允许宽度拖拽:单列(columns 缺省或 <=1)表单不显示宽度手柄,
149
- * 多列时字段可拖宽占多列
146
+ * 是否允许宽度拖拽:单列(columns 缺省或 <=1)表单内字段不显示宽度手柄,
147
+ * 多列时字段可拖宽占多列;顶层/孤儿控件(无 form 父节点)在瀑布流等
148
+ * 布局下需要宽度拖拽,始终显示
150
149
  */
151
150
  canResizeWidth() {
151
+ if (!this.parentForm) return true;
152
152
  const columns = getPropRaw(
153
153
  this.parentForm && this.parentForm.props,
154
154
  'columns'
@@ -164,6 +164,18 @@ export default {
164
164
  if (!isNaN(w)) return w;
165
165
  return (this.$el && this.$el.offsetWidth) || 0;
166
166
  },
167
+ /**
168
+ * 包裹层样式:节点 style 直出(瀑布流的 position/left/top 在其内),
169
+ * 页面 grid 布局时 span 转 gridColumn(与 Render componentStyle 同口径)
170
+ */
171
+ rootStyle() {
172
+ const style = { ...((this.newNode && this.newNode.style) || {}) };
173
+ if (this.page && this.page.style && this.page.style.display === 'grid') {
174
+ const span = style.span;
175
+ if (span && span > 1) style.gridColumn = `span ${span}`;
176
+ }
177
+ return style;
178
+ },
167
179
  /**
168
180
  * 控件样式:表单字段默认撑满 form-item 内容区(宽度由 es-form-item 根的 style.width 控制)
169
181
  */
@@ -1,20 +1,20 @@
1
1
  <template>
2
- <editor
2
+ <es-code-editor
3
3
  class="es-lowcode-json__editor"
4
4
  v-model="pages"
5
5
  language="json"
6
6
  ref="editorRef"
7
7
  @save="handleSave"
8
- ></editor>
8
+ ></es-code-editor>
9
9
  </template>
10
10
 
11
11
  <script>
12
- import editor from './editor.vue';
12
+ import EsCodeEditor from 'eoss/packages/code-editor';
13
13
  export default {
14
14
  name: 'LowJson',
15
15
 
16
16
  components: {
17
- editor
17
+ EsCodeEditor
18
18
  },
19
19
 
20
20
  props: {
@@ -183,7 +183,7 @@ import {
183
183
  batchList
184
184
  } from 'eoss/src/config/api.js';
185
185
  import { loading } from 'eoss/src/utils/util';
186
- import { migrateDirectives } from './util/source-parser';
186
+ import { migrateDirectives } from 'eoss/src/utils/source-parser.js';
187
187
  import historyMixin from './mixins/history.js';
188
188
  import busListener from './mixins/bus-listener.js';
189
189
  import EsButton from 'eoss/packages/button';
@@ -58,10 +58,17 @@ import EsCollapse from 'eoss/packages/collapse';
58
58
  import EsCollapseItem from 'eoss/packages/collapse-item';
59
59
  import EsTabPane from 'eoss/packages/tab-pane';
60
60
  import EsTabs from 'eoss/packages/tabs';
61
+ import EsScrollbar from 'eoss/packages/scrollbar';
61
62
 
62
63
  export default {
63
64
  name: 'Modules',
64
- components: { EsCollapse, EsCollapseItem, EsTabPane, EsTabs },
65
+ components: {
66
+ EsCollapse,
67
+ EsCollapseItem,
68
+ EsTabPane,
69
+ EsTabs,
70
+ EsScrollbar
71
+ },
65
72
 
66
73
  props: {
67
74
  contents: {
@@ -19,7 +19,7 @@
19
19
  <component
20
20
  v-else
21
21
  :style="innerLayoutStyle"
22
- :is="newNode.name"
22
+ :is="newNode.nodeName"
23
23
  :height="newHeight"
24
24
  v-bind="cleanProps"
25
25
  v-on="newNode.events"
@@ -32,8 +32,8 @@
32
32
  >
33
33
  <!-- 不用 v-if 包裹:children 为空时 v-if 会产出空注释节点,
34
34
  导致 EsForm 等组件误判默认插槽有内容而不渲染 slot fallback -->
35
- <!-- 子节点统一递归渲染;表单控件子节点(带 formItem 标记)由
36
- form-render 渲染,es-form-item 包裹层渲染时生成、JSON 不存 -->
35
+ <!-- 子节点统一递归渲染;表单控件子节点(form-controls 清单命中,
36
+ 与是否在 es-form 内无关)由 form-render 渲染,es-form-item 包裹层渲染时生成、JSON 不存 -->
37
37
  <component
38
38
  :is="childRender(child)"
39
39
  class="is-child"
@@ -129,6 +129,7 @@
129
129
  import Frame from './iframe.vue';
130
130
  import { propsToObject } from './util/props-util.js';
131
131
  import FormRender from './form-render.vue';
132
+ import { isFormControlNode, toPascal } from './util/form-controls.js';
132
133
 
133
134
  import EsButton from 'eoss/packages/button';
134
135
  import EsDropdown from 'eoss/packages/dropdown';
@@ -403,8 +404,8 @@ export default {
403
404
  for (const child of children) {
404
405
  result.push({
405
406
  id: child.id,
406
- label: child.name || '元素',
407
- name: child.name
407
+ label: child.nodeName || '元素',
408
+ name: child.nodeName
408
409
  });
409
410
  result.push(...collectDescendants(child));
410
411
  }
@@ -430,7 +431,7 @@ export default {
430
431
  for (const node of nodes) {
431
432
  const currentPath = [
432
433
  ...path,
433
- { id: node.id, label: node.name || '元素', name: node.name }
434
+ { id: node.id, label: node.nodeName || '元素', name: node.nodeName }
434
435
  ];
435
436
  if (node.id === targetId) return currentPath;
436
437
  const children = Array.isArray(node.children) ? node.children : [];
@@ -450,11 +451,15 @@ export default {
450
451
  beforeDestroy() {},
451
452
  methods: {
452
453
  /**
453
- * 子节点渲染器:表单控件子节点(canvas 拖入/源码解析时写入 formItem 标记)
454
- * 由 form-render 渲染(es-form-item 包裹层渲染时生成),其余走通用 Render
454
+ * 子节点渲染器:表单控件子节点仅在 es-form 内由 form-render 渲染
455
+ * (es-form-item 包裹层);es-form 外(页面根/普通容器)拖入的控件
456
+ * 裸渲染走通用 Render
455
457
  */
456
458
  childRender(child) {
457
- return child && child.formItem ? 'FormRender' : 'Render';
459
+ if (!isFormControlNode(child)) return 'Render';
460
+ return toPascal(this.newNode.nodeName) === 'EsForm'
461
+ ? 'FormRender'
462
+ : 'Render';
458
463
  },
459
464
  /**
460
465
  * 是否展示删除按钮:节点 canRemove 未显式禁止,
@@ -1,23 +1,23 @@
1
1
  <template>
2
- <editor
2
+ <es-code-editor
3
3
  class="es-lowcode-source__editor"
4
4
  :value="source"
5
5
  language="html"
6
6
  ref="editorRef"
7
7
  @save="handleSave"
8
- ></editor>
8
+ ></es-code-editor>
9
9
  </template>
10
10
 
11
11
  <script>
12
- import editor from './editor.vue';
13
- import { generateVueSource } from './util/source-generator';
14
- import { parseVueSource } from './util/source-parser';
12
+ import EsCodeEditor from 'eoss/packages/code-editor';
13
+ import { generateVueSource } from 'eoss/src/utils/source-generator.js';
14
+ import { parseVueSource } from 'eoss/src/utils/source-parser.js';
15
15
 
16
16
  export default {
17
17
  name: 'Source',
18
18
 
19
19
  components: {
20
- editor
20
+ EsCodeEditor
21
21
  },
22
22
 
23
23
  props: {