targetj 1.0.89 → 1.0.90
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/Bracket.js +5 -0
- package/build/BracketGenerator.js +41 -29
- package/build/TModel.js +12 -12
- package/build/TModelManager.js +1 -1
- package/package.json +1 -1
package/build/Bracket.js
CHANGED
|
@@ -37,6 +37,11 @@ var Bracket = exports.Bracket = /*#__PURE__*/function (_TModel) {
|
|
|
37
37
|
}
|
|
38
38
|
_inherits(Bracket, _TModel);
|
|
39
39
|
return _createClass(Bracket, [{
|
|
40
|
+
key: "shouldBeBracketed",
|
|
41
|
+
value: function shouldBeBracketed() {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}, {
|
|
40
45
|
key: "getWidth",
|
|
41
46
|
value: function getWidth() {
|
|
42
47
|
return this.getContentWidth();
|
|
@@ -23,8 +23,8 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
23
23
|
/**
|
|
24
24
|
* Generates a bottom-up tree from the children of a TModel. When the number of children
|
|
25
25
|
* exceeds a defined threshold (bracketThreshold), a tree is generated to limit the process loop to only
|
|
26
|
-
* the visible branches. A TModel can opt out of tree generation by
|
|
27
|
-
* `
|
|
26
|
+
* the visible branches. A TModel can opt out of tree generation completely by defining a target
|
|
27
|
+
* `shouldBeBracketed` and setting it to false.
|
|
28
28
|
*/
|
|
29
29
|
var BracketGenerator = exports.BracketGenerator = /*#__PURE__*/function () {
|
|
30
30
|
function BracketGenerator() {
|
|
@@ -34,13 +34,13 @@ var BracketGenerator = exports.BracketGenerator = /*#__PURE__*/function () {
|
|
|
34
34
|
key: "generate",
|
|
35
35
|
value: function generate(page) {
|
|
36
36
|
var brackets = BracketGenerator.bracketMap[page.oid];
|
|
37
|
-
if (!brackets) {
|
|
37
|
+
if (!brackets || page.lastChildrenUpdate.deletions.length > 0) {
|
|
38
38
|
BracketGenerator.bracketMap[page.oid] = {
|
|
39
39
|
brackets: BracketGenerator.buildTreeBottomUp(page, page.getChildren()),
|
|
40
40
|
updateCount: 0
|
|
41
41
|
};
|
|
42
|
-
} else if (page.lastChildrenUpdate.additions.length > 0
|
|
43
|
-
BracketGenerator.updateTree(page, page.lastChildrenUpdate.additions
|
|
42
|
+
} else if (page.lastChildrenUpdate.additions.length > 0) {
|
|
43
|
+
BracketGenerator.updateTree(page, page.lastChildrenUpdate.additions);
|
|
44
44
|
}
|
|
45
45
|
page.lastChildrenUpdate.additions.length = 0;
|
|
46
46
|
page.lastChildrenUpdate.deletions.length = 0;
|
|
@@ -50,14 +50,9 @@ var BracketGenerator = exports.BracketGenerator = /*#__PURE__*/function () {
|
|
|
50
50
|
key: "updateTree",
|
|
51
51
|
value: function updateTree(page) {
|
|
52
52
|
var additions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
53
|
-
var deletions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
54
53
|
var list = page.getChildren();
|
|
55
54
|
var affectedIndices = new Set();
|
|
56
|
-
var bracketSize = page.getBracketThreshold()
|
|
57
|
-
deletions.forEach(function (item) {
|
|
58
|
-
var index = list.indexOf(item);
|
|
59
|
-
affectedIndices.add(index);
|
|
60
|
-
});
|
|
55
|
+
var bracketSize = page.getBracketThreshold();
|
|
61
56
|
additions.forEach(function (_ref) {
|
|
62
57
|
var index = _ref.index,
|
|
63
58
|
segment = _ref.segment;
|
|
@@ -72,7 +67,7 @@ var BracketGenerator = exports.BracketGenerator = /*#__PURE__*/function () {
|
|
|
72
67
|
var end = null;
|
|
73
68
|
sortedIndices.forEach(function (index) {
|
|
74
69
|
var bracketStart = Math.floor(index / bracketSize) * bracketSize;
|
|
75
|
-
var bracketEnd = Math.min(list.length
|
|
70
|
+
var bracketEnd = Math.min(list.length, bracketStart + bracketSize);
|
|
76
71
|
if (start === null) {
|
|
77
72
|
start = bracketStart;
|
|
78
73
|
end = bracketEnd;
|
|
@@ -93,9 +88,10 @@ var BracketGenerator = exports.BracketGenerator = /*#__PURE__*/function () {
|
|
|
93
88
|
value: function updateSegmentInTree(page, list, start, end) {
|
|
94
89
|
var _currentLevel;
|
|
95
90
|
var topBrackets = BracketGenerator.bracketMap[page.oid].brackets;
|
|
96
|
-
var updatedSegment = BracketGenerator.buildTreeBottomUp(page, list.slice(start, end
|
|
97
|
-
var bracketSize = page.getBracketThreshold()
|
|
91
|
+
var updatedSegment = BracketGenerator.buildTreeBottomUp(page, list.slice(start, end));
|
|
92
|
+
var bracketSize = page.getBracketThreshold();
|
|
98
93
|
var currentLevel = topBrackets;
|
|
94
|
+
var segmentParent = undefined;
|
|
99
95
|
while (true) {
|
|
100
96
|
var nextLevel = null;
|
|
101
97
|
var _iterator = _createForOfIteratorHelper(currentLevel),
|
|
@@ -103,8 +99,14 @@ var BracketGenerator = exports.BracketGenerator = /*#__PURE__*/function () {
|
|
|
103
99
|
try {
|
|
104
100
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
105
101
|
var bracket = _step.value;
|
|
106
|
-
if (bracket.
|
|
102
|
+
if (!(bracket.getFirstChild() instanceof _Bracket.Bracket)) {
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
var startIndex = bracket.startIndex;
|
|
106
|
+
var endIndex = Math.ceil(bracket.endIndex / bracketSize) * bracketSize;
|
|
107
|
+
if (startIndex <= start && endIndex >= end) {
|
|
107
108
|
nextLevel = bracket.getChildren();
|
|
109
|
+
segmentParent = bracket;
|
|
108
110
|
break;
|
|
109
111
|
}
|
|
110
112
|
}
|
|
@@ -119,7 +121,7 @@ var BracketGenerator = exports.BracketGenerator = /*#__PURE__*/function () {
|
|
|
119
121
|
currentLevel = nextLevel;
|
|
120
122
|
}
|
|
121
123
|
var mergeIndex = 0;
|
|
122
|
-
while (mergeIndex < currentLevel.length && currentLevel[mergeIndex].endIndex
|
|
124
|
+
while (mergeIndex < currentLevel.length && currentLevel[mergeIndex].endIndex <= start) {
|
|
123
125
|
mergeIndex++;
|
|
124
126
|
}
|
|
125
127
|
var replaceCount = 0;
|
|
@@ -128,6 +130,20 @@ var BracketGenerator = exports.BracketGenerator = /*#__PURE__*/function () {
|
|
|
128
130
|
}
|
|
129
131
|
var indexOffset = currentLevel.length > mergeIndex ? currentLevel[mergeIndex].startIndex : currentLevel[currentLevel.length - 1].endIndex;
|
|
130
132
|
(_currentLevel = currentLevel).splice.apply(_currentLevel, [mergeIndex, replaceCount].concat(_toConsumableArray(updatedSegment)));
|
|
133
|
+
if (segmentParent) {
|
|
134
|
+
var _iterator2 = _createForOfIteratorHelper(updatedSegment),
|
|
135
|
+
_step2;
|
|
136
|
+
try {
|
|
137
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
138
|
+
var _bracket = _step2.value;
|
|
139
|
+
_bracket.parent = segmentParent;
|
|
140
|
+
}
|
|
141
|
+
} catch (err) {
|
|
142
|
+
_iterator2.e(err);
|
|
143
|
+
} finally {
|
|
144
|
+
_iterator2.f();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
131
147
|
BracketGenerator.reindexSegment(updatedSegment, indexOffset);
|
|
132
148
|
BracketGenerator.bracketMap[page.oid].updateCount++;
|
|
133
149
|
if (currentLevel.length > bracketSize) {
|
|
@@ -139,25 +155,16 @@ var BracketGenerator = exports.BracketGenerator = /*#__PURE__*/function () {
|
|
|
139
155
|
value: function buildTreeBottomUp(page, list) {
|
|
140
156
|
var length = list.length;
|
|
141
157
|
var bracketSize = page.getBracketThreshold() - 1;
|
|
142
|
-
if (length <= bracketSize) {
|
|
143
|
-
return list;
|
|
144
|
-
}
|
|
145
158
|
var brackets = [];
|
|
146
159
|
var from = 0;
|
|
147
160
|
for (var i = 0; i < length; i++) {
|
|
148
|
-
var canBeBracketed = list[i].canBeBracketed();
|
|
149
161
|
var size = i - from;
|
|
150
|
-
if (
|
|
151
|
-
|
|
152
|
-
brackets.push(BracketGenerator.createBracket(page, list, from, to));
|
|
153
|
-
from = i + 1;
|
|
154
|
-
}
|
|
155
|
-
if (!canBeBracketed) {
|
|
156
|
-
brackets.push(list[i]);
|
|
162
|
+
if (size === bracketSize || i === length - 1) {
|
|
163
|
+
brackets.push(BracketGenerator.createBracket(page, list, from, i + 1));
|
|
157
164
|
from = i + 1;
|
|
158
165
|
}
|
|
159
166
|
}
|
|
160
|
-
return BracketGenerator.buildTreeBottomUp(page, brackets);
|
|
167
|
+
return brackets > bracketSize ? BracketGenerator.buildTreeBottomUp(page, brackets) : brackets;
|
|
161
168
|
}
|
|
162
169
|
}, {
|
|
163
170
|
key: "createBracket",
|
|
@@ -179,7 +186,7 @@ var BracketGenerator = exports.BracketGenerator = /*#__PURE__*/function () {
|
|
|
179
186
|
key: "reindexSegment",
|
|
180
187
|
value: function reindexSegment(segment, indexOffset) {
|
|
181
188
|
var queue = segment.slice(0); // Start with the root node in the queue
|
|
182
|
-
|
|
189
|
+
var last = queue[queue.length - 1];
|
|
183
190
|
while (queue.length > 0) {
|
|
184
191
|
var bracket = queue.shift(); // Dequeue the first node
|
|
185
192
|
|
|
@@ -193,6 +200,11 @@ var BracketGenerator = exports.BracketGenerator = /*#__PURE__*/function () {
|
|
|
193
200
|
});
|
|
194
201
|
}
|
|
195
202
|
}
|
|
203
|
+
var parent = last.getParent();
|
|
204
|
+
while (parent) {
|
|
205
|
+
parent.endIndex = Math.max(parent.endIndex, last.endIndex);
|
|
206
|
+
parent = parent.getParent();
|
|
207
|
+
}
|
|
196
208
|
}
|
|
197
209
|
}]);
|
|
198
210
|
}();
|
package/build/TModel.js
CHANGED
|
@@ -74,8 +74,7 @@ var TModel = exports.TModel = /*#__PURE__*/function () {
|
|
|
74
74
|
heightFromDom: false,
|
|
75
75
|
keepEventDefault: false,
|
|
76
76
|
isIncluded: true,
|
|
77
|
-
|
|
78
|
-
bracketThreshold: 6,
|
|
77
|
+
bracketThreshold: 5,
|
|
79
78
|
isDomDeletable: true,
|
|
80
79
|
calculateChildren: undefined,
|
|
81
80
|
isVisible: undefined
|
|
@@ -252,11 +251,11 @@ var TModel = exports.TModel = /*#__PURE__*/function () {
|
|
|
252
251
|
if (this.deletedChildren.length > 0) {
|
|
253
252
|
this.deletedChildren.forEach(function (child) {
|
|
254
253
|
var index = _this2.allChildren.indexOf(child);
|
|
254
|
+
_this2.lastChildrenUpdate.deletions.push(index);
|
|
255
255
|
if (index >= 0) {
|
|
256
256
|
_this2.allChildren.splice(index, 1);
|
|
257
257
|
}
|
|
258
258
|
});
|
|
259
|
-
this.lastChildrenUpdate.deletions = this.lastChildrenUpdate.deletions.concat(this.addedChildren);
|
|
260
259
|
this.deletedChildren.length = 0;
|
|
261
260
|
}
|
|
262
261
|
return this.allChildren;
|
|
@@ -369,7 +368,10 @@ var TModel = exports.TModel = /*#__PURE__*/function () {
|
|
|
369
368
|
}, {
|
|
370
369
|
key: "shouldCalculateChildren",
|
|
371
370
|
value: function shouldCalculateChildren() {
|
|
372
|
-
|
|
371
|
+
if (_TUtil.TUtil.isDefined(this.actualValues.calculateChildren)) {
|
|
372
|
+
return this.actualValues.calculateChildren;
|
|
373
|
+
}
|
|
374
|
+
return this.isVisible() && this.isIncluded() && (this.hasChildren() || this.addedChildren.count > 0 || this.getContentHeight() > 0);
|
|
373
375
|
}
|
|
374
376
|
}, {
|
|
375
377
|
key: "createViewport",
|
|
@@ -421,11 +423,6 @@ var TModel = exports.TModel = /*#__PURE__*/function () {
|
|
|
421
423
|
value: function keepEventDefault() {
|
|
422
424
|
return this.actualValues.keepEventDefault;
|
|
423
425
|
}
|
|
424
|
-
}, {
|
|
425
|
-
key: "canBeBracketed",
|
|
426
|
-
value: function canBeBracketed() {
|
|
427
|
-
return this.actualValues.canBeBracketed;
|
|
428
|
-
}
|
|
429
426
|
}, {
|
|
430
427
|
key: "getBracketThreshold",
|
|
431
428
|
value: function getBracketThreshold() {
|
|
@@ -434,7 +431,10 @@ var TModel = exports.TModel = /*#__PURE__*/function () {
|
|
|
434
431
|
}, {
|
|
435
432
|
key: "shouldBeBracketed",
|
|
436
433
|
value: function shouldBeBracketed() {
|
|
437
|
-
|
|
434
|
+
if (_TUtil.TUtil.isDefined(this.actualValues.shouldBeBracketed)) {
|
|
435
|
+
return this.actualValues.shouldBeBracketed;
|
|
436
|
+
}
|
|
437
|
+
return this.getChildren().length > this.getBracketThreshold();
|
|
438
438
|
}
|
|
439
439
|
}, {
|
|
440
440
|
key: "isIncluded",
|
|
@@ -831,8 +831,8 @@ var TModel = exports.TModel = /*#__PURE__*/function () {
|
|
|
831
831
|
}
|
|
832
832
|
}, {
|
|
833
833
|
key: "addChild",
|
|
834
|
-
value: function addChild(child
|
|
835
|
-
index =
|
|
834
|
+
value: function addChild(child) {
|
|
835
|
+
var index = this.addedChildren.count + this.allChildren.length;
|
|
836
836
|
this.addedChildren.count++;
|
|
837
837
|
_TModelUtil.TModelUtil.addItem(this.addedChildren.list, child, index);
|
|
838
838
|
(0, _App.getRunScheduler)().schedule(10, 'addChild-' + this.oid + "-" + child.oid);
|
package/build/TModelManager.js
CHANGED
|
@@ -192,7 +192,7 @@ var TModelManager = exports.TModelManager = /*#__PURE__*/function () {
|
|
|
192
192
|
var tmodel = _step4.value;
|
|
193
193
|
tmodel.domValues = {};
|
|
194
194
|
var activateTargets = [].concat(tmodel.targets['onInvisibleEvent'], tmodel.targets['onResize']);
|
|
195
|
-
activateTargets
|
|
195
|
+
activateTargets.forEach(function (key) {
|
|
196
196
|
if (tmodel.targets[key] && tmodel.isTargetComplete(key)) {
|
|
197
197
|
tmodel.activateTarget(key);
|
|
198
198
|
}
|