@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
56 lines (47 loc) • 1.81 kB
JavaScript
import { getFieldByDataType } from "../../../../utils/field";
import { LINEAR_COLOR_THEMES } from "../constants";
import { data, discreteLegend } from "./common";
import { DataType } from "../../../../types/base";
import { axis, seriesField } from "./cartesian";
export const colorLine = context => {
const {colors: colors, spec: spec, chartTheme: chartTheme} = context;
return chartTheme || (colors && colors.length > 0 ? spec.color = colors : (spec.color = LINEAR_COLOR_THEMES.map((c => ({
gradient: "linear",
x0: 0,
y0: .5,
x1: 1,
y1: .5,
stops: [ {
offset: 0,
color: c[0]
}, {
offset: 1,
color: c[1]
} ]
}))), spec.point = {
style: {}
})), {
spec: spec
};
};
export const cartesianLine = context => {
const {cell: cell, spec: spec, fieldInfo: fieldInfo} = context, cellNew = Object.assign({}, cell);
if (spec.xField = cell.x, spec.yField = cell.y, cell.color) spec.seriesField = cell.color; else {
const remainedFields = fieldInfo.filter((({fieldName: fieldName}) => !spec.xField.includes(fieldName) && spec.yField !== fieldName)), colorField = getFieldByDataType(remainedFields, [ DataType.STRING, DataType.DATE ]);
colorField && (spec.seriesField = colorField.fieldName, cellNew.color = colorField.fieldName);
}
return {
spec: spec,
cell: cellNew
};
};
export const displayConfLine = context => {
const {spec: spec, chartTheme: chartTheme} = context;
return chartTheme || (spec.line = {
style: {}
}), {
spec: spec
};
};
export const pipelineLine = [ data, colorLine, cartesianLine, seriesField, axis, discreteLegend, displayConfLine ];
//# sourceMappingURL=line.js.map