@zgfe/business-lib 1.2.51-ljy.2 → 1.2.51-ljy.20
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/datePicker/demo/index.js +3 -1
- package/es/datePickerOld/context.d.ts +0 -2
- package/es/datePickerOld/datePicker.d.ts +0 -1
- package/es/datePickerOld/datePicker.js +25 -21
- package/es/datePickerOld/demo/day.js +0 -1
- package/es/datePickerOld/demo/index.js +10 -6
- package/es/datePickerOld/index.js +36 -31
- package/es/datePickerOld/popoverContent.d.ts +2 -0
- package/es/datePickerOld/popoverContent.js +8 -4
- package/es/datePickerOld/shortcut.js +19 -58
- package/es/datePickerOld/types.d.ts +0 -1
- package/es/datePickerOld/utils.d.ts +19 -2
- package/es/datePickerOld/utils.js +23 -17
- package/package.json +2 -2
|
@@ -41,6 +41,8 @@ export default (function () {
|
|
|
41
41
|
key: "".concat(includeToday, "--2"),
|
|
42
42
|
onChange: handleChange,
|
|
43
43
|
includeToday: includeToday,
|
|
44
|
-
defaultValue: time
|
|
44
|
+
defaultValue: time,
|
|
45
|
+
selectRange: 365,
|
|
46
|
+
selectRangeUnit: "days"
|
|
45
47
|
}), /*#__PURE__*/React.createElement("p", null, "\u5F53\u524D\u503C\uFF1A", JSON.stringify(time))));
|
|
46
48
|
});
|
|
@@ -4,12 +4,10 @@ export interface DatePickerContextProps {
|
|
|
4
4
|
dateRange?: DatePickerTypes.Range;
|
|
5
5
|
setDateRange?: (range: DatePickerTypes.Range) => void;
|
|
6
6
|
includeToday?: boolean;
|
|
7
|
-
mode?: DatePickerTypes.Props['mode'];
|
|
8
7
|
currentType?: DatePickerTypes.Unit;
|
|
9
8
|
relative?: [number, number];
|
|
10
9
|
setRelative?: (relative?: [number, number]) => void;
|
|
11
10
|
setOpen?: Dispatch<SetStateAction<boolean>>;
|
|
12
|
-
setLabel?: Dispatch<SetStateAction<string>>;
|
|
13
11
|
}
|
|
14
12
|
declare const DatePickerContext: import("react").Context<DatePickerContextProps>;
|
|
15
13
|
export default DatePickerContext;
|
|
@@ -3,6 +3,5 @@ declare const BizDate: React.ForwardRefExoticComponent<{
|
|
|
3
3
|
selectRange?: number | undefined;
|
|
4
4
|
timeRangeOpen?: number | undefined;
|
|
5
5
|
selectRangeUnit?: "quarter" | "months" | "weeks" | "days" | undefined;
|
|
6
|
-
onOpenChange?: ((data: boolean) => void) | undefined;
|
|
7
6
|
} & React.RefAttributes<any>>;
|
|
8
7
|
export default BizDate;
|
|
@@ -17,10 +17,15 @@ import { isTodayInRange } from './utils';
|
|
|
17
17
|
import _ from 'lodash';
|
|
18
18
|
var RangePicker = DatePicker.RangePicker;
|
|
19
19
|
var BizDateBeyondRange = false;
|
|
20
|
+
var DateSingleMap = {
|
|
21
|
+
day: 1,
|
|
22
|
+
week: 7,
|
|
23
|
+
month: 30,
|
|
24
|
+
quarter: 91
|
|
25
|
+
};
|
|
20
26
|
var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
21
27
|
var selectRange = _ref.selectRange,
|
|
22
28
|
selectRangeUnit = _ref.selectRangeUnit,
|
|
23
|
-
_onOpenChange = _ref.onOpenChange,
|
|
24
29
|
timeRangeOpen = _ref.timeRangeOpen;
|
|
25
30
|
var _useContext = useContext(DatePickerContext),
|
|
26
31
|
includeToday = _useContext.includeToday,
|
|
@@ -39,7 +44,7 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
39
44
|
var min = moment(max).subtract(_timeRangeOpen, 'month');
|
|
40
45
|
return current > max || current < min;
|
|
41
46
|
}
|
|
42
|
-
var _useState = useState(),
|
|
47
|
+
var _useState = useState(currentType === DatePickerTypes.Unit.hour ? moment(dateRange === null || dateRange === void 0 ? void 0 : dateRange.begin, 'YYYY-MM-DD') : [moment(dateRange === null || dateRange === void 0 ? void 0 : dateRange.begin, 'YYYY-MM-DD'), moment(dateRange === null || dateRange === void 0 ? void 0 : dateRange.end, 'YYYY-MM-DD')]),
|
|
43
48
|
_useState2 = _slicedToArray(_useState, 2),
|
|
44
49
|
value = _useState2[0],
|
|
45
50
|
setValue = _useState2[1];
|
|
@@ -68,8 +73,20 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
68
73
|
useImperativeHandle(ref, function () {
|
|
69
74
|
return {
|
|
70
75
|
getDateValue: function getDateValue() {
|
|
76
|
+
var _value$, _value$2;
|
|
71
77
|
if (setRelative) setRelative(undefined);
|
|
72
|
-
|
|
78
|
+
if (BizDateBeyondRange) {
|
|
79
|
+
message.error("\u65F6\u95F4\u6BB5\u6700\u5927\u652F\u6301".concat(selectRange ? selectRange : 12).concat(selectRangeUnitText));
|
|
80
|
+
BizDateBeyondRange = false;
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return Array.isArray(value) ? {
|
|
84
|
+
begin: (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.format('YYYY-MM-DD'),
|
|
85
|
+
end: (_value$2 = value[1]) === null || _value$2 === void 0 ? void 0 : _value$2.format('YYYY-MM-DD')
|
|
86
|
+
} : {
|
|
87
|
+
begin: value === null || value === void 0 ? void 0 : value.format('YYYY-MM-DD'),
|
|
88
|
+
end: value === null || value === void 0 ? void 0 : value.format('YYYY-MM-DD')
|
|
89
|
+
};
|
|
73
90
|
}
|
|
74
91
|
};
|
|
75
92
|
});
|
|
@@ -81,7 +98,7 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
81
98
|
return /*#__PURE__*/React.createElement("div", {
|
|
82
99
|
className: "".concat(classPrefix, "-panel")
|
|
83
100
|
}, currentType === DatePickerTypes.Unit.hour ? /*#__PURE__*/React.createElement(DatePicker, {
|
|
84
|
-
value:
|
|
101
|
+
value: value,
|
|
85
102
|
allowClear: false,
|
|
86
103
|
inputReadOnly: true,
|
|
87
104
|
popupClassName: "".concat(classPrefix, "-drop"),
|
|
@@ -99,14 +116,11 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
99
116
|
open: true,
|
|
100
117
|
onChange: function onChange(date) {
|
|
101
118
|
if (date) {
|
|
102
|
-
setValue(
|
|
103
|
-
begin: date.format('YYYY-MM-DD'),
|
|
104
|
-
end: date.format('YYYY-MM-DD')
|
|
105
|
-
});
|
|
119
|
+
setValue(moment(date, 'YYYY-MM-DD'));
|
|
106
120
|
}
|
|
107
121
|
}
|
|
108
122
|
}) : /*#__PURE__*/React.createElement(RangePicker, {
|
|
109
|
-
value:
|
|
123
|
+
value: value,
|
|
110
124
|
allowClear: false,
|
|
111
125
|
popupClassName: "".concat(classPrefix, "-drop"),
|
|
112
126
|
inputReadOnly: true,
|
|
@@ -122,28 +136,18 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
122
136
|
getPopupContainer: function getPopupContainer(trigger) {
|
|
123
137
|
return trigger.parentNode;
|
|
124
138
|
},
|
|
125
|
-
onOpenChange: function onOpenChange(open) {
|
|
126
|
-
if (BizDateBeyondRange) {
|
|
127
|
-
message.error("\u65F6\u95F4\u6BB5\u6700\u5927\u652F\u6301".concat(selectRange ? selectRange : 12).concat(selectRangeUnitText));
|
|
128
|
-
BizDateBeyondRange = false;
|
|
129
|
-
}
|
|
130
|
-
_onOpenChange && _onOpenChange(open);
|
|
131
|
-
},
|
|
132
139
|
onChange: function onChange(value) {
|
|
133
140
|
var subtractDays = 0;
|
|
134
141
|
if (includeToday && value && value.length === 2 && isTodayInRange(value[0], value[1])) {
|
|
135
142
|
subtractDays = 1;
|
|
136
143
|
}
|
|
137
|
-
if (value && value.length === 2 && moment(_.cloneDeep(value[1]).subtract(subtractDays, 'days').format('YYYY-MM-DD')).diff(moment(value[0].format('YYYY-MM-DD')), selectRangeUnit || 'months') >= (selectRange ? selectRange : 12)) {
|
|
144
|
+
if (value && value.length === 2 && moment(_.cloneDeep(value[1]).subtract(subtractDays, 'days').format('YYYY-MM-DD')).diff(moment(value[0].format('YYYY-MM-DD')), selectRangeUnit || 'months') >= (selectRange ? Math.floor(selectRange / Reflect.get(DateSingleMap, selectRangeUnit)) : 12)) {
|
|
138
145
|
BizDateBeyondRange = true;
|
|
139
146
|
return;
|
|
140
147
|
}
|
|
141
148
|
if (value && value.length === 2) {
|
|
142
149
|
BizDateBeyondRange = false;
|
|
143
|
-
setValue(
|
|
144
|
-
begin: value[0].format('YYYY-MM-DD'),
|
|
145
|
-
end: value[1].format('YYYY-MM-DD')
|
|
146
|
-
});
|
|
150
|
+
setValue([moment(value[0], 'YYYY-MM-DD'), moment(value[1], 'YYYY-MM-DD')]);
|
|
147
151
|
}
|
|
148
152
|
}
|
|
149
153
|
}));
|
|
@@ -37,7 +37,6 @@ export default (function () {
|
|
|
37
37
|
defaultChecked: includeToday,
|
|
38
38
|
onChange: setIncludeToday
|
|
39
39
|
})), /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement(BizDatePicker, {
|
|
40
|
-
mode: "simple",
|
|
41
40
|
onChange: handleChange,
|
|
42
41
|
includeToday: true,
|
|
43
42
|
value: time,
|
|
@@ -8,11 +8,12 @@ import { BizDatePickerOld } from '@zgfe/business-lib';
|
|
|
8
8
|
import React, { useState } from 'react';
|
|
9
9
|
import '@zgfe/business-lib/es/assets/styles/resetAntd.less';
|
|
10
10
|
import { Divider, Space, Switch } from 'antd';
|
|
11
|
+
import { DatePickerTypes } from '../types';
|
|
11
12
|
export default (function () {
|
|
12
13
|
var _useState = useState({
|
|
13
|
-
begin: '2024-07-
|
|
14
|
-
end: '2024-08-
|
|
15
|
-
relative: [
|
|
14
|
+
begin: '2024-07-01',
|
|
15
|
+
end: '2024-08-09',
|
|
16
|
+
relative: [5, 0],
|
|
16
17
|
unit: 'week'
|
|
17
18
|
}),
|
|
18
19
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -34,8 +35,11 @@ export default (function () {
|
|
|
34
35
|
onChange: setIncludeToday
|
|
35
36
|
})), /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement(BizDatePickerOld, {
|
|
36
37
|
key: "".concat(includeToday, "--2"),
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
value: time,
|
|
39
|
+
defaultValue: time,
|
|
40
|
+
dateTypeList: [DatePickerTypes.Unit.hour, DatePickerTypes.Unit.day, DatePickerTypes.Unit.week, DatePickerTypes.Unit.month, DatePickerTypes.Unit.quarter, DatePickerTypes.Unit.custom],
|
|
41
|
+
selectRange: 365,
|
|
42
|
+
selectRangeUnit: "days",
|
|
43
|
+
onChange: handleChange
|
|
40
44
|
}), /*#__PURE__*/React.createElement("p", null, "\u5F53\u524D\u503C\uFF1A", JSON.stringify(time))));
|
|
41
45
|
});
|
|
@@ -17,7 +17,7 @@ import './styles/index.less';
|
|
|
17
17
|
import { Popover, Skeleton } from 'antd';
|
|
18
18
|
import DatePickerContext from './context';
|
|
19
19
|
import _ from 'lodash';
|
|
20
|
-
import { getDateRange, getTypeList } from './utils';
|
|
20
|
+
import { DateOptionMap, getDateRange, getTypeList } from './utils';
|
|
21
21
|
import PopoverContent from './popoverContent';
|
|
22
22
|
import IconFont from '../icon/iconFont';
|
|
23
23
|
import moment from 'moment';
|
|
@@ -34,10 +34,10 @@ var BizDatePicker = function BizDatePicker(_ref) {
|
|
|
34
34
|
var defaultValue = _ref.defaultValue,
|
|
35
35
|
value = _ref.value,
|
|
36
36
|
includeToday = _ref.includeToday,
|
|
37
|
-
mode = _ref.mode,
|
|
38
37
|
dateTypeList = _ref.dateTypeList,
|
|
39
38
|
onChange = _ref.onChange,
|
|
40
39
|
selectRange = _ref.selectRange,
|
|
40
|
+
selectRangeUnit = _ref.selectRangeUnit,
|
|
41
41
|
timeRangeOpen = _ref.timeRangeOpen;
|
|
42
42
|
var _useState = useState(false),
|
|
43
43
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -66,10 +66,6 @@ var BizDatePicker = function BizDatePicker(_ref) {
|
|
|
66
66
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
67
67
|
open = _useState14[0],
|
|
68
68
|
setOpen = _useState14[1];
|
|
69
|
-
var _useState15 = useState('个月'),
|
|
70
|
-
_useState16 = _slicedToArray(_useState15, 2),
|
|
71
|
-
label = _useState16[0],
|
|
72
|
-
setLabel = _useState16[1];
|
|
73
69
|
function init(initValue) {
|
|
74
70
|
setReady(false);
|
|
75
71
|
var list = dateTypeList === null || dateTypeList === void 0 ? void 0 : dateTypeList.map(function (type) {
|
|
@@ -85,22 +81,8 @@ var BizDatePicker = function BizDatePicker(_ref) {
|
|
|
85
81
|
setCurrentType(currentType);
|
|
86
82
|
if (initValue === null || initValue === void 0 ? void 0 : initValue.relative) {
|
|
87
83
|
setRelative(initValue.relative);
|
|
88
|
-
switch (currentType === null || currentType === void 0 ? void 0 : currentType.value) {
|
|
89
|
-
case 'day':
|
|
90
|
-
setLabel(initValue.relative[0] + '天');
|
|
91
|
-
break;
|
|
92
|
-
case 'week':
|
|
93
|
-
setLabel(initValue.relative[0] + '周');
|
|
94
|
-
break;
|
|
95
|
-
case 'month':
|
|
96
|
-
setLabel(initValue.relative[0] + '个月');
|
|
97
|
-
break;
|
|
98
|
-
case 'quarter':
|
|
99
|
-
setLabel(initValue.relative[0] + '个季度');
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
84
|
}
|
|
103
|
-
var typeList = getTypeList(currentType === null || currentType === void 0 ? void 0 : currentType.value,
|
|
85
|
+
var typeList = getTypeList(currentType === null || currentType === void 0 ? void 0 : currentType.value, includeToday);
|
|
104
86
|
var begin = initValue.begin,
|
|
105
87
|
end = initValue.end;
|
|
106
88
|
var item = typeList.find(function (item) {
|
|
@@ -147,6 +129,28 @@ var BizDatePicker = function BizDatePicker(_ref) {
|
|
|
147
129
|
}, 100);
|
|
148
130
|
});
|
|
149
131
|
}, [dateRange, currentType, relative, ready]);
|
|
132
|
+
var renderLabel = function renderLabel() {
|
|
133
|
+
var typeList = getTypeList(currentType === null || currentType === void 0 ? void 0 : currentType.value, includeToday);
|
|
134
|
+
if (relative) {
|
|
135
|
+
var type = typeList.find(function (item) {
|
|
136
|
+
return item.count == relative[0];
|
|
137
|
+
});
|
|
138
|
+
if (type) {
|
|
139
|
+
if ((currentType === null || currentType === void 0 ? void 0 : currentType.value) == DatePickerTypes.Unit.hour) {
|
|
140
|
+
return type.value;
|
|
141
|
+
}
|
|
142
|
+
return '最近' + type.value;
|
|
143
|
+
} else {
|
|
144
|
+
return '最近' + relative[0] + Reflect.get(DateOptionMap, currentType === null || currentType === void 0 ? void 0 : currentType.value);
|
|
145
|
+
}
|
|
146
|
+
} else {
|
|
147
|
+
if ((currentType === null || currentType === void 0 ? void 0 : currentType.value) == DatePickerTypes.Unit.hour) {
|
|
148
|
+
return dateRange === null || dateRange === void 0 ? void 0 : dateRange.begin;
|
|
149
|
+
} else {
|
|
150
|
+
return (dateRange === null || dateRange === void 0 ? void 0 : dateRange.begin) + ' 至 ' + (dateRange === null || dateRange === void 0 ? void 0 : dateRange.end);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
};
|
|
150
154
|
if (!typeList.length || !currentType || !ready) {
|
|
151
155
|
return /*#__PURE__*/React.createElement("div", {
|
|
152
156
|
className: classPrefix
|
|
@@ -159,16 +163,14 @@ var BizDatePicker = function BizDatePicker(_ref) {
|
|
|
159
163
|
}, /*#__PURE__*/React.createElement(DatePickerContext.Provider, {
|
|
160
164
|
value: {
|
|
161
165
|
includeToday: includeToday,
|
|
162
|
-
mode: mode,
|
|
163
166
|
dateRange: dateRange,
|
|
164
167
|
setDateRange: setDateRange,
|
|
165
168
|
currentType: currentType.value,
|
|
166
169
|
relative: relative,
|
|
167
170
|
setRelative: setRelative,
|
|
168
|
-
setOpen: setOpen
|
|
169
|
-
setLabel: setLabel
|
|
171
|
+
setOpen: setOpen
|
|
170
172
|
}
|
|
171
|
-
},
|
|
173
|
+
}, /*#__PURE__*/React.createElement(BizSelect, {
|
|
172
174
|
className: "".concat(classPrefix, "-type"),
|
|
173
175
|
theme: "secondary",
|
|
174
176
|
keyField: "value",
|
|
@@ -177,11 +179,9 @@ var BizDatePicker = function BizDatePicker(_ref) {
|
|
|
177
179
|
options: typeList,
|
|
178
180
|
onChange: function onChange(type) {
|
|
179
181
|
setCurrentType(type);
|
|
180
|
-
if (type.value === 'custom') {
|
|
181
|
-
setDateRange(getDateRange(DatePickerTypes.Unit.day, 7, includeToday));
|
|
182
|
-
}
|
|
183
182
|
if (type.value === 'hour') {
|
|
184
183
|
setDateRange(getDateRange(DatePickerTypes.Unit.day, 1, includeToday));
|
|
184
|
+
setRelative([1, 1]);
|
|
185
185
|
}
|
|
186
186
|
if (type.value === 'day') {
|
|
187
187
|
setDateRange(getDateRange(DatePickerTypes.Unit.day, 7, includeToday));
|
|
@@ -199,18 +199,24 @@ var BizDatePicker = function BizDatePicker(_ref) {
|
|
|
199
199
|
setDateRange(getDateRange(DatePickerTypes.Unit.quarter, 1, includeToday));
|
|
200
200
|
setRelative([1, includeToday ? 0 : 1]);
|
|
201
201
|
}
|
|
202
|
+
if (type.value == 'custom') {
|
|
203
|
+
setRelative(undefined);
|
|
204
|
+
}
|
|
202
205
|
}
|
|
203
206
|
}), /*#__PURE__*/React.createElement(Popover, {
|
|
204
207
|
overlayClassName: "".concat(classPrefix, "-input-popover"),
|
|
205
208
|
open: open,
|
|
206
209
|
placement: "bottomLeft",
|
|
207
210
|
trigger: "click",
|
|
211
|
+
destroyTooltipOnHide: true,
|
|
208
212
|
content: /*#__PURE__*/React.createElement(PopoverContent, {
|
|
209
213
|
setDateRange: setDateRange,
|
|
210
214
|
setOpen: setOpen,
|
|
211
215
|
selectRange: selectRange,
|
|
216
|
+
selectRangeUnit: selectRangeUnit,
|
|
212
217
|
timeRangeOpen: timeRangeOpen,
|
|
213
|
-
currentType: currentType.value
|
|
218
|
+
currentType: currentType.value,
|
|
219
|
+
relative: relative
|
|
214
220
|
}),
|
|
215
221
|
onOpenChange: function onOpenChange() {
|
|
216
222
|
return setOpen(!open);
|
|
@@ -225,14 +231,13 @@ var BizDatePicker = function BizDatePicker(_ref) {
|
|
|
225
231
|
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
226
232
|
type: "rili-2",
|
|
227
233
|
size: 14
|
|
228
|
-
}), /*#__PURE__*/React.createElement("span", null,
|
|
234
|
+
}), /*#__PURE__*/React.createElement("span", null, renderLabel())), /*#__PURE__*/React.createElement(IconFont, {
|
|
229
235
|
type: "xiangxia",
|
|
230
236
|
size: 14
|
|
231
237
|
})))));
|
|
232
238
|
};
|
|
233
239
|
BizDatePicker.defaultProps = {
|
|
234
240
|
includeToday: true,
|
|
235
|
-
mode: 'general',
|
|
236
241
|
dateTypeList: [DatePickerTypes.Unit.hour, DatePickerTypes.Unit.day, DatePickerTypes.Unit.week, DatePickerTypes.Unit.month]
|
|
237
242
|
};
|
|
238
243
|
export default BizDatePicker;
|
|
@@ -6,6 +6,8 @@ interface PopoverContent {
|
|
|
6
6
|
timeRangeOpen?: number;
|
|
7
7
|
selectRange?: number;
|
|
8
8
|
currentType?: DatePickerTypes.Unit;
|
|
9
|
+
relative?: any[];
|
|
10
|
+
selectRangeUnit?: 'days' | 'weeks' | 'months' | 'quarter';
|
|
9
11
|
}
|
|
10
12
|
declare const _default: (props: PopoverContent) => React.JSX.Element;
|
|
11
13
|
export default _default;
|
|
@@ -9,15 +9,17 @@ import React, { useRef } from 'react';
|
|
|
9
9
|
import PickerShortcut from './shortcut';
|
|
10
10
|
import BizDate from './datePicker';
|
|
11
11
|
import { classPrefix } from '.';
|
|
12
|
+
import { DatePickerTypes } from './types';
|
|
12
13
|
export default (function (props) {
|
|
13
14
|
var selectRange = props.selectRange,
|
|
14
15
|
setDateRange = props.setDateRange,
|
|
15
16
|
setOpen = props.setOpen,
|
|
16
|
-
currentType = props.currentType
|
|
17
|
+
currentType = props.currentType,
|
|
18
|
+
relative = props.relative;
|
|
17
19
|
var ref = useRef();
|
|
18
20
|
return /*#__PURE__*/React.createElement(Tabs, {
|
|
19
|
-
defaultActiveKey:
|
|
20
|
-
}, /*#__PURE__*/React.createElement(Tabs.TabPane, {
|
|
21
|
+
defaultActiveKey: relative ? '1' : '2'
|
|
22
|
+
}, currentType != DatePickerTypes.Unit.custom && /*#__PURE__*/React.createElement(Tabs.TabPane, {
|
|
21
23
|
tab: "\u6700\u8FD1",
|
|
22
24
|
key: "1"
|
|
23
25
|
}, /*#__PURE__*/React.createElement(PickerShortcut, {
|
|
@@ -40,7 +42,9 @@ export default (function (props) {
|
|
|
40
42
|
if (ref.current) {
|
|
41
43
|
var _ref$current;
|
|
42
44
|
var dateValue = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getDateValue();
|
|
43
|
-
|
|
45
|
+
if (dateValue === null || dateValue === void 0 ? void 0 : dateValue.begin) {
|
|
46
|
+
setDateRange(dateValue);
|
|
47
|
+
}
|
|
44
48
|
setOpen(false);
|
|
45
49
|
}
|
|
46
50
|
}
|
|
@@ -8,29 +8,19 @@ import React, { useContext, useEffect, useState } from 'react';
|
|
|
8
8
|
import { DatePickerTypes } from './types';
|
|
9
9
|
import { classPrefix } from '.';
|
|
10
10
|
import DatePickerContext from './context';
|
|
11
|
-
import
|
|
12
|
-
import { getDateRange, getTypeList } from './utils';
|
|
11
|
+
import { DateMaxMap, DateOptionMap, DateSingleMap, getDateRange, getTypeList } from './utils';
|
|
13
12
|
import { Button, InputNumber } from 'antd';
|
|
14
|
-
var DateOptionMap = {
|
|
15
|
-
day: '天',
|
|
16
|
-
week: '周',
|
|
17
|
-
month: '月',
|
|
18
|
-
quarter: '季度'
|
|
19
|
-
};
|
|
20
13
|
var PickerShortcut = function PickerShortcut(_ref) {
|
|
21
14
|
var selectRange = _ref.selectRange;
|
|
22
15
|
var _useContext = useContext(DatePickerContext),
|
|
23
16
|
currentType = _useContext.currentType,
|
|
24
|
-
mode = _useContext.mode,
|
|
25
17
|
includeToday = _useContext.includeToday,
|
|
26
|
-
dateRange = _useContext.dateRange,
|
|
27
18
|
relative = _useContext.relative,
|
|
28
19
|
setDateRange = _useContext.setDateRange,
|
|
29
20
|
setRelative = _useContext.setRelative,
|
|
30
|
-
setLabel = _useContext.setLabel,
|
|
31
21
|
setOpen = _useContext.setOpen;
|
|
32
|
-
var list = getTypeList(currentType,
|
|
33
|
-
var _useState = useState(
|
|
22
|
+
var list = getTypeList(currentType, includeToday);
|
|
23
|
+
var _useState = useState(),
|
|
34
24
|
_useState2 = _slicedToArray(_useState, 2),
|
|
35
25
|
active = _useState2[0],
|
|
36
26
|
setActive = _useState2[1];
|
|
@@ -39,68 +29,35 @@ var PickerShortcut = function PickerShortcut(_ref) {
|
|
|
39
29
|
numbers = _useState4[0],
|
|
40
30
|
setNumbers = _useState4[1];
|
|
41
31
|
useEffect(function () {
|
|
42
|
-
list = getTypeList(currentType,
|
|
43
|
-
if (
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
setLabel === null || setLabel === void 0 ? void 0 : setLabel(_active === null || _active === void 0 ? void 0 : _active.value);
|
|
47
|
-
if (_active && setRelative) {
|
|
48
|
-
setRelative([_active === null || _active === void 0 ? void 0 : _active.count, includeToday ? 0 : 1]);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}, [currentType, mode, includeToday]);
|
|
52
|
-
useEffect(function () {
|
|
53
|
-
if (!dateRange || !dateRange.begin || !dateRange.end) return;
|
|
54
|
-
var begin = dateRange.begin,
|
|
55
|
-
end = dateRange.end;
|
|
56
|
-
var item = list.find(function (item) {
|
|
57
|
-
var match = getDateRange(currentType, item.count, includeToday);
|
|
58
|
-
return moment(begin).isSame(match.begin) && moment(end).isSame(match.end);
|
|
59
|
-
});
|
|
60
|
-
setActive(item === null || item === void 0 ? void 0 : item.count);
|
|
61
|
-
setLabel === null || setLabel === void 0 ? void 0 : setLabel(item === null || item === void 0 ? void 0 : item.value);
|
|
62
|
-
if (relative && (!item || item.count !== relative[0]) && setRelative) {
|
|
63
|
-
setRelative(undefined);
|
|
32
|
+
list = getTypeList(currentType, includeToday);
|
|
33
|
+
if (relative) {
|
|
34
|
+
setActive(relative[0]);
|
|
35
|
+
setNumbers(relative[0]);
|
|
64
36
|
}
|
|
65
|
-
}, [
|
|
66
|
-
|
|
67
|
-
if (active === undefined || !setDateRange) return;
|
|
68
|
-
setDateRange(getDateRange(currentType, active, includeToday));
|
|
69
|
-
setNumbers(active);
|
|
70
|
-
}, [active]);
|
|
71
|
-
useEffect(function () {
|
|
72
|
-
if (!relative || !setDateRange) return;
|
|
73
|
-
var _relative = _slicedToArray(relative, 1),
|
|
74
|
-
count = _relative[0];
|
|
75
|
-
var item = list.find(function (item) {
|
|
76
|
-
return item.count === count;
|
|
77
|
-
});
|
|
78
|
-
setActive(item === null || item === void 0 ? void 0 : item.count);
|
|
79
|
-
setLabel === null || setLabel === void 0 ? void 0 : setLabel(item === null || item === void 0 ? void 0 : item.value);
|
|
80
|
-
setDateRange(getDateRange(currentType, count, includeToday));
|
|
81
|
-
}, [relative]);
|
|
37
|
+
}, [currentType, includeToday]);
|
|
38
|
+
var max = selectRange ? Math.floor(selectRange / Reflect.get(DateSingleMap, currentType)) : Reflect.get(DateMaxMap, currentType);
|
|
82
39
|
return /*#__PURE__*/React.createElement("div", {
|
|
83
40
|
className: "".concat(classPrefix, "-shortcut")
|
|
84
41
|
}, /*#__PURE__*/React.createElement("div", {
|
|
85
42
|
className: "".concat(classPrefix, "-list")
|
|
86
|
-
},
|
|
43
|
+
}, list.map(function (item, index) {
|
|
87
44
|
return /*#__PURE__*/React.createElement("div", {
|
|
88
45
|
key: index,
|
|
89
46
|
className: "".concat(classPrefix, "-item ").concat(active === item.count ? 'active' : ''),
|
|
90
47
|
onClick: function onClick() {
|
|
91
48
|
setActive(item.count);
|
|
92
|
-
setLabel === null || setLabel === void 0 ? void 0 : setLabel(item === null || item === void 0 ? void 0 : item.value);
|
|
93
49
|
if (setRelative) setRelative([item.count, includeToday ? 0 : 1]);
|
|
50
|
+
setDateRange === null || setDateRange === void 0 ? void 0 : setDateRange(getDateRange(currentType, item.count, includeToday));
|
|
94
51
|
setOpen === null || setOpen === void 0 ? void 0 : setOpen(false);
|
|
95
52
|
}
|
|
96
53
|
}, item.value);
|
|
97
|
-
}))
|
|
54
|
+
})), ![DatePickerTypes.Unit.hour, DatePickerTypes.Unit.quarter].includes(currentType) && /*#__PURE__*/React.createElement("div", {
|
|
98
55
|
className: "".concat(classPrefix, "-list-relative")
|
|
99
56
|
}, /*#__PURE__*/React.createElement("div", {
|
|
100
57
|
className: "".concat(classPrefix, "-list-relative-content")
|
|
101
58
|
}, /*#__PURE__*/React.createElement("span", null, "\u8FD1"), /*#__PURE__*/React.createElement(InputNumber, {
|
|
102
59
|
min: 1,
|
|
103
|
-
max:
|
|
60
|
+
max: max,
|
|
104
61
|
controls: false,
|
|
105
62
|
style: {
|
|
106
63
|
width: '58px'
|
|
@@ -112,8 +69,12 @@ var PickerShortcut = function PickerShortcut(_ref) {
|
|
|
112
69
|
}), /*#__PURE__*/React.createElement("span", null, Reflect.get(DateOptionMap, currentType))), /*#__PURE__*/React.createElement(Button, {
|
|
113
70
|
type: "primary",
|
|
114
71
|
onClick: function onClick() {
|
|
115
|
-
if (!
|
|
116
|
-
|
|
72
|
+
if (!numbers) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
var date = getDateRange(currentType, numbers, includeToday);
|
|
76
|
+
setDateRange === null || setDateRange === void 0 ? void 0 : setDateRange(date);
|
|
77
|
+
setRelative === null || setRelative === void 0 ? void 0 : setRelative([numbers, includeToday ? 0 : 1]);
|
|
117
78
|
setOpen === null || setOpen === void 0 ? void 0 : setOpen(false);
|
|
118
79
|
}
|
|
119
80
|
}, "\u786E\u8BA4")));
|
|
@@ -24,7 +24,6 @@ export declare namespace DatePickerTypes {
|
|
|
24
24
|
selectRangeUnit?: 'days' | 'weeks' | 'months' | 'quarter';
|
|
25
25
|
onChange?: (data: Value) => void;
|
|
26
26
|
onOpenChange?: (data: boolean) => void;
|
|
27
|
-
mode?: 'general' | 'simple' | 'superSimple';
|
|
28
27
|
dateTypeList?: Unit[];
|
|
29
28
|
}
|
|
30
29
|
interface Option {
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
import moment from 'moment';
|
|
2
2
|
import { DatePickerTypes } from './types';
|
|
3
|
-
import { DatePickerContextProps } from './context';
|
|
4
3
|
export declare const getDateRange: (type: DatePickerTypes.Unit, count: number, includeToday: boolean) => {
|
|
5
4
|
begin: string;
|
|
6
5
|
end: string;
|
|
7
6
|
};
|
|
8
7
|
export declare const isTodayInRange: (_startDate: moment.Moment, _endDate: moment.Moment) => boolean;
|
|
9
|
-
export declare const getTypeList: (currentType: DatePickerTypes.Unit,
|
|
8
|
+
export declare const getTypeList: (currentType: DatePickerTypes.Unit, includeToday: boolean) => DatePickerTypes.ListOption[];
|
|
9
|
+
export declare const DateOptionMap: {
|
|
10
|
+
day: string;
|
|
11
|
+
week: string;
|
|
12
|
+
month: string;
|
|
13
|
+
quarter: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const DateMaxMap: {
|
|
16
|
+
day: number;
|
|
17
|
+
week: number;
|
|
18
|
+
month: number;
|
|
19
|
+
quarter: number;
|
|
20
|
+
};
|
|
21
|
+
export declare const DateSingleMap: {
|
|
22
|
+
day: number;
|
|
23
|
+
week: number;
|
|
24
|
+
month: number;
|
|
25
|
+
quarter: number;
|
|
26
|
+
};
|
|
@@ -2,7 +2,6 @@ import moment from 'moment';
|
|
|
2
2
|
import { DatePickerTypes } from './types';
|
|
3
3
|
function getAbsoluteDate(unit, count, maxDate) {
|
|
4
4
|
var res = {};
|
|
5
|
-
var dayTime = 24 * 60 * 60 * 1000;
|
|
6
5
|
switch (unit) {
|
|
7
6
|
case DatePickerTypes.Unit.hour:
|
|
8
7
|
res.endDate = res.startDate = moment().subtract(count, 'days').toDate();
|
|
@@ -13,20 +12,15 @@ function getAbsoluteDate(unit, count, maxDate) {
|
|
|
13
12
|
break;
|
|
14
13
|
case DatePickerTypes.Unit.week:
|
|
15
14
|
res.endDate = maxDate;
|
|
16
|
-
|
|
17
|
-
res.startDate = new Date(firstOfWeek.getTime() - count * 7 * dayTime);
|
|
15
|
+
res.startDate = moment(maxDate).subtract(count, 'weeks').toDate();
|
|
18
16
|
break;
|
|
19
17
|
case DatePickerTypes.Unit.month:
|
|
20
18
|
res.endDate = maxDate;
|
|
21
|
-
|
|
22
|
-
firstOfMonth.setMonth(firstOfMonth.getMonth() - count);
|
|
23
|
-
res.startDate = new Date(firstOfMonth);
|
|
19
|
+
res.startDate = moment(maxDate).subtract(count, 'months').toDate();
|
|
24
20
|
break;
|
|
25
21
|
case DatePickerTypes.Unit.quarter:
|
|
26
22
|
res.endDate = maxDate;
|
|
27
|
-
|
|
28
|
-
firstOfQuarter.setMonth(firstOfQuarter.getMonth() - firstOfQuarter.getMonth() % 3 - 3 * (count - 1));
|
|
29
|
-
res.startDate = new Date(firstOfQuarter);
|
|
23
|
+
res.startDate = moment(maxDate).subtract(count, 'quarters').toDate();
|
|
30
24
|
break;
|
|
31
25
|
}
|
|
32
26
|
return res;
|
|
@@ -45,7 +39,7 @@ export var isTodayInRange = function isTodayInRange(_startDate, _endDate) {
|
|
|
45
39
|
var dateToCheck = moment(new Date()).format('x');
|
|
46
40
|
return dateToCheck >= startDate && dateToCheck <= endDate;
|
|
47
41
|
};
|
|
48
|
-
export var getTypeList = function getTypeList(currentType,
|
|
42
|
+
export var getTypeList = function getTypeList(currentType, includeToday) {
|
|
49
43
|
var _shortcuts$find;
|
|
50
44
|
var shortcuts = [{
|
|
51
45
|
label: '按小时',
|
|
@@ -61,12 +55,6 @@ export var getTypeList = function getTypeList(currentType, mode, includeToday) {
|
|
|
61
55
|
label: '按天',
|
|
62
56
|
value: DatePickerTypes.Unit.day,
|
|
63
57
|
children: [{
|
|
64
|
-
value: '今天',
|
|
65
|
-
count: 0
|
|
66
|
-
}, {
|
|
67
|
-
value: '昨天',
|
|
68
|
-
count: 1
|
|
69
|
-
}, {
|
|
70
58
|
value: '7天',
|
|
71
59
|
count: 7
|
|
72
60
|
}, {
|
|
@@ -120,10 +108,28 @@ export var getTypeList = function getTypeList(currentType, mode, includeToday) {
|
|
|
120
108
|
return item.value === currentType;
|
|
121
109
|
})) === null || _shortcuts$find === void 0 ? void 0 : _shortcuts$find.children) || []).filter(function (item) {
|
|
122
110
|
if (currentType === 'day') {
|
|
123
|
-
if (
|
|
111
|
+
if (!includeToday && (item.count === 0 || item.count === 1)) return false;
|
|
124
112
|
return true;
|
|
125
113
|
}
|
|
126
114
|
return true;
|
|
127
115
|
});
|
|
128
116
|
return list;
|
|
117
|
+
};
|
|
118
|
+
export var DateOptionMap = {
|
|
119
|
+
day: '天',
|
|
120
|
+
week: '周',
|
|
121
|
+
month: '个月',
|
|
122
|
+
quarter: '个季度'
|
|
123
|
+
};
|
|
124
|
+
export var DateMaxMap = {
|
|
125
|
+
day: 365,
|
|
126
|
+
week: 52,
|
|
127
|
+
month: 12,
|
|
128
|
+
quarter: 4
|
|
129
|
+
};
|
|
130
|
+
export var DateSingleMap = {
|
|
131
|
+
day: 1,
|
|
132
|
+
week: 7,
|
|
133
|
+
month: 30,
|
|
134
|
+
quarter: 120
|
|
129
135
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zgfe/business-lib",
|
|
3
|
-
"version": "1.2.51-ljy.
|
|
3
|
+
"version": "1.2.51-ljy.20",
|
|
4
4
|
"module": "es/index.js",
|
|
5
5
|
"typings": "es/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"react": "^16.12.0 || ^17.0.0",
|
|
56
56
|
"yorkie": "^2.0.0"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "03e247c313adc0f6a0ebbdb8dd28d2f6bc319aca",
|
|
59
59
|
"gitHooks": {
|
|
60
60
|
"pre-commit": "lint-staged"
|
|
61
61
|
}
|