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.

102 lines (98 loc) 4.16 kB
'use strict'; var createEntityPhraseFactory = require('../createEntityPhraseFactory.js'); var isType = require('../../utils/isType.js'); var getPrefixCls = require('../../utils/getPrefixCls.js'); var getElementFontSize = require('../../utils/getElementFontSize.js'); var createInlineDocument = require('../utils/createInlineDocument.js'); require('tslib'); // import { ArrowDown, ArrowUp } from '../../assets/icons'; var MARGIN_RIGHT = 1; var defaultDeltaValueDescriptor = { classNames: function (value, _a) { var assessment = _a.assessment; return [getPrefixCls.getPrefixCls("value-".concat(assessment))]; }, getText: getAssessmentText, render: function (value, _a) { var assessment = _a.assessment; return createInlineDocument.createInlineDocument(getComparePrefix(assessment, ['-', '+']), value, 'prefix'); }, style: function (value, _a, themeSeedToken) { var assessment = _a.assessment; return ({ color: getCompareColor(assessment, themeSeedToken), }); }, tooltip: { title: function (value, metadata) { return (isType.isNumber(metadata.origin) ? "".concat(metadata.origin) : null); }, }, }; var createDeltaValue = createEntityPhraseFactory.createEntityPhraseFactory('delta_value', defaultDeltaValueDescriptor); var defaultRatioValueDescriptor = { classNames: function (value, _a) { var assessment = _a.assessment; return [getPrefixCls.getPrefixCls("value-".concat(assessment))]; }, getText: getAssessmentText, render: function (value, _a, paragraphType, themeSeedToken) { var assessment = _a.assessment; var fontSize = getElementFontSize.getElementFontSize(paragraphType, themeSeedToken); var prefix = getComparePrefix(assessment, [ createArrow('up', fontSize * 0.8), createArrow('down', fontSize * 0.8), ]); return createInlineDocument.createInlineDocument(prefix, value, 'prefix'); }, style: function (value, _a, themeSeedToken) { var assessment = _a.assessment; return ({ color: getCompareColor(assessment, themeSeedToken), }); }, tooltip: { title: function (value, metadata) { return (isType.isNumber(metadata.origin) ? "".concat(metadata.origin) : null); }, }, }; var createRatioValue = createEntityPhraseFactory.createEntityPhraseFactory('ratio_value', defaultRatioValueDescriptor); function getCompareColor(assessment, themeSeedToken) { var color; if (assessment === 'positive') color = themeSeedToken.colorPositive; if (assessment === 'negative') color = themeSeedToken.colorNegative; return color; } function getComparePrefix(assessment, _a) { var neg = _a[0], pos = _a[1]; var prefix = null; if (assessment === 'negative') prefix = neg; if (assessment === 'positive') prefix = pos; return prefix; } function getAssessmentText(value, metadata) { return "".concat((metadata === null || metadata === void 0 ? void 0 : metadata.assessment) === 'negative' ? '-' : '').concat(value); } function createArrow(direction, size) { var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('width', "".concat(size, "px")); svg.setAttribute('height', "".concat(size, "px")); svg.setAttribute('viewBox', '0 0 8 9'); svg.style.marginRight = "".concat(MARGIN_RIGHT, "px"); svg.setAttribute('version', '1.1'); var g = document.createElementNS('http://www.w3.org/2000/svg', 'g'); g.setAttribute('transform', 'translate(-2.000000, -2.000000)'); var polygon = document.createElementNS('http://www.w3.org/2000/svg', 'polygon'); polygon.setAttribute('fill', 'currentColor'); var points = direction === 'down' ? '6 2 9.5 11 2.5 11' // arrow down : '6 11 9.5 2 2.5 2'; // arrow up polygon.setAttribute('points', points); g.appendChild(polygon); svg.appendChild(g); return svg; } exports.createDeltaValue = createDeltaValue; exports.createRatioValue = createRatioValue; //# sourceMappingURL=createCompare.js.map