MCPcopy Index your code
hub / github.com/SuperMap/iClient-JavaScript / visualSymbol

Function visualSymbol

libs/echarts/echarts-en.simple.js:35535–35610  ·  view source on GitHub ↗
(seriesType, defaultSymbolType, legendSymbol)

Source from the content-addressed store, hash-verified

35533*/
35534
35535var 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);

Callers 1

Calls 3

isFunction$1Function · 0.70
getDataMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected