columns.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.Columns = void 0;
  4. var tslib_1 = require("tslib");
  5. var util_1 = require("@antv/util");
  6. var shapes_1 = require("../../shapes");
  7. var util_2 = require("../../util");
  8. var Columns = /** @class */ (function (_super) {
  9. tslib_1.__extends(Columns, _super);
  10. function Columns(_a) {
  11. var _this = this;
  12. var style = _a.style, rest = tslib_1.__rest(_a, ["style"]);
  13. _this = _super.call(this, (0, util_1.deepMix)({}, { type: 'column' }, tslib_1.__assign({ style: style }, rest))) || this;
  14. _this.columnsGroup = new shapes_1.Group({ name: 'columns' });
  15. _this.appendChild(_this.columnsGroup);
  16. _this.render();
  17. return _this;
  18. }
  19. Columns.prototype.render = function () {
  20. var columns = this.attributes.columns;
  21. (0, util_2.select)(this.columnsGroup)
  22. .selectAll('.column')
  23. .data(columns.flat())
  24. .join(function (enter) {
  25. return enter
  26. .append('rect')
  27. .attr('className', 'column')
  28. .each(function (style) {
  29. this.attr(style);
  30. });
  31. }, function (update) {
  32. return update.each(function (style) {
  33. this.attr(style);
  34. });
  35. }, function (exit) { return exit.remove(); });
  36. };
  37. Columns.prototype.update = function (attr) {
  38. this.attr((0, util_2.deepAssign)({}, this.attributes, attr));
  39. this.render();
  40. };
  41. Columns.prototype.clear = function () {
  42. this.removeChildren();
  43. };
  44. return Columns;
  45. }(shapes_1.DisplayObject));
  46. exports.Columns = Columns;
  47. //# sourceMappingURL=columns.js.map