useValueTexts.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. var formatList = _ref.formatList,
  13. generateConfig = _ref.generateConfig,
  14. locale = _ref.locale;
  15. var texts = (0, _useMemo.default)(function () {
  16. if (!value.value) {
  17. return [[''], ''];
  18. }
  19. // We will convert data format back to first format
  20. var firstValueText = '';
  21. var fullValueTexts = [];
  22. for (var i = 0; i < formatList.value.length; i += 1) {
  23. var format = formatList.value[i];
  24. var formatStr = (0, _dateUtil.formatValue)(value.value, {
  25. generateConfig: generateConfig.value,
  26. locale: locale.value,
  27. format: format
  28. });
  29. fullValueTexts.push(formatStr);
  30. if (i === 0) {
  31. firstValueText = formatStr;
  32. }
  33. }
  34. return [fullValueTexts, firstValueText];
  35. }, [value, formatList], function (next, prev) {
  36. return prev[0] !== next[0] || !(0, _shallowequal.default)(prev[1], next[1]);
  37. });
  38. var fullValueTexts = (0, _vue.computed)(function () {
  39. return texts.value[0];
  40. });
  41. var firstValueText = (0, _vue.computed)(function () {
  42. return texts.value[1];
  43. });
  44. return [fullValueTexts, firstValueText];
  45. }