targetj 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,7 +16,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
16
16
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
17
  import { $Dom } from "./$Dom.js";
18
18
  import { TUtil } from "./TUtil.js";
19
- import { getLocationManager, getEvents, getTargetManager, tRoot } from "./App.js";
19
+ import { App, getLocationManager, getEvents, getTargetManager, tRoot } from "./App.js";
20
20
  import { TModelUtil } from "./TModelUtil.js";
21
21
  import { TargetUtil } from "./TargetUtil.js";
22
22
  import { AnimationUtil } from "./AnimationUtil.js";
@@ -137,7 +137,7 @@ var TModelManager = /*#__PURE__*/function () {
137
137
  delete _this.preservedDomMap[tmodel.oid];
138
138
  }
139
139
  if (tmodel.hasDom()) {
140
- if (!tmodel.canHaveDom() || !tmodel.isIncluded() || tmodel.canDeleteDom() && !visible && !preserveDom) {
140
+ if (!tmodel.canHaveDom() || !tmodel.isIncluded() || !visible && !preserveDom) {
141
141
  _this.addToDeletedDom(tmodel);
142
142
  tmodel.getChildren().forEach(function (child) {
143
143
  if (child.isLightweightChild) {
@@ -240,32 +240,20 @@ var TModelManager = /*#__PURE__*/function () {
240
240
  if (!tmodel.isIncluded()) {
241
241
  return false;
242
242
  }
243
- if (this.getDomPolicy(tmodel) === "keep") {
243
+ if (tmodel.reuseDomDefinition()) {
244
244
  return true;
245
245
  }
246
- if (!tmodel.isVisible() && TUtil.isDefined(tmodel.targets.isVisible)) {
247
- return false;
248
- }
249
- var parent = tmodel.parent;
250
- while (parent && parent !== tRoot()) {
251
- if (TUtil.isDefined(parent.targets.canDeleteDom)) {
252
- return parent.val('canDeleteDom') === false;
253
- }
254
- if (TUtil.isDefined(parent.targets.isVisible)) {
255
- return parent.val('isVisible') === true;
256
- }
257
- parent = parent.parent;
258
- }
259
- return false;
246
+ var policy = this.getDomPolicy(tmodel);
247
+ return policy === "keep" || policy === "required";
260
248
  }
261
249
  }, {
262
250
  key: "shouldHaveDom",
263
251
  value: function shouldHaveDom(tmodel) {
264
252
  var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : tmodel.isVisible();
265
- if (!tmodel.canHaveDom() || !tmodel.isIncluded()) {
253
+ if (tmodel.isLightweightChild || !tmodel.canHaveDom() || !tmodel.isIncluded()) {
266
254
  return false;
267
255
  }
268
- return visible || tmodel.requiresDom() || this.getDomPolicy(tmodel) === "keep";
256
+ return visible || tmodel.reuseDomDefinition() || this.getDomPolicy(tmodel) === "required";
269
257
  }
270
258
  }, {
271
259
  key: "shouldCreateDom",
@@ -365,12 +353,18 @@ var TModelManager = /*#__PURE__*/function () {
365
353
  }, {
366
354
  key: "addDeletedTree",
367
355
  value: function addDeletedTree(tmodel) {
356
+ var _tmodel$disposeRuntim;
368
357
  if (tmodel.isLightweightChild) {
369
358
  return;
370
359
  }
360
+ (_tmodel$disposeRuntim = tmodel.disposeRuntimeDerivedState) === null || _tmodel$disposeRuntim === void 0 || _tmodel$disposeRuntim.call(tmodel);
371
361
  delete this.visibleOidMap[tmodel.oid];
372
362
  delete this.preservedDomMap[tmodel.oid];
373
363
  this.domPolicyMap.delete(tmodel.oid);
364
+ if (App.tmodelIdMap[tmodel.oid] === tmodel) {
365
+ delete App.tmodelIdMap[tmodel.oid];
366
+ }
367
+ getLocationManager().domIslandSet.delete(tmodel);
374
368
  if (tmodel.hasDom() && !this.lists.deletedDom.includes(tmodel)) {
375
369
  this.lists.deletedDom.push(tmodel);
376
370
  }
@@ -550,9 +544,13 @@ var TModelManager = /*#__PURE__*/function () {
550
544
  }, {
551
545
  key: "deleteDom",
552
546
  value: function deleteDom(tmodel) {
547
+ var _tmodel$particleRende;
553
548
  if (tmodel.hasAnimatingTargets()) {
554
549
  AnimationUtil.detachAnimationsOnDeleteDom(tmodel);
555
550
  }
551
+
552
+ // Remove the GPU layer, which may be mounted as a sibling of the model's DOM.
553
+ (_tmodel$particleRende = tmodel.particleRenderer) === null || _tmodel$particleRende === void 0 || (_tmodel$particleRende = _tmodel$particleRende.canvasLayer) === null || _tmodel$particleRende === void 0 || _tmodel$particleRende.remove();
556
554
  var domParent = tmodel.getDomParent();
557
555
  if (domParent && domParent.$dom) {
558
556
  domParent.$dom.removeElement(tmodel.$dom.element);
@@ -569,6 +567,7 @@ var TModelManager = /*#__PURE__*/function () {
569
567
  var tmodel = _step8.value;
570
568
  if (tmodel.hasDom()) {
571
569
  TModelUtil.fixStyle(tmodel);
570
+ this.retryPendingTargetsAfterStyle(tmodel);
572
571
  }
573
572
  }
574
573
  } catch (err) {
@@ -587,6 +586,7 @@ var TModelManager = /*#__PURE__*/function () {
587
586
  var tmodel = _step9.value;
588
587
  if (tmodel.hasDom()) {
589
588
  TModelUtil.fixAsyncStyle(tmodel);
589
+ this.retryPendingTargetsAfterStyle(tmodel);
590
590
  }
591
591
  }
592
592
  } catch (err) {
@@ -595,6 +595,18 @@ var TModelManager = /*#__PURE__*/function () {
595
595
  _iterator9.f();
596
596
  }
597
597
  }
598
+ }, {
599
+ key: "retryPendingTargetsAfterStyle",
600
+ value: function retryPendingTargetsAfterStyle(tmodel) {
601
+ if (TargetUtil.hasPendingStyles(tmodel)) {
602
+ return;
603
+ }
604
+ for (var _i = 0, _arr = _toConsumableArray((_tmodel$pendingTarget = tmodel.pendingTargets) !== null && _tmodel$pendingTarget !== void 0 ? _tmodel$pendingTarget : []); _i < _arr.length; _i++) {
605
+ var _tmodel$pendingTarget;
606
+ var key = _arr[_i];
607
+ TargetUtil.shouldActivateNextTarget(tmodel, key);
608
+ }
609
+ }
598
610
  }, {
599
611
  key: "activatePendingTargetsAfterDom",
600
612
  value: function activatePendingTargetsAfterDom(tmodels) {
@@ -611,8 +623,8 @@ var TModelManager = /*#__PURE__*/function () {
611
623
  continue;
612
624
  }
613
625
  if (tmodel.noDomUpdatingTargets) {
614
- for (var _i = 0, _arr = _toConsumableArray(tmodel.noDomUpdatingTargets); _i < _arr.length; _i++) {
615
- var target = _arr[_i];
626
+ for (var _i2 = 0, _arr2 = _toConsumableArray(tmodel.noDomUpdatingTargets); _i2 < _arr2.length; _i2++) {
627
+ var target = _arr2[_i2];
616
628
  tmodel.addTargetToStatusList(target);
617
629
  }
618
630
  tmodel.noDomUpdatingTargets = undefined;
@@ -620,16 +632,16 @@ var TModelManager = /*#__PURE__*/function () {
620
632
  var pending = tmodel.pendingTargets;
621
633
  var visited = new Set();
622
634
  if (pending) {
623
- for (var _i2 = 0, _arr2 = _toConsumableArray(pending); _i2 < _arr2.length; _i2++) {
624
- var key = _arr2[_i2];
635
+ for (var _i3 = 0, _arr3 = _toConsumableArray(pending); _i3 < _arr3.length; _i3++) {
636
+ var key = _arr3[_i3];
625
637
  visited.add(key);
626
638
  TargetUtil.cleanupTarget(tmodel, key);
627
639
  TargetUtil.shouldActivateNextTarget(tmodel, key);
628
640
  }
629
641
  }
630
642
  if (restoredDoneTargets) {
631
- for (var _i3 = 0, _Object$keys = Object.keys(tmodel.targetValues); _i3 < _Object$keys.length; _i3++) {
632
- var _key = _Object$keys[_i3];
643
+ for (var _i4 = 0, _Object$keys = Object.keys(tmodel.targetValues); _i4 < _Object$keys.length; _i4++) {
644
+ var _key = _Object$keys[_i4];
633
645
  var targetValue = tmodel.targetValues[_key];
634
646
  if (targetValue.status !== 'done' || visited.has(_key)) {
635
647
  continue;
@@ -637,9 +649,8 @@ var TModelManager = /*#__PURE__*/function () {
637
649
  if (tmodel.isTargetInLoop(_key) || tmodel.isTargetPassiveLoop(_key)) {
638
650
  continue;
639
651
  }
640
- if (TargetUtil.cleanupTarget(tmodel, _key)) {
641
- TargetUtil.shouldActivateNextTarget(tmodel, _key);
642
- }
652
+ TargetUtil.cleanupTarget(tmodel, _key);
653
+ TargetUtil.shouldActivateNextTarget(tmodel, _key);
643
654
  }
644
655
  }
645
656
  }
@@ -656,8 +667,8 @@ var TModelManager = /*#__PURE__*/function () {
656
667
  if (!((_tmodel$noDomUpdating2 = tmodel.noDomUpdatingTargets) !== null && _tmodel$noDomUpdating2 !== void 0 && _tmodel$noDomUpdating2.size)) {
657
668
  return;
658
669
  }
659
- for (var _i4 = 0, _arr3 = _toConsumableArray(tmodel.noDomUpdatingTargets); _i4 < _arr3.length; _i4++) {
660
- var key = _arr3[_i4];
670
+ for (var _i5 = 0, _arr4 = _toConsumableArray(tmodel.noDomUpdatingTargets); _i5 < _arr4.length; _i5++) {
671
+ var key = _arr4[_i5];
661
672
  var targetValue = tmodel.targetValues[key];
662
673
  if (!targetValue) {
663
674
  continue;
@@ -715,8 +726,8 @@ var TModelManager = /*#__PURE__*/function () {
715
726
  } finally {
716
727
  _iterator11.f();
717
728
  }
718
- for (var _i5 = 0, _needsDom = needsDom; _i5 < _needsDom.length; _i5++) {
719
- var tmodel = _needsDom[_i5];
729
+ for (var _i6 = 0, _needsDom = needsDom; _i6 < _needsDom.length; _i6++) {
730
+ var tmodel = _needsDom[_i6];
720
731
  var domHolder = tmodel.getDomHolder();
721
732
  if (!domHolder) {
722
733
  tmodel.markLayoutDirty('noDomHolder');
@@ -761,13 +772,13 @@ var TModelManager = /*#__PURE__*/function () {
761
772
  } finally {
762
773
  _iterator12.f();
763
774
  }
764
- for (var _i6 = 0, _attached = attached; _i6 < _attached.length; _i6++) {
765
- var _tmodel = _attached[_i6];
775
+ for (var _i7 = 0, _attached = attached; _i7 < _attached.length; _i7++) {
776
+ var _tmodel = _attached[_i7];
766
777
  this.catchupNoDomTargetsBeforeStyle(_tmodel);
767
778
  }
768
779
  var domReady = [];
769
- for (var _i7 = 0, _styleBatch = styleBatch; _i7 < _styleBatch.length; _i7++) {
770
- var _tmodel2 = _styleBatch[_i7];
780
+ for (var _i8 = 0, _styleBatch = styleBatch; _i8 < _styleBatch.length; _i8++) {
781
+ var _tmodel2 = _styleBatch[_i8];
771
782
  if (_tmodel2.hasDom()) {
772
783
  _tmodel2.hasDomNow = true;
773
784
  _tmodel2.markLayoutDirty('hasDomNow');
@@ -777,15 +788,12 @@ var TModelManager = /*#__PURE__*/function () {
777
788
  TModelUtil.fixStyle(_tmodel2);
778
789
  TModelUtil.fixAsyncStyle(_tmodel2);
779
790
  }
780
- for (var _i8 = 0, _domReady = domReady; _i8 < _domReady.length; _i8++) {
781
- var _tmodel3 = _domReady[_i8];
782
- _tmodel3.onDomReady();
791
+ for (var _i9 = 0, _domReady = domReady; _i9 < _domReady.length; _i9++) {
792
+ var _tmodel3 = _domReady[_i9];
793
+ _tmodel3.onDomAvailable();
783
794
  }
784
795
  this.activatePendingTargetsAfterDom(attached);
785
- getEvents().attachEvents(attached.filter(function (t) {
786
- var _t$externalEventMap;
787
- return ((_t$externalEventMap = t.externalEventMap) === null || _t$externalEventMap === void 0 ? void 0 : _t$externalEventMap.size) > 0;
788
- }));
796
+ getEvents().attachEvents(attached);
789
797
  }
790
798
  }]);
791
799
  }();