| 35 | const linesVisual: StageHandler = { |
| 36 | seriesType: 'lines', |
| 37 | reset(seriesModel: LinesSeriesModel) { |
| 38 | const symbolType = normalize(seriesModel.get('symbol')); |
| 39 | const symbolSize = normalize(seriesModel.get('symbolSize')); |
| 40 | const data = seriesModel.getData() as SeriesData<LinesSeriesModel, LineDataVisual>; |
| 41 | |
| 42 | data.setVisual('fromSymbol', symbolType && symbolType[0]); |
| 43 | data.setVisual('toSymbol', symbolType && symbolType[1]); |
| 44 | data.setVisual('fromSymbolSize', symbolSize && symbolSize[0]); |
| 45 | data.setVisual('toSymbolSize', symbolSize && symbolSize[1]); |
| 46 | |
| 47 | function dataEach( |
| 48 | data: SeriesData<LinesSeriesModel, LineDataVisual>, |
| 49 | idx: number |
| 50 | ): void { |
| 51 | const itemModel = data.getItemModel(idx) as Model<LinesDataItemOption>; |
| 52 | const symbolType = normalize(itemModel.getShallow('symbol', true)); |
| 53 | const symbolSize = normalize(itemModel.getShallow('symbolSize', true)); |
| 54 | |
| 55 | symbolType[0] && data.setItemVisual(idx, 'fromSymbol', symbolType[0]); |
| 56 | symbolType[1] && data.setItemVisual(idx, 'toSymbol', symbolType[1]); |
| 57 | symbolSize[0] && data.setItemVisual(idx, 'fromSymbolSize', symbolSize[0]); |
| 58 | symbolSize[1] && data.setItemVisual(idx, 'toSymbolSize', symbolSize[1]); |
| 59 | } |
| 60 | |
| 61 | return { |
| 62 | dataEach: data.hasItemOption ? dataEach : null |
| 63 | }; |
| 64 | } |
| 65 | }; |
| 66 | |
| 67 | export default linesVisual; |