UNPKG

@formant/ava

Version:

A framework for automated visual analytics.

33 lines (32 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.textMarkStrategy = void 0; var tslib_1 = require("tslib"); var lodash_1 = require("lodash"); var constants_1 = require("../../constants"); /** get mark for point patterns, the patterns should have same dimension and measure */ var textMarkStrategy = function (patterns, textConfig) { var _a = textConfig || {}, style = _a.style, label = _a.label, formatter = _a.formatter; var _b = patterns[0], measure = _b.measure, dimension = _b.dimension; var data = patterns.map(function (pattern) { var _a; var customLabel = (0, lodash_1.isFunction)(label) ? label(pattern) : label; var value = (0, lodash_1.isFunction)(formatter) ? formatter(pattern.y) : pattern.y; return _a = {}, _a[dimension] = pattern.x, _a[measure] = pattern.y, _a.label = customLabel !== null && customLabel !== void 0 ? customLabel : "".concat(pattern.x, "\n").concat(value), _a; }); return { type: 'text', data: data, encode: { x: dimension, y: measure, text: 'label', }, style: tslib_1.__assign(tslib_1.__assign({}, constants_1.TEXT_STYLE), style), }; }; exports.textMarkStrategy = textMarkStrategy;