shape.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { __assign } from "tslib";
  2. import { registerShape, Util } from '@antv/g2';
  3. import { parsePathString } from '@antv/path-util';
  4. import { deepAssign } from '../../utils';
  5. import { PATH_FIELD } from './constant';
  6. /**
  7. * 获取填充属性
  8. * @param cfg 图形绘制数据
  9. */
  10. function getFillAttrs(cfg) {
  11. // style.fill 优先级更高
  12. return deepAssign({}, cfg.defaultStyle, { fill: cfg.color }, cfg.style);
  13. }
  14. registerShape('schema', 'venn', {
  15. draw: function (cfg, container) {
  16. var data = cfg.data;
  17. var segments = parsePathString(data[PATH_FIELD]);
  18. var fillAttrs = getFillAttrs(cfg);
  19. var group = container.addGroup({ name: 'venn-shape' });
  20. group.addShape('path', {
  21. attrs: __assign(__assign({}, fillAttrs), { path: segments }),
  22. name: 'venn-path',
  23. });
  24. var _a = cfg.customInfo, offsetX = _a.offsetX, offsetY = _a.offsetY;
  25. var matrix = Util.transform(null, [['t', offsetX, offsetY]]);
  26. group.setMatrix(matrix);
  27. return group;
  28. },
  29. getMarker: function (markerCfg) {
  30. var color = markerCfg.color;
  31. return {
  32. symbol: 'circle',
  33. style: {
  34. lineWidth: 0,
  35. stroke: color,
  36. fill: color,
  37. r: 4,
  38. },
  39. };
  40. },
  41. });
  42. //# sourceMappingURL=shape.js.map