vxe-pc-ui 4.1.8 → 4.1.9

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 (123) hide show
  1. package/es/form/src/form.js +1 -0
  2. package/es/form-design/src/form-design.js +13 -2
  3. package/es/form-design/src/layout-preview.js +36 -2
  4. package/es/form-design/src/layout-view-item.js +19 -22
  5. package/es/form-design/style.css +44 -16
  6. package/es/form-design/style.min.css +1 -1
  7. package/es/form-design/widget-row/row-view.js +79 -52
  8. package/es/form-design/widget-subtable/subtable-view.js +65 -69
  9. package/es/icon/style.css +1 -1
  10. package/es/language/en-US.js +2 -1
  11. package/es/language/es-ES.js +2 -1
  12. package/es/language/hu-HU.js +2 -1
  13. package/es/language/ja-JP.js +2 -1
  14. package/es/language/ko-KR.js +2 -1
  15. package/es/language/pt-BR.js +2 -1
  16. package/es/language/ru-RU.js +2 -1
  17. package/es/language/vi-VN.js +2 -1
  18. package/es/language/zh-CN.js +2 -1
  19. package/es/language/zh-TC.js +2 -1
  20. package/es/style.css +1 -1
  21. package/es/style.min.css +1 -1
  22. package/es/ui/index.js +2 -1
  23. package/es/ui/src/log.js +1 -1
  24. package/es/upload/src/upload.js +57 -26
  25. package/es/vxe-form-design/style.css +44 -16
  26. package/es/vxe-form-design/style.min.css +1 -1
  27. package/lib/form/src/form.js +1 -0
  28. package/lib/form/src/form.min.js +1 -1
  29. package/lib/form-design/src/form-design.js +17 -2
  30. package/lib/form-design/src/form-design.min.js +1 -1
  31. package/lib/form-design/src/layout-preview.js +46 -2
  32. package/lib/form-design/src/layout-preview.min.js +1 -1
  33. package/lib/form-design/src/layout-view-item.js +18 -28
  34. package/lib/form-design/src/layout-view-item.min.js +1 -1
  35. package/lib/form-design/style/style.css +44 -16
  36. package/lib/form-design/style/style.min.css +1 -1
  37. package/lib/form-design/widget-row/row-view.js +44 -19
  38. package/lib/form-design/widget-row/row-view.min.js +1 -1
  39. package/lib/form-design/widget-subtable/subtable-view.js +76 -81
  40. package/lib/form-design/widget-subtable/subtable-view.min.js +1 -1
  41. package/lib/icon/style/style.css +1 -1
  42. package/lib/icon/style/style.min.css +1 -1
  43. package/lib/index.umd.js +265 -166
  44. package/lib/index.umd.min.js +1 -1
  45. package/lib/language/en-US.js +2 -1
  46. package/lib/language/en-US.min.js +1 -1
  47. package/lib/language/en-US.umd.js +2 -1
  48. package/lib/language/es-ES.js +2 -1
  49. package/lib/language/es-ES.min.js +1 -1
  50. package/lib/language/es-ES.umd.js +2 -1
  51. package/lib/language/hu-HU.js +2 -1
  52. package/lib/language/hu-HU.min.js +1 -1
  53. package/lib/language/ja-JP.js +2 -1
  54. package/lib/language/ja-JP.min.js +1 -1
  55. package/lib/language/ja-JP.umd.js +2 -1
  56. package/lib/language/ko-KR.js +2 -1
  57. package/lib/language/ko-KR.min.js +1 -1
  58. package/lib/language/pt-BR.js +2 -1
  59. package/lib/language/pt-BR.min.js +1 -1
  60. package/lib/language/pt-BR.umd.js +2 -1
  61. package/lib/language/ru-RU.js +2 -1
  62. package/lib/language/ru-RU.min.js +1 -1
  63. package/lib/language/vi-VN.js +2 -1
  64. package/lib/language/vi-VN.min.js +1 -1
  65. package/lib/language/zh-CN.js +2 -1
  66. package/lib/language/zh-CN.min.js +1 -1
  67. package/lib/language/zh-CN.umd.js +2 -1
  68. package/lib/language/zh-HK.min.js +1 -1
  69. package/lib/language/zh-HK.umd.js +2 -1
  70. package/lib/language/zh-MO.min.js +1 -1
  71. package/lib/language/zh-MO.umd.js +2 -1
  72. package/lib/language/zh-TC.js +2 -1
  73. package/lib/language/zh-TC.min.js +1 -1
  74. package/lib/language/zh-TC.umd.js +2 -1
  75. package/lib/language/zh-TW.min.js +1 -1
  76. package/lib/language/zh-TW.umd.js +2 -1
  77. package/lib/style.css +1 -1
  78. package/lib/style.min.css +1 -1
  79. package/lib/ui/index.js +2 -1
  80. package/lib/ui/index.min.js +1 -1
  81. package/lib/ui/src/log.js +1 -1
  82. package/lib/ui/src/log.min.js +1 -1
  83. package/lib/upload/src/upload.js +58 -31
  84. package/lib/upload/src/upload.min.js +1 -1
  85. package/lib/vxe-form-design/style/style.css +44 -16
  86. package/lib/vxe-form-design/style/style.min.css +1 -1
  87. package/package.json +1 -1
  88. package/packages/form/src/form.ts +1 -0
  89. package/packages/form-design/src/form-design.ts +14 -2
  90. package/packages/form-design/src/layout-preview.ts +37 -2
  91. package/packages/form-design/src/layout-view-item.ts +19 -22
  92. package/packages/form-design/widget-row/row-view.ts +79 -52
  93. package/packages/form-design/widget-subtable/subtable-view.ts +66 -73
  94. package/packages/language/en-US.ts +2 -1
  95. package/packages/language/es-ES.ts +2 -1
  96. package/packages/language/hu-HU.ts +2 -1
  97. package/packages/language/ja-JP.ts +2 -1
  98. package/packages/language/ko-KR.ts +2 -1
  99. package/packages/language/pt-BR.ts +2 -1
  100. package/packages/language/ru-RU.ts +2 -1
  101. package/packages/language/vi-VN.ts +2 -1
  102. package/packages/language/zh-CN.ts +2 -1
  103. package/packages/language/zh-TC.ts +2 -1
  104. package/packages/ui/index.ts +1 -0
  105. package/packages/upload/src/upload.ts +61 -27
  106. package/styles/components/form-design.scss +4 -1
  107. package/styles/components/widget-form/row.scss +12 -9
  108. package/styles/components/widget-form/subtable.scss +29 -6
  109. package/types/components/form-design.d.ts +5 -1
  110. package/types/components/upload.d.ts +20 -0
  111. package/types/ui/global-icon.d.ts +1 -0
  112. /package/es/icon/style/{iconfont.1724722761043.ttf → iconfont.1724816726744.ttf} +0 -0
  113. /package/es/icon/style/{iconfont.1724722761043.woff → iconfont.1724816726744.woff} +0 -0
  114. /package/es/icon/style/{iconfont.1724722761043.woff2 → iconfont.1724816726744.woff2} +0 -0
  115. /package/es/{iconfont.1724722761043.ttf → iconfont.1724816726744.ttf} +0 -0
  116. /package/es/{iconfont.1724722761043.woff → iconfont.1724816726744.woff} +0 -0
  117. /package/es/{iconfont.1724722761043.woff2 → iconfont.1724816726744.woff2} +0 -0
  118. /package/lib/icon/style/{iconfont.1724722761043.ttf → iconfont.1724816726744.ttf} +0 -0
  119. /package/lib/icon/style/{iconfont.1724722761043.woff → iconfont.1724816726744.woff} +0 -0
  120. /package/lib/icon/style/{iconfont.1724722761043.woff2 → iconfont.1724816726744.woff2} +0 -0
  121. /package/lib/{iconfont.1724722761043.ttf → iconfont.1724816726744.ttf} +0 -0
  122. /package/lib/{iconfont.1724722761043.woff → iconfont.1724816726744.woff} +0 -0
  123. /package/lib/{iconfont.1724722761043.woff2 → iconfont.1724816726744.woff2} +0 -0
@@ -638,6 +638,7 @@ export default defineComponent({
638
638
  ref: refElem,
639
639
  class: ['vxe-form', className ? (XEUtils.isFunction(className) ? className({ items: formItems, data, $form: $xeForm }) : className) : '', {
640
640
  [`size--${vSize}`]: vSize,
641
+ 'custom--layout': customLayout,
641
642
  'is--loading': loading
642
643
  }],
643
644
  onSubmit: submitEvent,
@@ -57,8 +57,7 @@ export default defineComponent({
57
57
  widgetObjList: [],
58
58
  dragWidget: null,
59
59
  sortWidget: null,
60
- activeWidget: null,
61
- sortSubWidget: null
60
+ activeWidget: null
62
61
  });
63
62
  const internalData = reactive({});
64
63
  const refMaps = {
@@ -116,6 +115,17 @@ export default defineComponent({
116
115
  reactData.formData = Object.assign({}, createSettingForm(), data);
117
116
  return nextTick();
118
117
  };
118
+ const getWidgetById = (id) => {
119
+ const { widgetObjList } = reactData;
120
+ if (id) {
121
+ const widgetId = XEUtils.toNumber(id);
122
+ const rest = XEUtils.findTree(widgetObjList, item => item && item.id === widgetId, { children: 'children' });
123
+ if (rest) {
124
+ return rest.item;
125
+ }
126
+ }
127
+ return null;
128
+ };
119
129
  const getWidgetData = () => {
120
130
  const objList = XEUtils.clone(reactData.widgetObjList, true);
121
131
  XEUtils.eachTree(objList, item => {
@@ -156,6 +166,7 @@ export default defineComponent({
156
166
  reloadConfig,
157
167
  getFormConfig,
158
168
  loadFormConfig,
169
+ getWidgetById,
159
170
  getFormData() {
160
171
  const { widgetObjList } = reactData;
161
172
  const formData = {};
@@ -2,6 +2,7 @@ import { defineComponent, h, inject, TransitionGroup } from 'vue';
2
2
  import { renderer } from '@vxe-ui/core';
3
3
  import { getSlotVNs } from '../../ui/src/vn';
4
4
  import { ViewItemComponent } from './layout-view-item';
5
+ import { hasFormDesignLayoutType } from '../src/util';
5
6
  import VxeFormComponent from '../../form/src/form';
6
7
  import XEUtils from 'xe-utils';
7
8
  export default defineComponent({
@@ -14,7 +15,7 @@ export default defineComponent({
14
15
  return () => [];
15
16
  }
16
17
  const { reactData: formDesignReactData } = $xeFormDesign;
17
- const dragoverEvent = (evnt) => {
18
+ const dragenterEvent = (evnt) => {
18
19
  const { widgetObjList, dragWidget } = formDesignReactData;
19
20
  if (dragWidget) {
20
21
  evnt.preventDefault();
@@ -26,11 +27,40 @@ export default defineComponent({
26
27
  }
27
28
  }
28
29
  };
30
+ let lastDragTime = Date.now();
31
+ const handleDragenterPlaceEvent = (evnt) => {
32
+ const { widgetObjList, sortWidget } = formDesignReactData;
33
+ evnt.stopPropagation();
34
+ if (lastDragTime > Date.now() - 300) {
35
+ evnt.preventDefault();
36
+ return;
37
+ }
38
+ if (sortWidget) {
39
+ if (hasFormDesignLayoutType(sortWidget)) {
40
+ return;
41
+ }
42
+ // const targetRest = XEUtils.findTree(widgetObjList, item => item && item.id === widgetId, { children: 'children' })
43
+ const currRest = XEUtils.findTree(widgetObjList, item => item.id === sortWidget.id, { children: 'children' });
44
+ if (currRest) {
45
+ const { item, index, items, parent } = currRest;
46
+ if (parent && parent.name === 'row') {
47
+ // 如是是从 row 移出
48
+ currRest.items[currRest.index] = $xeFormDesign.createEmptyWidget();
49
+ }
50
+ else {
51
+ items.splice(index, 1);
52
+ }
53
+ widgetObjList.push(item);
54
+ lastDragTime = Date.now();
55
+ $xeFormDesign.dispatchEvent('drag-widget', { widget: item }, evnt);
56
+ }
57
+ }
58
+ };
29
59
  return () => {
30
60
  const { widgetObjList } = formDesignReactData;
31
61
  return h('div', {
32
62
  class: 'vxe-form-design--preview',
33
- onDragover: dragoverEvent
63
+ onDragenter: dragenterEvent
34
64
  }, [
35
65
  h('div', {
36
66
  class: 'vxe-form-design--preview-wrapper'
@@ -68,6 +98,10 @@ export default defineComponent({
68
98
  }
69
99
  });
70
100
  }
101
+ }),
102
+ h('div', {
103
+ class: 'vxe-form-design--preview-place-widget',
104
+ onDragenter: handleDragenterPlaceEvent
71
105
  })
72
106
  ])
73
107
  ]);
@@ -26,28 +26,23 @@ export const ViewItemComponent = defineComponent({
26
26
  }
27
27
  const { reactData: formDesignReactData } = $xeFormDesign;
28
28
  const sortDragstartEvent = (evnt) => {
29
- const { widgetObjList, sortSubWidget } = formDesignReactData;
30
- if (sortSubWidget) {
31
- evnt.preventDefault();
32
- return;
33
- }
29
+ const { widgetObjList } = formDesignReactData;
34
30
  const divEl = evnt.currentTarget;
35
31
  const widgetId = Number(divEl.getAttribute('data-widget-id'));
36
32
  const currRest = XEUtils.findTree(widgetObjList, item => item && item.id === widgetId, { children: 'children' });
37
33
  if (currRest) {
38
34
  formDesignReactData.dragWidget = null;
39
35
  formDesignReactData.sortWidget = currRest.item;
40
- formDesignReactData.sortSubWidget = null;
41
36
  }
42
37
  };
43
38
  const sortDragendEvent = () => {
44
39
  formDesignReactData.activeWidget = formDesignReactData.sortWidget;
45
40
  formDesignReactData.sortWidget = null;
46
41
  };
47
- let isDragAnimate = false;
42
+ let lastDragTime = Date.now();
48
43
  const sortDragenterEvent = (evnt) => {
49
- const { widgetObjList, sortWidget, sortSubWidget } = formDesignReactData;
50
- if (isDragAnimate || sortSubWidget) {
44
+ const { widgetObjList, sortWidget } = formDesignReactData;
45
+ if (lastDragTime > Date.now() - 200) {
51
46
  evnt.preventDefault();
52
47
  return;
53
48
  }
@@ -61,27 +56,29 @@ export const ViewItemComponent = defineComponent({
61
56
  const currRest = XEUtils.findTree(widgetObjList, item => item && item.id === sortWidget.id, { children: 'children' });
62
57
  if (currRest) {
63
58
  // 控件换位置
64
- currRest.items.splice(currRest.index, 1);
59
+ if (currRest.parent && currRest.parent.name === 'row') {
60
+ // 如是是从 row 移出
61
+ currRest.items[currRest.index] = $xeFormDesign.createEmptyWidget();
62
+ }
63
+ else {
64
+ currRest.items.splice(currRest.index, 1);
65
+ }
65
66
  targetRest.items.splice(targetRest.index, 0, currRest.item);
66
67
  $xeFormDesign.dispatchEvent('drag-widget', { widget: currRest.item }, evnt);
67
- isDragAnimate = true;
68
- setTimeout(() => {
69
- isDragAnimate = false;
70
- }, 150);
68
+ lastDragTime = Date.now();
71
69
  }
72
70
  }
73
71
  }
74
72
  }
75
73
  };
76
- const dragoverItemEvent = (evnt) => {
77
- const { sortWidget, dragWidget, sortSubWidget } = formDesignReactData;
78
- if (sortWidget || dragWidget || sortSubWidget) {
79
- evnt.preventDefault();
80
- }
81
- };
74
+ // const dragoverItemEvent = (evnt: DragEvent) => {
75
+ // // const { sortWidget, dragWidget } = formDesignReactData
76
+ // // if (sortWidget || dragWidget) {
77
+ // // evnt.preventDefault()
78
+ // // }
79
+ // }
82
80
  const handleClickEvent = (evnt, item) => {
83
81
  $xeFormDesign.handleClickWidget(evnt, item);
84
- formDesignReactData.sortSubWidget = null;
85
82
  };
86
83
  return () => {
87
84
  const { dragWidget, activeWidget, sortWidget } = formDesignReactData;
@@ -101,7 +98,7 @@ export const ViewItemComponent = defineComponent({
101
98
  onDragstart: sortDragstartEvent,
102
99
  onDragend: sortDragendEvent,
103
100
  onDragenter: sortDragenterEvent,
104
- onDragover: dragoverItemEvent,
101
+ // onDragover: dragoverItemEvent,
105
102
  onClick(evnt) {
106
103
  handleClickEvent(evnt, item);
107
104
  }
@@ -36,12 +36,17 @@
36
36
  .vxe-form-design--widget-row-view {
37
37
  position: relative;
38
38
  height: 100%;
39
+ }
40
+
41
+ .vxe-form-design--widget-row-view-item-inner {
42
+ position: relative;
43
+ height: 100%;
39
44
  min-height: 78px;
40
45
  padding: var(--vxe-ui-layout-padding-default);
41
46
  border: 1px solid transparent;
42
47
  cursor: grabbing;
43
48
  }
44
- .vxe-form-design--widget-row-view::before {
49
+ .vxe-form-design--widget-row-view-item-inner::before {
45
50
  content: "";
46
51
  position: absolute;
47
52
  top: 0;
@@ -50,17 +55,17 @@
50
55
  height: 100%;
51
56
  z-index: 1;
52
57
  }
53
- .vxe-form-design--widget-row-view:hover {
58
+ .vxe-form-design--widget-row-view-item-inner:not(.is--empty):hover {
54
59
  background-color: var(--vxe-ui-form-design-sub-widget-hover-background-color);
55
60
  }
56
- .vxe-form-design--widget-row-view:hover .vxe-form-design--widget-row-view-empty {
61
+ .vxe-form-design--widget-row-view-item-inner:not(.is--empty):hover .vxe-form-design--widget-row-view-empty {
57
62
  background-color: transparent;
58
63
  }
59
- .vxe-form-design--widget-row-view.is--active {
64
+ .vxe-form-design--widget-row-view-item-inner.is--active {
60
65
  border: 1px dashed var(--vxe-ui-font-primary-color);
61
66
  background-color: var(--vxe-ui-base-active-background-color);
62
67
  }
63
- .vxe-form-design--widget-row-view.is--drag, .vxe-form-design--widget-row-view.is--sort {
68
+ .vxe-form-design--widget-row-view-item-inner.is--drag, .vxe-form-design--widget-row-view-item-inner.is--sort {
64
69
  background-color: var(--vxe-ui-base-drag-background-color);
65
70
  }
66
71
 
@@ -78,11 +83,11 @@
78
83
  background-color: var(--vxe-ui-layout-background-color);
79
84
  }
80
85
 
81
- .vxe-form-design--preview-item.widget-row::after, .vxe-form-design--preview-item.widget-subtable::after {
82
- display: none;
83
- }
84
86
  .vxe-form-design--preview-item.widget-row {
85
- padding: var(--vxe-ui-layout-padding-default) 0;
87
+ padding: 0 var(--vxe-ui-layout-padding-default);
88
+ }
89
+ .vxe-form-design--preview-item.widget-row::after {
90
+ display: none;
86
91
  }
87
92
 
88
93
  .vxe-form-design--widget-subtable-view {
@@ -92,6 +97,7 @@
92
97
  border-radius: var(--vxe-ui-base-border-radius);
93
98
  overflow-y: hidden;
94
99
  overflow-x: auto;
100
+ padding-top: var(--vxe-ui-layout-padding-default);
95
101
  }
96
102
 
97
103
  .vxe-form-design--widget-subtable-view-box {
@@ -108,7 +114,6 @@
108
114
  top: 0;
109
115
  display: flex;
110
116
  flex-shrink: 0;
111
- padding-top: var(--vxe-ui-layout-padding-default);
112
117
  box-shadow: 8px 0px 10px -5px rgba(0, 0, 0, 0.12);
113
118
  border-radius: var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius);
114
119
  z-index: 5;
@@ -116,7 +121,6 @@
116
121
 
117
122
  .vxe-form-design--widget-subtable-view-right {
118
123
  flex-grow: 1;
119
- padding-top: var(--vxe-ui-layout-padding-default);
120
124
  }
121
125
 
122
126
  .vxe-form-design--widget-subtable-col {
@@ -177,13 +181,23 @@
177
181
  }
178
182
 
179
183
  .vxe-form-design--widget-subtable-view-wrapper {
184
+ position: relative;
180
185
  display: flex;
181
186
  flex-direction: row;
182
- border: 1px solid var(--vxe-ui-input-border-color);
183
- border-left: 0;
184
187
  background-color: var(--vxe-ui-layout-background-color);
185
188
  border-radius: 0 var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0;
186
189
  }
190
+ .vxe-form-design--widget-subtable-view-wrapper::before {
191
+ content: "";
192
+ position: absolute;
193
+ top: 0;
194
+ left: 0;
195
+ width: 100%;
196
+ height: 100%;
197
+ border: 1px solid var(--vxe-ui-input-border-color);
198
+ z-index: 1;
199
+ pointer-events: none;
200
+ }
187
201
 
188
202
  .vxe-form-design--widget-subtable-view-list {
189
203
  display: flex;
@@ -204,7 +218,7 @@
204
218
  cursor: grabbing;
205
219
  }
206
220
  .vxe-form-design--widget-subtable-view-item:hover {
207
- background: var(--vxe-ui-base-active-background-color);
221
+ background-color: var(--vxe-ui-form-design-sub-widget-hover-background-color);
208
222
  }
209
223
  .vxe-form-design--widget-subtable-view-item.is--active {
210
224
  background: var(--vxe-ui-base-active-background-color);
@@ -239,7 +253,7 @@
239
253
  color: var(--vxe-ui-font-placeholder-color);
240
254
  padding: 0 var(--vxe-ui-layout-padding-threefold);
241
255
  min-height: 78px;
242
- min-width: 260px;
256
+ min-width: 200px;
243
257
  cursor: default;
244
258
  }
245
259
 
@@ -275,6 +289,16 @@
275
289
  border-bottom: 1px solid var(--vxe-ui-input-border-color);
276
290
  }
277
291
 
292
+ .vxe-form-design--preview-item.widget-subtable {
293
+ padding: 0 var(--vxe-ui-layout-padding-double);
294
+ }
295
+ .vxe-form-design--preview-item.widget-subtable::after {
296
+ display: none;
297
+ }
298
+ .vxe-form-design--preview-item .vxe-form-design--preview-item-view .vxe-form-design--widget-subtable-form-item {
299
+ padding: 0;
300
+ }
301
+
278
302
  .vxe-form-design--widget-form-item-devices {
279
303
  display: flex;
280
304
  flex-direction: column;
@@ -633,6 +657,10 @@
633
657
  border: 1px solid var(--vxe-ui-input-border-color);
634
658
  }
635
659
 
660
+ .vxe-form-design--preview-place-widget {
661
+ height: 5.6em;
662
+ }
663
+
636
664
  .vxe-form-design--widget-list {
637
665
  display: flex;
638
666
  flex-direction: row;
@@ -714,7 +742,7 @@
714
742
  .vxe-form-design--preview-item {
715
743
  position: relative;
716
744
  display: block;
717
- padding: var(--vxe-ui-layout-padding-default);
745
+ padding: var(--vxe-ui-layout-padding-default) var(--vxe-ui-layout-padding-double);
718
746
  border: 1px solid transparent;
719
747
  cursor: grabbing;
720
748
  }
@@ -1 +1 @@
1
- .vxe-form-design--widget-form-empty-data{text-align:center;color:var(--vxe-ui-input-placeholder-color);border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);padding:var(--vxe-ui-layout-padding-double)}.vxe-form-design--widget-row-form-row{border:1px solid var(--vxe-ui-input-border-color);margin-bottom:var(--vxe-ui-layout-padding-default);border-radius:var(--vxe-ui-base-border-radius);cursor:pointer}.vxe-form-design--widget-row-form-row:hover{border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-row-form-row.is--active{border-color:var(--vxe-ui-font-primary-color);color:var(--vxe-ui-layout-background-color)}.vxe-form-design--widget-row-form-row.is--active .vxe-form-design--widget-row-form-col div{background:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-row-form-col{padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-row-form-col>div{line-height:24px;background:var(--vxe-ui-font-tinge-color);text-align:center;border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-row-view{position:relative;height:100%;min-height:78px;padding:var(--vxe-ui-layout-padding-default);border:1px solid transparent;cursor:grabbing}.vxe-form-design--widget-row-view::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-row-view:hover{background-color:var(--vxe-ui-form-design-sub-widget-hover-background-color)}.vxe-form-design--widget-row-view:hover .vxe-form-design--widget-row-view-empty{background-color:transparent}.vxe-form-design--widget-row-view.is--active{border:1px dashed var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-row-view.is--drag,.vxe-form-design--widget-row-view.is--sort{background-color:var(--vxe-ui-base-drag-background-color)}.vxe-form-design--widget-row-view-empty{display:flex;flex-direction:row;align-items:center;justify-content:center;height:100%;width:100%;padding:var(--vxe-ui-layout-padding-default);color:var(--vxe-ui-font-placeholder-color);border:2px dashed var(--vxe-ui-input-border-color);font-size:.95em;background-color:var(--vxe-ui-layout-background-color)}.vxe-form-design--preview-item.widget-row::after,.vxe-form-design--preview-item.widget-subtable::after{display:none}.vxe-form-design--preview-item.widget-row{padding:var(--vxe-ui-layout-padding-default) 0}.vxe-form-design--widget-subtable-view{display:flex;flex-direction:row;max-width:100%;border-radius:var(--vxe-ui-base-border-radius);overflow-y:hidden;overflow-x:auto}.vxe-form-design--widget-subtable-view-box{border:1px solid var(--vxe-ui-input-border-color);border-width:1px 1px 1px 0;display:inline-flex;flex-direction:row;flex-wrap:nowrap}.vxe-form-design--widget-subtable-view-left{position:sticky;left:0;top:0;display:flex;flex-shrink:0;padding-top:var(--vxe-ui-layout-padding-default);box-shadow:8px 0 10px -5px rgba(0,0,0,.12);border-radius:var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius);z-index:5}.vxe-form-design--widget-subtable-view-right{flex-grow:1;padding-top:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-col{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;min-width:54px;text-align:center;border-top:1px solid var(--vxe-ui-input-border-color);border-right:1px solid var(--vxe-ui-input-border-color);border-bottom:1px solid var(--vxe-ui-input-border-color);background-color:var(--vxe-ui-layout-background-color)}.vxe-form-design--widget-subtable-col:first-child{border-left:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-subtable-col::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-subtable-head{flex-shrink:0;height:2.8em;line-height:2.8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--vxe-ui-layout-padding-default);border-bottom:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-subtable-body{flex-grow:1;padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-body,.vxe-form-design--widget-subtable-head{width:100%}.vxe-form-design--widget-subtable-body,.vxe-form-design--widget-subtable-view-empty{display:flex;flex-direction:row;align-items:center;justify-content:center}.vxe-form-design--widget-subtable-view-wrapper{display:flex;flex-direction:row;border:1px solid var(--vxe-ui-input-border-color);border-left:0;background-color:var(--vxe-ui-layout-background-color);border-radius:0 var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0}.vxe-form-design--widget-subtable-view-list{display:flex;flex-direction:row;flex-wrap:nowrap}.vxe-form-design--widget-subtable-view-list>.vxe-form-design--widget-subtable-view-item{border-right:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-subtable-view-list-move{transition:transform .35s ease-in-out}.vxe-form-design--widget-subtable-view-item{position:relative;min-width:200px;cursor:grabbing}.vxe-form-design--widget-subtable-view-item:hover{background:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-subtable-view-item.is--active{background:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-subtable-view-item.is--active::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:1px dashed var(--vxe-ui-font-primary-color);pointer-events:none;z-index:2}.vxe-form-design--widget-subtable-view-item-box{height:100%}.vxe-form-design--widget-subtable-view-item-box::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-subtable-view-empty{flex-grow:1;color:var(--vxe-ui-font-placeholder-color);padding:0 var(--vxe-ui-layout-padding-threefold);min-height:78px;min-width:260px;cursor:default}.vxe-form-design--widget-subtable-form-item{overflow:hidden}.vxe-form-design--widget-subtable-form-item>.vxe-form--item-inner{overflow:hidden}.vxe-form-design--widget-subtable-form-item>.vxe-form--item-inner>.vxe-form--item-content{overflow:hidden}.vxe-form-design--widget-subtable-view-item-wrapper{height:100%}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical{padding:0}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical .vxe-form--item-title{height:2.8em;line-height:2.8em;padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical .vxe-form--item-content{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item-title{border-bottom:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-form-item-devices{display:flex;flex-direction:column}.vxe-form-design--widget-form-item-layout{display:flex;flex-direction:row}.vxe-form-design--widget-form-item-option{width:50%;text-align:center;padding:var(--vxe-ui-layout-padding-default);margin:0 var(--vxe-ui-layout-padding-default);border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);cursor:pointer}.vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row{display:flex;flex-direction:column}.vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row:nth-child(1)::before{content:"";display:block;width:30%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{content:"";display:block;width:100%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row{display:flex;flex-direction:row}.vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(1)::before,.vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{content:"";display:block;width:30%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(1)::after,.vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(2)::after{content:"";display:block;width:70%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-form-item-option:hover{border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-form-item-option.is--active{color:var(--vxe-ui-font-primary-color);border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(1)::after,.vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(1)::before,.vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(2)::after,.vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{background-color:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-form-item-option-row{margin-bottom:.2em}.vxe-form-design--widget-form-item-data-source-wrapper{max-height:30vh;min-height:140px;overflow:auto}.vxe-form-design--widget-form-item-data-source-type{margin-bottom:16px}.vxe-form-design--widget-form-item-data-source-option{position:relative;display:flex;flex-direction:row;padding:var(--vxe-ui-layout-padding-half) 0}.vxe-form-design--widget-form-item-data-source-option::before{content:"";position:absolute;top:0;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:100%;border:1px dotted var(--vxe-ui-base-popup-border-color);border-width:0 0 0 1px}.vxe-form-design--widget-form-item-data-source-option::after{content:"";position:absolute;top:50%;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:0;border-top:1px dotted var(--vxe-ui-base-popup-border-color)}.vxe-form-design--widget-form-item-data-source-option.is--first::before{top:50%;height:50%}.vxe-form-design--widget-form-item-data-source-option.is--last::before{height:50%}.vxe-form-design--widget-form-item-data-source-option .vxe-button{flex-shrink:0}.vxe-form-design--widget-form-item-data-source-option .vxe-form-design--widget-expand-btn{display:flex;flex-direction:row;align-items:center;width:2em}.vxe-form-design--widget-form-item-data-source-option .vxe-form-design--widget-expand-btn i{cursor:pointer;background-color:var(--vxe-ui-layout-background-color);transition:transform .1s ease-in-out;z-index:2}.vxe-form-design--widget-form-item-data-source-sub-option{position:relative}.vxe-form-design--widget-form-item-data-source-sub-option::before{content:"";position:absolute;top:0;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:100%;border:1px dotted var(--vxe-ui-base-popup-border-color);border-width:0 0 0 1px}.vxe-form-design--widget-form-item-data-source-sub-option:last-child::before{display:none}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option{padding-left:var(--vxe-ui-layout-padding-double)}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option:first-child::before{top:0;height:50%}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option::before{top:-50%;left:calc(var(--vxe-ui-layout-padding-double) + .5em);width:var(--vxe-ui-layout-padding-default);height:100%}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option::after{left:calc(var(--vxe-ui-layout-padding-double) + .5em)}.vxe-form-design--widget-form-item-data-source-popup{height:100%;display:flex;flex-direction:column;overflow:auto}.vxe-form-design--widget-form-item-data-source-popup>.vxe-textarea{flex-grow:1}.vxe-form-design--widget-form-item-data-source-popup>.vxe-textarea .vxe-textarea--inner{height:100%}.vxe-form-design--widget-form-item-prop-list{margin-bottom:var(--vxe-ui-layout-padding-double);padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-form-item-prop-list:first-child{margin-top:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-form-item-prop-list>span{padding:0 .5em}.vxe-form-design--widget-form-item-prop-list>span:first-child{padding:0;padding-right:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-unit,.vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-width,.vxe-form-design--widget-form-item-prop-list>span:first-child{display:inline-flex;vertical-align:middle}.vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-width{width:90px}.vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-unit{width:90px}.vxe-list-design--widget-form-item-prop-list{margin-bottom:var(--vxe-ui-layout-padding-double);padding:0 var(--vxe-ui-layout-padding-default)}.vxe-list-design--widget-form-item-prop-list:first-child{margin-top:var(--vxe-ui-layout-padding-default)}.vxe-list-design--widget-form-item-prop-list:last-child{margin-bottom:0}.vxe-list-design--widget-form-item-prop-list>span{padding:0 .5em}.vxe-list-design--widget-form-item-prop-list>span:first-child{padding:0;padding-right:var(--vxe-ui-layout-padding-default)}.vxe-form-design{display:flex;flex-direction:column;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family)}.vxe-form-design{font-size:var(--vxe-ui-font-size-default)}.vxe-form-design.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-form-design.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-form-design.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-form-design--body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-form-design--header{flex-shrink:0;padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design--header-wrapper{display:flex;flex-direction:row;align-items:center;width:100%;min-height:3em;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--header-left,.vxe-form-design--header-right{flex-shrink:0}.vxe-form-design--header-middle{flex-grow:1}.vxe-form-design--layout-style{display:flex;flex-direction:row;height:100%;overflow:hidden}.vxe-form-design--layout-style-preview{flex-grow:1;padding-right:var(--vxe-ui-layout-padding-default);overflow:hidden}.vxe-form-design--layout-style-preview>.vxe-form-view{height:100%;width:100%;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);overflow:auto}.vxe-form-design--layout-style-preview.is--mobile>.vxe-form-view{width:400px;margin:0 auto}.vxe-form-design--layout-style-preview .vxe-form--item-content::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--layout-style-setting{flex-shrink:0;width:300px;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-layout-background-color);z-index:1;overflow:auto}.vxe-form-design--widget{width:280px;flex-shrink:0;overflow:auto}.vxe-form-design--setting,.vxe-form-design--widget{padding:var(--vxe-ui-layout-padding-default);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--setting{width:300px;flex-shrink:0;overflow:auto}.vxe-form-design--preview{flex-grow:1;overflow:auto;padding:var(--vxe-ui-layout-padding-default) var(--vxe-ui-layout-padding-half);-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-form-design--preview-wrapper{width:100%;height:100%;overflow:auto;padding:var(--vxe-ui-layout-padding-default) 0;background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-list{display:flex;flex-direction:row;flex-wrap:wrap}.vxe-form-design--widget-title{font-weight:700;padding:var(--vxe-ui-layout-padding-half) 0 var(--vxe-ui-layout-padding-half) var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-group{border-radius:var(--vxe-ui-base-border-radius);padding:var(--vxe-ui-layout-padding-default);margin-bottom:var(--vxe-ui-layout-padding-default);background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-item{width:50%;padding:var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-box{position:relative;height:32px;line-height:32px;font-size:var(--vxe-ui-form-design-widget-item-font-size);padding:0 var(--vxe-ui-layout-padding-half);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-input-border-color);background-color:var(--vxe-ui-layout-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-form-design--widget-box:hover{border-color:var(--vxe-ui-font-primary-lighten-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-box:hover .vxe-form-design--widget-item-add{display:block}.vxe-form-design--widget-item-icon{padding:0 .2em}.vxe-form-design--widget-item-name{padding-left:var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-item-add{display:none;position:absolute;top:0;right:var(--vxe-ui-layout-padding-default);width:1em;height:100%;cursor:pointer}.vxe-form-design--widget-item-add:hover{color:var(--vxe-ui-font-primary-color)}.vxe-form-design--preview-list{width:100%}.vxe-form-design--preview-list-move{transition:transform .35s ease-in-out}.vxe-form-design--preview-item{position:relative;display:block;padding:var(--vxe-ui-layout-padding-default);border:1px solid transparent;cursor:grabbing}.vxe-form-design--preview-item::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--preview-item:hover{background-color:var(--vxe-ui-form-design-widget-hover-background-color)}.vxe-form-design--preview-item.is--active{border:1px dashed var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--preview-item.is--drag,.vxe-form-design--preview-item.is--sort{background-color:var(--vxe-ui-base-drag-background-color)}.vxe-form-design--preview-item-view{width:100%}.vxe-form-design--preview-item-operate{position:absolute;top:calc(var(--vxe-ui-layout-padding-default) * -1);right:var(--vxe-ui-layout-padding-default);z-index:3}.vxe-form-design--setting-form{height:100%;background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--setting-form-tabs{height:100%}.vxe-form-design .vxe-form--item.vxe-form-design--widget-render-form-item{padding:0}
1
+ .vxe-form-design--widget-form-empty-data{text-align:center;color:var(--vxe-ui-input-placeholder-color);border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);padding:var(--vxe-ui-layout-padding-double)}.vxe-form-design--widget-row-form-row{border:1px solid var(--vxe-ui-input-border-color);margin-bottom:var(--vxe-ui-layout-padding-default);border-radius:var(--vxe-ui-base-border-radius);cursor:pointer}.vxe-form-design--widget-row-form-row:hover{border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-row-form-row.is--active{border-color:var(--vxe-ui-font-primary-color);color:var(--vxe-ui-layout-background-color)}.vxe-form-design--widget-row-form-row.is--active .vxe-form-design--widget-row-form-col div{background:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-row-form-col{padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-row-form-col>div{line-height:24px;background:var(--vxe-ui-font-tinge-color);text-align:center;border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-row-view{position:relative;height:100%}.vxe-form-design--widget-row-view-item-inner{position:relative;height:100%;min-height:78px;padding:var(--vxe-ui-layout-padding-default);border:1px solid transparent;cursor:grabbing}.vxe-form-design--widget-row-view-item-inner::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-row-view-item-inner:not(.is--empty):hover{background-color:var(--vxe-ui-form-design-sub-widget-hover-background-color)}.vxe-form-design--widget-row-view-item-inner:not(.is--empty):hover .vxe-form-design--widget-row-view-empty{background-color:transparent}.vxe-form-design--widget-row-view-item-inner.is--active{border:1px dashed var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-row-view-item-inner.is--drag,.vxe-form-design--widget-row-view-item-inner.is--sort{background-color:var(--vxe-ui-base-drag-background-color)}.vxe-form-design--widget-row-view-empty{display:flex;flex-direction:row;align-items:center;justify-content:center;height:100%;width:100%;padding:var(--vxe-ui-layout-padding-default);color:var(--vxe-ui-font-placeholder-color);border:2px dashed var(--vxe-ui-input-border-color);font-size:.95em;background-color:var(--vxe-ui-layout-background-color)}.vxe-form-design--preview-item.widget-row{padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design--preview-item.widget-row::after{display:none}.vxe-form-design--widget-subtable-view{display:flex;flex-direction:row;max-width:100%;border-radius:var(--vxe-ui-base-border-radius);overflow-y:hidden;overflow-x:auto;padding-top:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-view-box{border:1px solid var(--vxe-ui-input-border-color);border-width:1px 1px 1px 0;display:inline-flex;flex-direction:row;flex-wrap:nowrap}.vxe-form-design--widget-subtable-view-left{position:sticky;left:0;top:0;display:flex;flex-shrink:0;box-shadow:8px 0 10px -5px rgba(0,0,0,.12);border-radius:var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius);z-index:5}.vxe-form-design--widget-subtable-view-right{flex-grow:1}.vxe-form-design--widget-subtable-col{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;min-width:54px;text-align:center;border-top:1px solid var(--vxe-ui-input-border-color);border-right:1px solid var(--vxe-ui-input-border-color);border-bottom:1px solid var(--vxe-ui-input-border-color);background-color:var(--vxe-ui-layout-background-color)}.vxe-form-design--widget-subtable-col:first-child{border-left:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-subtable-col::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-subtable-head{flex-shrink:0;height:2.8em;line-height:2.8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--vxe-ui-layout-padding-default);border-bottom:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-subtable-body{flex-grow:1;padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-body,.vxe-form-design--widget-subtable-head{width:100%}.vxe-form-design--widget-subtable-body,.vxe-form-design--widget-subtable-view-empty{display:flex;flex-direction:row;align-items:center;justify-content:center}.vxe-form-design--widget-subtable-view-wrapper{position:relative;display:flex;flex-direction:row;background-color:var(--vxe-ui-layout-background-color);border-radius:0 var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0}.vxe-form-design--widget-subtable-view-wrapper::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid var(--vxe-ui-input-border-color);z-index:1;pointer-events:none}.vxe-form-design--widget-subtable-view-list{display:flex;flex-direction:row;flex-wrap:nowrap}.vxe-form-design--widget-subtable-view-list>.vxe-form-design--widget-subtable-view-item{border-right:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-subtable-view-list-move{transition:transform .35s ease-in-out}.vxe-form-design--widget-subtable-view-item{position:relative;min-width:200px;cursor:grabbing}.vxe-form-design--widget-subtable-view-item:hover{background-color:var(--vxe-ui-form-design-sub-widget-hover-background-color)}.vxe-form-design--widget-subtable-view-item.is--active{background:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-subtable-view-item.is--active::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:1px dashed var(--vxe-ui-font-primary-color);pointer-events:none;z-index:2}.vxe-form-design--widget-subtable-view-item-box{height:100%}.vxe-form-design--widget-subtable-view-item-box::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-subtable-view-empty{flex-grow:1;color:var(--vxe-ui-font-placeholder-color);padding:0 var(--vxe-ui-layout-padding-threefold);min-height:78px;min-width:200px;cursor:default}.vxe-form-design--widget-subtable-form-item{overflow:hidden}.vxe-form-design--widget-subtable-form-item>.vxe-form--item-inner{overflow:hidden}.vxe-form-design--widget-subtable-form-item>.vxe-form--item-inner>.vxe-form--item-content{overflow:hidden}.vxe-form-design--widget-subtable-view-item-wrapper{height:100%}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical{padding:0}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical .vxe-form--item-title{height:2.8em;line-height:2.8em;padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical .vxe-form--item-content{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item-title{border-bottom:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--preview-item.widget-subtable{padding:0 var(--vxe-ui-layout-padding-double)}.vxe-form-design--preview-item.widget-subtable::after{display:none}.vxe-form-design--preview-item .vxe-form-design--preview-item-view .vxe-form-design--widget-subtable-form-item{padding:0}.vxe-form-design--widget-form-item-devices{display:flex;flex-direction:column}.vxe-form-design--widget-form-item-layout{display:flex;flex-direction:row}.vxe-form-design--widget-form-item-option{width:50%;text-align:center;padding:var(--vxe-ui-layout-padding-default);margin:0 var(--vxe-ui-layout-padding-default);border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);cursor:pointer}.vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row{display:flex;flex-direction:column}.vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row:nth-child(1)::before{content:"";display:block;width:30%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{content:"";display:block;width:100%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row{display:flex;flex-direction:row}.vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(1)::before,.vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{content:"";display:block;width:30%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(1)::after,.vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(2)::after{content:"";display:block;width:70%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-form-item-option:hover{border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-form-item-option.is--active{color:var(--vxe-ui-font-primary-color);border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(1)::after,.vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(1)::before,.vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(2)::after,.vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{background-color:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-form-item-option-row{margin-bottom:.2em}.vxe-form-design--widget-form-item-data-source-wrapper{max-height:30vh;min-height:140px;overflow:auto}.vxe-form-design--widget-form-item-data-source-type{margin-bottom:16px}.vxe-form-design--widget-form-item-data-source-option{position:relative;display:flex;flex-direction:row;padding:var(--vxe-ui-layout-padding-half) 0}.vxe-form-design--widget-form-item-data-source-option::before{content:"";position:absolute;top:0;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:100%;border:1px dotted var(--vxe-ui-base-popup-border-color);border-width:0 0 0 1px}.vxe-form-design--widget-form-item-data-source-option::after{content:"";position:absolute;top:50%;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:0;border-top:1px dotted var(--vxe-ui-base-popup-border-color)}.vxe-form-design--widget-form-item-data-source-option.is--first::before{top:50%;height:50%}.vxe-form-design--widget-form-item-data-source-option.is--last::before{height:50%}.vxe-form-design--widget-form-item-data-source-option .vxe-button{flex-shrink:0}.vxe-form-design--widget-form-item-data-source-option .vxe-form-design--widget-expand-btn{display:flex;flex-direction:row;align-items:center;width:2em}.vxe-form-design--widget-form-item-data-source-option .vxe-form-design--widget-expand-btn i{cursor:pointer;background-color:var(--vxe-ui-layout-background-color);transition:transform .1s ease-in-out;z-index:2}.vxe-form-design--widget-form-item-data-source-sub-option{position:relative}.vxe-form-design--widget-form-item-data-source-sub-option::before{content:"";position:absolute;top:0;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:100%;border:1px dotted var(--vxe-ui-base-popup-border-color);border-width:0 0 0 1px}.vxe-form-design--widget-form-item-data-source-sub-option:last-child::before{display:none}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option{padding-left:var(--vxe-ui-layout-padding-double)}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option:first-child::before{top:0;height:50%}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option::before{top:-50%;left:calc(var(--vxe-ui-layout-padding-double) + .5em);width:var(--vxe-ui-layout-padding-default);height:100%}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option::after{left:calc(var(--vxe-ui-layout-padding-double) + .5em)}.vxe-form-design--widget-form-item-data-source-popup{height:100%;display:flex;flex-direction:column;overflow:auto}.vxe-form-design--widget-form-item-data-source-popup>.vxe-textarea{flex-grow:1}.vxe-form-design--widget-form-item-data-source-popup>.vxe-textarea .vxe-textarea--inner{height:100%}.vxe-form-design--widget-form-item-prop-list{margin-bottom:var(--vxe-ui-layout-padding-double);padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-form-item-prop-list:first-child{margin-top:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-form-item-prop-list>span{padding:0 .5em}.vxe-form-design--widget-form-item-prop-list>span:first-child{padding:0;padding-right:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-unit,.vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-width,.vxe-form-design--widget-form-item-prop-list>span:first-child{display:inline-flex;vertical-align:middle}.vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-width{width:90px}.vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-unit{width:90px}.vxe-list-design--widget-form-item-prop-list{margin-bottom:var(--vxe-ui-layout-padding-double);padding:0 var(--vxe-ui-layout-padding-default)}.vxe-list-design--widget-form-item-prop-list:first-child{margin-top:var(--vxe-ui-layout-padding-default)}.vxe-list-design--widget-form-item-prop-list:last-child{margin-bottom:0}.vxe-list-design--widget-form-item-prop-list>span{padding:0 .5em}.vxe-list-design--widget-form-item-prop-list>span:first-child{padding:0;padding-right:var(--vxe-ui-layout-padding-default)}.vxe-form-design{display:flex;flex-direction:column;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family)}.vxe-form-design{font-size:var(--vxe-ui-font-size-default)}.vxe-form-design.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-form-design.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-form-design.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-form-design--body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-form-design--header{flex-shrink:0;padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design--header-wrapper{display:flex;flex-direction:row;align-items:center;width:100%;min-height:3em;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--header-left,.vxe-form-design--header-right{flex-shrink:0}.vxe-form-design--header-middle{flex-grow:1}.vxe-form-design--layout-style{display:flex;flex-direction:row;height:100%;overflow:hidden}.vxe-form-design--layout-style-preview{flex-grow:1;padding-right:var(--vxe-ui-layout-padding-default);overflow:hidden}.vxe-form-design--layout-style-preview>.vxe-form-view{height:100%;width:100%;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);overflow:auto}.vxe-form-design--layout-style-preview.is--mobile>.vxe-form-view{width:400px;margin:0 auto}.vxe-form-design--layout-style-preview .vxe-form--item-content::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--layout-style-setting{flex-shrink:0;width:300px;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-layout-background-color);z-index:1;overflow:auto}.vxe-form-design--widget{width:280px;flex-shrink:0;overflow:auto}.vxe-form-design--setting,.vxe-form-design--widget{padding:var(--vxe-ui-layout-padding-default);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--setting{width:300px;flex-shrink:0;overflow:auto}.vxe-form-design--preview{flex-grow:1;overflow:auto;padding:var(--vxe-ui-layout-padding-default) var(--vxe-ui-layout-padding-half);-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-form-design--preview-wrapper{width:100%;height:100%;overflow:auto;padding:var(--vxe-ui-layout-padding-default) 0;background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--preview-place-widget{height:5.6em}.vxe-form-design--widget-list{display:flex;flex-direction:row;flex-wrap:wrap}.vxe-form-design--widget-title{font-weight:700;padding:var(--vxe-ui-layout-padding-half) 0 var(--vxe-ui-layout-padding-half) var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-group{border-radius:var(--vxe-ui-base-border-radius);padding:var(--vxe-ui-layout-padding-default);margin-bottom:var(--vxe-ui-layout-padding-default);background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-item{width:50%;padding:var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-box{position:relative;height:32px;line-height:32px;font-size:var(--vxe-ui-form-design-widget-item-font-size);padding:0 var(--vxe-ui-layout-padding-half);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-input-border-color);background-color:var(--vxe-ui-layout-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-form-design--widget-box:hover{border-color:var(--vxe-ui-font-primary-lighten-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-box:hover .vxe-form-design--widget-item-add{display:block}.vxe-form-design--widget-item-icon{padding:0 .2em}.vxe-form-design--widget-item-name{padding-left:var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-item-add{display:none;position:absolute;top:0;right:var(--vxe-ui-layout-padding-default);width:1em;height:100%;cursor:pointer}.vxe-form-design--widget-item-add:hover{color:var(--vxe-ui-font-primary-color)}.vxe-form-design--preview-list{width:100%}.vxe-form-design--preview-list-move{transition:transform .35s ease-in-out}.vxe-form-design--preview-item{position:relative;display:block;padding:var(--vxe-ui-layout-padding-default) var(--vxe-ui-layout-padding-double);border:1px solid transparent;cursor:grabbing}.vxe-form-design--preview-item::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--preview-item:hover{background-color:var(--vxe-ui-form-design-widget-hover-background-color)}.vxe-form-design--preview-item.is--active{border:1px dashed var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--preview-item.is--drag,.vxe-form-design--preview-item.is--sort{background-color:var(--vxe-ui-base-drag-background-color)}.vxe-form-design--preview-item-view{width:100%}.vxe-form-design--preview-item-operate{position:absolute;top:calc(var(--vxe-ui-layout-padding-default) * -1);right:var(--vxe-ui-layout-padding-default);z-index:3}.vxe-form-design--setting-form{height:100%;background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--setting-form-tabs{height:100%}.vxe-form-design .vxe-form--item.vxe-form-design--widget-render-form-item{padding:0}
@@ -31,27 +31,46 @@ const ViewColItemComponent = defineComponent({
31
31
  return () => [];
32
32
  }
33
33
  const { reactData: formDesignReactData } = $xeFormDesign;
34
- const handleDragoverColItem = (evnt) => {
34
+ const handleDragstartColItemEvent = (evnt) => {
35
+ evnt.stopPropagation();
36
+ const divEl = evnt.currentTarget;
37
+ const dataTransfer = evnt.dataTransfer;
38
+ const widgetId = divEl.getAttribute('data-widget-id') || '';
39
+ const dragWidget = $xeFormDesign.getWidgetById(widgetId);
40
+ if (dataTransfer) {
41
+ dataTransfer.setData('text/plain', widgetId);
42
+ }
43
+ formDesignReactData.sortWidget = dragWidget;
44
+ formDesignReactData.dragWidget = null;
45
+ };
46
+ const sortDragenterColItemEvent = (evnt) => {
35
47
  const { parentWidget, colItemIndex } = props;
36
48
  const { widgetObjList, sortWidget } = formDesignReactData;
37
- const currWidget = parentWidget.children[colItemIndex];
49
+ const targetWidget = parentWidget.children[colItemIndex];
38
50
  evnt.stopPropagation();
39
51
  if (sortWidget && parentWidget && sortWidget.id !== parentWidget.id) {
40
52
  if (hasFormDesignLayoutType(sortWidget)) {
41
53
  return;
42
54
  }
43
- if ((!currWidget || !currWidget.name) && !hasFormDesignLayoutType(currWidget)) {
44
- const rest = XEUtils.findTree(widgetObjList, item => item.id === sortWidget.id, { children: 'children' });
45
- if (rest) {
46
- const { item, index, items } = rest;
55
+ if (!hasFormDesignLayoutType(targetWidget)) {
56
+ const currRest = XEUtils.findTree(widgetObjList, item => item.id === sortWidget.id, { children: 'children' });
57
+ if (currRest) {
58
+ const { item, index, items, parent } = currRest;
47
59
  // 如果数据异常,动态修复
48
- if (!parentWidget.children.length) {
49
- parentWidget.children = XEUtils.range(0, parentWidget.options.colSize).map(() => {
50
- return $xeFormDesign.createEmptyWidget();
60
+ if (parentWidget.children.length !== parentWidget.options.colSize) {
61
+ parentWidget.children = XEUtils.range(0, parentWidget.options.colSize).map((index) => {
62
+ return parentWidget.children[index] || $xeFormDesign.createEmptyWidget();
51
63
  });
52
64
  }
53
- parentWidget.children[colItemIndex] = item;
54
- items.splice(index, 1);
65
+ // 如果是 row 内移动
66
+ if (parent && parent.id === parentWidget.id) {
67
+ parentWidget.children[colItemIndex] = item;
68
+ parentWidget.children[index] = targetWidget;
69
+ }
70
+ else {
71
+ parentWidget.children[colItemIndex] = item;
72
+ items.splice(index, 1);
73
+ }
55
74
  $xeFormDesign.dispatchEvent('drag-widget', { widget: item }, evnt);
56
75
  }
57
76
  }
@@ -71,55 +90,63 @@ const ViewColItemComponent = defineComponent({
71
90
  const renderOpts = widget || { name };
72
91
  const params = { widget, readonly: false, disabled: false, isEditMode: true, isViewMode: false, $formDesign: $xeFormDesign, $formView: null };
73
92
  const isActive = activeWidget && widget && activeWidget.id === widget.id;
93
+ const isEmptyWidget = !renderWidgetDesignView;
74
94
  return h('div', {
75
- class: ['vxe-form-design--widget-row-view', {
76
- 'is--active': isActive,
77
- 'is--sort': sortWidget && widget && sortWidget.id === widget.id,
78
- 'is--drag': dragWidget && widget && dragWidget.id === widget.id
79
- }],
95
+ class: 'vxe-form-design--widget-row-view',
80
96
  'data-widget-id': widget.id,
81
- onDragover: handleDragoverColItem,
97
+ draggable: !isEmptyWidget,
98
+ onDragstart: handleDragstartColItemEvent,
99
+ onDragenter: sortDragenterColItemEvent,
82
100
  onClick(evnt) {
83
101
  if (widget) {
84
102
  $xeFormDesign.handleClickWidget(evnt, widget);
85
103
  }
86
104
  }
87
105
  }, [
88
- renderWidgetDesignView
89
- ? h('div', {
90
- class: 'vxe-form-design--widget-row-view-item-wrapper'
91
- }, [
92
- h('div', {
93
- class: 'vxe-form-design--widget-row-view-item-box vxe-form--item-row'
94
- }, getSlotVNs(renderWidgetDesignView(renderOpts, params))),
95
- isActive
96
- ? h('div', {
97
- class: 'vxe-form-design--preview-item-operate'
98
- }, [
99
- h(VxeButtonComponent, {
100
- icon: getIcon().FORM_DESIGN_WIDGET_COPY,
101
- status: 'primary',
102
- size: 'mini',
103
- circle: true,
104
- onClick(params) {
105
- $xeFormDesign.handleCopyWidget(params.$event, widget);
106
- }
107
- }),
108
- h(VxeButtonComponent, {
109
- icon: getIcon().FORM_DESIGN_WIDGET_DELETE,
110
- status: 'danger',
111
- size: 'mini',
112
- circle: true,
113
- onClick(params) {
114
- $xeFormDesign.handleRemoveWidget(params.$event, widget);
115
- }
116
- })
117
- ])
118
- : createCommentVNode()
119
- ])
120
- : h('div', {
121
- class: 'vxe-form-design--widget-row-view-empty'
122
- }, '控件位置')
106
+ h('div', {
107
+ class: ['vxe-form-design--widget-row-view-item-inner', {
108
+ 'is--empty': isEmptyWidget,
109
+ 'is--active': isActive,
110
+ 'is--sort': sortWidget && widget && sortWidget.id === widget.id,
111
+ 'is--drag': dragWidget && widget && dragWidget.id === widget.id
112
+ }]
113
+ }, [
114
+ renderWidgetDesignView
115
+ ? h('div', {
116
+ class: 'vxe-form-design--widget-row-view-item-wrapper'
117
+ }, [
118
+ h('div', {
119
+ class: 'vxe-form-design--widget-row-view-item-box vxe-form--item-row'
120
+ }, getSlotVNs(renderWidgetDesignView(renderOpts, params))),
121
+ isActive
122
+ ? h('div', {
123
+ class: 'vxe-form-design--preview-item-operate'
124
+ }, [
125
+ h(VxeButtonComponent, {
126
+ icon: getIcon().FORM_DESIGN_WIDGET_COPY,
127
+ status: 'primary',
128
+ size: 'mini',
129
+ circle: true,
130
+ onClick(params) {
131
+ $xeFormDesign.handleCopyWidget(params.$event, widget);
132
+ }
133
+ }),
134
+ h(VxeButtonComponent, {
135
+ icon: getIcon().FORM_DESIGN_WIDGET_DELETE,
136
+ status: 'danger',
137
+ size: 'mini',
138
+ circle: true,
139
+ onClick(params) {
140
+ $xeFormDesign.handleRemoveWidget(params.$event, widget);
141
+ }
142
+ })
143
+ ])
144
+ : createCommentVNode()
145
+ ])
146
+ : h('div', {
147
+ class: 'vxe-form-design--widget-row-view-empty'
148
+ }, '控件位置')
149
+ ])
123
150
  ]);
124
151
  }
125
152
  });