UNPKG

@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
'use strict'; 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