useValueTexts.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = useValueTexts;
  7. var _vue = require("vue");
  8. var _useMemo = _interopRequireDefault(require("../../_util/hooks/useMemo"));
  9. var _shallowequal = _interopRequireDefault(require("../../_util/shallowequal"));
  10. var _dateUtil = require("../utils/dateUtil");
  11. function useValueTexts(value, _ref) {
  12. let {
  13. formatList,
  14. generateConfig,
  15. locale
  16. } = _ref;
  17. const texts = (0, _useMemo.default)(() => {
  18. if (!value.value) {
  19. return [[''], ''];
  20. }
  21. // We will convert data format back to first format
  22. let firstValueText = '';
  23. const fullValueTexts = [];
  24. for (let i = 0; i < formatList.value.length; i += 1) {
  25. const format = formatList.value[i];
  26. const formatStr = (0, _dateUtil.formatValue)(value.value, {
  27. generateConfig: generateConfig.value,
  28. locale: locale.value,
  29. format
  30. });
  31. fullValueTexts.push(formatStr);
  32. if (i === 0) {
  33. firstValueText = formatStr;
  34. }
  35. }
  36. return [fullValueTexts, firstValueText];
  37. }, [value, formatList], (next, prev) => prev[0] !== next[0] || !(0, _shallowequal.default)(prev[1], next[1]));
  38. const fullValueTexts = (0, _vue.computed)(() => texts.value[0]);
  39. const firstValueText = (0, _vue.computed)(() => texts.value[1]);
  40. return [fullValueTexts, firstValueText];
  41. }