Number.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _vue = require("vue");
  8. var _padEnd = _interopRequireDefault(require("lodash/padEnd"));
  9. var StatisticNumber = function StatisticNumber(props) {
  10. var value = props.value,
  11. formatter = props.formatter,
  12. precision = props.precision,
  13. decimalSeparator = props.decimalSeparator,
  14. _props$groupSeparator = props.groupSeparator,
  15. groupSeparator = _props$groupSeparator === void 0 ? '' : _props$groupSeparator,
  16. prefixCls = props.prefixCls;
  17. var valueNode;
  18. if (typeof formatter === 'function') {
  19. // Customize formatter
  20. valueNode = formatter({
  21. value: value
  22. });
  23. } else {
  24. // Internal formatter
  25. var val = String(value);
  26. var cells = val.match(/^(-?)(\d*)(\.(\d+))?$/);
  27. // Process if illegal number
  28. if (!cells) {
  29. valueNode = val;
  30. } else {
  31. var negative = cells[1];
  32. var int = cells[2] || '0';
  33. var decimal = cells[4] || '';
  34. int = int.replace(/\B(?=(\d{3})+(?!\d))/g, groupSeparator);
  35. if (typeof precision === 'number') {
  36. decimal = (0, _padEnd.default)(decimal, precision, '0').slice(0, precision);
  37. }
  38. if (decimal) {
  39. decimal = "".concat(decimalSeparator).concat(decimal);
  40. }
  41. valueNode = [(0, _vue.createVNode)("span", {
  42. "key": "int",
  43. "class": "".concat(prefixCls, "-content-value-int")
  44. }, [negative, int]), decimal && (0, _vue.createVNode)("span", {
  45. "key": "decimal",
  46. "class": "".concat(prefixCls, "-content-value-decimal")
  47. }, [decimal])];
  48. }
  49. }
  50. return (0, _vue.createVNode)("span", {
  51. "class": "".concat(prefixCls, "-content-value")
  52. }, [valueNode]);
  53. };
  54. StatisticNumber.displayName = 'StatisticNumber';
  55. var _default = StatisticNumber;
  56. exports.default = _default;