targetj 1.0.260 → 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.
package/build/App.js CHANGED
@@ -96,85 +96,133 @@ var AppFn = function AppFn() {
96
96
  return my;
97
97
  };
98
98
  my.start = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
99
+ var _ref2,
100
+ _ref2$skipSchedulerRe,
101
+ skipSchedulerReset,
102
+ _args = arguments;
99
103
  return _regeneratorRuntime().wrap(function _callee$(_context) {
100
104
  while (1) switch (_context.prev = _context.next) {
101
105
  case 0:
106
+ _ref2 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, _ref2$skipSchedulerRe = _ref2.skipSchedulerReset, skipSchedulerReset = _ref2$skipSchedulerRe === void 0 ? false : _ref2$skipSchedulerRe;
102
107
  my.runningFlag = false;
103
- TargetExecutor.executeDeclarativeTarget(my.tRoot, 'screenWidth');
104
- TargetExecutor.executeDeclarativeTarget(my.tRoot, 'screenHeight');
108
+ if (skipSchedulerReset) {
109
+ _context.next = 5;
110
+ break;
111
+ }
112
+ _context.next = 5;
113
+ return my.runScheduler.resetRuns();
114
+ case 5:
115
+ my.animationManager.isShuttingDown = false;
116
+ TargetExecutor.executeDeclarativeTarget(my.tRoot, "screenWidth");
117
+ TargetExecutor.executeDeclarativeTarget(my.tRoot, "screenHeight");
105
118
  my.events.detachAll();
106
119
  my.events.detachWindowEvents();
107
120
  my.events.attachWindowEvents();
108
121
  my.events.clearAll();
109
- my.events.attachEvents(my.manager.getVisibles());
110
- _context.next = 10;
111
- return my.runScheduler.resetRuns();
112
- case 10:
122
+ my.events.attachEvents(Object.values(App.tmodelIdMap).filter(function (tmodel) {
123
+ return tmodel.hasDom() && tmodel.$dom.element.isConnected;
124
+ }));
113
125
  my.runningFlag = true;
114
126
  my.runScheduler.schedule(0, "appStart");
115
127
  return _context.abrupt("return", my);
116
- case 13:
128
+ case 16:
117
129
  case "end":
118
130
  return _context.stop();
119
131
  }
120
132
  }, _callee);
121
133
  }));
122
134
  my.stop = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
135
+ var _ref4,
136
+ _ref4$discardState,
137
+ discardState,
138
+ _args2 = arguments;
123
139
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
124
140
  while (1) switch (_context2.prev = _context2.next) {
125
141
  case 0:
142
+ _ref4 = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {}, _ref4$discardState = _ref4.discardState, discardState = _ref4$discardState === void 0 ? false : _ref4$discardState;
126
143
  my.runningFlag = false;
127
144
  my.events.detachAll();
128
145
  my.events.detachWindowEvents();
129
146
  my.events.clearAll();
130
- _context2.next = 6;
131
- return my.animationManager.deleteAll();
132
- case 6:
133
- _context2.next = 8;
134
- return my.animationManager.flushOneFrame();
135
- case 8:
147
+ _context2.next = 7;
148
+ return my.animationManager.deleteAll({
149
+ discardState: discardState
150
+ });
151
+ case 7:
152
+ if (discardState) {
153
+ _context2.next = 10;
154
+ break;
155
+ }
136
156
  _context2.next = 10;
137
- return my.runScheduler.resetRuns();
157
+ return my.animationManager.flushOneFrame();
138
158
  case 10:
159
+ _context2.next = 12;
160
+ return my.runScheduler.resetRuns();
161
+ case 12:
139
162
  return _context2.abrupt("return", my);
140
- case 11:
163
+ case 13:
141
164
  case "end":
142
165
  return _context2.stop();
143
166
  }
144
167
  }, _callee2);
145
168
  }));
146
169
  my.reset = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
170
+ var _ref6,
171
+ _ref6$discardState,
172
+ discardState,
173
+ _ref6$skipSchedulerRe,
174
+ skipSchedulerReset,
175
+ _ref6$preserveCachedM,
176
+ preserveCachedModels,
177
+ _i,
178
+ _Object$values,
179
+ _tmodel$disposeRuntim,
180
+ tmodel,
181
+ _args3 = arguments;
147
182
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
148
183
  while (1) switch (_context3.prev = _context3.next) {
149
184
  case 0:
150
- my.manager.getVisibles().forEach(function (tmodel) {
151
- var _tmodel$allStyleTarge;
152
- if ((_tmodel$allStyleTarge = tmodel.allStyleTargetMap) !== null && _tmodel$allStyleTarge !== void 0 && _tmodel$allStyleTarge.size) {
153
- var _iterator = _createForOfIteratorHelper(tmodel.allStyleTargetMap),
154
- _step;
155
- try {
156
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
157
- var _step$value = _slicedToArray(_step.value, 1),
158
- key = _step$value[0];
159
- if (TUtil.isDefined(tmodel.val(key))) {
160
- tmodel.addToStyleTargetList(key);
185
+ _ref6 = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {}, _ref6$discardState = _ref6.discardState, discardState = _ref6$discardState === void 0 ? false : _ref6$discardState, _ref6$skipSchedulerRe = _ref6.skipSchedulerReset, skipSchedulerReset = _ref6$skipSchedulerRe === void 0 ? false : _ref6$skipSchedulerRe, _ref6$preserveCachedM = _ref6.preserveCachedModels, preserveCachedModels = _ref6$preserveCachedM === void 0 ? false : _ref6$preserveCachedM;
186
+ if (!discardState) {
187
+ my.manager.getVisibles().forEach(function (tmodel) {
188
+ var _tmodel$allStyleTarge;
189
+ if ((_tmodel$allStyleTarge = tmodel.allStyleTargetMap) !== null && _tmodel$allStyleTarge !== void 0 && _tmodel$allStyleTarge.size) {
190
+ var _iterator = _createForOfIteratorHelper(tmodel.allStyleTargetMap),
191
+ _step;
192
+ try {
193
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
194
+ var _step$value = _slicedToArray(_step.value, 1),
195
+ key = _step$value[0];
196
+ if (TUtil.isDefined(tmodel.val(key))) {
197
+ tmodel.addToStyleTargetList(key);
198
+ }
161
199
  }
200
+ } catch (err) {
201
+ _iterator.e(err);
202
+ } finally {
203
+ _iterator.f();
162
204
  }
163
- } catch (err) {
164
- _iterator.e(err);
165
- } finally {
166
- _iterator.f();
167
205
  }
206
+ });
207
+ }
208
+ if (!preserveCachedModels) {
209
+ for (_i = 0, _Object$values = Object.values(App.tmodelIdMap); _i < _Object$values.length; _i++) {
210
+ tmodel = _Object$values[_i];
211
+ (_tmodel$disposeRuntim = tmodel.disposeRuntimeDerivedState) === null || _tmodel$disposeRuntim === void 0 || _tmodel$disposeRuntim.call(tmodel);
168
212
  }
169
- });
170
- _context3.next = 3;
213
+ }
214
+ if (skipSchedulerReset) {
215
+ _context3.next = 6;
216
+ break;
217
+ }
218
+ _context3.next = 6;
171
219
  return my.runScheduler.resetRuns();
172
- case 3:
220
+ case 6:
173
221
  my.manager.clearAll();
174
222
  my.locationManager.clear();
175
223
  my.loader.clear();
176
224
  SearchUtil.clear();
177
- case 7:
225
+ case 10:
178
226
  case "end":
179
227
  return _context3.stop();
180
228
  }
@@ -23,6 +23,7 @@ import { TargetParser } from "./TargetParser.js";
23
23
  import { TargetUtil } from "./TargetUtil.js";
24
24
  import { TargetData } from "./TargetData.js";
25
25
  import { $Dom } from "./$Dom.js";
26
+ import { Easing } from "./Easing.js";
26
27
 
27
28
  /**
28
29
  * It provides the target state and associated logic to the TModel.
@@ -328,6 +329,10 @@ var BaseModel = /*#__PURE__*/function () {
328
329
  if (isInactiveKey) {
329
330
  this.targets[key].active = false;
330
331
  }
332
+ if (TargetData.requiresDom(cleanKey)) {
333
+ this.addOnDomTarget(key);
334
+ this.targets[key].active = false;
335
+ }
331
336
  if (TargetData.bypassInitialProcessingTargetMap[cleanKey]) {
332
337
  return;
333
338
  }
@@ -377,15 +382,34 @@ var BaseModel = /*#__PURE__*/function () {
377
382
  }, {
378
383
  key: "canTargetBeActivated",
379
384
  value: function canTargetBeActivated(key) {
380
- var onDomEvent = this.targets.onDomEvent;
381
- if (onDomEvent) {
382
- var included = Array.isArray(onDomEvent) ? onDomEvent.includes(key) : onDomEvent === key;
385
+ var onDomReady = this.targets.onDomReady;
386
+ if (onDomReady) {
387
+ var _onDomReady$value;
388
+ var value = (_onDomReady$value = onDomReady.value) !== null && _onDomReady$value !== void 0 ? _onDomReady$value : onDomReady;
389
+ var included = Array.isArray(value) ? value.includes(key) : value === key;
383
390
  if (included && !this.hasDom()) {
384
391
  return false;
385
392
  }
386
393
  }
387
394
  return !this.activeTargetMap[key];
388
395
  }
396
+ }, {
397
+ key: "addOnDomTarget",
398
+ value: function addOnDomTarget(key) {
399
+ var onDomReady = this.targets.onDomReady;
400
+ if (!onDomReady) {
401
+ this.targets.onDomReady = {
402
+ value: [key],
403
+ active: false
404
+ };
405
+ this.processNewTarget('onDomReady');
406
+ return;
407
+ }
408
+ var values = Array.isArray(onDomReady) ? onDomReady : onDomReady.value;
409
+ if (Array.isArray(values) && !values.includes(key)) {
410
+ values.push(key);
411
+ }
412
+ }
389
413
  }, {
390
414
  key: "addToStyleTargetList",
391
415
  value: function addToStyleTargetList(key, enforce) {
@@ -649,12 +673,12 @@ var BaseModel = /*#__PURE__*/function () {
649
673
  if (!TUtil.isDefined(target)) {
650
674
  return false;
651
675
  }
652
- if (typeof target.enabledOn === 'function') {
653
- this.setTargetMethodName(key, 'enabledOn');
654
- return target.enabledOn.call(this);
655
- } else {
656
- return true;
676
+ var enabledOn = target.enabledOn;
677
+ if (typeof enabledOn === "function") {
678
+ this.setTargetMethodName(key, "enabledOn");
679
+ return !!enabledOn.call(this);
657
680
  }
681
+ return enabledOn !== false;
658
682
  }
659
683
  }, {
660
684
  key: "doesTargetEqualActual",
@@ -668,12 +692,16 @@ var BaseModel = /*#__PURE__*/function () {
668
692
  }, {
669
693
  key: "getTargetValue",
670
694
  value: function getTargetValue(key) {
671
- var _target$value;
672
- var target = this.targetValues[key] || this.targets[key];
673
- if (!target) {
695
+ var targetValue = this.targetValues[key];
696
+ if (targetValue !== undefined) {
697
+ var _value = targetValue.value;
698
+ return typeof _value === 'function' ? _value.call(this) : _value;
699
+ }
700
+ var target = this.targets[key];
701
+ if (target === undefined) {
674
702
  return undefined;
675
703
  }
676
- var value = (_target$value = target.value) !== null && _target$value !== void 0 ? _target$value : target;
704
+ var value = target && _typeof(target) === 'object' && Object.prototype.hasOwnProperty.call(target, 'value') ? target.value : target;
677
705
  return typeof value === 'function' ? value.call(this) : value;
678
706
  }
679
707
  }, {
@@ -800,9 +828,10 @@ var BaseModel = /*#__PURE__*/function () {
800
828
  if (this.isTargetUpdating(key) || (_this$animatingMap = this.animatingMap) !== null && _this$animatingMap !== void 0 && _this$animatingMap.has(key)) {
801
829
  continue;
802
830
  }
803
- if (!this.shouldScheduleRun(key)) {
831
+ if (!this.shouldScheduleRun(key) || !this.canTargetBeActivated(key)) {
804
832
  continue;
805
833
  }
834
+ this.resetTargetStep(key);
806
835
  this.addToActiveTargets(key);
807
836
  activated = true;
808
837
  }
@@ -952,19 +981,26 @@ var BaseModel = /*#__PURE__*/function () {
952
981
  key: "setTarget",
953
982
  value: function setTarget(key, value, steps, interval, easing) {
954
983
  if (_typeof(key) === 'object' && key !== null) {
955
- var _ref3 = [key, value, steps, interval, easing];
984
+ var _ref3 = [key, value, steps, interval];
956
985
  value = _ref3[0];
957
986
  steps = _ref3[1];
958
987
  interval = _ref3[2];
959
988
  easing = _ref3[3];
960
989
  key = '';
961
990
  }
991
+ if (easing === undefined && Easing.isEasing(interval)) {
992
+ easing = interval;
993
+ interval = undefined;
994
+ }
962
995
  if (typeof key === 'string') {
963
996
  key = !key.endsWith('+') ? key + "+" : key;
964
997
  }
965
998
  var originalTargetName = TargetUtil.currentTargetName;
966
999
  var originalTModel = TargetUtil.currentTModel;
967
- if (this.getParent() === originalTModel) {
1000
+ if (originalTargetName === 'swell') {
1001
+ console.log("setTarget: " + this.oid + ", " + originalTModel.oid + ", " + originalTargetName);
1002
+ }
1003
+ if (originalTModel && originalTargetName && originalTModel !== this) {
968
1004
  TargetUtil.markChildAction(originalTModel, originalTargetName, this);
969
1005
  }
970
1006
  this.markLayoutDirty(key);
package/build/Bracket.js CHANGED
@@ -96,7 +96,7 @@ var Bracket = /*#__PURE__*/function (_TModel) {
96
96
  }, {
97
97
  key: "isVisible",
98
98
  value: function isVisible() {
99
- return this.visibilityStatus ? this.visibilityStatus.top && this.visibilityStatus.bottom : false;
99
+ return this.visibilityStatus ? this.visibilityStatus.isVisible : false;
100
100
  }
101
101
  }, {
102
102
  key: "getBracketThreshold",
@@ -145,10 +145,16 @@ var Bracket = /*#__PURE__*/function (_TModel) {
145
145
  if (hasEventDirty) {
146
146
  return true;
147
147
  }
148
+ if (this.visibilityDirty) {
149
+ return true;
150
+ }
148
151
  if (this.currentBracketStatus >= 1 || this.isNowVisible || this.isNowInvisible) {
149
152
  this.currentBracketStatus = Math.max(0, this.currentBracketStatus - 1);
150
153
  return true;
151
154
  }
155
+ if (this.dirtyLayout !== false) {
156
+ return true;
157
+ }
152
158
  if (nowVisible) {
153
159
  this.currentBracketStatus = Math.min(2, this.currentBracketStatus + 1);
154
160
  }
package/build/Easing.js CHANGED
@@ -14,6 +14,11 @@ var Easing = /*#__PURE__*/function () {
14
14
  _classCallCheck(this, Easing);
15
15
  }
16
16
  return _createClass(Easing, null, [{
17
+ key: "isEasing",
18
+ value: function isEasing(value) {
19
+ return Easing.easeMap.has(value);
20
+ }
21
+ }, {
17
22
  key: "easingFunction",
18
23
  value: function easingFunction(easingStr) {
19
24
  if (!easingStr) {
@@ -137,15 +137,24 @@ var EventListener = /*#__PURE__*/function () {
137
137
  }, {
138
138
  key: "attachEvents",
139
139
  value: function attachEvents(tmodels) {
140
+ var isScrollable = function isScrollable(value) {
141
+ return typeof value === 'string' && value.split(/\s+/).some(function (mode) {
142
+ return mode === 'scroll' || mode === 'auto';
143
+ });
144
+ };
140
145
  var _iterator = _createForOfIteratorHelper(tmodels),
141
146
  _step;
142
147
  try {
143
148
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
149
+ var _tmodel$externalEvent;
144
150
  var tmodel = _step.value;
145
- if (!tmodel.externalEventMap) {
146
- continue;
151
+ var overflow = tmodel.val('overflow');
152
+ var overflowX = tmodel.val('overflowX');
153
+ var overflowY = tmodel.val('overflowY');
154
+ if (tmodel.hasDom() && (isScrollable(overflow) || isScrollable(overflowX) || isScrollable(overflowY))) {
155
+ this.attachTargetEvents(tmodel, 'onWindowScroll', true);
147
156
  }
148
- var _iterator2 = _createForOfIteratorHelper(tmodel.externalEventMap),
157
+ var _iterator2 = _createForOfIteratorHelper((_tmodel$externalEvent = tmodel.externalEventMap) !== null && _tmodel$externalEvent !== void 0 ? _tmodel$externalEvent : []),
149
158
  _step2;
150
159
  try {
151
160
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -377,6 +386,15 @@ var EventListener = /*#__PURE__*/function () {
377
386
  mark(this.currentHandlers.scrollTop, "scrolltop-event");
378
387
  mark(this.currentHandlers.pinch, "pinch-event");
379
388
  break;
389
+ case "popstate":
390
+ for (var _i2 = 0, _Object$values = Object.values(getManager().visibleOidMap); _i2 < _Object$values.length; _i2++) {
391
+ var _tmodel$externalEvent2;
392
+ var tmodel = _Object$values[_i2];
393
+ if ((_tmodel$externalEvent2 = tmodel.externalEventMap) !== null && _tmodel$externalEvent2 !== void 0 && _tmodel$externalEvent2.has("onPopState")) {
394
+ mark(tmodel, "popstate-event");
395
+ }
396
+ }
397
+ break;
380
398
  }
381
399
  }
382
400
  }, {
@@ -402,7 +420,8 @@ var EventListener = /*#__PURE__*/function () {
402
420
  _this$currentHandlers6,
403
421
  _this$currentHandlers7,
404
422
  _this7 = this,
405
- _tmodel3;
423
+ _tmodel3,
424
+ _tmodel4;
406
425
  if (!event) {
407
426
  return;
408
427
  }
@@ -439,7 +458,8 @@ var EventListener = /*#__PURE__*/function () {
439
458
  lastTimeStamp = _this$lastEvent2.timeStamp;
440
459
  var rate = now - lastTimeStamp;
441
460
  var isTerminal = eventType === 'end' || eventType === 'cancel' || eventType === 'start';
442
- if (!isTerminal && inputType && lastEventItem.inputType && lastEventItem.inputType !== inputType && eventOrder > lastEventItem.order) {
461
+ var isDuplicateInput = eventType === lastEventItem.eventType && now - lastTimeStamp < 60 && inputType && lastEventItem.inputType && lastEventItem.inputType !== inputType && eventOrder > lastEventItem.order;
462
+ if (!isTerminal && isDuplicateInput) {
443
463
  return;
444
464
  }
445
465
  if (this.eventQueue.length > EventListener.MAX_EVENT_QUEUE_SIZE && rateLimit > 0 && rate < rateLimit) {
@@ -616,12 +636,21 @@ var EventListener = /*#__PURE__*/function () {
616
636
  getLocationManager().domIslandSet.forEach(function (t) {
617
637
  t.markLayoutDirty('window-scroll-event');
618
638
  });
619
- } else {
639
+ } else if ((_tmodel3 = tmodel) !== null && _tmodel3 !== void 0 && _tmodel3.hasDom()) {
640
+ var scrollTop = tmodel.$dom.getScrollTop();
641
+ var scrollLeft = tmodel.$dom.getScrollLeft();
642
+ if (tmodel.getScrollTop() !== scrollTop) {
643
+ tmodel.val('scrollTop', scrollTop);
644
+ }
645
+ if (tmodel.getScrollLeft() !== scrollLeft) {
646
+ tmodel.val('scrollLeft', scrollLeft);
647
+ }
648
+ tmodel.visibilityDirty = true;
620
649
  tmodel.markLayoutDirty('container-scroll-event');
621
650
  }
622
651
  break;
623
652
  }
624
- getRunScheduler().schedule(0, "".concat((_tmodel3 = tmodel) === null || _tmodel3 === void 0 ? void 0 : _tmodel3.oid, "-").concat(originalName, "-").concat(eventName, "-").concat((event.target.tagName || '').toUpperCase()));
653
+ getRunScheduler().schedule(0, "".concat((_tmodel4 = tmodel) === null || _tmodel4 === void 0 ? void 0 : _tmodel4.oid, "-").concat(originalName, "-").concat(eventName, "-").concat((event.target.tagName || '').toUpperCase()));
625
654
  }
626
655
  }, {
627
656
  key: "queueScrollEndEvent",
@@ -698,7 +727,7 @@ var EventListener = /*#__PURE__*/function () {
698
727
  if (el && el.nodeType === 1) {
699
728
  oid = el.getAttribute('tgjs-oid') || el.id;
700
729
  }
701
- if (!oid || !tApp.manager.visibleOidMap[oid]) {
730
+ if (!oid || !getManager().visibleOidMap[oid]) {
702
731
  oid = el === null || el === void 0 ? void 0 : el.id;
703
732
  if (!oid || !getManager().visibleOidMap[oid]) {
704
733
  oid = $Dom.findNearestParentWithId(event.target);