assui 2.1.45 → 2.1.46

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.
@@ -65,6 +65,7 @@ import getDefaultRadioList from './defaultRadioList';
65
65
  import LabelRangePicker from '../label-range-picker';
66
66
  import LocaleContext from '../config-provider/context';
67
67
  import formatMessage from '../messages';
68
+ import { formatMaxScope } from './utils';
68
69
  var RangePicker = DatePicker.RangePicker;
69
70
 
70
71
  var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
@@ -75,7 +76,8 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
75
76
  label = props.label,
76
77
  showTime = props.showTime,
77
78
  maxScope = props.maxScope,
78
- options = __rest(props, ["customizeTimeList", "radioList", "rangePickerType", "label", "showTime", "maxScope"]);
79
+ onOpenChange = props.onOpenChange,
80
+ restProps = __rest(props, ["customizeTimeList", "radioList", "rangePickerType", "label", "showTime", "maxScope", "onOpenChange"]);
79
81
 
80
82
  var _b = __read(useControllableValue(props), 2),
81
83
  date = _b[0],
@@ -129,6 +131,11 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
129
131
  setRadioKey(item.key);
130
132
  }
131
133
  }, [date]);
134
+ useEffect(function () {
135
+ if (maxScope) {
136
+ setDate(formatMaxScope(date, maxScope));
137
+ }
138
+ }, [maxScope]);
132
139
 
133
140
  var onDiyTimeChange = function onDiyTimeChange(event) {
134
141
  var checked = event.target.checked;
@@ -230,24 +237,25 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
230
237
  }))));
231
238
  };
232
239
 
233
- var onOpenChange = function onOpenChange(nextOpen) {
240
+ var handleOpenChange = function handleOpenChange(nextOpen) {
234
241
  setOpen(nextOpen);
242
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen);
235
243
  };
236
244
 
237
245
  var baseOptions = {
238
246
  value: date,
239
247
  onChange: onDateChange,
240
248
  open: open,
241
- onOpenChange: onOpenChange,
249
+ onOpenChange: handleOpenChange,
242
250
  panelRender: panelRender,
243
251
  allowClear: false
244
252
  };
245
253
  return rangePickerType === 'label' ? /*#__PURE__*/React.createElement(LabelRangePicker, __assign({
246
254
  showTime: showTime,
247
255
  label: label
248
- }, baseOptions, omit(options, 'onChange'))) : /*#__PURE__*/React.createElement(RangePicker, __assign({
256
+ }, omit(restProps, 'onChange', 'value', 'open'), baseOptions)) : /*#__PURE__*/React.createElement(RangePicker, __assign({
249
257
  showTime: showTime
250
- }, baseOptions, omit(options, 'onChange')));
258
+ }, baseOptions, omit(restProps, 'onChange')));
251
259
  };
252
260
 
253
261
  export default LabelCustomizeRangePicker;
@@ -0,0 +1,2 @@
1
+ import type { RangeValue } from 'rc-picker/lib/interface';
2
+ export declare const formatMaxScope: (dateStampTuple: RangeValue<moment.Moment>, maxScope: number) => (import("moment").Moment | null)[];
@@ -0,0 +1,57 @@
1
+ var __read = this && this.__read || function (o, n) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
3
+ if (!m) return o;
4
+ var i = m.call(o),
5
+ r,
6
+ ar = [],
7
+ e;
8
+
9
+ try {
10
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
11
+ ar.push(r.value);
12
+ }
13
+ } catch (error) {
14
+ e = {
15
+ error: error
16
+ };
17
+ } finally {
18
+ try {
19
+ if (r && !r.done && (m = i["return"])) m.call(i);
20
+ } finally {
21
+ if (e) throw e.error;
22
+ }
23
+ }
24
+
25
+ return ar;
26
+ };
27
+
28
+ import dateUtils from "aa-utils/es/dateUtils";
29
+ var now = dateUtils.getToday().endOf('day');
30
+ export var formatMaxScope = function formatMaxScope(dateStampTuple, maxScope) {
31
+ var _a, _b;
32
+
33
+ var _c = __read(dateStampTuple || [], 2),
34
+ start = _c[0],
35
+ end = _c[1];
36
+
37
+ var startStamp = (_a = start === null || start === void 0 ? void 0 : start.clone().startOf('day')) !== null && _a !== void 0 ? _a : null;
38
+ var endStamp = (_b = end === null || end === void 0 ? void 0 : end.clone().endOf('day')) !== null && _b !== void 0 ? _b : null;
39
+
40
+ if (startStamp && endStamp) {
41
+ if (endStamp.diff(startStamp, 'day') > maxScope) {
42
+ startStamp = endStamp.clone().subtract(maxScope - 1, 'day').startOf('day');
43
+ }
44
+ }
45
+
46
+ if (!startStamp && !endStamp) {
47
+ startStamp = now.clone().subtract(maxScope - 1, 'day').startOf('day');
48
+ endStamp = now.clone().endOf('day');
49
+ }
50
+
51
+ if (startStamp || endStamp) {
52
+ startStamp = startStamp !== null && startStamp !== void 0 ? startStamp : endStamp.clone().subtract(maxScope - 1, 'day').startOf('day');
53
+ endStamp = endStamp !== null && endStamp !== void 0 ? endStamp : startStamp.clone().add(maxScope - 1, 'day').endOf('day');
54
+ }
55
+
56
+ return [startStamp, endStamp];
57
+ };
@@ -128,6 +128,8 @@ var context_1 = __importDefault(require("../config-provider/context"));
128
128
 
129
129
  var messages_1 = __importDefault(require("../messages"));
130
130
 
131
+ var utils_1 = require("./utils");
132
+
131
133
  var RangePicker = date_picker_1["default"].RangePicker;
132
134
 
133
135
  var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
@@ -138,7 +140,8 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
138
140
  label = props.label,
139
141
  showTime = props.showTime,
140
142
  maxScope = props.maxScope,
141
- options = __rest(props, ["customizeTimeList", "radioList", "rangePickerType", "label", "showTime", "maxScope"]);
143
+ onOpenChange = props.onOpenChange,
144
+ restProps = __rest(props, ["customizeTimeList", "radioList", "rangePickerType", "label", "showTime", "maxScope", "onOpenChange"]);
142
145
 
143
146
  var _b = __read((0, useControllableValue_1["default"])(props), 2),
144
147
  date = _b[0],
@@ -192,6 +195,11 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
192
195
  setRadioKey(item.key);
193
196
  }
194
197
  }, [date]);
198
+ (0, react_1.useEffect)(function () {
199
+ if (maxScope) {
200
+ setDate((0, utils_1.formatMaxScope)(date, maxScope));
201
+ }
202
+ }, [maxScope]);
195
203
 
196
204
  var onDiyTimeChange = function onDiyTimeChange(event) {
197
205
  var checked = event.target.checked;
@@ -293,24 +301,25 @@ var LabelCustomizeRangePicker = function LabelCustomizeRangePicker(props) {
293
301
  }))));
294
302
  };
295
303
 
296
- var onOpenChange = function onOpenChange(nextOpen) {
304
+ var handleOpenChange = function handleOpenChange(nextOpen) {
297
305
  setOpen(nextOpen);
306
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen);
298
307
  };
299
308
 
300
309
  var baseOptions = {
301
310
  value: date,
302
311
  onChange: onDateChange,
303
312
  open: open,
304
- onOpenChange: onOpenChange,
313
+ onOpenChange: handleOpenChange,
305
314
  panelRender: panelRender,
306
315
  allowClear: false
307
316
  };
308
317
  return rangePickerType === 'label' ? react_1["default"].createElement(label_range_picker_1["default"], __assign({
309
318
  showTime: showTime,
310
319
  label: label
311
- }, baseOptions, (0, omit_1["default"])(options, 'onChange'))) : react_1["default"].createElement(RangePicker, __assign({
320
+ }, (0, omit_1["default"])(restProps, 'onChange', 'value', 'open'), baseOptions)) : react_1["default"].createElement(RangePicker, __assign({
312
321
  showTime: showTime
313
- }, baseOptions, (0, omit_1["default"])(options, 'onChange')));
322
+ }, baseOptions, (0, omit_1["default"])(restProps, 'onChange')));
314
323
  };
315
324
 
316
325
  exports["default"] = LabelCustomizeRangePicker;
@@ -0,0 +1,2 @@
1
+ import type { RangeValue } from 'rc-picker/lib/interface';
2
+ export declare const formatMaxScope: (dateStampTuple: RangeValue<moment.Moment>, maxScope: number) => (import("moment").Moment | null)[];
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var __read = this && this.__read || function (o, n) {
4
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
5
+ if (!m) return o;
6
+ var i = m.call(o),
7
+ r,
8
+ ar = [],
9
+ e;
10
+
11
+ try {
12
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
13
+ ar.push(r.value);
14
+ }
15
+ } catch (error) {
16
+ e = {
17
+ error: error
18
+ };
19
+ } finally {
20
+ try {
21
+ if (r && !r.done && (m = i["return"])) m.call(i);
22
+ } finally {
23
+ if (e) throw e.error;
24
+ }
25
+ }
26
+
27
+ return ar;
28
+ };
29
+
30
+ var __importDefault = this && this.__importDefault || function (mod) {
31
+ return mod && mod.__esModule ? mod : {
32
+ "default": mod
33
+ };
34
+ };
35
+
36
+ Object.defineProperty(exports, "__esModule", {
37
+ value: true
38
+ });
39
+ exports.formatMaxScope = void 0;
40
+
41
+ var dateUtils_1 = __importDefault(require("aa-utils/lib/dateUtils"));
42
+
43
+ var now = dateUtils_1["default"].getToday().endOf('day');
44
+
45
+ var formatMaxScope = function formatMaxScope(dateStampTuple, maxScope) {
46
+ var _a, _b;
47
+
48
+ var _c = __read(dateStampTuple || [], 2),
49
+ start = _c[0],
50
+ end = _c[1];
51
+
52
+ var startStamp = (_a = start === null || start === void 0 ? void 0 : start.clone().startOf('day')) !== null && _a !== void 0 ? _a : null;
53
+ var endStamp = (_b = end === null || end === void 0 ? void 0 : end.clone().endOf('day')) !== null && _b !== void 0 ? _b : null;
54
+
55
+ if (startStamp && endStamp) {
56
+ if (endStamp.diff(startStamp, 'day') > maxScope) {
57
+ startStamp = endStamp.clone().subtract(maxScope - 1, 'day').startOf('day');
58
+ }
59
+ }
60
+
61
+ if (!startStamp && !endStamp) {
62
+ startStamp = now.clone().subtract(maxScope - 1, 'day').startOf('day');
63
+ endStamp = now.clone().endOf('day');
64
+ }
65
+
66
+ if (startStamp || endStamp) {
67
+ startStamp = startStamp !== null && startStamp !== void 0 ? startStamp : endStamp.clone().subtract(maxScope - 1, 'day').startOf('day');
68
+ endStamp = endStamp !== null && endStamp !== void 0 ? endStamp : startStamp.clone().add(maxScope - 1, 'day').endOf('day');
69
+ }
70
+
71
+ return [startStamp, endStamp];
72
+ };
73
+
74
+ exports.formatMaxScope = formatMaxScope;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "assui",
3
- "version": "2.1.45",
3
+ "version": "2.1.46",
4
4
  "description": "react ui library",
5
5
  "author": "jason <usochen@gmail.com>",
6
6
  "main": "./lib/index.js",
@@ -73,5 +73,5 @@
73
73
  "node": ">=10.0.0"
74
74
  },
75
75
  "license": "MIT",
76
- "gitHead": "dcc8d61e3d045d6249fef1c539e084b164fbc804"
76
+ "gitHead": "7f685e43c5bb7cc5246187e32e93c45ca088e954"
77
77
  }