1 | import _extends from 'babel-runtime/helpers/extends';
|
2 | import moment from 'moment';
|
3 |
|
4 | var defaultDisabledTime = {
|
5 | disabledHours: function disabledHours() {
|
6 | return [];
|
7 | },
|
8 | disabledMinutes: function disabledMinutes() {
|
9 | return [];
|
10 | },
|
11 | disabledSeconds: function disabledSeconds() {
|
12 | return [];
|
13 | }
|
14 | };
|
15 |
|
16 | export function getTodayTime(value) {
|
17 | var today = moment();
|
18 | today.locale(value.locale()).utcOffset(value.utcOffset());
|
19 | return today;
|
20 | }
|
21 |
|
22 | export function getTitleString(value) {
|
23 | return value.format('LL');
|
24 | }
|
25 |
|
26 | export function getTodayTimeStr(value) {
|
27 | var today = getTodayTime(value);
|
28 | return getTitleString(today);
|
29 | }
|
30 |
|
31 | export function getMonthName(month) {
|
32 | var locale = month.locale();
|
33 | var localeData = month.localeData();
|
34 | return localeData[locale === 'zh-cn' ? 'months' : 'monthsShort'](month);
|
35 | }
|
36 |
|
37 | export function syncTime(from, to) {
|
38 | if (!moment.isMoment(from) || !moment.isMoment(to)) return;
|
39 | to.hour(from.hour());
|
40 | to.minute(from.minute());
|
41 | to.second(from.second());
|
42 | to.millisecond(from.millisecond());
|
43 | }
|
44 |
|
45 | export function getTimeConfig(value, disabledTime) {
|
46 | var disabledTimeConfig = disabledTime ? disabledTime(value) : {};
|
47 | disabledTimeConfig = _extends({}, defaultDisabledTime, disabledTimeConfig);
|
48 | return disabledTimeConfig;
|
49 | }
|
50 |
|
51 | export function isTimeValidByConfig(value, disabledTimeConfig) {
|
52 | var invalidTime = false;
|
53 | if (value) {
|
54 | var hour = value.hour();
|
55 | var minutes = value.minute();
|
56 | var seconds = value.second();
|
57 | var disabledHours = disabledTimeConfig.disabledHours();
|
58 | if (disabledHours.indexOf(hour) === -1) {
|
59 | var disabledMinutes = disabledTimeConfig.disabledMinutes(hour);
|
60 | if (disabledMinutes.indexOf(minutes) === -1) {
|
61 | var disabledSeconds = disabledTimeConfig.disabledSeconds(hour, minutes);
|
62 | invalidTime = disabledSeconds.indexOf(seconds) !== -1;
|
63 | } else {
|
64 | invalidTime = true;
|
65 | }
|
66 | } else {
|
67 | invalidTime = true;
|
68 | }
|
69 | }
|
70 | return !invalidTime;
|
71 | }
|
72 |
|
73 | export function isTimeValid(value, disabledTime) {
|
74 | var disabledTimeConfig = getTimeConfig(value, disabledTime);
|
75 | return isTimeValidByConfig(value, disabledTimeConfig);
|
76 | }
|
77 |
|
78 | export function isAllowedDate(value, disabledDate, disabledTime) {
|
79 | if (disabledDate) {
|
80 | if (disabledDate(value)) {
|
81 | return false;
|
82 | }
|
83 | }
|
84 | if (disabledTime) {
|
85 | if (!isTimeValid(value, disabledTime)) {
|
86 | return false;
|
87 | }
|
88 | }
|
89 | return true;
|
90 | }
|
91 |
|
92 | export function formatDate(value, format) {
|
93 | if (!value) {
|
94 | return '';
|
95 | }
|
96 |
|
97 | if (Array.isArray(format)) {
|
98 | format = format[0];
|
99 | }
|
100 |
|
101 | return value.format(format);
|
102 | } |
\ | No newline at end of file |