parallelVisual.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. var opacityAccessPath = ['lineStyle', 'normal', 'opacity'];
  2. function _default(ecModel) {
  3. ecModel.eachSeriesByType('parallel', function (seriesModel) {
  4. var itemStyleModel = seriesModel.getModel('itemStyle.normal');
  5. var lineStyleModel = seriesModel.getModel('lineStyle.normal');
  6. var globalColors = ecModel.get('color');
  7. var color = lineStyleModel.get('color') || itemStyleModel.get('color') || globalColors[seriesModel.seriesIndex % globalColors.length];
  8. var inactiveOpacity = seriesModel.get('inactiveOpacity');
  9. var activeOpacity = seriesModel.get('activeOpacity');
  10. var lineStyle = seriesModel.getModel('lineStyle.normal').getLineStyle();
  11. var coordSys = seriesModel.coordinateSystem;
  12. var data = seriesModel.getData();
  13. var opacityMap = {
  14. normal: lineStyle.opacity,
  15. active: activeOpacity,
  16. inactive: inactiveOpacity
  17. };
  18. coordSys.eachActiveState(data, function (activeState, dataIndex) {
  19. var itemModel = data.getItemModel(dataIndex);
  20. var opacity = opacityMap[activeState];
  21. if (activeState === 'normal') {
  22. var itemOpacity = itemModel.get(opacityAccessPath, true);
  23. itemOpacity != null && (opacity = itemOpacity);
  24. }
  25. data.setItemVisual(dataIndex, 'opacity', opacity);
  26. });
  27. data.setVisual('color', color);
  28. });
  29. }
  30. module.exports = _default;