UNPKG

@antv/g2

Version:

the Grammar of Graphics in Javascript

27 lines (24 loc) 835 B
import Element from '../../../geometry/element/'; import { getElements, getElementValue } from '../util'; import Highlight from './highlight'; /** * Highlight color * @ignore */ class HighlightColor extends Highlight { protected setStateByElement(element: Element, enable: boolean) { const view = this.context.view; const colorAttr = element.geometry.getAttribute('color'); if (!colorAttr) { return; } const scale = view.getScaleByField(colorAttr.getFields()[0]); const value = getElementValue(element, scale.field); const elements = getElements(view); const highlightElements = elements.filter((el) => { return getElementValue(el, scale.field) === value; }); this.setHighlightBy(elements, (el) => highlightElements.includes(el), enable); } } export default HighlightColor;