@formant/ava
Version:
A framework for automated visual analytics.
47 lines (46 loc) • 2.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateHomogeneousInsightVisualizationSpec = exports.generateInsightVisualizationSpec = void 0;
var tslib_1 = require("tslib");
var lodash_1 = require("lodash");
var narrative_1 = tslib_1.__importDefault(require("../narrative"));
var chart_1 = require("../chart");
var generateInsightVisualizationSpec = function (insight, visualizationOptions) {
if (visualizationOptions === void 0) { visualizationOptions = {
lang: 'en-US',
}; }
var patterns = insight.patterns;
var specs = [];
if (!patterns.length)
return [];
var patternGroups = (0, lodash_1.groupBy)(patterns, function (pattern) { return pattern.type; });
Object.entries(patternGroups).forEach(function (_a) {
var _b = tslib_1.__read(_a, 2), patternType = _b[0], patternGroup = _b[1];
var chartSpec = (0, chart_1.generateInsightChartSpec)(tslib_1.__assign(tslib_1.__assign({}, insight), { patterns: patternGroup }));
specs.push({
patternType: patternType,
chartSpec: chartSpec,
narrativeSpec: (0, narrative_1.default)(tslib_1.__assign(tslib_1.__assign({}, insight), { patterns: patternGroup }), visualizationOptions),
});
});
return specs;
};
exports.generateInsightVisualizationSpec = generateInsightVisualizationSpec;
var generateHomogeneousInsightVisualizationSpec = function (insight, visualizationOptions) {
if (visualizationOptions === void 0) { visualizationOptions = {
lang: 'en-US',
}; }
var patterns = insight.patterns;
var schemas = [];
patterns.forEach(function (pattern) {
var insightType = pattern.insightType;
var chartSpec = {};
schemas.push({
patternType: insightType,
chartSpec: chartSpec,
narrativeSpec: (0, narrative_1.default)(tslib_1.__assign(tslib_1.__assign({}, (0, lodash_1.omit)(insight, ['patterns'])), pattern), visualizationOptions),
});
});
return schemas;
};
exports.generateHomogeneousInsightVisualizationSpec = generateHomogeneousInsightVisualizationSpec;