@kdcloudjs/kdesign 1.7.33-stable.11 → 1.7.33-stable.13

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.
@@ -415,7 +415,7 @@ function usePopper(locatorElement, popperElement, props) {
415
415
  setArrowPos(_arrowPos);
416
416
  setNextPlacement(currentPlacement);
417
417
  }
418
- }, [locatorRef, popperRef, container, trigger, mousePos, autoPlacement, gap, arrowOffset, arrowSize, arrowWidth]);
418
+ }, [locatorRef, popperRef, container, trigger, mousePos, autoPlacement, gap, arrowOffset, arrowSize, arrowWidth, align === null || align === void 0 ? void 0 : align.left, align === null || align === void 0 ? void 0 : align.top]);
419
419
  useEffect(function () {
420
420
  if (canAlign) {
421
421
  alignPopper();
@@ -6,7 +6,7 @@ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/insta
6
6
  import * as React from 'react';
7
7
  import classNames from 'classnames';
8
8
  import TimeColumn from './time-column';
9
- import { formatDate, newDate, setTime as utilSetTime } from '../../utils/date-fns';
9
+ import { formatDate, newDate, setTime as utilSetTime, isValid } from '../../utils/date-fns';
10
10
  import Context from '../../context';
11
11
  import useStateMemo from '../../hooks/use-state-memo';
12
12
  import { leftPad } from '../../utils';
@@ -39,7 +39,9 @@ function TimePanel(props) {
39
39
  minutes = _context$minutes === void 0 ? [] : _context$minutes,
40
40
  _context$seconds = context.seconds,
41
41
  seconds = _context$seconds === void 0 ? [] : _context$seconds,
42
- disabledTimePanel = context.disabledTimePanel;
42
+ disabledTimePanel = context.disabledTimePanel,
43
+ rangeValue = context.rangeValue,
44
+ panelPosition = context.panelPosition;
43
45
  var picker = props.picker,
44
46
  _props$format = props.format,
45
47
  format = _props$format === void 0 ? 'HH:mm:ss' : _props$format,
@@ -72,9 +74,22 @@ function TimePanel(props) {
72
74
  var hour = originHour;
73
75
  // const minute = value ? getMinutes(value) : -1
74
76
  // const second = value ? getSeconds(value) : -1
77
+ var getDefaultDate = function getDefaultDate() {
78
+ if (panelPosition) {
79
+ if (rangeValue && rangeValue[0] && isValid(rangeValue[0])) {
80
+ return rangeValue[0];
81
+ }
82
+ if (rangeValue && rangeValue[1] && isValid(rangeValue[1])) {
83
+ return rangeValue[1];
84
+ }
85
+ } else if (value && isValid(value)) {
86
+ return value;
87
+ }
88
+ return newDate();
89
+ };
75
90
  var setTime = function setTime(isPM, newHour, newMinute, newSecond) {
76
91
  var _a, _b, _c;
77
- var date = value || newDate();
92
+ var date = getDefaultDate();
78
93
  var _hour = newHour > -1 ? newHour : (_a = _findInstanceProperty(rawHours).call(rawHours, function (n) {
79
94
  return !n.disabled;
80
95
  })) === null || _a === void 0 ? void 0 : _a.value;
@@ -30,14 +30,6 @@ function reorderValues(values) {
30
30
  }
31
31
  return values;
32
32
  }
33
- // 范围时间顺序错误时报错
34
- function isErrorValues(values) {
35
- if (values && values[0] && values[1] && isAfter(values[0], values[1])) {
36
- console.error('开始日期在结束日期之后');
37
- return true;
38
- }
39
- return false;
40
- }
41
33
  // 是否可以切换选择器
42
34
  function canValueTrigger(value, index, disabled, allowEmpty) {
43
35
  if (value) {
@@ -143,17 +135,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
143
135
  // 原始数据
144
136
  var _useMergedState3 = useMergedState(null, {
145
137
  value: value,
146
- defaultValue: defaultValue,
147
- postState: function postState(values) {
148
- if (picker === 'time' || picker === 'date' && showTime) {
149
- return order ? reorderValues(values) : values;
150
- } else {
151
- if (isErrorValues(values)) {
152
- return [values[0], null];
153
- }
154
- return values;
155
- }
156
- }
138
+ defaultValue: defaultValue
157
139
  }),
158
140
  _useMergedState4 = _slicedToArray(_useMergedState3, 2),
159
141
  dateValue = _useMergedState4[0],
@@ -226,15 +208,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
226
208
  var _onTextChange = function onTextChange(newText, index) {
227
209
  var inputTempDate;
228
210
  if (newText === '') {
229
- if (index === 0 && selectedValue && selectedValue.length === 2) {
230
- inputTempDate = selectedValue[1];
231
- } else if (index === 1 && selectedValue && selectedValue.length === 2) {
232
- inputTempDate = selectedValue[0];
233
- }
234
- if (inputTempDate) {
235
- triggerChange(updateValues(selectedValue, inputTempDate, index), index);
236
- setViewDate(inputTempDate, index);
237
- }
211
+ triggerChange(updateValues(selectedValue, null, index), index);
238
212
  } else if (newText && newText.length === _format.length) {
239
213
  inputTempDate = parseDate(newText, _format);
240
214
  var disabledFunc = index === 0 ? disabledStartDate : disabledEndDate;
@@ -358,12 +332,20 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
358
332
  }
359
333
  }, 0);
360
334
  };
335
+ var triggerChangeInner = function triggerChangeInner(values) {
336
+ if (typeof value === 'undefined') {
337
+ setInnerValue(values);
338
+ }
339
+ if (onChange && (!isEqual(getValue(dateValue, 0), getValue(values, 0)) || !isEqual(getValue(dateValue, 1), getValue(values, 1)))) {
340
+ onChange(values, [values && values[0] ? formatDate(values[0], _format) : '', values && values[1] ? formatDate(values[1], _format) : '']);
341
+ }
342
+ };
361
343
  var triggerChange = function triggerChange(newValue, sourceIndex) {
362
344
  var values = newValue;
363
345
  var startValue = getValue(values, 0);
364
346
  var endValue = getValue(values, 1);
365
347
  if (startValue && endValue && isAfter(startValue, endValue)) {
366
- if (picker === 'week' && !isSameWeek(startValue, endValue) || picker === 'quarter' && !isSameQuarter(startValue, endValue) || picker !== 'week' && picker !== 'quarter' && picker !== 'time' && !isSameDay(startValue, endValue)) {
348
+ if (picker === 'week' && !isSameWeek(startValue, endValue) || picker === 'quarter' && !isSameQuarter(startValue, endValue) || picker === 'time' && !isEqual(startValue, endValue) || picker !== 'week' && picker !== 'quarter' && picker !== 'time' && !isSameDay(startValue, endValue)) {
367
349
  if (sourceIndex === 0) {
368
350
  values = [startValue, null];
369
351
  endValue = null;
@@ -372,8 +354,6 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
372
354
  values = [null, endValue];
373
355
  }
374
356
  openRecordsRef.current = _defineProperty({}, sourceIndex, true);
375
- } else if (picker === 'time' && order === true) {
376
- values = reorderValues(values);
377
357
  }
378
358
  }
379
359
  setSelectedValue(values);
@@ -389,28 +369,25 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
389
369
  var canEndValueTrigger = canValueTrigger(endValue, 1, mergedDisabled, allowEmpty);
390
370
  var canTrigger = values === null || canStartValueTrigger && canEndValueTrigger;
391
371
  if (canTrigger) {
392
- setInnerValue(values);
393
- if (onChange && (!isEqual(getValue(dateValue, 0), startValue) || !isEqual(getValue(dateValue, 1), endValue))) {
394
- onChange(values, [startStr, endStr]);
372
+ if (order) {
373
+ triggerChangeInner(reorderValues(values));
374
+ } else {
375
+ triggerChangeInner(values);
395
376
  }
396
377
  }
378
+ var curValue = getValue(values, sourceIndex);
397
379
  var nextOpenIndex = null;
398
380
  if (sourceIndex === 0 && !mergedDisabled[1]) {
399
381
  nextOpenIndex = 1;
400
382
  } else if (sourceIndex === 1 && !mergedDisabled[0]) {
401
383
  nextOpenIndex = 0;
402
384
  }
403
- if (nextOpenIndex !== null && nextOpenIndex !== mergedActivePickerIndex && (!openRecordsRef.current[nextOpenIndex] || !getValue(values, nextOpenIndex)) && getValue(values, sourceIndex)) {
385
+ if (nextOpenIndex !== null && nextOpenIndex !== mergedActivePickerIndex && (!openRecordsRef.current[nextOpenIndex] || !getValue(values, nextOpenIndex)) && curValue) {
404
386
  triggerOpenAndFocus(nextOpenIndex);
405
- } else {
387
+ } else if (curValue) {
406
388
  triggerOpen(false, sourceIndex);
407
389
  }
408
390
  };
409
- // useOnClickOutside([popperRef, inputDivRef], () => {
410
- // setViewDate(null, 0)
411
- // setViewDate(null, 1)
412
- // setHoverRangedValue([null, null])
413
- // })
414
391
  var onSelect = function onSelect(date, type) {
415
392
  var values = updateValues(selectedValue, date, mergedActivePickerIndex);
416
393
  if (type === 'inner') {
@@ -451,12 +428,6 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
451
428
  useEffect(function () {
452
429
  if (!mergedOpen) {
453
430
  setSelectedValue(dateValue);
454
- if (!startValueTexts.length || startValueTexts[0] === '') {
455
- triggerStartTextChange('');
456
- }
457
- if (!endValueTexts.length || endValueTexts[0] === '') {
458
- triggerEndTextChange('');
459
- }
460
431
  setViewDate(null, 0);
461
432
  setViewDate(null, 1);
462
433
  setHoverRangedValue([null, null]);
@@ -429,7 +429,7 @@ function usePopper(locatorElement, popperElement, props) {
429
429
  setArrowPos(_arrowPos);
430
430
  setNextPlacement(currentPlacement);
431
431
  }
432
- }, [locatorRef, popperRef, container, trigger, mousePos, autoPlacement, gap, arrowOffset, arrowSize, arrowWidth]);
432
+ }, [locatorRef, popperRef, container, trigger, mousePos, autoPlacement, gap, arrowOffset, arrowSize, arrowWidth, align === null || align === void 0 ? void 0 : align.left, align === null || align === void 0 ? void 0 : align.top]);
433
433
  (0, _react.useEffect)(function () {
434
434
  if (canAlign) {
435
435
  alignPopper();
@@ -51,7 +51,9 @@ function TimePanel(props) {
51
51
  minutes = _context$minutes === void 0 ? [] : _context$minutes,
52
52
  _context$seconds = context.seconds,
53
53
  seconds = _context$seconds === void 0 ? [] : _context$seconds,
54
- disabledTimePanel = context.disabledTimePanel;
54
+ disabledTimePanel = context.disabledTimePanel,
55
+ rangeValue = context.rangeValue,
56
+ panelPosition = context.panelPosition;
55
57
  var picker = props.picker,
56
58
  _props$format = props.format,
57
59
  format = _props$format === void 0 ? 'HH:mm:ss' : _props$format,
@@ -84,9 +86,22 @@ function TimePanel(props) {
84
86
  var hour = originHour;
85
87
  // const minute = value ? getMinutes(value) : -1
86
88
  // const second = value ? getSeconds(value) : -1
89
+ var getDefaultDate = function getDefaultDate() {
90
+ if (panelPosition) {
91
+ if (rangeValue && rangeValue[0] && (0, _dateFns.isValid)(rangeValue[0])) {
92
+ return rangeValue[0];
93
+ }
94
+ if (rangeValue && rangeValue[1] && (0, _dateFns.isValid)(rangeValue[1])) {
95
+ return rangeValue[1];
96
+ }
97
+ } else if (value && (0, _dateFns.isValid)(value)) {
98
+ return value;
99
+ }
100
+ return (0, _dateFns.newDate)();
101
+ };
87
102
  var setTime = function setTime(isPM, newHour, newMinute, newSecond) {
88
103
  var _a, _b, _c;
89
- var date = value || (0, _dateFns.newDate)();
104
+ var date = getDefaultDate();
90
105
  var _hour = newHour > -1 ? newHour : (_a = (0, _find.default)(rawHours).call(rawHours, function (n) {
91
106
  return !n.disabled;
92
107
  })) === null || _a === void 0 ? void 0 : _a.value;
@@ -42,14 +42,6 @@ function reorderValues(values) {
42
42
  }
43
43
  return values;
44
44
  }
45
- // 范围时间顺序错误时报错
46
- function isErrorValues(values) {
47
- if (values && values[0] && values[1] && (0, _dateFns.isAfter)(values[0], values[1])) {
48
- console.error('开始日期在结束日期之后');
49
- return true;
50
- }
51
- return false;
52
- }
53
45
  // 是否可以切换选择器
54
46
  function canValueTrigger(value, index, disabled, allowEmpty) {
55
47
  if (value) {
@@ -155,17 +147,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
155
147
  // 原始数据
156
148
  var _useMergedState3 = (0, _hooks.useMergedState)(null, {
157
149
  value: value,
158
- defaultValue: defaultValue,
159
- postState: function postState(values) {
160
- if (picker === 'time' || picker === 'date' && showTime) {
161
- return order ? reorderValues(values) : values;
162
- } else {
163
- if (isErrorValues(values)) {
164
- return [values[0], null];
165
- }
166
- return values;
167
- }
168
- }
150
+ defaultValue: defaultValue
169
151
  }),
170
152
  _useMergedState4 = (0, _slicedToArray2.default)(_useMergedState3, 2),
171
153
  dateValue = _useMergedState4[0],
@@ -238,15 +220,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
238
220
  var _onTextChange = function onTextChange(newText, index) {
239
221
  var inputTempDate;
240
222
  if (newText === '') {
241
- if (index === 0 && selectedValue && selectedValue.length === 2) {
242
- inputTempDate = selectedValue[1];
243
- } else if (index === 1 && selectedValue && selectedValue.length === 2) {
244
- inputTempDate = selectedValue[0];
245
- }
246
- if (inputTempDate) {
247
- triggerChange((0, _utils2.updateValues)(selectedValue, inputTempDate, index), index);
248
- setViewDate(inputTempDate, index);
249
- }
223
+ triggerChange((0, _utils2.updateValues)(selectedValue, null, index), index);
250
224
  } else if (newText && newText.length === _format.length) {
251
225
  inputTempDate = (0, _dateFns.parseDate)(newText, _format);
252
226
  var disabledFunc = index === 0 ? disabledStartDate : disabledEndDate;
@@ -370,12 +344,20 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
370
344
  }
371
345
  }, 0);
372
346
  };
347
+ var triggerChangeInner = function triggerChangeInner(values) {
348
+ if (typeof value === 'undefined') {
349
+ setInnerValue(values);
350
+ }
351
+ if (onChange && (!(0, _dateFns.isEqual)((0, _utils2.getValue)(dateValue, 0), (0, _utils2.getValue)(values, 0)) || !(0, _dateFns.isEqual)((0, _utils2.getValue)(dateValue, 1), (0, _utils2.getValue)(values, 1)))) {
352
+ onChange(values, [values && values[0] ? (0, _dateFns.formatDate)(values[0], _format) : '', values && values[1] ? (0, _dateFns.formatDate)(values[1], _format) : '']);
353
+ }
354
+ };
373
355
  var triggerChange = function triggerChange(newValue, sourceIndex) {
374
356
  var values = newValue;
375
357
  var startValue = (0, _utils2.getValue)(values, 0);
376
358
  var endValue = (0, _utils2.getValue)(values, 1);
377
359
  if (startValue && endValue && (0, _dateFns.isAfter)(startValue, endValue)) {
378
- if (picker === 'week' && !(0, _isSameWeek.default)(startValue, endValue) || picker === 'quarter' && !(0, _dateFns.isSameQuarter)(startValue, endValue) || picker !== 'week' && picker !== 'quarter' && picker !== 'time' && !(0, _dateFns.isSameDay)(startValue, endValue)) {
360
+ if (picker === 'week' && !(0, _isSameWeek.default)(startValue, endValue) || picker === 'quarter' && !(0, _dateFns.isSameQuarter)(startValue, endValue) || picker === 'time' && !(0, _dateFns.isEqual)(startValue, endValue) || picker !== 'week' && picker !== 'quarter' && picker !== 'time' && !(0, _dateFns.isSameDay)(startValue, endValue)) {
379
361
  if (sourceIndex === 0) {
380
362
  values = [startValue, null];
381
363
  endValue = null;
@@ -384,8 +366,6 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
384
366
  values = [null, endValue];
385
367
  }
386
368
  openRecordsRef.current = (0, _defineProperty2.default)({}, sourceIndex, true);
387
- } else if (picker === 'time' && order === true) {
388
- values = reorderValues(values);
389
369
  }
390
370
  }
391
371
  setSelectedValue(values);
@@ -401,28 +381,25 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
401
381
  var canEndValueTrigger = canValueTrigger(endValue, 1, mergedDisabled, allowEmpty);
402
382
  var canTrigger = values === null || canStartValueTrigger && canEndValueTrigger;
403
383
  if (canTrigger) {
404
- setInnerValue(values);
405
- if (onChange && (!(0, _dateFns.isEqual)((0, _utils2.getValue)(dateValue, 0), startValue) || !(0, _dateFns.isEqual)((0, _utils2.getValue)(dateValue, 1), endValue))) {
406
- onChange(values, [startStr, endStr]);
384
+ if (order) {
385
+ triggerChangeInner(reorderValues(values));
386
+ } else {
387
+ triggerChangeInner(values);
407
388
  }
408
389
  }
390
+ var curValue = (0, _utils2.getValue)(values, sourceIndex);
409
391
  var nextOpenIndex = null;
410
392
  if (sourceIndex === 0 && !mergedDisabled[1]) {
411
393
  nextOpenIndex = 1;
412
394
  } else if (sourceIndex === 1 && !mergedDisabled[0]) {
413
395
  nextOpenIndex = 0;
414
396
  }
415
- if (nextOpenIndex !== null && nextOpenIndex !== mergedActivePickerIndex && (!openRecordsRef.current[nextOpenIndex] || !(0, _utils2.getValue)(values, nextOpenIndex)) && (0, _utils2.getValue)(values, sourceIndex)) {
397
+ if (nextOpenIndex !== null && nextOpenIndex !== mergedActivePickerIndex && (!openRecordsRef.current[nextOpenIndex] || !(0, _utils2.getValue)(values, nextOpenIndex)) && curValue) {
416
398
  triggerOpenAndFocus(nextOpenIndex);
417
- } else {
399
+ } else if (curValue) {
418
400
  triggerOpen(false, sourceIndex);
419
401
  }
420
402
  };
421
- // useOnClickOutside([popperRef, inputDivRef], () => {
422
- // setViewDate(null, 0)
423
- // setViewDate(null, 1)
424
- // setHoverRangedValue([null, null])
425
- // })
426
403
  var onSelect = function onSelect(date, type) {
427
404
  var values = (0, _utils2.updateValues)(selectedValue, date, mergedActivePickerIndex);
428
405
  if (type === 'inner') {
@@ -463,12 +440,6 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
463
440
  (0, _react.useEffect)(function () {
464
441
  if (!mergedOpen) {
465
442
  setSelectedValue(dateValue);
466
- if (!startValueTexts.length || startValueTexts[0] === '') {
467
- triggerStartTextChange('');
468
- }
469
- if (!endValueTexts.length || endValueTexts[0] === '') {
470
- triggerEndTextChange('');
471
- }
472
443
  setViewDate(null, 0);
473
444
  setViewDate(null, 1);
474
445
  setHoverRangedValue([null, null]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdcloudjs/kdesign",
3
- "version": "1.7.33-stable.11",
3
+ "version": "1.7.33-stable.13",
4
4
  "description": "KDesign 金蝶前端react 组件库",
5
5
  "title": "kdesign",
6
6
  "keywords": [