offscreen.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { __extends, __read, __spreadArray } from "tslib";
  2. import { ElementEvent } from '@antv/g';
  3. import { Group } from '../shapes/Group';
  4. import { hide } from './visibility';
  5. var OffscreenGroup = /** @class */ (function (_super) {
  6. __extends(OffscreenGroup, _super);
  7. function OffscreenGroup() {
  8. var args = [];
  9. for (var _i = 0; _i < arguments.length; _i++) {
  10. args[_i] = arguments[_i];
  11. }
  12. var _this = _super.apply(this, __spreadArray([], __read(args), false)) || this;
  13. _this.addEventListener(ElementEvent.INSERTED, function () {
  14. hide(_this);
  15. });
  16. return _this;
  17. }
  18. return OffscreenGroup;
  19. }(Group));
  20. export function createOffscreenGroup(container) {
  21. var group = container.appendChild(new OffscreenGroup({
  22. class: 'offscreen',
  23. }));
  24. hide(group);
  25. return group;
  26. }
  27. export function isInOffscreenGroup(group) {
  28. var ancestor = group;
  29. while (ancestor) {
  30. if (ancestor.className === 'offscreen') {
  31. return true;
  32. }
  33. ancestor = ancestor.parent;
  34. }
  35. return false;
  36. }
  37. //# sourceMappingURL=offscreen.js.map