UNPKG

3.42 kBSource Map (JSON)View Raw
1{"version":3,"file":"range-highlight.js","sourceRoot":"","sources":["../../../../src/interaction/action/element/range-highlight.ts"],"names":[],"mappings":";;;;AACA,wCAAuC;AACvC,mDAAkE;AAClE,sEAA8C;AAE9C,IAAK,MAKJ;AALD,WAAK,MAAM;IACT,sEAA4D,CAAA;IAC5D,oEAA0D,CAAA;IAC1D,8DAAoD,CAAA;IACpD,4DAAkD,CAAA;AACpD,CAAC,EALI,MAAM,KAAN,MAAM,QAKV;AAEkB,gDAA8B;AAEjD;;;GAGG;AACH;IAAoC,iDAAiB;IAArD;QAAA,qEAiCC;QAhCW,eAAS,GAAW,QAAQ,CAAC;;IAgCzC,CAAC;IA9BC,6BAA6B;IACnB,8CAAc,GAAxB,UAAyB,IAAI;QAC3B,IAAA,+BAAc,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,yCAAS,GAAhB;QACQ,IAAA,KAAkB,IAAI,CAAC,OAAO,EAA5B,IAAI,UAAA,EAAE,KAAK,WAAiB,CAAC;QACrC,IAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7C,IAAM,OAAO,GAAG,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,aAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACI,qCAAK,GAAZ;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,aAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9E,iBAAM,KAAK,WAAE,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,aAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAES,gDAAgB,GAA1B,UAA2B,QAAmB,EAAE,MAAe,EAAE,WAAsB;QACrF,IAAA,+BAAc,EAAC,WAAW,EAAE,UAAC,EAAE,IAAK,OAAA,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAzB,CAAyB,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IACH,4BAAC;AAAD,CAAC,AAjCD,CAAoC,qBAAiB,GAiCpD;AAED,kBAAe,qBAAqB,CAAC","sourcesContent":["import Element from '../../../geometry/element';\nimport { Event } from '../../../chart';\nimport { clearHighlight, setHighlightBy } from './highlight-util';\nimport ElementRangeState from './range-state';\n\nenum EVENTS {\n BEFORE_HIGHLIGHT = 'element-range-highlight:beforehighlight',\n AFTER_HIGHLIGHT = 'element-range-highlight:afterhighlight',\n BEFORE_CLEAR = 'element-range-highlight:beforeclear',\n AFTER_CLEAR = 'element-range-highlight:afterclear',\n}\n\nexport { EVENTS as ELEMENT_RANGE_HIGHLIGHT_EVENTS };\n\n/**\n * @ignore\n * 区域 highlight 的 Action\n */\nclass ElementRangeHighlight extends ElementRangeState {\n protected stateName: string = 'active';\n\n // 清理掉所有的 active, unactive 状态\n protected clearViewState(view) {\n clearHighlight(view);\n }\n\n /**\n * 设置 highlight\n */\n public highlight() {\n const { view, event } = this.context;\n const elements = this.getIntersectElements();\n const payload = { view, event, highlightElements: elements };\n view.emit(EVENTS.BEFORE_HIGHLIGHT, Event.fromData(view, EVENTS.BEFORE_HIGHLIGHT, payload));\n this.setState();\n view.emit(EVENTS.AFTER_HIGHLIGHT, Event.fromData(view, EVENTS.AFTER_HIGHLIGHT, payload));\n }\n\n /**\n * @overrider 添加事件\n */\n public clear() {\n const view = this.context.view;\n view.emit(EVENTS.BEFORE_CLEAR, Event.fromData(view, EVENTS.BEFORE_CLEAR, {}));\n super.clear();\n view.emit(EVENTS.AFTER_CLEAR, Event.fromData(view, EVENTS.AFTER_CLEAR, {}));\n }\n\n protected setElementsState(elements: Element[], enable: boolean, allElements: Element[]) {\n setHighlightBy(allElements, (el) => elements.indexOf(el) >= 0, enable);\n }\n}\n\nexport default ElementRangeHighlight;\n"]}
\No newline at end of file