assui 2.1.31 → 2.1.34
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/label-customize-range-picker/index.d.ts +2 -0
- package/es/label-customize-range-picker/index.js +71 -7
- package/es/label-customize-range-picker/style/index.css +6 -0
- package/es/label-customize-range-picker/style/index.less +8 -0
- package/es/label-range-picker/index.js +1 -0
- package/lib/label-customize-range-picker/index.d.ts +2 -0
- package/lib/label-customize-range-picker/index.js +73 -7
- package/lib/label-customize-range-picker/style/index.css +6 -0
- package/lib/label-customize-range-picker/style/index.less +8 -0
- package/lib/label-range-picker/index.js +1 -0
- package/package.json +4 -4
|
@@ -12,6 +12,8 @@ export interface LabelCustomizeRangePickerProps extends Omit<LabelRangePickerPro
|
|
|
12
12
|
customizeTimeList?: dateTypeEnum[];
|
|
13
13
|
rangePickerType?: 'label' | 'origin';
|
|
14
14
|
label?: React.ReactNode;
|
|
15
|
+
/** 最大时间范围 */
|
|
16
|
+
maxScope?: number;
|
|
15
17
|
}
|
|
16
18
|
declare const LabelCustomizeRangePicker: (props: LabelCustomizeRangePickerProps) => JSX.Element;
|
|
17
19
|
export default LabelCustomizeRangePicker;
|
|
@@ -59,6 +59,8 @@ import Radio from 'antd/lib/radio';
|
|
|
59
59
|
import Checkbox from 'antd/lib/checkbox';
|
|
60
60
|
import DatePicker from 'antd/lib/date-picker';
|
|
61
61
|
import useControllableValue from 'ahooks/lib/useControllableValue';
|
|
62
|
+
import moment from 'moment';
|
|
63
|
+
import omit from 'lodash/omit';
|
|
62
64
|
import getDefaultRadioList from './defaultRadioList';
|
|
63
65
|
import LabelRangePicker from '../label-range-picker';
|
|
64
66
|
import LocaleContext from '../config-provider/context';
|
|
@@ -71,7 +73,8 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
71
73
|
_a = props.rangePickerType,
|
|
72
74
|
rangePickerType = _a === void 0 ? 'label' : _a,
|
|
73
75
|
label = props.label,
|
|
74
|
-
|
|
76
|
+
maxScope = props.maxScope,
|
|
77
|
+
options = __rest(props, ["customizeTimeList", "radioList", "rangePickerType", "label", "maxScope"]);
|
|
75
78
|
|
|
76
79
|
var _b = __read(useControllableValue(props), 2),
|
|
77
80
|
date = _b[0],
|
|
@@ -92,7 +95,7 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
92
95
|
var messages = useContext(LocaleContext);
|
|
93
96
|
var dataSource = radioList !== null && radioList !== void 0 ? radioList : getDefaultRadioList(messages);
|
|
94
97
|
useEffect(function () {
|
|
95
|
-
var
|
|
98
|
+
var filterItemList = dataSource.filter(function (item) {
|
|
96
99
|
if (!date) return false;
|
|
97
100
|
|
|
98
101
|
var _a = __read(item.value, 2),
|
|
@@ -109,8 +112,21 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
109
112
|
|
|
110
113
|
return false;
|
|
111
114
|
});
|
|
112
|
-
|
|
113
|
-
|
|
115
|
+
|
|
116
|
+
if (filterItemList.length === 0) {
|
|
117
|
+
setRadioKey(null);
|
|
118
|
+
} else if (filterItemList.length > 1) {
|
|
119
|
+
var findItem = filterItemList.find(function (item) {
|
|
120
|
+
return item.key === radioKey;
|
|
121
|
+
});
|
|
122
|
+
var resutRadioKey = findItem ? findItem.key : filterItemList[0].key;
|
|
123
|
+
setRadioKey(resutRadioKey);
|
|
124
|
+
} else {
|
|
125
|
+
var _a = __read(filterItemList, 1),
|
|
126
|
+
item = _a[0];
|
|
127
|
+
|
|
128
|
+
setRadioKey(item.key);
|
|
129
|
+
}
|
|
114
130
|
}, [date]);
|
|
115
131
|
|
|
116
132
|
var onDiyTimeChange = function onDiyTimeChange(event) {
|
|
@@ -119,7 +135,47 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
119
135
|
};
|
|
120
136
|
|
|
121
137
|
var onDateChange = function onDateChange(nextValue) {
|
|
122
|
-
|
|
138
|
+
var _a, _b;
|
|
139
|
+
|
|
140
|
+
var _c = __read(nextValue || [], 2),
|
|
141
|
+
start = _c[0],
|
|
142
|
+
end = _c[1];
|
|
143
|
+
|
|
144
|
+
var nextStartDate = (_a = start === null || start === void 0 ? void 0 : start.clone().startOf('day')) !== null && _a !== void 0 ? _a : null;
|
|
145
|
+
var nextEndDate = (_b = end === null || end === void 0 ? void 0 : end.clone().endOf('day')) !== null && _b !== void 0 ? _b : null;
|
|
146
|
+
|
|
147
|
+
if (!nextStartDate && !nextEndDate) {
|
|
148
|
+
return setDate(undefined);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
if (!maxScope) {
|
|
152
|
+
return setDate([nextStartDate, nextEndDate]);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
var _d = __read(date || [], 1),
|
|
156
|
+
startDate = _d[0];
|
|
157
|
+
|
|
158
|
+
if (nextStartDate && nextEndDate) {
|
|
159
|
+
var isChangeStartData = !(startDate === null || startDate === void 0 ? void 0 : startDate.clone().isSame(nextStartDate, 'day'));
|
|
160
|
+
|
|
161
|
+
if (isChangeStartData) {
|
|
162
|
+
if (nextEndDate.diff(nextStartDate, 'day') > maxScope) {
|
|
163
|
+
nextEndDate = nextStartDate.clone().add(maxScope - 1, 'day');
|
|
164
|
+
}
|
|
165
|
+
} else if (nextEndDate.diff(nextStartDate, 'day') > maxScope) {
|
|
166
|
+
nextStartDate = nextEndDate.clone().subtract(maxScope - 1, 'day');
|
|
167
|
+
}
|
|
168
|
+
} else if (!nextStartDate && nextEndDate) {
|
|
169
|
+
nextStartDate = nextEndDate.clone().subtract(maxScope - 1, 'day');
|
|
170
|
+
} else if (nextStartDate && !nextEndDate) {
|
|
171
|
+
nextEndDate = nextStartDate.clone().add(maxScope - 1, 'day');
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
if (nextStartDate && nextEndDate) {
|
|
175
|
+
return setDate([nextStartDate, nextEndDate]);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
return setDate([nextStartDate, nextEndDate]);
|
|
123
179
|
};
|
|
124
180
|
|
|
125
181
|
var onRadioChange = function onRadioChange(event) {
|
|
@@ -135,6 +191,14 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
135
191
|
var list = radioList !== null && radioList !== void 0 ? radioList : getDefaultRadioList(messages).filter(function (item) {
|
|
136
192
|
return customizeTimeList ? customizeTimeList.includes(item.key) : true;
|
|
137
193
|
});
|
|
194
|
+
var resultList = maxScope ? list.filter(function (item) {
|
|
195
|
+
var _a = __read(item.value, 2),
|
|
196
|
+
startTime = _a[0],
|
|
197
|
+
entTime = _a[1];
|
|
198
|
+
|
|
199
|
+
var space = moment.duration(entTime.diff(startTime)).asDays();
|
|
200
|
+
return space <= maxScope;
|
|
201
|
+
}) : list;
|
|
138
202
|
|
|
139
203
|
var panelRender = function panelRender(panel) {
|
|
140
204
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -154,7 +218,7 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
154
218
|
}, /*#__PURE__*/React.createElement(Radio.Group, {
|
|
155
219
|
onChange: onRadioChange,
|
|
156
220
|
value: radioKey
|
|
157
|
-
},
|
|
221
|
+
}, resultList.map(function (_a) {
|
|
158
222
|
var key = _a.key,
|
|
159
223
|
text = _a.text;
|
|
160
224
|
return /*#__PURE__*/React.createElement(Radio, {
|
|
@@ -179,7 +243,7 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
179
243
|
};
|
|
180
244
|
return rangePickerType === 'label' ? /*#__PURE__*/React.createElement(LabelRangePicker, __assign({
|
|
181
245
|
label: label
|
|
182
|
-
}, baseOptions, options)) : /*#__PURE__*/React.createElement(RangePicker, __assign({}, baseOptions, options));
|
|
246
|
+
}, baseOptions, omit(options, 'onChange'))) : /*#__PURE__*/React.createElement(RangePicker, __assign({}, baseOptions, omit(options, 'onChange')));
|
|
183
247
|
};
|
|
184
248
|
|
|
185
249
|
export default LabelCustomizeRangePicker;
|
|
@@ -1793,6 +1793,12 @@ html {
|
|
|
1793
1793
|
padding: 8px 11px 6px;
|
|
1794
1794
|
border-bottom: 1px solid #f5f6fa;
|
|
1795
1795
|
}
|
|
1796
|
+
.label-customize-range-picker-panel .check-wrapper .ant-checkbox-wrapper {
|
|
1797
|
+
pointer-events: none;
|
|
1798
|
+
}
|
|
1799
|
+
.label-customize-range-picker-panel .check-wrapper .ant-checkbox-input {
|
|
1800
|
+
pointer-events: auto;
|
|
1801
|
+
}
|
|
1796
1802
|
.label-customize-range-picker-panel .pick-box {
|
|
1797
1803
|
display: flex;
|
|
1798
1804
|
justify-content: space-between;
|
|
@@ -12,6 +12,8 @@ export interface LabelCustomizeRangePickerProps extends Omit<LabelRangePickerPro
|
|
|
12
12
|
customizeTimeList?: dateTypeEnum[];
|
|
13
13
|
rangePickerType?: 'label' | 'origin';
|
|
14
14
|
label?: React.ReactNode;
|
|
15
|
+
/** 最大时间范围 */
|
|
16
|
+
maxScope?: number;
|
|
15
17
|
}
|
|
16
18
|
declare const LabelCustomizeRangePicker: (props: LabelCustomizeRangePickerProps) => JSX.Element;
|
|
17
19
|
export default LabelCustomizeRangePicker;
|
|
@@ -116,6 +116,10 @@ var date_picker_1 = __importDefault(require("antd/lib/date-picker"));
|
|
|
116
116
|
|
|
117
117
|
var useControllableValue_1 = __importDefault(require("ahooks/lib/useControllableValue"));
|
|
118
118
|
|
|
119
|
+
var moment_1 = __importDefault(require("moment"));
|
|
120
|
+
|
|
121
|
+
var omit_1 = __importDefault(require("lodash/omit"));
|
|
122
|
+
|
|
119
123
|
var defaultRadioList_1 = __importDefault(require("./defaultRadioList"));
|
|
120
124
|
|
|
121
125
|
var label_range_picker_1 = __importDefault(require("../label-range-picker"));
|
|
@@ -132,7 +136,8 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
132
136
|
_a = props.rangePickerType,
|
|
133
137
|
rangePickerType = _a === void 0 ? 'label' : _a,
|
|
134
138
|
label = props.label,
|
|
135
|
-
|
|
139
|
+
maxScope = props.maxScope,
|
|
140
|
+
options = __rest(props, ["customizeTimeList", "radioList", "rangePickerType", "label", "maxScope"]);
|
|
136
141
|
|
|
137
142
|
var _b = __read((0, useControllableValue_1["default"])(props), 2),
|
|
138
143
|
date = _b[0],
|
|
@@ -153,7 +158,7 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
153
158
|
var messages = (0, react_1.useContext)(context_1["default"]);
|
|
154
159
|
var dataSource = radioList !== null && radioList !== void 0 ? radioList : (0, defaultRadioList_1["default"])(messages);
|
|
155
160
|
(0, react_1.useEffect)(function () {
|
|
156
|
-
var
|
|
161
|
+
var filterItemList = dataSource.filter(function (item) {
|
|
157
162
|
if (!date) return false;
|
|
158
163
|
|
|
159
164
|
var _a = __read(item.value, 2),
|
|
@@ -170,8 +175,21 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
170
175
|
|
|
171
176
|
return false;
|
|
172
177
|
});
|
|
173
|
-
|
|
174
|
-
|
|
178
|
+
|
|
179
|
+
if (filterItemList.length === 0) {
|
|
180
|
+
setRadioKey(null);
|
|
181
|
+
} else if (filterItemList.length > 1) {
|
|
182
|
+
var findItem = filterItemList.find(function (item) {
|
|
183
|
+
return item.key === radioKey;
|
|
184
|
+
});
|
|
185
|
+
var resutRadioKey = findItem ? findItem.key : filterItemList[0].key;
|
|
186
|
+
setRadioKey(resutRadioKey);
|
|
187
|
+
} else {
|
|
188
|
+
var _a = __read(filterItemList, 1),
|
|
189
|
+
item = _a[0];
|
|
190
|
+
|
|
191
|
+
setRadioKey(item.key);
|
|
192
|
+
}
|
|
175
193
|
}, [date]);
|
|
176
194
|
|
|
177
195
|
var onDiyTimeChange = function onDiyTimeChange(event) {
|
|
@@ -180,7 +198,47 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
180
198
|
};
|
|
181
199
|
|
|
182
200
|
var onDateChange = function onDateChange(nextValue) {
|
|
183
|
-
|
|
201
|
+
var _a, _b;
|
|
202
|
+
|
|
203
|
+
var _c = __read(nextValue || [], 2),
|
|
204
|
+
start = _c[0],
|
|
205
|
+
end = _c[1];
|
|
206
|
+
|
|
207
|
+
var nextStartDate = (_a = start === null || start === void 0 ? void 0 : start.clone().startOf('day')) !== null && _a !== void 0 ? _a : null;
|
|
208
|
+
var nextEndDate = (_b = end === null || end === void 0 ? void 0 : end.clone().endOf('day')) !== null && _b !== void 0 ? _b : null;
|
|
209
|
+
|
|
210
|
+
if (!nextStartDate && !nextEndDate) {
|
|
211
|
+
return setDate(undefined);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
if (!maxScope) {
|
|
215
|
+
return setDate([nextStartDate, nextEndDate]);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
var _d = __read(date || [], 1),
|
|
219
|
+
startDate = _d[0];
|
|
220
|
+
|
|
221
|
+
if (nextStartDate && nextEndDate) {
|
|
222
|
+
var isChangeStartData = !(startDate === null || startDate === void 0 ? void 0 : startDate.clone().isSame(nextStartDate, 'day'));
|
|
223
|
+
|
|
224
|
+
if (isChangeStartData) {
|
|
225
|
+
if (nextEndDate.diff(nextStartDate, 'day') > maxScope) {
|
|
226
|
+
nextEndDate = nextStartDate.clone().add(maxScope - 1, 'day');
|
|
227
|
+
}
|
|
228
|
+
} else if (nextEndDate.diff(nextStartDate, 'day') > maxScope) {
|
|
229
|
+
nextStartDate = nextEndDate.clone().subtract(maxScope - 1, 'day');
|
|
230
|
+
}
|
|
231
|
+
} else if (!nextStartDate && nextEndDate) {
|
|
232
|
+
nextStartDate = nextEndDate.clone().subtract(maxScope - 1, 'day');
|
|
233
|
+
} else if (nextStartDate && !nextEndDate) {
|
|
234
|
+
nextEndDate = nextStartDate.clone().add(maxScope - 1, 'day');
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
if (nextStartDate && nextEndDate) {
|
|
238
|
+
return setDate([nextStartDate, nextEndDate]);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
return setDate([nextStartDate, nextEndDate]);
|
|
184
242
|
};
|
|
185
243
|
|
|
186
244
|
var onRadioChange = function onRadioChange(event) {
|
|
@@ -196,6 +254,14 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
196
254
|
var list = radioList !== null && radioList !== void 0 ? radioList : (0, defaultRadioList_1["default"])(messages).filter(function (item) {
|
|
197
255
|
return customizeTimeList ? customizeTimeList.includes(item.key) : true;
|
|
198
256
|
});
|
|
257
|
+
var resultList = maxScope ? list.filter(function (item) {
|
|
258
|
+
var _a = __read(item.value, 2),
|
|
259
|
+
startTime = _a[0],
|
|
260
|
+
entTime = _a[1];
|
|
261
|
+
|
|
262
|
+
var space = moment_1["default"].duration(entTime.diff(startTime)).asDays();
|
|
263
|
+
return space <= maxScope;
|
|
264
|
+
}) : list;
|
|
199
265
|
|
|
200
266
|
var panelRender = function panelRender(panel) {
|
|
201
267
|
return react_1["default"].createElement("div", {
|
|
@@ -215,7 +281,7 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
215
281
|
}, react_1["default"].createElement(radio_1["default"].Group, {
|
|
216
282
|
onChange: onRadioChange,
|
|
217
283
|
value: radioKey
|
|
218
|
-
},
|
|
284
|
+
}, resultList.map(function (_a) {
|
|
219
285
|
var key = _a.key,
|
|
220
286
|
text = _a.text;
|
|
221
287
|
return react_1["default"].createElement(radio_1["default"], {
|
|
@@ -240,7 +306,7 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
|
|
|
240
306
|
};
|
|
241
307
|
return rangePickerType === 'label' ? react_1["default"].createElement(label_range_picker_1["default"], __assign({
|
|
242
308
|
label: label
|
|
243
|
-
}, baseOptions, options)) : react_1["default"].createElement(RangePicker, __assign({}, baseOptions, options));
|
|
309
|
+
}, baseOptions, (0, omit_1["default"])(options, 'onChange'))) : react_1["default"].createElement(RangePicker, __assign({}, baseOptions, (0, omit_1["default"])(options, 'onChange')));
|
|
244
310
|
};
|
|
245
311
|
|
|
246
312
|
exports["default"] = LabelCustomizeRangePicker;
|
|
@@ -1793,6 +1793,12 @@ html {
|
|
|
1793
1793
|
padding: 8px 11px 6px;
|
|
1794
1794
|
border-bottom: 1px solid #f5f6fa;
|
|
1795
1795
|
}
|
|
1796
|
+
.label-customize-range-picker-panel .check-wrapper .ant-checkbox-wrapper {
|
|
1797
|
+
pointer-events: none;
|
|
1798
|
+
}
|
|
1799
|
+
.label-customize-range-picker-panel .check-wrapper .ant-checkbox-input {
|
|
1800
|
+
pointer-events: auto;
|
|
1801
|
+
}
|
|
1796
1802
|
.label-customize-range-picker-panel .pick-box {
|
|
1797
1803
|
display: flex;
|
|
1798
1804
|
justify-content: space-between;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "assui",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.34",
|
|
4
4
|
"description": "react ui library",
|
|
5
5
|
"author": "jason <usochen@gmail.com>",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"README.md"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@ahooksjs/use-url-state": "^
|
|
33
|
+
"@ahooksjs/use-url-state": "^3.1.9",
|
|
34
34
|
"@tinymce/tinymce-react": "^4.0.0",
|
|
35
35
|
"@types/react-beautiful-dnd": "^13.1.2",
|
|
36
36
|
"@types/react-resizable": "^3.0.0",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"tinymce": "^6.0.2"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
|
-
"antd": "^4.
|
|
57
|
+
"antd": "^4.21.6",
|
|
58
58
|
"react": "^16.8.6 || ^17.0 || ^18.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"node": ">=10.0.0"
|
|
73
73
|
},
|
|
74
74
|
"license": "MIT",
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "eb926e3a81ebd83d37c2ace39c832ba69e0f9bb6"
|
|
76
76
|
}
|