@antv/g2plot
Version:
G2 Plot, a market of plots built with the Grammar of Graphics'
85 lines • 2.55 kB
JavaScript
import { __extends } from "tslib";
import * as _ from '@antv/util';
import ElementParser from '../base';
var LineParser = /** @class */ (function (_super) {
__extends(LineParser, _super);
function LineParser() {
return _super !== null && _super.apply(this, arguments) || this;
}
LineParser.prototype.init = function () {
var props = this.plot.options;
this.config = {
type: 'line',
position: {
fields: [props.xField, props.yField],
},
connectNulls: props.connectNulls,
};
if (props.lineSize) {
this.parseSize();
}
if (props.smooth) {
this.config.shape = { values: ['smooth'] };
}
if (props.step) {
this.config.shape = { values: [props.step] };
}
if (props.seriesField || props.color) {
this.parseColor();
}
if (props.lineStyle) {
this.parseStyle();
}
};
LineParser.prototype.parseSize = function () {
var sizeProps = this.plot.options.lineSize;
var config = {};
if (_.isFunction(sizeProps)) {
config.callback = sizeProps;
}
else {
config.values = [sizeProps];
}
this.config.size = config;
};
LineParser.prototype.parseColor = function () {
var props = this.plot.options;
var config = {};
if (props.seriesField) {
config.fields = [props.seriesField];
}
if (_.has(props, 'color')) {
var color = props.color;
if (_.isString(color)) {
config.values = [color];
}
else if (_.isFunction(color)) {
config.callback = color;
}
else {
config.values = color;
}
}
this.config.color = config;
};
LineParser.prototype.parseStyle = function () {
var props = this.plot.options;
var styleProps = props.lineStyle;
var config = {
fields: null,
callback: null,
cfg: null,
};
if (_.isFunction(styleProps) && props.seriesField) {
config.fields = [props.seriesField];
config.callback = styleProps;
}
else {
config.cfg = styleProps;
}
this.config.style = config;
};
return LineParser;
}(ElementParser));
export default LineParser;
//# sourceMappingURL=main.js.map