vsn 0.1.83 → 0.1.86
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 +17 -32
- package/demo/vsn.js +2 -2
- package/dist/AST/ElementAttributeNode.js +20 -6
- package/dist/AST/ElementAttributeNode.js.map +1 -1
- package/dist/AST/ScopeNodeAbstract.js +2 -1
- package/dist/AST/ScopeNodeAbstract.js.map +1 -1
- package/dist/Component.js +1 -0
- package/dist/Component.js.map +1 -1
- package/dist/Model.js +10 -0
- package/dist/Model.js.map +1 -1
- package/dist/Scope/ScopeData.js +0 -1
- package/dist/Scope/ScopeData.js.map +1 -1
- package/dist/Scope/ScopeDataAbstract.d.ts +2 -0
- package/dist/Scope/ScopeDataAbstract.js +9 -0
- package/dist/Scope/ScopeDataAbstract.js.map +1 -1
- package/dist/attributes/List.js +9 -4
- package/dist/attributes/List.js.map +1 -1
- package/dist/attributes/ListItem.js +6 -3
- package/dist/attributes/ListItem.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/vsn.js +1 -1
- package/dist/vsn.js.map +1 -1
- package/package.json +1 -1
- package/src/AST/ElementAttributeNode.ts +10 -2
- package/src/AST/ScopeNodeAbstract.ts +1 -1
- package/src/Component.ts +2 -0
- package/src/Model.ts +2 -1
- package/src/Scope/ScopeData.ts +0 -1
- package/src/Scope/ScopeDataAbstract.ts +11 -0
- package/src/attributes/List.ts +7 -4
- package/src/attributes/ListItem.ts +5 -4
- package/src/version.ts +1 -1
- package/src/vsn.ts +1 -1
- package/test/AST/ClassNode.spec.ts +0 -1
- package/test/attributes/ListItem.spec.ts +22 -28
- package/dist/vsn.min.js +0 -3
- package/dist/vsn.min.js.LICENSE.txt +0 -9
|
@@ -54,8 +54,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
54
54
|
exports.ElementAttributeNode = void 0;
|
|
55
55
|
var List_1 = require("../Tag/List");
|
|
56
56
|
var Node_1 = require("./Node");
|
|
57
|
+
var ElementQueryNode_1 = require("./ElementQueryNode");
|
|
57
58
|
var LiteralNode_1 = require("./LiteralNode");
|
|
58
59
|
var DOMObject_1 = require("../DOM/DOMObject");
|
|
60
|
+
var IndexNode_1 = require("./IndexNode");
|
|
59
61
|
var ElementAttributeNode = /** @class */ (function (_super) {
|
|
60
62
|
__extends(ElementAttributeNode, _super);
|
|
61
63
|
function ElementAttributeNode(elementRef, attr) {
|
|
@@ -90,25 +92,37 @@ var ElementAttributeNode = /** @class */ (function (_super) {
|
|
|
90
92
|
ElementAttributeNode.prototype.evaluate = function (scope, dom, tag) {
|
|
91
93
|
if (tag === void 0) { tag = null; }
|
|
92
94
|
return __awaiter(this, void 0, void 0, function () {
|
|
93
|
-
var tags;
|
|
95
|
+
var tags, indexResult;
|
|
94
96
|
var _this = this;
|
|
95
97
|
return __generator(this, function (_a) {
|
|
96
98
|
switch (_a.label) {
|
|
97
99
|
case 0:
|
|
98
|
-
if (!this.elementRef) return [3 /*break*/, 2];
|
|
100
|
+
if (!(this.elementRef instanceof ElementQueryNode_1.ElementQueryNode)) return [3 /*break*/, 2];
|
|
99
101
|
return [4 /*yield*/, this.elementRef.evaluate(scope, dom, tag, true)];
|
|
100
102
|
case 1:
|
|
101
103
|
tags = _a.sent();
|
|
102
|
-
return [3 /*break*/,
|
|
104
|
+
return [3 /*break*/, 5];
|
|
103
105
|
case 2:
|
|
106
|
+
if (!(this.elementRef instanceof IndexNode_1.IndexNode)) return [3 /*break*/, 4];
|
|
107
|
+
return [4 /*yield*/, this.elementRef.evaluate(scope, dom, tag, true)];
|
|
108
|
+
case 3:
|
|
109
|
+
indexResult = _a.sent();
|
|
110
|
+
if (indexResult instanceof List_1.TagList) {
|
|
111
|
+
tags = indexResult;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
tags = new List_1.TagList(indexResult);
|
|
115
|
+
}
|
|
116
|
+
return [3 /*break*/, 5];
|
|
117
|
+
case 4:
|
|
104
118
|
if (tag) {
|
|
105
119
|
tags = new List_1.TagList(tag);
|
|
106
120
|
}
|
|
107
121
|
else {
|
|
108
122
|
return [2 /*return*/];
|
|
109
123
|
}
|
|
110
|
-
_a.label =
|
|
111
|
-
case
|
|
124
|
+
_a.label = 5;
|
|
125
|
+
case 5:
|
|
112
126
|
if (tags.length === 1)
|
|
113
127
|
return [2 /*return*/, tags[0].scope.get("@" + this.attributeName)];
|
|
114
128
|
return [2 /*return*/, tags.map(function (tag) { return tag.scope.get("@" + _this.attributeName); })];
|
|
@@ -137,7 +151,7 @@ var ElementAttributeNode = /** @class */ (function (_super) {
|
|
|
137
151
|
case 3:
|
|
138
152
|
if (!(_i < tags_1.length)) return [3 /*break*/, 6];
|
|
139
153
|
t = tags_1[_i];
|
|
140
|
-
return [4 /*yield*/, t.watchAttribute(this.attributeName)];
|
|
154
|
+
return [4 /*yield*/, (t === null || t === void 0 ? void 0 : t.watchAttribute(this.attributeName))];
|
|
141
155
|
case 4:
|
|
142
156
|
_a.sent();
|
|
143
157
|
_a.label = 5;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementAttributeNode.js","sourceRoot":"","sources":["../../src/AST/ElementAttributeNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oCAAoC;AAEpC,+BAA4B;
|
|
1
|
+
{"version":3,"file":"ElementAttributeNode.js","sourceRoot":"","sources":["../../src/AST/ElementAttributeNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
53
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
54
|
exports.ScopeNodeAbstract = void 0;
|
|
55
55
|
var Node_1 = require("./Node");
|
|
56
|
+
var Scope_1 = require("../Scope");
|
|
56
57
|
var Registry_1 = require("../Registry");
|
|
57
58
|
var ScopeNodeAbstract = /** @class */ (function (_super) {
|
|
58
59
|
__extends(ScopeNodeAbstract, _super);
|
|
@@ -70,7 +71,7 @@ var ScopeNodeAbstract = /** @class */ (function (_super) {
|
|
|
70
71
|
break;
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
|
-
if (type)
|
|
74
|
+
if (type && scope instanceof Scope_1.Scope)
|
|
74
75
|
scope.setType(name, type);
|
|
75
76
|
return [2 /*return*/];
|
|
76
77
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeNodeAbstract.js","sourceRoot":"","sources":["../../src/AST/ScopeNodeAbstract.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4B;
|
|
1
|
+
{"version":3,"file":"ScopeNodeAbstract.js","sourceRoot":"","sources":["../../src/AST/ScopeNodeAbstract.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4B;AAE5B,kCAA+B;AAG/B,wCAAqC;AAErC;IAAgD,qCAAI;IAApD;;IAYA,CAAC;IAXS,0CAAc,GAApB,UAAqB,IAAY,EAAE,KAAY,EAAE,GAAQ,EAAE,GAAQ;;;;gBAE/D,WAAqC,EAAd,KAAA,IAAI,CAAC,SAAS,EAAd,cAAc,EAAd,IAAc,EAAE;oBAA5B,QAAQ;oBACf,IAAI,mBAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wBACvC,IAAI,GAAG,QAAQ,CAAC;wBAChB,MAAM;qBACT;iBACJ;gBACD,IAAI,IAAI,IAAI,KAAK,YAAY,aAAK;oBAC9B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;;;KACjC;IACL,wBAAC;AAAD,CAAC,AAZD,CAAgD,WAAI,GAYnD;AAZqB,8CAAiB"}
|
package/dist/Component.js
CHANGED
|
@@ -32,6 +32,7 @@ var Component = /** @class */ (function (_super) {
|
|
|
32
32
|
else {
|
|
33
33
|
template = Registry_1.Registry.instance.templates.getSynchronous(_this.tagName.toLowerCase());
|
|
34
34
|
}
|
|
35
|
+
_this.setAttribute('vsn-ref', '');
|
|
35
36
|
_this.shadow.appendChild(template.content.cloneNode(true));
|
|
36
37
|
DOM_1.DOM.instance.buildFrom(_this.shadow);
|
|
37
38
|
return _this;
|
package/dist/Component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../src/Component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAoC;AACpC,6BAA0B;AAE1B;IAA+B,6BAAW;IAGtC;QAAA,YACI,iBAAO,
|
|
1
|
+
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../src/Component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAoC;AACpC,6BAA0B;AAE1B;IAA+B,6BAAW;IAGtC;QAAA,YACI,iBAAO,SAiBV;QAhBG,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAEjD,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,YAAY,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;QAChD,IAAM,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,QAA6B,CAAC;QAElC,IAAI,UAAU,EAAE;YACZ,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAwB,CAAC;SACzE;aAAM;YACH,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;SACrF;QAED,KAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEjC,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,SAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;;IACxC,CAAC;IACL,gBAAC;AAAD,CAAC,AAtBD,CAA+B,WAAW,GAsBzC;AAtBY,8BAAS"}
|
package/dist/Model.js
CHANGED
|
@@ -14,10 +14,17 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
+
};
|
|
17
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
24
|
exports.Model = void 0;
|
|
19
25
|
var MessageList_1 = require("./MessageList");
|
|
20
26
|
var ScopeData_1 = require("./Scope/ScopeData");
|
|
27
|
+
var Registry_1 = require("./Registry");
|
|
21
28
|
var Model = /** @class */ (function (_super) {
|
|
22
29
|
__extends(Model, _super);
|
|
23
30
|
function Model(data) {
|
|
@@ -55,6 +62,9 @@ var Model = /** @class */ (function (_super) {
|
|
|
55
62
|
enumerable: false,
|
|
56
63
|
configurable: true
|
|
57
64
|
});
|
|
65
|
+
Model = __decorate([
|
|
66
|
+
Registry_1.Registry.model('Model')
|
|
67
|
+
], Model);
|
|
58
68
|
return Model;
|
|
59
69
|
}(ScopeData_1.ScopeData));
|
|
60
70
|
exports.Model = Model;
|
package/dist/Model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Model.js","sourceRoot":"","sources":["../src/Model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Model.js","sourceRoot":"","sources":["../src/Model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA0C;AAC1C,+CAA4C;AAE5C,uCAAoC;AAGpC;IAA2B,yBAAS;IAIhC,eAAY,IAA0C;QAA1C,qBAAA,EAAA,WAA0C;QAAtD,YACI,iBAAO,SAOV;QALG,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI;YACJ,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,EAAE,CAAC;QAChC,KAAI,CAAC,YAAY,EAAE,CAAC;;IACxB,CAAC;IAED,4BAAY,GAAZ,cAAgB,CAAC;IAEjB,wBAAQ,GAAR;QACI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC;QAC/B,KAAsB,UAAoB,EAApB,KAAA,IAAI,CAAC,aAAa,EAAE,EAApB,cAAoB,EAApB,IAAoB,EAAE;YAAxC,IAAM,QAAQ,SAAA;YACd,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC1B;SACJ;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,yBAAS,GAAT;QACI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,sBAAI,yBAAM;aAAV;YACI,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;;;OAAA;IApCQ,KAAK;QADjB,mBAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;OACX,KAAK,CAqCjB;IAAD,YAAC;CAAA,AArCD,CAA2B,qBAAS,GAqCnC;AArCY,sBAAK"}
|
package/dist/Scope/ScopeData.js
CHANGED
|
@@ -27,7 +27,6 @@ var ScopeData = /** @class */ (function (_super) {
|
|
|
27
27
|
(function (_self, name) {
|
|
28
28
|
if (!_self['__' + name + '__'])
|
|
29
29
|
return;
|
|
30
|
-
_self.__properties__.push(name);
|
|
31
30
|
var _property = _self['__' + name + '__'], propertyType = _property[0], config = _property[1] || {};
|
|
32
31
|
_self.createProperty(name, propertyType, config);
|
|
33
32
|
})(_this, property);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeData.js","sourceRoot":"","sources":["../../src/Scope/ScopeData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yDAAsD;AAEtD;IAA+B,6BAAiB;IAC5C;QAAA,YACI,iBAAO,
|
|
1
|
+
{"version":3,"file":"ScopeData.js","sourceRoot":"","sources":["../../src/Scope/ScopeData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yDAAsD;AAEtD;IAA+B,6BAAiB;IAC5C;QAAA,YACI,iBAAO,SAcV;QAbG,IAAM,UAAU,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7E,KAAsB,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,EAAE;YAA9B,IAAM,QAAQ,mBAAA;YACd,CAAC,UAAS,KAAK,EAAE,IAAI;gBACjB,IAAG,CAAC,KAAK,CAAC,IAAI,GAAC,IAAI,GAAC,IAAI,CAAC;oBACrB,OAAO;gBAEX,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI,GAAC,IAAI,GAAC,IAAI,CAAC,EACnC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,EAC3B,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEhC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC,KAAI,EAAE,QAAQ,CAAC,CAAC;SACtB;;IACL,CAAC;IACL,gBAAC;AAAD,CAAC,AAjBD,CAA+B,qCAAiB,GAiB/C;AAjBY,8BAAS"}
|
|
@@ -14,6 +14,8 @@ export declare class ScopeDataAbstract extends EventDispatcher {
|
|
|
14
14
|
getKeys(...tags: string[]): string[];
|
|
15
15
|
setData(data: IScopeData): void;
|
|
16
16
|
getData(...tags: string[]): IScopeData;
|
|
17
|
+
get(key: string): any;
|
|
18
|
+
set(key: string, value: any): void;
|
|
17
19
|
getProperties(): string[];
|
|
18
20
|
getProperty(name: string, create?: boolean): Property;
|
|
19
21
|
bindToProperties(event: string, properties: string[], callback: (...args: any[]) => any): void;
|
|
@@ -35,6 +35,9 @@ var ScopeDataAbstract = /** @class */ (function (_super) {
|
|
|
35
35
|
ScopeDataAbstract.prototype.createProperty = function (name, propertyType, config) {
|
|
36
36
|
var _this = this;
|
|
37
37
|
if (propertyType === void 0) { propertyType = Property_1.Property; }
|
|
38
|
+
if (this.hasProperty(name)) {
|
|
39
|
+
return this.getProperty(name);
|
|
40
|
+
}
|
|
38
41
|
config = config || {};
|
|
39
42
|
var instance = new propertyType(config.default, config), propDesc = Object.getOwnPropertyDescriptor(this, name);
|
|
40
43
|
this['__' + name] = instance;
|
|
@@ -118,6 +121,12 @@ var ScopeDataAbstract = /** @class */ (function (_super) {
|
|
|
118
121
|
}
|
|
119
122
|
return data;
|
|
120
123
|
};
|
|
124
|
+
ScopeDataAbstract.prototype.get = function (key) {
|
|
125
|
+
return this[key];
|
|
126
|
+
};
|
|
127
|
+
ScopeDataAbstract.prototype.set = function (key, value) {
|
|
128
|
+
this[key] = value;
|
|
129
|
+
};
|
|
121
130
|
ScopeDataAbstract.prototype.getProperties = function () {
|
|
122
131
|
return this.__properties__;
|
|
123
132
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeDataAbstract.js","sourceRoot":"","sources":["../../src/Scope/ScopeDataAbstract.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAgE;AAChE,sDAAmD;AAMnD;IAAuC,qCAAe;IAKlD;QAAA,YACI,iBAAO,SAKV;QAHG,iDAAiD;QACjD,IAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC;YACtB,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;;IACjC,CAAC;IAED,0CAAc,GAAd,UAAe,IAAY,EAAE,YAA4B,EAAE,MAAwB;QAAnF,
|
|
1
|
+
{"version":3,"file":"ScopeDataAbstract.js","sourceRoot":"","sources":["../../src/Scope/ScopeDataAbstract.ts"],"names":[],"mappings":"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"}
|
package/dist/attributes/List.js
CHANGED
|
@@ -59,6 +59,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
59
59
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
60
|
exports.List = void 0;
|
|
61
61
|
var Attribute_1 = require("../Attribute");
|
|
62
|
+
var Tag_1 = require("../Tag");
|
|
62
63
|
var WrappedArray_1 = require("../Scope/WrappedArray");
|
|
63
64
|
var AST_1 = require("../AST");
|
|
64
65
|
var ElementHelper_1 = require("../helpers/ElementHelper");
|
|
@@ -227,7 +228,7 @@ var List = /** @class */ (function (_super) {
|
|
|
227
228
|
});
|
|
228
229
|
Object.defineProperty(List.prototype, "listItemModel", {
|
|
229
230
|
get: function () {
|
|
230
|
-
return this.tag.getRawAttributeValue('vsn-list-item-model'
|
|
231
|
+
return this.tag.getRawAttributeValue('vsn-list-item-model');
|
|
231
232
|
},
|
|
232
233
|
enumerable: false,
|
|
233
234
|
configurable: true
|
|
@@ -256,6 +257,7 @@ var List = /** @class */ (function (_super) {
|
|
|
256
257
|
else {
|
|
257
258
|
element = clone;
|
|
258
259
|
}
|
|
260
|
+
delete element[Tag_1.Tag.TaggedVariable];
|
|
259
261
|
this.tag.element.appendChild(element);
|
|
260
262
|
return [4 /*yield*/, this.tag.dom.buildFrom(this.tag.element)];
|
|
261
263
|
case 1:
|
|
@@ -264,10 +266,13 @@ var List = /** @class */ (function (_super) {
|
|
|
264
266
|
case 2:
|
|
265
267
|
tag = _a.sent();
|
|
266
268
|
this.tags.push(tag);
|
|
267
|
-
tag.scope.clear();
|
|
268
269
|
if (obj) {
|
|
269
|
-
tag.
|
|
270
|
-
|
|
270
|
+
if (tag.scope.wrapped) {
|
|
271
|
+
tag.scope.data.setData(obj);
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
tag.wrap(obj);
|
|
275
|
+
}
|
|
271
276
|
}
|
|
272
277
|
this.tag.dispatch('add', obj);
|
|
273
278
|
return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/attributes/List.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/attributes/List.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,16 +82,19 @@ var ListItem = /** @class */ (function (_super) {
|
|
|
82
82
|
this._list = this.tag.findAncestorByAttribute('vsn-list');
|
|
83
83
|
if (!this._list)
|
|
84
84
|
throw Error(ListItem_1.ERROR_NO_PARENT);
|
|
85
|
-
this.tag.scope.set(this.listItemName, this.tag.scope);
|
|
86
85
|
return [4 /*yield*/, this.getList()];
|
|
87
86
|
case 1:
|
|
88
87
|
modelName = (_a.sent()).listItemModel;
|
|
89
|
-
return [
|
|
88
|
+
if (!modelName) return [3 /*break*/, 3];
|
|
89
|
+
return [4 /*yield*/, Registry_1.Registry.instance.models.get(modelName)];
|
|
90
90
|
case 2:
|
|
91
91
|
cls = _a.sent();
|
|
92
92
|
this.instantiateModel(cls);
|
|
93
|
-
|
|
93
|
+
_a.label = 3;
|
|
94
94
|
case 3:
|
|
95
|
+
this.tag.scope.set(this.listItemName, this.tag.scope);
|
|
96
|
+
return [4 /*yield*/, _super.prototype.setup.call(this)];
|
|
97
|
+
case 4:
|
|
95
98
|
_a.sent();
|
|
96
99
|
return [2 /*return*/];
|
|
97
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../src/attributes/ListItem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AAGvC,wCAAqC;AAGrC;IAA8B,4BAAS;IAAvC;;
|
|
1
|
+
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../src/attributes/ListItem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AAGvC,wCAAqC;AAGrC;IAA8B,4BAAS;IAAvC;;IAkCA,CAAC;iBAlCY,QAAQ;IAMjB,sBAAW,0BAAI;aAAf;YACI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;;;OAAA;IAEY,wBAAK,GAAlB;;;;;;wBACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;wBAC1D,IAAI,CAAC,IAAI,CAAC,KAAK;4BACX,MAAM,KAAK,CAAC,UAAQ,CAAC,eAAe,CAAC,CAAC;wBACf,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;wBAAzC,SAAS,GAAW,CAAC,SAAoB,CAAC,CAAC,aAAa;6BAC1D,SAAS,EAAT,wBAAS;wBACG,qBAAM,mBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAA;;wBAAnD,GAAG,GAAG,SAA6C;wBACzD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;;;wBAE/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACtD,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAED,sBAAW,kCAAY;aAAvB;YACI,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAEY,0BAAO,GAApB;;;;4BACW,qBAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAO,UAAU,CAAC,EAAA;4BAAtD,sBAAO,SAA+C,EAAC;;;;KAC1D;IAEO,mCAAgB,GAAxB,UAAyB,KAAU;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;;IAhCsB,iBAAQ,GAAY,KAAK,CAAC;IAC1B,eAAM,GAAY,IAAI,CAAC;IACvB,wBAAe,GAAG,0BAA0B,CAAC;IAH3D,QAAQ;QADpB,mBAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;OACvB,QAAQ,CAkCpB;IAAD,eAAC;CAAA,AAlCD,CAA8B,qBAAS,GAkCtC;AAlCY,4BAAQ"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.86";
|
package/dist/version.js
CHANGED
package/dist/vsn.js
CHANGED
|
@@ -90,7 +90,7 @@ var Vision = /** @class */ (function (_super) {
|
|
|
90
90
|
_this.registry.functions.register('warn', console.warn);
|
|
91
91
|
_this.registry.functions.register('error', console.error);
|
|
92
92
|
_this.registry.functions.register('info', console.info);
|
|
93
|
-
_this.registry.
|
|
93
|
+
_this.registry.models.register('Object', Object);
|
|
94
94
|
_this.registry.controllers.register('WrappedArray', WrappedArray_1.WrappedArray);
|
|
95
95
|
_this.registry.controllers.register('Data', DynamicScopeData_1.DynamicScopeData);
|
|
96
96
|
if (VisionHelper_1.VisionHelper.window) {
|
package/dist/vsn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vsn.js","sourceRoot":"","sources":["../src/vsn.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA0B;AAC1B,qDAAkD;AAClD,uCAAoC;AACpC,iDAA8C;AAC9C,uDAAoD;AACpD,6BAA2B;AAC3B,iCAA8B;AAC9B,qDAAkD;AAClD,6DAA0D;AAE1D,qCAAkC;AAClC,6BAA2B;AAE3B;IAA4B,0BAAe;IAMvC;QAAA,YACI,iBAAO,SA0BV;QA9Be,cAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC;QAC7B,YAAM,GAAkB,6BAAa,CAAC,QAAQ,CAAC;QAI3D,mBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,KAAI,CAAC,eAAe,EAAE,KAAI,CAAC,CAAC;QACxE,IAAI,2BAAY,CAAC,QAAQ,EAAE;YACvB,QAAQ,CAAC,gBAAgB,CACrB,kBAAkB,EAClB,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,CACxB,CAAC;SACL;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;SAChD;QACD,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,KAAI,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"vsn.js","sourceRoot":"","sources":["../src/vsn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ import {Node} from "./Node";
|
|
|
7
7
|
import {ElementQueryNode} from "./ElementQueryNode";
|
|
8
8
|
import {LiteralNode} from "./LiteralNode";
|
|
9
9
|
import {DOMObject} from "../DOM/DOMObject";
|
|
10
|
+
import {IndexNode} from "./IndexNode";
|
|
10
11
|
|
|
11
12
|
export class ElementAttributeNode extends Node implements TreeNode {
|
|
12
13
|
protected requiresPrep: boolean = true;
|
|
@@ -37,8 +38,15 @@ export class ElementAttributeNode extends Node implements TreeNode {
|
|
|
37
38
|
|
|
38
39
|
async evaluate(scope: Scope, dom: DOM, tag: Tag = null) {
|
|
39
40
|
let tags: TagList;
|
|
40
|
-
if (this.elementRef) {
|
|
41
|
+
if (this.elementRef instanceof ElementQueryNode) {
|
|
41
42
|
tags = await this.elementRef.evaluate(scope, dom, tag, true);
|
|
43
|
+
} else if (this.elementRef as any instanceof IndexNode) {
|
|
44
|
+
const indexResult = await (this.elementRef as any).evaluate(scope, dom, tag, true);
|
|
45
|
+
if (indexResult instanceof TagList) {
|
|
46
|
+
tags = indexResult;
|
|
47
|
+
} else {
|
|
48
|
+
tags = new TagList(indexResult);
|
|
49
|
+
}
|
|
42
50
|
} else if (tag) {
|
|
43
51
|
tags = new TagList(tag)
|
|
44
52
|
} else {
|
|
@@ -57,7 +65,7 @@ export class ElementAttributeNode extends Node implements TreeNode {
|
|
|
57
65
|
const tags: any = await this.elementRef.evaluate(scope, dom, tag, true);
|
|
58
66
|
if (tags instanceof TagList) {
|
|
59
67
|
for (const t of tags)
|
|
60
|
-
await t
|
|
68
|
+
await t?.watchAttribute(this.attributeName);
|
|
61
69
|
} else if (tags instanceof DOMObject) {
|
|
62
70
|
await (tags as DOMObject).watchAttribute(this.attributeName);
|
|
63
71
|
}
|
package/src/Component.ts
CHANGED
|
@@ -18,6 +18,8 @@ export class Component extends HTMLElement {
|
|
|
18
18
|
template = Registry.instance.templates.getSynchronous(this.tagName.toLowerCase());
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
this.setAttribute('vsn-ref', '');
|
|
22
|
+
|
|
21
23
|
this.shadow.appendChild(template.content.cloneNode(true));
|
|
22
24
|
DOM.instance.buildFrom(this.shadow);
|
|
23
25
|
}
|
package/src/Model.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {MessageList} from "./MessageList";
|
|
2
2
|
import {ScopeData} from "./Scope/ScopeData";
|
|
3
3
|
import {IScopeData} from "./Scope/ScopeDataAbstract";
|
|
4
|
+
import {Registry} from "./Registry";
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
@Registry.model('Model')
|
|
6
7
|
export class Model extends ScopeData {
|
|
7
8
|
_errors!: MessageList;
|
|
8
9
|
_hasErrors: boolean;
|
package/src/Scope/ScopeData.ts
CHANGED
|
@@ -19,6 +19,9 @@ export class ScopeDataAbstract extends EventDispatcher {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
createProperty(name: string, propertyType: any = Property, config?: IPropertyConfig): any {
|
|
22
|
+
if (this.hasProperty(name)) {
|
|
23
|
+
return this.getProperty(name);
|
|
24
|
+
}
|
|
22
25
|
config = config || {};
|
|
23
26
|
const instance = new propertyType(config.default, config),
|
|
24
27
|
propDesc = Object.getOwnPropertyDescriptor(this, name);
|
|
@@ -98,6 +101,14 @@ export class ScopeDataAbstract extends EventDispatcher {
|
|
|
98
101
|
return data;
|
|
99
102
|
}
|
|
100
103
|
|
|
104
|
+
get(key: string) {
|
|
105
|
+
return this[key];
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
set(key: string, value: any) {
|
|
109
|
+
this[key] = value;
|
|
110
|
+
}
|
|
111
|
+
|
|
101
112
|
getProperties(): string[] {
|
|
102
113
|
return this.__properties__;
|
|
103
114
|
}
|
package/src/attributes/List.ts
CHANGED
|
@@ -102,7 +102,7 @@ export class List extends Attribute {
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
public get listItemModel(): string {
|
|
105
|
-
return this.tag.getRawAttributeValue('vsn-list-item-model'
|
|
105
|
+
return this.tag.getRawAttributeValue('vsn-list-item-model');
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
public remove(item: any) {
|
|
@@ -126,17 +126,20 @@ export class List extends Attribute {
|
|
|
126
126
|
} else {
|
|
127
127
|
element = clone as HTMLElement;
|
|
128
128
|
}
|
|
129
|
+
delete element[Tag.TaggedVariable];
|
|
129
130
|
|
|
130
131
|
this.tag.element.appendChild(element);
|
|
131
132
|
|
|
132
133
|
await this.tag.dom.buildFrom(this.tag.element);
|
|
133
134
|
const tag: Tag = await this.tag.dom.getTagForElement(element);
|
|
134
135
|
this.tags.push(tag);
|
|
135
|
-
tag.scope.clear();
|
|
136
136
|
|
|
137
137
|
if (obj) {
|
|
138
|
-
tag.
|
|
139
|
-
|
|
138
|
+
if (tag.scope.wrapped) {
|
|
139
|
+
tag.scope.data.setData(obj);
|
|
140
|
+
} else {
|
|
141
|
+
tag.wrap(obj);
|
|
142
|
+
}
|
|
140
143
|
}
|
|
141
144
|
|
|
142
145
|
this.tag.dispatch('add', obj);
|
|
@@ -18,11 +18,12 @@ export class ListItem extends Attribute {
|
|
|
18
18
|
this._list = this.tag.findAncestorByAttribute('vsn-list');
|
|
19
19
|
if (!this._list)
|
|
20
20
|
throw Error(ListItem.ERROR_NO_PARENT);
|
|
21
|
-
|
|
22
|
-
this.tag.scope.set(this.listItemName, this.tag.scope);
|
|
23
21
|
const modelName: string = (await this.getList()).listItemModel;
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
if (modelName) {
|
|
23
|
+
const cls = await Registry.instance.models.get(modelName);
|
|
24
|
+
this.instantiateModel(cls);
|
|
25
|
+
}
|
|
26
|
+
this.tag.scope.set(this.listItemName, this.tag.scope);
|
|
26
27
|
await super.setup();
|
|
27
28
|
}
|
|
28
29
|
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '0.1.
|
|
1
|
+
export const VERSION = '0.1.86';
|
|
2
2
|
|
package/src/vsn.ts
CHANGED
|
@@ -32,7 +32,7 @@ export class Vision extends EventDispatcher {
|
|
|
32
32
|
this.registry.functions.register('warn', console.warn);
|
|
33
33
|
this.registry.functions.register('error', console.error);
|
|
34
34
|
this.registry.functions.register('info', console.info);
|
|
35
|
-
this.registry.
|
|
35
|
+
this.registry.models.register('Object', Object);
|
|
36
36
|
this.registry.controllers.register('WrappedArray', WrappedArray);
|
|
37
37
|
this.registry.controllers.register('Data', DynamicScopeData);
|
|
38
38
|
|