indicator.js 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var tslib_1 = require("tslib");
  4. var g2_1 = require("@antv/g2");
  5. // 自定义Shape 部分
  6. (0, g2_1.registerShape)('point', 'gauge-indicator', {
  7. draw: function (cfg, container) {
  8. // 使用 customInfo 传递参数
  9. var _a = cfg.customInfo, indicator = _a.indicator, defaultColor = _a.defaultColor;
  10. var _b = indicator, pointer = _b.pointer, pin = _b.pin;
  11. var group = container.addGroup();
  12. // 获取极坐标系下画布中心点
  13. var center = this.parsePoint({ x: 0, y: 0 });
  14. // 绘制指针
  15. if (pointer) {
  16. // pointer
  17. group.addShape('line', {
  18. name: 'pointer',
  19. attrs: tslib_1.__assign({ x1: center.x, y1: center.y, x2: cfg.x, y2: cfg.y, stroke: defaultColor }, pointer.style),
  20. });
  21. }
  22. // pin
  23. if (pin) {
  24. group.addShape('circle', {
  25. name: 'pin',
  26. attrs: tslib_1.__assign({ x: center.x, y: center.y, stroke: defaultColor }, pin.style),
  27. });
  28. }
  29. return group;
  30. },
  31. });
  32. //# sourceMappingURL=indicator.js.map