vxe-table 4.2.2 → 4.2.3-beta.0
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/filter/src/hook.js +2 -1
- package/es/footer/src/footer.js +5 -5
- package/es/header/src/header.js +6 -6
- package/es/header/style.css +1 -5
- package/es/input/src/input.js +125 -27
- package/es/input/style.css +42 -13
- package/es/keyboard/src/hook.js +5 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +15 -11
- package/es/table/src/table.js +59 -48
- package/es/tools/log.js +1 -1
- package/es/v-x-e-table/index.js +1 -1
- package/helper/vetur/attributes.json +31 -19
- package/helper/vetur/tags.json +3 -0
- package/lib/filter/src/hook.js +2 -1
- package/lib/filter/src/hook.min.js +1 -1
- package/lib/footer/src/footer.js +5 -5
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/header/src/header.js +6 -6
- package/lib/header/src/header.min.js +1 -1
- package/lib/header/style/style.css +1 -5
- package/lib/header/style/style.min.css +1 -1
- package/lib/index.umd.js +329 -114
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +166 -29
- package/lib/input/src/input.min.js +1 -1
- package/lib/input/style/style.css +42 -13
- package/lib/input/style/style.min.css +1 -1
- package/lib/keyboard/src/hook.js +7 -1
- package/lib/keyboard/src/hook.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +15 -11
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +66 -56
- package/lib/table/src/table.min.js +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/package.json +1 -1
- package/packages/filter/src/hook.ts +3 -2
- package/packages/footer/src/footer.ts +5 -5
- package/packages/header/src/header.ts +6 -6
- package/packages/input/src/input.ts +128 -27
- package/packages/keyboard/src/hook.ts +6 -2
- package/packages/table/src/body.ts +15 -11
- package/packages/table/src/table.ts +58 -46
- package/packages/tools/dom.ts +1 -1
- package/styles/header.scss +1 -1
- package/styles/input.scss +16 -4
- package/types/input.d.ts +2 -0
- package/types/table.d.ts +3 -1
package/es/filter/src/hook.js
CHANGED
|
@@ -198,7 +198,8 @@ var tableFilterHook = {
|
|
|
198
198
|
var elemStore_1 = internalData.elemStore;
|
|
199
199
|
var fixed_1 = column.fixed;
|
|
200
200
|
return $xetable.scrollToColumn(column).then(function () {
|
|
201
|
-
var
|
|
201
|
+
var headerWrapperRef = elemStore_1[(fixed_1 || 'main') + "-header-wrapper"] || elemStore_1['main-header-wrapper'];
|
|
202
|
+
var headerWrapperElem = headerWrapperRef ? headerWrapperRef.value : null;
|
|
202
203
|
if (headerWrapperElem) {
|
|
203
204
|
var filterBtnElem = headerWrapperElem.querySelector(".vxe-header--column." + column.id + " .vxe-filter--btn");
|
|
204
205
|
triggerEvent(filterBtnElem, 'click');
|
package/es/footer/src/footer.js
CHANGED
|
@@ -83,11 +83,11 @@ export default defineComponent({
|
|
|
83
83
|
var fixedType = props.fixedType;
|
|
84
84
|
var elemStore = tableInternalData.elemStore;
|
|
85
85
|
var prefix = (fixedType || 'main') + "-footer-";
|
|
86
|
-
elemStore[prefix + "wrapper"] = refElem
|
|
87
|
-
elemStore[prefix + "table"] = refFooterTable
|
|
88
|
-
elemStore[prefix + "colgroup"] = refFooterColgroup
|
|
89
|
-
elemStore[prefix + "list"] = refFooterTFoot
|
|
90
|
-
elemStore[prefix + "xSpace"] = refFooterXSpace
|
|
86
|
+
elemStore[prefix + "wrapper"] = refElem;
|
|
87
|
+
elemStore[prefix + "table"] = refFooterTable;
|
|
88
|
+
elemStore[prefix + "colgroup"] = refFooterColgroup;
|
|
89
|
+
elemStore[prefix + "list"] = refFooterTFoot;
|
|
90
|
+
elemStore[prefix + "xSpace"] = refFooterXSpace;
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
93
|
onUnmounted(function () {
|
package/es/header/src/header.js
CHANGED
|
@@ -136,12 +136,12 @@ export default defineComponent({
|
|
|
136
136
|
var internalData = $xetable.internalData;
|
|
137
137
|
var elemStore = internalData.elemStore;
|
|
138
138
|
var prefix = (fixedType || 'main') + "-header-";
|
|
139
|
-
elemStore[prefix + "wrapper"] = refElem
|
|
140
|
-
elemStore[prefix + "table"] = refHeaderTable
|
|
141
|
-
elemStore[prefix + "colgroup"] = refHeaderColgroup
|
|
142
|
-
elemStore[prefix + "list"] = refHeaderTHead
|
|
143
|
-
elemStore[prefix + "xSpace"] = refHeaderXSpace
|
|
144
|
-
elemStore[prefix + "repair"] = refHeaderBorderRepair
|
|
139
|
+
elemStore[prefix + "wrapper"] = refElem;
|
|
140
|
+
elemStore[prefix + "table"] = refHeaderTable;
|
|
141
|
+
elemStore[prefix + "colgroup"] = refHeaderColgroup;
|
|
142
|
+
elemStore[prefix + "list"] = refHeaderTHead;
|
|
143
|
+
elemStore[prefix + "xSpace"] = refHeaderXSpace;
|
|
144
|
+
elemStore[prefix + "repair"] = refHeaderBorderRepair;
|
|
145
145
|
uploadColumn();
|
|
146
146
|
});
|
|
147
147
|
});
|
package/es/header/style.css
CHANGED
|
@@ -62,11 +62,7 @@
|
|
|
62
62
|
|
|
63
63
|
.vxe-header--column {
|
|
64
64
|
position: relative;
|
|
65
|
-
font-weight: 700;
|
|
66
|
-
-webkit-user-select: none;
|
|
67
|
-
-moz-user-select: none;
|
|
68
|
-
-ms-user-select: none;
|
|
69
|
-
user-select: none; }
|
|
65
|
+
font-weight: 700; }
|
|
70
66
|
.vxe-header--column.col--ellipsis > .vxe-cell {
|
|
71
67
|
display: flex;
|
|
72
68
|
align-items: center; }
|
package/es/input/src/input.js
CHANGED
|
@@ -7,7 +7,7 @@ import { hasClass, getAbsolutePos, getEventTargetNode } from '../../tools/dom';
|
|
|
7
7
|
import { GlobalEvent, hasEventKey, EVENT_KEYS } from '../../tools/event';
|
|
8
8
|
import { toStringTimeDate, getDateQuarter } from './date';
|
|
9
9
|
import { handleNumber, toFloatValueFixed } from './number';
|
|
10
|
-
var yearSize =
|
|
10
|
+
var yearSize = 12;
|
|
11
11
|
var monthSize = 20;
|
|
12
12
|
var quarterSize = 8;
|
|
13
13
|
export default defineComponent({
|
|
@@ -27,6 +27,7 @@ export default defineComponent({
|
|
|
27
27
|
form: String,
|
|
28
28
|
className: String,
|
|
29
29
|
size: { type: String, default: function () { return GlobalConfig.input.size || GlobalConfig.size; } },
|
|
30
|
+
multiple: Boolean,
|
|
30
31
|
// number、integer、float
|
|
31
32
|
min: { type: [String, Number], default: null },
|
|
32
33
|
max: { type: [String, Number], default: null },
|
|
@@ -164,6 +165,34 @@ export default defineComponent({
|
|
|
164
165
|
var computeDateMaxTime = computed(function () {
|
|
165
166
|
return props.maxDate ? XEUtils.toStringDate(props.maxDate) : null;
|
|
166
167
|
});
|
|
168
|
+
var computeSupportMultiples = computed(function () {
|
|
169
|
+
return ['date', 'week', 'month', 'quarter', 'year'].includes(props.type);
|
|
170
|
+
});
|
|
171
|
+
var computeDateListValue = computed(function () {
|
|
172
|
+
var modelValue = props.modelValue, multiple = props.multiple;
|
|
173
|
+
var isDatePickerType = computeIsDatePickerType.value;
|
|
174
|
+
var dateValueFormat = computeDateValueFormat.value;
|
|
175
|
+
if (multiple && modelValue && isDatePickerType) {
|
|
176
|
+
return XEUtils.toValueString(modelValue).split(',').map(function (item) {
|
|
177
|
+
var date = parseDate(item, dateValueFormat);
|
|
178
|
+
if (XEUtils.isValidDate(date)) {
|
|
179
|
+
return date;
|
|
180
|
+
}
|
|
181
|
+
return null;
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
return [];
|
|
185
|
+
});
|
|
186
|
+
var computeDateMultipleValue = computed(function () {
|
|
187
|
+
var dateListValue = computeDateListValue.value;
|
|
188
|
+
var dateValueFormat = computeDateValueFormat.value;
|
|
189
|
+
return dateListValue.map(function (date) { return XEUtils.toDateString(date, dateValueFormat); });
|
|
190
|
+
});
|
|
191
|
+
var computeDateMultipleLabel = computed(function () {
|
|
192
|
+
var dateListValue = computeDateListValue.value;
|
|
193
|
+
var dateLabelFormat = computeDateLabelFormat.value;
|
|
194
|
+
return dateListValue.map(function (date) { return XEUtils.toDateString(date, dateLabelFormat); }).join(', ');
|
|
195
|
+
});
|
|
167
196
|
var computeDateValueFormat = computed(function () {
|
|
168
197
|
var type = props.type;
|
|
169
198
|
return type === 'time' ? 'HH:mm:ss' : (props.valueFormat || (type === 'datetime' ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd'));
|
|
@@ -221,14 +250,17 @@ export default defineComponent({
|
|
|
221
250
|
var years = [];
|
|
222
251
|
if (selectMonth && currentDate) {
|
|
223
252
|
var currFullYear = currentDate.getFullYear();
|
|
224
|
-
var
|
|
225
|
-
|
|
226
|
-
|
|
253
|
+
var selectFullYear = selectMonth.getFullYear();
|
|
254
|
+
var startYearDate = new Date(selectFullYear - selectFullYear % yearSize, 0, 1);
|
|
255
|
+
for (var index = -4; index < yearSize + 4; index++) {
|
|
256
|
+
var date = XEUtils.getWhatYear(startYearDate, index, 'first');
|
|
227
257
|
var itemFullYear = date.getFullYear();
|
|
228
258
|
years.push({
|
|
229
259
|
date: date,
|
|
230
260
|
isCurrent: true,
|
|
261
|
+
isPrev: index < 0,
|
|
231
262
|
isNow: currFullYear === itemFullYear,
|
|
263
|
+
isNext: index >= yearSize,
|
|
232
264
|
year: itemFullYear
|
|
233
265
|
});
|
|
234
266
|
}
|
|
@@ -447,8 +479,8 @@ export default defineComponent({
|
|
|
447
479
|
return minuteList;
|
|
448
480
|
});
|
|
449
481
|
var computeInpReadonly = computed(function () {
|
|
450
|
-
var type = props.type, readonly = props.readonly, editable = props.editable;
|
|
451
|
-
return readonly || !editable || type === 'week' || type === 'quarter';
|
|
482
|
+
var type = props.type, readonly = props.readonly, editable = props.editable, multiple = props.multiple;
|
|
483
|
+
return readonly || multiple || !editable || type === 'week' || type === 'quarter';
|
|
452
484
|
});
|
|
453
485
|
var computeInputType = computed(function () {
|
|
454
486
|
var type = props.type;
|
|
@@ -607,7 +639,7 @@ export default defineComponent({
|
|
|
607
639
|
var inputValue = reactData.inputValue;
|
|
608
640
|
if (isDatePickerType) {
|
|
609
641
|
dateParseValue(inputValue);
|
|
610
|
-
reactData.inputValue = reactData.datePanelLabel;
|
|
642
|
+
reactData.inputValue = props.multiple ? computeDateMultipleLabel.value : reactData.datePanelLabel;
|
|
611
643
|
}
|
|
612
644
|
};
|
|
613
645
|
/**
|
|
@@ -637,7 +669,7 @@ export default defineComponent({
|
|
|
637
669
|
return props.min === null || XEUtils.toNumber(num) >= XEUtils.toNumber(props.min);
|
|
638
670
|
};
|
|
639
671
|
var dateRevert = function () {
|
|
640
|
-
reactData.inputValue = reactData.datePanelLabel;
|
|
672
|
+
reactData.inputValue = props.multiple ? computeDateMultipleLabel.value : reactData.datePanelLabel;
|
|
641
673
|
};
|
|
642
674
|
var dateCheckMonth = function (date) {
|
|
643
675
|
var month = XEUtils.getWhatMonth(date, 0, 'first');
|
|
@@ -646,7 +678,7 @@ export default defineComponent({
|
|
|
646
678
|
}
|
|
647
679
|
};
|
|
648
680
|
var dateChange = function (date) {
|
|
649
|
-
var modelValue = props.modelValue;
|
|
681
|
+
var modelValue = props.modelValue, multiple = props.multiple;
|
|
650
682
|
var datetimePanelValue = reactData.datetimePanelValue;
|
|
651
683
|
var isDateTimeType = computeIsDateTimeType.value;
|
|
652
684
|
var dateValueFormat = computeDateValueFormat.value;
|
|
@@ -662,8 +694,39 @@ export default defineComponent({
|
|
|
662
694
|
}
|
|
663
695
|
var inpVal = XEUtils.toDateString(date, dateValueFormat, { firstDay: firstDayOfWeek });
|
|
664
696
|
dateCheckMonth(date);
|
|
665
|
-
if (
|
|
666
|
-
|
|
697
|
+
if (multiple) {
|
|
698
|
+
// 如果为多选
|
|
699
|
+
var dateMultipleValue = computeDateMultipleValue.value;
|
|
700
|
+
if (isDateTimeType) {
|
|
701
|
+
// 如果是datetime特殊类型
|
|
702
|
+
var dateListValue = computeDateListValue.value;
|
|
703
|
+
var datetimeRest_1 = [];
|
|
704
|
+
dateListValue.forEach(function (item) {
|
|
705
|
+
if (item && !XEUtils.isDateSame(date, item, 'yyyyMMdd')) {
|
|
706
|
+
item.setHours(datetimePanelValue.getHours());
|
|
707
|
+
item.setMinutes(datetimePanelValue.getMinutes());
|
|
708
|
+
item.setSeconds(datetimePanelValue.getSeconds());
|
|
709
|
+
datetimeRest_1.push(item);
|
|
710
|
+
}
|
|
711
|
+
});
|
|
712
|
+
datetimeRest_1.push(date);
|
|
713
|
+
emitModel(datetimeRest_1.map(function (date) { return XEUtils.toDateString(date, dateValueFormat); }).join(','), { type: 'update' });
|
|
714
|
+
}
|
|
715
|
+
else {
|
|
716
|
+
// 如果是日期类型
|
|
717
|
+
if (dateMultipleValue.some(function (val) { return XEUtils.isEqual(val, inpVal); })) {
|
|
718
|
+
emitModel(dateMultipleValue.filter(function (val) { return !XEUtils.isEqual(val, inpVal); }).join(','), { type: 'update' });
|
|
719
|
+
}
|
|
720
|
+
else {
|
|
721
|
+
emitModel(dateMultipleValue.concat([inpVal]).join(','), { type: 'update' });
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
else {
|
|
726
|
+
// 如果为单选
|
|
727
|
+
if (!XEUtils.isEqual(modelValue, inpVal)) {
|
|
728
|
+
emitModel(inpVal, { type: 'update' });
|
|
729
|
+
}
|
|
667
730
|
}
|
|
668
731
|
};
|
|
669
732
|
var afterCheckValue = function () {
|
|
@@ -933,8 +996,10 @@ export default defineComponent({
|
|
|
933
996
|
};
|
|
934
997
|
var dateTodayMonthEvent = function (evnt) {
|
|
935
998
|
dateNowHandle();
|
|
936
|
-
|
|
937
|
-
|
|
999
|
+
if (!props.multiple) {
|
|
1000
|
+
dateChange(reactData.currentDate);
|
|
1001
|
+
hidePanel();
|
|
1002
|
+
}
|
|
938
1003
|
inputMethods.dispatchEvent('date-today', { type: props.type }, evnt);
|
|
939
1004
|
};
|
|
940
1005
|
var dateNextEvent = function (evnt) {
|
|
@@ -973,7 +1038,7 @@ export default defineComponent({
|
|
|
973
1038
|
return disabledMethod && disabledMethod({ type: datePanelType, viewType: datePanelType, date: item.date, $input: $xeinput });
|
|
974
1039
|
};
|
|
975
1040
|
var dateSelectItem = function (date) {
|
|
976
|
-
var type = props.type;
|
|
1041
|
+
var type = props.type, multiple = props.multiple;
|
|
977
1042
|
var datePanelType = reactData.datePanelType;
|
|
978
1043
|
if (type === 'month') {
|
|
979
1044
|
if (datePanelType === 'year') {
|
|
@@ -982,12 +1047,16 @@ export default defineComponent({
|
|
|
982
1047
|
}
|
|
983
1048
|
else {
|
|
984
1049
|
dateChange(date);
|
|
985
|
-
|
|
1050
|
+
if (!multiple) {
|
|
1051
|
+
hidePanel();
|
|
1052
|
+
}
|
|
986
1053
|
}
|
|
987
1054
|
}
|
|
988
1055
|
else if (type === 'year') {
|
|
989
1056
|
dateChange(date);
|
|
990
|
-
|
|
1057
|
+
if (!multiple) {
|
|
1058
|
+
hidePanel();
|
|
1059
|
+
}
|
|
991
1060
|
}
|
|
992
1061
|
else if (type === 'quarter') {
|
|
993
1062
|
if (datePanelType === 'year') {
|
|
@@ -996,7 +1065,9 @@ export default defineComponent({
|
|
|
996
1065
|
}
|
|
997
1066
|
else {
|
|
998
1067
|
dateChange(date);
|
|
999
|
-
|
|
1068
|
+
if (!multiple) {
|
|
1069
|
+
hidePanel();
|
|
1070
|
+
}
|
|
1000
1071
|
}
|
|
1001
1072
|
}
|
|
1002
1073
|
else {
|
|
@@ -1010,7 +1081,9 @@ export default defineComponent({
|
|
|
1010
1081
|
}
|
|
1011
1082
|
else {
|
|
1012
1083
|
dateChange(date);
|
|
1013
|
-
|
|
1084
|
+
if (!multiple) {
|
|
1085
|
+
hidePanel();
|
|
1086
|
+
}
|
|
1014
1087
|
}
|
|
1015
1088
|
}
|
|
1016
1089
|
};
|
|
@@ -1088,8 +1161,11 @@ export default defineComponent({
|
|
|
1088
1161
|
dateTimeChangeEvent(evnt);
|
|
1089
1162
|
};
|
|
1090
1163
|
var dateConfirmEvent = function () {
|
|
1164
|
+
var type = props.type;
|
|
1091
1165
|
var dateValue = computeDateValue.value;
|
|
1092
|
-
|
|
1166
|
+
if (type === 'datetime') {
|
|
1167
|
+
dateChange(dateValue || reactData.currentDate);
|
|
1168
|
+
}
|
|
1093
1169
|
hidePanel();
|
|
1094
1170
|
};
|
|
1095
1171
|
var dateMinuteEvent = function (evnt, item) {
|
|
@@ -1488,10 +1564,12 @@ export default defineComponent({
|
|
|
1488
1564
|
return label;
|
|
1489
1565
|
};
|
|
1490
1566
|
var renderDateDayTable = function () {
|
|
1567
|
+
var multiple = props.multiple;
|
|
1491
1568
|
var datePanelType = reactData.datePanelType, datePanelValue = reactData.datePanelValue;
|
|
1492
1569
|
var dateValue = computeDateValue.value;
|
|
1493
1570
|
var dateHeaders = computeDateHeaders.value;
|
|
1494
1571
|
var dayDatas = computeDayDatas.value;
|
|
1572
|
+
var dateListValue = computeDateListValue.value;
|
|
1495
1573
|
var matchFormat = 'yyyyMMdd';
|
|
1496
1574
|
return [
|
|
1497
1575
|
h('table', {
|
|
@@ -1514,7 +1592,7 @@ export default defineComponent({
|
|
|
1514
1592
|
'is--now': item.isNow,
|
|
1515
1593
|
'is--next': item.isNext,
|
|
1516
1594
|
'is--disabled': isDateDisabled(item),
|
|
1517
|
-
'is--selected': XEUtils.isDateSame(dateValue, item.date, matchFormat),
|
|
1595
|
+
'is--selected': multiple ? dateListValue.some(function (val) { return XEUtils.isDateSame(val, item.date, matchFormat); }) : XEUtils.isDateSame(dateValue, item.date, matchFormat),
|
|
1518
1596
|
'is--hover': XEUtils.isDateSame(datePanelValue, item.date, matchFormat)
|
|
1519
1597
|
},
|
|
1520
1598
|
onClick: function () { return dateSelectEvent(item); },
|
|
@@ -1526,10 +1604,12 @@ export default defineComponent({
|
|
|
1526
1604
|
];
|
|
1527
1605
|
};
|
|
1528
1606
|
var renderDateWeekTable = function () {
|
|
1607
|
+
var multiple = props.multiple;
|
|
1529
1608
|
var datePanelType = reactData.datePanelType, datePanelValue = reactData.datePanelValue;
|
|
1530
1609
|
var dateValue = computeDateValue.value;
|
|
1531
1610
|
var weekHeaders = computeWeekHeaders.value;
|
|
1532
1611
|
var weekDates = computeWeekDates.value;
|
|
1612
|
+
var dateListValue = computeDateListValue.value;
|
|
1533
1613
|
var matchFormat = 'yyyyMMdd';
|
|
1534
1614
|
return [
|
|
1535
1615
|
h('table', {
|
|
@@ -1544,7 +1624,7 @@ export default defineComponent({
|
|
|
1544
1624
|
}))
|
|
1545
1625
|
]),
|
|
1546
1626
|
h('tbody', weekDates.map(function (rows) {
|
|
1547
|
-
var isSelected = rows.some(function (item) { return XEUtils.isDateSame(dateValue, item.date, matchFormat); });
|
|
1627
|
+
var isSelected = multiple ? rows.some(function (item) { return dateListValue.some(function (val) { return XEUtils.isDateSame(val, item.date, matchFormat); }); }) : rows.some(function (item) { return XEUtils.isDateSame(dateValue, item.date, matchFormat); });
|
|
1548
1628
|
var isHover = rows.some(function (item) { return XEUtils.isDateSame(datePanelValue, item.date, matchFormat); });
|
|
1549
1629
|
return h('tr', rows.map(function (item) {
|
|
1550
1630
|
return h('td', {
|
|
@@ -1567,9 +1647,11 @@ export default defineComponent({
|
|
|
1567
1647
|
];
|
|
1568
1648
|
};
|
|
1569
1649
|
var renderDateMonthTable = function () {
|
|
1650
|
+
var multiple = props.multiple;
|
|
1570
1651
|
var datePanelType = reactData.datePanelType, datePanelValue = reactData.datePanelValue;
|
|
1571
1652
|
var dateValue = computeDateValue.value;
|
|
1572
1653
|
var monthDatas = computeMonthDatas.value;
|
|
1654
|
+
var dateListValue = computeDateListValue.value;
|
|
1573
1655
|
var matchFormat = 'yyyyMM';
|
|
1574
1656
|
return [
|
|
1575
1657
|
h('table', {
|
|
@@ -1587,7 +1669,7 @@ export default defineComponent({
|
|
|
1587
1669
|
'is--now': item.isNow,
|
|
1588
1670
|
'is--next': item.isNext,
|
|
1589
1671
|
'is--disabled': isDateDisabled(item),
|
|
1590
|
-
'is--selected': XEUtils.isDateSame(dateValue, item.date, matchFormat),
|
|
1672
|
+
'is--selected': multiple ? dateListValue.some(function (val) { return XEUtils.isDateSame(val, item.date, matchFormat); }) : XEUtils.isDateSame(dateValue, item.date, matchFormat),
|
|
1591
1673
|
'is--hover': XEUtils.isDateSame(datePanelValue, item.date, matchFormat)
|
|
1592
1674
|
},
|
|
1593
1675
|
onClick: function () { return dateSelectEvent(item); },
|
|
@@ -1599,9 +1681,11 @@ export default defineComponent({
|
|
|
1599
1681
|
];
|
|
1600
1682
|
};
|
|
1601
1683
|
var renderDateQuarterTable = function () {
|
|
1684
|
+
var multiple = props.multiple;
|
|
1602
1685
|
var datePanelType = reactData.datePanelType, datePanelValue = reactData.datePanelValue;
|
|
1603
1686
|
var dateValue = computeDateValue.value;
|
|
1604
1687
|
var quarterDatas = computeQuarterDatas.value;
|
|
1688
|
+
var dateListValue = computeDateListValue.value;
|
|
1605
1689
|
var matchFormat = 'yyyyq';
|
|
1606
1690
|
return [
|
|
1607
1691
|
h('table', {
|
|
@@ -1619,7 +1703,7 @@ export default defineComponent({
|
|
|
1619
1703
|
'is--now': item.isNow,
|
|
1620
1704
|
'is--next': item.isNext,
|
|
1621
1705
|
'is--disabled': isDateDisabled(item),
|
|
1622
|
-
'is--selected': XEUtils.isDateSame(dateValue, item.date, matchFormat),
|
|
1706
|
+
'is--selected': multiple ? dateListValue.some(function (val) { return XEUtils.isDateSame(val, item.date, matchFormat); }) : XEUtils.isDateSame(dateValue, item.date, matchFormat),
|
|
1623
1707
|
'is--hover': XEUtils.isDateSame(datePanelValue, item.date, matchFormat)
|
|
1624
1708
|
},
|
|
1625
1709
|
onClick: function () { return dateSelectEvent(item); },
|
|
@@ -1631,9 +1715,11 @@ export default defineComponent({
|
|
|
1631
1715
|
];
|
|
1632
1716
|
};
|
|
1633
1717
|
var renderDateYearTable = function () {
|
|
1718
|
+
var multiple = props.multiple;
|
|
1634
1719
|
var datePanelType = reactData.datePanelType, datePanelValue = reactData.datePanelValue;
|
|
1635
1720
|
var dateValue = computeDateValue.value;
|
|
1636
1721
|
var yearDatas = computeYearDatas.value;
|
|
1722
|
+
var dateListValue = computeDateListValue.value;
|
|
1637
1723
|
var matchFormat = 'yyyy';
|
|
1638
1724
|
return [
|
|
1639
1725
|
h('table', {
|
|
@@ -1646,10 +1732,12 @@ export default defineComponent({
|
|
|
1646
1732
|
return h('tr', rows.map(function (item) {
|
|
1647
1733
|
return h('td', {
|
|
1648
1734
|
class: {
|
|
1649
|
-
'is--
|
|
1735
|
+
'is--prev': item.isPrev,
|
|
1650
1736
|
'is--current': item.isCurrent,
|
|
1651
1737
|
'is--now': item.isNow,
|
|
1652
|
-
'is--
|
|
1738
|
+
'is--next': item.isNext,
|
|
1739
|
+
'is--disabled': isDateDisabled(item),
|
|
1740
|
+
'is--selected': multiple ? dateListValue.some(function (val) { return XEUtils.isDateSame(val, item.date, matchFormat); }) : XEUtils.isDateSame(dateValue, item.date, matchFormat),
|
|
1653
1741
|
'is--hover': XEUtils.isDateSame(datePanelValue, item.date, matchFormat)
|
|
1654
1742
|
},
|
|
1655
1743
|
onClick: function () { return dateSelectEvent(item); },
|
|
@@ -1675,6 +1763,7 @@ export default defineComponent({
|
|
|
1675
1763
|
return renderDateDayTable();
|
|
1676
1764
|
};
|
|
1677
1765
|
var renderDatePanel = function () {
|
|
1766
|
+
var multiple = props.multiple;
|
|
1678
1767
|
var datePanelType = reactData.datePanelType;
|
|
1679
1768
|
var isDisabledPrevDateBtn = computeIsDisabledPrevDateBtn.value;
|
|
1680
1769
|
var isDisabledNextDateBtn = computeIsDisabledNextDateBtn.value;
|
|
@@ -1723,7 +1812,16 @@ export default defineComponent({
|
|
|
1723
1812
|
h('i', {
|
|
1724
1813
|
class: 'vxe-icon--caret-right'
|
|
1725
1814
|
})
|
|
1726
|
-
])
|
|
1815
|
+
]),
|
|
1816
|
+
multiple && computeSupportMultiples.value ? h('span', {
|
|
1817
|
+
class: 'vxe-input--date-picker-btn vxe-input--date-picker-confirm-btn'
|
|
1818
|
+
}, [
|
|
1819
|
+
h('button', {
|
|
1820
|
+
class: 'vxe-input--date-picker-confirm',
|
|
1821
|
+
type: 'button',
|
|
1822
|
+
onClick: dateConfirmEvent
|
|
1823
|
+
}, GlobalConfig.i18n('vxe.button.confirm'))
|
|
1824
|
+
]) : null
|
|
1727
1825
|
])
|
|
1728
1826
|
]),
|
|
1729
1827
|
h('div', {
|
|
@@ -2007,7 +2105,7 @@ export default defineComponent({
|
|
|
2007
2105
|
var isDatePickerType = computeIsDatePickerType.value;
|
|
2008
2106
|
if (isDatePickerType) {
|
|
2009
2107
|
dateParseValue(reactData.datePanelValue);
|
|
2010
|
-
reactData.inputValue = reactData.datePanelLabel;
|
|
2108
|
+
reactData.inputValue = props.multiple ? computeDateMultipleLabel.value : reactData.datePanelLabel;
|
|
2011
2109
|
}
|
|
2012
2110
|
});
|
|
2013
2111
|
nextTick(function () {
|
package/es/input/style.css
CHANGED
|
@@ -271,7 +271,10 @@
|
|
|
271
271
|
.vxe-input--time-picker-confirm {
|
|
272
272
|
position: absolute;
|
|
273
273
|
right: 0;
|
|
274
|
-
top: 0;
|
|
274
|
+
top: 0; }
|
|
275
|
+
|
|
276
|
+
.vxe-input--time-picker-confirm,
|
|
277
|
+
.vxe-input--date-picker-confirm {
|
|
275
278
|
outline: 0;
|
|
276
279
|
border: 1px solid #dcdfe6;
|
|
277
280
|
border-radius: 4px;
|
|
@@ -279,10 +282,12 @@
|
|
|
279
282
|
color: #fff;
|
|
280
283
|
border-color: #409eff;
|
|
281
284
|
background-color: #409eff; }
|
|
282
|
-
.vxe-input--time-picker-confirm:hover
|
|
285
|
+
.vxe-input--time-picker-confirm:hover,
|
|
286
|
+
.vxe-input--date-picker-confirm:hover {
|
|
283
287
|
background-color: #5faeff;
|
|
284
288
|
border-color: #5faeff; }
|
|
285
|
-
.vxe-input--time-picker-confirm:active
|
|
289
|
+
.vxe-input--time-picker-confirm:active,
|
|
290
|
+
.vxe-input--date-picker-confirm:active {
|
|
286
291
|
background-color: #3196ff;
|
|
287
292
|
border-color: #3196ff; }
|
|
288
293
|
|
|
@@ -316,8 +321,6 @@
|
|
|
316
321
|
.vxe-input--date-picker-btn {
|
|
317
322
|
display: inline-block;
|
|
318
323
|
display: flex;
|
|
319
|
-
border-radius: 4px;
|
|
320
|
-
border: 1px solid #dcdfe6;
|
|
321
324
|
align-items: center;
|
|
322
325
|
justify-content: center;
|
|
323
326
|
background-color: #fff; }
|
|
@@ -370,6 +373,8 @@
|
|
|
370
373
|
.vxe-input--date-picker-body td.is--selected {
|
|
371
374
|
color: #fff;
|
|
372
375
|
background-color: #409eff; }
|
|
376
|
+
.vxe-input--date-picker-body td.is--selected.is--prev, .vxe-input--date-picker-body td.is--selected.is--next {
|
|
377
|
+
background-color: #73b8ff; }
|
|
373
378
|
.vxe-input--date-picker-body td.is--selected .vxe-input--date-label,
|
|
374
379
|
.vxe-input--date-picker-body td.is--selected .vxe-input--date-festival {
|
|
375
380
|
color: #fff; }
|
|
@@ -558,8 +563,13 @@
|
|
|
558
563
|
height: 30px;
|
|
559
564
|
line-height: 30px; }
|
|
560
565
|
.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn {
|
|
561
|
-
width: 30px;
|
|
562
566
|
margin-left: 8px; }
|
|
567
|
+
.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn,
|
|
568
|
+
.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,
|
|
569
|
+
.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn {
|
|
570
|
+
width: 30px;
|
|
571
|
+
border-radius: 4px;
|
|
572
|
+
border: 1px solid #dcdfe6; }
|
|
563
573
|
.vxe-input--panel .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label,
|
|
564
574
|
.vxe-input--panel .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn {
|
|
565
575
|
padding: 0 9px; }
|
|
@@ -590,7 +600,8 @@
|
|
|
590
600
|
height: 48px; }
|
|
591
601
|
.vxe-input--panel .vxe-input--date-picker-body th {
|
|
592
602
|
height: 30px; }
|
|
593
|
-
.vxe-input--panel .vxe-input--time-picker-confirm
|
|
603
|
+
.vxe-input--panel .vxe-input--time-picker-confirm,
|
|
604
|
+
.vxe-input--panel .vxe-input--date-picker-confirm {
|
|
594
605
|
height: 30px;
|
|
595
606
|
padding: 0 9px; }
|
|
596
607
|
.vxe-input--panel .vxe-input--date-label {
|
|
@@ -621,8 +632,13 @@
|
|
|
621
632
|
height: 29px;
|
|
622
633
|
line-height: 29px; }
|
|
623
634
|
.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn {
|
|
624
|
-
width: 29px;
|
|
625
635
|
margin-left: 7px; }
|
|
636
|
+
.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn,
|
|
637
|
+
.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,
|
|
638
|
+
.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn {
|
|
639
|
+
width: 29px;
|
|
640
|
+
border-radius: 4px;
|
|
641
|
+
border: 1px solid #dcdfe6; }
|
|
626
642
|
.vxe-input--panel.size--medium .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label,
|
|
627
643
|
.vxe-input--panel.size--medium .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn {
|
|
628
644
|
padding: 0 8px; }
|
|
@@ -653,7 +669,8 @@
|
|
|
653
669
|
height: 46px; }
|
|
654
670
|
.vxe-input--panel.size--medium .vxe-input--date-picker-body th {
|
|
655
671
|
height: 29px; }
|
|
656
|
-
.vxe-input--panel.size--medium .vxe-input--time-picker-confirm
|
|
672
|
+
.vxe-input--panel.size--medium .vxe-input--time-picker-confirm,
|
|
673
|
+
.vxe-input--panel.size--medium .vxe-input--date-picker-confirm {
|
|
657
674
|
height: 29px;
|
|
658
675
|
padding: 0 8px; }
|
|
659
676
|
.vxe-input--panel.size--medium .vxe-input--date-label {
|
|
@@ -684,8 +701,13 @@
|
|
|
684
701
|
height: 28px;
|
|
685
702
|
line-height: 28px; }
|
|
686
703
|
.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn {
|
|
687
|
-
width: 28px;
|
|
688
704
|
margin-left: 6px; }
|
|
705
|
+
.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn,
|
|
706
|
+
.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,
|
|
707
|
+
.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn {
|
|
708
|
+
width: 28px;
|
|
709
|
+
border-radius: 4px;
|
|
710
|
+
border: 1px solid #dcdfe6; }
|
|
689
711
|
.vxe-input--panel.size--small .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label,
|
|
690
712
|
.vxe-input--panel.size--small .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn {
|
|
691
713
|
padding: 0 7px; }
|
|
@@ -716,7 +738,8 @@
|
|
|
716
738
|
height: 44px; }
|
|
717
739
|
.vxe-input--panel.size--small .vxe-input--date-picker-body th {
|
|
718
740
|
height: 28px; }
|
|
719
|
-
.vxe-input--panel.size--small .vxe-input--time-picker-confirm
|
|
741
|
+
.vxe-input--panel.size--small .vxe-input--time-picker-confirm,
|
|
742
|
+
.vxe-input--panel.size--small .vxe-input--date-picker-confirm {
|
|
720
743
|
height: 28px;
|
|
721
744
|
padding: 0 7px; }
|
|
722
745
|
.vxe-input--panel.size--small .vxe-input--date-label {
|
|
@@ -747,8 +770,13 @@
|
|
|
747
770
|
height: 27px;
|
|
748
771
|
line-height: 27px; }
|
|
749
772
|
.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn {
|
|
750
|
-
width: 27px;
|
|
751
773
|
margin-left: 5px; }
|
|
774
|
+
.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn,
|
|
775
|
+
.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,
|
|
776
|
+
.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn {
|
|
777
|
+
width: 27px;
|
|
778
|
+
border-radius: 4px;
|
|
779
|
+
border: 1px solid #dcdfe6; }
|
|
752
780
|
.vxe-input--panel.size--mini .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label,
|
|
753
781
|
.vxe-input--panel.size--mini .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn {
|
|
754
782
|
padding: 0 6px; }
|
|
@@ -779,7 +807,8 @@
|
|
|
779
807
|
height: 42px; }
|
|
780
808
|
.vxe-input--panel.size--mini .vxe-input--date-picker-body th {
|
|
781
809
|
height: 26px; }
|
|
782
|
-
.vxe-input--panel.size--mini .vxe-input--time-picker-confirm
|
|
810
|
+
.vxe-input--panel.size--mini .vxe-input--time-picker-confirm,
|
|
811
|
+
.vxe-input--panel.size--mini .vxe-input--date-picker-confirm {
|
|
783
812
|
height: 27px;
|
|
784
813
|
padding: 0 6px; }
|
|
785
814
|
.vxe-input--panel.size--mini .vxe-input--date-label {
|
package/es/keyboard/src/hook.js
CHANGED
|
@@ -62,7 +62,11 @@ var tableKeyboardHook = {
|
|
|
62
62
|
var elemStore = internalData.elemStore;
|
|
63
63
|
var disX_1 = evnt.clientX;
|
|
64
64
|
var disY_1 = evnt.clientY;
|
|
65
|
-
var
|
|
65
|
+
var bodyWrapperRef = elemStore[(column.fixed || 'main') + "-body-wrapper"] || elemStore['main-body-wrapper'];
|
|
66
|
+
var bodyWrapperElem_1 = bodyWrapperRef ? bodyWrapperRef.value : null;
|
|
67
|
+
if (!bodyWrapperElem_1) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
66
70
|
var checkboxRangeElem_1 = bodyWrapperElem_1.querySelector('.vxe-table--checkbox-range');
|
|
67
71
|
var domMousemove_1 = document.onmousemove;
|
|
68
72
|
var domMouseup_1 = document.onmouseup;
|