UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

25 lines (21 loc) 1.45 kB
import { isValidScaleType } from "@visactor/vscale"; import { isFunction, isNil } from "@visactor/vutils"; import { BaseMark } from "./base-mark"; export class BaseLineMark extends BaseMark { setStyle(style, state = "normal", level = 0, stateStyle = this.stateStyle) { if (isNil(style)) return; void 0 === stateStyle[state] && (stateStyle[state] = {}); const ignoreAttributes = this._getIgnoreAttributes(), segmentAttributes = [ "strokeWidth", "lineWidth", "lineDash", "strokeDash", "lineJoin", "stroke", "strokeOpacity", "opacity", "fill", "fillOpacity", "texture", "texturePadding", "textureSize", "textureColor" ], isUserLevel = this.isUserLevel(level); let enableSegments = !1; Object.keys(style).forEach((attr => { const attrStyle = style[attr]; if (isNil(attrStyle) || ignoreAttributes.includes(attr)) return; isUserLevel && segmentAttributes.includes(attr) && (isValidScaleType(null == attrStyle ? void 0 : attrStyle.type) || (null == attrStyle ? void 0 : attrStyle.scale) || isFunction(attrStyle)) && (enableSegments = !0); const styleConverter = this._filterAttribute(attr, attrStyle, state, level, isUserLevel, stateStyle); this.setAttribute(attr, styleConverter, state, level, stateStyle); })), enableSegments && this.setMarkConfig({ enableSegments: !0 }); } } //# sourceMappingURL=base-line.js.map