path.js 971 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import Geom from './base';
  2. import { splitArray } from './shape/util';
  3. import { each } from '../util/common';
  4. import './shape/line';
  5. class Path extends Geom {
  6. getDefaultCfg() {
  7. var cfg = super.getDefaultCfg();
  8. cfg.type = 'path';
  9. cfg.shapeType = 'line';
  10. return cfg;
  11. }
  12. getDrawCfg(obj) {
  13. var cfg = super.getDrawCfg(obj);
  14. cfg.isStack = this.hasAdjust('stack');
  15. return cfg;
  16. }
  17. draw(data, shapeFactory) {
  18. var self = this;
  19. var container = self.get('container');
  20. var yScale = self.getYScale();
  21. var connectNulls = self.get('connectNulls');
  22. var splitArrayObj = splitArray(data, yScale.field, connectNulls);
  23. var cfg = this.getDrawCfg(data[0]);
  24. cfg.origin = data;
  25. each(splitArrayObj, function (subData, splitedIndex) {
  26. cfg.splitedIndex = splitedIndex;
  27. cfg.points = subData;
  28. self.drawShape(cfg.shape, data[0], cfg, container, shapeFactory);
  29. });
  30. }
  31. }
  32. Geom.Path = Path;
  33. export default Path;