vxe-pc-ui 4.9.30 → 4.9.32
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/es/button/src/button.js +1 -1
- package/es/date-picker/src/date-picker.js +1 -1
- package/es/date-range-picker/src/date-range-picker.js +1 -1
- package/es/form/render/index.js +1 -1
- package/es/form/src/form.js +4 -4
- package/es/form/src/itemInfo.js +4 -4
- package/es/icon/style.css +1 -1
- package/es/image-preview/index.js +1 -1
- package/es/menu/style.css +1 -0
- package/es/menu/style.min.css +1 -1
- package/es/modal/src/modal.js +3 -3
- package/es/pager/src/pager.js +2 -2
- package/es/select/src/select.js +25 -2
- package/es/split/src/split.js +5 -5
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +23 -10
- package/es/tabs/src/tabs.js +2 -2
- package/es/tree/src/tree.js +7 -3
- package/es/tree-select/src/tree-select.js +16 -4
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +2 -2
- package/es/vxe-menu/style.css +1 -0
- package/es/vxe-menu/style.min.css +1 -1
- package/lib/button/src/button.js +1 -1
- package/lib/button/src/button.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +1 -1
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/form/render/index.js +1 -1
- package/lib/form/render/index.min.js +1 -1
- package/lib/form/src/form.js +4 -4
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/itemInfo.js +4 -4
- package/lib/form/src/itemInfo.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/image-preview/index.js +1 -1
- package/lib/image-preview/index.min.js +1 -1
- package/lib/index.umd.js +104 -46
- package/lib/index.umd.min.js +1 -1
- package/lib/menu/style/style.css +1 -0
- package/lib/menu/style/style.min.css +1 -1
- package/lib/modal/src/modal.js +2 -2
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/pager/src/pager.js +2 -2
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/select/src/select.js +29 -2
- package/lib/select/src/select.min.js +1 -1
- package/lib/split/src/split.js +5 -5
- package/lib/split/src/split.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/src/table-select.js +24 -10
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/tabs/src/tabs.js +2 -2
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tree/src/tree.js +6 -2
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +17 -4
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +1 -1
- 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 +2 -2
- package/lib/upload/src/upload.min.js +1 -1
- package/lib/vxe-menu/style/style.css +1 -0
- package/lib/vxe-menu/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/button/src/button.ts +1 -1
- package/packages/date-picker/src/date-picker.ts +1 -1
- package/packages/date-range-picker/src/date-range-picker.ts +1 -1
- package/packages/form/render/index.ts +1 -1
- package/packages/form/src/form.ts +4 -4
- package/packages/form/src/itemInfo.ts +4 -4
- package/packages/image-preview/index.ts +2 -1
- package/packages/modal/src/modal.ts +3 -3
- package/packages/pager/src/pager.ts +2 -2
- package/packages/select/src/select.ts +25 -2
- package/packages/split/src/split.ts +5 -5
- package/packages/table-select/src/table-select.ts +24 -11
- package/packages/tabs/src/tabs.ts +2 -2
- package/packages/tree/src/tree.ts +6 -3
- package/packages/tree-select/src/tree-select.ts +16 -4
- package/packages/upload/index.ts +1 -0
- package/packages/upload/src/upload.ts +2 -2
- package/styles/components/menu.scss +1 -0
- package/types/components/select.d.ts +2 -0
- package/types/components/table-select.d.ts +3 -1
- package/types/components/tree-select.d.ts +2 -0
- package/types/components/tree.d.ts +8 -0
- /package/es/icon/{iconfont.1757986297727.ttf → iconfont.1758173429533.ttf} +0 -0
- /package/es/icon/{iconfont.1757986297727.woff → iconfont.1758173429533.woff} +0 -0
- /package/es/icon/{iconfont.1757986297727.woff2 → iconfont.1758173429533.woff2} +0 -0
- /package/es/{iconfont.1757986297727.ttf → iconfont.1758173429533.ttf} +0 -0
- /package/es/{iconfont.1757986297727.woff → iconfont.1758173429533.woff} +0 -0
- /package/es/{iconfont.1757986297727.woff2 → iconfont.1758173429533.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1757986297727.ttf → iconfont.1758173429533.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1757986297727.woff → iconfont.1758173429533.woff} +0 -0
- /package/lib/icon/style/{iconfont.1757986297727.woff2 → iconfont.1758173429533.woff2} +0 -0
- /package/lib/{iconfont.1757986297727.ttf → iconfont.1758173429533.ttf} +0 -0
- /package/lib/{iconfont.1757986297727.woff → iconfont.1758173429533.woff} +0 -0
- /package/lib/{iconfont.1757986297727.woff2 → iconfont.1758173429533.woff2} +0 -0
|
@@ -35,6 +35,7 @@ export default defineVxeComponent({
|
|
|
35
35
|
columns: Array,
|
|
36
36
|
options: Array,
|
|
37
37
|
optionProps: Object,
|
|
38
|
+
lazyOptions: Array,
|
|
38
39
|
zIndex: Number,
|
|
39
40
|
size: {
|
|
40
41
|
type: String,
|
|
@@ -153,8 +154,7 @@ export default defineVxeComponent({
|
|
|
153
154
|
});
|
|
154
155
|
const computeGridOpts = computed(() => {
|
|
155
156
|
return Object.assign({}, getConfig().tableSelect.gridConfig, props.gridConfig, {
|
|
156
|
-
data: undefined
|
|
157
|
-
columns: undefined
|
|
157
|
+
data: undefined
|
|
158
158
|
});
|
|
159
159
|
});
|
|
160
160
|
const computeSelectGridOpts = computed(() => {
|
|
@@ -184,12 +184,22 @@ export default defineVxeComponent({
|
|
|
184
184
|
return gridOpts;
|
|
185
185
|
});
|
|
186
186
|
const computeSelectLabel = computed(() => {
|
|
187
|
-
const { modelValue } = props;
|
|
187
|
+
const { modelValue, lazyOptions } = props;
|
|
188
188
|
const { fullRowMaps } = reactData;
|
|
189
|
+
const valueField = computeValueField.value;
|
|
189
190
|
const labelField = computeLabelField.value;
|
|
190
191
|
return (XEUtils.isArray(modelValue) ? modelValue : [modelValue]).map(val => {
|
|
191
192
|
const cacheItem = fullRowMaps[val];
|
|
192
|
-
|
|
193
|
+
if (cacheItem) {
|
|
194
|
+
return cacheItem.item[labelField];
|
|
195
|
+
}
|
|
196
|
+
if (lazyOptions) {
|
|
197
|
+
const lazyItem = lazyOptions.find(item => item[valueField] === val);
|
|
198
|
+
if (lazyItem) {
|
|
199
|
+
return lazyItem[labelField];
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return val;
|
|
193
203
|
}).join(', ');
|
|
194
204
|
});
|
|
195
205
|
const computePopupWrapperStyle = computed(() => {
|
|
@@ -270,6 +280,9 @@ export default defineVxeComponent({
|
|
|
270
280
|
});
|
|
271
281
|
};
|
|
272
282
|
const loadTableColumn = (columns) => {
|
|
283
|
+
if (!columns || !columns.length) {
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
273
286
|
const { multiple } = props;
|
|
274
287
|
const tableCols = [];
|
|
275
288
|
let hasRadioCol = false;
|
|
@@ -319,12 +332,12 @@ export default defineVxeComponent({
|
|
|
319
332
|
rowid = getRowUniqueId();
|
|
320
333
|
}
|
|
321
334
|
if (keyMaps[rowid]) {
|
|
322
|
-
errLog('vxe.error.repeatKey', [rowKeyField
|
|
335
|
+
errLog('vxe.error.repeatKey', [`[table-select] ${rowKeyField}`, rowid]);
|
|
323
336
|
}
|
|
324
337
|
keyMaps[rowid] = true;
|
|
325
338
|
const value = item[valueField];
|
|
326
339
|
if (rowMaps[value]) {
|
|
327
|
-
errLog('vxe.error.repeatKey', [valueField
|
|
340
|
+
errLog('vxe.error.repeatKey', [`[table-select] ${valueField}`, value]);
|
|
328
341
|
}
|
|
329
342
|
rowMaps[value] = { item, index, items, parent: null, nodes: [] };
|
|
330
343
|
});
|
|
@@ -612,7 +625,7 @@ export default defineVxeComponent({
|
|
|
612
625
|
style: popupWrapperStyle
|
|
613
626
|
}, [
|
|
614
627
|
VxeTableGridComponent
|
|
615
|
-
? h(VxeTableGridComponent, Object.assign(Object.assign(Object.assign({}, selectGridOpts), gridEvents), { class: 'vxe-table-select--grid', ref: refGrid, rowConfig: rowOpts, data: options, columns: tableColumns, height: '100%', autoResize: true, onRadioChange: radioChangeEvent, onCheckboxChange: checkboxChangeEvent, onCheckboxAll: checkboxAllEvent }), Object.assign({}, slots, {
|
|
628
|
+
? h(VxeTableGridComponent, Object.assign(Object.assign(Object.assign({}, selectGridOpts), gridEvents), { class: 'vxe-table-select--grid', ref: refGrid, rowConfig: rowOpts, data: options, columns: tableColumns.length ? tableColumns : selectGridOpts.columns, height: '100%', autoResize: true, onRadioChange: radioChangeEvent, onCheckboxChange: checkboxChangeEvent, onCheckboxAll: checkboxAllEvent }), Object.assign({}, slots, {
|
|
616
629
|
header: undefined,
|
|
617
630
|
footer: undefined,
|
|
618
631
|
prefixSlot: undefined
|
|
@@ -635,12 +648,12 @@ export default defineVxeComponent({
|
|
|
635
648
|
cacheDataMap();
|
|
636
649
|
});
|
|
637
650
|
watch(() => props.columns, (val) => {
|
|
638
|
-
loadTableColumn(val
|
|
651
|
+
loadTableColumn(val);
|
|
639
652
|
});
|
|
640
653
|
watch(() => props.modelValue, (val) => {
|
|
641
654
|
updateModel(val);
|
|
642
655
|
});
|
|
643
|
-
loadTableColumn(props.columns
|
|
656
|
+
loadTableColumn(props.columns);
|
|
644
657
|
cacheDataMap();
|
|
645
658
|
onMounted(() => {
|
|
646
659
|
const { gridConfig } = props;
|
|
@@ -662,7 +675,7 @@ export default defineVxeComponent({
|
|
|
662
675
|
});
|
|
663
676
|
nextTick(() => {
|
|
664
677
|
if (!VxeTableGridComponent) {
|
|
665
|
-
errLog('vxe.error.reqComp', ['vxe-grid']);
|
|
678
|
+
errLog('vxe.error.reqComp', ['[table-select] vxe-grid']);
|
|
666
679
|
}
|
|
667
680
|
});
|
|
668
681
|
provide('$xeTableSelect', $xeTableSelect);
|
package/es/tabs/src/tabs.js
CHANGED
|
@@ -543,11 +543,11 @@ export default defineVxeComponent({
|
|
|
543
543
|
return handlePrevNext(true);
|
|
544
544
|
},
|
|
545
545
|
prevTab() {
|
|
546
|
-
warnLog('vxe.error.delFunc', ['prevTab', 'prev']);
|
|
546
|
+
warnLog('vxe.error.delFunc', ['[tabs] prevTab', 'prev']);
|
|
547
547
|
return tabsMethods.prev();
|
|
548
548
|
},
|
|
549
549
|
nextTab() {
|
|
550
|
-
warnLog('vxe.error.delFunc', ['nextTab', 'next']);
|
|
550
|
+
warnLog('vxe.error.delFunc', ['[tabs] nextTab', 'next']);
|
|
551
551
|
return tabsMethods.next();
|
|
552
552
|
}
|
|
553
553
|
};
|
package/es/tree/src/tree.js
CHANGED
|
@@ -95,6 +95,7 @@ export default defineVxeComponent({
|
|
|
95
95
|
// 已废弃
|
|
96
96
|
isHover: Boolean,
|
|
97
97
|
expandAll: Boolean,
|
|
98
|
+
expandNodeKeys: Array,
|
|
98
99
|
showLine: {
|
|
99
100
|
type: Boolean,
|
|
100
101
|
default: () => getConfig().tree.showLine
|
|
@@ -613,7 +614,7 @@ export default defineVxeComponent({
|
|
|
613
614
|
};
|
|
614
615
|
const triggerSearchEvent = XEUtils.debounce(() => handleData(true), 350, { trailing: true });
|
|
615
616
|
const loadData = (list) => {
|
|
616
|
-
const { expandAll, transform } = props;
|
|
617
|
+
const { expandAll, expandNodeKeys, transform } = props;
|
|
617
618
|
const { initialized, scrollYStore } = internalData;
|
|
618
619
|
const keyField = computeKeyField.value;
|
|
619
620
|
const parentField = computeParentField.value;
|
|
@@ -630,7 +631,7 @@ export default defineVxeComponent({
|
|
|
630
631
|
handleData(true);
|
|
631
632
|
if (sYLoad) {
|
|
632
633
|
if (!(props.height || props.maxHeight)) {
|
|
633
|
-
errLog('vxe.error.reqProp', ['height | max-height | virtual-y-config.enabled=false']);
|
|
634
|
+
errLog('vxe.error.reqProp', ['[tree] height | max-height | virtual-y-config.enabled=false']);
|
|
634
635
|
}
|
|
635
636
|
}
|
|
636
637
|
return computeScrollLoad().then(() => {
|
|
@@ -640,6 +641,9 @@ export default defineVxeComponent({
|
|
|
640
641
|
if (expandAll) {
|
|
641
642
|
$xeTree.setAllExpandNode(true);
|
|
642
643
|
}
|
|
644
|
+
else if (expandNodeKeys && expandNodeKeys.length) {
|
|
645
|
+
$xeTree.setExpandByNodeId(expandNodeKeys, true);
|
|
646
|
+
}
|
|
643
647
|
handleSetCheckboxByNodeId(props.checkNodeKeys || [], true);
|
|
644
648
|
}
|
|
645
649
|
}
|
|
@@ -1498,7 +1502,7 @@ export default defineVxeComponent({
|
|
|
1498
1502
|
XEUtils.eachTree(nodeList, (childRow, index, items, path, parent, nodes) => {
|
|
1499
1503
|
const itemNodeId = getNodeId(childRow);
|
|
1500
1504
|
nodeMaps[itemNodeId] = {
|
|
1501
|
-
item:
|
|
1505
|
+
item: childRow,
|
|
1502
1506
|
index: -1,
|
|
1503
1507
|
items,
|
|
1504
1508
|
parent: parent || parentNodeItem.item,
|
|
@@ -44,6 +44,7 @@ export default defineVxeComponent({
|
|
|
44
44
|
popupClassName: [String, Function],
|
|
45
45
|
prefixIcon: String,
|
|
46
46
|
placement: String,
|
|
47
|
+
lazyOptions: Array,
|
|
47
48
|
options: Array,
|
|
48
49
|
optionProps: Object,
|
|
49
50
|
zIndex: Number,
|
|
@@ -224,13 +225,23 @@ export default defineVxeComponent({
|
|
|
224
225
|
return Object.assign({}, treeOpts.filterConfig, props.filterConfig);
|
|
225
226
|
});
|
|
226
227
|
const computeSelectLabel = computed(() => {
|
|
227
|
-
const { modelValue } = props;
|
|
228
|
+
const { modelValue, lazyOptions } = props;
|
|
228
229
|
const { fullNodeMaps } = internalData;
|
|
230
|
+
const valueField = computeValueField.value;
|
|
229
231
|
const labelField = computeLabelField.value;
|
|
230
232
|
const selectVals = XEUtils.eqNull(modelValue) ? [] : (XEUtils.isArray(modelValue) ? modelValue : [modelValue]);
|
|
231
233
|
return selectVals.map(val => {
|
|
232
234
|
const cacheItem = fullNodeMaps[val];
|
|
233
|
-
|
|
235
|
+
if (cacheItem) {
|
|
236
|
+
return cacheItem.item[labelField];
|
|
237
|
+
}
|
|
238
|
+
if (lazyOptions) {
|
|
239
|
+
const lazyItem = lazyOptions.find(item => item[valueField] === val);
|
|
240
|
+
if (lazyItem) {
|
|
241
|
+
return lazyItem[labelField];
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return val;
|
|
234
245
|
}).join(', ');
|
|
235
246
|
});
|
|
236
247
|
const computePopupWrapperStyle = computed(() => {
|
|
@@ -285,12 +296,12 @@ export default defineVxeComponent({
|
|
|
285
296
|
nodeid = getOptUniqueId();
|
|
286
297
|
}
|
|
287
298
|
if (keyMaps[nodeid]) {
|
|
288
|
-
errLog('vxe.error.repeatKey', [nodeKeyField
|
|
299
|
+
errLog('vxe.error.repeatKey', [`[tree-select] ${nodeKeyField}`, nodeid]);
|
|
289
300
|
}
|
|
290
301
|
keyMaps[nodeid] = true;
|
|
291
302
|
const value = item[valueField];
|
|
292
303
|
if (nodeMaps[value]) {
|
|
293
|
-
errLog('vxe.error.repeatKey', [valueField
|
|
304
|
+
errLog('vxe.error.repeatKey', [`[tree-select] ${valueField}`, value]);
|
|
294
305
|
}
|
|
295
306
|
nodeMaps[value] = { item, index, items, parent, nodes };
|
|
296
307
|
};
|
|
@@ -743,6 +754,7 @@ export default defineVxeComponent({
|
|
|
743
754
|
hasChildField: treeOpts.hasChildField || hasChildField,
|
|
744
755
|
accordion: treeOpts.accordion,
|
|
745
756
|
expandAll: treeOpts.expandAll,
|
|
757
|
+
expandNodeKeys: treeOpts.expandNodeKeys,
|
|
746
758
|
nodeConfig: treeNodeOpts,
|
|
747
759
|
lazy: treeOpts.lazy,
|
|
748
760
|
loadMethod: treeOpts.loadMethod,
|
package/es/ui/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
|
|
2
2
|
import { dynamicApp } from '../dynamics';
|
|
3
3
|
import { warnLog } from './src/log';
|
|
4
|
-
export const version = "4.9.
|
|
4
|
+
export const version = "4.9.32";
|
|
5
5
|
VxeUI.uiVersion = version;
|
|
6
6
|
VxeUI.dynamicApp = dynamicApp;
|
|
7
7
|
export function config(options) {
|
package/es/ui/src/log.js
CHANGED
package/es/upload/src/upload.js
CHANGED
|
@@ -1644,10 +1644,10 @@ export default defineVxeComponent({
|
|
|
1644
1644
|
});
|
|
1645
1645
|
onMounted(() => {
|
|
1646
1646
|
if (props.multiple && props.singleMode) {
|
|
1647
|
-
errLog('vxe.error.errConflicts', ['multiple', 'single-mode']);
|
|
1647
|
+
errLog('vxe.error.errConflicts', ['[upload] multiple', 'single-mode']);
|
|
1648
1648
|
}
|
|
1649
1649
|
if (props.imageStyle) {
|
|
1650
|
-
warnLog('vxe.error.delProp', ['image-style', 'image-config']);
|
|
1650
|
+
warnLog('vxe.error.delProp', ['[upload] image-style', 'image-config']);
|
|
1651
1651
|
}
|
|
1652
1652
|
if (props.dragSort) {
|
|
1653
1653
|
initTpImg();
|
package/es/vxe-menu/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-menu{position:relative}.vxe-menu.is--collapsed .vxe-menu--item-custom-title,.vxe-menu.is--collapsed .vxe-menu--item-link-collapse,.vxe-menu.is--collapsed .vxe-menu--item-link-title{display:none}.vxe-menu.is--loading{min-height:4em}.vxe-menu{color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);background-color:var(--vxe-ui-layout-background-color)}.vxe-menu--collapse-wrapper{display:none;position:absolute;overflow:auto}.vxe-menu--collapse-wrapper.is--collapsed{display:block;transition:all .25s ease-in-out}.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-custom-title,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-collapse,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-title{display:none}.vxe-menu--collapse-wrapper.is--enter{box-shadow:var(--vxe-ui-menu-collapse-wrapper-box-shadow)}.vxe-menu--item-link{display:flex;flex-direction:row;align-items:center;color:var(--vxe-ui-font-color);text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-menu--item-link:hover{color:var(--vxe-ui-menu-item-hover-color);background-color:var(--vxe-ui-base-hover-background-color)}.vxe-menu--item-custom-title,.vxe-menu--item-link,.vxe-menu--item-link-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-menu--item-link-icon{flex-shrink:0;width:var(--vxe-ui-menu-icon-width);text-align:center}.vxe-menu--item-custom-title,.vxe-menu--item-link-title{flex-grow:1;padding-left:.2em}.vxe-menu--item-link-collapse{flex-shrink:0;padding:.5em}.vxe-menu--item-link-collapse i{display:inline-block;font-size:.8em;transition:transform .25s ease-in-out}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double)}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 1)}.vxe-menu--item-wrapper.vxe-menu--item-level2>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 2)}.vxe-menu--item-wrapper.vxe-menu--item-level3>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 3)}.vxe-menu--item-wrapper.vxe-menu--item-level4>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 4)}.vxe-menu--item-wrapper.vxe-menu--item-level5>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 5)}.vxe-menu--item-wrapper.vxe-menu--item-level6>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 6)}.vxe-menu--item-wrapper.vxe-menu--item-level7>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 7)}.vxe-menu--item-group{display:none}.vxe-menu--item-wrapper.is--active>.vxe-menu--item-link{font-weight:700}.vxe-menu--item-wrapper.is--exact-active>.vxe-menu--item-link{color:var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-menu--item-wrapper.is--expand>.vxe-menu--item-group{display:block}.vxe-menu--item-level3{font-size:13px}.vxe-menu--item-link{height:var(--vxe-ui-menu-item-height-default)}.vxe-menu{font-size:var(--vxe-ui-font-size-default)}.vxe-menu.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-menu.size--medium .vxe-menu--item-link{height:var(--vxe-ui-menu-item-height-medium)}.vxe-menu.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-menu.size--small .vxe-menu--item-link{height:var(--vxe-ui-menu-item-height-small)}.vxe-menu.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-menu.size--mini .vxe-menu--item-link{height:var(--vxe-ui-menu-item-height-mini)}.vxe-menu.size--mini .vxe-menu--item-level3,.vxe-menu.size--small .vxe-menu--item-level3{font-size:12px}
|
|
1
|
+
.vxe-menu{position:relative}.vxe-menu.is--collapsed .vxe-menu--item-custom-title,.vxe-menu.is--collapsed .vxe-menu--item-link-collapse,.vxe-menu.is--collapsed .vxe-menu--item-link-title{display:none}.vxe-menu.is--loading{min-height:4em}.vxe-menu{color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);background-color:var(--vxe-ui-layout-background-color)}.vxe-menu--collapse-wrapper{display:none;position:absolute;overflow:auto;background-color:var(--vxe-ui-layout-background-color)}.vxe-menu--collapse-wrapper.is--collapsed{display:block;transition:all .25s ease-in-out}.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-custom-title,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-collapse,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-title{display:none}.vxe-menu--collapse-wrapper.is--enter{box-shadow:var(--vxe-ui-menu-collapse-wrapper-box-shadow)}.vxe-menu--item-link{display:flex;flex-direction:row;align-items:center;color:var(--vxe-ui-font-color);text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-menu--item-link:hover{color:var(--vxe-ui-menu-item-hover-color);background-color:var(--vxe-ui-base-hover-background-color)}.vxe-menu--item-custom-title,.vxe-menu--item-link,.vxe-menu--item-link-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-menu--item-link-icon{flex-shrink:0;width:var(--vxe-ui-menu-icon-width);text-align:center}.vxe-menu--item-custom-title,.vxe-menu--item-link-title{flex-grow:1;padding-left:.2em}.vxe-menu--item-link-collapse{flex-shrink:0;padding:.5em}.vxe-menu--item-link-collapse i{display:inline-block;font-size:.8em;transition:transform .25s ease-in-out}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double)}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 1)}.vxe-menu--item-wrapper.vxe-menu--item-level2>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 2)}.vxe-menu--item-wrapper.vxe-menu--item-level3>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 3)}.vxe-menu--item-wrapper.vxe-menu--item-level4>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 4)}.vxe-menu--item-wrapper.vxe-menu--item-level5>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 5)}.vxe-menu--item-wrapper.vxe-menu--item-level6>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 6)}.vxe-menu--item-wrapper.vxe-menu--item-level7>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 7)}.vxe-menu--item-group{display:none}.vxe-menu--item-wrapper.is--active>.vxe-menu--item-link{font-weight:700}.vxe-menu--item-wrapper.is--exact-active>.vxe-menu--item-link{color:var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-menu--item-wrapper.is--expand>.vxe-menu--item-group{display:block}.vxe-menu--item-level3{font-size:13px}.vxe-menu--item-link{height:var(--vxe-ui-menu-item-height-default)}.vxe-menu{font-size:var(--vxe-ui-font-size-default)}.vxe-menu.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-menu.size--medium .vxe-menu--item-link{height:var(--vxe-ui-menu-item-height-medium)}.vxe-menu.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-menu.size--small .vxe-menu--item-link{height:var(--vxe-ui-menu-item-height-small)}.vxe-menu.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-menu.size--mini .vxe-menu--item-link{height:var(--vxe-ui-menu-item-height-mini)}.vxe-menu.size--mini .vxe-menu--item-level3,.vxe-menu.size--small .vxe-menu--item-level3{font-size:12px}
|
package/lib/button/src/button.js
CHANGED
|
@@ -779,7 +779,7 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
779
779
|
$xeButton.renderVN = renderVN;
|
|
780
780
|
(0, _vue.onMounted)(() => {
|
|
781
781
|
if (props.type === 'text') {
|
|
782
|
-
(0, _log.warnLog)('vxe.error.delProp', ['type=text', 'mode=text']);
|
|
782
|
+
(0, _log.warnLog)('vxe.error.delProp', ['[button] type=text', 'mode=text']);
|
|
783
783
|
}
|
|
784
784
|
_ui.globalEvents.on($xeButton, 'mousewheel', handleGlobalMousewheelEvent);
|
|
785
785
|
_ui.globalEvents.on($xeButton, 'mousedown', handleGlobalMousedownEvent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick"],setup(O,e){const{slots:N,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),s=(0,_vue.inject)("$xeForm",null),l=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const P=(0,_ui.useSize)(O)["computeSize"],w=(0,_ui.usePermission)(O)["computePermissionInfo"],I=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),a={showTime:void 0,tooltipTimeout:void 0},S=(0,_vue.ref)(),z=(0,_vue.ref)(),B=(0,_vue.ref)(),r={refElem:S},j={xID:t,props:O,context:e,reactData:I,internalData:a,getRefMaps:()=>r};const V=(0,_vue.computed)(()=>{var e=O["transfer"];if(null===e){var t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||n||o||s)return!0}return e}),$=(0,_vue.computed)(()=>{var e=O["disabled"],t=w.value;return e||t.disabled}),E=(0,_vue.computed)(()=>{var e=O["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),M=(0,_vue.computed)(()=>{var{type:e,mode:t}=O;return"text"===t||"text"===e||l&&"text"===l.props.mode?"text":"button"}),U=(0,_vue.computed)(()=>{var e=O["status"];return e||(l?l.props.status:"")}),q=(0,_vue.computed)(()=>{var e=O["align"];return e||!!l&&l.props.align}),W=(0,_vue.computed)(()=>{var e=O["round"];return e||!!l&&l.props.round}),Z=(0,_vue.computed)(()=>{var e=O["circle"];return e||!!l&&l.props.circle}),J=(0,_vue.computed)(()=>{var e=O["options"];return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,O.prefixTooltip)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,O.suffixTooltip)),d=()=>{var e=O["zIndex"];e?I.panelIndex=e:I.panelIndex<(0,_utils.getLastZIndex)()&&(I.panelIndex=(0,_utils.nextZIndex)())},v=()=>{const n=O["placement"],i=I["panelIndex"],o=z.value,u=B.value,s=V.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:n,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});I.panelStyle=t,I.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},A=e=>{l&&l.handleClick({name:O.name},e),H("click",{$event:e},e)},K=e=>{0===e.button&&e.stopPropagation()},Q=e=>{var t=e.currentTarget;const n=B.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),I.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(I.isAniVisible=!1)},350),H("dropdown-click",{name:i.getAttribute("name"),option:null},e))},D=()=>{const e=B.value;e&&(e.dataset.active="Y",I.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(I.visiblePanel=!0,d(),v(),setTimeout(()=>{I.visiblePanel&&v()},50))},20))},X=e=>{var t=O["loading"];$.value||t||(c(),R(e))},ee=e=>{Y(),F(e)},R=e=>{H("mouseenter",{},e)},F=e=>{H("mouseleave",{},e)},L=e=>{var{loading:t,trigger:n}=O;$.value||t||("click"===n&&(I.visiblePanel?Y:c)(),A(e))},c=()=>{var e=O["trigger"];const t=B.value;return t&&(t.dataset.active="Y",I.initialized||(I.initialized=!0),a.showTime=setTimeout(()=>{"Y"===t.dataset.active?D():I.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},Y=()=>{const e=B.value;return clearTimeout(a.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(I.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(I.isAniVisible=!1)},350))},100)):(I.isAniVisible=!1,I.visiblePanel=!1),(0,_vue.nextTick)()},te=()=>{Y()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHTML:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),G=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=O,s=O.prefixIcon||O.icon,l=O.prefixRender||O.iconRender,a=_.value,r=b.value,v=N.prefix||N.icon,c=N.suffix,d=N.default,p=[];return i&&p.push(m(a,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},v({}))):l?(a=(i=_ui.renderer.get(l.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},a?(0,_vn.getSlotVNs)(a(l,{$button:j})):[]))):s&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",s]})),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},d({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},c({}))):u?(v=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},v?(0,_vn.getSlotVNs)(v(u,{$button:j})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},H=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:j},t))},p=(t={dispatchEvent:H,openPanel:c,closePanel:Y,focus(){var e=z.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=z.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=B.value;I.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&Y()}),x=e=>{var t,n=$.value,i=I["visiblePanel"];n||(n=S.value,t=B.value,I.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!I.isActivated&&Y())},f=()=>{var e=I["visiblePanel"];e&&v()};Object.assign(j,t);return j.renderVN=()=>{var{className:e,popupClassName:t,trigger:n,title:i,routerLink:o,type:u,destroyOnClose:s,name:l,loading:a}=O,{initialized:r,isAniVisible:v,visiblePanel:c}=I,d=E.value;const p=M.value;var m=U.value;const _=W.value;var b=q.value;const x=Z.value;var f,g=V.value,h=$.value,T=w.value,y=J.value,C=P.value,k=N.dropdowns;return T.visible?k||y.length?(T={},f={},"hover"===n&&(T.onMouseenter=X,T.onMouseleave=ee,f.onMouseenter=D,f.onMouseleave=te),(0,_vue.h)("div",{ref:S,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,"is--active":c}]},[o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:z,class:["vxe-button","vxe-button--link","type--"+p,b?"align--"+b:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":_,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,to:o,onClick:L},T),{default(){return G().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])}}):(0,_vue.h)("button",Object.assign({ref:z,class:["vxe-button","type--"+p,b?"align--"+b:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":_,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,onClick:L},T),G().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!g||!r},[(0,_vue.h)("div",Object.assign({ref:B,class:["vxe-button--dropdown-panel",t?_xeUtils.default.isFunction(t)?t({$button:j}):t:"",{["size--"+C]:C,"is--transfer":g,"ani--leave":v,"ani--enter":c}],placement:I.panelPlacement,style:I.panelStyle},f),r&&(c||v)?[k?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:K,onClick:Q},r&&(!s||c||v)?k({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},r&&(!s||c||v)?y.map((i,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:i.type,mode:i.mode||p,className:i.className,name:i.name,routerLink:i.routerLink,permissionCode:i.permissionCode,title:i.title,content:i.content,status:i.status,icon:i.icon,round:_xeUtils.default.isBoolean(i.round)?i.round:"text"!==p&&_,circle:_xeUtils.default.isBoolean(i.circle)?i.circle:"text"!==p&&x,disabled:i.disabled,loading:i.loading,align:i.align,onClick(e){var t=e,n=i;t=e.$event,Y(),H("dropdown-click",{name:n.name,option:n},t)}})):[])]:[])])])):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:z,class:["vxe-button","vxe-button--link","type--"+p,b?"align--"+b:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":_,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,to:o,onClick:A,onMouseenter:R,onMouseleave:F},{default(){return G()}}):(0,_vue.h)("button",{ref:z,class:["vxe-button","type--"+p,b?"align--"+b:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":_,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,onClick:A,onMouseenter:R,onMouseleave:F},G()):(0,_ui.renderEmptyElement)(j)},(0,_vue.onMounted)(()=>{"text"===O.type&&(0,_log.warnLog)("vxe.error.delProp",["type=text","mode=text"]),_ui.globalEvents.on(j,"mousewheel",p),_ui.globalEvents.on(j,"mousedown",x),_ui.globalEvents.on(j,"resize",f)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(j,"mousewheel"),_ui.globalEvents.off(j,"mousedown"),_ui.globalEvents.off(j,"resize")}),j},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick"],setup(O,e){const{slots:N,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),s=(0,_vue.inject)("$xeForm",null),l=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const P=(0,_ui.useSize)(O)["computeSize"],w=(0,_ui.usePermission)(O)["computePermissionInfo"],I=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),a={showTime:void 0,tooltipTimeout:void 0},S=(0,_vue.ref)(),z=(0,_vue.ref)(),B=(0,_vue.ref)(),r={refElem:S},j={xID:t,props:O,context:e,reactData:I,internalData:a,getRefMaps:()=>r};const V=(0,_vue.computed)(()=>{var e=O["transfer"];if(null===e){var t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||n||o||s)return!0}return e}),$=(0,_vue.computed)(()=>{var e=O["disabled"],t=w.value;return e||t.disabled}),E=(0,_vue.computed)(()=>{var e=O["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),M=(0,_vue.computed)(()=>{var{type:e,mode:t}=O;return"text"===t||"text"===e||l&&"text"===l.props.mode?"text":"button"}),U=(0,_vue.computed)(()=>{var e=O["status"];return e||(l?l.props.status:"")}),q=(0,_vue.computed)(()=>{var e=O["align"];return e||!!l&&l.props.align}),W=(0,_vue.computed)(()=>{var e=O["round"];return e||!!l&&l.props.round}),Z=(0,_vue.computed)(()=>{var e=O["circle"];return e||!!l&&l.props.circle}),J=(0,_vue.computed)(()=>{var e=O["options"];return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,O.prefixTooltip)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,O.suffixTooltip)),d=()=>{var e=O["zIndex"];e?I.panelIndex=e:I.panelIndex<(0,_utils.getLastZIndex)()&&(I.panelIndex=(0,_utils.nextZIndex)())},v=()=>{const n=O["placement"],i=I["panelIndex"],o=z.value,u=B.value,s=V.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:n,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});I.panelStyle=t,I.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},A=e=>{l&&l.handleClick({name:O.name},e),H("click",{$event:e},e)},K=e=>{0===e.button&&e.stopPropagation()},Q=e=>{var t=e.currentTarget;const n=B.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),I.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(I.isAniVisible=!1)},350),H("dropdown-click",{name:i.getAttribute("name"),option:null},e))},D=()=>{const e=B.value;e&&(e.dataset.active="Y",I.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(I.visiblePanel=!0,d(),v(),setTimeout(()=>{I.visiblePanel&&v()},50))},20))},X=e=>{var t=O["loading"];$.value||t||(c(),R(e))},ee=e=>{Y(),F(e)},R=e=>{H("mouseenter",{},e)},F=e=>{H("mouseleave",{},e)},L=e=>{var{loading:t,trigger:n}=O;$.value||t||("click"===n&&(I.visiblePanel?Y:c)(),A(e))},c=()=>{var e=O["trigger"];const t=B.value;return t&&(t.dataset.active="Y",I.initialized||(I.initialized=!0),a.showTime=setTimeout(()=>{"Y"===t.dataset.active?D():I.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},Y=()=>{const e=B.value;return clearTimeout(a.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(I.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(I.isAniVisible=!1)},350))},100)):(I.isAniVisible=!1,I.visiblePanel=!1),(0,_vue.nextTick)()},te=()=>{Y()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHTML:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),G=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=O,s=O.prefixIcon||O.icon,l=O.prefixRender||O.iconRender,a=b.value,r=_.value,v=N.prefix||N.icon,c=N.suffix,d=N.default,p=[];return i&&p.push(m(a,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},v({}))):l?(a=(i=_ui.renderer.get(l.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},a?(0,_vn.getSlotVNs)(a(l,{$button:j})):[]))):s&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",s]})),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},d({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},c({}))):u?(v=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},v?(0,_vn.getSlotVNs)(v(u,{$button:j})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},H=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:j},t))},p=(t={dispatchEvent:H,openPanel:c,closePanel:Y,focus(){var e=z.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=z.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=B.value;I.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&Y()}),x=e=>{var t,n=$.value,i=I["visiblePanel"];n||(n=S.value,t=B.value,I.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!I.isActivated&&Y())},f=()=>{var e=I["visiblePanel"];e&&v()};Object.assign(j,t);return j.renderVN=()=>{var{className:e,popupClassName:t,trigger:n,title:i,routerLink:o,type:u,destroyOnClose:s,name:l,loading:a}=O,{initialized:r,isAniVisible:v,visiblePanel:c}=I,d=E.value;const p=M.value;var m=U.value;const b=W.value;var _=q.value;const x=Z.value;var f,g=V.value,h=$.value,T=w.value,y=J.value,C=P.value,k=N.dropdowns;return T.visible?k||y.length?(T={},f={},"hover"===n&&(T.onMouseenter=X,T.onMouseleave=ee,f.onMouseenter=D,f.onMouseleave=te),(0,_vue.h)("div",{ref:S,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,"is--active":c}]},[o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:z,class:["vxe-button","vxe-button--link","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,to:o,onClick:L},T),{default(){return G().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])}}):(0,_vue.h)("button",Object.assign({ref:z,class:["vxe-button","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,onClick:L},T),G().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!g||!r},[(0,_vue.h)("div",Object.assign({ref:B,class:["vxe-button--dropdown-panel",t?_xeUtils.default.isFunction(t)?t({$button:j}):t:"",{["size--"+C]:C,"is--transfer":g,"ani--leave":v,"ani--enter":c}],placement:I.panelPlacement,style:I.panelStyle},f),r&&(c||v)?[k?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:K,onClick:Q},r&&(!s||c||v)?k({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},r&&(!s||c||v)?y.map((i,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:i.type,mode:i.mode||p,className:i.className,name:i.name,routerLink:i.routerLink,permissionCode:i.permissionCode,title:i.title,content:i.content,status:i.status,icon:i.icon,round:_xeUtils.default.isBoolean(i.round)?i.round:"text"!==p&&b,circle:_xeUtils.default.isBoolean(i.circle)?i.circle:"text"!==p&&x,disabled:i.disabled,loading:i.loading,align:i.align,onClick(e){var t=e,n=i;t=e.$event,Y(),H("dropdown-click",{name:n.name,option:n},t)}})):[])]:[])])])):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:z,class:["vxe-button","vxe-button--link","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,to:o,onClick:A,onMouseenter:R,onMouseleave:F},{default(){return G()}}):(0,_vue.h)("button",{ref:z,class:["vxe-button","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,onClick:A,onMouseenter:R,onMouseleave:F},G()):(0,_ui.renderEmptyElement)(j)},(0,_vue.onMounted)(()=>{"text"===O.type&&(0,_log.warnLog)("vxe.error.delProp",["[button] type=text","mode=text"]),_ui.globalEvents.on(j,"mousewheel",p),_ui.globalEvents.on(j,"mousedown",x),_ui.globalEvents.on(j,"resize",f)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(j,"mousewheel"),_ui.globalEvents.off(j,"mousedown"),_ui.globalEvents.off(j,"resize")}),j},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("../../date-panel/src/util"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePicker",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.endDate},defaultDate:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.autoClose},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(k,e){const{slots:C,emit:n}=e,d=(0,_vue.inject)("$xeModal",null),g=(0,_vue.inject)("$xeDrawer",null),b=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),v=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const D=(0,_ui.useSize)(k)["computeSize"],E=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:"",inputLabel:""}),a={hpTimeout:void 0},h=(0,_vue.ref)(),y=(0,_vue.ref)(),P=(0,_vue.ref)(),V=(0,_vue.ref)(),w=(0,_vue.ref)(),L={refElem:h,refInput:y},S={xID:t,props:k,context:e,reactData:E,internalData:a,getRefMaps:()=>L},T=(0,_vue.computed)(()=>{var e=k["transfer"];if(null===e){var t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(b||d||g||o)return!0}return e}),x=(0,_vue.computed)(()=>{var e=k["readonly"];return null===e?!!o&&o.props.readonly:e}),I=(0,_vue.computed)(()=>{var e=k["disabled"];return null===e?!!o&&o.props.disabled:e}),N=(0,_vue.computed)(()=>{var e=k["type"];return"time"===e||"datetime"===e}),l=(0,_vue.computed)(()=>{return N.value||-1<["date","week","month","quarter","year"].indexOf(k.type)}),A=(0,_vue.computed)(()=>k.clearable),j=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=k;return x.value||a||!t||"week"===e||"quarter"===e}),U=(0,_vue.computed)(()=>{var e=k["placeholder"];return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),i=(0,_vue.computed)(()=>{var e=k["immediate"];return e}),F=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,k.shortcutConfig)),B=(0,_vue.computed)(()=>{var e=F.value["options"];return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),$=(0,_vue.computed)(()=>{var e=k["labelFormat"];return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+k.type)}),c=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=k;return(0,_util.handleValueFormat)(e,t)}),p=(0,_vue.computed)(()=>{var e=k["startDay"];return _xeUtils.default.toNumber(e)}),q=(0,_vue.computed)(()=>{const{type:t,multiple:e}=k;var a=E["inputValue"];const l=$.value,i=c.value,u=p.value;return(a?e?a.split(","):[a]:[]).map(e=>{return(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label}).join(", ")}),u=()=>{var e=k["modelValue"];let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),E.inputValue=t},r=e=>{var t=E["inputValue"];f(e.type,{value:t},e)},m=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=k,r=c.value;E.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}))?a.getTime():null,n("update:modelValue",a),i!==a&&(f("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}),n("update:modelValue",a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(f("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(n("update:modelValue",e),_xeUtils.default.toValueString(i)!==e&&(f("change",{value:e},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,e))},O=e=>{var t=e.target.value;E.inputLabel=t,f("input",{value:t},e)},R=e=>{i.value||r(e)},K=e=>{E.isActivated=!0,l.value&&ue(e),r(e)},G=e=>{var t;I.value||(t=E["inputValue"],f("prefix-click",{value:t},e))},_=()=>new Promise(e=>{E.visiblePanel=!1,a.hpTimeout=setTimeout(()=>{E.isAniVisible=!1,e()},350)}),z=(e,t)=>{l.value&&_(),m("",e),f("clear",{value:t},e)},Y=e=>{var t;I.value||(t=E["inputValue"],f("suffix-click",{value:t},e))},Z=e=>{var t=w.value,a=E["inputValue"];i.value||m(a,e),E.visiblePanel||(E.isActivated=!1,t&&t.checkValue(E.inputLabel)),f("blur",{value:a},e),o&&v&&o.triggerItemEvent(e,v.itemConfig.field,a)},W=e=>{r(e)},H=e=>{r(e)},J=e=>{var t=w.value;t&&t.confirmByEvent(e),_()},Q=e=>{var{multiple:t,autoClose:a}=k,{value:e,$event:l}=e,i=N.value;m(e,l),t||i||a&&_()},X=e=>{var t=w.value,{visiblePanel:a,isActivated:l}=E,i=h.value,u=V.value;!I.value&&l&&(E.isActivated=(0,_dom.getEventTargetNode)(e,i).flag||(0,_dom.getEventTargetNode)(e,u).flag,E.isActivated||a&&(_(),t)&&t.checkValue(E.inputLabel))},ee=e=>{var t,a=E["visiblePanel"];I.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&(E.isActivated=!1),a&&(e||t)&&_())},te=e=>{var t=E["visiblePanel"];I.value||t&&(t=V.value,((0,_dom.getEventTargetNode)(e,t).flag?s:_)())},ae=()=>{var e=w.value,{isActivated:t,visiblePanel:a}=E;a&&_(),t&&(E.isActivated=!1),(a||t)&&(e&&e.checkValue(E.inputLabel),a=y.value)&&a.blur()},le=()=>{var e=E["visiblePanel"];e&&s()},s=()=>{const a=k["placement"],l=E["panelIndex"],i=y.value,u=P.value,r=T.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:a,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});E.panelStyle=t,E.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},ie=()=>{var e=E["visiblePanel"];return(I.value||e?(0,_vue.nextTick):(E.initialized||(E.initialized=!0),a.hpTimeout&&(clearTimeout(a.hpTimeout),a.hpTimeout=void 0),E.isActivated=!0,E.isAniVisible=!0,setTimeout(()=>{E.visiblePanel=!0},10),(e=k.zIndex)?E.panelIndex=e:E.panelIndex<(0,_utils.getLastZIndex)()&&(E.panelIndex=(0,_utils.nextZIndex)()),s))()},ue=e=>{x.value||(e.preventDefault(),ie())},re=e=>{r(e)},ne=({option:e,$event:t})=>{var a=k["type"],l=E["inputValue"],i=F.value,u=i["autoClose"],{code:r,clickMethod:n}=e,o=l,v={$datePicker:S,option:e,value:o,code:r};if(!n&&r){l=_ui.commands.get(r),e=l?l.datePickerCommandMethod:null;if(e)e(v);else{var s=c.value,d=p.value;switch(r){case"now":case"prev":case"next":case"minus":case"plus":o=(0,_util.getDateByCode)(r,o,a,{valueFormat:s,firstDay:d}).value;v.value=o,m(o,t);break;default:(0,_log.errLog)("vxe.error.notCommands",[r])}}}else{l=n||i.clickMethod;l&&l(v)}u&&_(),f("shortcut-click",v,t)},f=(e,t,a)=>{n(e,(0,_ui.createEvent)(a,{$datePicker:S},t))};t={dispatchEvent:f,setModelValue(e){E.inputValue=e,n("update:modelValue",e)},setModelValueByEvent(e,t){m(t||"",e)},focus(){var e=y.value;return E.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return y.value.blur(),(E.isActivated=!1,_vue.nextTick)()},select(){return y.value.select(),(E.isActivated=!1,_vue.nextTick)()},showPanel:ie,hidePanel:_,updatePlacement:s};Object.assign(S,t);const M=(e,t)=>{var a=F.value,{position:l,align:i,mode:u}=a,r=B.value;return(0,_utils.isEnableConf)(a)&&r.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:r,mode:u,align:i,vertical:t,onClick:ne})]):(0,_ui.renderEmptyElement)(S)},oe=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:ue},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(q,e=>{E.inputLabel=e}),(0,_vue.watch)(()=>k.modelValue,()=>{u()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(S,"mousewheel",te),_ui.globalEvents.on(S,"mousedown",X),_ui.globalEvents.on(S,"keydown",ee),_ui.globalEvents.on(S,"blur",ae),_ui.globalEvents.on(S,"resize",le)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(S,"mousewheel"),_ui.globalEvents.off(S,"mousedown"),_ui.globalEvents.off(S,"blur"),_ui.globalEvents.off(S,"resize")}),u(),(0,_vue.provide)("$xeDatePicker",S),S.renderVN=()=>{var e,t,a,l,i,u,r,{className:n,type:o,name:v,autoComplete:s}=k,{inputValue:d,inputLabel:c,visiblePanel:p,isActivated:m}=E,_=D.value,f=I.value,g=x.value,b=q.value;return g?(0,_vue.h)("div",{ref:h,class:["vxe-date-picker--readonly","type--"+o,n]},b):(g=j.value,b=U.value,e=A.value,a=k.prefixIcon,t=(t=C.prefix)||a?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:G},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},t?(0,_vn.getSlotVNs)(t({})):[(0,_vue.h)("i",{class:a})])]):null,a=k.suffixIcon,l=E.inputValue,i=C.suffix,u=I.value,r=A.value,u=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":r&&!u&&!(""===l||_xeUtils.default.eqNull(l))}]},[r?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:z},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(S),oe(),i||a?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:Y},i?(0,_vn.getSlotVNs)(i({})):[(0,_vue.h)("i",{class:a})]):(0,_ui.renderEmptyElement)(S)]),(0,_vue.h)("div",{ref:h,class:["vxe-date-picker","type--"+o,n,{["size--"+_]:_,"is--prefix":!!t,"is--suffix":!!u,"is--visible":p,"is--disabled":f,"is--active":m,"show--clear":e&&!f&&!(""===d||_xeUtils.default.eqNull(d))}],spellcheck:!1},[t||(0,_ui.renderEmptyElement)(S),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:y,class:"vxe-date-picker--inner",value:c,name:v,type:"text",placeholder:b,readonly:g,disabled:f,autocomplete:s,onKeydown:W,onKeyup:H,onClick:re,onInput:O,onChange:R,onFocus:K,onBlur:Z})]),u||(0,_ui.renderEmptyElement)(S),(()=>{var{type:e,multiple:t,showClearButton:a,showConfirmButton:l}=k,{initialized:i,isAniVisible:u,visiblePanel:r,panelPlacement:n,panelStyle:o,inputValue:v}=E,s=D.value,d=T.value,c=F.value,p=A.value,m=N.value,_=B.value,c=c["position"],f=C.header,g=C.footer,b=C.top,h=C.bottom,y=C.left,x=C.right,_=0<_.length,m=null===l?m||t:l,t=null===a?p&&m&&"time"!==e:a;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!d||!i},[(0,_vue.h)("div",{ref:P,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,{["size--"+s]:s,"is--transfer":d,"ani--leave":u,"ani--enter":r,"show--top":!!(b||f||_&&("top"===c||"header"===c)),"show--bottom":!!(h||g||_&&("bottom"===c||"footer"===c)),"show--left":!!(y||_&&"left"===c),"show--right":!!(x||_&&"right"===c)}],placement:n,style:o},i&&(r||u)?[(0,_vue.h)("div",{ref:V,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+s]:s}]},[b?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},b({})):M("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[y?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},y({})):M("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[f?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},f({})):M("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:w,modelValue:E.inputValue,type:k.type,className:k.className,multiple:k.multiple,limitCount:k.limitCount,startDate:k.startDate,endDate:k.endDate,defaultDate:k.defaultDate,minDate:k.minDate,maxDate:k.maxDate,startDay:k.startDay,labelFormat:k.labelFormat,valueFormat:k.valueFormat,timeFormat:k.timeFormat,festivalMethod:k.festivalMethod,disabledMethod:k.disabledMethod,selectDay:k.selectDay,onChange:Q})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},g?g({}):[M("footer")]),t||m?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:""===v||_xeUtils.default.eqNull(v),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:z}):(0,_ui.renderEmptyElement)(S),m?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:J}):(0,_ui.renderEmptyElement)(S)]):(0,_ui.renderEmptyElement)(S)])]),x?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},x({})):M("right",!0)]),h?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},h({})):M("bottom")])]:[])])})()]))},S},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("../../date-panel/src/util"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePicker",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.endDate},defaultDate:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.autoClose},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(k,e){const{slots:C,emit:n}=e,d=(0,_vue.inject)("$xeModal",null),g=(0,_vue.inject)("$xeDrawer",null),b=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),v=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const D=(0,_ui.useSize)(k)["computeSize"],E=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:"",inputLabel:""}),a={hpTimeout:void 0},h=(0,_vue.ref)(),y=(0,_vue.ref)(),P=(0,_vue.ref)(),V=(0,_vue.ref)(),w=(0,_vue.ref)(),L={refElem:h,refInput:y},S={xID:t,props:k,context:e,reactData:E,internalData:a,getRefMaps:()=>L},T=(0,_vue.computed)(()=>{var e=k["transfer"];if(null===e){var t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(b||d||g||o)return!0}return e}),x=(0,_vue.computed)(()=>{var e=k["readonly"];return null===e?!!o&&o.props.readonly:e}),I=(0,_vue.computed)(()=>{var e=k["disabled"];return null===e?!!o&&o.props.disabled:e}),N=(0,_vue.computed)(()=>{var e=k["type"];return"time"===e||"datetime"===e}),l=(0,_vue.computed)(()=>{return N.value||-1<["date","week","month","quarter","year"].indexOf(k.type)}),A=(0,_vue.computed)(()=>k.clearable),j=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=k;return x.value||a||!t||"week"===e||"quarter"===e}),U=(0,_vue.computed)(()=>{var e=k["placeholder"];return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),i=(0,_vue.computed)(()=>{var e=k["immediate"];return e}),F=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,k.shortcutConfig)),B=(0,_vue.computed)(()=>{var e=F.value["options"];return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),$=(0,_vue.computed)(()=>{var e=k["labelFormat"];return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+k.type)}),c=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=k;return(0,_util.handleValueFormat)(e,t)}),p=(0,_vue.computed)(()=>{var e=k["startDay"];return _xeUtils.default.toNumber(e)}),q=(0,_vue.computed)(()=>{const{type:t,multiple:e}=k;var a=E["inputValue"];const l=$.value,i=c.value,u=p.value;return(a?e?a.split(","):[a]:[]).map(e=>{return(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label}).join(", ")}),u=()=>{var e=k["modelValue"];let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),E.inputValue=t},r=e=>{var t=E["inputValue"];f(e.type,{value:t},e)},m=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=k,r=c.value;E.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}))?a.getTime():null,n("update:modelValue",a),i!==a&&(f("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}),n("update:modelValue",a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(f("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(n("update:modelValue",e),_xeUtils.default.toValueString(i)!==e&&(f("change",{value:e},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,e))},O=e=>{var t=e.target.value;E.inputLabel=t,f("input",{value:t},e)},R=e=>{i.value||r(e)},K=e=>{E.isActivated=!0,l.value&&ue(e),r(e)},G=e=>{var t;I.value||(t=E["inputValue"],f("prefix-click",{value:t},e))},_=()=>new Promise(e=>{E.visiblePanel=!1,a.hpTimeout=setTimeout(()=>{E.isAniVisible=!1,e()},350)}),z=(e,t)=>{l.value&&_(),m("",e),f("clear",{value:t},e)},Y=e=>{var t;I.value||(t=E["inputValue"],f("suffix-click",{value:t},e))},Z=e=>{var t=w.value,a=E["inputValue"];i.value||m(a,e),E.visiblePanel||(E.isActivated=!1,t&&t.checkValue(E.inputLabel)),f("blur",{value:a},e),o&&v&&o.triggerItemEvent(e,v.itemConfig.field,a)},W=e=>{r(e)},H=e=>{r(e)},J=e=>{var t=w.value;t&&t.confirmByEvent(e),_()},Q=e=>{var{multiple:t,autoClose:a}=k,{value:e,$event:l}=e,i=N.value;m(e,l),t||i||a&&_()},X=e=>{var t=w.value,{visiblePanel:a,isActivated:l}=E,i=h.value,u=V.value;!I.value&&l&&(E.isActivated=(0,_dom.getEventTargetNode)(e,i).flag||(0,_dom.getEventTargetNode)(e,u).flag,E.isActivated||a&&(_(),t)&&t.checkValue(E.inputLabel))},ee=e=>{var t,a=E["visiblePanel"];I.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&(E.isActivated=!1),a&&(e||t)&&_())},te=e=>{var t=E["visiblePanel"];I.value||t&&(t=V.value,((0,_dom.getEventTargetNode)(e,t).flag?s:_)())},ae=()=>{var e=w.value,{isActivated:t,visiblePanel:a}=E;a&&_(),t&&(E.isActivated=!1),(a||t)&&(e&&e.checkValue(E.inputLabel),a=y.value)&&a.blur()},le=()=>{var e=E["visiblePanel"];e&&s()},s=()=>{const a=k["placement"],l=E["panelIndex"],i=y.value,u=P.value,r=T.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:a,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});E.panelStyle=t,E.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},ie=()=>{var e=E["visiblePanel"];return(I.value||e?(0,_vue.nextTick):(E.initialized||(E.initialized=!0),a.hpTimeout&&(clearTimeout(a.hpTimeout),a.hpTimeout=void 0),E.isActivated=!0,E.isAniVisible=!0,setTimeout(()=>{E.visiblePanel=!0},10),(e=k.zIndex)?E.panelIndex=e:E.panelIndex<(0,_utils.getLastZIndex)()&&(E.panelIndex=(0,_utils.nextZIndex)()),s))()},ue=e=>{x.value||(e.preventDefault(),ie())},re=e=>{r(e)},ne=({option:e,$event:t})=>{var a=k["type"],l=E["inputValue"],i=F.value,u=i["autoClose"],{code:r,clickMethod:n}=e,o=l,v={$datePicker:S,option:e,value:o,code:r};if(!n&&r){l=_ui.commands.get(r),e=l?l.datePickerCommandMethod:null;if(e)e(v);else{var s=c.value,d=p.value;switch(r){case"now":case"prev":case"next":case"minus":case"plus":o=(0,_util.getDateByCode)(r,o,a,{valueFormat:s,firstDay:d}).value;v.value=o,m(o,t);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-picker] "+r])}}}else{l=n||i.clickMethod;l&&l(v)}u&&_(),f("shortcut-click",v,t)},f=(e,t,a)=>{n(e,(0,_ui.createEvent)(a,{$datePicker:S},t))};t={dispatchEvent:f,setModelValue(e){E.inputValue=e,n("update:modelValue",e)},setModelValueByEvent(e,t){m(t||"",e)},focus(){var e=y.value;return E.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return y.value.blur(),(E.isActivated=!1,_vue.nextTick)()},select(){return y.value.select(),(E.isActivated=!1,_vue.nextTick)()},showPanel:ie,hidePanel:_,updatePlacement:s};Object.assign(S,t);const M=(e,t)=>{var a=F.value,{position:l,align:i,mode:u}=a,r=B.value;return(0,_utils.isEnableConf)(a)&&r.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:r,mode:u,align:i,vertical:t,onClick:ne})]):(0,_ui.renderEmptyElement)(S)},oe=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:ue},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(q,e=>{E.inputLabel=e}),(0,_vue.watch)(()=>k.modelValue,()=>{u()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(S,"mousewheel",te),_ui.globalEvents.on(S,"mousedown",X),_ui.globalEvents.on(S,"keydown",ee),_ui.globalEvents.on(S,"blur",ae),_ui.globalEvents.on(S,"resize",le)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(S,"mousewheel"),_ui.globalEvents.off(S,"mousedown"),_ui.globalEvents.off(S,"blur"),_ui.globalEvents.off(S,"resize")}),u(),(0,_vue.provide)("$xeDatePicker",S),S.renderVN=()=>{var e,t,a,l,i,u,r,{className:n,type:o,name:v,autoComplete:s}=k,{inputValue:d,inputLabel:c,visiblePanel:p,isActivated:m}=E,_=D.value,f=I.value,g=x.value,b=q.value;return g?(0,_vue.h)("div",{ref:h,class:["vxe-date-picker--readonly","type--"+o,n]},b):(g=j.value,b=U.value,e=A.value,a=k.prefixIcon,t=(t=C.prefix)||a?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:G},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},t?(0,_vn.getSlotVNs)(t({})):[(0,_vue.h)("i",{class:a})])]):null,a=k.suffixIcon,l=E.inputValue,i=C.suffix,u=I.value,r=A.value,u=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":r&&!u&&!(""===l||_xeUtils.default.eqNull(l))}]},[r?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:z},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(S),oe(),i||a?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:Y},i?(0,_vn.getSlotVNs)(i({})):[(0,_vue.h)("i",{class:a})]):(0,_ui.renderEmptyElement)(S)]),(0,_vue.h)("div",{ref:h,class:["vxe-date-picker","type--"+o,n,{["size--"+_]:_,"is--prefix":!!t,"is--suffix":!!u,"is--visible":p,"is--disabled":f,"is--active":m,"show--clear":e&&!f&&!(""===d||_xeUtils.default.eqNull(d))}],spellcheck:!1},[t||(0,_ui.renderEmptyElement)(S),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:y,class:"vxe-date-picker--inner",value:c,name:v,type:"text",placeholder:b,readonly:g,disabled:f,autocomplete:s,onKeydown:W,onKeyup:H,onClick:re,onInput:O,onChange:R,onFocus:K,onBlur:Z})]),u||(0,_ui.renderEmptyElement)(S),(()=>{var{type:e,multiple:t,showClearButton:a,showConfirmButton:l}=k,{initialized:i,isAniVisible:u,visiblePanel:r,panelPlacement:n,panelStyle:o,inputValue:v}=E,s=D.value,d=T.value,c=F.value,p=A.value,m=N.value,_=B.value,c=c["position"],f=C.header,g=C.footer,b=C.top,h=C.bottom,y=C.left,x=C.right,_=0<_.length,m=null===l?m||t:l,t=null===a?p&&m&&"time"!==e:a;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!d||!i},[(0,_vue.h)("div",{ref:P,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,{["size--"+s]:s,"is--transfer":d,"ani--leave":u,"ani--enter":r,"show--top":!!(b||f||_&&("top"===c||"header"===c)),"show--bottom":!!(h||g||_&&("bottom"===c||"footer"===c)),"show--left":!!(y||_&&"left"===c),"show--right":!!(x||_&&"right"===c)}],placement:n,style:o},i&&(r||u)?[(0,_vue.h)("div",{ref:V,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+s]:s}]},[b?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},b({})):M("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[y?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},y({})):M("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[f?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},f({})):M("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:w,modelValue:E.inputValue,type:k.type,className:k.className,multiple:k.multiple,limitCount:k.limitCount,startDate:k.startDate,endDate:k.endDate,defaultDate:k.defaultDate,minDate:k.minDate,maxDate:k.maxDate,startDay:k.startDay,labelFormat:k.labelFormat,valueFormat:k.valueFormat,timeFormat:k.timeFormat,festivalMethod:k.festivalMethod,disabledMethod:k.disabledMethod,selectDay:k.selectDay,onChange:Q})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},g?g({}):[M("footer")]),t||m?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:""===v||_xeUtils.default.eqNull(v),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:z}):(0,_ui.renderEmptyElement)(S),m?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:J}):(0,_ui.renderEmptyElement)(S)]):(0,_ui.renderEmptyElement)(S)])]),x?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},x({})):M("right",!0)]),h?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},h({})):M("bottom")])]:[])])})()]))},S},render(){return this.renderVN()}});
|
|
@@ -847,7 +847,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
847
847
|
break;
|
|
848
848
|
}
|
|
849
849
|
default:
|
|
850
|
-
(0, _log.errLog)('vxe.error.notCommands', [code]);
|
|
850
|
+
(0, _log.errLog)('vxe.error.notCommands', [`[date-range-picker] ${code}`]);
|
|
851
851
|
break;
|
|
852
852
|
}
|
|
853
853
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("../../date-panel/src/util"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDateRangePicker",props:{modelValue:[String,Number,Date,Array],startValue:[String,Number,Date],endValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().dateRangePicker.size||(0,_ui.getConfig)().size},minDate:[String,Number,Date],maxDate:[String,Number,Date],defaultDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,valueType:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.disabledMethod},separator:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.separator},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.autoClose},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},shortcutConfig:Object},emits:["update:modelValue","update:startValue","update:endValue","input","change","keydown","keyup","click","focus","blur","clear","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(E,e){const{slots:P,emit:r}=e,c=(0,_vue.inject)("$xeModal",null),p=(0,_vue.inject)("$xeDrawer",null),D=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();const S=(0,_ui.useSize)(E)["computeSize"],w=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,startValue:"",endValue:""}),o={},_=(0,_vue.ref)(),g=(0,_vue.ref)(),F=(0,_vue.ref)(),T=(0,_vue.ref)(),I=(0,_vue.ref)(),R=(0,_vue.ref)(),C={refElem:_,refInput:g},A={xID:a,props:E,context:e,reactData:w,internalData:o,getRefMaps:()=>C};const M=(0,_vue.computed)(()=>{var e=E["transfer"];if(null===e){var a=(0,_ui.getConfig)().dateRangePicker.transfer;if(_xeUtils.default.isBoolean(a))return a;if(D||c||p||i)return!0}return e}),f=(0,_vue.computed)(()=>{var e=E["readonly"];return null===e?!!i&&i.props.readonly:e}),b=(0,_vue.computed)(()=>{var e=E["disabled"];return null===e?!!i&&i.props.disabled:e});a=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=E;return""+(e||"")+(a||"")});const j=(0,_vue.computed)(()=>{var e=E["type"];return"time"===e||"datetime"===e}),s=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(E.type)),N=(0,_vue.computed)(()=>E.clearable),U=(0,_vue.computed)(()=>{var e=E["placeholder"];return(e=e||(0,_ui.getConfig)().dateRangePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.dateRangePicker.pleaseRange")}),l=(0,_vue.computed)(()=>{var e=E["immediate"];return e}),B=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.shortcutConfig,E.shortcutConfig)),q=(0,_vue.computed)(()=>{var e=B.value["options"];return e?e.map((e,a)=>Object.assign({name:""+(e.name||e.code||a)},e)):[]}),L=(0,_vue.computed)(()=>{var e=E["labelFormat"];return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+E.type)}),m=(0,_vue.computed)(()=>{var{type:e,valueFormat:a}=E;return(0,_util.handleValueFormat)(e,a)}),y=(0,_vue.computed)(()=>{var e=E["startDay"];return _xeUtils.default.toNumber(e)}),O=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=w,e=e||a?[e||"",a||""]:[];return K(e)}),$=(0,_vue.computed)(()=>{return O.value.label}),K=e=>{var{type:a,separator:t}=E,l=L.value,u=m.value,r=y.value,i=e[0]?(0,_util.parseDateObj)(e[0],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,e=e[1]?(0,_util.parseDateObj)(e[1],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,a=i?i.label:"",u=e?e.label:"";return{label:(a||u?[a,u]:[]).join(""+(t||" ~ ")),startLabel:a,endLabel:u}},h=(e,a)=>{var{modelValue:t,valueType:l}=E;let u=_xeUtils.default.isArray(t);if(l)switch(l){case"array":u=!0;break;case"string":u=!1}return e||a?(t=[e||"",a||""],u?t:t.join(",")):u?[]:""},G=()=>{var e,{type:a,modelValue:t}=E,l=m.value;let u="",r="";return _xeUtils.default.isArray(t)?(e=(0,_util.parseDateString)(t[0],a,{valueFormat:l}),a=(0,_util.parseDateString)(t[1],a,{valueFormat:l}),(e||a)&&(u=e||"",r=a||"")):_xeUtils.default.isString(t)&&((l=t.split(","))[0]||l[1])&&(u=l[0]||"",r=l[1]||""),{sValue:u,eValue:r}},Y=()=>{var{type:e,startValue:a,endValue:t}=E,l=m.value;return{sValue:(0,_util.parseDateString)(a,e,{valueFormat:l}),eValue:(0,_util.parseDateString)(t,e,{valueFormat:l})}},t=e=>{var{modelValue:a,startValue:t,endValue:l}=E;let u={sValue:"",eValue:""};u=(e?a?G:Y:t||l?Y:G)(),w.startValue=u.sValue,w.endValue=u.eValue},u=e=>{var{startValue:a,endValue:t}=w,l=h(a,t);k(e.type,{value:l,startValue:a,endValue:t},e)},x=(e,a,t)=>{var l=E["modelValue"],u=(w.startValue=e,w.endValue=a,h(e,a));r("update:modelValue",u),r("update:startValue",e||""),r("update:endValue",a||""),_xeUtils.default.toValueString(l)!==u&&(k("change",{value:u},t),i)&&n&&i.triggerItemEvent(t,n.itemConfig.field,u)},Z=e=>{l.value||u(e)},H=e=>{w.isActivated=!0,ce(e),u(e)},J=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=w,l=h(a,t),k("prefix-click",{value:l,startValue:a,endValue:t},e))},V=()=>new Promise(e=>{w.visiblePanel=!1,o.hpTimeout=setTimeout(()=>{w.isAniVisible=!1,e()},350)}),Q=(e,a)=>{s.value&&V(),x("","",e),k("clear",{value:a},e)},v=()=>{var e=I.value,a=R.value;e&&a&&(e=e.getModelValue(),a=a.getModelValue(),e&&a||x("","",{type:"check"}))},W=()=>{var e=E["autoClose"],{startValue:a,endValue:t}=w,l=o["selectStatus"],u=s.value;e?l&&u&&a&&t&&V():a&&t&&(o.selectStatus=!1)},X=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=w,l=h(a,t),k("suffix-click",{value:l,startValue:a,endValue:t},e))},ee=e=>{var{startValue:a,endValue:t}=w;l.value||x(a,t,e),w.visiblePanel||(w.isActivated=!1),k("blur",{value:"",startValue:a,endValue:t},e),i&&n&&i.triggerItemEvent(e,n.itemConfig.field,"")},ae=e=>{u(e)},te=e=>{u(e)},le=e=>{var a,t,l=I.value,u=R.value;l&&u&&(a=l.getModelValue(),t=u.getModelValue(),a&&!t||!a&&t?x("","",e):(l.confirmByEvent(e),u.confirmByEvent(e))),V()},ue=e=>{var a=o["selectStatus"],{value:e,$event:t}=e;const l=a?w.endValue:"";x(e,l,t),W(),a||(o.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=I.value,a=R.value;e&&a&&(e=e.getModelValue(),!l)&&e&&a.setPanelDate(_xeUtils.default.toStringDate(e))})},re=e=>{var a=o["selectStatus"],{value:e,$event:t}=e;const l=a?w.startValue:"";x(l,e,t),W(),a||(o.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=I.value,a=R.value;e&&a&&(a=a.getModelValue(),!l)&&a&&e.setPanelDate(_xeUtils.default.toStringDate(a))})},ie=e=>{var{visiblePanel:a,isActivated:t}=w,l=_.value,u=T.value;!b.value&&t&&(w.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,u).flag,w.isActivated||a&&(v(),V()))},ne=e=>{var a,t=w["visiblePanel"];b.value||(a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),a&&(w.isActivated=!1),t&&(e||a)&&V())},oe=e=>{var a=w["visiblePanel"];b.value||a&&(a=T.value,((0,_dom.getEventTargetNode)(e,a).flag?d:V)())},se=()=>{var{visiblePanel:e,isActivated:a}=w;e&&V(),a&&(w.isActivated=!1),(e||a)&&(e=g.value)&&e.blur()},ve=()=>{var e=w["visiblePanel"];e&&d()},d=()=>{const t=E["placement"],l=w["panelIndex"],u=g.value,r=F.value,i=M.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(u,r,{placement:t,teleportTo:i}),a=Object.assign(e.style,{zIndex:l});w.panelStyle=a,w.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},de=()=>{var e=w["visiblePanel"];return(b.value||e?(0,_vue.nextTick):(w.initialized||(w.initialized=!0),o.hpTimeout&&(clearTimeout(o.hpTimeout),o.hpTimeout=void 0),o.selectStatus=!1,w.isActivated=!0,w.isAniVisible=!0,setTimeout(()=>{w.visiblePanel=!0},10),(e=E.zIndex)?w.panelIndex=e:w.panelIndex<(0,_utils.getLastZIndex)()&&(w.panelIndex=(0,_utils.nextZIndex)()),d))()},ce=e=>{f.value||(e.preventDefault(),de())},pe=e=>{u(e)},me=({option:e,$event:a})=>{var t=E["type"],l=B.value,u=l["autoClose"],{code:r,clickMethod:i}=e,n=w.startValue,o=w.endValue,s=h(n,o),v={$dateRangePicker:A,option:e,value:s,startValue:n,endValue:o,code:r};if(!i&&r){e=_ui.commands.get(r),e=e?e.dateRangePickerCommandMethod:null;if(e)e(v);else{var d=m.value,c=y.value;switch(r){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var p=(0,_util.getRangeDateByCode)(r,s,t,{valueFormat:d,firstDay:c}),n=p.startValue,o=p.endValue,s=h(n,o);v.value=s,v.startValue=n,v.endValue=o,x(n,o,a);break;default:(0,_log.errLog)("vxe.error.notCommands",[r])}}}else{e=i||l.clickMethod;e&&e(v)}u&&V(),k("shortcut-click",v,a)},k=(e,a,t)=>{r(e,(0,_ui.createEvent)(t,{$dateRangePicker:A},a))},z=(e={dispatchEvent:k,setModelValue(e,a){w.startValue=e||"",w.endValue=a||"";e=h(e,a);r("update:modelValue",e)},setModelValueByEvent(e,a,t){x(a||"",t||"",e)},focus(){var e=g.value;return w.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return g.value.blur(),(w.isActivated=!1,_vue.nextTick)()},select(){return g.value.select(),(w.isActivated=!1,_vue.nextTick)()},showPanel:de,hidePanel:V,updatePlacement:d},Object.assign(A,e),(e,a)=>{var t=B.value,{position:l,align:u,mode:r}=t,i=q.value;return(0,_utils.isEnableConf)(t)&&i.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-range-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:i,mode:r,align:u,vertical:a,onClick:me})]):(0,_ui.renderEmptyElement)(A)}),_e=()=>(0,_vue.h)("div",{class:"vxe-date-range-picker--control-icon",onClick:ce},[(0,_vue.h)("i",{class:["vxe-date-range-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(()=>E.modelValue,()=>{t(!0)}),(0,_vue.watch)(a,()=>{t(!1)}),t(!0),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(A,"mousewheel",oe),_ui.globalEvents.on(A,"mousedown",ie),_ui.globalEvents.on(A,"keydown",ne),_ui.globalEvents.on(A,"blur",se),_ui.globalEvents.on(A,"resize",ve)}),(0,_vue.onDeactivated)(()=>{v()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(A,"mousewheel"),_ui.globalEvents.off(A,"mousedown"),_ui.globalEvents.off(A,"blur"),_ui.globalEvents.off(A,"resize")}),(0,_vue.onBeforeUnmount)(()=>{v()}),(0,_vue.provide)("$xeDateRangePicker",A),A.renderVN=()=>{var e,a,t,{className:l,type:u,name:r,autoComplete:i}=E,{startValue:n,endValue:o,visiblePanel:s,isActivated:v}=w,d=S.value,c=b.value,p=f.value,m=$.value;return p?(0,_vue.h)("div",{ref:_,class:["vxe-date-range-picker--readonly","type--"+u,l]},m):(p=U.value,e=N.value,t=E.prefixIcon,a=(a=P.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix",onClick:J},[(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix-icon"},a?(0,_vn.getSlotVNs)(a({})):[(0,_vue.h)("i",{class:t})])]):null,t=(()=>{var e=E["suffixIcon"],{startValue:a,endValue:t}=w,l=P.suffix,u=b.value,r=N.value;return(0,_vue.h)("div",{class:["vxe-date-range-picker--suffix",{"is--clear":r&&!u&&(a||t)}]},[r?(0,_vue.h)("div",{class:"vxe-date-range-picker--clear-icon",onClick:Q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(A),_e(),l||e?(0,_vue.h)("div",{class:"vxe-date-range-picker--suffix-icon",onClick:X},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(A)])})(),(0,_vue.h)("div",{ref:_,class:["vxe-date-range-picker","type--"+u,l,{["size--"+d]:d,"is--prefix":!!a,"is--suffix":!!t,"is--visible":s,"is--disabled":c,"is--active":v,"show--clear":e&&!c&&(n||o)}],spellcheck:!1},[a||(0,_ui.renderEmptyElement)(A),(0,_vue.h)("div",{class:"vxe-date-range-picker--wrapper"},[(0,_vue.h)("input",{ref:g,class:"vxe-date-range-picker--inner",value:m,name:r,type:"text",placeholder:p,readonly:!0,disabled:c,autocomplete:i,onKeydown:ae,onKeyup:te,onClick:pe,onChange:Z,onFocus:H,onBlur:ee})]),t||(0,_ui.renderEmptyElement)(A),(()=>{var{type:e,separator:a,autoClose:t,showConfirmButton:l,showClearButton:u}=E,{initialized:r,isAniVisible:i,visiblePanel:n,panelPlacement:o,panelStyle:s,startValue:v,endValue:d}=w,c=S.value,p=M.value,m=B.value,_=N.value,g=O.value,f=q.value,b=j.value,{startLabel:g,endLabel:y}=g,m=m["position"],h=P.header,x=P.footer,V=P.top,k=P.bottom,D=P.left,C=P.right,f=0<f.length,b=null===l?b||!t:l,t=null===u?_:u;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!p||!r},[(0,_vue.h)("div",{ref:F,class:["vxe-table--ignore-clear vxe-date-range-picker--panel","type--"+e,{["size--"+c]:c,"is--transfer":p,"ani--leave":i,"ani--enter":n,"show--top":!!(V||h||f&&("top"===m||"header"===m)),"show--bottom":!!(k||x||f&&("bottom"===m||"footer"===m)),"show--left":!!(D||f&&"left"===m),"show--right":!!(C||f&&"right"===m)}],placement:o,style:s},r&&(n||i)?[(0,_vue.h)("div",{ref:T,class:["vxe-date-range-picker--layout-all-wrapper","type--"+e,{["size--"+c]:c}]},[V?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-top-wrapper"},V({})):z("top"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-layout-wrapper"},[D?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-left-wrapper"},D({})):z("left",!0),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-content-wrapper"},[h?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-header-wrapper"},h({})):z("header"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:I,modelValue:v,type:E.type,className:E.className,minDate:E.minDate,maxDate:E.maxDate,endDate:d,startDay:E.startDay,labelFormat:E.labelFormat,valueFormat:E.valueFormat,timeFormat:E.timeFormat,festivalMethod:E.festivalMethod,disabledMethod:E.disabledMethod,selectDay:E.selectDay,onChange:ue}),(0,_vue.h)(_datePanel.default,{ref:R,modelValue:d,type:E.type,className:E.className,minDate:E.minDate,maxDate:E.maxDate,startDate:v,startDay:E.startDay,labelFormat:E.labelFormat,valueFormat:E.valueFormat,timeFormat:E.timeFormat,festivalMethod:E.festivalMethod,disabledMethod:E.disabledMethod,selectDay:E.selectDay,onChange:re})]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-label"},g||y?[(0,_vue.h)("span",g),(0,_vue.h)("span",""+(a||"")),(0,_vue.h)("span",y)]:[]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-custom"},x?x({}):[z("footer")]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:!(v||d),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:Q}):(0,_ui.renderEmptyElement)(A),b?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:le}):(0,_ui.renderEmptyElement)(A)])])]),C?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-right-wrapper"},C({})):z("right",!0)]),k?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-bottom-wrapper"},k({})):z("bottom")])]:[])])})()]))},A},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("../../date-panel/src/util"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDateRangePicker",props:{modelValue:[String,Number,Date,Array],startValue:[String,Number,Date],endValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().dateRangePicker.size||(0,_ui.getConfig)().size},minDate:[String,Number,Date],maxDate:[String,Number,Date],defaultDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,valueType:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.disabledMethod},separator:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.separator},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.autoClose},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},shortcutConfig:Object},emits:["update:modelValue","update:startValue","update:endValue","input","change","keydown","keyup","click","focus","blur","clear","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(E,e){const{slots:P,emit:r}=e,c=(0,_vue.inject)("$xeModal",null),p=(0,_vue.inject)("$xeDrawer",null),D=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();const S=(0,_ui.useSize)(E)["computeSize"],w=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,startValue:"",endValue:""}),o={},_=(0,_vue.ref)(),g=(0,_vue.ref)(),F=(0,_vue.ref)(),T=(0,_vue.ref)(),I=(0,_vue.ref)(),R=(0,_vue.ref)(),C={refElem:_,refInput:g},A={xID:a,props:E,context:e,reactData:w,internalData:o,getRefMaps:()=>C};const M=(0,_vue.computed)(()=>{var e=E["transfer"];if(null===e){var a=(0,_ui.getConfig)().dateRangePicker.transfer;if(_xeUtils.default.isBoolean(a))return a;if(D||c||p||i)return!0}return e}),f=(0,_vue.computed)(()=>{var e=E["readonly"];return null===e?!!i&&i.props.readonly:e}),b=(0,_vue.computed)(()=>{var e=E["disabled"];return null===e?!!i&&i.props.disabled:e});a=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=E;return""+(e||"")+(a||"")});const j=(0,_vue.computed)(()=>{var e=E["type"];return"time"===e||"datetime"===e}),s=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(E.type)),N=(0,_vue.computed)(()=>E.clearable),U=(0,_vue.computed)(()=>{var e=E["placeholder"];return(e=e||(0,_ui.getConfig)().dateRangePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.dateRangePicker.pleaseRange")}),l=(0,_vue.computed)(()=>{var e=E["immediate"];return e}),B=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.shortcutConfig,E.shortcutConfig)),q=(0,_vue.computed)(()=>{var e=B.value["options"];return e?e.map((e,a)=>Object.assign({name:""+(e.name||e.code||a)},e)):[]}),L=(0,_vue.computed)(()=>{var e=E["labelFormat"];return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+E.type)}),m=(0,_vue.computed)(()=>{var{type:e,valueFormat:a}=E;return(0,_util.handleValueFormat)(e,a)}),y=(0,_vue.computed)(()=>{var e=E["startDay"];return _xeUtils.default.toNumber(e)}),O=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=w,e=e||a?[e||"",a||""]:[];return K(e)}),$=(0,_vue.computed)(()=>{return O.value.label}),K=e=>{var{type:a,separator:t}=E,l=L.value,u=m.value,r=y.value,i=e[0]?(0,_util.parseDateObj)(e[0],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,e=e[1]?(0,_util.parseDateObj)(e[1],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,a=i?i.label:"",u=e?e.label:"";return{label:(a||u?[a,u]:[]).join(""+(t||" ~ ")),startLabel:a,endLabel:u}},h=(e,a)=>{var{modelValue:t,valueType:l}=E;let u=_xeUtils.default.isArray(t);if(l)switch(l){case"array":u=!0;break;case"string":u=!1}return e||a?(t=[e||"",a||""],u?t:t.join(",")):u?[]:""},G=()=>{var e,{type:a,modelValue:t}=E,l=m.value;let u="",r="";return _xeUtils.default.isArray(t)?(e=(0,_util.parseDateString)(t[0],a,{valueFormat:l}),a=(0,_util.parseDateString)(t[1],a,{valueFormat:l}),(e||a)&&(u=e||"",r=a||"")):_xeUtils.default.isString(t)&&((l=t.split(","))[0]||l[1])&&(u=l[0]||"",r=l[1]||""),{sValue:u,eValue:r}},Y=()=>{var{type:e,startValue:a,endValue:t}=E,l=m.value;return{sValue:(0,_util.parseDateString)(a,e,{valueFormat:l}),eValue:(0,_util.parseDateString)(t,e,{valueFormat:l})}},t=e=>{var{modelValue:a,startValue:t,endValue:l}=E;let u={sValue:"",eValue:""};u=(e?a?G:Y:t||l?Y:G)(),w.startValue=u.sValue,w.endValue=u.eValue},u=e=>{var{startValue:a,endValue:t}=w,l=h(a,t);k(e.type,{value:l,startValue:a,endValue:t},e)},x=(e,a,t)=>{var l=E["modelValue"],u=(w.startValue=e,w.endValue=a,h(e,a));r("update:modelValue",u),r("update:startValue",e||""),r("update:endValue",a||""),_xeUtils.default.toValueString(l)!==u&&(k("change",{value:u},t),i)&&n&&i.triggerItemEvent(t,n.itemConfig.field,u)},Z=e=>{l.value||u(e)},H=e=>{w.isActivated=!0,ce(e),u(e)},J=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=w,l=h(a,t),k("prefix-click",{value:l,startValue:a,endValue:t},e))},V=()=>new Promise(e=>{w.visiblePanel=!1,o.hpTimeout=setTimeout(()=>{w.isAniVisible=!1,e()},350)}),Q=(e,a)=>{s.value&&V(),x("","",e),k("clear",{value:a},e)},v=()=>{var e=I.value,a=R.value;e&&a&&(e=e.getModelValue(),a=a.getModelValue(),e&&a||x("","",{type:"check"}))},W=()=>{var e=E["autoClose"],{startValue:a,endValue:t}=w,l=o["selectStatus"],u=s.value;e?l&&u&&a&&t&&V():a&&t&&(o.selectStatus=!1)},X=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=w,l=h(a,t),k("suffix-click",{value:l,startValue:a,endValue:t},e))},ee=e=>{var{startValue:a,endValue:t}=w;l.value||x(a,t,e),w.visiblePanel||(w.isActivated=!1),k("blur",{value:"",startValue:a,endValue:t},e),i&&n&&i.triggerItemEvent(e,n.itemConfig.field,"")},ae=e=>{u(e)},te=e=>{u(e)},le=e=>{var a,t,l=I.value,u=R.value;l&&u&&(a=l.getModelValue(),t=u.getModelValue(),a&&!t||!a&&t?x("","",e):(l.confirmByEvent(e),u.confirmByEvent(e))),V()},ue=e=>{var a=o["selectStatus"],{value:e,$event:t}=e;const l=a?w.endValue:"";x(e,l,t),W(),a||(o.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=I.value,a=R.value;e&&a&&(e=e.getModelValue(),!l)&&e&&a.setPanelDate(_xeUtils.default.toStringDate(e))})},re=e=>{var a=o["selectStatus"],{value:e,$event:t}=e;const l=a?w.startValue:"";x(l,e,t),W(),a||(o.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=I.value,a=R.value;e&&a&&(a=a.getModelValue(),!l)&&a&&e.setPanelDate(_xeUtils.default.toStringDate(a))})},ie=e=>{var{visiblePanel:a,isActivated:t}=w,l=_.value,u=T.value;!b.value&&t&&(w.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,u).flag,w.isActivated||a&&(v(),V()))},ne=e=>{var a,t=w["visiblePanel"];b.value||(a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),a&&(w.isActivated=!1),t&&(e||a)&&V())},oe=e=>{var a=w["visiblePanel"];b.value||a&&(a=T.value,((0,_dom.getEventTargetNode)(e,a).flag?d:V)())},se=()=>{var{visiblePanel:e,isActivated:a}=w;e&&V(),a&&(w.isActivated=!1),(e||a)&&(e=g.value)&&e.blur()},ve=()=>{var e=w["visiblePanel"];e&&d()},d=()=>{const t=E["placement"],l=w["panelIndex"],u=g.value,r=F.value,i=M.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(u,r,{placement:t,teleportTo:i}),a=Object.assign(e.style,{zIndex:l});w.panelStyle=a,w.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},de=()=>{var e=w["visiblePanel"];return(b.value||e?(0,_vue.nextTick):(w.initialized||(w.initialized=!0),o.hpTimeout&&(clearTimeout(o.hpTimeout),o.hpTimeout=void 0),o.selectStatus=!1,w.isActivated=!0,w.isAniVisible=!0,setTimeout(()=>{w.visiblePanel=!0},10),(e=E.zIndex)?w.panelIndex=e:w.panelIndex<(0,_utils.getLastZIndex)()&&(w.panelIndex=(0,_utils.nextZIndex)()),d))()},ce=e=>{f.value||(e.preventDefault(),de())},pe=e=>{u(e)},me=({option:e,$event:a})=>{var t=E["type"],l=B.value,u=l["autoClose"],{code:r,clickMethod:i}=e,n=w.startValue,o=w.endValue,s=h(n,o),v={$dateRangePicker:A,option:e,value:s,startValue:n,endValue:o,code:r};if(!i&&r){e=_ui.commands.get(r),e=e?e.dateRangePickerCommandMethod:null;if(e)e(v);else{var d=m.value,c=y.value;switch(r){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var p=(0,_util.getRangeDateByCode)(r,s,t,{valueFormat:d,firstDay:c}),n=p.startValue,o=p.endValue,s=h(n,o);v.value=s,v.startValue=n,v.endValue=o,x(n,o,a);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-range-picker] "+r])}}}else{e=i||l.clickMethod;e&&e(v)}u&&V(),k("shortcut-click",v,a)},k=(e,a,t)=>{r(e,(0,_ui.createEvent)(t,{$dateRangePicker:A},a))},z=(e={dispatchEvent:k,setModelValue(e,a){w.startValue=e||"",w.endValue=a||"";e=h(e,a);r("update:modelValue",e)},setModelValueByEvent(e,a,t){x(a||"",t||"",e)},focus(){var e=g.value;return w.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return g.value.blur(),(w.isActivated=!1,_vue.nextTick)()},select(){return g.value.select(),(w.isActivated=!1,_vue.nextTick)()},showPanel:de,hidePanel:V,updatePlacement:d},Object.assign(A,e),(e,a)=>{var t=B.value,{position:l,align:u,mode:r}=t,i=q.value;return(0,_utils.isEnableConf)(t)&&i.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-range-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:i,mode:r,align:u,vertical:a,onClick:me})]):(0,_ui.renderEmptyElement)(A)}),_e=()=>(0,_vue.h)("div",{class:"vxe-date-range-picker--control-icon",onClick:ce},[(0,_vue.h)("i",{class:["vxe-date-range-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(()=>E.modelValue,()=>{t(!0)}),(0,_vue.watch)(a,()=>{t(!1)}),t(!0),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(A,"mousewheel",oe),_ui.globalEvents.on(A,"mousedown",ie),_ui.globalEvents.on(A,"keydown",ne),_ui.globalEvents.on(A,"blur",se),_ui.globalEvents.on(A,"resize",ve)}),(0,_vue.onDeactivated)(()=>{v()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(A,"mousewheel"),_ui.globalEvents.off(A,"mousedown"),_ui.globalEvents.off(A,"blur"),_ui.globalEvents.off(A,"resize")}),(0,_vue.onBeforeUnmount)(()=>{v()}),(0,_vue.provide)("$xeDateRangePicker",A),A.renderVN=()=>{var e,a,t,{className:l,type:u,name:r,autoComplete:i}=E,{startValue:n,endValue:o,visiblePanel:s,isActivated:v}=w,d=S.value,c=b.value,p=f.value,m=$.value;return p?(0,_vue.h)("div",{ref:_,class:["vxe-date-range-picker--readonly","type--"+u,l]},m):(p=U.value,e=N.value,t=E.prefixIcon,a=(a=P.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix",onClick:J},[(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix-icon"},a?(0,_vn.getSlotVNs)(a({})):[(0,_vue.h)("i",{class:t})])]):null,t=(()=>{var e=E["suffixIcon"],{startValue:a,endValue:t}=w,l=P.suffix,u=b.value,r=N.value;return(0,_vue.h)("div",{class:["vxe-date-range-picker--suffix",{"is--clear":r&&!u&&(a||t)}]},[r?(0,_vue.h)("div",{class:"vxe-date-range-picker--clear-icon",onClick:Q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(A),_e(),l||e?(0,_vue.h)("div",{class:"vxe-date-range-picker--suffix-icon",onClick:X},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(A)])})(),(0,_vue.h)("div",{ref:_,class:["vxe-date-range-picker","type--"+u,l,{["size--"+d]:d,"is--prefix":!!a,"is--suffix":!!t,"is--visible":s,"is--disabled":c,"is--active":v,"show--clear":e&&!c&&(n||o)}],spellcheck:!1},[a||(0,_ui.renderEmptyElement)(A),(0,_vue.h)("div",{class:"vxe-date-range-picker--wrapper"},[(0,_vue.h)("input",{ref:g,class:"vxe-date-range-picker--inner",value:m,name:r,type:"text",placeholder:p,readonly:!0,disabled:c,autocomplete:i,onKeydown:ae,onKeyup:te,onClick:pe,onChange:Z,onFocus:H,onBlur:ee})]),t||(0,_ui.renderEmptyElement)(A),(()=>{var{type:e,separator:a,autoClose:t,showConfirmButton:l,showClearButton:u}=E,{initialized:r,isAniVisible:i,visiblePanel:n,panelPlacement:o,panelStyle:s,startValue:v,endValue:d}=w,c=S.value,p=M.value,m=B.value,_=N.value,g=O.value,f=q.value,b=j.value,{startLabel:g,endLabel:y}=g,m=m["position"],h=P.header,x=P.footer,V=P.top,k=P.bottom,D=P.left,C=P.right,f=0<f.length,b=null===l?b||!t:l,t=null===u?_:u;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!p||!r},[(0,_vue.h)("div",{ref:F,class:["vxe-table--ignore-clear vxe-date-range-picker--panel","type--"+e,{["size--"+c]:c,"is--transfer":p,"ani--leave":i,"ani--enter":n,"show--top":!!(V||h||f&&("top"===m||"header"===m)),"show--bottom":!!(k||x||f&&("bottom"===m||"footer"===m)),"show--left":!!(D||f&&"left"===m),"show--right":!!(C||f&&"right"===m)}],placement:o,style:s},r&&(n||i)?[(0,_vue.h)("div",{ref:T,class:["vxe-date-range-picker--layout-all-wrapper","type--"+e,{["size--"+c]:c}]},[V?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-top-wrapper"},V({})):z("top"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-layout-wrapper"},[D?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-left-wrapper"},D({})):z("left",!0),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-content-wrapper"},[h?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-header-wrapper"},h({})):z("header"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:I,modelValue:v,type:E.type,className:E.className,minDate:E.minDate,maxDate:E.maxDate,endDate:d,startDay:E.startDay,labelFormat:E.labelFormat,valueFormat:E.valueFormat,timeFormat:E.timeFormat,festivalMethod:E.festivalMethod,disabledMethod:E.disabledMethod,selectDay:E.selectDay,onChange:ue}),(0,_vue.h)(_datePanel.default,{ref:R,modelValue:d,type:E.type,className:E.className,minDate:E.minDate,maxDate:E.maxDate,startDate:v,startDay:E.startDay,labelFormat:E.labelFormat,valueFormat:E.valueFormat,timeFormat:E.timeFormat,festivalMethod:E.festivalMethod,disabledMethod:E.disabledMethod,selectDay:E.selectDay,onChange:re})]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-label"},g||y?[(0,_vue.h)("span",g),(0,_vue.h)("span",""+(a||"")),(0,_vue.h)("span",y)]:[]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-custom"},x?x({}):[z("footer")]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:!(v||d),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:Q}):(0,_ui.renderEmptyElement)(A),b?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:le}):(0,_ui.renderEmptyElement)(A)])])]),C?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-right-wrapper"},C({})):z("right",!0)]),k?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-bottom-wrapper"},k({})):z("bottom")])]:[])])})()]))},A},render(){return this.renderVN()}});
|
package/lib/form/render/index.js
CHANGED
|
@@ -110,7 +110,7 @@ function getComponentOns(renderOpts, params, eFns, eventOns) {
|
|
|
110
110
|
_xeUtils.default.objectEach(events, (func, key) => {
|
|
111
111
|
ons[(0, _vn.getOnName)(key)] = function (...args) {
|
|
112
112
|
if (!_xeUtils.default.isFunction(func)) {
|
|
113
|
-
(0, _log.errLog)('vxe.error.errFunc', [func]);
|
|
113
|
+
(0, _log.errLog)('vxe.error.errFunc', [`[form] ${func}`]);
|
|
114
114
|
}
|
|
115
115
|
func(params, ...args);
|
|
116
116
|
};
|
|
@@ -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";function getOldComponentName(e){return"vxe-"+(""+(e||"")).replace("$","")}function getDefaultComponent(e){e=e.name;return(0,_ui.getComponent)(e)||(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 getNativeElementOns(e,n,t,o){const r=e["events"],s=(0,_vn.getModelEvent)(e),m=(0,_vn.getChangeEvent)(e),a=m===s,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(s)]=function(e){t(e),a&&o&&o(e),r&&r[s]&&r[s](n,e)}),!a&&o&&(u[(0,_vn.getOnName)(m)]=function(...e){o(...e),r&&r[m]&&r[m](n,...e)}),u}function getComponentOns(e,n,t,o){const r=e["events"],{model:s,change:m}=t||{},a=(0,_vn.getModelEvent)(e),u=(0,_vn.getChangeEvent)(e),i={};return _xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(n,...e)}}),s&&(i[(0,_vn.getOnName)(a)]=function(e){s(e),r&&r[a]&&r[a](n,e)}),m&&(i[(0,_vn.getOnName)(u)]=function(...e){m(...e),r&&r[u]&&r[u](n,...e)}),o?Object.assign(i,o):i}function getItemOns(e,t){const{$form:n,data:o,field:r}=t;return getComponentOns(e,t,{model(e){_xeUtils.default.set(o,r,e)},change(e){n.updateStatus(e)}})}function getNativeItemOns(e,t){const{$form:n,data:o,field:r}=t;return getNativeElementOns(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",m=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[m]},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){e=e.children;return e?e.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",m=t.disabled||"disabled",a=_xeUtils.default.get(n,o);return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[s],disabled:e[m],selected:e[s]==a},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:m}=t;const a=r.label||"label",u=r.value||"value",i=r.disabled||"disabled";s=_xeUtils.default.get(s,m);const d=getOldComponentName(n);return o?[(0,_vue.h)((0,_vue.resolveComponent)(d+"-group"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)),{default:()=>o.map((e,t)=>(0,_vue.h)((0,_vue.resolveComponent)(d),{key:t,label:e[u],content:e[a],disabled:e[i]}))})]:[(0,_vue.h)((0,_vue.resolveComponent)(d),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)))]}_ui.renderer.mixin({input:{formItemAutoFocus:"input",renderFormItemContent:nativeItemRender},textarea:{formItemAutoFocus:"textarea",renderFormItemContent:nativeItemRender},select:{formItemAutoFocus:"input",renderFormItemContent(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:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeNumberInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxePasswordInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeTextarea:{formItemAutoFocus:"textarea",renderFormItemContent:defaultItemRender},VxeDatePicker:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeDateRangePicker:{formItemAutoFocus:"input",renderFormItemContent(e,t){const{startField:n,endField:o}=e,{$form:r,data:s,field:m}=t;var a=_xeUtils.default.get(s,m),u={},i={};return n&&o&&(u.startValue=_xeUtils.default.get(s,n),u.endValue=_xeUtils.default.get(s,o),i["onUpdate:startValue"]=e=>{n&&_xeUtils.default.set(s,n,e)},i["onUpdate:endValue"]=e=>{o&&_xeUtils.default.set(s,o,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,a,u)),getComponentOns(e,t,{model(e){_xeUtils.default.set(s,m,e)},change(){r.updateStatus(t)}},i)))]}},VxeButton:{renderFormItemContent:defaultFormItemRender},VxeButtonGroup:{renderFormItemContent(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:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:m,optionGroupProps:a}=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:m,optionGroupProps:a})),getItemOns(e,t)))]}},VxeTreeSelect:{formItemAutoFocus:"input",renderFormItemContent(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)))]}},VxeTableSelect:{formItemAutoFocus:"input",renderFormItemContent(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)))]}},VxeColorPicker:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,r=e["options"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{colors:r})),getItemOns(e,t)))]}},VxeIconPicker:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,r=e["options"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{icons:r})),getItemOns(e,t)))]}},VxeRadio:{renderFormItemContent:defaultFormItemRender},VxeRadioGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeCheckbox:{renderFormItemContent:defaultFormItemRender},VxeCheckboxGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeSwitch:{renderFormItemContent:defaultItemRender},VxeRate:{renderFormItemContent:defaultItemRender},VxeSlider:{renderFormItemContent:defaultItemRender},VxeImage:{renderFormItemContent(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:{renderFormItemContent(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:{renderFormItemContent:defaultItemRender},$input:{formItemAutoFocus:"input",renderFormItemContent:oldItemRender},$textarea:{formItemAutoFocus:"textarea",renderFormItemContent:oldItemRender},$button:{renderFormItemContent:oldButtonItemRender},$buttons:{renderFormItemContent:oldButtonsItemRender},$select:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:m,optionGroupProps:a}=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:m,optionGroupProps:a})),getItemOns(e,t)))]}},$radio:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderFormItemContent:oldItemRender}});
|
|
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(e){e=e.name;return(0,_ui.getComponent)(e)||(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 getNativeElementOns(e,n,t,o){const r=e["events"],s=(0,_vn.getModelEvent)(e),m=(0,_vn.getChangeEvent)(e),a=m===s,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(s)]=function(e){t(e),a&&o&&o(e),r&&r[s]&&r[s](n,e)}),!a&&o&&(u[(0,_vn.getOnName)(m)]=function(...e){o(...e),r&&r[m]&&r[m](n,...e)}),u}function getComponentOns(e,n,t,o){const r=e["events"],{model:s,change:m}=t||{},a=(0,_vn.getModelEvent)(e),u=(0,_vn.getChangeEvent)(e),i={};return _xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",["[form] "+t]),t(n,...e)}}),s&&(i[(0,_vn.getOnName)(a)]=function(e){s(e),r&&r[a]&&r[a](n,e)}),m&&(i[(0,_vn.getOnName)(u)]=function(...e){m(...e),r&&r[u]&&r[u](n,...e)}),o?Object.assign(i,o):i}function getItemOns(e,t){const{$form:n,data:o,field:r}=t;return getComponentOns(e,t,{model(e){_xeUtils.default.set(o,r,e)},change(e){n.updateStatus(e)}})}function getNativeItemOns(e,t){const{$form:n,data:o,field:r}=t;return getNativeElementOns(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",m=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[m]},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){e=e.children;return e?e.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",m=t.disabled||"disabled",a=_xeUtils.default.get(n,o);return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[s],disabled:e[m],selected:e[s]==a},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:m}=t;const a=r.label||"label",u=r.value||"value",i=r.disabled||"disabled";s=_xeUtils.default.get(s,m);const d=getOldComponentName(n);return o?[(0,_vue.h)((0,_vue.resolveComponent)(d+"-group"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)),{default:()=>o.map((e,t)=>(0,_vue.h)((0,_vue.resolveComponent)(d),{key:t,label:e[u],content:e[a],disabled:e[i]}))})]:[(0,_vue.h)((0,_vue.resolveComponent)(d),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)))]}_ui.renderer.mixin({input:{formItemAutoFocus:"input",renderFormItemContent:nativeItemRender},textarea:{formItemAutoFocus:"textarea",renderFormItemContent:nativeItemRender},select:{formItemAutoFocus:"input",renderFormItemContent(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:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeNumberInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxePasswordInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeTextarea:{formItemAutoFocus:"textarea",renderFormItemContent:defaultItemRender},VxeDatePicker:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeDateRangePicker:{formItemAutoFocus:"input",renderFormItemContent(e,t){const{startField:n,endField:o}=e,{$form:r,data:s,field:m}=t;var a=_xeUtils.default.get(s,m),u={},i={};return n&&o&&(u.startValue=_xeUtils.default.get(s,n),u.endValue=_xeUtils.default.get(s,o),i["onUpdate:startValue"]=e=>{n&&_xeUtils.default.set(s,n,e)},i["onUpdate:endValue"]=e=>{o&&_xeUtils.default.set(s,o,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,a,u)),getComponentOns(e,t,{model(e){_xeUtils.default.set(s,m,e)},change(){r.updateStatus(t)}},i)))]}},VxeButton:{renderFormItemContent:defaultFormItemRender},VxeButtonGroup:{renderFormItemContent(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:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:m,optionGroupProps:a}=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:m,optionGroupProps:a})),getItemOns(e,t)))]}},VxeTreeSelect:{formItemAutoFocus:"input",renderFormItemContent(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)))]}},VxeTableSelect:{formItemAutoFocus:"input",renderFormItemContent(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)))]}},VxeColorPicker:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,r=e["options"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{colors:r})),getItemOns(e,t)))]}},VxeIconPicker:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,r=e["options"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{icons:r})),getItemOns(e,t)))]}},VxeRadio:{renderFormItemContent:defaultFormItemRender},VxeRadioGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeCheckbox:{renderFormItemContent:defaultFormItemRender},VxeCheckboxGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeSwitch:{renderFormItemContent:defaultItemRender},VxeRate:{renderFormItemContent:defaultItemRender},VxeSlider:{renderFormItemContent:defaultItemRender},VxeImage:{renderFormItemContent(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:{renderFormItemContent(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:{renderFormItemContent:defaultItemRender},$input:{formItemAutoFocus:"input",renderFormItemContent:oldItemRender},$textarea:{formItemAutoFocus:"textarea",renderFormItemContent:oldItemRender},$button:{renderFormItemContent:oldButtonItemRender},$buttons:{renderFormItemContent:oldButtonsItemRender},$select:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:m,optionGroupProps:a}=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:m,optionGroupProps:a})),getItemOns(e,t)))]}},$radio:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderFormItemContent:oldItemRender}});
|