vxe-pc-ui 4.12.0 → 4.12.2
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/calendar/src/calendar.js +254 -97
- package/es/calendar/style.css +248 -69
- package/es/calendar/style.min.css +1 -1
- package/es/date-panel/src/date-panel.js +3 -1
- package/es/icon/style.css +1 -1
- package/es/language/ar-EG.js +4 -0
- package/es/language/de-DE.js +4 -0
- package/es/language/en-US.js +4 -0
- package/es/language/es-ES.js +4 -0
- package/es/language/fr-FR.js +4 -0
- package/es/language/hu-HU.js +4 -0
- package/es/language/hy-AM.js +4 -0
- package/es/language/id-ID.js +4 -0
- package/es/language/it-IT.js +4 -0
- package/es/language/ja-JP.js +4 -0
- package/es/language/ko-KR.js +4 -0
- package/es/language/ms-MY.js +4 -0
- package/es/language/nb-NO.js +4 -0
- package/es/language/pt-BR.js +4 -0
- package/es/language/ru-RU.js +4 -0
- package/es/language/th-TH.js +4 -0
- package/es/language/ug-CN.js +4 -0
- package/es/language/uk-UA.js +4 -0
- package/es/language/uz-UZ.js +4 -0
- package/es/language/vi-VN.js +4 -0
- package/es/language/zh-CHT.js +4 -0
- package/es/language/zh-CN.js +4 -0
- package/es/menu/src/menu.js +67 -8
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree/src/tree.js +10 -2
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-calendar/style.css +248 -69
- package/es/vxe-calendar/style.min.css +1 -1
- package/lib/calendar/src/calendar.js +283 -104
- package/lib/calendar/src/calendar.min.js +1 -1
- package/lib/calendar/style/style.css +248 -69
- package/lib/calendar/style/style.min.css +1 -1
- package/lib/date-panel/src/date-panel.js +3 -1
- package/lib/date-panel/src/date-panel.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +443 -161
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +4 -0
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +4 -0
- package/lib/language/de-DE.js +4 -0
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +4 -0
- package/lib/language/en-US.js +4 -0
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +4 -0
- package/lib/language/es-ES.js +4 -0
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +4 -0
- package/lib/language/fr-FR.js +4 -0
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +4 -0
- package/lib/language/hu-HU.js +4 -0
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +4 -0
- package/lib/language/hy-AM.js +4 -0
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +4 -0
- package/lib/language/id-ID.js +4 -0
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +4 -0
- package/lib/language/it-IT.js +4 -0
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +4 -0
- package/lib/language/ja-JP.js +4 -0
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +4 -0
- package/lib/language/ko-KR.js +4 -0
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +4 -0
- package/lib/language/ms-MY.js +4 -0
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +4 -0
- package/lib/language/nb-NO.js +4 -0
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +4 -0
- package/lib/language/pt-BR.js +4 -0
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +4 -0
- package/lib/language/ru-RU.js +4 -0
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +4 -0
- package/lib/language/th-TH.js +4 -0
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +4 -0
- package/lib/language/ug-CN.js +4 -0
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +4 -0
- package/lib/language/uk-UA.js +4 -0
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +4 -0
- package/lib/language/uz-UZ.js +4 -0
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +4 -0
- package/lib/language/vi-VN.js +4 -0
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +4 -0
- package/lib/language/zh-CHT.js +4 -0
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +4 -0
- package/lib/language/zh-CN.js +4 -0
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +4 -0
- package/lib/menu/src/menu.js +89 -10
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tree/src/tree.js +62 -44
- package/lib/tree/src/tree.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/vxe-calendar/style/style.css +248 -69
- package/lib/vxe-calendar/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/calendar/src/calendar.ts +259 -97
- package/packages/date-panel/src/date-panel.ts +3 -1
- package/packages/language/ar-EG.ts +4 -0
- package/packages/language/de-DE.ts +4 -0
- package/packages/language/en-US.ts +4 -0
- package/packages/language/es-ES.ts +4 -0
- package/packages/language/fr-FR.ts +4 -0
- package/packages/language/hu-HU.ts +4 -0
- package/packages/language/hy-AM.ts +4 -0
- package/packages/language/id-ID.ts +4 -0
- package/packages/language/it-IT.ts +4 -0
- package/packages/language/ja-JP.ts +4 -0
- package/packages/language/ko-KR.ts +4 -0
- package/packages/language/ms-MY.ts +4 -0
- package/packages/language/nb-NO.ts +4 -0
- package/packages/language/pt-BR.ts +4 -0
- package/packages/language/ru-RU.ts +4 -0
- package/packages/language/th-TH.ts +4 -0
- package/packages/language/ug-CN.ts +4 -0
- package/packages/language/uk-UA.ts +4 -0
- package/packages/language/uz-UZ.ts +4 -0
- package/packages/language/vi-VN.ts +4 -0
- package/packages/language/zh-CHT.ts +4 -0
- package/packages/language/zh-CN.ts +4 -0
- package/packages/menu/src/menu.ts +79 -15
- package/packages/tree/src/tree.ts +11 -2
- package/styles/components/calendar.scss +281 -78
- package/types/components/calendar.d.ts +47 -3
- package/types/components/form-design.d.ts +106 -21
- package/types/components/menu.d.ts +50 -2
- package/types/handles/form-design.d.ts +5 -1
- package/types/ui/menus.d.ts +54 -5
- package/types/ui/renderer.d.ts +2 -1
- /package/es/icon/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
- /package/es/icon/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
- /package/es/icon/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
- /package/es/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
- /package/es/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
- /package/es/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
- /package/lib/icon/style/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
- /package/lib/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
- /package/lib/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
- /package/lib/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
|
@@ -9,9 +9,16 @@ var _comp = require("../../ui/src/comp");
|
|
|
9
9
|
var _ui = require("../../ui");
|
|
10
10
|
var _util = require("../../date-panel/src/util");
|
|
11
11
|
var _dom = require("../../ui/src/dom");
|
|
12
|
+
var _utils = require("../../ui/src/utils");
|
|
13
|
+
var _log = require("../../ui/src/log");
|
|
12
14
|
var _button = _interopRequireDefault(require("../../button/src/button"));
|
|
13
15
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
14
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
const {
|
|
18
|
+
menus,
|
|
19
|
+
getConfig,
|
|
20
|
+
getI18n
|
|
21
|
+
} = _ui.VxeUI;
|
|
15
22
|
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
16
23
|
name: 'VxeCalendar',
|
|
17
24
|
props: {
|
|
@@ -23,7 +30,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
23
30
|
className: String,
|
|
24
31
|
size: {
|
|
25
32
|
type: String,
|
|
26
|
-
default: () =>
|
|
33
|
+
default: () => getConfig().calendar.size || getConfig().size
|
|
27
34
|
},
|
|
28
35
|
multiple: Boolean,
|
|
29
36
|
width: [String, Number],
|
|
@@ -31,34 +38,35 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
31
38
|
// date、week、month、quarter、year
|
|
32
39
|
minDate: {
|
|
33
40
|
type: [String, Number, Date],
|
|
34
|
-
default: () =>
|
|
41
|
+
default: () => getConfig().calendar.minDate
|
|
35
42
|
},
|
|
36
43
|
maxDate: {
|
|
37
44
|
type: [String, Number, Date],
|
|
38
|
-
default: () =>
|
|
45
|
+
default: () => getConfig().calendar.maxDate
|
|
39
46
|
},
|
|
40
47
|
startDay: {
|
|
41
48
|
type: [String, Number],
|
|
42
|
-
default: () =>
|
|
49
|
+
default: () => getConfig().calendar.startDay
|
|
43
50
|
},
|
|
44
51
|
labelFormat: String,
|
|
45
52
|
valueFormat: String,
|
|
46
53
|
festivalMethod: {
|
|
47
54
|
type: Function,
|
|
48
|
-
default: () =>
|
|
55
|
+
default: () => getConfig().calendar.festivalMethod
|
|
49
56
|
},
|
|
50
57
|
disabledMethod: {
|
|
51
58
|
type: Function,
|
|
52
|
-
default: () =>
|
|
59
|
+
default: () => getConfig().calendar.disabledMethod
|
|
53
60
|
},
|
|
54
|
-
cellStyle: Function,
|
|
61
|
+
cellStyle: [Object, Function],
|
|
62
|
+
menuConfig: Object,
|
|
55
63
|
// week
|
|
56
64
|
selectDay: {
|
|
57
65
|
type: [String, Number],
|
|
58
|
-
default: () =>
|
|
66
|
+
default: () => getConfig().calendar.selectDay
|
|
59
67
|
}
|
|
60
68
|
},
|
|
61
|
-
emits: ['update:modelValue', 'change', 'click', 'date-prev', 'date-today', 'date-next', 'view-change'],
|
|
69
|
+
emits: ['update:modelValue', 'change', 'cell-click', 'date-prev', 'date-today', 'date-next', 'view-change', 'cell-menu', 'menu-click'],
|
|
62
70
|
setup(props, context) {
|
|
63
71
|
const {
|
|
64
72
|
emit
|
|
@@ -122,6 +130,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
122
130
|
const computeSupportMultiples = (0, _vue.computed)(() => {
|
|
123
131
|
return ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1;
|
|
124
132
|
});
|
|
133
|
+
const computeMenuOpts = (0, _vue.computed)(() => {
|
|
134
|
+
return Object.assign({}, getConfig().calendar.menuConfig, props.menuConfig);
|
|
135
|
+
});
|
|
125
136
|
const computeDateListValue = (0, _vue.computed)(() => {
|
|
126
137
|
const {
|
|
127
138
|
multiple
|
|
@@ -207,7 +218,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
207
218
|
const isCalendarType = computeIsCalendarType.value;
|
|
208
219
|
const dateValueFormat = computeDateValueFormat.value;
|
|
209
220
|
if (isCalendarType) {
|
|
210
|
-
return labelFormat || dateValueFormat ||
|
|
221
|
+
return labelFormat || dateValueFormat || getI18n(`vxe.input.date.labelFormat.${props.type}`);
|
|
211
222
|
}
|
|
212
223
|
return null;
|
|
213
224
|
});
|
|
@@ -261,11 +272,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
261
272
|
y = yearList.length ? `${yearList[0].year} - ${yearList[yearList.length - 1].year}` : '';
|
|
262
273
|
} else {
|
|
263
274
|
y = `${year}`;
|
|
264
|
-
m = month ?
|
|
275
|
+
m = month ? getI18n('vxe.calendar.monthLabel', [month]) : '-';
|
|
265
276
|
}
|
|
266
277
|
}
|
|
267
278
|
return {
|
|
268
|
-
y,
|
|
279
|
+
y: getI18n('vxe.calendar.yearLabel', [y]),
|
|
269
280
|
m
|
|
270
281
|
};
|
|
271
282
|
});
|
|
@@ -299,7 +310,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
299
310
|
return weekDatas.map(day => {
|
|
300
311
|
return {
|
|
301
312
|
value: day,
|
|
302
|
-
label:
|
|
313
|
+
label: getI18n(`vxe.input.date.weeks.w${day}`)
|
|
303
314
|
};
|
|
304
315
|
});
|
|
305
316
|
}
|
|
@@ -310,7 +321,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
310
321
|
if (isCalendarType) {
|
|
311
322
|
const dateHeaders = computeDateHeaders.value;
|
|
312
323
|
return [{
|
|
313
|
-
label:
|
|
324
|
+
label: getI18n('vxe.input.date.weeks.w')
|
|
314
325
|
}].concat(dateHeaders);
|
|
315
326
|
}
|
|
316
327
|
return [];
|
|
@@ -753,11 +764,85 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
753
764
|
}
|
|
754
765
|
}
|
|
755
766
|
};
|
|
756
|
-
const
|
|
767
|
+
const dateClickEvent = (evnt, item) => {
|
|
768
|
+
const {
|
|
769
|
+
type
|
|
770
|
+
} = props;
|
|
771
|
+
const {
|
|
772
|
+
datePanelType
|
|
773
|
+
} = reactData;
|
|
774
|
+
const {
|
|
775
|
+
date
|
|
776
|
+
} = item;
|
|
757
777
|
if (!isDateDisabled(item)) {
|
|
758
|
-
dateSelectItem(
|
|
778
|
+
dateSelectItem(date);
|
|
779
|
+
dispatchEvent('cell-click', {
|
|
780
|
+
date,
|
|
781
|
+
type,
|
|
782
|
+
viewType: datePanelType
|
|
783
|
+
}, evnt);
|
|
759
784
|
}
|
|
760
785
|
};
|
|
786
|
+
const datContextmenuEvent = (evnt, item) => {
|
|
787
|
+
const {
|
|
788
|
+
type
|
|
789
|
+
} = props;
|
|
790
|
+
const {
|
|
791
|
+
datePanelType
|
|
792
|
+
} = reactData;
|
|
793
|
+
const {
|
|
794
|
+
menuConfig
|
|
795
|
+
} = props;
|
|
796
|
+
const menuOpts = computeMenuOpts.value;
|
|
797
|
+
if (menuConfig ? (0, _utils.isEnableConf)(menuOpts) : menuOpts.enabled) {
|
|
798
|
+
const {
|
|
799
|
+
options,
|
|
800
|
+
visibleMethod
|
|
801
|
+
} = menuOpts;
|
|
802
|
+
const {
|
|
803
|
+
date
|
|
804
|
+
} = item;
|
|
805
|
+
if (!visibleMethod || visibleMethod({
|
|
806
|
+
$calendar: $xeCalendar,
|
|
807
|
+
options,
|
|
808
|
+
date,
|
|
809
|
+
type,
|
|
810
|
+
viewType: datePanelType
|
|
811
|
+
})) {
|
|
812
|
+
if (_ui.VxeUI.contextMenu) {
|
|
813
|
+
_ui.VxeUI.contextMenu.openByEvent(evnt, {
|
|
814
|
+
options,
|
|
815
|
+
events: {
|
|
816
|
+
optionClick(eventParams) {
|
|
817
|
+
const {
|
|
818
|
+
option
|
|
819
|
+
} = eventParams;
|
|
820
|
+
const gMenuOpts = menus.get(option.code);
|
|
821
|
+
const cmMethod = gMenuOpts ? gMenuOpts.calendarMenuMethod : null;
|
|
822
|
+
const params = {
|
|
823
|
+
menu: option,
|
|
824
|
+
date,
|
|
825
|
+
type,
|
|
826
|
+
viewType: datePanelType,
|
|
827
|
+
$event: evnt,
|
|
828
|
+
$calendar: $xeCalendar
|
|
829
|
+
};
|
|
830
|
+
if (cmMethod) {
|
|
831
|
+
cmMethod(params, evnt);
|
|
832
|
+
}
|
|
833
|
+
dispatchEvent('menu-click', params, eventParams.$event);
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
});
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
dispatchEvent('cell-menu', {
|
|
841
|
+
date: item.date,
|
|
842
|
+
type,
|
|
843
|
+
viewType: datePanelType
|
|
844
|
+
}, evnt);
|
|
845
|
+
};
|
|
761
846
|
const dateMoveDay = offsetDay => {
|
|
762
847
|
if (!isDateDisabled({
|
|
763
848
|
date: offsetDay
|
|
@@ -818,6 +903,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
818
903
|
}
|
|
819
904
|
}
|
|
820
905
|
};
|
|
906
|
+
const dateMouseleaveEvent = () => {
|
|
907
|
+
reactData.datePanelValue = null;
|
|
908
|
+
};
|
|
821
909
|
const dateConfirmEvent = () => {};
|
|
822
910
|
const dateOpenPanel = () => {
|
|
823
911
|
const {
|
|
@@ -858,11 +946,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
858
946
|
label: festivalItem.extra
|
|
859
947
|
} : festivalItem.extra : null;
|
|
860
948
|
const labels = [(0, _vue.h)('span', {
|
|
861
|
-
class: ['vxe-calendar--
|
|
949
|
+
class: ['vxe-calendar--label', {
|
|
862
950
|
'is-notice': festivalItem.notice
|
|
863
951
|
}]
|
|
864
|
-
}, extraItem && extraItem.label ? [(0, _vue.h)('span',
|
|
865
|
-
class:
|
|
952
|
+
}, extraItem && extraItem.label ? [(0, _vue.h)('span', {
|
|
953
|
+
class: 'vxe-calendar--label--number'
|
|
954
|
+
}, `${label || ''}`), (0, _vue.h)('span', {
|
|
955
|
+
class: ['vxe-calendar--label--extra', extraItem.important ? 'is-important' : '', extraItem.className],
|
|
866
956
|
style: extraItem.style
|
|
867
957
|
}, _xeUtils.default.toValueString(extraItem.label))] : [`${label || ''}`])];
|
|
868
958
|
const festivalLabel = festivalItem.label;
|
|
@@ -870,12 +960,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
870
960
|
// 默认最多支持3个节日重叠
|
|
871
961
|
const festivalLabels = _xeUtils.default.toValueString(festivalLabel).split(',');
|
|
872
962
|
labels.push((0, _vue.h)('span', {
|
|
873
|
-
class: ['vxe-calendar--
|
|
963
|
+
class: ['vxe-calendar--festival', festivalItem.important ? 'is-important' : '', festivalItem.className],
|
|
874
964
|
style: festivalItem.style
|
|
875
965
|
}, [festivalLabels.length > 1 ? (0, _vue.h)('span', {
|
|
876
|
-
class: ['vxe-calendar--
|
|
966
|
+
class: ['vxe-calendar--festival--overlap', `overlap--${festivalLabels.length}`]
|
|
877
967
|
}, festivalLabels.map(label => (0, _vue.h)('span', label.substring(0, 3)))) : (0, _vue.h)('span', {
|
|
878
|
-
class: 'vxe-calendar--
|
|
968
|
+
class: 'vxe-calendar--festival--label'
|
|
879
969
|
}, festivalLabels[0].substring(0, 3))]));
|
|
880
970
|
}
|
|
881
971
|
return labels;
|
|
@@ -896,25 +986,44 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
896
986
|
const dayDatas = computeDayDatas.value;
|
|
897
987
|
const dateListValue = computeDateListValue.value;
|
|
898
988
|
const matchFormat = 'yyyyMMdd';
|
|
899
|
-
return [(0, _vue.h)('
|
|
900
|
-
class:
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
}
|
|
909
|
-
return (0, _vue.h)('
|
|
910
|
-
|
|
911
|
-
|
|
989
|
+
return [(0, _vue.h)('div', {
|
|
990
|
+
class: ['vxe-calendar--view-wrapper', `type--${datePanelType}`]
|
|
991
|
+
}, [(0, _vue.h)('div', {
|
|
992
|
+
class: 'vxe-calendar--view-header',
|
|
993
|
+
style: {
|
|
994
|
+
height: `${100 / (dayDatas.length + 1)}%`
|
|
995
|
+
}
|
|
996
|
+
}, [(0, _vue.h)('div', {
|
|
997
|
+
class: 'vxe-calendar--view-row'
|
|
998
|
+
}, dateHeaders.map(item => {
|
|
999
|
+
return (0, _vue.h)('div', {
|
|
1000
|
+
class: 'vxe-calendar--view-item',
|
|
1001
|
+
style: {
|
|
1002
|
+
width: `${100 / dateHeaders.length}%`
|
|
1003
|
+
}
|
|
1004
|
+
}, [(0, _vue.h)('div', {
|
|
1005
|
+
class: 'vxe-calendar--view-item-inner'
|
|
1006
|
+
}, [(0, _vue.h)('div', {
|
|
1007
|
+
class: 'vxe-calendar--view-item-label'
|
|
1008
|
+
}, item.label)])]);
|
|
1009
|
+
}))]), (0, _vue.h)('div', {
|
|
1010
|
+
class: 'vxe-calendar--view-body'
|
|
1011
|
+
}, dayDatas.map(rows => {
|
|
1012
|
+
return (0, _vue.h)('div', {
|
|
1013
|
+
class: 'vxe-calendar--view-row',
|
|
1014
|
+
style: {
|
|
1015
|
+
height: `${100 / dayDatas.length}%`
|
|
1016
|
+
}
|
|
1017
|
+
}, rows.map(item => {
|
|
1018
|
+
const isSelected = multiple ? dateListValue.some(val => _xeUtils.default.isDateSame(val, item.date, matchFormat)) : _xeUtils.default.isDateSame(dateValue, item.date, matchFormat);
|
|
1019
|
+
return (0, _vue.h)('div', {
|
|
1020
|
+
class: ['vxe-calendar--view-item', {
|
|
912
1021
|
'is--prev': item.isPrev,
|
|
913
1022
|
'is--current': item.isCurrent,
|
|
914
1023
|
'is--now': item.isNow,
|
|
915
1024
|
'is--next': item.isNext,
|
|
916
1025
|
'is--disabled': isDateDisabled(item),
|
|
917
|
-
'is--selected':
|
|
1026
|
+
'is--selected': isSelected,
|
|
918
1027
|
'is--hover': _xeUtils.default.isDateSame(datePanelValue, item.date, matchFormat)
|
|
919
1028
|
}],
|
|
920
1029
|
style: Object.assign({}, _xeUtils.default.isFunction(cellStyle) ? cellStyle({
|
|
@@ -922,12 +1031,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
922
1031
|
viewType: datePanelType,
|
|
923
1032
|
date: item.date,
|
|
924
1033
|
$calendar: $xeCalendar
|
|
925
|
-
}) : cellStyle
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
1034
|
+
}) : cellStyle, {
|
|
1035
|
+
width: `${100 / rows.length}%`
|
|
1036
|
+
}),
|
|
1037
|
+
onClick: evnt => dateClickEvent(evnt, item),
|
|
1038
|
+
onContextmenu: evnt => datContextmenuEvent(evnt, item),
|
|
1039
|
+
onMouseenter: () => dateMouseenterEvent(item),
|
|
1040
|
+
onMouseleave: dateMouseleaveEvent
|
|
1041
|
+
}, [(0, _vue.h)('div', {
|
|
1042
|
+
class: 'vxe-calendar--view-item-inner'
|
|
1043
|
+
}, renderDateLabel(item, item.label))]);
|
|
929
1044
|
}));
|
|
930
|
-
})])];
|
|
1045
|
+
}))])];
|
|
931
1046
|
};
|
|
932
1047
|
const renderDateWeekTable = () => {
|
|
933
1048
|
const {
|
|
@@ -943,24 +1058,43 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
943
1058
|
const weekDates = computeWeekDates.value;
|
|
944
1059
|
const dateListValue = computeDateListValue.value;
|
|
945
1060
|
const matchFormat = 'yyyyMMdd';
|
|
946
|
-
return [(0, _vue.h)('
|
|
947
|
-
class:
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
}
|
|
1061
|
+
return [(0, _vue.h)('div', {
|
|
1062
|
+
class: ['vxe-calendar--view-wrapper', `type--${datePanelType}`]
|
|
1063
|
+
}, [(0, _vue.h)('div', {
|
|
1064
|
+
class: 'vxe-calendar--view-header',
|
|
1065
|
+
style: {
|
|
1066
|
+
height: `${100 / (weekDates.length + 1)}%`
|
|
1067
|
+
}
|
|
1068
|
+
}, [(0, _vue.h)('div', {
|
|
1069
|
+
class: 'vxe-calendar--view-row'
|
|
1070
|
+
}, weekHeaders.map((item, rIndex) => {
|
|
1071
|
+
return (0, _vue.h)('div', {
|
|
1072
|
+
class: 'vxe-calendar--view-item',
|
|
1073
|
+
style: {
|
|
1074
|
+
width: `${rIndex ? 13 : 9}%`
|
|
1075
|
+
}
|
|
1076
|
+
}, [(0, _vue.h)('div', {
|
|
1077
|
+
class: 'vxe-calendar--view-item-inner'
|
|
1078
|
+
}, [(0, _vue.h)('div', {
|
|
1079
|
+
class: 'vxe-calendar--view-item-label'
|
|
1080
|
+
}, item.label)])]);
|
|
1081
|
+
}))]), (0, _vue.h)('div', {
|
|
1082
|
+
class: 'vxe-calendar--view-body'
|
|
1083
|
+
}, weekDates.map(rows => {
|
|
956
1084
|
const isSelected = multiple ? rows.some(item => dateListValue.some(val => _xeUtils.default.isDateSame(val, item.date, matchFormat))) : rows.some(item => _xeUtils.default.isDateSame(dateValue, item.date, matchFormat));
|
|
957
1085
|
const isHover = rows.some(item => _xeUtils.default.isDateSame(datePanelValue, item.date, matchFormat));
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
1086
|
+
const isNowWeek = rows.some(item => item.isNow);
|
|
1087
|
+
return (0, _vue.h)('div', {
|
|
1088
|
+
class: 'vxe-calendar--view-row',
|
|
1089
|
+
style: {
|
|
1090
|
+
height: `${100 / weekDates.length}%`
|
|
1091
|
+
}
|
|
1092
|
+
}, rows.map((item, rIndex) => {
|
|
1093
|
+
return (0, _vue.h)('div', {
|
|
1094
|
+
class: ['vxe-calendar--view-item', {
|
|
961
1095
|
'is--prev': item.isPrev,
|
|
962
1096
|
'is--current': item.isCurrent,
|
|
963
|
-
'is--now': item.isNow,
|
|
1097
|
+
'is--now': rIndex ? item.isNow : isNowWeek,
|
|
964
1098
|
'is--next': item.isNext,
|
|
965
1099
|
'is--disabled': isDateDisabled(item),
|
|
966
1100
|
'is--selected': isSelected,
|
|
@@ -971,13 +1105,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
971
1105
|
viewType: datePanelType,
|
|
972
1106
|
date: item.date,
|
|
973
1107
|
$calendar: $xeCalendar
|
|
974
|
-
}) : cellStyle
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
1108
|
+
}) : cellStyle, {
|
|
1109
|
+
width: `${rIndex ? 13 : 9}%`
|
|
1110
|
+
}),
|
|
1111
|
+
onClick: evnt => dateClickEvent(evnt, item),
|
|
1112
|
+
onContextmenu: evnt => datContextmenuEvent(evnt, item),
|
|
1113
|
+
onMouseenter: () => dateMouseenterEvent(item),
|
|
1114
|
+
onMouseleave: dateMouseleaveEvent
|
|
1115
|
+
}, [(0, _vue.h)('div', {
|
|
1116
|
+
class: 'vxe-calendar--view-item-inner'
|
|
1117
|
+
}, renderDateLabel(item, item.label))]);
|
|
979
1118
|
}));
|
|
980
|
-
})])];
|
|
1119
|
+
}))])];
|
|
981
1120
|
};
|
|
982
1121
|
const renderDateMonthTable = () => {
|
|
983
1122
|
const {
|
|
@@ -992,21 +1131,26 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
992
1131
|
const monthDatas = computeMonthDatas.value;
|
|
993
1132
|
const dateListValue = computeDateListValue.value;
|
|
994
1133
|
const matchFormat = 'yyyyMM';
|
|
995
|
-
return [(0, _vue.h)('
|
|
996
|
-
class:
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1134
|
+
return [(0, _vue.h)('div', {
|
|
1135
|
+
class: ['vxe-calendar--view-wrapper', `type--${datePanelType}`]
|
|
1136
|
+
}, [(0, _vue.h)('div', {
|
|
1137
|
+
class: 'vxe-calendar--view-body'
|
|
1138
|
+
}, monthDatas.map(rows => {
|
|
1139
|
+
return (0, _vue.h)('div', {
|
|
1140
|
+
class: 'vxe-calendar--view-row',
|
|
1141
|
+
style: {
|
|
1142
|
+
height: `${100 / monthDatas.length}%`
|
|
1143
|
+
}
|
|
1144
|
+
}, rows.map(item => {
|
|
1145
|
+
const isSelected = multiple ? dateListValue.some(val => _xeUtils.default.isDateSame(val, item.date, matchFormat)) : _xeUtils.default.isDateSame(dateValue, item.date, matchFormat);
|
|
1146
|
+
return (0, _vue.h)('div', {
|
|
1147
|
+
class: ['vxe-calendar--view-item', {
|
|
1004
1148
|
'is--prev': item.isPrev,
|
|
1005
1149
|
'is--current': item.isCurrent,
|
|
1006
1150
|
'is--now': item.isNow,
|
|
1007
1151
|
'is--next': item.isNext,
|
|
1008
1152
|
'is--disabled': isDateDisabled(item),
|
|
1009
|
-
'is--selected':
|
|
1153
|
+
'is--selected': isSelected,
|
|
1010
1154
|
'is--hover': _xeUtils.default.isDateSame(datePanelValue, item.date, matchFormat)
|
|
1011
1155
|
}],
|
|
1012
1156
|
style: Object.assign({}, _xeUtils.default.isFunction(cellStyle) ? cellStyle({
|
|
@@ -1014,10 +1158,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1014
1158
|
viewType: datePanelType,
|
|
1015
1159
|
date: item.date,
|
|
1016
1160
|
$calendar: $xeCalendar
|
|
1017
|
-
}) : cellStyle
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1161
|
+
}) : cellStyle, {
|
|
1162
|
+
width: `${100 / rows.length}%`
|
|
1163
|
+
}),
|
|
1164
|
+
onClick: evnt => dateClickEvent(evnt, item),
|
|
1165
|
+
onContextmenu: evnt => datContextmenuEvent(evnt, item),
|
|
1166
|
+
onMouseenter: () => dateMouseenterEvent(item),
|
|
1167
|
+
onMouseleave: dateMouseleaveEvent
|
|
1168
|
+
}, [(0, _vue.h)('div', {
|
|
1169
|
+
class: 'vxe-calendar--view-item-inner'
|
|
1170
|
+
}, renderDateLabel(item, getI18n(`vxe.input.date.months.m${item.month}`)))]);
|
|
1021
1171
|
}));
|
|
1022
1172
|
}))])];
|
|
1023
1173
|
};
|
|
@@ -1034,21 +1184,26 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1034
1184
|
const quarterDatas = computeQuarterDatas.value;
|
|
1035
1185
|
const dateListValue = computeDateListValue.value;
|
|
1036
1186
|
const matchFormat = 'yyyyq';
|
|
1037
|
-
return [(0, _vue.h)('
|
|
1038
|
-
class:
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1187
|
+
return [(0, _vue.h)('div', {
|
|
1188
|
+
class: ['vxe-calendar--view-wrapper', `type--${datePanelType}`]
|
|
1189
|
+
}, [(0, _vue.h)('div', {
|
|
1190
|
+
class: 'vxe-calendar--view-body'
|
|
1191
|
+
}, quarterDatas.map(rows => {
|
|
1192
|
+
return (0, _vue.h)('div', {
|
|
1193
|
+
class: 'vxe-calendar--view-row',
|
|
1194
|
+
style: {
|
|
1195
|
+
height: `${100 / quarterDatas.length}%`
|
|
1196
|
+
}
|
|
1197
|
+
}, rows.map(item => {
|
|
1198
|
+
const isSelected = multiple ? dateListValue.some(val => _xeUtils.default.isDateSame(val, item.date, matchFormat)) : _xeUtils.default.isDateSame(dateValue, item.date, matchFormat);
|
|
1199
|
+
return (0, _vue.h)('div', {
|
|
1200
|
+
class: ['vxe-calendar--view-item', {
|
|
1046
1201
|
'is--prev': item.isPrev,
|
|
1047
1202
|
'is--current': item.isCurrent,
|
|
1048
1203
|
'is--now': item.isNow,
|
|
1049
1204
|
'is--next': item.isNext,
|
|
1050
1205
|
'is--disabled': isDateDisabled(item),
|
|
1051
|
-
'is--selected':
|
|
1206
|
+
'is--selected': isSelected,
|
|
1052
1207
|
'is--hover': _xeUtils.default.isDateSame(datePanelValue, item.date, matchFormat)
|
|
1053
1208
|
}],
|
|
1054
1209
|
style: Object.assign({}, _xeUtils.default.isFunction(cellStyle) ? cellStyle({
|
|
@@ -1056,10 +1211,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1056
1211
|
viewType: datePanelType,
|
|
1057
1212
|
date: item.date,
|
|
1058
1213
|
$calendar: $xeCalendar
|
|
1059
|
-
}) : cellStyle
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1214
|
+
}) : cellStyle, {
|
|
1215
|
+
width: `${100 / rows.length}%`
|
|
1216
|
+
}),
|
|
1217
|
+
onClick: evnt => dateClickEvent(evnt, item),
|
|
1218
|
+
onContextmenu: evnt => datContextmenuEvent(evnt, item),
|
|
1219
|
+
onMouseenter: () => dateMouseenterEvent(item),
|
|
1220
|
+
onMouseleave: dateMouseleaveEvent
|
|
1221
|
+
}, [(0, _vue.h)('div', {
|
|
1222
|
+
class: 'vxe-calendar--view-item-inner'
|
|
1223
|
+
}, renderDateLabel(item, getI18n(`vxe.input.date.quarters.q${item.quarter}`)))]);
|
|
1063
1224
|
}));
|
|
1064
1225
|
}))])];
|
|
1065
1226
|
};
|
|
@@ -1076,21 +1237,26 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1076
1237
|
const yearDatas = computeYearDatas.value;
|
|
1077
1238
|
const dateListValue = computeDateListValue.value;
|
|
1078
1239
|
const matchFormat = 'yyyy';
|
|
1079
|
-
return [(0, _vue.h)('
|
|
1080
|
-
class:
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1240
|
+
return [(0, _vue.h)('div', {
|
|
1241
|
+
class: ['vxe-calendar--view-wrapper', `type--${datePanelType}`]
|
|
1242
|
+
}, [(0, _vue.h)('div', {
|
|
1243
|
+
class: 'vxe-calendar--view-body'
|
|
1244
|
+
}, yearDatas.map(rows => {
|
|
1245
|
+
return (0, _vue.h)('div', {
|
|
1246
|
+
class: 'vxe-calendar--view-row',
|
|
1247
|
+
style: {
|
|
1248
|
+
height: `${100 / yearDatas.length}%`
|
|
1249
|
+
}
|
|
1250
|
+
}, rows.map(item => {
|
|
1251
|
+
const isSelected = multiple ? dateListValue.some(val => _xeUtils.default.isDateSame(val, item.date, matchFormat)) : _xeUtils.default.isDateSame(dateValue, item.date, matchFormat);
|
|
1252
|
+
return (0, _vue.h)('div', {
|
|
1253
|
+
class: ['vxe-calendar--view-item', {
|
|
1088
1254
|
'is--prev': item.isPrev,
|
|
1089
1255
|
'is--current': item.isCurrent,
|
|
1090
1256
|
'is--now': item.isNow,
|
|
1091
1257
|
'is--next': item.isNext,
|
|
1092
1258
|
'is--disabled': isDateDisabled(item),
|
|
1093
|
-
'is--selected':
|
|
1259
|
+
'is--selected': isSelected,
|
|
1094
1260
|
'is--hover': _xeUtils.default.isDateSame(datePanelValue, item.date, matchFormat)
|
|
1095
1261
|
}],
|
|
1096
1262
|
style: Object.assign({}, _xeUtils.default.isFunction(cellStyle) ? cellStyle({
|
|
@@ -1098,10 +1264,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1098
1264
|
viewType: datePanelType,
|
|
1099
1265
|
date: item.date,
|
|
1100
1266
|
$calendar: $xeCalendar
|
|
1101
|
-
}) : cellStyle
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1267
|
+
}) : cellStyle, {
|
|
1268
|
+
width: `${100 / rows.length}%`
|
|
1269
|
+
}),
|
|
1270
|
+
onClick: evnt => dateClickEvent(evnt, item),
|
|
1271
|
+
onContextmenu: evnt => datContextmenuEvent(evnt, item),
|
|
1272
|
+
onMouseenter: () => dateMouseenterEvent(item),
|
|
1273
|
+
onMouseleave: dateMouseleaveEvent
|
|
1274
|
+
}, [(0, _vue.h)('div', {
|
|
1275
|
+
class: 'vxe-calendar--view-item-inner'
|
|
1276
|
+
}, renderDateLabel(item, item.year))]);
|
|
1105
1277
|
}));
|
|
1106
1278
|
}))])];
|
|
1107
1279
|
};
|
|
@@ -1168,7 +1340,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1168
1340
|
class: 'vxe-calendar--confirm',
|
|
1169
1341
|
type: 'button',
|
|
1170
1342
|
onClick: dateConfirmEvent
|
|
1171
|
-
},
|
|
1343
|
+
}, getI18n('vxe.button.confirm'))]) : null])]), (0, _vue.h)('div', {
|
|
1172
1344
|
class: 'vxe-calendar--body'
|
|
1173
1345
|
}, renderDateTable())];
|
|
1174
1346
|
};
|
|
@@ -1225,6 +1397,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1225
1397
|
}
|
|
1226
1398
|
});
|
|
1227
1399
|
(0, _vue.onMounted)(() => {
|
|
1400
|
+
const {
|
|
1401
|
+
menuConfig
|
|
1402
|
+
} = props;
|
|
1403
|
+
const VxeUIContextMenu = _ui.VxeUI.getComponent('VxeContextMenu');
|
|
1404
|
+
if (menuConfig && !VxeUIContextMenu) {
|
|
1405
|
+
(0, _log.errLog)('vxe.error.reqComp', ['vxe-context-menu']);
|
|
1406
|
+
}
|
|
1228
1407
|
dateOpenPanel();
|
|
1229
1408
|
});
|
|
1230
1409
|
initValue();
|