BoxplotView.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. var zrUtil = require("zrender/lib/core/util");
  2. var ChartView = require("../../view/Chart");
  3. var graphic = require("../../util/graphic");
  4. var _whiskerBoxCommon = require("../helper/whiskerBoxCommon");
  5. var viewMixin = _whiskerBoxCommon.viewMixin;
  6. var BoxplotView = ChartView.extend({
  7. type: 'boxplot',
  8. getStyleUpdater: function () {
  9. return updateStyle;
  10. },
  11. dispose: zrUtil.noop
  12. });
  13. zrUtil.mixin(BoxplotView, viewMixin, true); // Update common properties
  14. var normalStyleAccessPath = ['itemStyle', 'normal'];
  15. var emphasisStyleAccessPath = ['itemStyle', 'emphasis'];
  16. function updateStyle(itemGroup, data, idx) {
  17. var itemModel = data.getItemModel(idx);
  18. var normalItemStyleModel = itemModel.getModel(normalStyleAccessPath);
  19. var borderColor = data.getItemVisual(idx, 'color'); // Exclude borderColor.
  20. var itemStyle = normalItemStyleModel.getItemStyle(['borderColor']);
  21. var whiskerEl = itemGroup.childAt(itemGroup.whiskerIndex);
  22. whiskerEl.style.set(itemStyle);
  23. whiskerEl.style.stroke = borderColor;
  24. whiskerEl.dirty();
  25. var bodyEl = itemGroup.childAt(itemGroup.bodyIndex);
  26. bodyEl.style.set(itemStyle);
  27. bodyEl.style.stroke = borderColor;
  28. bodyEl.dirty();
  29. var hoverStyle = itemModel.getModel(emphasisStyleAccessPath).getItemStyle();
  30. graphic.setHoverStyle(itemGroup, hoverStyle);
  31. }
  32. var _default = BoxplotView;
  33. module.exports = _default;