choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
90 lines (72 loc) • 2.17 kB
JavaScript
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