vsn 0.1.14 → 0.1.15

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.
Files changed (109) hide show
  1. package/dist/AST.d.ts +2 -2
  2. package/dist/AST.js +1995 -0
  3. package/dist/AST.js.map +1 -0
  4. package/dist/Attribute.js +187 -0
  5. package/dist/Attribute.js.map +1 -0
  6. package/dist/Bencmark.js +179 -0
  7. package/dist/Bencmark.js.map +1 -0
  8. package/dist/Configuration.js +64 -0
  9. package/dist/Configuration.js.map +1 -0
  10. package/dist/Controller.js +39 -0
  11. package/dist/Controller.js.map +1 -0
  12. package/dist/DOM/DOMObject.js +45 -0
  13. package/dist/DOM/DOMObject.js.map +1 -0
  14. package/dist/DOM/WrappedDocument.js +34 -0
  15. package/dist/DOM/WrappedDocument.js.map +1 -0
  16. package/dist/DOM/WrappedWindow.js +45 -0
  17. package/dist/DOM/WrappedWindow.js.map +1 -0
  18. package/dist/DOM.js +547 -0
  19. package/dist/DOM.js.map +1 -0
  20. package/dist/Formats.js +44 -0
  21. package/dist/Formats.js.map +1 -0
  22. package/dist/Query.js +66 -0
  23. package/dist/Query.js.map +1 -0
  24. package/dist/Registry.js +138 -0
  25. package/dist/Registry.js.map +1 -0
  26. package/dist/Scope.js +499 -0
  27. package/dist/Scope.js.map +1 -0
  28. package/dist/Tag/List.js +85 -0
  29. package/dist/Tag/List.js.map +1 -0
  30. package/dist/Tag.js +715 -0
  31. package/dist/Tag.js.map +1 -0
  32. package/dist/Types.js +48 -0
  33. package/dist/Types.js.map +1 -0
  34. package/dist/Vision.d.ts +1 -1
  35. package/dist/Vision.js +155 -0
  36. package/dist/Vision.js.map +1 -0
  37. package/dist/attributes/AddClassIf.js +93 -0
  38. package/dist/attributes/AddClassIf.js.map +1 -0
  39. package/dist/attributes/Bind.js +272 -0
  40. package/dist/attributes/Bind.js.map +1 -0
  41. package/dist/attributes/ClassConstructor.js +104 -0
  42. package/dist/attributes/ClassConstructor.js.map +1 -0
  43. package/dist/attributes/ClickRemoveClass.js +102 -0
  44. package/dist/attributes/ClickRemoveClass.js.map +1 -0
  45. package/dist/attributes/ClickToggleClass.js +102 -0
  46. package/dist/attributes/ClickToggleClass.js.map +1 -0
  47. package/dist/attributes/ControllerAttribute.js +28 -0
  48. package/dist/attributes/ControllerAttribute.js.map +1 -0
  49. package/dist/attributes/DisableIf.js +94 -0
  50. package/dist/attributes/DisableIf.js.map +1 -0
  51. package/dist/attributes/Exec.js +102 -0
  52. package/dist/attributes/Exec.js.map +1 -0
  53. package/dist/attributes/Format.js +96 -0
  54. package/dist/attributes/Format.js.map +1 -0
  55. package/dist/attributes/If.js +147 -0
  56. package/dist/attributes/If.js.map +1 -0
  57. package/dist/attributes/JSONAttribute.js +115 -0
  58. package/dist/attributes/JSONAttribute.js.map +1 -0
  59. package/dist/attributes/KeyAbstract.js +110 -0
  60. package/dist/attributes/KeyAbstract.js.map +1 -0
  61. package/dist/attributes/KeyDown.js +82 -0
  62. package/dist/attributes/KeyDown.js.map +1 -0
  63. package/dist/attributes/KeyUp.js +82 -0
  64. package/dist/attributes/KeyUp.js.map +1 -0
  65. package/dist/attributes/List.js +273 -0
  66. package/dist/attributes/List.js.map +1 -0
  67. package/dist/attributes/ListItem.js +135 -0
  68. package/dist/attributes/ListItem.js.map +1 -0
  69. package/dist/attributes/ListItemModel.js +39 -0
  70. package/dist/attributes/ListItemModel.js.map +1 -0
  71. package/dist/attributes/ModelAttribute.js +29 -0
  72. package/dist/attributes/ModelAttribute.js.map +1 -0
  73. package/dist/attributes/Name.js +88 -0
  74. package/dist/attributes/Name.js.map +1 -0
  75. package/dist/attributes/On.js +123 -0
  76. package/dist/attributes/On.js.map +1 -0
  77. package/dist/attributes/Radio.js +127 -0
  78. package/dist/attributes/Radio.js.map +1 -0
  79. package/dist/attributes/Referenced.js +38 -0
  80. package/dist/attributes/Referenced.js.map +1 -0
  81. package/dist/attributes/RootAttribute.js +85 -0
  82. package/dist/attributes/RootAttribute.js.map +1 -0
  83. package/dist/attributes/ScopeAttribute.js +40 -0
  84. package/dist/attributes/ScopeAttribute.js.map +1 -0
  85. package/dist/attributes/ScopeChange.js +124 -0
  86. package/dist/attributes/ScopeChange.js.map +1 -0
  87. package/dist/attributes/SetAttribute.js +130 -0
  88. package/dist/attributes/SetAttribute.js.map +1 -0
  89. package/dist/attributes/StandardAttribute.js +168 -0
  90. package/dist/attributes/StandardAttribute.js.map +1 -0
  91. package/dist/attributes/Template.js +39 -0
  92. package/dist/attributes/Template.js.map +1 -0
  93. package/dist/attributes/TypeAttribute.js +101 -0
  94. package/dist/attributes/TypeAttribute.js.map +1 -0
  95. package/dist/attributes/_imports.d.ts +27 -27
  96. package/dist/attributes/_imports.js +58 -0
  97. package/dist/attributes/_imports.js.map +1 -0
  98. package/dist/helpers/DOMHelper.js +81 -0
  99. package/dist/helpers/DOMHelper.js.map +1 -0
  100. package/dist/helpers/ElementHelper.js +25 -0
  101. package/dist/helpers/ElementHelper.js.map +1 -0
  102. package/dist/helpers/VisionHelper.js +71 -0
  103. package/dist/helpers/VisionHelper.js.map +1 -0
  104. package/dist/helpers/decorators.js +38 -0
  105. package/dist/helpers/decorators.js.map +1 -0
  106. package/package.json +1 -1
  107. package/src/Vision.ts +3 -3
  108. package/src/attributes/_imports.ts +27 -27
  109. package/dist/vision.min.js +0 -1
package/dist/Scope.js ADDED
@@ -0,0 +1,499 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
54
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
55
+ to[j] = from[i];
56
+ return to;
57
+ };
58
+ Object.defineProperty(exports, "__esModule", { value: true });
59
+ exports.Scope = exports.WrappedArray = exports.ScopeVariableType = exports.QueryReference = exports.ScopeReference = void 0;
60
+ var simple_ts_models_1 = require("simple-ts-models");
61
+ var simple_ts_event_dispatcher_1 = require("simple-ts-event-dispatcher");
62
+ var Registry_1 = require("./Registry");
63
+ var DOM_1 = require("./DOM");
64
+ var ScopeReference = /** @class */ (function () {
65
+ function ScopeReference(scope, key, value) {
66
+ if (scope === void 0) { scope = null; }
67
+ if (key === void 0) { key = null; }
68
+ if (value === void 0) { value = null; }
69
+ this._scope = scope;
70
+ this._key = key;
71
+ this._value = value;
72
+ }
73
+ ScopeReference.prototype.getScope = function () {
74
+ return __awaiter(this, void 0, void 0, function () {
75
+ return __generator(this, function (_a) {
76
+ return [2 /*return*/, this._scope];
77
+ });
78
+ });
79
+ };
80
+ ScopeReference.prototype.getKey = function () {
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ return __generator(this, function (_a) {
83
+ return [2 /*return*/, this._key];
84
+ });
85
+ });
86
+ };
87
+ ScopeReference.prototype.getValue = function () {
88
+ return __awaiter(this, void 0, void 0, function () {
89
+ return __generator(this, function (_a) {
90
+ return [2 /*return*/, this._value];
91
+ });
92
+ });
93
+ };
94
+ return ScopeReference;
95
+ }());
96
+ exports.ScopeReference = ScopeReference;
97
+ var QueryReference = /** @class */ (function (_super) {
98
+ __extends(QueryReference, _super);
99
+ function QueryReference(path, scope) {
100
+ var _this = _super.call(this) || this;
101
+ _this.path = path;
102
+ _this.scope = scope;
103
+ return _this;
104
+ }
105
+ QueryReference.prototype.getScope = function () {
106
+ return __awaiter(this, void 0, void 0, function () {
107
+ var parts, qResult;
108
+ return __generator(this, function (_a) {
109
+ switch (_a.label) {
110
+ case 0:
111
+ parts = this.path.split('.');
112
+ parts = parts.splice(0, parts.length - 1);
113
+ return [4 /*yield*/, DOM_1.DOM.instance.eval(parts.join('.'))];
114
+ case 1:
115
+ qResult = _a.sent();
116
+ return [2 /*return*/, qResult.length === 1 ? qResult[0].scope : qResult.map(function (dobj) { return dobj.scope; })];
117
+ }
118
+ });
119
+ });
120
+ };
121
+ QueryReference.prototype.getKey = function () {
122
+ return __awaiter(this, void 0, void 0, function () {
123
+ var parts;
124
+ return __generator(this, function (_a) {
125
+ parts = this.path.split('.');
126
+ return [2 /*return*/, parts[parts.length - 1]];
127
+ });
128
+ });
129
+ };
130
+ QueryReference.prototype.getValue = function () {
131
+ return __awaiter(this, void 0, void 0, function () {
132
+ return __generator(this, function (_a) {
133
+ switch (_a.label) {
134
+ case 0: return [4 /*yield*/, DOM_1.DOM.instance.eval(this.path)];
135
+ case 1: return [2 /*return*/, _a.sent()];
136
+ }
137
+ });
138
+ });
139
+ };
140
+ return QueryReference;
141
+ }(ScopeReference));
142
+ exports.QueryReference = QueryReference;
143
+ var ScopeVariableType = /** @class */ (function () {
144
+ function ScopeVariableType() {
145
+ }
146
+ ScopeVariableType.Integer = 'integer';
147
+ ScopeVariableType.Float = 'float';
148
+ ScopeVariableType.Boolean = 'boolean';
149
+ ScopeVariableType.String = 'string';
150
+ return ScopeVariableType;
151
+ }());
152
+ exports.ScopeVariableType = ScopeVariableType;
153
+ var WrappedArray = /** @class */ (function (_super) {
154
+ __extends(WrappedArray, _super);
155
+ function WrappedArray() {
156
+ var items = [];
157
+ for (var _i = 0; _i < arguments.length; _i++) {
158
+ items[_i] = arguments[_i];
159
+ }
160
+ var _this = _super.apply(this, items) || this;
161
+ _this.$wrapped = true;
162
+ Object.setPrototypeOf(_this, WrappedArray.prototype);
163
+ _this._lastKey = 0;
164
+ _this._listeners = {};
165
+ return _this;
166
+ }
167
+ WrappedArray.prototype.push = function () {
168
+ var items = [];
169
+ for (var _i = 0; _i < arguments.length; _i++) {
170
+ items[_i] = arguments[_i];
171
+ }
172
+ var num = _super.prototype.push.apply(this, items);
173
+ this.trigger.apply(this, __spreadArray(['push'], items));
174
+ this.trigger('change', {
175
+ 'added': items
176
+ });
177
+ for (var _a = 0, items_1 = items; _a < items_1.length; _a++) {
178
+ var item = items_1[_a];
179
+ this.trigger('add', item);
180
+ }
181
+ return num;
182
+ };
183
+ WrappedArray.prototype.splice = function (start, deleteCount) {
184
+ var removed = _super.prototype.splice.call(this, start, deleteCount);
185
+ this.trigger('change', {
186
+ 'removed': removed
187
+ });
188
+ for (var _i = 0, removed_1 = removed; _i < removed_1.length; _i++) {
189
+ var item = removed_1[_i];
190
+ this.trigger('remove', item);
191
+ }
192
+ return removed;
193
+ };
194
+ Object.defineProperty(WrappedArray.prototype, "length", {
195
+ get: function () {
196
+ var c = 0;
197
+ for (var _i = 0, _a = this; _i < _a.length; _i++) {
198
+ var item = _a[_i];
199
+ c += 1;
200
+ }
201
+ return c;
202
+ },
203
+ set: function (num) {
204
+ this.setLength(num);
205
+ },
206
+ enumerable: false,
207
+ configurable: true
208
+ });
209
+ WrappedArray.prototype.setLength = function (num) {
210
+ var c = 0;
211
+ var toRemove = [];
212
+ for (var _i = 0, _a = this; _i < _a.length; _i++) {
213
+ var item = _a[_i];
214
+ c += 1;
215
+ if (c >= num) {
216
+ toRemove.push(item);
217
+ }
218
+ }
219
+ for (var _b = 0, toRemove_1 = toRemove; _b < toRemove_1.length; _b++) {
220
+ var item = toRemove_1[_b];
221
+ this.splice(this.indexOf(item), 1);
222
+ }
223
+ };
224
+ WrappedArray.prototype.bind = function (event, fct, context, once) {
225
+ once = once || false;
226
+ this._lastKey++;
227
+ this._listeners[event] = this._listeners[event] || [];
228
+ this._listeners[event].push(new simple_ts_event_dispatcher_1.EventCallback(fct, this._lastKey, once, context));
229
+ return this._lastKey;
230
+ };
231
+ WrappedArray.prototype.once = function (event, fct, context) {
232
+ return this.bind(event, fct, context, true);
233
+ };
234
+ WrappedArray.prototype.unbind = function (event, key) {
235
+ if (!(event in this._listeners))
236
+ return false;
237
+ if (key) {
238
+ for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
239
+ var cb = _a[_i];
240
+ if (key == cb.key) {
241
+ this._listeners[event].splice(this._listeners[event].indexOf(cb), 1);
242
+ return true;
243
+ }
244
+ }
245
+ }
246
+ else {
247
+ this._listeners[event] = [];
248
+ return true;
249
+ }
250
+ return false;
251
+ };
252
+ WrappedArray.prototype.unbindWithContext = function (event, context) {
253
+ if (!(event in this._listeners))
254
+ return 0;
255
+ var toRemove = [], cnt = 0;
256
+ for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
257
+ var cb = _a[_i];
258
+ if (context == cb.context) {
259
+ toRemove.push(cb);
260
+ }
261
+ }
262
+ for (var _b = 0, toRemove_2 = toRemove; _b < toRemove_2.length; _b++) {
263
+ var cb = toRemove_2[_b];
264
+ this._listeners[event].splice(this._listeners[event].indexOf(cb), 1);
265
+ cnt++;
266
+ }
267
+ return cnt;
268
+ };
269
+ WrappedArray.prototype.getListener = function (event, key) {
270
+ for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
271
+ var cb = _a[_i];
272
+ if (key == cb.key)
273
+ return cb;
274
+ }
275
+ };
276
+ WrappedArray.prototype.trigger = function (event) {
277
+ var args = [];
278
+ for (var _i = 1; _i < arguments.length; _i++) {
279
+ args[_i - 1] = arguments[_i];
280
+ }
281
+ if (!(event in this._listeners))
282
+ return;
283
+ for (var i = 0; i < this._listeners[event].length; i++) {
284
+ var cb = this._listeners[event][i];
285
+ // We need to unbind callbacks before they're called to prevent
286
+ // infinite loops if the event is somehow triggered within the
287
+ // callback
288
+ if (cb.once) {
289
+ this.unbind(event, cb.key);
290
+ i--;
291
+ }
292
+ cb.call(args);
293
+ }
294
+ };
295
+ return WrappedArray;
296
+ }(Array));
297
+ exports.WrappedArray = WrappedArray;
298
+ var Scope = /** @class */ (function (_super) {
299
+ __extends(Scope, _super);
300
+ function Scope(parent) {
301
+ var _this = _super.call(this) || this;
302
+ _this.types = {};
303
+ if (parent)
304
+ _this.parentScope = parent;
305
+ _this.children = [];
306
+ _this.data = new simple_ts_models_1.DataModel({});
307
+ _this.keys = [];
308
+ return _this;
309
+ }
310
+ Object.defineProperty(Scope.prototype, "parentScope", {
311
+ get: function () {
312
+ return this._parentScope;
313
+ },
314
+ set: function (scope) {
315
+ this._parentScope = scope;
316
+ scope.addChild(this);
317
+ },
318
+ enumerable: false,
319
+ configurable: true
320
+ });
321
+ Scope.prototype.addChild = function (scope) {
322
+ this.children.push(scope);
323
+ };
324
+ Scope.prototype.getReference = function (path, createIfNotFound) {
325
+ if (createIfNotFound === void 0) { createIfNotFound = true; }
326
+ var scopePath = path.split('.');
327
+ var key = scopePath[0];
328
+ var scope = this;
329
+ var val = null;
330
+ var len = scopePath.length;
331
+ if (path.startsWith('?')) {
332
+ return new QueryReference(path, scope);
333
+ }
334
+ for (var i = 0; i < len; i++) {
335
+ key = scopePath[i];
336
+ val = scope.get(key, i === 0);
337
+ var isNull = [null, undefined].indexOf(val) > -1;
338
+ if (createIfNotFound && isNull && i + 1 < len) {
339
+ val = new Scope(scope);
340
+ scope.set(key, val);
341
+ }
342
+ else if (!createIfNotFound && isNull) {
343
+ return null;
344
+ }
345
+ if (val && val instanceof Scope) {
346
+ scope = val;
347
+ }
348
+ }
349
+ return new ScopeReference(scope, key, val);
350
+ };
351
+ Scope.prototype.get = function (key, searchParents) {
352
+ if (searchParents === void 0) { searchParents = true; }
353
+ var value = this.data[key];
354
+ if (value === undefined) {
355
+ if (searchParents && this.parentScope)
356
+ return this.parentScope.get(key, searchParents);
357
+ return '';
358
+ }
359
+ return value;
360
+ };
361
+ Scope.prototype.set = function (key, value) {
362
+ if (this.data[key] === undefined)
363
+ this.data.createField(key);
364
+ if (typeof value === 'string') {
365
+ var valueType = this.getType(key);
366
+ var caster = Registry_1.Registry.instance.types.getSynchronous(valueType);
367
+ if (caster) {
368
+ value = caster(value);
369
+ }
370
+ if ([ScopeVariableType.Integer, ScopeVariableType.Float].indexOf(valueType) > -1 && isNaN(value)) {
371
+ value = null;
372
+ }
373
+ }
374
+ if (this.data[key] !== value) {
375
+ var previousValue = this.data[key];
376
+ this.data[key] = value;
377
+ var event_1 = {
378
+ value: value,
379
+ previousValue: previousValue,
380
+ key: key
381
+ };
382
+ this.trigger("change:" + key, event_1);
383
+ this.trigger('change', key, event_1);
384
+ }
385
+ if (this.keys.indexOf(key) === -1)
386
+ this.keys.push(key);
387
+ };
388
+ Scope.prototype.has = function (key) {
389
+ return this.keys.indexOf(key) > -1;
390
+ };
391
+ Scope.prototype.setType = function (key, type) {
392
+ this.types[key] = type;
393
+ if (this.has(key))
394
+ this.set(key, this.get(key));
395
+ };
396
+ Scope.prototype.getType = function (key) {
397
+ return this.types[key] || ScopeVariableType.String;
398
+ };
399
+ Scope.prototype.extend = function (data) {
400
+ for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
401
+ var key = data_1[_i];
402
+ this.set(key, data[key]);
403
+ }
404
+ };
405
+ Scope.prototype.clear = function () {
406
+ for (var _i = 0, _a = this.keys; _i < _a.length; _i++) {
407
+ var key = _a[_i];
408
+ if (['function', 'object'].indexOf(typeof this.get(key)) > -1)
409
+ continue;
410
+ this.set(key, null);
411
+ }
412
+ };
413
+ Scope.prototype.cleanup = function () {
414
+ this.children.length = 0;
415
+ this.parentScope = null;
416
+ };
417
+ Scope.prototype.wrap = function (toWrap, triggerUpdates, updateFromWrapped) {
418
+ var _this = this;
419
+ if (triggerUpdates === void 0) { triggerUpdates = false; }
420
+ if (updateFromWrapped === void 0) { updateFromWrapped = true; }
421
+ if (toWrap instanceof Scope)
422
+ toWrap = toWrap.data;
423
+ if ([null, undefined].indexOf(this.wrapped) === -1)
424
+ throw Error("A scope can only wrap a single object");
425
+ if (!toWrap) {
426
+ throw Error("Can only wrap objects.");
427
+ }
428
+ if (toWrap['$wrapped']) {
429
+ throw Error("An object should only be wrapped once.");
430
+ }
431
+ this.wrapped = toWrap;
432
+ this.wrapped['$wrapped'] = true;
433
+ var _loop_1 = function (field) {
434
+ if (['constructor'].indexOf(field) > -1 || field.startsWith('$'))
435
+ return "continue";
436
+ if (this_1.wrapped[field] instanceof Function) {
437
+ this_1.set(field, this_1.wrapped[field]);
438
+ return "continue";
439
+ }
440
+ if (this_1.wrapped[field] instanceof Array) {
441
+ if (!(this_1.wrapped[field] instanceof WrappedArray)) {
442
+ this_1.wrapped[field] = new (WrappedArray.bind.apply(WrappedArray, __spreadArray([void 0], toWrap[field])))();
443
+ }
444
+ this_1.wrapped[field].bind('change', function () {
445
+ var args = [];
446
+ for (var _i = 0; _i < arguments.length; _i++) {
447
+ args[_i] = arguments[_i];
448
+ }
449
+ _this.trigger.apply(_this, __spreadArray(["change:" + field], args));
450
+ });
451
+ }
452
+ if (typeof this_1.wrapped[field] == 'object' && this_1.wrapped[field] && this_1.wrapped[field].constructor === Object) {
453
+ var innerObject = new Scope(this_1);
454
+ innerObject.wrap(this_1.wrapped[field]);
455
+ this_1.wrapped[field] = innerObject;
456
+ }
457
+ // Populate scope data from wrapped object before we update the getter
458
+ if (updateFromWrapped && [null, undefined].indexOf(this_1.wrapped[field]) === -1) {
459
+ this_1.set(field, this_1.wrapped[field]);
460
+ }
461
+ var getter = function () {
462
+ return _this.get(field);
463
+ };
464
+ var setter = function (value) {
465
+ _this.set(field, value);
466
+ };
467
+ Object.defineProperty(this_1.wrapped, field, {
468
+ get: getter,
469
+ set: setter,
470
+ enumerable: true,
471
+ configurable: true
472
+ });
473
+ if (triggerUpdates)
474
+ this_1.trigger("change:" + field);
475
+ };
476
+ var this_1 = this;
477
+ for (var field in toWrap) {
478
+ _loop_1(field);
479
+ }
480
+ this.wrapped.get = this.get.bind(this);
481
+ this.wrapped.set = this.set.bind(this);
482
+ this.wrapped.bind = this.bind.bind(this);
483
+ this.wrapped.once = this.once.bind(this);
484
+ this.wrapped.unbind = this.unbind.bind(this);
485
+ };
486
+ Scope.prototype.unwrap = function () {
487
+ if (!this.wrapped)
488
+ return;
489
+ var toUnwrap = this.wrapped;
490
+ this.wrapped = null;
491
+ toUnwrap.$wrapped = false;
492
+ for (var field in toUnwrap) {
493
+ delete toUnwrap[field];
494
+ }
495
+ };
496
+ return Scope;
497
+ }(simple_ts_event_dispatcher_1.EventDispatcher));
498
+ exports.Scope = Scope;
499
+ //# sourceMappingURL=Scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Scope.js","sourceRoot":"","sources":["../src/Scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TagList = void 0;
19
+ var VisionHelper_1 = require("../helpers/VisionHelper");
20
+ var TagList = /** @class */ (function (_super) {
21
+ __extends(TagList, _super);
22
+ function TagList() {
23
+ var items = [];
24
+ for (var _i = 0; _i < arguments.length; _i++) {
25
+ items[_i] = arguments[_i];
26
+ }
27
+ var _this = _super.apply(this, items) || this;
28
+ Object.setPrototypeOf(_this, TagList.prototype);
29
+ return _this;
30
+ }
31
+ Object.defineProperty(TagList.prototype, "scope", {
32
+ get: function () {
33
+ return this[0].scope;
34
+ },
35
+ enumerable: false,
36
+ configurable: true
37
+ });
38
+ TagList.prototype.on = function (event, cbOrSelector, cb) {
39
+ if (typeof cbOrSelector === "function") {
40
+ this.forEach(function (e) { return e.element.addEventListener(event, cbOrSelector); });
41
+ }
42
+ else {
43
+ this.forEach(function (elem) {
44
+ elem.element.addEventListener(event, function (e) {
45
+ if (e.target.matches(cbOrSelector))
46
+ cb(e);
47
+ });
48
+ });
49
+ }
50
+ return this;
51
+ };
52
+ Object.defineProperty(TagList.prototype, "elements", {
53
+ get: function () {
54
+ return this.map(function (e) { return e.element; });
55
+ },
56
+ enumerable: false,
57
+ configurable: true
58
+ });
59
+ TagList.prototype.next = function () {
60
+ return this.map(function (e) { return e.element.nextElementSibling; }).filter(function (e) { return e != null; });
61
+ };
62
+ TagList.prototype.prev = function () {
63
+ return this.map(function (e) { return e.element.previousElementSibling; }).filter(function (e) { return e != null; });
64
+ };
65
+ TagList.prototype.removeClass = function (className) {
66
+ this.forEach(function (e) { return e.element.classList.remove(className); });
67
+ return this;
68
+ };
69
+ TagList.prototype.addClass = function (className) {
70
+ this.forEach(function (e) { return e.element.classList.add(className); });
71
+ return this;
72
+ };
73
+ TagList.prototype.css = function (property, value) {
74
+ var camelProp = property.replace(/(-[a-z])/, function (g) {
75
+ return g.replace("-", "").toUpperCase();
76
+ });
77
+ this.forEach(function (e) { return (e.element.style[camelProp] = value); });
78
+ return this;
79
+ };
80
+ return TagList;
81
+ }(Array));
82
+ exports.TagList = TagList;
83
+ if (VisionHelper_1.VisionHelper.inDevelopment && VisionHelper_1.VisionHelper.window)
84
+ window['TagList'] = TagList;
85
+ //# sourceMappingURL=List.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/Tag/List.ts"],"names":[],"mappings":"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"}