@ansible/react-json-chart-builder
Version:
A chart builder component in react, which uses JSON for schema.
46 lines • 1.79 kB
JavaScript
var _a;
export var ChartAxisFormatFunctionNames;
(function (ChartAxisFormatFunctionNames) {
ChartAxisFormatFunctionNames["default"] = "default";
ChartAxisFormatFunctionNames["formatDateAsDays"] = "formatDateAsDays";
ChartAxisFormatFunctionNames["formatDateAsDayMonth"] = "formatDateAsDayMonth";
ChartAxisFormatFunctionNames["formatNumberAsK"] = "formatNumberAsK";
})(ChartAxisFormatFunctionNames || (ChartAxisFormatFunctionNames = {}));
var returnSame = function (i) { return i.toString(); };
var formatDateAsDays = function (i) { return i && i.split('-')[2]; };
var formatDateAsDayMonth = function (i) {
if (!i)
return '';
var parts = i.split('-');
return "".concat(parts[1], "/").concat(parts[2]);
};
var formatNumberAsK = function (n) {
if (n === void 0) { n = 0; }
var digits = 3;
if ("".concat(n).length <= digits) {
return "".concat(n);
}
var divisor = 1;
var suffix = '';
if (Math.abs(+n) >= 1000000) {
divisor = 1000000;
suffix = 'M';
}
else if (Math.abs(+n) >= 1000) {
divisor = 1000;
suffix = 'k';
}
var output = +n / divisor;
var remainLen = digits - "".concat(output.toFixed(0)).length + (output > 0 ? 0 : 1);
return output % 1 === 0
? "".concat(output).concat(suffix)
: "".concat(output.toFixed(remainLen > 0 ? remainLen : 0)).concat(suffix);
};
var axisFormat = (_a = {},
_a[ChartAxisFormatFunctionNames.default] = returnSame,
_a[ChartAxisFormatFunctionNames.formatDateAsDays] = formatDateAsDays,
_a[ChartAxisFormatFunctionNames.formatDateAsDayMonth] = formatDateAsDayMonth,
_a[ChartAxisFormatFunctionNames.formatNumberAsK] = formatNumberAsK,
_a);
export default axisFormat;
//# sourceMappingURL=axisFormat.js.map