(seriesType, defaultSymbolType, legendSymbol)
| 35533 | */ |
| 35534 | |
| 35535 | var visualSymbol = function (seriesType, defaultSymbolType, legendSymbol) { |
| 35536 | // Encoding visual for all series include which is filtered for legend drawing |
| 35537 | return { |
| 35538 | seriesType: seriesType, |
| 35539 | |
| 35540 | // For legend. |
| 35541 | performRawSeries: true, |
| 35542 | |
| 35543 | reset: function (seriesModel, ecModel, api) { |
| 35544 | var data = seriesModel.getData(); |
| 35545 | |
| 35546 | var symbolType = seriesModel.get('symbol'); |
| 35547 | var symbolSize = seriesModel.get('symbolSize'); |
| 35548 | var keepAspect = seriesModel.get('symbolKeepAspect'); |
| 35549 | var symbolRotate = seriesModel.get('symbolRotate'); |
| 35550 | |
| 35551 | var hasSymbolTypeCallback = isFunction$1(symbolType); |
| 35552 | var hasSymbolSizeCallback = isFunction$1(symbolSize); |
| 35553 | var hasSymbolRotateCallback = isFunction$1(symbolRotate); |
| 35554 | var hasCallback = hasSymbolTypeCallback || hasSymbolSizeCallback || hasSymbolRotateCallback; |
| 35555 | var seriesSymbol = (!hasSymbolTypeCallback && symbolType) ? symbolType : defaultSymbolType; |
| 35556 | var seriesSymbolSize = !hasSymbolSizeCallback ? symbolSize : null; |
| 35557 | data.setVisual({ |
| 35558 | legendSymbol: legendSymbol || seriesSymbol, |
| 35559 | // If seting callback functions on `symbol` or `symbolSize`, for simplicity and avoiding |
| 35560 | // to bring trouble, we do not pick a reuslt from one of its calling on data item here, |
| 35561 | // but just use the default value. Callback on `symbol` or `symbolSize` is convenient in |
| 35562 | // some cases but generally it is not recommanded. |
| 35563 | symbol: seriesSymbol, |
| 35564 | symbolSize: seriesSymbolSize, |
| 35565 | symbolKeepAspect: keepAspect, |
| 35566 | symbolRotate: symbolRotate |
| 35567 | }); |
| 35568 | |
| 35569 | // Only visible series has each data be visual encoded |
| 35570 | if (ecModel.isSeriesFiltered(seriesModel)) { |
| 35571 | return; |
| 35572 | } |
| 35573 | |
| 35574 | function dataEach(data, idx) { |
| 35575 | if (hasCallback) { |
| 35576 | var rawValue = seriesModel.getRawValue(idx); |
| 35577 | var params = seriesModel.getDataParams(idx); |
| 35578 | hasSymbolTypeCallback && data.setItemVisual(idx, 'symbol', symbolType(rawValue, params)); |
| 35579 | hasSymbolSizeCallback && data.setItemVisual(idx, 'symbolSize', symbolSize(rawValue, params)); |
| 35580 | hasSymbolRotateCallback && data.setItemVisual(idx, 'symbolRotate', symbolRotate(rawValue, params)); |
| 35581 | } |
| 35582 | |
| 35583 | if (data.hasItemOption) { |
| 35584 | var itemModel = data.getItemModel(idx); |
| 35585 | var itemSymbolType = itemModel.getShallow('symbol', true); |
| 35586 | var itemSymbolSize = itemModel.getShallow('symbolSize', true); |
| 35587 | var itemSymbolRotate = itemModel.getShallow('symbolRotate', true); |
| 35588 | var itemSymbolKeepAspect = itemModel.getShallow('symbolKeepAspect', true); |
| 35589 | |
| 35590 | // If has item symbol |
| 35591 | if (itemSymbolType != null) { |
| 35592 | data.setItemVisual(idx, 'symbol', itemSymbolType); |
no test coverage detected