vxe-pc-ui 4.1.19 → 4.1.21
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/README.md +83 -2
- package/es/anchor/src/anchor-link.js +1 -1
- package/es/anchor/src/anchor.js +1 -1
- package/es/breadcrumb/src/breadcrumb.js +1 -1
- package/es/button/src/button-group.js +4 -1
- package/es/button/src/button.js +2 -1
- package/es/calendar/src/calendar.js +64 -32
- package/es/card/src/card.js +4 -3
- package/es/carousel/src/carousel-item.js +13 -3
- package/es/carousel/src/carousel.js +16 -8
- package/es/checkbox/src/checkbox.js +30 -14
- package/es/checkbox/src/group.js +17 -8
- package/es/collapse-pane/index.js +1 -1
- package/es/countdown/src/countdown.js +17 -8
- package/es/date-picker/src/date-picker.js +148 -69
- package/es/drawer/src/drawer.js +86 -46
- package/es/form/render/index.js +1 -2
- package/es/form/src/form-config-item.js +4 -3
- package/es/form/src/form-gather.js +5 -3
- package/es/form/src/form-item.js +15 -10
- package/es/form/src/form.js +11 -8
- package/es/form/src/render.js +2 -1
- package/es/form/src/util.js +2 -1
- package/es/icon/src/icon.js +3 -0
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +24 -11
- package/es/image/src/group.js +4 -1
- package/es/image/src/preview.js +1 -1
- package/es/input/src/input.js +131 -66
- package/es/layout-aside/src/layout-aside.js +1 -1
- package/es/list/src/list.js +7 -5
- package/es/list-design/src/list-design.js +1 -1
- package/es/list-design/src/list-view.js +1 -1
- package/es/loading/src/loading.js +4 -1
- package/es/menu/src/menu.js +4 -3
- package/es/number-input/src/number-input.js +100 -77
- package/es/pager/src/pager.js +85 -45
- package/es/password-input/src/password-input.js +2 -2
- package/es/print/src/page-break.js +11 -2
- package/es/print/src/print.js +6 -4
- package/es/pulldown/src/pulldown.js +19 -13
- package/es/radio/src/button.js +2 -2
- package/es/radio/src/group.js +8 -4
- package/es/row/src/row.js +1 -1
- package/es/select/src/optgroup.js +19 -10
- package/es/select/src/option.js +17 -9
- package/es/select/src/select.js +64 -41
- package/es/select/src/util.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tab-pane.js +13 -3
- package/es/tabs/src/tabs.js +57 -47
- package/es/textarea/src/textarea.js +28 -10
- package/es/tooltip/src/tooltip.js +107 -78
- package/es/tree/src/tree.js +6 -3
- package/es/tree-select/src/tree-select.js +18 -10
- package/es/ui/index.js +1 -7
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +5 -5
- package/lib/anchor/src/anchor-link.js +1 -1
- package/lib/anchor/src/anchor-link.min.js +1 -1
- package/lib/anchor/src/anchor.js +1 -1
- package/lib/anchor/src/anchor.min.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.min.js +1 -1
- package/lib/button/src/button-group.js +4 -1
- package/lib/button/src/button-group.min.js +1 -1
- package/lib/button/src/button.js +2 -1
- package/lib/button/src/button.min.js +1 -1
- package/lib/calendar/src/calendar.js +42 -24
- package/lib/calendar/src/calendar.min.js +1 -1
- package/lib/card/src/card.js +6 -5
- package/lib/card/src/card.min.js +1 -1
- package/lib/carousel/src/carousel-item.js +16 -3
- package/lib/carousel/src/carousel-item.min.js +1 -1
- package/lib/carousel/src/carousel.js +18 -8
- package/lib/carousel/src/carousel.min.js +1 -1
- package/lib/checkbox/src/checkbox.js +16 -12
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/checkbox/src/group.js +10 -7
- package/lib/checkbox/src/group.min.js +1 -1
- package/lib/collapse-pane/index.js +1 -1
- package/lib/collapse-pane/index.min.js +1 -1
- package/lib/countdown/src/countdown.js +15 -7
- package/lib/countdown/src/countdown.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +124 -62
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/drawer/src/drawer.js +15 -30
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/form/render/index.js +1 -4
- package/lib/form/render/index.min.js +1 -1
- package/lib/form/src/form-config-item.js +4 -5
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-gather.js +11 -9
- package/lib/form/src/form-gather.min.js +1 -1
- package/lib/form/src/form-item.js +11 -12
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +7 -7
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +2 -1
- package/lib/form/src/util.js +2 -1
- package/lib/icon/src/icon.js +3 -0
- package/lib/icon/src/icon.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +22 -12
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/image/src/group.js +4 -1
- package/lib/image/src/group.min.js +1 -1
- package/lib/image/src/preview.js +1 -1
- package/lib/image/src/preview.min.js +1 -1
- package/lib/index.umd.js +884 -649
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +79 -51
- package/lib/input/src/input.min.js +1 -1
- package/lib/layout-aside/src/layout-aside.js +1 -1
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/list/src/list.js +9 -5
- package/lib/list/src/list.min.js +1 -1
- package/lib/list-design/src/list-design.js +1 -1
- package/lib/list-design/src/list-design.min.js +1 -1
- package/lib/list-design/src/list-view.js +1 -1
- package/lib/list-design/src/list-view.min.js +1 -1
- package/lib/loading/src/loading.js +4 -1
- package/lib/loading/src/loading.min.js +1 -1
- package/lib/menu/src/menu.js +4 -3
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/number-input/src/number-input.js +67 -69
- package/lib/number-input/src/number-input.min.js +1 -1
- package/lib/pager/src/pager.js +40 -39
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/password-input/src/password-input.js +2 -2
- package/lib/print/src/page-break.js +14 -2
- package/lib/print/src/page-break.min.js +1 -1
- package/lib/print/src/print.js +8 -6
- package/lib/print/src/print.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +19 -13
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/radio/src/button.js +2 -2
- package/lib/radio/src/group.js +8 -4
- package/lib/radio/src/group.min.js +1 -1
- package/lib/row/src/row.js +1 -1
- package/lib/row/src/row.min.js +1 -1
- package/lib/select/src/optgroup.js +12 -9
- package/lib/select/src/optgroup.min.js +1 -1
- package/lib/select/src/option.js +9 -7
- package/lib/select/src/option.min.js +1 -1
- package/lib/select/src/select.js +52 -41
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/src/util.js +2 -2
- package/lib/select/src/util.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tab-pane.js +16 -3
- package/lib/tabs/src/tab-pane.min.js +1 -1
- package/lib/tabs/src/tabs.js +62 -50
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/textarea/src/textarea.js +4 -4
- package/lib/tooltip/src/tooltip.js +96 -88
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tree/src/tree.js +2 -2
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +13 -8
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +3 -10
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/upload/src/upload.js +5 -5
- package/lib/upload/src/upload.min.js +1 -1
- package/package.json +2 -2
- package/packages/anchor/src/anchor-link.ts +2 -2
- package/packages/anchor/src/anchor.ts +2 -2
- package/packages/breadcrumb/src/breadcrumb.ts +2 -2
- package/packages/button/src/button-group.ts +4 -1
- package/packages/button/src/button.ts +6 -5
- package/packages/calendar/src/calendar.ts +67 -35
- package/packages/card/src/card.ts +6 -4
- package/packages/carousel/src/carousel-item.ts +19 -4
- package/packages/carousel/src/carousel.ts +19 -11
- package/packages/checkbox/src/checkbox.ts +34 -15
- package/packages/checkbox/src/group.ts +22 -10
- package/packages/collapse-pane/index.ts +1 -1
- package/packages/countdown/src/countdown.ts +20 -11
- package/packages/date-picker/src/date-picker.ts +160 -80
- package/packages/drawer/src/drawer.ts +91 -50
- package/packages/form/render/index.ts +1 -3
- package/packages/form/src/form-config-item.ts +4 -3
- package/packages/form/src/form-gather.ts +5 -3
- package/packages/form/src/form-item.ts +15 -10
- package/packages/form/src/form.ts +12 -10
- package/packages/form/src/render.ts +2 -1
- package/packages/form/src/util.ts +2 -1
- package/packages/icon/src/icon.ts +3 -0
- package/packages/icon-picker/src/icon-picker.ts +31 -17
- package/packages/image/src/group.ts +4 -1
- package/packages/image/src/preview.ts +2 -2
- package/packages/input/src/input.ts +138 -75
- package/packages/layout-aside/src/layout-aside.ts +2 -2
- package/packages/list/src/list.ts +12 -11
- package/packages/list-design/src/list-design.ts +2 -2
- package/packages/list-design/src/list-view.ts +2 -2
- package/packages/loading/src/loading.ts +5 -2
- package/packages/menu/src/menu.ts +5 -4
- package/packages/number-input/src/number-input.ts +102 -79
- package/packages/pager/src/pager.ts +91 -50
- package/packages/password-input/src/password-input.ts +2 -2
- package/packages/print/src/page-break.ts +18 -4
- package/packages/print/src/print.ts +10 -5
- package/packages/pulldown/src/pulldown.ts +28 -22
- package/packages/radio/src/button.ts +2 -2
- package/packages/radio/src/group.ts +9 -5
- package/packages/row/src/row.ts +2 -2
- package/packages/select/src/optgroup.ts +22 -13
- package/packages/select/src/option.ts +18 -10
- package/packages/select/src/select.ts +79 -52
- package/packages/select/src/util.ts +3 -3
- package/packages/tabs/src/tab-pane.ts +20 -5
- package/packages/tabs/src/tabs.ts +59 -49
- package/packages/textarea/src/textarea.ts +28 -10
- package/packages/tooltip/src/tooltip.ts +118 -84
- package/packages/tree/src/tree.ts +7 -4
- package/packages/tree-select/src/tree-select.ts +25 -16
- package/packages/ui/index.ts +0 -7
- package/packages/upload/src/upload.ts +6 -6
- package/types/components/calendar.d.ts +6 -0
- package/types/components/carousel.d.ts +5 -0
- package/types/components/countdown.d.ts +4 -0
- package/types/components/date-picker.d.ts +23 -5
- package/types/components/drawer.d.ts +0 -1
- package/types/components/form.d.ts +4 -2
- package/types/components/icon-picker.d.ts +4 -0
- package/types/components/input.d.ts +9 -1
- package/types/components/list.d.ts +1 -0
- package/types/components/number-input.d.ts +6 -2
- package/types/components/optgroup.d.ts +10 -4
- package/types/components/pulldown.d.ts +5 -1
- package/types/components/select.d.ts +4 -0
- package/types/components/tabs.d.ts +4 -0
- package/types/components/toolbar.d.ts +5 -0
- package/types/components/tooltip.d.ts +4 -0
- package/types/components/tree-select.d.ts +4 -0
- package/types/ui/index.d.ts +0 -22
- /package/es/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/es/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/es/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.min.js +0 -0
- /package/lib/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/lib/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/packages/{collapse-pane → collapse}/src/collapse-pane.ts +0 -0
package/lib/drawer/src/drawer.js
CHANGED
|
@@ -122,8 +122,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
122
122
|
initialized: false,
|
|
123
123
|
visible: false,
|
|
124
124
|
contentVisible: false,
|
|
125
|
-
drawerZIndex: 0
|
|
126
|
-
firstOpen: true
|
|
125
|
+
drawerZIndex: 0
|
|
127
126
|
});
|
|
128
127
|
const refMaps = {
|
|
129
128
|
refElem
|
|
@@ -166,9 +165,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
166
165
|
reactData.drawerZIndex = (0, _utils.nextZIndex)();
|
|
167
166
|
}
|
|
168
167
|
};
|
|
169
|
-
const updatePosition = () => {
|
|
170
|
-
return (0, _vue.nextTick)().then(() => {});
|
|
171
|
-
};
|
|
172
168
|
const closeDrawer = type => {
|
|
173
169
|
const {
|
|
174
170
|
beforeHideMethod
|
|
@@ -184,11 +180,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
184
180
|
if (!_xeUtils.default.isError(rest)) {
|
|
185
181
|
reactData.contentVisible = false;
|
|
186
182
|
_xeUtils.default.remove(allActiveDrawers, item => item === $xeDrawer);
|
|
187
|
-
|
|
183
|
+
dispatchEvent('before-hide', params, null);
|
|
188
184
|
setTimeout(() => {
|
|
189
185
|
reactData.visible = false;
|
|
190
186
|
emit('update:modelValue', false);
|
|
191
|
-
|
|
187
|
+
dispatchEvent('hide', params, null);
|
|
192
188
|
}, 200);
|
|
193
189
|
}
|
|
194
190
|
}).catch(e => e);
|
|
@@ -197,21 +193,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
197
193
|
};
|
|
198
194
|
const closeEvent = evnt => {
|
|
199
195
|
const type = 'close';
|
|
200
|
-
|
|
196
|
+
dispatchEvent(type, {
|
|
201
197
|
type
|
|
202
198
|
}, evnt);
|
|
203
199
|
closeDrawer(type);
|
|
204
200
|
};
|
|
205
201
|
const confirmEvent = evnt => {
|
|
206
202
|
const type = 'confirm';
|
|
207
|
-
|
|
203
|
+
dispatchEvent(type, {
|
|
208
204
|
type
|
|
209
205
|
}, evnt);
|
|
210
206
|
closeDrawer(type);
|
|
211
207
|
};
|
|
212
208
|
const cancelEvent = evnt => {
|
|
213
209
|
const type = 'cancel';
|
|
214
|
-
|
|
210
|
+
dispatchEvent(type, {
|
|
215
211
|
type
|
|
216
212
|
}, evnt);
|
|
217
213
|
closeDrawer(type);
|
|
@@ -249,31 +245,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
249
245
|
type
|
|
250
246
|
};
|
|
251
247
|
emit('update:modelValue', true);
|
|
252
|
-
|
|
248
|
+
dispatchEvent('show', params, null);
|
|
253
249
|
});
|
|
254
250
|
}, 10);
|
|
255
|
-
(0, _vue.nextTick)(() => {
|
|
256
|
-
const {
|
|
257
|
-
firstOpen
|
|
258
|
-
} = reactData;
|
|
259
|
-
if (firstOpen) {
|
|
260
|
-
updatePosition().then(() => {
|
|
261
|
-
setTimeout(() => updatePosition(), 20);
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
if (firstOpen) {
|
|
265
|
-
reactData.firstOpen = false;
|
|
266
|
-
}
|
|
267
|
-
});
|
|
268
251
|
}
|
|
269
252
|
return (0, _vue.nextTick)();
|
|
270
253
|
};
|
|
254
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
255
|
+
emit(type, (0, _ui.createEvent)(evnt, {
|
|
256
|
+
$drawer: $xeDrawer
|
|
257
|
+
}, params));
|
|
258
|
+
};
|
|
271
259
|
const drawerMethods = {
|
|
272
|
-
dispatchEvent
|
|
273
|
-
emit(type, (0, _ui.createEvent)(evnt, {
|
|
274
|
-
$drawer: $xeDrawer
|
|
275
|
-
}, params));
|
|
276
|
-
},
|
|
260
|
+
dispatchEvent,
|
|
277
261
|
open: openDrawer,
|
|
278
262
|
close() {
|
|
279
263
|
return closeDrawer('close');
|
|
@@ -485,7 +469,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
485
469
|
class: 'vxe-drawer--container'
|
|
486
470
|
}, !reactData.initialized || destroyOnClose && !reactData.visible ? [] : [renderHeader(), renderBody(), renderFooter()])])])]);
|
|
487
471
|
};
|
|
488
|
-
$xeDrawer.renderVN = renderVN;
|
|
489
472
|
(0, _vue.watch)(() => props.width, recalculate);
|
|
490
473
|
(0, _vue.watch)(() => props.height, recalculate);
|
|
491
474
|
(0, _vue.watch)(() => props.modelValue, value => {
|
|
@@ -509,6 +492,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
509
492
|
(0, _vue.onUnmounted)(() => {
|
|
510
493
|
_ui.globalEvents.off($xeDrawer, 'keydown');
|
|
511
494
|
});
|
|
495
|
+
(0, _vue.provide)('$xeDrawer', '$xeDrawer');
|
|
496
|
+
$xeDrawer.renderVN = renderVN;
|
|
512
497
|
return $xeDrawer;
|
|
513
498
|
},
|
|
514
499
|
render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveDrawers=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_button=_interopRequireDefault(require("../../button/src/button")),_index=_interopRequireDefault(require("../../loading/index"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const allActiveDrawers=exports.allActiveDrawers=[];var _default=exports.default=(0,_vue.defineComponent)({name:"VxeDrawer",props:{modelValue:Boolean,id:String,title:String,loading:{type:Boolean,default:null},className:String,position:{type:[String,Object],default:()=>(0,_ui.getConfig)().drawer.position},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.escClosable},showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showFooter},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showClose},content:[Number,String],showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.confirmButtonText},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showTitleOverflow},width:[Number,String],height:[Number,String],zIndex:Number,transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.transfer},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.padding},size:{type:String,default:()=>(0,_ui.getConfig)().drawer.size||(0,_ui.getConfig)().size},beforeHideMethod:{type:Function,default:()=>(0,_ui.getConfig)().drawer.beforeHideMethod},slots:Object},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel"],setup(_,e){const{slots:f,emit:i}=e;var t=_xeUtils.default.uniqueId();const w=(0,_ui.useSize)(_)["computeSize"],g=(0,_vue.ref)(),h=(0,_vue.ref)(),a=(0,_vue.ref)(),l=(0,_vue.ref)(),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveDrawers=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_button=_interopRequireDefault(require("../../button/src/button")),_index=_interopRequireDefault(require("../../loading/index"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const allActiveDrawers=exports.allActiveDrawers=[];var _default=exports.default=(0,_vue.defineComponent)({name:"VxeDrawer",props:{modelValue:Boolean,id:String,title:String,loading:{type:Boolean,default:null},className:String,position:{type:[String,Object],default:()=>(0,_ui.getConfig)().drawer.position},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.escClosable},showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showFooter},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showClose},content:[Number,String],showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.confirmButtonText},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showTitleOverflow},width:[Number,String],height:[Number,String],zIndex:Number,transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.transfer},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.padding},size:{type:String,default:()=>(0,_ui.getConfig)().drawer.size||(0,_ui.getConfig)().size},beforeHideMethod:{type:Function,default:()=>(0,_ui.getConfig)().drawer.beforeHideMethod},slots:Object},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel"],setup(_,e){const{slots:f,emit:i}=e;var t=_xeUtils.default.uniqueId();const w=(0,_ui.useSize)(_)["computeSize"],g=(0,_vue.ref)(),h=(0,_vue.ref)(),a=(0,_vue.ref)(),l=(0,_vue.ref)(),x=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,drawerZIndex:0}),r={refElem:g},o={},p={xID:t,props:_,context:e,reactData:x,getRefMaps:()=>r,getComputeMaps:()=>o},n=()=>{return h.value},s=()=>{var{width:e,height:t}=_,r=n();return r&&(r.style.width=(0,_dom.toCssUnit)(e),r.style.height=(0,_dom.toCssUnit)(t)),(0,_vue.nextTick)()},u=()=>{var e=_["zIndex"],t=x["drawerZIndex"];e?x.drawerZIndex=e:t<(0,_utils.getLastZIndex)()&&(x.drawerZIndex=(0,_utils.nextZIndex)())},d=e=>{var t=_["beforeHideMethod"],r=x["visible"];const o={type:e};return r&&Promise.resolve(t?t(o):null).then(e=>{_xeUtils.default.isError(e)||(x.contentVisible=!1,_xeUtils.default.remove(allActiveDrawers,e=>e===p),C("before-hide",o,null),setTimeout(()=>{x.visible=!1,i("update:modelValue",!1),C("hide",o,null)},200))}).catch(e=>e),(0,_vue.nextTick)()},v=e=>{var t="close";C(t,{type:t},e),d(t)},c=e=>{var t="confirm";C(t,{type:t},e),d(t)},m=e=>{var t="cancel";C(t,{type:t},e),d(t)},b=()=>{const r=_["showFooter"];var{initialized:e,visible:t}=x;return e||(x.initialized=!0),t||(s(),x.visible=!0,x.contentVisible=!1,u(),allActiveDrawers.push(p),setTimeout(()=>{x.contentVisible=!0,(0,_vue.nextTick)(()=>{r&&(e=a.value,t=l.value,e=e||t)&&e.focus();var e,t={type:""};i("update:modelValue",!0),C("show",t,null)})},10)),(0,_vue.nextTick)()},C=(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$drawer:p},t))};t={dispatchEvent:C,open:b,close(){return d("close")},getBox:n};const y=e=>{var t=g.value;_.maskClosable&&e.target===t&&d("mask")},V=e=>{if(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){const t=_xeUtils.default.max(allActiveDrawers,e=>e.reactData.drawerZIndex);t&&setTimeout(()=>{t===p&&t.props.escClosable&&d("exit")},10)}},B=()=>{const t=x["drawerZIndex"];allActiveDrawers.some(e=>e.reactData.visible&&e.reactData.drawerZIndex>t)&&u()};Object.assign(p,t,{});const k=()=>{var{slots:e={},showClose:t,title:r}=_,o=f.title||e.title,e=f.corner||e.corner;return[(0,_vue.h)("div",{class:"vxe-drawer--header-title"},o?(0,_vn.getSlotVNs)(o({$drawer:p})):r?(0,_utils.getFuncText)(r):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-drawer--header-right"},[e?(0,_vue.h)("div",{class:"vxe-drawer--corner-wrapper"},(0,_vn.getSlotVNs)(e({$drawer:p}))):(0,_vue.createCommentVNode)(),t?(0,_vue.h)("div",{class:["vxe-drawer--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.drawer.close"),onClick:v},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().DRAWER_CLOSE})]):(0,_vue.createCommentVNode)()])]},S=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:r}=_,o=f.leftfoot||e.leftfoot,e=f.rightfoot||e.rightfoot,i=[];return t&&i.push((0,_vue.h)(_button.default,{key:1,ref:l,content:_.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:m})),r&&i.push((0,_vue.h)(_button.default,{key:2,ref:a,status:"primary",content:_.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:c})),(0,_vue.h)("div",{class:"vxe-drawer--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-drawer--footer-left"},o?(0,_vn.getSlotVNs)(o({$drawer:p})):[]),(0,_vue.h)("div",{class:"vxe-drawer--footer-right"},e?(0,_vn.getSlotVNs)(e({$drawer:p})):i)])};return(0,_vue.watch)(()=>_.width,s),(0,_vue.watch)(()=>_.height,s),(0,_vue.watch)(()=>_.modelValue,e=>{e?b():d("model")}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{_.modelValue&&b(),s()}),_.escClosable&&_ui.globalEvents.on(p,"keydown",V)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(p,"keydown")}),(0,_vue.provide)("$xeDrawer","$xeDrawer"),p.renderVN=()=>{var{slots:e={},className:t,position:r,loading:o,lockScroll:i,padding:a,lockView:l,mask:n,destroyOnClose:s}=_,{initialized:u,contentVisible:d,visible:v}=x,e=f.aside||e.aside,c=w.value;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!_.transfer||!u},[(0,_vue.h)("div",{ref:g,class:["vxe-drawer--wrapper","pos--"+r,t||"",{["size--"+c]:c,"is--padding":a,"lock--scroll":i,"lock--view":l,"is--mask":n,"is--visible":d,"is--active":v,"is--loading":o}],style:{zIndex:x.drawerZIndex},onClick:y},[(0,_vue.h)("div",{ref:h,class:"vxe-drawer--box",onMousedown:B},[e?(0,_vue.h)("div",{class:"vxe-drawer--aside"},(0,_vn.getSlotVNs)(e({$drawer:p}))):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-drawer--container"},!x.initialized||s&&!x.visible?[]:[(()=>{var{slots:e={},showTitleOverflow:t}=_,e=f.header||e.header;return _.showHeader?(0,_vue.h)("div",{class:["vxe-drawer--header",{"is--ellipsis":t}]},e?(0,_vn.getSlotVNs)(e({$drawer:p})):k()):(0,_vue.createCommentVNode)()})(),(()=>{var{slots:e={},content:t}=_,r=f.default||e.default,o=f.left||e.left,e=f.right||e.right;return(0,_vue.h)("div",{class:"vxe-drawer--body"},[o?(0,_vue.h)("div",{class:"vxe-drawer--body-left"},(0,_vn.getSlotVNs)(o({$drawer:p}))):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-drawer--body-default"},[(0,_vue.h)("div",{class:"vxe-drawer--content"},r?(0,_vn.getSlotVNs)(r({$drawer:p})):(0,_utils.getFuncText)(t))]),e?(0,_vue.h)("div",{class:"vxe-drawer--body-right"},(0,_vn.getSlotVNs)(e({$drawer:p}))):(0,_vue.createCommentVNode)(),(0,_vue.h)(_index.default,{class:"vxe-drawer--loading",modelValue:_.loading})])})(),(()=>{var{slots:e={}}=_,e=f.footer||e.footer;return _.showFooter?(0,_vue.h)("div",{class:"vxe-drawer--footer"},e?(0,_vn.getSlotVNs)(e({$drawer:p})):[S()]):(0,_vue.createCommentVNode)()})()])])])])},p},render(){return this.renderVN()}});
|
package/lib/form/render/index.js
CHANGED
|
@@ -7,9 +7,6 @@ var _vn = require("../../ui/src/vn");
|
|
|
7
7
|
var _log = require("../../ui/src/log");
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
const componentDefaultModelProp = 'modelValue';
|
|
10
|
-
const defaultCompProps = {
|
|
11
|
-
transfer: true
|
|
12
|
-
};
|
|
13
10
|
/**
|
|
14
11
|
* 已废弃
|
|
15
12
|
* @deprecated
|
|
@@ -44,7 +41,7 @@ function getNativeAttrs(renderOpts) {
|
|
|
44
41
|
return attrs;
|
|
45
42
|
}
|
|
46
43
|
function getComponentFormItemProps(renderOpts, params, value, defaultProps) {
|
|
47
|
-
return _xeUtils.default.assign({},
|
|
44
|
+
return _xeUtils.default.assign({}, defaultProps, renderOpts.props, {
|
|
48
45
|
[componentDefaultModelProp]: value
|
|
49
46
|
});
|
|
50
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const componentDefaultModelProp="modelValue"
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const componentDefaultModelProp="modelValue";function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getComponentFormItemProps(e,t,n,o){return _xeUtils.default.assign({},o,e.props,{[componentDefaultModelProp]:n})}function getElementOns(e,n,t,o){const r=e["events"],s=(0,_vn.getModelEvent)(e.name),a=(0,_vn.getChangeEvent)(e.name),u=a===s,i={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(i[(0,_vn.getOnName)(s)]=function(e){t(e),u&&o&&o(e),r&&r[s]&&r[s](n,e)}),!u&&o&&(i[(0,_vn.getOnName)(a)]=function(...e){o(...e),r&&r[a]&&r[a](n,...e)}),i}function getComponentOns(e,n,t,o){const r=e["events"],s=(0,_vn.getModelEvent)(e.name),a=(0,_vn.getChangeEvent)(e.name),u={};return _xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(n,...e)}}),t&&(u[(0,_vn.getOnName)(s)]=function(e){t(e),r&&r[s]&&r[s](n,e)}),o&&(u[(0,_vn.getOnName)(a)]=function(...e){o(...e),r&&r[a]&&r[a](n,...e)}),u}function getItemOns(e,t){const{$form:n,data:o,field:r}=t;return getComponentOns(e,t,e=>{_xeUtils.default.set(o,r,e)},()=>{n.updateStatus(t)})}function getNativeItemOns(e,t){const{$form:n,data:o,field:r}=t;return getElementOns(e,t,e=>{e=e.target.value;_xeUtils.default.set(o,r,e)},()=>{n.updateStatus(t)})}function renderNativeOptgroup(n,o,r){var{optionGroups:e,optionGroupProps:t={}}=n;const s=t.options||"options",a=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[a]},r(e[s],n,o)))}function nativeItemRender(e,t){var{data:n,field:o}=t,r=e["name"],s=getNativeAttrs(e),n=_xeUtils.default.get(n,o);return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},s),{value:!s||"input"!==r||"submit"!==s.type&&"reset"!==s.type?n:null}),getNativeItemOns(e,t)))]}function defaultItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldButtonItemRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsItemRender(e,t){return e.children.map(e=>oldButtonItemRender(e,t)[0])}function renderNativeFormOptions(e,t,n){var{data:n,field:o}=n,{optionProps:t={}}=t;const r=t.label||"label",s=t.value||"value",a=t.disabled||"disabled",u=_xeUtils.default.get(n,o);return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[s],disabled:e[a],selected:e[s]==u},e[r]))}function defaultFormItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function formItemRadioAndCheckboxRender(e,t){var{options:n,optionProps:o}=e,{data:r,field:s}=t,r=_xeUtils.default.get(r,s);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n,optionProps:o},getComponentFormItemProps(e,t,r)),getItemOns(e,t)))]}function oldFormItemRadioAndCheckboxRender(e,t){const{name:n,options:o,optionProps:r={}}=e;var{data:s,field:a}=t;const u=r.label||"label",i=r.value||"value",d=r.disabled||"disabled";s=_xeUtils.default.get(s,a);const m=getOldComponentName(n);return o?[(0,_vue.h)((0,_vue.resolveComponent)(m+"-group"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)),{default:()=>o.map((e,t)=>(0,_vue.h)((0,_vue.resolveComponent)(m),{key:t,label:e[i],content:e[u],disabled:e[d]}))})]:[(0,_vue.h)((0,_vue.resolveComponent)(m),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)))]}_ui.renderer.mixin({input:{renderItemContent:nativeItemRender},textarea:{renderItemContent:nativeItemRender},select:{renderItemContent(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeItemOns(e,t)),e.optionGroups?renderNativeOptgroup(e,t,renderNativeFormOptions):renderNativeFormOptions(e.options,e,t))]}},VxeInput:{renderItemContent:defaultItemRender},VxeNumberInput:{renderItemContent:defaultItemRender},VxePasswordInput:{renderItemContent:defaultItemRender},VxeTextarea:{renderItemContent:defaultItemRender},VxeDatePicker:{renderItemContent:defaultItemRender},VxeButton:{renderItemContent:defaultFormItemRender},VxeButtonGroup:{renderItemContent(e,t){var n=e["options"],{data:o,field:r}=t,o=_xeUtils.default.get(o,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getComponentFormItemProps(e,t,o)),getItemOns(e,t)))]}},VxeSelect:{renderItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u})),getItemOns(e,t)))]}},VxeTreeSelect:{renderItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s})),getItemOns(e,t)))]}},VxeIconPicker:{renderItemContent:defaultFormItemRender},VxeRadio:{renderItemContent:defaultFormItemRender},VxeRadioGroup:{renderItemContent:formItemRadioAndCheckboxRender},VxeCheckbox:{renderItemContent:defaultFormItemRender},VxeCheckboxGroup:{renderItemContent:formItemRadioAndCheckboxRender},VxeSwitch:{renderItemContent:defaultItemRender},VxeImage:{renderItemContent(e,t){var{data:n,field:o}=t,r=e["props"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:n}),getItemOns(e,t)))]}},VxeImageGroup:{renderItemContent(e,t){var{data:n,field:o}=t,r=e["props"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:n}),getItemOns(e,t)))]}},VxeUpload:{renderItemContent:defaultItemRender},$input:{renderItemContent:oldItemRender},$textarea:{renderItemContent:oldItemRender},$button:{renderItemContent:oldButtonItemRender},$buttons:{renderItemContent:oldButtonsItemRender},$select:{renderItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u})),getItemOns(e,t)))]}},$radio:{renderItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderItemContent:oldItemRender}});
|
|
@@ -24,9 +24,8 @@ const VxeFormConfigItem = (0, _vue.defineComponent)({
|
|
|
24
24
|
};
|
|
25
25
|
(0, _vue.provide)('xeFormItemInfo', xeformiteminfo);
|
|
26
26
|
const renderVN = () => {
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
} = $xeForm;
|
|
27
|
+
const formProps = $xeForm.props;
|
|
28
|
+
const formReactData = $xeForm.reactData;
|
|
30
29
|
const {
|
|
31
30
|
data,
|
|
32
31
|
rules,
|
|
@@ -42,14 +41,14 @@ const VxeFormConfigItem = (0, _vue.defineComponent)({
|
|
|
42
41
|
titleOverflow: allTitleOverflow,
|
|
43
42
|
vertical: allVertical,
|
|
44
43
|
padding: allPadding
|
|
45
|
-
} =
|
|
44
|
+
} = formProps;
|
|
46
45
|
const {
|
|
47
46
|
computeValidOpts
|
|
48
47
|
} = $xeForm.getComputeMaps();
|
|
49
48
|
const item = props.itemConfig;
|
|
50
49
|
const {
|
|
51
50
|
collapseAll
|
|
52
|
-
} =
|
|
51
|
+
} = formReactData;
|
|
53
52
|
const validOpts = computeValidOpts.value;
|
|
54
53
|
const {
|
|
55
54
|
slots,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_render=require("./render"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeFormConfigItem=(0,_vue.defineComponent)({name:"VxeFormConfigItem",props:{itemConfig:Object},setup(J){const K=(0,_vue.inject)("$xeForm",{});var e={itemConfig:J.itemConfig},e=((0,_vue.provide)("xeFormItemInfo",e),{renderVN:()=>{var e=K
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_render=require("./render"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeFormConfigItem=(0,_vue.defineComponent)({name:"VxeFormConfigItem",props:{itemConfig:Object},setup(J){const K=(0,_vue.inject)("$xeForm",{});var e={itemConfig:J.itemConfig},e=((0,_vue.provide)("xeFormItemInfo",e),{renderVN:()=>{var e=K.props,t=K.reactData,{data:e,rules:i,readonly:l,disabled:s,span:n,align:r,titleBold:o,titleAlign:k,titleWidth:R,titleColon:u,titleAsterisk:a,titleOverflow:d,vertical:$,padding:D}=e,E=K.getComputeMaps()["computeValidOpts"],m=J.itemConfig,t=t["collapseAll"],E=E.value,{slots:f,title:v,visible:_,folding:W,field:c,collapseNode:B,itemRender:x,showError:G,errRule:g,className:p,titleOverflow:C,vertical:h,padding:N,children:F,showTitle:L,contentClassName:U,contentStyle:I,titleClassName:q,titleStyle:y}=m,O=(0,_utils.isEnableConf)(x)?_ui.renderer.get(x.name):null,S=O?O.formItemClassName||O.itemClassName:"",T=O?O.formItemStyle||O.itemStyle:null,V=O?O.formItemContentClassName||O.itemContentClassName:"",b=O?O.formItemContentStyle||O.itemContentStyle:null,w=O?O.formItemTitleClassName||O.itemTitleClassName:"",A=O?O.formItemTitleStyle||O.itemTitleStyle:null,P=f?f.default:null,f=f?f.title:null,n=m.span||n,r=m.align||r,D=_xeUtils.default.eqNull(N)?D:N,N=_xeUtils.default.eqNull(h)?$:h,$=_xeUtils.default.eqNull(m.titleBold)?o:m.titleBold,h=_xeUtils.default.eqNull(m.titleAlign)?k:m.titleAlign,o=N?null:_xeUtils.default.eqNull(m.titleWidth)?R:m.titleWidth,k=_xeUtils.default.eqNull(m.titleColon)?u:m.titleColon,R=_xeUtils.default.eqNull(m.titleAsterisk)?a:m.titleAsterisk,u=_xeUtils.default.eqNull(C)?d:C,a="title"===u,d=!0===u||"tooltip"===u,C=a||d||"ellipsis"===u;const M={data:e,disabled:s,readonly:l,field:c,property:c,item:m,$form:K,$grid:K.xegrid};if(!1===_)return(0,_vue.createCommentVNode)();let z=!1,H=!1;if(!l&&i&&(u=i[c])&&u.length&&(H=!0,z=u.some(e=>e.required)),F&&0<F.length)return(s=F.map((e,t)=>(0,_vue.h)(VxeFormConfigItem,{key:t,itemConfig:e}))).length?(0,_vue.h)("div",{class:["vxe-form--gather vxe-form--item-row",m.id,n?`vxe-form--item-col_${n} is--span`:"",p?_xeUtils.default.isFunction(p)?p(M):p:""]},s):(0,_vue.createCommentVNode)();let j=[];_=O?O.renderFormItemContent||O.renderItemContent:null,P?j=K.callSlot(P,M):_?j=(0,_vn.getSlotVNs)(_(x,M)):c&&(j=[_xeUtils.default.toValueString(_xeUtils.default.get(e,c))]),B&&j.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:K.toggleCollapseEvent},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},t?(0,_ui.getI18n)("vxe.form.unfolding"):(0,_ui.getI18n)("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",t?(0,_ui.getIcon)().FORM_FOLDING:(0,_ui.getIcon)().FORM_UNFOLDING]})])),g&&E.showMessage&&j.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:g.maxWidth?{width:g.maxWidth+"px"}:null},g.content)),l=d?{onMouseenter(e){K.triggerTitleTipEvent(e,M)},onMouseleave:K.handleTitleTipLeaveEvent}:{};return(0,_vue.h)("div",{class:["vxe-form--item",m.id,n?`vxe-form--item-col_${n} is--span`:"",p?_xeUtils.default.isFunction(p)?p(M):p:"",S?_xeUtils.default.isFunction(S)?S(M):S:"",{"is--title":v,"is--colon":k,"is--bold":$,"is--padding":D,"is--vertical":N,"is--asterisk":R,"is--valid":H,"is--required":z,"is--hidden":W&&t,"is--active":(0,_util.isActiveItem)(K,m),"is--error":G}],style:_xeUtils.default.isFunction(T)?T(M):T},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[!1!==L&&(v||f)?(0,_vue.h)("div",Object.assign({class:["vxe-form--item-title",h?"align--"+h:"",C?"is--ellipsis":"",w?_xeUtils.default.isFunction(w)?w(M):w:"",q?_xeUtils.default.isFunction(q)?q(M):q:""],style:Object.assign({},_xeUtils.default.isFunction(A)?A(M):A,_xeUtils.default.isFunction(y)?y(M):y,o?{width:isNaN(o)?o:o+"px"}:null),title:a?(0,_utils.getFuncText)(v):null},l),(0,_render.renderTitle)(K,m)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",r?"align--"+r:"",V?_xeUtils.default.isFunction(V)?V(M):V:"",U?_xeUtils.default.isFunction(U)?U(M):U:""],style:Object.assign({},_xeUtils.default.isFunction(b)?b(M):b,_xeUtils.default.isFunction(I)?I(M):I)},j)])])}});return(0,_vue.provide)("$xeFormGather",null),e},render(){return this.renderVN()}});var _default=exports.default=VxeFormConfigItem;
|
|
@@ -17,7 +17,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
17
17
|
}) {
|
|
18
18
|
const refElem = (0, _vue.ref)();
|
|
19
19
|
const $xeForm = (0, _vue.inject)('$xeForm', {});
|
|
20
|
-
const
|
|
20
|
+
const $xeParentFormGather = (0, _vue.inject)('$xeFormGather', null);
|
|
21
21
|
const formItem = (0, _vue.reactive)((0, _util.createItem)($xeForm, props));
|
|
22
22
|
formItem.children = [];
|
|
23
23
|
const formItemInfo = {
|
|
@@ -26,7 +26,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
26
26
|
(0, _vue.provide)('xeFormItemInfo', formItemInfo);
|
|
27
27
|
(0, _util.watchItem)(props, formItem);
|
|
28
28
|
(0, _vue.onMounted)(() => {
|
|
29
|
-
|
|
29
|
+
const elem = refElem.value;
|
|
30
|
+
(0, _util.assembleItem)($xeForm, elem, formItem, $xeParentFormGather);
|
|
30
31
|
});
|
|
31
32
|
(0, _vue.onUnmounted)(() => {
|
|
32
33
|
(0, _util.destroyItem)($xeForm, formItem);
|
|
@@ -38,15 +39,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
38
39
|
} = props;
|
|
39
40
|
const span = props.span || ($xeForm ? $xeForm.props.span : null);
|
|
40
41
|
const defaultSlot = slots.default;
|
|
42
|
+
const params = {
|
|
43
|
+
$form: $xeForm,
|
|
44
|
+
data: $xeForm ? $xeForm.props.data : {},
|
|
45
|
+
item: formItem,
|
|
46
|
+
field: field,
|
|
47
|
+
property: field
|
|
48
|
+
};
|
|
41
49
|
return (0, _vue.h)('div', {
|
|
42
50
|
ref: refElem,
|
|
43
|
-
class: ['vxe-form--gather vxe-form--item-row', formItem.id, span ? `vxe-form--item-col_${span} is--span` : '', className ? _xeUtils.default.isFunction(className) ? className(
|
|
44
|
-
$form: $xeForm,
|
|
45
|
-
data: $xeForm ? $xeForm.props.data : {},
|
|
46
|
-
item: formItem,
|
|
47
|
-
field: field,
|
|
48
|
-
property: field
|
|
49
|
-
}) : className : '']
|
|
51
|
+
class: ['vxe-form--gather vxe-form--item-row', formItem.id, span ? `vxe-form--item-col_${span} is--span` : '', className ? _xeUtils.default.isFunction(className) ? className(params) : className : '']
|
|
50
52
|
}, defaultSlot ? defaultSlot({}) : []);
|
|
51
53
|
};
|
|
52
54
|
const $xeFormGather = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_formItem=require("./form-item"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormGather",props:_formItem.formItemProps,setup(o,{slots:i}){const l=(0,_vue.ref)(),m=(0,_vue.inject)("$xeForm",{}),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_formItem=require("./form-item"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormGather",props:_formItem.formItemProps,setup(o,{slots:i}){const l=(0,_vue.ref)(),m=(0,_vue.inject)("$xeForm",{}),r=(0,_vue.inject)("$xeFormGather",null),n=(0,_vue.reactive)((0,_util.createItem)(m,o));n.children=[];var e={itemConfig:n},e=((0,_vue.provide)("xeFormItemInfo",e),(0,_util.watchItem)(o,n),(0,_vue.onMounted)(()=>{var e=l.value;(0,_util.assembleItem)(m,e,n,r)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(m,n)}),{formItem:n,renderVN:()=>{var{className:e,field:r}=o,t=o.span||(m?m.props.span:null),u=i.default,r={$form:m,data:m?m.props.data:{},item:n,field:r,property:r};return(0,_vue.h)("div",{ref:l,class:["vxe-form--gather vxe-form--item-row",n.id,t?`vxe-form--item-col_${t} is--span`:"",e?_xeUtils.default.isFunction(e)?e(r):e:""]},u?u({}):[])}});return(0,_vue.provide)("$xeFormGather",e),(0,_vue.provide)("$xeFormItem",null),e},render(){return this.renderVN()}});
|
|
@@ -81,7 +81,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
81
81
|
}) {
|
|
82
82
|
const refElem = (0, _vue.ref)();
|
|
83
83
|
const $xeForm = (0, _vue.inject)('$xeForm', {});
|
|
84
|
-
const
|
|
84
|
+
const $xeFormGather = (0, _vue.inject)('$xeFormGather', null);
|
|
85
85
|
const formItem = (0, _vue.reactive)((0, _util.createItem)($xeForm, props));
|
|
86
86
|
formItem.slots = slots;
|
|
87
87
|
const formItemInfo = {
|
|
@@ -90,16 +90,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
90
90
|
(0, _vue.provide)('xeFormItemInfo', formItemInfo);
|
|
91
91
|
(0, _util.watchItem)(props, formItem);
|
|
92
92
|
(0, _vue.onMounted)(() => {
|
|
93
|
-
|
|
93
|
+
const elem = refElem.value;
|
|
94
|
+
(0, _util.assembleItem)($xeForm, elem, formItem, $xeFormGather);
|
|
94
95
|
});
|
|
95
96
|
(0, _vue.onUnmounted)(() => {
|
|
96
97
|
(0, _util.destroyItem)($xeForm, formItem);
|
|
97
98
|
});
|
|
98
99
|
const renderItem = ($xeForm, item) => {
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
reactData
|
|
102
|
-
} = $xeForm;
|
|
100
|
+
const formProps = $xeForm.props;
|
|
101
|
+
const formReactData = $xeForm.reactData;
|
|
103
102
|
const {
|
|
104
103
|
data,
|
|
105
104
|
rules,
|
|
@@ -113,10 +112,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
113
112
|
titleOverflow: allTitleOverflow,
|
|
114
113
|
vertical: allVertical,
|
|
115
114
|
padding: allPadding
|
|
116
|
-
} =
|
|
115
|
+
} = formProps;
|
|
117
116
|
const {
|
|
118
117
|
collapseAll
|
|
119
|
-
} =
|
|
118
|
+
} = formReactData;
|
|
120
119
|
const {
|
|
121
120
|
computeValidOpts
|
|
122
121
|
} = $xeForm.getComputeMaps();
|
|
@@ -150,8 +149,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
150
149
|
const itemTitleStyle = compConf ? compConf.formItemTitleStyle || compConf.itemTitleStyle : null;
|
|
151
150
|
const defaultSlot = slots ? slots.default : null;
|
|
152
151
|
const titleSlot = slots ? slots.title : null;
|
|
153
|
-
const span = item.span ||
|
|
154
|
-
const align = item.align ||
|
|
152
|
+
const span = item.span || formProps.span;
|
|
153
|
+
const align = item.align || formProps.align;
|
|
155
154
|
const itemPadding = _xeUtils.default.eqNull(padding) ? allPadding : padding;
|
|
156
155
|
const itemVertical = _xeUtils.default.eqNull(vertical) ? allVertical : vertical;
|
|
157
156
|
const titleBold = _xeUtils.default.eqNull(item.titleBold) ? allTitleBold : item.titleBold;
|
|
@@ -249,8 +248,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
249
248
|
}, contentVNs)])]);
|
|
250
249
|
};
|
|
251
250
|
const renderVN = () => {
|
|
252
|
-
const
|
|
253
|
-
return
|
|
251
|
+
const customLayout = $xeForm ? $xeForm.props.customLayout : false;
|
|
252
|
+
return customLayout ? renderItem($xeForm, formItem) : (0, _vue.h)('div', {
|
|
254
253
|
ref: refElem
|
|
255
254
|
});
|
|
256
255
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formItemProps=exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_util=require("./util"),_render=require("./render");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const formItemProps=exports.formItemProps={title:String,field:String,span:[String,Number],align:String,titleBold:{type:Boolean,default:null},titleAlign:{type:String,default:null},titleWidth:{type:[String,Number],default:null},titleColon:{type:Boolean,default:null},titleAsterisk:{type:Boolean,default:null},showTitle:{type:Boolean,default:!0},vertical:{type:Boolean,default:null},padding:{type:Boolean,default:null},className:[String,Function],contentClassName:[String,Function],contentStyle:[Object,Function],titleClassName:[String,Function],titleStyle:[Object,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visibleMethod:Function,visible:{type:Boolean,default:null},folding:Boolean,collapseNode:Boolean,itemRender:Object,rules:Array};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormItem",props:formItemProps,setup(e,{slots:t}){const J=(0,_vue.ref)(),K=(0,_vue.inject)("$xeForm",{}),l=(0,_vue.inject)("$xeFormGather",null),Q=(0,_vue.reactive)((0,_util.createItem)(K,e));Q.slots=t;t={itemConfig:Q};(0,_vue.provide)("xeFormItemInfo",t),(0,_util.watchItem)(e,Q),(0,_vue.onMounted)(()=>{(0,_util.assembleItem)(K,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formItemProps=exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_util=require("./util"),_render=require("./render");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const formItemProps=exports.formItemProps={title:String,field:String,span:[String,Number],align:String,titleBold:{type:Boolean,default:null},titleAlign:{type:String,default:null},titleWidth:{type:[String,Number],default:null},titleColon:{type:Boolean,default:null},titleAsterisk:{type:Boolean,default:null},showTitle:{type:Boolean,default:!0},vertical:{type:Boolean,default:null},padding:{type:Boolean,default:null},className:[String,Function],contentClassName:[String,Function],contentStyle:[Object,Function],titleClassName:[String,Function],titleStyle:[Object,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visibleMethod:Function,visible:{type:Boolean,default:null},folding:Boolean,collapseNode:Boolean,itemRender:Object,rules:Array};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormItem",props:formItemProps,setup(e,{slots:t}){const J=(0,_vue.ref)(),K=(0,_vue.inject)("$xeForm",{}),l=(0,_vue.inject)("$xeFormGather",null),Q=(0,_vue.reactive)((0,_util.createItem)(K,e));Q.slots=t;t={itemConfig:Q};(0,_vue.provide)("xeFormItemInfo",t),(0,_util.watchItem)(e,Q),(0,_vue.onMounted)(()=>{var e=J.value;(0,_util.assembleItem)(K,e,Q,l)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(K,Q)});t={formItem:Q,renderVN:()=>{var i=!!K&&K.props.customLayout;if(i){var n=K,i=Q,{data:s,rules:o,readonly:r,disabled:u,titleBold:a,titleAlign:d,titleWidth:m,titleColon:f,titleAsterisk:v,titleOverflow:c,vertical:k,padding:P}=V=n.props,_=n.reactData["collapseAll"],W=(W=n.getComputeMaps()["computeValidOpts"]).value,{slots:p,title:g,visible:x,folding:D,field:N,collapseNode:E,itemRender:h,showError:G,errRule:y,className:F,titleOverflow:I,vertical:C,padding:S,showTitle:L,contentClassName:U,contentStyle:b,titleClassName:q,titleStyle:O}=i,B=(0,_utils.isEnableConf)(h)?_ui.renderer.get(h.name):null,T=B?B.formItemClassName||B.itemClassName:"",j=B?B.formItemStyle||B.itemStyle:null,A=B?B.formItemContentClassName||B.itemContentClassName:"",w=B?B.formItemContentStyle||B.itemContentStyle:null,M=B?B.formItemTitleClassName||B.itemTitleClassName:"",R=B?B.formItemTitleStyle||B.itemTitleStyle:null,z=p?p.default:null,p=p?p.title:null,H=i.span||V.span,V=i.align||V.align,P=_xeUtils.default.eqNull(S)?P:S,S=_xeUtils.default.eqNull(C)?k:C,k=_xeUtils.default.eqNull(i.titleBold)?a:i.titleBold,C=_xeUtils.default.eqNull(i.titleAlign)?d:i.titleAlign,a=S?null:_xeUtils.default.eqNull(i.titleWidth)?m:i.titleWidth,d=_xeUtils.default.eqNull(i.titleColon)?f:i.titleColon,m=_xeUtils.default.eqNull(i.titleAsterisk)?v:i.titleAsterisk,c=!0===(f=_xeUtils.default.eqNull(I)?c:I)||"tooltip"===f,I=(v="title"===f)||c||"ellipsis"===f;const $={data:s,disabled:u,readonly:r,field:N,property:N,item:i,$form:n,$grid:n.xegrid};let e=!1,t=!1;if(!1===x)return(0,_vue.createCommentVNode)();!r&&o&&(f=o[N])&&f.length&&(t=!0,e=f.some(e=>e.required));let l=[];return u=B?B.renderFormItemContent||B.renderItemContent:null,z?l=n.callSlot(z,$):u?l=(0,_vn.getSlotVNs)(u(h,$)):N&&(l=[""+_xeUtils.default.get(s,N)]),E&&l.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:n.toggleCollapseEvent},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},_?(0,_ui.getI18n)("vxe.form.unfolding"):(0,_ui.getI18n)("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",_?(0,_ui.getIcon)().FORM_FOLDING:(0,_ui.getIcon)().FORM_UNFOLDING]})])),y&&W.showMessage&&l.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:y.maxWidth?{width:y.maxWidth+"px"}:null},y.message)),x=c?{onMouseenter(e){n.triggerTitleTipEvent(e,$)},onMouseleave:n.handleTitleTipLeaveEvent}:{},(0,_vue.h)("div",{ref:J,class:["vxe-form--item",i.id,H?`vxe-form--item-col_${H} is--span`:"",F?_xeUtils.default.isFunction(F)?F($):F:"",T?_xeUtils.default.isFunction(T)?T($):T:"",{"is--title":g,"is--colon":d,"is--bold":k,"is--padding":P,"is--vertical":S,"is--asterisk":m,"is--valid":t,"is--required":e,"is--hidden":D&&_,"is--active":(0,_util.isActiveItem)(n,i),"is--error":G}],style:_xeUtils.default.isFunction(j)?j($):j},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[!1!==L&&(g||p)?(0,_vue.h)("div",Object.assign({class:["vxe-form--item-title",C?"align--"+C:"",I?"is--ellipsis":"",M?_xeUtils.default.isFunction(M)?M($):M:"",q?_xeUtils.default.isFunction(q)?q($):q:""],style:Object.assign({},_xeUtils.default.isFunction(R)?R($):R,_xeUtils.default.isFunction(O)?O($):O,a?{width:isNaN(a)?a:a+"px"}:null),title:v?(0,_utils.getFuncText)(g):null},x),(0,_render.renderTitle)(n,i)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",V?"align--"+V:"",A?_xeUtils.default.isFunction(A)?A($):A:"",U?_xeUtils.default.isFunction(U)?U($):U:""],style:Object.assign({},_xeUtils.default.isFunction(w)?w($):w,_xeUtils.default.isFunction(b)?b($):b)},l)])])}return(0,_vue.h)("div",{ref:J})}};return(0,_vue.provide)("$xeFormItem",t),(0,_vue.provide)("$xeFormGather",null),t},render(){return this.renderVN()}});
|
package/lib/form/src/form.js
CHANGED
|
@@ -155,7 +155,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
155
155
|
formItems: []
|
|
156
156
|
});
|
|
157
157
|
const internalData = (0, _vue.reactive)({
|
|
158
|
-
|
|
158
|
+
meTimeout: undefined,
|
|
159
|
+
stTimeout: undefined,
|
|
159
160
|
tooltipStore: {
|
|
160
161
|
item: null,
|
|
161
162
|
visible: false
|
|
@@ -482,7 +483,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
482
483
|
}
|
|
483
484
|
});
|
|
484
485
|
};
|
|
485
|
-
let showErrTime;
|
|
486
486
|
const beginValidate = (itemList, type, callback) => {
|
|
487
487
|
const {
|
|
488
488
|
data,
|
|
@@ -492,7 +492,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
492
492
|
const validRest = {};
|
|
493
493
|
const validFields = [];
|
|
494
494
|
const itemValids = [];
|
|
495
|
-
clearTimeout(
|
|
495
|
+
clearTimeout(internalData.meTimeout);
|
|
496
496
|
if (data && formRules) {
|
|
497
497
|
itemList.forEach(item => {
|
|
498
498
|
const {
|
|
@@ -519,7 +519,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
519
519
|
}
|
|
520
520
|
}).catch(() => {
|
|
521
521
|
return new Promise(resolve => {
|
|
522
|
-
|
|
522
|
+
internalData.meTimeout = window.setTimeout(() => {
|
|
523
523
|
itemList.forEach(item => {
|
|
524
524
|
if (item.errRule) {
|
|
525
525
|
item.showError = true;
|
|
@@ -626,7 +626,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
626
626
|
const overflowElem = evnt.currentTarget.children[0];
|
|
627
627
|
const content = (overflowElem.textContent || '').trim();
|
|
628
628
|
const isCellOverflow = overflowElem.scrollWidth > overflowElem.clientWidth;
|
|
629
|
-
clearTimeout(internalData.
|
|
629
|
+
clearTimeout(internalData.stTimeout);
|
|
630
630
|
if (tooltipStore.item !== item) {
|
|
631
631
|
closeTooltip();
|
|
632
632
|
}
|
|
@@ -647,7 +647,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
647
647
|
$tooltip.setActived(false);
|
|
648
648
|
}
|
|
649
649
|
if (tooltipOpts.enterable) {
|
|
650
|
-
internalData.
|
|
650
|
+
internalData.stTimeout = setTimeout(() => {
|
|
651
651
|
$tooltip = refTooltip.value;
|
|
652
652
|
if ($tooltip && !$tooltip.isActived()) {
|
|
653
653
|
closeTooltip();
|
|
@@ -760,7 +760,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
760
760
|
ref: refTooltip
|
|
761
761
|
}, tooltipOpts))]);
|
|
762
762
|
};
|
|
763
|
-
$xeForm.renderVN = renderVN;
|
|
764
763
|
const staticItemFlag = (0, _vue.ref)(0);
|
|
765
764
|
(0, _vue.watch)(() => reactData.staticItems.length, () => {
|
|
766
765
|
staticItemFlag.value++;
|
|
@@ -805,6 +804,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
805
804
|
(0, _vue.provide)('$xeForm', $xeForm);
|
|
806
805
|
(0, _vue.provide)('$xeFormGather', null);
|
|
807
806
|
(0, _vue.provide)('$xeFormItem', null);
|
|
807
|
+
$xeForm.renderVN = renderVN;
|
|
808
808
|
return $xeForm;
|
|
809
809
|
},
|
|
810
810
|
render() {
|
package/lib/form/src/form.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading/src/loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}const validErrorRuleValue=(e,t)=>{var{type:e,min:l,max:i,pattern:r}=e,e="number"===e,a=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(l)&&a<_xeUtils.default.toNumber(l)||!_xeUtils.default.eqNull(i)&&a>_xeUtils.default.toNumber(i)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))};function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size},span:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.span},align:{type:String,default:()=>(0,_ui.getConfig)().form.align},titleBold:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBold},titleAlign:{type:String,default:()=>(0,_ui.getConfig)().form.titleAlign},titleWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.titleWidth},titleColon:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleColon},titleAsterisk:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>(0,_ui.getConfig)().form.titleOverflow},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().form.vertical},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>(0,_ui.getConfig)().form.preventSubmit},validConfig:Object,tooltipConfig:Object,customLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().form.customLayout}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(n,e){const{slots:s,emit:i}=e;var t=_xeUtils.default.uniqueId();const d=(0,_ui.useSize)(n)["computeSize"],c=(0,_vue.reactive)({collapseAll:n.collapseStatus,staticItems:[],formItems:[]}),o=(0,_vue.reactive)({tooltipTimeout:null,tooltipStore:{item:null,visible:!1}}),u=((0,_vue.provide)("xeFormItemInfo",null),(0,_vue.inject)("$xeGrid",null)),m=(0,_vue.ref)(),f=(0,_vue.ref)();let l={};const v=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,n.validConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,n.tooltipConfig)),r={refElem:m},a={computeSize:d,computeValidOpts:v,computeTooltipOpts:p},g={xID:t,props:n,context:e,reactData:c,xegrid:u,getRefMaps:()=>r,getComputeMaps:()=>a};const _=e=>(e.length&&"development"===process.env.NODE_ENV&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),c.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(g,e),{children:"children"}),(0,_vue.nextTick)()),h=()=>{const t=[];return _xeUtils.default.eachTree(c.formItems,e=>{t.push(e)},{children:"children"}),t},x=t=>{var e=_xeUtils.default.findTree(c.formItems,e=>e.field===t,{children:"children"});return e?e.item:null},y=()=>c.collapseAll,E=()=>{var e=!y();return c.collapseAll=e,i("update:collapseStatus",e),(0,_vue.nextTick)()};const b=t=>{if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(g,e))&&(e.showError=!1)})}else h().forEach(e=>{e.showError=!1});return(0,_vue.nextTick)()},C=()=>{const a=n["data"];var e=h();return a&&e.forEach(e=>{var t,{field:l,resetValue:i,itemRender:r}=e;(0,_utils.isEnableConf)(r)&&(t=(r=_ui.renderer.get(r.name))?r.formItemResetMethod||r.itemResetMethod:null,r&&t?t({data:a,field:l,property:l,item:e,$form:g,$grid:g.xegrid}):l&&_xeUtils.default.set(a,l,null===i?getResetValue(_xeUtils.default.get(a,l),void 0):_xeUtils.default.clone(i,!0)))}),b()},U=e=>{e.preventDefault(),C(),l.dispatchEvent("reset",{data:n.data},e)},S=e=>{var l=m.value;if(l)for(let t=0;t<e.length;t++){var i=e[t],r=x(i);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r["itemRender"],o=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(l.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(o?o.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:g,$grid:u,item:r,data:n.data,field:i}):a&&(e=l.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},w=(e,t,l)=>{const{data:f,rules:i}=n,r={};return _xeUtils.default.isArray(t)||(t=[t]),Promise.all(t.map(s=>{const n=[],d=[];if(s&&i){const c=_xeUtils.default.get(i,s);if(c){const m=_xeUtils.default.isUndefined(l)?_xeUtils.default.get(f,s):l;c.forEach(t=>{const{type:l,trigger:i,required:r,validator:a}=t;if("all"===e||!i||e===i)if(a){var o={itemValue:m,rule:t,rules:c,data:f,field:s,property:s,$form:g};let e;_xeUtils.default.isString(a)?(u=_ui.validators.get(a))?(u=u.formItemValidatorMethod||u.itemValidatorMethod)?e=u(o):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(o),e&&(_xeUtils.default.isError(e)?n.push(new Rule({type:"custom",trigger:i,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{n.push(new Rule({type:"custom",trigger:i,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var u="array"===l,o=_xeUtils.default.isArray(m);let e=!0;e=u||o?!o||!m.length:_xeUtils.default.isString(m)?(0,_utils.eqEmptyValue)(m.trim()):(0,_utils.eqEmptyValue)(m),(r?e||validErrorRuleValue(t,m):!e&&validErrorRuleValue(t,m))&&n.push(new Rule(t))}})}}return Promise.all(d).then(()=>{n.length&&(r[s]=n.map(e=>({$form:g,rule:e,data:f,field:s,property:s})))})})).then(()=>{if(!_xeUtils.default.isEmpty(r))return Promise.reject(r)})};let I;const R=(t,e,l)=>{var{data:i,rules:r}=n;const a=v.value,o={},u=[],s=[];return clearTimeout(I),i&&r?(t.forEach(t=>{const l=t["field"];l&&!(0,_util.isHiddenItem)(g,t)&&(0,_util.isActiveItem)(g,t)&&s.push(w(e||"all",l).then(()=>{t.errRule=null}).catch(e=>{e=e[l];return o[l]||(o[l]=[]),o[l].push(e),u.push(l),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(s).then(()=>{l&&l()}).catch(()=>new Promise(e=>{I=window.setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{S(u)}),l?(l(o),e()):e(o)}))):(l&&l(),Promise.resolve())};const T=t=>{var e=n["readonly"];t.preventDefault(),n.preventSubmit||(b(),e?l.dispatchEvent("submit",{data:n.data},t):R(h()).then(e=>{e?l.dispatchEvent("submit-invalid",{data:n.data,errMap:e},t):l.dispatchEvent("submit",{data:n.data},t)}))},q=()=>{var e=o["tooltipStore"],t=f.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};const V=(e,l,t)=>l?w(e?["blur"].includes(e.type)?"blur":"change":"all",l,t).then(()=>{b(l)}).catch(e=>{var e=e[l],t=x(l);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();l={dispatchEvent(e,t,l){i(e,(0,_ui.createEvent)(l,{$form:g,$grid:u},t))},reset:C,validate:e=>{var t=n["readonly"];return b(),t?(0,_vue.nextTick)():R(h(),"",e)},validateField:(e,t)=>{var l=n["readonly"];if(l)return(0,_vue.nextTick)();let i=[];return e&&(i=_xeUtils.default.isArray(e)?e:[e]),R(i.map(e=>(0,_util.handleFieldOrItem)(g,e)),"",t)},clearValidate:b,updateStatus:(e,t)=>{e=e.field;return V(new Event("change"),e,t)},toggleCollapse:E,getItems:h,getItemByField:x,closeTooltip:q};t={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:V,toggleCollapseEvent:e=>{E();var t=y();l.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:n.data},e),l.dispatchEvent("collapse",{status:t,collapse:t,data:n.data},e)},triggerTitleTipEvent:(e,t)=>{var t=t["item"],l=o["tooltipStore"],i=f.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(o.tooltipTimeout),l.item!==t&&q(),r&&a&&(Object.assign(l,{item:t,visible:!0}),i)&&i.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=p.value;let t=f.value;t&&t.setActived(!1),e.enterable?o.tooltipTimeout=setTimeout(()=>{(t=f.value)&&!t.isActived()&&q()},e.leaveDelay):q()}};Object.assign(g,l,t);g.renderVN=()=>{var{loading:e,className:t,data:l,customLayout:i}=n,r=c["formItems"],a=d.value,o=p.value,u=s.default;return(0,_vue.h)("form",{ref:m,class:["vxe-form",t?_xeUtils.default.isFunction(t)?t({items:r,data:l,$form:g}):t:"",{["size--"+a]:a,"custom--layout":i,"is--loading":e}],onSubmit:T,onReset:U},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},i?u?u({}):[]:r.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e}))),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!i&&u?u({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:f},o))])};const N=(0,_vue.ref)(0),O=((0,_vue.watch)(()=>c.staticItems.length,()=>{N.value++}),(0,_vue.watch)(()=>c.staticItems,()=>{N.value++}),(0,_vue.watch)(N,()=>{c.formItems=c.staticItems}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>n.items?n.items.length:-1,()=>{O.value++}),(0,_vue.watch)(()=>n.items,()=>{O.value++}),(0,_vue.watch)(O,()=>{_(n.items||[])}),(0,_vue.watch)(()=>n.collapseStatus,e=>{c.collapseAll=!!e}),(0,_vue.watch)(()=>n.readonly,()=>{b()}),(0,_vue.watch)(()=>n.disabled,()=>{b()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{"development"===process.env.NODE_ENV&&n.customLayout&&n.items&&(0,_log.errLog)("vxe.error.errConflicts",["custom-layout","items"])})}),n.items&&_(n.items),(0,_vue.provide)("$xeForm",g),(0,_vue.provide)("$xeFormGather",null),(0,_vue.provide)("$xeFormItem",null),g},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading/src/loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}const validErrorRuleValue=(e,t)=>{var{type:e,min:i,max:l,pattern:r}=e,e="number"===e,a=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(i)&&a<_xeUtils.default.toNumber(i)||!_xeUtils.default.eqNull(l)&&a>_xeUtils.default.toNumber(l)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))};function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size},span:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.span},align:{type:String,default:()=>(0,_ui.getConfig)().form.align},titleBold:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBold},titleAlign:{type:String,default:()=>(0,_ui.getConfig)().form.titleAlign},titleWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.titleWidth},titleColon:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleColon},titleAsterisk:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>(0,_ui.getConfig)().form.titleOverflow},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().form.vertical},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>(0,_ui.getConfig)().form.preventSubmit},validConfig:Object,tooltipConfig:Object,customLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().form.customLayout}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(n,e){const{slots:s,emit:l}=e;var t=_xeUtils.default.uniqueId();const d=(0,_ui.useSize)(n)["computeSize"],m=(0,_vue.reactive)({collapseAll:n.collapseStatus,staticItems:[],formItems:[]}),c=(0,_vue.reactive)({meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1}}),u=((0,_vue.provide)("xeFormItemInfo",null),(0,_vue.inject)("$xeGrid",null)),f=(0,_vue.ref)(),v=(0,_vue.ref)();let i={};const g=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,n.validConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,n.tooltipConfig)),r={refElem:f},a={computeSize:d,computeValidOpts:g,computeTooltipOpts:p},_={xID:t,props:n,context:e,reactData:m,xegrid:u,getRefMaps:()=>r,getComputeMaps:()=>a};const o=e=>(e.length&&"development"===process.env.NODE_ENV&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),m.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(_,e),{children:"children"}),(0,_vue.nextTick)()),h=()=>{const t=[];return _xeUtils.default.eachTree(m.formItems,e=>{t.push(e)},{children:"children"}),t},x=t=>{var e=_xeUtils.default.findTree(m.formItems,e=>e.field===t,{children:"children"});return e?e.item:null},y=()=>m.collapseAll,E=()=>{var e=!y();return m.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()};const b=t=>{if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(_,e))&&(e.showError=!1)})}else h().forEach(e=>{e.showError=!1});return(0,_vue.nextTick)()},C=()=>{const a=n["data"];var e=h();return a&&e.forEach(e=>{var t,{field:i,resetValue:l,itemRender:r}=e;(0,_utils.isEnableConf)(r)&&(t=(r=_ui.renderer.get(r.name))?r.formItemResetMethod||r.itemResetMethod:null,r&&t?t({data:a,field:i,property:i,item:e,$form:_,$grid:_.xegrid}):i&&_xeUtils.default.set(a,i,null===l?getResetValue(_xeUtils.default.get(a,i),void 0):_xeUtils.default.clone(l,!0)))}),b()},U=e=>{e.preventDefault(),C(),i.dispatchEvent("reset",{data:n.data},e)},S=e=>{var i=f.value;if(i)for(let t=0;t<e.length;t++){var l=e[t],r=x(l);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r["itemRender"],o=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(i.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(o?o.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:_,$grid:u,item:r,data:n.data,field:l}):a&&(e=i.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},T=(e,t,i)=>{const{data:f,rules:l}=n,r={};return _xeUtils.default.isArray(t)||(t=[t]),Promise.all(t.map(s=>{const n=[],d=[];if(s&&l){const m=_xeUtils.default.get(l,s);if(m){const c=_xeUtils.default.isUndefined(i)?_xeUtils.default.get(f,s):i;m.forEach(t=>{const{type:i,trigger:l,required:r,validator:a}=t;if("all"===e||!l||e===l)if(a){var o={itemValue:c,rule:t,rules:m,data:f,field:s,property:s,$form:_};let e;_xeUtils.default.isString(a)?(u=_ui.validators.get(a))?(u=u.formItemValidatorMethod||u.itemValidatorMethod)?e=u(o):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(o),e&&(_xeUtils.default.isError(e)?n.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{n.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var u="array"===i,o=_xeUtils.default.isArray(c);let e=!0;e=u||o?!o||!c.length:_xeUtils.default.isString(c)?(0,_utils.eqEmptyValue)(c.trim()):(0,_utils.eqEmptyValue)(c),(r?e||validErrorRuleValue(t,c):!e&&validErrorRuleValue(t,c))&&n.push(new Rule(t))}})}}return Promise.all(d).then(()=>{n.length&&(r[s]=n.map(e=>({$form:_,rule:e,data:f,field:s,property:s})))})})).then(()=>{if(!_xeUtils.default.isEmpty(r))return Promise.reject(r)})},w=(t,e,i)=>{var{data:l,rules:r}=n;const a=g.value,o={},u=[],s=[];return clearTimeout(c.meTimeout),l&&r?(t.forEach(t=>{const i=t["field"];i&&!(0,_util.isHiddenItem)(_,t)&&(0,_util.isActiveItem)(_,t)&&s.push(T(e||"all",i).then(()=>{t.errRule=null}).catch(e=>{e=e[i];return o[i]||(o[i]=[]),o[i].push(e),u.push(i),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(s).then(()=>{i&&i()}).catch(()=>new Promise(e=>{c.meTimeout=window.setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{S(u)}),i?(i(o),e()):e(o)}))):(i&&i(),Promise.resolve())};const I=t=>{var e=n["readonly"];t.preventDefault(),n.preventSubmit||(b(),e?i.dispatchEvent("submit",{data:n.data},t):w(h()).then(e=>{e?i.dispatchEvent("submit-invalid",{data:n.data,errMap:e},t):i.dispatchEvent("submit",{data:n.data},t)}))},R=()=>{var e=c["tooltipStore"],t=v.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};const q=(e,i,t)=>i?T(e?["blur"].includes(e.type)?"blur":"change":"all",i,t).then(()=>{b(i)}).catch(e=>{var e=e[i],t=x(i);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();i={dispatchEvent(e,t,i){l(e,(0,_ui.createEvent)(i,{$form:_,$grid:u},t))},reset:C,validate:e=>{var t=n["readonly"];return b(),t?(0,_vue.nextTick)():w(h(),"",e)},validateField:(e,t)=>{var i=n["readonly"];if(i)return(0,_vue.nextTick)();let l=[];return e&&(l=_xeUtils.default.isArray(e)?e:[e]),w(l.map(e=>(0,_util.handleFieldOrItem)(_,e)),"",t)},clearValidate:b,updateStatus:(e,t)=>{e=e.field;return q(new Event("change"),e,t)},toggleCollapse:E,getItems:h,getItemByField:x,closeTooltip:R};t={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:q,toggleCollapseEvent:e=>{E();var t=y();i.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:n.data},e),i.dispatchEvent("collapse",{status:t,collapse:t,data:n.data},e)},triggerTitleTipEvent:(e,t)=>{var t=t["item"],i=c["tooltipStore"],l=v.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(c.stTimeout),i.item!==t&&R(),r&&a&&(Object.assign(i,{item:t,visible:!0}),l)&&l.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=p.value;let t=v.value;t&&t.setActived(!1),e.enterable?c.stTimeout=setTimeout(()=>{(t=v.value)&&!t.isActived()&&R()},e.leaveDelay):R()}};Object.assign(_,i,t);const V=(0,_vue.ref)(0),N=((0,_vue.watch)(()=>m.staticItems.length,()=>{V.value++}),(0,_vue.watch)(()=>m.staticItems,()=>{V.value++}),(0,_vue.watch)(V,()=>{m.formItems=m.staticItems}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>n.items?n.items.length:-1,()=>{N.value++}),(0,_vue.watch)(()=>n.items,()=>{N.value++}),(0,_vue.watch)(N,()=>{o(n.items||[])}),(0,_vue.watch)(()=>n.collapseStatus,e=>{m.collapseAll=!!e}),(0,_vue.watch)(()=>n.readonly,()=>{b()}),(0,_vue.watch)(()=>n.disabled,()=>{b()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{"development"===process.env.NODE_ENV&&n.customLayout&&n.items&&(0,_log.errLog)("vxe.error.errConflicts",["custom-layout","items"])})}),n.items&&o(n.items),(0,_vue.provide)("$xeForm",_),(0,_vue.provide)("$xeFormGather",null),(0,_vue.provide)("$xeFormItem",null),_.renderVN=()=>{var{loading:e,className:t,data:i,customLayout:l}=n,r=m["formItems"],a=d.value,o=p.value,u=s.default;return(0,_vue.h)("form",{ref:f,class:["vxe-form",t?_xeUtils.default.isFunction(t)?t({items:r,data:i,$form:_}):t:"",{["size--"+a]:a,"custom--layout":l,"is--loading":e}],onSubmit:I,onReset:U},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},l?u?u({}):[]:r.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e}))),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!l&&u?u({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:v},o))])},_},render(){return this.renderVN()}});
|
package/lib/form/src/render.js
CHANGED
|
@@ -28,11 +28,12 @@ function renderSuffixIcon(titleSuffix) {
|
|
|
28
28
|
})]);
|
|
29
29
|
}
|
|
30
30
|
function renderTitle($xeForm, item) {
|
|
31
|
+
const formProps = $xeForm.props;
|
|
31
32
|
const {
|
|
32
33
|
data,
|
|
33
34
|
readonly,
|
|
34
35
|
disabled
|
|
35
|
-
} =
|
|
36
|
+
} = formProps;
|
|
36
37
|
const {
|
|
37
38
|
computeTooltipOpts
|
|
38
39
|
} = $xeForm.getComputeMaps();
|
package/lib/form/src/util.js
CHANGED
package/lib/icon/src/icon.js
CHANGED
package/lib/icon/src/icon.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeIcon",props:{name:String,className:String,roll:Boolean,status:String,size:{type:String,default:()=>(0,_ui.getConfig)().icon.size||(0,_ui.getConfig)().size}},emits:["click"],setup(n,e){const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeIcon",props:{name:String,className:String,roll:Boolean,status:String,size:{type:String,default:()=>(0,_ui.getConfig)().icon.size||(0,_ui.getConfig)().size}},emits:["click"],setup(n,e){const r=e["emit"];var t=_xeUtils.default.uniqueId();const s=(0,_ui.useSize)(n)["computeSize"],u={xID:t,props:n,context:e},o=e=>{r("click",(0,_ui.createEvent)(e,{}))};Object.assign(u,{dispatchEvent:(e,t,i)=>{r(e,(0,_ui.createEvent)(i,{$icon:u},t))}},{});return u.renderVN=()=>{var{name:e,roll:t,status:i,className:r}=n,u=s.value;return(0,_vue.h)("i",{class:["vxe-icon","vxe-icon-"+e,""+(r||""),{["size--"+u]:u,["theme--"+i]:i,roll:t}],onClick:o})},u},render(){return this.renderVN()}});
|