amis-rpc-design/node_modules/rc-picker/lib/hooks/useValueTexts.js
2023-10-07 19:42:30 +08:00

46 lines
1.4 KiB
JavaScript

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useValueTexts;
var _useMemo = _interopRequireDefault(require("rc-util/lib/hooks/useMemo"));
var _isEqual = _interopRequireDefault(require("rc-util/lib/isEqual"));
var _dateUtil = require("../utils/dateUtil");
function useValueTexts(value, _ref) {
var formatList = _ref.formatList,
generateConfig = _ref.generateConfig,
locale = _ref.locale;
return (0, _useMemo.default)(function () {
if (!value) {
return [[''], ''];
}
// We will convert data format back to first format
var firstValueText = '';
var fullValueTexts = [];
for (var i = 0; i < formatList.length; i += 1) {
var format = formatList[i];
var formatStr = (0, _dateUtil.formatValue)(value, {
generateConfig: generateConfig,
locale: locale,
format: format
});
fullValueTexts.push(formatStr);
if (i === 0) {
firstValueText = formatStr;
}
}
return [fullValueTexts, firstValueText];
}, [value, formatList, locale], function (prev, next) {
return (
// Not Same Date
!(0, _dateUtil.isEqual)(generateConfig, prev[0], next[0]) ||
// Not Same format
!(0, _isEqual.default)(prev[1], next[1], true) ||
// Not Same locale
!(0, _isEqual.default)(prev[2], next[2], true)
);
});
}