Latest updates from IceHrmPro

This commit is contained in:
Thilina Pituwala
2020-05-20 18:47:29 +02:00
parent 60c92d7935
commit 7453a58aad
18012 changed files with 2089245 additions and 10173 deletions

View File

@@ -0,0 +1,15 @@
import { GenerateConfig } from '../generate';
import { RangeValue, NullableDateType } from '../interface';
export default function useCellClassName<DateType>({ cellPrefixCls, generateConfig, rangedValue, hoverRangedValue, isInView, isSameCell, offsetCell, today, value, }: {
cellPrefixCls: string;
generateConfig: GenerateConfig<DateType>;
isSameCell: (current: NullableDateType<DateType>, target: NullableDateType<DateType>) => boolean;
offsetCell: (date: DateType, offset: number) => DateType;
isInView: (date: DateType) => boolean;
rangedValue?: RangeValue<DateType>;
hoverRangedValue?: RangeValue<DateType>;
today?: NullableDateType<DateType>;
value?: NullableDateType<DateType>;
}): (currentDate: DateType) => {
[x: string]: boolean;
};

View File

@@ -0,0 +1,43 @@
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import { isInRange } from '../utils/dateUtil';
import { getValue } from '../utils/miscUtil';
export default function useCellClassName(_ref) {
var cellPrefixCls = _ref.cellPrefixCls,
generateConfig = _ref.generateConfig,
rangedValue = _ref.rangedValue,
hoverRangedValue = _ref.hoverRangedValue,
isInView = _ref.isInView,
isSameCell = _ref.isSameCell,
offsetCell = _ref.offsetCell,
today = _ref.today,
value = _ref.value;
function getClassName(currentDate) {
var _ref2;
var prevDate = offsetCell(currentDate, -1);
var nextDate = offsetCell(currentDate, 1);
var rangeStart = getValue(rangedValue, 0);
var rangeEnd = getValue(rangedValue, 1);
var hoverStart = getValue(hoverRangedValue, 0);
var hoverEnd = getValue(hoverRangedValue, 1);
var isRangeHovered = isInRange(generateConfig, hoverStart, hoverEnd, currentDate);
function isRangeStart(date) {
return isSameCell(rangeStart, date);
}
function isRangeEnd(date) {
return isSameCell(rangeEnd, date);
}
var isHoverStart = isSameCell(hoverStart, currentDate);
var isHoverEnd = isSameCell(hoverEnd, currentDate);
var isHoverEdgeStart = (isRangeHovered || isHoverEnd) && (!isInView(prevDate) || isRangeEnd(prevDate));
var isHoverEdgeEnd = (isRangeHovered || isHoverStart) && (!isInView(nextDate) || isRangeStart(nextDate));
return _ref2 = {}, _defineProperty(_ref2, "".concat(cellPrefixCls, "-in-view"), isInView(currentDate)), _defineProperty(_ref2, "".concat(cellPrefixCls, "-in-range"), isInRange(generateConfig, rangeStart, rangeEnd, currentDate)), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-start"), isRangeStart(currentDate)), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-end"), isRangeEnd(currentDate)), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-start-single"), isRangeStart(currentDate) && !rangeEnd), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-end-single"), isRangeEnd(currentDate) && !rangeStart), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-start-near-hover"), isRangeStart(currentDate) && (isSameCell(prevDate, hoverStart) || isInRange(generateConfig, hoverStart, hoverEnd, prevDate))), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-end-near-hover"), isRangeEnd(currentDate) && (isSameCell(nextDate, hoverEnd) || isInRange(generateConfig, hoverStart, hoverEnd, nextDate))), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-hover"), isRangeHovered), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-hover-start"), isHoverStart), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-hover-end"), isHoverEnd), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-hover-edge-start"), isHoverEdgeStart), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-hover-edge-end"), isHoverEdgeEnd), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-hover-edge-start-near-range"), isHoverEdgeStart && isSameCell(prevDate, rangeEnd)), _defineProperty(_ref2, "".concat(cellPrefixCls, "-range-hover-edge-end-near-range"), isHoverEdgeEnd && isSameCell(nextDate, rangeStart)), _defineProperty(_ref2, "".concat(cellPrefixCls, "-today"), isSameCell(today, currentDate)), _defineProperty(_ref2, "".concat(cellPrefixCls, "-selected"), isSameCell(value, currentDate)), _ref2;
}
return getClassName;
}

View File

@@ -0,0 +1,15 @@
import * as React from 'react';
export default function usePickerInput({ open, isClickOutside, triggerOpen, forwardKeyDown, blurToCancel, onSubmit, onCancel, onFocus, onBlur, }: {
open: boolean;
isClickOutside: (clickElement: EventTarget | null) => boolean;
triggerOpen: (open: boolean) => void;
forwardKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => boolean;
blurToCancel?: boolean;
onSubmit: () => void | boolean;
onCancel: () => void;
onFocus?: React.FocusEventHandler<HTMLInputElement>;
onBlur?: React.FocusEventHandler<HTMLInputElement>;
}): [React.DOMAttributes<HTMLInputElement>, {
focused: boolean;
typing: boolean;
}];

145
web/node_modules/rc-picker/es/hooks/usePickerInput.js generated vendored Normal file
View File

@@ -0,0 +1,145 @@
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import * as React from 'react';
import KeyCode from "rc-util/es/KeyCode";
import { addGlobalMouseDownEvent } from '../utils/uiUtil';
export default function usePickerInput(_ref) {
var open = _ref.open,
isClickOutside = _ref.isClickOutside,
triggerOpen = _ref.triggerOpen,
forwardKeyDown = _ref.forwardKeyDown,
blurToCancel = _ref.blurToCancel,
onSubmit = _ref.onSubmit,
onCancel = _ref.onCancel,
_onFocus = _ref.onFocus,
_onBlur = _ref.onBlur;
var _React$useState = React.useState(false),
_React$useState2 = _slicedToArray(_React$useState, 2),
typing = _React$useState2[0],
setTyping = _React$useState2[1];
var _React$useState3 = React.useState(false),
_React$useState4 = _slicedToArray(_React$useState3, 2),
focused = _React$useState4[0],
setFocused = _React$useState4[1];
/**
* We will prevent blur to handle open event when user click outside,
* since this will repeat trigger `onOpenChange` event.
*/
var preventBlurRef = React.useRef(false);
var inputProps = {
onMouseDown: function onMouseDown() {
setTyping(true);
triggerOpen(true);
},
onKeyDown: function onKeyDown(e) {
switch (e.which) {
case KeyCode.ENTER:
{
if (!open) {
triggerOpen(true);
} else if (onSubmit() !== false) {
setTyping(true);
}
e.preventDefault();
return;
}
case KeyCode.TAB:
{
if (typing && open && !e.shiftKey) {
setTyping(false);
e.preventDefault();
} else if (!typing && open) {
if (!forwardKeyDown(e) && e.shiftKey) {
setTyping(true);
e.preventDefault();
}
}
return;
}
case KeyCode.ESC:
{
setTyping(true);
onCancel();
return;
}
}
if (!open && ![KeyCode.SHIFT].includes(e.which)) {
triggerOpen(true);
} else if (!typing) {
// Let popup panel handle keyboard
forwardKeyDown(e);
}
},
onFocus: function onFocus(e) {
setTyping(true);
setFocused(true);
if (_onFocus) {
_onFocus(e);
}
},
onBlur: function onBlur(e) {
if (preventBlurRef.current || !isClickOutside(document.activeElement)) {
preventBlurRef.current = false;
return;
}
if (blurToCancel) {
setTimeout(function () {
if (isClickOutside(document.activeElement)) {
onCancel();
}
}, 0);
} else {
triggerOpen(false);
}
setFocused(false);
if (_onBlur) {
_onBlur(e);
}
}
}; // Global click handler
React.useEffect(function () {
return addGlobalMouseDownEvent(function (_ref2) {
var target = _ref2.target;
if (open) {
if (!isClickOutside(target)) {
preventBlurRef.current = true; // Always set back in case `onBlur` prevented by user
window.setTimeout(function () {
preventBlurRef.current = false;
}, 0);
} else if (!focused) {
triggerOpen(false);
}
}
});
});
return [inputProps, {
focused: focused,
typing: typing
}];
}

View File

@@ -0,0 +1,10 @@
import { RangeValue, PickerMode, Locale } from '../interface';
import { GenerateConfig } from '../generate';
export default function useRangeDisabled<DateType>({ picker, locale, selectedValue, disabledDate, disabled, generateConfig, }: {
picker: PickerMode;
selectedValue: RangeValue<DateType>;
disabledDate?: (date: DateType) => boolean;
disabled: [boolean, boolean];
locale: Locale;
generateConfig: GenerateConfig<DateType>;
}): ((date: DateType) => boolean)[];

View File

@@ -0,0 +1,78 @@
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import * as React from 'react';
import { getValue } from '../utils/miscUtil';
import { isSameDate } from '../utils/dateUtil';
import useWeekDisabled from './useWeekDisabled';
export default function useRangeDisabled(_ref) {
var picker = _ref.picker,
locale = _ref.locale,
selectedValue = _ref.selectedValue,
disabledDate = _ref.disabledDate,
disabled = _ref.disabled,
generateConfig = _ref.generateConfig;
var startDate = getValue(selectedValue, 0);
var endDate = getValue(selectedValue, 1);
var disabledStartDate = React.useCallback(function (date) {
if (disabledDate && disabledDate(date)) {
return true;
}
if (disabled[1] && endDate) {
return !isSameDate(generateConfig, date, endDate) && generateConfig.isAfter(date, endDate);
}
return false;
}, [disabledDate, disabled[1], endDate]);
var disableEndDate = React.useCallback(function (date) {
if (disabledDate && disabledDate(date)) {
return true;
}
if (startDate) {
var compareStartDate = picker === 'week' ? generateConfig.addDate(startDate, -7) : startDate;
return !isSameDate(generateConfig, date, compareStartDate) && generateConfig.isAfter(compareStartDate, date);
}
return false;
}, [disabledDate, startDate, picker]); // Handle week date disabled
var sharedWeekDisabledConfig = {
generateConfig: generateConfig,
locale: locale
};
var _useWeekDisabled = useWeekDisabled(_objectSpread({}, sharedWeekDisabledConfig, {
disabledDate: disabledStartDate
})),
_useWeekDisabled2 = _slicedToArray(_useWeekDisabled, 1),
disabledStartWeekDate = _useWeekDisabled2[0];
var _useWeekDisabled3 = useWeekDisabled(_objectSpread({}, sharedWeekDisabledConfig, {
disabledDate: disableEndDate
})),
_useWeekDisabled4 = _slicedToArray(_useWeekDisabled3, 1),
disabledEndWeekDate = _useWeekDisabled4[0];
if (picker === 'week') {
return [disabledStartWeekDate, disabledEndWeekDate];
}
return [disabledStartDate, disableEndDate];
}

View File

@@ -0,0 +1,8 @@
import { RangeValue, PickerMode } from '../interface';
import { GenerateConfig } from '../generate';
export default function useRangeViewDates<DateType>({ values, picker, defaultDates, generateConfig, }: {
values: RangeValue<DateType>;
picker: PickerMode;
defaultDates: RangeValue<DateType> | undefined;
generateConfig: GenerateConfig<DateType>;
}): [(activePickerIndex: 0 | 1) => DateType, (viewDate: DateType | null, index: 0 | 1) => void];

View File

@@ -0,0 +1,127 @@
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import * as React from 'react';
import { getValue, updateValues } from '../utils/miscUtil';
import { getClosingViewDate, isSameYear, isSameMonth, isSameDecade } from '../utils/dateUtil';
function getStartEndDistance(startDate, endDate, picker, generateConfig) {
var startNext = getClosingViewDate(startDate, picker, generateConfig, 1);
function getDistance(compareFunc) {
if (compareFunc(startDate, endDate)) {
return 'same';
}
if (compareFunc(startNext, endDate)) {
return 'closing';
}
return 'far';
}
switch (picker) {
case 'year':
return getDistance(function (start, end) {
return isSameDecade(generateConfig, start, end);
});
case 'month':
return getDistance(function (start, end) {
return isSameYear(generateConfig, start, end);
});
default:
return getDistance(function (start, end) {
return isSameMonth(generateConfig, start, end);
});
}
}
function getRangeViewDate(values, index, picker, generateConfig) {
var startDate = getValue(values, 0);
var endDate = getValue(values, 1);
if (index === 0) {
return startDate;
}
if (startDate && endDate) {
var distance = getStartEndDistance(startDate, endDate, picker, generateConfig);
switch (distance) {
case 'same':
return startDate;
case 'closing':
return startDate;
default:
return getClosingViewDate(endDate, picker, generateConfig, -1);
}
}
return startDate;
}
export default function useRangeViewDates(_ref) {
var values = _ref.values,
picker = _ref.picker,
defaultDates = _ref.defaultDates,
generateConfig = _ref.generateConfig;
var _React$useState = React.useState(function () {
return [getValue(defaultDates, 0), getValue(defaultDates, 1)];
}),
_React$useState2 = _slicedToArray(_React$useState, 2),
defaultViewDates = _React$useState2[0],
setDefaultViewDates = _React$useState2[1];
var _React$useState3 = React.useState(null),
_React$useState4 = _slicedToArray(_React$useState3, 2),
viewDates = _React$useState4[0],
setInternalViewDates = _React$useState4[1];
var startDate = getValue(values, 0);
var endDate = getValue(values, 1);
function getViewDate(index) {
// If set default view date, use it
if (defaultViewDates[index]) {
return defaultViewDates[index];
}
return getValue(viewDates, index) || getRangeViewDate(values, index, picker, generateConfig) || startDate || endDate || generateConfig.getNow();
}
function setViewDate(viewDate, index) {
if (viewDate) {
var newViewDates = updateValues(viewDates, viewDate, index); // Set view date will clean up default one
setDefaultViewDates( // Should always be an array
updateValues(defaultViewDates, null, index) || [null, null]); // Reset another one when not have value
var anotherIndex = (index + 1) % 2;
if (getValue(values, anotherIndex)) {
newViewDates = updateValues(newViewDates, viewDate, anotherIndex);
}
setInternalViewDates(newViewDates);
} else if (startDate || endDate) {
// Reset all when has values when `viewDate` is `null` which means from open trigger
setInternalViewDates(null);
}
}
return [getViewDate, setViewDate];
}

View File

@@ -0,0 +1,5 @@
export default function useTextValueMapping<ValueType>({ valueTexts, onTextChange, }: {
/** Must useMemo, to assume that `valueTexts` only match on the first change */
valueTexts: string[];
onTextChange: (text: string) => void;
}): [string, (text: string) => void, () => void];

View File

@@ -0,0 +1,43 @@
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import * as React from 'react';
export default function useTextValueMapping(_ref) {
var valueTexts = _ref.valueTexts,
onTextChange = _ref.onTextChange;
var _React$useState = React.useState(''),
_React$useState2 = _slicedToArray(_React$useState, 2),
text = _React$useState2[0],
setInnerText = _React$useState2[1];
var valueTextsRef = React.useRef([]);
valueTextsRef.current = valueTexts;
function triggerTextChange(value) {
setInnerText(value);
onTextChange(value);
}
function resetText() {
setInnerText(valueTextsRef.current[0]);
}
React.useEffect(function () {
if (valueTexts.every(function (valText) {
return valText !== text;
})) {
resetText();
}
}, [valueTexts.join('||')]);
return [text, triggerTextChange, resetText];
}

View File

@@ -0,0 +1,9 @@
import { GenerateConfig } from '../generate';
import { Locale } from '../interface';
interface ValueTextConfig<DateType> {
formatList: string[];
generateConfig: GenerateConfig<DateType>;
locale: Locale;
}
export default function useValueTexts<DateType>(value: DateType | null, { formatList, generateConfig, locale }: ValueTextConfig<DateType>): string[];
export {};

18
web/node_modules/rc-picker/es/hooks/useValueTexts.js generated vendored Normal file
View File

@@ -0,0 +1,18 @@
import shallowEqual from 'shallowequal';
import useMemo from "rc-util/es/hooks/useMemo";
export default function useValueTexts(value, _ref) {
var formatList = _ref.formatList,
generateConfig = _ref.generateConfig,
locale = _ref.locale;
return useMemo(function () {
if (!value) {
return [''];
}
return formatList.map(function (subFormat) {
return generateConfig.locale.format(locale.locale, value, subFormat);
});
}, [value, formatList], function (prev, next) {
return prev[0] !== next[0] || !shallowEqual(prev[1], next[1]);
});
}

View File

@@ -0,0 +1,7 @@
import { GenerateConfig } from '../generate';
import { Locale } from '../interface';
export default function useWeekDisabled<DateType>({ disabledDate, locale, generateConfig, }: {
disabledDate: (date: DateType) => boolean;
locale: Locale;
generateConfig: GenerateConfig<DateType>;
}): [(date: DateType) => boolean];

41
web/node_modules/rc-picker/es/hooks/useWeekDisabled.js generated vendored Normal file
View File

@@ -0,0 +1,41 @@
import * as React from 'react';
export default function useWeekDisabled(_ref) {
var disabledDate = _ref.disabledDate,
locale = _ref.locale,
generateConfig = _ref.generateConfig;
var disabledCache = React.useMemo(function () {
return new Map();
}, [disabledDate]);
function disabledWeekDate(date) {
var weekStr = generateConfig.locale.format(locale.locale, date, 'YYYY-WW');
if (!disabledCache.has(weekStr)) {
var disabled = false;
var checkDisabled = function checkDisabled(offset) {
for (var i = 0; i < 7; i += 1) {
var currentDate = generateConfig.addDate(date, i * offset);
var currentWeekStr = generateConfig.locale.format(locale.locale, currentDate, 'YYYY-WW');
if (currentWeekStr !== weekStr) {
break;
}
if (disabledDate(currentDate)) {
disabled = true;
break;
}
}
};
checkDisabled(1);
checkDisabled(-1);
disabledCache.set(weekStr, disabled);
}
return disabledCache.get(weekStr);
}
return [disabledWeekDate];
}