@formant/ava
Version:
A framework for automated visual analytics.
33 lines (32 loc) • 1.33 kB
JavaScript
;
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;