choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
81 lines (68 loc) • 1.8 kB
JavaScript
import capitalize from 'lodash/capitalize';
import { FieldFormat, FieldTrim, FieldType } from '../data-set/enum';
var supportsLocales;
export function toLocaleStringSupportsLocales() {
if (supportsLocales === undefined) {
try {
0 .toLocaleString('i');
supportsLocales = false;
} catch (e) {
supportsLocales = e.name === 'RangeError';
}
}
return supportsLocales;
}
export function getNumberFormatOptions(type, options) {
if (type === FieldType.number) {
return {
style: 'decimal'
};
}
if (options && options.currency) {
return {
style: 'currency'
};
}
return {
style: 'decimal',
minimumFractionDigits: 2,
maximumFractionDigits: 2
};
}
export function toLocaleStringPolyfill(value, type, options) {
if (type === FieldType.number) {
var fraction = String(value).split('.')[1];
return value.toLocaleString().split('.')[0] + (fraction ? ".".concat(fraction) : '');
}
var currency = options && options.currency;
return "".concat(currency ? "".concat(currency, " ") : '').concat(value.toLocaleString());
}
export function trimString(value, fieldTrim) {
if (fieldTrim) {
switch (fieldTrim) {
case FieldTrim.both:
return value.trim();
case FieldTrim.left:
return value.trimLeft();
case FieldTrim.right:
return value.trimRight();
default:
}
}
return value;
}
export function transformString(value, format) {
if (format) {
switch (format) {
case FieldFormat.uppercase:
return value.toUpperCase();
case FieldFormat.lowercase:
return value.toLowerCase();
case FieldFormat.capitalize:
return capitalize(value);
default:
}
}
return value;
}
//# sourceMappingURL=utils.js.map