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.
- package/lib/0.js +1 -1
- package/lib/1.js +1 -1
- package/lib/10.js +1 -1
- package/lib/11.js +1 -1
- package/lib/12.js +1 -1
- package/lib/13.js +1 -1
- package/lib/14.js +1 -1
- package/lib/15.js +1 -1
- package/lib/16.js +1 -1
- package/lib/17.js +1 -1
- package/lib/18.js +1 -1
- package/lib/19.js +1 -1
- package/lib/20.js +1 -1
- package/lib/21.js +1 -1
- package/lib/22.js +1 -1
- package/lib/23.js +1 -1
- package/lib/24.js +1 -1
- package/lib/25.js +1 -1
- package/lib/26.js +1 -1
- package/lib/27.js +1 -1
- package/lib/28.js +1 -1
- package/lib/29.js +1 -1
- package/lib/3.js +1 -1
- package/lib/30.js +1 -1
- package/lib/31.js +1 -1
- package/lib/32.js +1 -1
- package/lib/33.js +1 -1
- package/lib/34.js +1 -1
- package/lib/35.js +1 -1
- package/lib/36.js +1 -1
- package/lib/37.js +1 -1
- package/lib/38.js +1 -1
- package/lib/39.js +1 -1
- package/lib/4.js +1 -1
- package/lib/40.js +1 -1
- package/lib/41.js +1 -1
- package/lib/42.js +1 -1
- package/lib/43.js +1 -1
- package/lib/44.js +1 -1
- package/lib/45.js +1 -1
- package/lib/46.js +1 -1
- package/lib/47.js +1 -1
- package/lib/48.js +1 -1
- package/lib/49.js +1 -1
- package/lib/5.js +1 -1
- package/lib/50.js +1 -1
- package/lib/51.js +1 -1
- package/lib/52.js +1 -1
- package/lib/53.js +1 -1
- package/lib/54.js +1 -1
- package/lib/55.js +1 -1
- package/lib/56.js +1 -1
- package/lib/57.js +1 -1
- package/lib/58.js +1 -1
- package/lib/59.js +1 -1
- package/lib/6.js +1 -1
- package/lib/60.js +1 -1
- package/lib/61.js +1 -1
- package/lib/62.js +1 -1
- package/lib/63.js +1 -1
- package/lib/64.js +1 -1
- package/lib/65.js +1 -1
- package/lib/66.js +1 -1
- package/lib/67.js +1 -1
- package/lib/68.js +1 -1
- package/lib/69.js +1 -1
- package/lib/7.js +1 -1
- package/lib/70.js +1 -1
- package/lib/71.js +1 -1
- package/lib/72.js +1 -1
- package/lib/73.js +1 -1
- package/lib/74.js +1 -1
- package/lib/75.js +1 -1
- package/lib/76.js +1 -1
- package/lib/77.js +1 -1
- package/lib/78.js +1 -1
- package/lib/79.js +1 -1
- package/lib/8.js +1 -1
- package/lib/80.js +1 -1
- package/lib/81.js +1 -1
- package/lib/9.js +1 -1
- package/lib/account-login.js +59 -59
- package/lib/alert.js +2 -2
- package/lib/aside.js +2 -2
- package/lib/audit-trajectory.js +2 -2
- package/lib/autocomplete.js +56 -56
- package/lib/avatar.js +2 -2
- package/lib/backtop.js +6 -6
- package/lib/badge.js +2 -2
- package/lib/breadcrumb-item.js +4 -4
- package/lib/breadcrumb.js +4 -4
- package/lib/button-group.js +4 -4
- package/lib/button.js +2 -2
- package/lib/ca-login.js +37 -37
- package/lib/calendar.js +4 -4
- package/lib/card.js +2 -2
- package/lib/carousel-item.js +36 -36
- package/lib/carousel.js +38 -38
- package/lib/cascader-panel.js +71 -71
- package/lib/cascader.js +220 -220
- package/lib/checkbox-button.js +4 -4
- package/lib/checkbox-group.js +65 -65
- package/lib/checkbox.js +6 -6
- package/lib/code-editor.js +1134 -0
- package/lib/col.js +2 -2
- package/lib/collapse-item.js +76 -76
- package/lib/collapse.js +76 -76
- package/lib/color-picker.js +10 -10
- package/lib/container.js +2 -2
- package/lib/cron.js +20 -20
- package/lib/data-table.js +66 -66
- package/lib/date-picker.js +2419 -2419
- package/lib/descriptions-item.js +4 -4
- package/lib/descriptions.js +4 -4
- package/lib/dialog.js +42 -42
- package/lib/divider.js +2 -2
- package/lib/drawer.js +6 -6
- package/lib/dropdown-item.js +8 -8
- package/lib/dropdown-menu.js +20 -20
- package/lib/dropdown.js +40 -40
- package/lib/email-login.js +64 -64
- package/lib/empty.js +2 -2
- package/lib/eoss.common.js +23730 -5967
- package/lib/flip.js +2 -2
- package/lib/flow-group.js +55 -55
- package/lib/flow.js +171 -171
- package/lib/flows.js +77 -77
- package/lib/footer.js +2 -2
- package/lib/form-editor.js +12534 -0
- package/lib/form-item.js +57 -49
- package/lib/form.js +233 -174
- package/lib/guide.js +2 -2
- package/lib/header.js +2 -2
- package/lib/icon.js +38 -38
- package/lib/icons.js +11 -11
- package/lib/image-viewer.js +38 -38
- package/lib/image.js +6 -6
- package/lib/index.js +1 -1
- package/lib/infinite-scroll.js +4 -4
- package/lib/input-number.js +39 -39
- package/lib/input.js +60 -60
- package/lib/link.js +2 -2
- package/lib/loading.js +6 -6
- package/lib/login.js +193 -193
- package/lib/lowcode-view.js +824 -132
- package/lib/lowcode.js +27278 -16925
- package/lib/main.js +270 -257
- package/lib/marquee.js +38 -38
- package/lib/menu-item-group.js +14 -14
- package/lib/menu-item.js +10 -10
- package/lib/menu.js +129 -129
- package/lib/message-box.js +52 -52
- package/lib/message.js +62 -62
- package/lib/notification.js +40 -40
- package/lib/option-group.js +4 -4
- package/lib/option.js +36 -36
- package/lib/page-header.js +2 -2
- package/lib/pagination.js +37 -37
- package/lib/phone-login.js +58 -58
- package/lib/popconfirm.js +4 -4
- package/lib/popover.js +42 -42
- package/lib/process-config.js +65 -65
- package/lib/process-module.js +62 -62
- package/lib/process-rule.js +66 -66
- package/lib/progress.js +2 -2
- package/lib/qr-code.js +6 -6
- package/lib/qrcode-login.js +57 -57
- package/lib/radio-button.js +4 -4
- package/lib/radio-group.js +63 -63
- package/lib/radio.js +6 -6
- package/lib/rate.js +36 -36
- package/lib/retrial-auth.js +55 -55
- package/lib/row.js +2 -2
- package/lib/scrollbar.js +41 -41
- package/lib/select.js +95 -95
- package/lib/selector-panel.js +92 -91
- package/lib/selector.js +935 -935
- package/lib/slider.js +6 -6
- package/lib/step.js +35 -35
- package/lib/steps.js +82 -82
- package/lib/submenu.js +38 -38
- package/lib/switch.js +38 -38
- package/lib/tab-pane.js +4 -4
- package/lib/table-column.js +39 -39
- package/lib/table.js +653 -653
- package/lib/tabs.js +42 -42
- package/lib/tag.js +2 -2
- package/lib/theme-chalk/code-editor.css +1 -0
- package/lib/theme-chalk/form-editor.css +1 -0
- package/lib/theme-chalk/form.css +1 -1
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/lowcode.css +1 -1
- package/lib/theme-chalk/selector.css +1 -1
- package/lib/time-picker.js +1276 -1276
- package/lib/time-select.js +21 -21
- package/lib/timeline-item.js +2 -2
- package/lib/timeline.js +2 -2
- package/lib/tips.js +59 -59
- package/lib/toolbar.js +6 -6
- package/lib/tooltip.js +44 -44
- package/lib/transfer.js +36 -36
- package/lib/tree-group.js +49 -49
- package/lib/tree.js +432 -432
- package/lib/update-history.js +2 -2
- package/lib/upload.js +942 -942
- package/lib/utils/source-generator.js +586 -0
- package/lib/utils/source-parser.js +581 -0
- package/lib/wujie.js +39 -39
- package/package.json +1 -1
- package/packages/code-editor/index.js +5 -0
- package/packages/{lowcode/src/editor.vue → code-editor/src/code-editor.vue} +14 -17
- package/packages/form/src/form-item-render.vue +25 -0
- package/packages/form/src/form-item.vue +10 -3
- package/packages/form-editor/index.js +5 -0
- package/packages/form-editor/src/components.js +6736 -0
- package/packages/form-editor/src/form-editor.vue +981 -0
- package/packages/form-editor/src/props-panel.vue +168 -0
- package/packages/lowcode/src/attribute/bind.vue +5 -5
- package/packages/lowcode/src/attribute/function.vue +24 -9
- package/packages/lowcode/src/attribute/javascript.vue +4 -4
- package/packages/lowcode/src/attribute/property.vue +1 -1
- package/packages/lowcode/src/attribute/props.vue +44 -29
- package/packages/lowcode/src/attribute/styles.vue +1 -1
- package/packages/lowcode/src/attribute.vue +4 -4
- package/packages/lowcode/src/canvas.vue +45 -100
- package/packages/lowcode/src/form-render.vue +25 -13
- package/packages/lowcode/src/json.vue +4 -4
- package/packages/lowcode/src/lowcode.vue +1 -1
- package/packages/lowcode/src/modules.vue +8 -1
- package/packages/lowcode/src/render.vue +14 -9
- package/packages/lowcode/src/source.vue +6 -6
- package/packages/lowcode/src/util/components.js +15646 -68
- package/packages/lowcode/src/util/form-controls.js +87 -0
- package/packages/lowcode/src/util/props-util.js +9 -8
- package/packages/lowcode-view/src/render.vue +13 -6
- package/packages/lowcode-view/src/view.vue +4 -1
- package/packages/main/src/components/user.vue +2 -0
- package/packages/main/src/components/userinfo.vue +22 -14
- package/packages/selector-panel/src/mixin.js +1 -0
- package/packages/theme-chalk/src/code-editor.scss +59 -0
- package/packages/theme-chalk/src/form-editor.scss +240 -0
- package/packages/theme-chalk/src/form.scss +10 -1
- package/packages/theme-chalk/src/index.scss +2 -0
- package/packages/theme-chalk/src/lowcode.scss +1 -42
- package/packages/theme-chalk/src/selector.scss +2 -0
- package/src/index.js +7 -1
- package/{packages/lowcode/src/util → src/utils}/source-generator.js +24 -15
- package/{packages/lowcode/src/util → src/utils}/source-parser.js +67 -23
- /package/packages/{lowcode → code-editor}/src/util/json-repair.js +0 -0
- /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="
|
|
10
|
-
:label="
|
|
11
|
-
: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.
|
|
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
|
|
12
|
+
import EsCodeEditor from 'eoss/packages/code-editor';
|
|
13
13
|
export default {
|
|
14
14
|
name: 'LowJson',
|
|
15
15
|
|
|
16
16
|
components: {
|
|
17
|
-
|
|
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 '
|
|
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: {
|
|
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.
|
|
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
|
-
<!--
|
|
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.
|
|
407
|
-
name: child.
|
|
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.
|
|
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
|
-
*
|
|
454
|
-
*
|
|
454
|
+
* 子节点渲染器:表单控件子节点仅在 es-form 内由 form-render 渲染
|
|
455
|
+
* (es-form-item 包裹层);es-form 外(页面根/普通容器)拖入的控件
|
|
456
|
+
* 裸渲染走通用 Render
|
|
455
457
|
*/
|
|
456
458
|
childRender(child) {
|
|
457
|
-
|
|
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
|
|
13
|
-
import { generateVueSource } from '
|
|
14
|
-
import { parseVueSource } from '
|
|
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
|
-
|
|
20
|
+
EsCodeEditor
|
|
21
21
|
},
|
|
22
22
|
|
|
23
23
|
props: {
|