UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

90 lines (72 loc) 2.17 kB
import _defineProperty from "@babel/runtime/helpers/defineProperty"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import isObject from 'lodash/isObject'; import isNil from 'lodash/isNil'; import { isArrayLike } from 'mobx'; import moment from 'moment'; import { getConfig } from '../../../es/configure'; import { FieldType } from '../data-set/enum'; export function toRangeValue(value, range) { if (isArrayLike(range)) { if (isObject(value)) { var _range = _slicedToArray(range, 2), start = _range[0], end = _range[1]; return [value[start], value[end]]; } } else if (isArrayLike(value)) { return value.slice(0, 2); } return [undefined, undefined]; } export function fromRangeValue(value, range) { if (isArrayLike(range)) { var _ref; var _range2 = _slicedToArray(range, 2), start = _range2[0], end = _range2[1]; return _ref = {}, _defineProperty(_ref, start, value[0]), _defineProperty(_ref, end, value[1]), _ref; } return value; } export function toMultipleValue(value, range) { if (!isNil(value)) { var multipleValue = isArrayLike(value) ? value.slice() : [value]; if (range) { return multipleValue.map(function (item) { return toRangeValue(item, range); }); } return multipleValue; } return []; } export function getDateFormatByFieldType(type) { var formatter = getConfig('formatter'); switch (type) { case FieldType.date: return formatter.date; case FieldType.dateTime: return formatter.dateTime; case FieldType.week: return formatter.week; case FieldType.month: return formatter.month; case FieldType.year: return formatter.year; case FieldType.time: return formatter.time; default: return formatter.date; } } export function getDateFormatByField(field, type) { if (field) { return field.get('format') || getDateFormatByFieldType(type || field.type); } if (type) { return getDateFormatByFieldType(type); } return getConfig('formatter').jsonDate || moment.defaultFormat; } //# sourceMappingURL=utils.js.map