shape.js 1.5 KB

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