index.js 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.Funnel = exports.FUNNEL_CONVERSATION_FIELD = void 0;
  4. var tslib_1 = require("tslib");
  5. var util_1 = require("@antv/util");
  6. var plot_1 = require("../../core/plot");
  7. var utils_1 = require("../../utils");
  8. var adaptor_1 = require("./adaptor");
  9. var constant_1 = require("./constant");
  10. Object.defineProperty(exports, "FUNNEL_CONVERSATION_FIELD", { enumerable: true, get: function () { return constant_1.FUNNEL_CONVERSATION; } });
  11. require("./interactions");
  12. var Funnel = /** @class */ (function (_super) {
  13. tslib_1.__extends(Funnel, _super);
  14. function Funnel() {
  15. var _this = _super !== null && _super.apply(this, arguments) || this;
  16. /** 图表类型 */
  17. _this.type = 'funnel';
  18. return _this;
  19. }
  20. Funnel.getDefaultOptions = function () {
  21. return constant_1.DEFAULT_OPTIONS;
  22. };
  23. /**
  24. * 获取 漏斗图 默认配置项
  25. */
  26. Funnel.prototype.getDefaultOptions = function () {
  27. // 由于不同漏斗图 defaultOption 有部分逻辑不同,此处仅处理 core.getDefaultOptions 覆盖范围,funnel 的 defaulOption 为不分散逻辑统一写到 adaptor 的 defaultOption 中
  28. return Funnel.getDefaultOptions();
  29. };
  30. /**
  31. * 获取 漏斗图 的适配器
  32. */
  33. Funnel.prototype.getSchemaAdaptor = function () {
  34. return adaptor_1.adaptor;
  35. };
  36. /**
  37. * 设置状态
  38. * @param type 状态类型,支持 'active' | 'inactive' | 'selected' 三种
  39. * @param conditions 条件,支持数组
  40. * @param status 是否激活,默认 true
  41. */
  42. Funnel.prototype.setState = function (type, condition, status) {
  43. if (status === void 0) { status = true; }
  44. var elements = (0, utils_1.getAllElementsRecursively)(this.chart);
  45. (0, util_1.each)(elements, function (ele) {
  46. if (condition(ele.getData())) {
  47. ele.setState(type, status);
  48. }
  49. });
  50. };
  51. /**
  52. * 获取状态
  53. */
  54. Funnel.prototype.getStates = function () {
  55. var elements = (0, utils_1.getAllElementsRecursively)(this.chart);
  56. var stateObjects = [];
  57. (0, util_1.each)(elements, function (element) {
  58. var data = element.getData();
  59. var states = element.getStates();
  60. (0, util_1.each)(states, function (state) {
  61. stateObjects.push({ data: data, state: state, geometry: element.geometry, element: element });
  62. });
  63. });
  64. return stateObjects;
  65. };
  66. // 内部变量
  67. /** 漏斗 转化率 字段 */
  68. Funnel.CONVERSATION_FIELD = constant_1.FUNNEL_CONVERSATION;
  69. /** 漏斗 百分比 字段 */
  70. Funnel.PERCENT_FIELD = constant_1.FUNNEL_PERCENT;
  71. /** 漏斗 总转换率百分比 字段 */
  72. Funnel.TOTAL_PERCENT_FIELD = constant_1.FUNNEL_TOTAL_PERCENT;
  73. return Funnel;
  74. }(plot_1.Plot));
  75. exports.Funnel = Funnel;
  76. //# sourceMappingURL=index.js.map