assui 2.1.32 → 2.1.35

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.
@@ -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
- options = __rest(props, ["customizeTimeList", "radioList", "rangePickerType", "label"]);
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],
@@ -132,7 +135,47 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
132
135
  };
133
136
 
134
137
  var onDateChange = function onDateChange(nextValue) {
135
- setDate(nextValue);
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]);
136
179
  };
137
180
 
138
181
  var onRadioChange = function onRadioChange(event) {
@@ -148,6 +191,14 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
148
191
  var list = radioList !== null && radioList !== void 0 ? radioList : getDefaultRadioList(messages).filter(function (item) {
149
192
  return customizeTimeList ? customizeTimeList.includes(item.key) : true;
150
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;
151
202
 
152
203
  var panelRender = function panelRender(panel) {
153
204
  return /*#__PURE__*/React.createElement("div", {
@@ -167,7 +218,7 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
167
218
  }, /*#__PURE__*/React.createElement(Radio.Group, {
168
219
  onChange: onRadioChange,
169
220
  value: radioKey
170
- }, list.map(function (_a) {
221
+ }, resultList.map(function (_a) {
171
222
  var key = _a.key,
172
223
  text = _a.text;
173
224
  return /*#__PURE__*/React.createElement(Radio, {
@@ -192,7 +243,7 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
192
243
  };
193
244
  return rangePickerType === 'label' ? /*#__PURE__*/React.createElement(LabelRangePicker, __assign({
194
245
  label: label
195
- }, baseOptions, options)) : /*#__PURE__*/React.createElement(RangePicker, __assign({}, baseOptions, options));
246
+ }, baseOptions, omit(options, 'onChange'))) : /*#__PURE__*/React.createElement(RangePicker, __assign({}, baseOptions, omit(options, 'onChange')));
196
247
  };
197
248
 
198
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;
@@ -8,6 +8,14 @@
8
8
  .check-wrapper {
9
9
  padding: 8px 11px 6px;
10
10
  border-bottom: 1px solid #f5f6fa;
11
+
12
+ .@{ant-prefix}-checkbox-wrapper {
13
+ pointer-events: none;
14
+ }
15
+
16
+ .@{ant-prefix}-checkbox-input {
17
+ pointer-events: auto;
18
+ }
11
19
  }
12
20
 
13
21
  .pick-box {
@@ -80,6 +80,7 @@ var LabelDatePicker = function LabelDatePicker(props) {
80
80
  };
81
81
 
82
82
  var handleOpenChange = function handleOpenChange(nextOpen) {
83
+ console.log('--');
83
84
  onOpenChange(nextOpen);
84
85
  };
85
86
 
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import type { SelectProps } from 'antd/lib/select';
3
3
  declare const Option: import("rc-select/lib/Option").OptionFC;
4
4
  export { Option };
5
- export interface LabelSelectProps extends SelectProps<string> {
5
+ export interface LabelSelectProps extends SelectProps {
6
6
  label?: React.ReactNode;
7
7
  }
8
8
  declare const LabelSelect: {
@@ -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
- options = __rest(props, ["customizeTimeList", "radioList", "rangePickerType", "label"]);
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],
@@ -193,7 +198,47 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
193
198
  };
194
199
 
195
200
  var onDateChange = function onDateChange(nextValue) {
196
- setDate(nextValue);
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]);
197
242
  };
198
243
 
199
244
  var onRadioChange = function onRadioChange(event) {
@@ -209,6 +254,14 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
209
254
  var list = radioList !== null && radioList !== void 0 ? radioList : (0, defaultRadioList_1["default"])(messages).filter(function (item) {
210
255
  return customizeTimeList ? customizeTimeList.includes(item.key) : true;
211
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;
212
265
 
213
266
  var panelRender = function panelRender(panel) {
214
267
  return react_1["default"].createElement("div", {
@@ -228,7 +281,7 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
228
281
  }, react_1["default"].createElement(radio_1["default"].Group, {
229
282
  onChange: onRadioChange,
230
283
  value: radioKey
231
- }, list.map(function (_a) {
284
+ }, resultList.map(function (_a) {
232
285
  var key = _a.key,
233
286
  text = _a.text;
234
287
  return react_1["default"].createElement(radio_1["default"], {
@@ -253,7 +306,7 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
253
306
  };
254
307
  return rangePickerType === 'label' ? react_1["default"].createElement(label_range_picker_1["default"], __assign({
255
308
  label: label
256
- }, 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')));
257
310
  };
258
311
 
259
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;
@@ -8,6 +8,14 @@
8
8
  .check-wrapper {
9
9
  padding: 8px 11px 6px;
10
10
  border-bottom: 1px solid #f5f6fa;
11
+
12
+ .@{ant-prefix}-checkbox-wrapper {
13
+ pointer-events: none;
14
+ }
15
+
16
+ .@{ant-prefix}-checkbox-input {
17
+ pointer-events: auto;
18
+ }
11
19
  }
12
20
 
13
21
  .pick-box {
@@ -98,6 +98,7 @@ var LabelDatePicker = function LabelDatePicker(props) {
98
98
  };
99
99
 
100
100
  var handleOpenChange = function handleOpenChange(nextOpen) {
101
+ console.log('--');
101
102
  onOpenChange(nextOpen);
102
103
  };
103
104
 
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import type { SelectProps } from 'antd/lib/select';
3
3
  declare const Option: import("rc-select/lib/Option").OptionFC;
4
4
  export { Option };
5
- export interface LabelSelectProps extends SelectProps<string> {
5
+ export interface LabelSelectProps extends SelectProps {
6
6
  label?: React.ReactNode;
7
7
  }
8
8
  declare const LabelSelect: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "assui",
3
- "version": "2.1.32",
3
+ "version": "2.1.35",
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": "^2.5.8",
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.16.11",
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": "522946669dc72275c25173889993140a9af4be81"
75
+ "gitHead": "6ee3a8f903ff9d5b6e0c27f485418938e7f28192"
76
76
  }