vsn 0.1.122 → 0.1.124
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/demo/demo.html +5 -2
- package/demo/examples/replace-html.html +19 -0
- package/demo/resources/xhr-animations.html +24 -0
- package/demo/resources/xhr-html.html +1 -0
- package/demo/{xhr.html → resources/xhr-lazy.html} +28 -2
- package/demo/silly-animations.html +12 -24
- package/demo/vsn.js +2 -2
- package/demo/xhr-test.html +4 -0
- package/dist/AST/ArrayNode.js +70 -18
- package/dist/AST/ArrayNode.js.map +1 -1
- package/dist/AST/AssignmentNode.js +93 -37
- package/dist/AST/AssignmentNode.js.map +1 -1
- package/dist/AST/BlockNode.js +17 -1
- package/dist/AST/BlockNode.js.map +1 -1
- package/dist/AST/ClassNode.js +225 -87
- package/dist/AST/ClassNode.js.map +1 -1
- package/dist/AST/ElementAttributeNode.js +55 -29
- package/dist/AST/ElementAttributeNode.js.map +1 -1
- package/dist/AST/ElementStyleNode.js +55 -31
- package/dist/AST/ElementStyleNode.js.map +1 -1
- package/dist/AST/FunctionArgumentNode.js +57 -15
- package/dist/AST/FunctionArgumentNode.js.map +1 -1
- package/dist/AST/FunctionCallNode.js +120 -52
- package/dist/AST/FunctionCallNode.js.map +1 -1
- package/dist/AST/FunctionNode.js +57 -14
- package/dist/AST/FunctionNode.js.map +1 -1
- package/dist/AST/IfStatementNode.js +52 -12
- package/dist/AST/IfStatementNode.js.map +1 -1
- package/dist/AST/IndexNode.js +24 -3
- package/dist/AST/IndexNode.js.map +1 -1
- package/dist/AST/ModifierNode.js +1 -1
- package/dist/AST/ModifierNode.js.map +1 -1
- package/dist/AST/NamedStackNode.js +6 -1
- package/dist/AST/NamedStackNode.js.map +1 -1
- package/dist/AST/Node.d.ts +3 -2
- package/dist/AST/Node.js +132 -39
- package/dist/AST/Node.js.map +1 -1
- package/dist/AST/ObjectNode.js +17 -1
- package/dist/AST/ObjectNode.js.map +1 -1
- package/dist/AST/OnNode.js +23 -2
- package/dist/AST/OnNode.js.map +1 -1
- package/dist/AST/ScopeMemberNode.js +40 -16
- package/dist/AST/ScopeMemberNode.js.map +1 -1
- package/dist/AST/ScopeNodeAbstract.js +29 -8
- package/dist/AST/ScopeNodeAbstract.js.map +1 -1
- package/dist/AST/StringFormatNode.js +42 -5
- package/dist/AST/StringFormatNode.js.map +1 -1
- package/dist/AST/WASM/Function.js +20 -4
- package/dist/AST/WASM/Function.js.map +1 -1
- package/dist/AST/WASM.js +26 -10
- package/dist/AST/WASM.js.map +1 -1
- package/dist/AST/WithNode.js +81 -41
- package/dist/AST/WithNode.js.map +1 -1
- package/dist/AST.d.ts +8 -0
- package/dist/AST.js +119 -39
- package/dist/AST.js.map +1 -1
- package/dist/Attribute.d.ts +3 -0
- package/dist/Attribute.js +43 -19
- package/dist/Attribute.js.map +1 -1
- package/dist/Bencmark.js +77 -20
- package/dist/Bencmark.js.map +1 -1
- package/dist/Component.js +49 -15
- package/dist/Component.js.map +1 -1
- package/dist/DOM/DOMObject.d.ts +6 -1
- package/dist/DOM/DOMObject.js +22 -1
- package/dist/DOM/DOMObject.js.map +1 -1
- package/dist/DOM.js +451 -194
- package/dist/DOM.js.map +1 -1
- package/dist/EventDispatcher.js +153 -39
- package/dist/EventDispatcher.js.map +1 -1
- package/dist/MessageList.js +37 -6
- package/dist/MessageList.js.map +1 -1
- package/dist/Model.js +27 -6
- package/dist/Model.js.map +1 -1
- package/dist/Modifiers.d.ts +17 -0
- package/dist/Modifiers.js +100 -0
- package/dist/Modifiers.js.map +1 -0
- package/dist/Scope/DynamicScopeData.js +38 -7
- package/dist/Scope/DynamicScopeData.js.map +1 -1
- package/dist/Scope/ScopeData.js +29 -8
- package/dist/Scope/ScopeData.js.map +1 -1
- package/dist/Scope/ScopeDataAbstract.js +103 -27
- package/dist/Scope/ScopeDataAbstract.js.map +1 -1
- package/dist/Scope/WrappedArray.js +112 -26
- package/dist/Scope/WrappedArray.js.map +1 -1
- package/dist/Scope/properties/ArrayProperty.js +17 -1
- package/dist/Scope/properties/ArrayProperty.js.map +1 -1
- package/dist/Scope/properties/Property.js +38 -7
- package/dist/Scope/properties/Property.js.map +1 -1
- package/dist/Scope.js +70 -13
- package/dist/Scope.js.map +1 -1
- package/dist/SimplePromise.js +71 -30
- package/dist/SimplePromise.js.map +1 -1
- package/dist/Tag/TagList.js +22 -1
- package/dist/Tag/TagList.js.map +1 -1
- package/dist/Tag.d.ts +5 -9
- package/dist/Tag.js +515 -196
- package/dist/Tag.js.map +1 -1
- package/dist/attributes/KeyAbstract.js +1 -1
- package/dist/attributes/KeyAbstract.js.map +1 -1
- package/dist/attributes/KeyDown.js +1 -1
- package/dist/attributes/KeyDown.js.map +1 -1
- package/dist/attributes/KeyUp.js +1 -1
- package/dist/attributes/KeyUp.js.map +1 -1
- package/dist/attributes/LazyAttribute.js +4 -2
- package/dist/attributes/LazyAttribute.js.map +1 -1
- package/dist/attributes/List.js +77 -30
- package/dist/attributes/List.js.map +1 -1
- package/dist/attributes/On.d.ts +1 -1
- package/dist/attributes/On.js +10 -10
- package/dist/attributes/On.js.map +1 -1
- package/dist/attributes/RootAttribute.js +29 -8
- package/dist/attributes/RootAttribute.js.map +1 -1
- package/dist/attributes/ScopeAttribute.js +30 -9
- package/dist/attributes/ScopeAttribute.js.map +1 -1
- package/dist/attributes/SetAttribute.js +32 -11
- package/dist/attributes/SetAttribute.js.map +1 -1
- package/dist/attributes/StyleAttribute.js +27 -6
- package/dist/attributes/StyleAttribute.js.map +1 -1
- package/dist/attributes/XHRAttribute.js +28 -7
- package/dist/attributes/XHRAttribute.js.map +1 -1
- package/dist/helpers/ElementHelper.js +25 -4
- package/dist/helpers/ElementHelper.js.map +1 -1
- package/dist/helpers/decorators.js +22 -1
- package/dist/helpers/decorators.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/AST/AssignmentNode.ts +2 -4
- package/src/AST/ElementStyleNode.ts +0 -1
- package/src/AST/FunctionNode.ts +2 -0
- package/src/AST/ModifierNode.ts +1 -1
- package/src/AST/NamedStackNode.ts +4 -1
- package/src/AST/Node.ts +10 -5
- package/src/AST/OnNode.ts +1 -1
- package/src/AST/ScopeNodeAbstract.ts +3 -3
- package/src/AST.ts +26 -2
- package/src/Attribute.ts +19 -8
- package/src/DOM/DOMObject.ts +4 -1
- package/src/DOM.ts +2 -2
- package/src/Modifiers.ts +54 -0
- package/src/Tag.ts +69 -38
- package/src/attributes/KeyAbstract.ts +1 -1
- package/src/attributes/KeyDown.ts +1 -1
- package/src/attributes/KeyUp.ts +1 -1
- package/src/attributes/LazyAttribute.ts +6 -2
- package/src/attributes/On.ts +10 -9
- package/src/attributes/XHRAttribute.ts +2 -2
- package/src/version.ts +1 -1
- package/tsconfig.base.json +2 -1
package/dist/Tag.js
CHANGED
|
@@ -50,6 +50,33 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
50
50
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
|
+
var __values = (this && this.__values) || function(o) {
|
|
54
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
55
|
+
if (m) return m.call(o);
|
|
56
|
+
if (o && typeof o.length === "number") return {
|
|
57
|
+
next: function () {
|
|
58
|
+
if (o && i >= o.length) o = void 0;
|
|
59
|
+
return { value: o && o[i++], done: !o };
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
63
|
+
};
|
|
64
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
65
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
66
|
+
if (!m) return o;
|
|
67
|
+
var i = m.call(o), r, ar = [], e;
|
|
68
|
+
try {
|
|
69
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
70
|
+
}
|
|
71
|
+
catch (error) { e = { error: error }; }
|
|
72
|
+
finally {
|
|
73
|
+
try {
|
|
74
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
75
|
+
}
|
|
76
|
+
finally { if (e) throw e.error; }
|
|
77
|
+
}
|
|
78
|
+
return ar;
|
|
79
|
+
};
|
|
53
80
|
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
54
81
|
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
55
82
|
to[j] = from[i];
|
|
@@ -68,6 +95,7 @@ var Registry_1 = require("./Registry");
|
|
|
68
95
|
var DOMObject_1 = require("./DOM/DOMObject");
|
|
69
96
|
var AST_1 = require("./AST");
|
|
70
97
|
var StyleAttribute_1 = require("./attributes/StyleAttribute");
|
|
98
|
+
var Modifiers_1 = require("./Modifiers");
|
|
71
99
|
var TagState;
|
|
72
100
|
(function (TagState) {
|
|
73
101
|
TagState[TagState["Instantiated"] = 0] = "Instantiated";
|
|
@@ -88,6 +116,7 @@ var Tag = /** @class */ (function (_super) {
|
|
|
88
116
|
var _this = _super.call(this, element, props) || this;
|
|
89
117
|
_this.dom = dom;
|
|
90
118
|
_this.deferredAttributes = [];
|
|
119
|
+
_this.attributes = new Map();
|
|
91
120
|
_this._nonDeferredAttributes = [];
|
|
92
121
|
_this._children = [];
|
|
93
122
|
_this.inputTags = [
|
|
@@ -98,8 +127,6 @@ var Tag = /** @class */ (function (_super) {
|
|
|
98
127
|
element[Tag.TaggedVariable] = _this;
|
|
99
128
|
_this.rawAttributes = {};
|
|
100
129
|
_this.parsedAttributes = {};
|
|
101
|
-
_this.attributes = [];
|
|
102
|
-
_this.attributeMap = {};
|
|
103
130
|
_this.onEventHandlers = {};
|
|
104
131
|
_this.analyzeElementAttributes();
|
|
105
132
|
_this._state = TagState.Instantiated;
|
|
@@ -127,13 +154,44 @@ var Tag = /** @class */ (function (_super) {
|
|
|
127
154
|
this._nonDeferredAttributes.length = 0;
|
|
128
155
|
};
|
|
129
156
|
Tag.prototype.getAttributesWithState = function (state) {
|
|
130
|
-
|
|
157
|
+
var e_1, _a;
|
|
158
|
+
var attrs = [];
|
|
159
|
+
try {
|
|
160
|
+
for (var _b = __values(this.attributes.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
161
|
+
var attr = _c.value;
|
|
162
|
+
if (attr.state === state)
|
|
163
|
+
attrs.push(attr);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
167
|
+
finally {
|
|
168
|
+
try {
|
|
169
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
170
|
+
}
|
|
171
|
+
finally { if (e_1) throw e_1.error; }
|
|
172
|
+
}
|
|
173
|
+
return attrs;
|
|
131
174
|
};
|
|
132
175
|
Object.defineProperty(Tag.prototype, "nonDeferredAttributes", {
|
|
133
176
|
get: function () {
|
|
177
|
+
var e_2, _a;
|
|
134
178
|
if (this._nonDeferredAttributes.length > 0)
|
|
135
179
|
return this._nonDeferredAttributes;
|
|
136
|
-
var attrs =
|
|
180
|
+
var attrs = [];
|
|
181
|
+
try {
|
|
182
|
+
for (var _b = __values(this.attributes.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
183
|
+
var attr = _c.value;
|
|
184
|
+
if (attr.state !== Attribute_1.AttributeState.Deferred)
|
|
185
|
+
attrs.push(attr);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
189
|
+
finally {
|
|
190
|
+
try {
|
|
191
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
192
|
+
}
|
|
193
|
+
finally { if (e_2) throw e_2.error; }
|
|
194
|
+
}
|
|
137
195
|
this._nonDeferredAttributes = attrs;
|
|
138
196
|
return attrs;
|
|
139
197
|
},
|
|
@@ -189,29 +247,42 @@ var Tag = /** @class */ (function (_super) {
|
|
|
189
247
|
};
|
|
190
248
|
Tag.prototype.evaluate = function () {
|
|
191
249
|
return __awaiter(this, void 0, void 0, function () {
|
|
192
|
-
var
|
|
193
|
-
|
|
194
|
-
|
|
250
|
+
var _a, _b, attr, e_3_1;
|
|
251
|
+
var e_3, _c;
|
|
252
|
+
return __generator(this, function (_d) {
|
|
253
|
+
switch (_d.label) {
|
|
195
254
|
case 0:
|
|
196
|
-
|
|
197
|
-
|
|
255
|
+
_d.trys.push([0, 5, 6, 7]);
|
|
256
|
+
_a = __values(this.nonDeferredAttributes), _b = _a.next();
|
|
257
|
+
_d.label = 1;
|
|
198
258
|
case 1:
|
|
199
|
-
if (
|
|
200
|
-
attr =
|
|
259
|
+
if (!!_b.done) return [3 /*break*/, 4];
|
|
260
|
+
attr = _b.value;
|
|
201
261
|
return [4 /*yield*/, attr.evaluate()];
|
|
202
262
|
case 2:
|
|
203
|
-
|
|
204
|
-
|
|
263
|
+
_d.sent();
|
|
264
|
+
_d.label = 3;
|
|
205
265
|
case 3:
|
|
206
|
-
|
|
266
|
+
_b = _a.next();
|
|
207
267
|
return [3 /*break*/, 1];
|
|
208
|
-
case 4: return [
|
|
268
|
+
case 4: return [3 /*break*/, 7];
|
|
269
|
+
case 5:
|
|
270
|
+
e_3_1 = _d.sent();
|
|
271
|
+
e_3 = { error: e_3_1 };
|
|
272
|
+
return [3 /*break*/, 7];
|
|
273
|
+
case 6:
|
|
274
|
+
try {
|
|
275
|
+
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
276
|
+
}
|
|
277
|
+
finally { if (e_3) throw e_3.error; }
|
|
278
|
+
return [7 /*endfinally*/];
|
|
279
|
+
case 7: return [2 /*return*/];
|
|
209
280
|
}
|
|
210
281
|
});
|
|
211
282
|
});
|
|
212
283
|
};
|
|
213
284
|
Tag.prototype.mutate = function (mutation) {
|
|
214
|
-
this.attributes.
|
|
285
|
+
this.attributes.forEach(function (attr) { return attr.mutate(mutation); });
|
|
215
286
|
this.dispatch('mutate', mutation);
|
|
216
287
|
};
|
|
217
288
|
Tag.prototype.get = function (attr) {
|
|
@@ -246,9 +317,6 @@ var Tag = /** @class */ (function (_super) {
|
|
|
246
317
|
}
|
|
247
318
|
return null;
|
|
248
319
|
};
|
|
249
|
-
Tag.prototype.getAttributeModifiers = function (attr) {
|
|
250
|
-
return attr.split('|').splice(1);
|
|
251
|
-
};
|
|
252
320
|
Object.defineProperty(Tag.prototype, "isInput", {
|
|
253
321
|
get: function () {
|
|
254
322
|
return this.inputTags.indexOf(this.element.tagName.toLowerCase()) > -1;
|
|
@@ -283,11 +351,21 @@ var Tag = /** @class */ (function (_super) {
|
|
|
283
351
|
}
|
|
284
352
|
},
|
|
285
353
|
set: function (value) {
|
|
354
|
+
var e_4, _a;
|
|
286
355
|
if (this.isInput) {
|
|
287
356
|
if (this.isMultipleSelect) {
|
|
288
|
-
|
|
289
|
-
var
|
|
290
|
-
|
|
357
|
+
try {
|
|
358
|
+
for (var _b = __values(Array.from(this.element.options)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
359
|
+
var option = _c.value;
|
|
360
|
+
option.selected = value.indexOf(option.value) > -1;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
364
|
+
finally {
|
|
365
|
+
try {
|
|
366
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
367
|
+
}
|
|
368
|
+
finally { if (e_4) throw e_4.error; }
|
|
291
369
|
}
|
|
292
370
|
}
|
|
293
371
|
else {
|
|
@@ -334,7 +412,7 @@ var Tag = /** @class */ (function (_super) {
|
|
|
334
412
|
};
|
|
335
413
|
Object.defineProperty(Tag.prototype, "children", {
|
|
336
414
|
get: function () {
|
|
337
|
-
return __spreadArray([], this._children);
|
|
415
|
+
return __spreadArray([], __read(this._children));
|
|
338
416
|
},
|
|
339
417
|
enumerable: false,
|
|
340
418
|
configurable: true
|
|
@@ -441,13 +519,23 @@ var Tag = /** @class */ (function (_super) {
|
|
|
441
519
|
return this.parentTag ? this.parentTag.findAncestorByAttribute(attr, true) : null;
|
|
442
520
|
};
|
|
443
521
|
Tag.prototype.findDescendantsByAttribute = function (attr, includeSelf) {
|
|
522
|
+
var e_5, _a;
|
|
444
523
|
if (includeSelf === void 0) { includeSelf = false; }
|
|
445
524
|
var tags = [];
|
|
446
525
|
if (includeSelf && this.hasAttribute(attr))
|
|
447
526
|
tags.push(this);
|
|
448
|
-
|
|
449
|
-
var
|
|
450
|
-
|
|
527
|
+
try {
|
|
528
|
+
for (var _b = __values(this.children), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
529
|
+
var child = _c.value;
|
|
530
|
+
tags.concat(child.findDescendantsByAttribute(attr, true));
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
534
|
+
finally {
|
|
535
|
+
try {
|
|
536
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
537
|
+
}
|
|
538
|
+
finally { if (e_5) throw e_5.error; }
|
|
451
539
|
}
|
|
452
540
|
return tags;
|
|
453
541
|
};
|
|
@@ -459,18 +547,28 @@ var Tag = /** @class */ (function (_super) {
|
|
|
459
547
|
};
|
|
460
548
|
Tag.prototype.getAttribute = function (key) {
|
|
461
549
|
return __awaiter(this, void 0, void 0, function () {
|
|
462
|
-
var cls,
|
|
463
|
-
|
|
464
|
-
|
|
550
|
+
var cls, _a, _b, attr;
|
|
551
|
+
var e_6, _c;
|
|
552
|
+
return __generator(this, function (_d) {
|
|
553
|
+
switch (_d.label) {
|
|
465
554
|
case 0: return [4 /*yield*/, Registry_1.Registry.instance.attributes.get(key)];
|
|
466
555
|
case 1:
|
|
467
|
-
cls =
|
|
556
|
+
cls = _d.sent();
|
|
468
557
|
if (!cls)
|
|
469
558
|
return [2 /*return*/];
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
559
|
+
try {
|
|
560
|
+
for (_a = __values(this.attributes.values()), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
561
|
+
attr = _b.value;
|
|
562
|
+
if (attr instanceof cls)
|
|
563
|
+
return [2 /*return*/, attr];
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
567
|
+
finally {
|
|
568
|
+
try {
|
|
569
|
+
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
570
|
+
}
|
|
571
|
+
finally { if (e_6) throw e_6.error; }
|
|
474
572
|
}
|
|
475
573
|
return [2 /*return*/];
|
|
476
574
|
}
|
|
@@ -487,15 +585,17 @@ var Tag = /** @class */ (function (_super) {
|
|
|
487
585
|
this.element.innerText = value;
|
|
488
586
|
else if (key === '@html') {
|
|
489
587
|
this.element.innerHTML = value;
|
|
490
|
-
DOM_1.DOM.instance.buildFrom(this.element)
|
|
588
|
+
DOM_1.DOM.instance.buildFrom(this.element).then(function (tag) {
|
|
589
|
+
AST_1.Tree.reprepareExecutingTrees();
|
|
590
|
+
});
|
|
491
591
|
}
|
|
492
592
|
else if (key === '@value')
|
|
493
593
|
this.value = value;
|
|
494
594
|
else if (key === '@class' && value) {
|
|
495
|
-
(_a = this.element.classList).remove.apply(_a, Array.from(this.element.classList));
|
|
595
|
+
(_a = this.element.classList).remove.apply(_a, __spreadArray([], __read(Array.from(this.element.classList))));
|
|
496
596
|
var classes = value instanceof Array ? value : [value];
|
|
497
597
|
if (classes.length)
|
|
498
|
-
(_b = this.element.classList).add.apply(_b, classes);
|
|
598
|
+
(_b = this.element.classList).add.apply(_b, __spreadArray([], __read(classes)));
|
|
499
599
|
}
|
|
500
600
|
else if (Tag.flagAttributes.indexOf(key) > -1) {
|
|
501
601
|
var attrKey = key.replace('@', '');
|
|
@@ -556,7 +656,8 @@ var Tag = /** @class */ (function (_super) {
|
|
|
556
656
|
};
|
|
557
657
|
Tag.prototype.buildAttributes = function () {
|
|
558
658
|
return __awaiter(this, void 0, void 0, function () {
|
|
559
|
-
var requiresScope, defer, isMobile, tags, slot,
|
|
659
|
+
var requiresScope, defer, isMobile, tags, slot, tags_1, tags_1_1, tag, _a, _b, _i, attr, attrClass, attrObj, e_7_1;
|
|
660
|
+
var e_7, _c;
|
|
560
661
|
return __generator(this, function (_d) {
|
|
561
662
|
switch (_d.label) {
|
|
562
663
|
case 0:
|
|
@@ -572,55 +673,68 @@ var Tag = /** @class */ (function (_super) {
|
|
|
572
673
|
case 1:
|
|
573
674
|
tags = _d.sent();
|
|
574
675
|
slot = this.isSlot ? this : null;
|
|
575
|
-
_i = 0, tags_1 = tags;
|
|
576
676
|
_d.label = 2;
|
|
577
677
|
case 2:
|
|
578
|
-
|
|
579
|
-
|
|
678
|
+
_d.trys.push([2, 11, 12, 13]);
|
|
679
|
+
tags_1 = __values(tags), tags_1_1 = tags_1.next();
|
|
680
|
+
_d.label = 3;
|
|
681
|
+
case 3:
|
|
682
|
+
if (!!tags_1_1.done) return [3 /*break*/, 10];
|
|
683
|
+
tag = tags_1_1.value;
|
|
580
684
|
_a = [];
|
|
581
685
|
for (_b in this.rawAttributes)
|
|
582
686
|
_a.push(_b);
|
|
583
|
-
|
|
584
|
-
_d.label =
|
|
585
|
-
case
|
|
586
|
-
if (!(
|
|
587
|
-
attr = _a[
|
|
588
|
-
if (tag.
|
|
589
|
-
return [3 /*break*/,
|
|
687
|
+
_i = 0;
|
|
688
|
+
_d.label = 4;
|
|
689
|
+
case 4:
|
|
690
|
+
if (!(_i < _a.length)) return [3 /*break*/, 8];
|
|
691
|
+
attr = _a[_i];
|
|
692
|
+
if (tag.attributes.has(attr))
|
|
693
|
+
return [3 /*break*/, 7];
|
|
590
694
|
if (this.hasModifier(attr, 'mobile') && !isMobile)
|
|
591
|
-
return [3 /*break*/,
|
|
695
|
+
return [3 /*break*/, 7];
|
|
592
696
|
if (this.hasModifier(attr, 'desktop') && isMobile)
|
|
593
|
-
return [3 /*break*/,
|
|
697
|
+
return [3 /*break*/, 7];
|
|
594
698
|
return [4 /*yield*/, this.getAttributeClass(attr)];
|
|
595
|
-
case
|
|
699
|
+
case 5:
|
|
596
700
|
attrClass = _d.sent();
|
|
597
|
-
if (!attrClass) return [3 /*break*/,
|
|
701
|
+
if (!attrClass) return [3 /*break*/, 7];
|
|
598
702
|
if (attrClass.scoped)
|
|
599
703
|
requiresScope = true;
|
|
600
704
|
attrObj = attrClass.create(tag, attr, attrClass, slot);
|
|
601
|
-
tag.attributes.
|
|
602
|
-
|
|
603
|
-
if (!(defer && attrClass.canDefer)) return [3 /*break*/, 6];
|
|
705
|
+
tag.attributes.set(attr, attrObj);
|
|
706
|
+
if (!(defer && attrClass.canDefer)) return [3 /*break*/, 7];
|
|
604
707
|
return [4 /*yield*/, attrObj.defer()];
|
|
605
|
-
case
|
|
708
|
+
case 6:
|
|
606
709
|
_d.sent();
|
|
607
710
|
tag.deferredAttributes.push(attrObj);
|
|
608
711
|
attrObj.on('state', tag.onAttributeStateChange, tag);
|
|
609
|
-
_d.label =
|
|
610
|
-
case 6:
|
|
611
|
-
_c++;
|
|
612
|
-
return [3 /*break*/, 3];
|
|
712
|
+
_d.label = 7;
|
|
613
713
|
case 7:
|
|
714
|
+
_i++;
|
|
715
|
+
return [3 /*break*/, 4];
|
|
716
|
+
case 8:
|
|
614
717
|
if (tag.element.getAttribute('id'))
|
|
615
718
|
requiresScope = true;
|
|
616
719
|
if (requiresScope && !tag.uniqueScope) {
|
|
617
720
|
tag._uniqueScope = true;
|
|
618
721
|
}
|
|
619
|
-
_d.label =
|
|
620
|
-
case 8:
|
|
621
|
-
_i++;
|
|
622
|
-
return [3 /*break*/, 2];
|
|
722
|
+
_d.label = 9;
|
|
623
723
|
case 9:
|
|
724
|
+
tags_1_1 = tags_1.next();
|
|
725
|
+
return [3 /*break*/, 3];
|
|
726
|
+
case 10: return [3 /*break*/, 13];
|
|
727
|
+
case 11:
|
|
728
|
+
e_7_1 = _d.sent();
|
|
729
|
+
e_7 = { error: e_7_1 };
|
|
730
|
+
return [3 /*break*/, 13];
|
|
731
|
+
case 12:
|
|
732
|
+
try {
|
|
733
|
+
if (tags_1_1 && !tags_1_1.done && (_c = tags_1.return)) _c.call(tags_1);
|
|
734
|
+
}
|
|
735
|
+
finally { if (e_7) throw e_7.error; }
|
|
736
|
+
return [7 /*endfinally*/];
|
|
737
|
+
case 13:
|
|
624
738
|
this._state = TagState.AttributesBuilt;
|
|
625
739
|
return [2 /*return*/];
|
|
626
740
|
}
|
|
@@ -629,33 +743,62 @@ var Tag = /** @class */ (function (_super) {
|
|
|
629
743
|
};
|
|
630
744
|
Tag.prototype.compileAttributes = function () {
|
|
631
745
|
return __awaiter(this, void 0, void 0, function () {
|
|
632
|
-
var tags,
|
|
633
|
-
|
|
634
|
-
|
|
746
|
+
var tags, tags_2, tags_2_1, tag, _a, _b, attr, e_8_1, e_9_1;
|
|
747
|
+
var e_9, _c, e_8, _d;
|
|
748
|
+
return __generator(this, function (_e) {
|
|
749
|
+
switch (_e.label) {
|
|
635
750
|
case 0: return [4 /*yield*/, this.getTagsToBuild()];
|
|
636
751
|
case 1:
|
|
637
|
-
tags =
|
|
638
|
-
|
|
639
|
-
_c.label = 2;
|
|
752
|
+
tags = _e.sent();
|
|
753
|
+
_e.label = 2;
|
|
640
754
|
case 2:
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
_c.label = 3;
|
|
755
|
+
_e.trys.push([2, 13, 14, 15]);
|
|
756
|
+
tags_2 = __values(tags), tags_2_1 = tags_2.next();
|
|
757
|
+
_e.label = 3;
|
|
645
758
|
case 3:
|
|
646
|
-
if (
|
|
647
|
-
|
|
648
|
-
|
|
759
|
+
if (!!tags_2_1.done) return [3 /*break*/, 12];
|
|
760
|
+
tag = tags_2_1.value;
|
|
761
|
+
_e.label = 4;
|
|
649
762
|
case 4:
|
|
650
|
-
|
|
651
|
-
|
|
763
|
+
_e.trys.push([4, 9, 10, 11]);
|
|
764
|
+
_a = (e_8 = void 0, __values(tag.getAttributesWithState(Attribute_1.AttributeState.Instantiated))), _b = _a.next();
|
|
765
|
+
_e.label = 5;
|
|
652
766
|
case 5:
|
|
653
|
-
|
|
654
|
-
|
|
767
|
+
if (!!_b.done) return [3 /*break*/, 8];
|
|
768
|
+
attr = _b.value;
|
|
769
|
+
return [4 /*yield*/, attr.compile()];
|
|
655
770
|
case 6:
|
|
656
|
-
|
|
657
|
-
|
|
771
|
+
_e.sent();
|
|
772
|
+
_e.label = 7;
|
|
658
773
|
case 7:
|
|
774
|
+
_b = _a.next();
|
|
775
|
+
return [3 /*break*/, 5];
|
|
776
|
+
case 8: return [3 /*break*/, 11];
|
|
777
|
+
case 9:
|
|
778
|
+
e_8_1 = _e.sent();
|
|
779
|
+
e_8 = { error: e_8_1 };
|
|
780
|
+
return [3 /*break*/, 11];
|
|
781
|
+
case 10:
|
|
782
|
+
try {
|
|
783
|
+
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
784
|
+
}
|
|
785
|
+
finally { if (e_8) throw e_8.error; }
|
|
786
|
+
return [7 /*endfinally*/];
|
|
787
|
+
case 11:
|
|
788
|
+
tags_2_1 = tags_2.next();
|
|
789
|
+
return [3 /*break*/, 3];
|
|
790
|
+
case 12: return [3 /*break*/, 15];
|
|
791
|
+
case 13:
|
|
792
|
+
e_9_1 = _e.sent();
|
|
793
|
+
e_9 = { error: e_9_1 };
|
|
794
|
+
return [3 /*break*/, 15];
|
|
795
|
+
case 14:
|
|
796
|
+
try {
|
|
797
|
+
if (tags_2_1 && !tags_2_1.done && (_c = tags_2.return)) _c.call(tags_2);
|
|
798
|
+
}
|
|
799
|
+
finally { if (e_9) throw e_9.error; }
|
|
800
|
+
return [7 /*endfinally*/];
|
|
801
|
+
case 15:
|
|
659
802
|
this._state = TagState.AttributesCompiled;
|
|
660
803
|
return [2 /*return*/];
|
|
661
804
|
}
|
|
@@ -664,33 +807,62 @@ var Tag = /** @class */ (function (_super) {
|
|
|
664
807
|
};
|
|
665
808
|
Tag.prototype.setupAttributes = function () {
|
|
666
809
|
return __awaiter(this, void 0, void 0, function () {
|
|
667
|
-
var tags,
|
|
668
|
-
|
|
669
|
-
|
|
810
|
+
var tags, tags_3, tags_3_1, tag, _a, _b, attr, e_10_1, e_11_1;
|
|
811
|
+
var e_11, _c, e_10, _d;
|
|
812
|
+
return __generator(this, function (_e) {
|
|
813
|
+
switch (_e.label) {
|
|
670
814
|
case 0: return [4 /*yield*/, this.getTagsToBuild()];
|
|
671
815
|
case 1:
|
|
672
|
-
tags =
|
|
673
|
-
|
|
674
|
-
_c.label = 2;
|
|
816
|
+
tags = _e.sent();
|
|
817
|
+
_e.label = 2;
|
|
675
818
|
case 2:
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
_c.label = 3;
|
|
819
|
+
_e.trys.push([2, 13, 14, 15]);
|
|
820
|
+
tags_3 = __values(tags), tags_3_1 = tags_3.next();
|
|
821
|
+
_e.label = 3;
|
|
680
822
|
case 3:
|
|
681
|
-
if (
|
|
682
|
-
|
|
683
|
-
|
|
823
|
+
if (!!tags_3_1.done) return [3 /*break*/, 12];
|
|
824
|
+
tag = tags_3_1.value;
|
|
825
|
+
_e.label = 4;
|
|
684
826
|
case 4:
|
|
685
|
-
|
|
686
|
-
|
|
827
|
+
_e.trys.push([4, 9, 10, 11]);
|
|
828
|
+
_a = (e_10 = void 0, __values(tag.getAttributesWithState(Attribute_1.AttributeState.Compiled))), _b = _a.next();
|
|
829
|
+
_e.label = 5;
|
|
687
830
|
case 5:
|
|
688
|
-
|
|
689
|
-
|
|
831
|
+
if (!!_b.done) return [3 /*break*/, 8];
|
|
832
|
+
attr = _b.value;
|
|
833
|
+
return [4 /*yield*/, attr.setup()];
|
|
690
834
|
case 6:
|
|
691
|
-
|
|
692
|
-
|
|
835
|
+
_e.sent();
|
|
836
|
+
_e.label = 7;
|
|
693
837
|
case 7:
|
|
838
|
+
_b = _a.next();
|
|
839
|
+
return [3 /*break*/, 5];
|
|
840
|
+
case 8: return [3 /*break*/, 11];
|
|
841
|
+
case 9:
|
|
842
|
+
e_10_1 = _e.sent();
|
|
843
|
+
e_10 = { error: e_10_1 };
|
|
844
|
+
return [3 /*break*/, 11];
|
|
845
|
+
case 10:
|
|
846
|
+
try {
|
|
847
|
+
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
848
|
+
}
|
|
849
|
+
finally { if (e_10) throw e_10.error; }
|
|
850
|
+
return [7 /*endfinally*/];
|
|
851
|
+
case 11:
|
|
852
|
+
tags_3_1 = tags_3.next();
|
|
853
|
+
return [3 /*break*/, 3];
|
|
854
|
+
case 12: return [3 /*break*/, 15];
|
|
855
|
+
case 13:
|
|
856
|
+
e_11_1 = _e.sent();
|
|
857
|
+
e_11 = { error: e_11_1 };
|
|
858
|
+
return [3 /*break*/, 15];
|
|
859
|
+
case 14:
|
|
860
|
+
try {
|
|
861
|
+
if (tags_3_1 && !tags_3_1.done && (_c = tags_3.return)) _c.call(tags_3);
|
|
862
|
+
}
|
|
863
|
+
finally { if (e_11) throw e_11.error; }
|
|
864
|
+
return [7 /*endfinally*/];
|
|
865
|
+
case 15:
|
|
694
866
|
if (!this.isSlot)
|
|
695
867
|
this.dom.registerElementInRoot(this);
|
|
696
868
|
this._state = TagState.AttributesSetup;
|
|
@@ -702,33 +874,62 @@ var Tag = /** @class */ (function (_super) {
|
|
|
702
874
|
};
|
|
703
875
|
Tag.prototype.extractAttributes = function () {
|
|
704
876
|
return __awaiter(this, void 0, void 0, function () {
|
|
705
|
-
var tags,
|
|
706
|
-
|
|
707
|
-
|
|
877
|
+
var tags, tags_4, tags_4_1, tag, _a, _b, attr, e_12_1, e_13_1;
|
|
878
|
+
var e_13, _c, e_12, _d;
|
|
879
|
+
return __generator(this, function (_e) {
|
|
880
|
+
switch (_e.label) {
|
|
708
881
|
case 0: return [4 /*yield*/, this.getTagsToBuild()];
|
|
709
882
|
case 1:
|
|
710
|
-
tags =
|
|
711
|
-
|
|
712
|
-
_c.label = 2;
|
|
883
|
+
tags = _e.sent();
|
|
884
|
+
_e.label = 2;
|
|
713
885
|
case 2:
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
_c.label = 3;
|
|
886
|
+
_e.trys.push([2, 13, 14, 15]);
|
|
887
|
+
tags_4 = __values(tags), tags_4_1 = tags_4.next();
|
|
888
|
+
_e.label = 3;
|
|
718
889
|
case 3:
|
|
719
|
-
if (
|
|
720
|
-
|
|
721
|
-
|
|
890
|
+
if (!!tags_4_1.done) return [3 /*break*/, 12];
|
|
891
|
+
tag = tags_4_1.value;
|
|
892
|
+
_e.label = 4;
|
|
722
893
|
case 4:
|
|
723
|
-
|
|
724
|
-
|
|
894
|
+
_e.trys.push([4, 9, 10, 11]);
|
|
895
|
+
_a = (e_12 = void 0, __values(tag.getAttributesWithState(Attribute_1.AttributeState.Setup))), _b = _a.next();
|
|
896
|
+
_e.label = 5;
|
|
725
897
|
case 5:
|
|
726
|
-
|
|
727
|
-
|
|
898
|
+
if (!!_b.done) return [3 /*break*/, 8];
|
|
899
|
+
attr = _b.value;
|
|
900
|
+
return [4 /*yield*/, attr.extract()];
|
|
728
901
|
case 6:
|
|
729
|
-
|
|
730
|
-
|
|
902
|
+
_e.sent();
|
|
903
|
+
_e.label = 7;
|
|
731
904
|
case 7:
|
|
905
|
+
_b = _a.next();
|
|
906
|
+
return [3 /*break*/, 5];
|
|
907
|
+
case 8: return [3 /*break*/, 11];
|
|
908
|
+
case 9:
|
|
909
|
+
e_12_1 = _e.sent();
|
|
910
|
+
e_12 = { error: e_12_1 };
|
|
911
|
+
return [3 /*break*/, 11];
|
|
912
|
+
case 10:
|
|
913
|
+
try {
|
|
914
|
+
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
915
|
+
}
|
|
916
|
+
finally { if (e_12) throw e_12.error; }
|
|
917
|
+
return [7 /*endfinally*/];
|
|
918
|
+
case 11:
|
|
919
|
+
tags_4_1 = tags_4.next();
|
|
920
|
+
return [3 /*break*/, 3];
|
|
921
|
+
case 12: return [3 /*break*/, 15];
|
|
922
|
+
case 13:
|
|
923
|
+
e_13_1 = _e.sent();
|
|
924
|
+
e_13 = { error: e_13_1 };
|
|
925
|
+
return [3 /*break*/, 15];
|
|
926
|
+
case 14:
|
|
927
|
+
try {
|
|
928
|
+
if (tags_4_1 && !tags_4_1.done && (_c = tags_4.return)) _c.call(tags_4);
|
|
929
|
+
}
|
|
930
|
+
finally { if (e_13) throw e_13.error; }
|
|
931
|
+
return [7 /*endfinally*/];
|
|
932
|
+
case 15:
|
|
732
933
|
this._state = TagState.AttributesExtracted;
|
|
733
934
|
this.callOnWrapped('$extracted');
|
|
734
935
|
return [2 /*return*/];
|
|
@@ -738,36 +939,65 @@ var Tag = /** @class */ (function (_super) {
|
|
|
738
939
|
};
|
|
739
940
|
Tag.prototype.connectAttributes = function () {
|
|
740
941
|
return __awaiter(this, void 0, void 0, function () {
|
|
741
|
-
var tags,
|
|
742
|
-
|
|
743
|
-
|
|
942
|
+
var tags, tags_5, tags_5_1, tag, _a, _b, attr, e_14_1, e_15_1;
|
|
943
|
+
var e_15, _c, e_14, _d;
|
|
944
|
+
return __generator(this, function (_e) {
|
|
945
|
+
switch (_e.label) {
|
|
744
946
|
case 0: return [4 /*yield*/, this.getTagsToBuild()];
|
|
745
947
|
case 1:
|
|
746
|
-
tags =
|
|
747
|
-
|
|
748
|
-
_c.label = 2;
|
|
948
|
+
tags = _e.sent();
|
|
949
|
+
_e.label = 2;
|
|
749
950
|
case 2:
|
|
750
|
-
|
|
751
|
-
|
|
951
|
+
_e.trys.push([2, 13, 14, 15]);
|
|
952
|
+
tags_5 = __values(tags), tags_5_1 = tags_5.next();
|
|
953
|
+
_e.label = 3;
|
|
954
|
+
case 3:
|
|
955
|
+
if (!!tags_5_1.done) return [3 /*break*/, 12];
|
|
956
|
+
tag = tags_5_1.value;
|
|
752
957
|
if (tag.isInput) {
|
|
753
|
-
tag.addEventHandler('input',
|
|
958
|
+
tag.addEventHandler('input', null, tag.inputMutation, tag);
|
|
754
959
|
}
|
|
755
|
-
|
|
756
|
-
_c.label = 3;
|
|
757
|
-
case 3:
|
|
758
|
-
if (!(_a < _b.length)) return [3 /*break*/, 6];
|
|
759
|
-
attr = _b[_a];
|
|
760
|
-
return [4 /*yield*/, attr.connect()];
|
|
960
|
+
_e.label = 4;
|
|
761
961
|
case 4:
|
|
762
|
-
|
|
763
|
-
|
|
962
|
+
_e.trys.push([4, 9, 10, 11]);
|
|
963
|
+
_a = (e_14 = void 0, __values(tag.getAttributesWithState(Attribute_1.AttributeState.Extracted))), _b = _a.next();
|
|
964
|
+
_e.label = 5;
|
|
764
965
|
case 5:
|
|
765
|
-
|
|
766
|
-
|
|
966
|
+
if (!!_b.done) return [3 /*break*/, 8];
|
|
967
|
+
attr = _b.value;
|
|
968
|
+
return [4 /*yield*/, attr.connect()];
|
|
767
969
|
case 6:
|
|
768
|
-
|
|
769
|
-
|
|
970
|
+
_e.sent();
|
|
971
|
+
_e.label = 7;
|
|
770
972
|
case 7:
|
|
973
|
+
_b = _a.next();
|
|
974
|
+
return [3 /*break*/, 5];
|
|
975
|
+
case 8: return [3 /*break*/, 11];
|
|
976
|
+
case 9:
|
|
977
|
+
e_14_1 = _e.sent();
|
|
978
|
+
e_14 = { error: e_14_1 };
|
|
979
|
+
return [3 /*break*/, 11];
|
|
980
|
+
case 10:
|
|
981
|
+
try {
|
|
982
|
+
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
983
|
+
}
|
|
984
|
+
finally { if (e_14) throw e_14.error; }
|
|
985
|
+
return [7 /*endfinally*/];
|
|
986
|
+
case 11:
|
|
987
|
+
tags_5_1 = tags_5.next();
|
|
988
|
+
return [3 /*break*/, 3];
|
|
989
|
+
case 12: return [3 /*break*/, 15];
|
|
990
|
+
case 13:
|
|
991
|
+
e_15_1 = _e.sent();
|
|
992
|
+
e_15 = { error: e_15_1 };
|
|
993
|
+
return [3 /*break*/, 15];
|
|
994
|
+
case 14:
|
|
995
|
+
try {
|
|
996
|
+
if (tags_5_1 && !tags_5_1.done && (_c = tags_5.return)) _c.call(tags_5);
|
|
997
|
+
}
|
|
998
|
+
finally { if (e_15) throw e_15.error; }
|
|
999
|
+
return [7 /*endfinally*/];
|
|
1000
|
+
case 15:
|
|
771
1001
|
this._state = TagState.AttributesConnected;
|
|
772
1002
|
this.callOnWrapped('$bound');
|
|
773
1003
|
return [2 /*return*/];
|
|
@@ -776,20 +1006,30 @@ var Tag = /** @class */ (function (_super) {
|
|
|
776
1006
|
});
|
|
777
1007
|
};
|
|
778
1008
|
Tag.prototype.inputMutation = function (e) {
|
|
1009
|
+
var e_16, _a;
|
|
779
1010
|
if (this.isSelect) {
|
|
780
1011
|
var selected = this.element.selectedOptions;
|
|
781
1012
|
var values = [];
|
|
782
1013
|
for (var i = 0; i < selected.length; i++) {
|
|
783
1014
|
values.push(selected[i].value);
|
|
784
1015
|
}
|
|
785
|
-
|
|
786
|
-
var
|
|
787
|
-
|
|
788
|
-
option.
|
|
1016
|
+
try {
|
|
1017
|
+
for (var _b = __values(Array.from(this.element.options)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
1018
|
+
var option = _c.value;
|
|
1019
|
+
if (values.indexOf(option.value) > -1) {
|
|
1020
|
+
option.setAttribute('selected', '');
|
|
1021
|
+
}
|
|
1022
|
+
else {
|
|
1023
|
+
option.removeAttribute('selected');
|
|
1024
|
+
}
|
|
789
1025
|
}
|
|
790
|
-
|
|
791
|
-
|
|
1026
|
+
}
|
|
1027
|
+
catch (e_16_1) { e_16 = { error: e_16_1 }; }
|
|
1028
|
+
finally {
|
|
1029
|
+
try {
|
|
1030
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
792
1031
|
}
|
|
1032
|
+
finally { if (e_16) throw e_16.error; }
|
|
793
1033
|
}
|
|
794
1034
|
this.value = values.join(',');
|
|
795
1035
|
}
|
|
@@ -815,24 +1055,75 @@ var Tag = /** @class */ (function (_super) {
|
|
|
815
1055
|
args[_i - 1] = arguments[_i];
|
|
816
1056
|
}
|
|
817
1057
|
if (this._uniqueScope && this.scope && this.scope.wrapped && this.scope.wrapped[method]) {
|
|
818
|
-
(_a = this.scope.wrapped)[method].apply(_a, args);
|
|
1058
|
+
(_a = this.scope.wrapped)[method].apply(_a, __spreadArray([], __read(args)));
|
|
819
1059
|
return true;
|
|
820
1060
|
}
|
|
821
1061
|
return false;
|
|
822
1062
|
};
|
|
823
1063
|
Tag.prototype.handleEvent = function (eventType, e) {
|
|
1064
|
+
var e_17, _a;
|
|
1065
|
+
var _this = this;
|
|
824
1066
|
if (e)
|
|
825
1067
|
e.stopPropagation();
|
|
826
1068
|
if (!this.onEventHandlers[eventType])
|
|
827
1069
|
return;
|
|
828
1070
|
this.scope.set('$event', e);
|
|
829
1071
|
this.scope.set('$value', this.value);
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
handler.
|
|
1072
|
+
var preventedDefault = false;
|
|
1073
|
+
var _loop_1 = function (handler) {
|
|
1074
|
+
if (!preventedDefault && handler.modifiers.has('preventdefault') && e.cancelable) {
|
|
1075
|
+
e.preventDefault();
|
|
1076
|
+
preventedDefault = true;
|
|
1077
|
+
}
|
|
1078
|
+
if (handler.modifiers.has('once'))
|
|
1079
|
+
this_1.removeEventHandler(handler.event, handler.handler, handler.context);
|
|
1080
|
+
if (handler.modifiers.has('throttle')) {
|
|
1081
|
+
var modifierArguments = handler.modifiers.get('throttle').getArguments(['1000']);
|
|
1082
|
+
var throttleTime = parseInt(modifierArguments[0]);
|
|
1083
|
+
var now = Math.floor(Date.now());
|
|
1084
|
+
if (!handler.state.lastCalled || handler.state.lastCalled + throttleTime < now) {
|
|
1085
|
+
handler.state.lastCalled = now;
|
|
1086
|
+
}
|
|
1087
|
+
else {
|
|
1088
|
+
return "continue";
|
|
1089
|
+
}
|
|
1090
|
+
}
|
|
1091
|
+
if (handler.modifiers.has('debounce')) {
|
|
1092
|
+
clearTimeout(handler.state.debounceTimeout);
|
|
1093
|
+
var modifierArguments = handler.modifiers.get('debounce').getArguments(['1000']);
|
|
1094
|
+
var debounceTime = parseInt(modifierArguments[0]);
|
|
1095
|
+
handler.state.debounceTimeout = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
1096
|
+
return __generator(this, function (_a) {
|
|
1097
|
+
switch (_a.label) {
|
|
1098
|
+
case 0: return [4 /*yield*/, handler.handler.call(handler.context, e)];
|
|
1099
|
+
case 1:
|
|
1100
|
+
_a.sent();
|
|
1101
|
+
return [2 /*return*/];
|
|
1102
|
+
}
|
|
1103
|
+
});
|
|
1104
|
+
}); }, debounceTime);
|
|
1105
|
+
}
|
|
1106
|
+
else {
|
|
1107
|
+
handler.handler.call(handler.context, e);
|
|
1108
|
+
}
|
|
1109
|
+
};
|
|
1110
|
+
var this_1 = this;
|
|
1111
|
+
try {
|
|
1112
|
+
for (var _b = __values(this.onEventHandlers[eventType]), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
1113
|
+
var handler = _c.value;
|
|
1114
|
+
_loop_1(handler);
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1117
|
+
catch (e_17_1) { e_17 = { error: e_17_1 }; }
|
|
1118
|
+
finally {
|
|
1119
|
+
try {
|
|
1120
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
1121
|
+
}
|
|
1122
|
+
finally { if (e_17) throw e_17.error; }
|
|
833
1123
|
}
|
|
834
1124
|
};
|
|
835
1125
|
Tag.prototype.hasModifier = function (attribute, modifier) {
|
|
1126
|
+
this.attributes;
|
|
836
1127
|
return attribute.indexOf("|" + modifier) > -1;
|
|
837
1128
|
};
|
|
838
1129
|
Tag.prototype.stripModifier = function (attribute, modifier) {
|
|
@@ -841,24 +1132,27 @@ var Tag = /** @class */ (function (_super) {
|
|
|
841
1132
|
Tag.prototype.addEventHandler = function (eventType, modifiers, handler, context) {
|
|
842
1133
|
if (context === void 0) { context = null; }
|
|
843
1134
|
var passiveValue = null;
|
|
844
|
-
|
|
1135
|
+
modifiers = modifiers || new Modifiers_1.Modifiers();
|
|
1136
|
+
if (modifiers.has('active')) {
|
|
845
1137
|
passiveValue = false;
|
|
846
1138
|
}
|
|
847
|
-
else if (modifiers.
|
|
1139
|
+
else if (modifiers.has('passive')) {
|
|
848
1140
|
passiveValue = true;
|
|
849
1141
|
}
|
|
850
1142
|
if (!this.onEventHandlers[eventType]) {
|
|
851
1143
|
this.onEventHandlers[eventType] = [];
|
|
852
1144
|
var element = On_1.On.WindowEvents.indexOf(eventType) > -1 && window ? window : this.element;
|
|
853
|
-
var
|
|
1145
|
+
var eventListenerOpts = {};
|
|
854
1146
|
if (eventType.indexOf('touch') > -1 || passiveValue !== null)
|
|
855
|
-
|
|
856
|
-
element.addEventListener(eventType, this.handleEvent.bind(this, eventType),
|
|
1147
|
+
eventListenerOpts['passive'] = passiveValue === null && true || passiveValue;
|
|
1148
|
+
element.addEventListener(eventType, this.handleEvent.bind(this, eventType), eventListenerOpts);
|
|
857
1149
|
}
|
|
858
1150
|
this.onEventHandlers[eventType].push({
|
|
859
1151
|
handler: handler,
|
|
860
1152
|
event: eventType,
|
|
861
1153
|
context: context,
|
|
1154
|
+
modifiers: modifiers,
|
|
1155
|
+
state: {}
|
|
862
1156
|
});
|
|
863
1157
|
};
|
|
864
1158
|
Tag.prototype.removeEventHandler = function (eventType, handler, context) {
|
|
@@ -874,14 +1168,33 @@ var Tag = /** @class */ (function (_super) {
|
|
|
874
1168
|
}
|
|
875
1169
|
};
|
|
876
1170
|
Tag.prototype.removeContextEventHandlers = function (context) {
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
for (var
|
|
880
|
-
var
|
|
881
|
-
|
|
882
|
-
this.
|
|
1171
|
+
var e_18, _a, e_19, _b;
|
|
1172
|
+
try {
|
|
1173
|
+
for (var _c = __values(Object.keys(this.onEventHandlers)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
1174
|
+
var eventType = _d.value;
|
|
1175
|
+
try {
|
|
1176
|
+
for (var _e = (e_19 = void 0, __values(this.onEventHandlers[eventType])), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
1177
|
+
var handler = _f.value;
|
|
1178
|
+
if (handler.context === context) {
|
|
1179
|
+
this.removeEventHandler(eventType, handler.handler, context);
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
883
1182
|
}
|
|
1183
|
+
catch (e_19_1) { e_19 = { error: e_19_1 }; }
|
|
1184
|
+
finally {
|
|
1185
|
+
try {
|
|
1186
|
+
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
1187
|
+
}
|
|
1188
|
+
finally { if (e_19) throw e_19.error; }
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
}
|
|
1192
|
+
catch (e_18_1) { e_18 = { error: e_18_1 }; }
|
|
1193
|
+
finally {
|
|
1194
|
+
try {
|
|
1195
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
884
1196
|
}
|
|
1197
|
+
finally { if (e_18) throw e_18.error; }
|
|
885
1198
|
}
|
|
886
1199
|
};
|
|
887
1200
|
Tag.prototype.createScope = function (force) {
|
|
@@ -899,22 +1212,19 @@ var Tag = /** @class */ (function (_super) {
|
|
|
899
1212
|
};
|
|
900
1213
|
Tag.prototype.watchAttribute = function (attributeName) {
|
|
901
1214
|
return __awaiter(this, void 0, void 0, function () {
|
|
902
|
-
var
|
|
903
|
-
return __generator(this, function (
|
|
904
|
-
switch (
|
|
1215
|
+
var standardAttribute;
|
|
1216
|
+
return __generator(this, function (_a) {
|
|
1217
|
+
switch (_a.label) {
|
|
905
1218
|
case 0:
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
if (attribute instanceof StandardAttribute_1.StandardAttribute && attribute.attributeName == attributeName) {
|
|
909
|
-
return [2 /*return*/, attribute];
|
|
910
|
-
}
|
|
1219
|
+
if (this.attributes.has(attributeName) && this.attributes.get(attributeName) instanceof StandardAttribute_1.StandardAttribute) {
|
|
1220
|
+
return [2 /*return*/, this.attributes.get(attributeName)];
|
|
911
1221
|
}
|
|
912
1222
|
this.createScope(true);
|
|
913
1223
|
standardAttribute = new StandardAttribute_1.StandardAttribute(this, attributeName);
|
|
914
|
-
this.attributes.
|
|
1224
|
+
this.attributes.set(attributeName, standardAttribute);
|
|
915
1225
|
return [4 /*yield*/, this.setupAttribute(standardAttribute)];
|
|
916
1226
|
case 1:
|
|
917
|
-
|
|
1227
|
+
_a.sent();
|
|
918
1228
|
return [2 /*return*/, standardAttribute];
|
|
919
1229
|
}
|
|
920
1230
|
});
|
|
@@ -922,22 +1232,18 @@ var Tag = /** @class */ (function (_super) {
|
|
|
922
1232
|
};
|
|
923
1233
|
Tag.prototype.watchStyle = function (styleName) {
|
|
924
1234
|
return __awaiter(this, void 0, void 0, function () {
|
|
925
|
-
var
|
|
926
|
-
return __generator(this, function (
|
|
927
|
-
switch (
|
|
1235
|
+
var styleAttribute;
|
|
1236
|
+
return __generator(this, function (_a) {
|
|
1237
|
+
switch (_a.label) {
|
|
928
1238
|
case 0:
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
if (attribute instanceof StyleAttribute_1.StyleAttribute) {
|
|
932
|
-
return [2 /*return*/, attribute];
|
|
933
|
-
}
|
|
934
|
-
}
|
|
1239
|
+
if (this.attributes.has('style'))
|
|
1240
|
+
return [2 /*return*/, this.attributes.get('style')];
|
|
935
1241
|
this.createScope(true);
|
|
936
1242
|
styleAttribute = new StyleAttribute_1.StyleAttribute(this, 'style');
|
|
937
|
-
this.attributes.
|
|
1243
|
+
this.attributes.set('style', styleAttribute);
|
|
938
1244
|
return [4 /*yield*/, this.setupAttribute(styleAttribute)];
|
|
939
1245
|
case 1:
|
|
940
|
-
|
|
1246
|
+
_a.sent();
|
|
941
1247
|
return [2 /*return*/, styleAttribute];
|
|
942
1248
|
}
|
|
943
1249
|
});
|
|
@@ -966,23 +1272,36 @@ var Tag = /** @class */ (function (_super) {
|
|
|
966
1272
|
};
|
|
967
1273
|
Tag.prototype.setupDeferredAttributes = function () {
|
|
968
1274
|
return __awaiter(this, void 0, void 0, function () {
|
|
969
|
-
var
|
|
970
|
-
|
|
971
|
-
|
|
1275
|
+
var _a, _b, attr, e_20_1;
|
|
1276
|
+
var e_20, _c;
|
|
1277
|
+
return __generator(this, function (_d) {
|
|
1278
|
+
switch (_d.label) {
|
|
972
1279
|
case 0:
|
|
973
|
-
|
|
974
|
-
|
|
1280
|
+
_d.trys.push([0, 5, 6, 7]);
|
|
1281
|
+
_a = __values(this.deferredAttributes), _b = _a.next();
|
|
1282
|
+
_d.label = 1;
|
|
975
1283
|
case 1:
|
|
976
|
-
if (
|
|
977
|
-
attr =
|
|
1284
|
+
if (!!_b.done) return [3 /*break*/, 4];
|
|
1285
|
+
attr = _b.value;
|
|
978
1286
|
return [4 /*yield*/, this.setupAttribute(attr)];
|
|
979
1287
|
case 2:
|
|
980
|
-
|
|
981
|
-
|
|
1288
|
+
_d.sent();
|
|
1289
|
+
_d.label = 3;
|
|
982
1290
|
case 3:
|
|
983
|
-
|
|
1291
|
+
_b = _a.next();
|
|
984
1292
|
return [3 /*break*/, 1];
|
|
985
|
-
case 4:
|
|
1293
|
+
case 4: return [3 /*break*/, 7];
|
|
1294
|
+
case 5:
|
|
1295
|
+
e_20_1 = _d.sent();
|
|
1296
|
+
e_20 = { error: e_20_1 };
|
|
1297
|
+
return [3 /*break*/, 7];
|
|
1298
|
+
case 6:
|
|
1299
|
+
try {
|
|
1300
|
+
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
1301
|
+
}
|
|
1302
|
+
finally { if (e_20) throw e_20.error; }
|
|
1303
|
+
return [7 /*endfinally*/];
|
|
1304
|
+
case 7:
|
|
986
1305
|
this.deferredAttributes.length = 0;
|
|
987
1306
|
return [2 /*return*/];
|
|
988
1307
|
}
|
|
@@ -991,7 +1310,7 @@ var Tag = /** @class */ (function (_super) {
|
|
|
991
1310
|
};
|
|
992
1311
|
Tag.prototype.deconstruct = function () {
|
|
993
1312
|
this.attributes.forEach(function (attr) { return attr.deconstruct(); });
|
|
994
|
-
this.attributes.
|
|
1313
|
+
this.attributes.clear();
|
|
995
1314
|
this._children.forEach(function (child) { return child.deconstruct(); });
|
|
996
1315
|
this._children.length = 0;
|
|
997
1316
|
_super.prototype.deconstruct.call(this);
|