cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
62 lines (61 loc) • 2.4 kB
JavaScript
import { bind } from "../../../../zrender/lib/core/util.mjs";
import { incrementalApplyVisual } from "../../visual/visualSolution.mjs";
import VisualMapping from "../../visual/VisualMapping.mjs";
import { getVisualFromData } from "../../visual/helper.mjs";
var visualMapEncodingHandlers = [
{
createOnAllSeries: true,
reset: function(seriesModel, ecModel) {
var resetDefines = [];
ecModel.eachComponent("visualMap", function(visualMapModel) {
var pipelineContext = seriesModel.pipelineContext;
if (!visualMapModel.isTargetSeries(seriesModel) || pipelineContext && pipelineContext.large) {
return;
}
resetDefines.push(incrementalApplyVisual(visualMapModel.stateList, visualMapModel.targetVisuals, bind(visualMapModel.getValueState, visualMapModel), visualMapModel.getDataDimensionIndex(seriesModel.getData())));
});
return resetDefines;
}
},
{
createOnAllSeries: true,
reset: function(seriesModel, ecModel) {
var data = seriesModel.getData();
var visualMetaList = [];
ecModel.eachComponent("visualMap", function(visualMapModel) {
if (visualMapModel.isTargetSeries(seriesModel)) {
var visualMeta = visualMapModel.getVisualMeta(bind(getColorVisual, null, seriesModel, visualMapModel)) || {
stops: [],
outerColors: []
};
var dimIdx = visualMapModel.getDataDimensionIndex(data);
if (dimIdx >= 0) {
visualMeta.dimension = dimIdx;
visualMetaList.push(visualMeta);
}
}
});
seriesModel.getData().setVisual("visualMeta", visualMetaList);
}
}
];
function getColorVisual(seriesModel, visualMapModel, value, valueState) {
var mappings = visualMapModel.targetVisuals[valueState];
var visualTypes = VisualMapping.prepareVisualTypes(mappings);
var resultVisual = {
color: getVisualFromData(seriesModel.getData(), "color")
};
for (var i = 0, len = visualTypes.length; i < len; i++) {
var type = visualTypes[i];
var mapping = mappings[type === "opacity" ? "__alphaForOpacity" : type];
mapping && mapping.applyVisual(value, getVisual, setVisual);
}
return resultVisual.color;
function getVisual(key) {
return resultVisual[key];
}
function setVisual(key, value2) {
resultVisual[key] = value2;
}
}
export { visualMapEncodingHandlers };