@antv/t8
Version:
T8 is a text visualization solution for unstructured data within the AntV technology stack, and it is a declarative T8 markdown syntax that can be used to describe the content of data interpretation reports.
37 lines (33 loc) • 1.57 kB
JavaScript
;
var createEntityPhraseFactory = require('../createEntityPhraseFactory.js');
var isType = require('../../utils/isType.js');
require('../../charts/utils/selection.js');
require('tslib');
var index = require('../../charts/proportion/index.js');
var createInlineDocument = require('../utils/createInlineDocument.js');
var defaultProportionDescriptor = {
render: function (value, _a, paragraphType, themeSeedToken) {
var origin = _a.origin;
var chartElement = document.createElement('span');
index.renderProportionChart(chartElement, { data: getProportionNumber(value, origin) }, paragraphType, themeSeedToken);
return createInlineDocument.createInlineDocument(chartElement, value, 'suffix');
},
tooltip: {
title: function (value, metadata) { return (isType.isNumber(metadata.origin) ? "".concat(metadata.origin) : null); },
},
};
var createProportion = createEntityPhraseFactory.createEntityPhraseFactory('proportion', defaultProportionDescriptor);
/** text & entity */
var isNaN = function (v) { return Number.isNaN(v); };
function getProportionNumber(text, value) {
if (value && !isNaN(value))
return value;
if (text === null || text === void 0 ? void 0 : text.endsWith('%')) {
var percentageValue = text === null || text === void 0 ? void 0 : text.replace(/%$/, '');
if (!isNaN(Number(percentageValue)))
return Number(percentageValue) / 100;
}
return NaN;
}
exports.createProportion = createProportion;
//# sourceMappingURL=createProportion.js.map