point.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. "use strict";
  2. exports.__esModule = true;
  3. exports["default"] = void 0;
  4. var _global = _interopRequireDefault(require("../../global"));
  5. var _shape = _interopRequireDefault(require("./shape"));
  6. var _common = require("../../util/common");
  7. var _util = require("./util");
  8. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  9. var SHAPES = ['circle', 'hollowCircle', 'rect'];
  10. var Point = _shape["default"].registerFactory('point', {
  11. defaultShapeType: 'circle',
  12. getDefaultPoints: function getDefaultPoints(pointInfo) {
  13. return (0, _util.splitPoints)(pointInfo);
  14. }
  15. });
  16. function getPointsCfg(cfg) {
  17. var style = {
  18. lineWidth: 0,
  19. stroke: cfg.color,
  20. fill: cfg.color
  21. };
  22. if (cfg.size) {
  23. style.size = cfg.size;
  24. }
  25. (0, _common.mix)(style, cfg.style);
  26. return (0, _common.mix)({}, _global["default"].shape.point, style);
  27. }
  28. function drawShape(cfg, container, shape) {
  29. if (cfg.size === 0) return;
  30. var pointCfg = getPointsCfg(cfg);
  31. var size = pointCfg.r || pointCfg.size;
  32. var x = cfg.x;
  33. var y = !(0, _common.isArray)(cfg.y) ? [cfg.y] : cfg.y;
  34. if (shape === 'hollowCircle') {
  35. pointCfg.lineWidth = 1;
  36. pointCfg.fill = null;
  37. }
  38. for (var i = 0, len = y.length; i < len; i++) {
  39. if (shape === 'rect') {
  40. return container.addShape('Rect', {
  41. className: 'point',
  42. attrs: (0, _common.mix)({
  43. x: x - size,
  44. y: y[i] - size,
  45. width: size * 2,
  46. height: size * 2
  47. }, pointCfg)
  48. });
  49. }
  50. return container.addShape('Circle', {
  51. className: 'point',
  52. attrs: (0, _common.mix)({
  53. x: x,
  54. y: y[i],
  55. r: size
  56. }, pointCfg)
  57. });
  58. }
  59. }
  60. (0, _common.each)(SHAPES, function (shapeType) {
  61. _shape["default"].registerShape('point', shapeType, {
  62. draw: function draw(cfg, container) {
  63. return drawShape(cfg, container, shapeType);
  64. }
  65. });
  66. });
  67. var _default = Point;
  68. exports["default"] = _default;