@visactor/vmind
Version:
<div align="center"> <a href="https://github.com/VisActor#gh-light-mode-only" target="_blank"> <img alt="VisActor Logo" width="200" src="https://github.com/VisActor/.github/blob/main/profile/logo_500_200_light.svg"/> </a> <a href="https://githu
52 lines (44 loc) • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.pipelineTreemap = exports.treemapDisplayConf = exports.getTreemapData = exports.treemapData = void 0;
const vutils_1 = require("@visactor/vutils"), common_1 = require("./common"), treemapData = context => {
const {dataTable: dataTable, cell: cell, spec: spec} = context;
return spec.data = {
id: "data",
values: (0, exports.getTreemapData)(dataTable, (0, vutils_1.isArray)(cell.color) ? cell.color : [ cell.color ], 0, cell.size)
}, {
spec: spec
};
};
exports.treemapData = treemapData;
const getTreemapData = (dataTable, colorField, index, sizeField) => {
if (colorField.length - 1 === index) return Array.from(new Set(dataTable.map((data => ({
name: data[colorField[index]],
value: data[sizeField]
})))));
return Array.from(new Set(dataTable.map((data => data[colorField[index]])))).map((value => {
const currentDataset = dataTable.filter((data => data[colorField[index]] === value));
return currentDataset[0] && "" === currentDataset[0][colorField[index + 1]] ? {
name: value,
value: currentDataset[0][sizeField]
} : {
name: value,
children: (0, exports.getTreemapData)(currentDataset, colorField, index + 1, sizeField)
};
}));
};
exports.getTreemapData = getTreemapData;
const treemapDisplayConf = context => {
const {spec: spec} = context;
return spec.label = {
visible: !0,
style: {
fontSize: 12
}
}, {
spec: spec
};
};
exports.treemapDisplayConf = treemapDisplayConf, exports.pipelineTreemap = [ exports.treemapData, common_1.color, common_1.sunburstOrTreemapField, exports.treemapDisplayConf ];
//# sourceMappingURL=treemap.js.map