vsn 0.1.72 → 0.1.75
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/vsn.js +2 -2
- package/dist/AST/ClassNode.d.ts +1 -0
- package/dist/AST/ClassNode.js +50 -16
- package/dist/AST/ClassNode.js.map +1 -1
- package/dist/AST/FunctionCallNode.js +13 -2
- package/dist/AST/FunctionCallNode.js.map +1 -1
- package/dist/version.d.ts +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/dist/vsn.js +2 -1
- package/dist/vsn.js.map +1 -1
- package/package.json +3 -2
- package/src/AST/ClassNode.ts +15 -2
- package/src/AST/FunctionCallNode.ts +11 -2
- package/src/version.ts +1 -0
- package/src/vsn.ts +2 -1
- package/test/AST/ClassNode.spec.ts +99 -2
- package/dist/vsn.min.js +0 -2
package/dist/AST/ClassNode.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare class ClassNode extends Node implements TreeNode {
|
|
|
27
27
|
get fullSelector(): string;
|
|
28
28
|
updateMeta(meta?: any): any;
|
|
29
29
|
prepare(scope: Scope, dom: DOM, tag?: Tag, meta?: INodeMeta): Promise<void>;
|
|
30
|
+
findClassElements(dom: any): Promise<void>;
|
|
30
31
|
constructTag(tag: Tag, dom: DOM, hasConstructor?: boolean | null): Promise<void>;
|
|
31
32
|
deconstructTag(tag: Tag, dom: DOM, hasDeconstructor?: boolean | null): Promise<void>;
|
|
32
33
|
evaluate(scope: Scope, dom: DOM, tag?: Tag): Promise<any>;
|
package/dist/AST/ClassNode.js
CHANGED
|
@@ -88,19 +88,21 @@ var ClassNode = /** @class */ (function (_super) {
|
|
|
88
88
|
ClassNode.prototype.prepare = function (scope, dom, tag, meta) {
|
|
89
89
|
if (tag === void 0) { tag = null; }
|
|
90
90
|
return __awaiter(this, void 0, void 0, function () {
|
|
91
|
-
var initial,
|
|
92
|
-
return __generator(this, function (
|
|
93
|
-
switch (
|
|
91
|
+
var initial, root;
|
|
92
|
+
return __generator(this, function (_a) {
|
|
93
|
+
switch (_a.label) {
|
|
94
94
|
case 0:
|
|
95
95
|
meta = Object.assign({}, meta) || {};
|
|
96
96
|
initial = !!meta['initial'];
|
|
97
|
+
root = false;
|
|
97
98
|
meta['ClassNodePrepare'] = initial;
|
|
98
|
-
if (!initial) return [3 /*break*/,
|
|
99
|
+
if (!initial) return [3 /*break*/, 4];
|
|
99
100
|
if (meta['ClassNodeSelector']) {
|
|
100
101
|
ClassNode.classChildren[meta['ClassNodeSelector']].push(this.selector);
|
|
101
102
|
meta['ClassNodeSelector'] = meta['ClassNodeSelector'] + " " + this.selector;
|
|
102
103
|
}
|
|
103
104
|
else {
|
|
105
|
+
root = true;
|
|
104
106
|
meta['ClassNodeSelector'] = this.selector;
|
|
105
107
|
}
|
|
106
108
|
this._fullSelector = meta['ClassNodeSelector'];
|
|
@@ -114,25 +116,57 @@ var ClassNode = /** @class */ (function (_super) {
|
|
|
114
116
|
ClassNode.classParents[this.selector].push(this._fullSelector);
|
|
115
117
|
return [4 /*yield*/, this.block.prepare(this.classScope, dom, tag, meta)];
|
|
116
118
|
case 1:
|
|
117
|
-
|
|
119
|
+
_a.sent();
|
|
118
120
|
Registry_1.Registry.class(this);
|
|
119
|
-
|
|
120
|
-
|
|
121
|
+
if (!root) return [3 /*break*/, 3];
|
|
122
|
+
return [4 /*yield*/, this.findClassElements(dom)];
|
|
121
123
|
case 2:
|
|
122
|
-
|
|
124
|
+
_a.sent();
|
|
125
|
+
_a.label = 3;
|
|
126
|
+
case 3: return [3 /*break*/, 6];
|
|
127
|
+
case 4: return [4 /*yield*/, this.block.prepare(this.classScope, dom, tag, meta)];
|
|
128
|
+
case 5:
|
|
129
|
+
_a.sent();
|
|
130
|
+
_a.label = 6;
|
|
131
|
+
case 6: return [2 /*return*/];
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
ClassNode.prototype.findClassElements = function (dom) {
|
|
137
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
138
|
+
var _i, _a, element, _b, _c, childSelector, node;
|
|
139
|
+
return __generator(this, function (_d) {
|
|
140
|
+
switch (_d.label) {
|
|
141
|
+
case 0:
|
|
142
|
+
_i = 0, _a = Array.from(dom.querySelectorAll(this._fullSelector));
|
|
143
|
+
_d.label = 1;
|
|
144
|
+
case 1:
|
|
145
|
+
if (!(_i < _a.length)) return [3 /*break*/, 4];
|
|
123
146
|
element = _a[_i];
|
|
124
147
|
return [4 /*yield*/, ClassNode.addElementClass(this._fullSelector, element, dom, element[Tag_1.Tag.TaggedVariable] || null)];
|
|
148
|
+
case 2:
|
|
149
|
+
_d.sent();
|
|
150
|
+
_d.label = 3;
|
|
125
151
|
case 3:
|
|
126
|
-
_b.sent();
|
|
127
|
-
_b.label = 4;
|
|
128
|
-
case 4:
|
|
129
152
|
_i++;
|
|
130
|
-
return [3 /*break*/,
|
|
131
|
-
case
|
|
132
|
-
|
|
153
|
+
return [3 /*break*/, 1];
|
|
154
|
+
case 4:
|
|
155
|
+
_b = 0, _c = ClassNode.classChildren[this._fullSelector];
|
|
156
|
+
_d.label = 5;
|
|
157
|
+
case 5:
|
|
158
|
+
if (!(_b < _c.length)) return [3 /*break*/, 8];
|
|
159
|
+
childSelector = _c[_b];
|
|
160
|
+
node = ClassNode.classes[this._fullSelector + " " + childSelector];
|
|
161
|
+
if (!node)
|
|
162
|
+
return [3 /*break*/, 7];
|
|
163
|
+
return [4 /*yield*/, node.findClassElements(dom)];
|
|
164
|
+
case 6:
|
|
165
|
+
_d.sent();
|
|
166
|
+
_d.label = 7;
|
|
133
167
|
case 7:
|
|
134
|
-
_b
|
|
135
|
-
|
|
168
|
+
_b++;
|
|
169
|
+
return [3 /*break*/, 5];
|
|
136
170
|
case 8: return [2 /*return*/];
|
|
137
171
|
}
|
|
138
172
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassNode.js","sourceRoot":"","sources":["../../src/AST/ClassNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAA+B;AAE/B,8BAA2B;AAC3B,8BAAwD;AACxD,+BAAuC;AAEvC,wCAAqC;AACrC,mCAAgC;AAGhC;IAA+B,6BAAI;IAW/B,mBACoB,QAAgB,EAChB,KAAgB;QAFpC,YAII,iBAAO,SACV;QAJmB,cAAQ,GAAR,QAAQ,CAAQ;QAChB,WAAK,GAAL,KAAK,CAAW;QAN1B,kBAAY,GAAY,IAAI,CAAC;QACvB,gBAAU,GAAU,IAAI,aAAK,EAAE,CAAC;;IAQhD,CAAC;IAED,sBAAW,mCAAY;aAAvB;YACI,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;;;OAAA;IAEM,8BAAU,GAAjB,UAAkB,IAAU;QACxB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEY,2BAAO,GAApB,UAAqB,KAAY,EAAE,GAAQ,EAAE,GAAe,EAAE,IAAgB;QAAjC,oBAAA,EAAA,UAAe;;;;;;wBACxD,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC/B,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ClassNode.js","sourceRoot":"","sources":["../../src/AST/ClassNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
|
57
57
|
};
|
|
58
58
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
59
|
exports.FunctionCallNode = void 0;
|
|
60
|
+
var Tag_1 = require("../Tag");
|
|
60
61
|
var Node_1 = require("./Node");
|
|
61
62
|
var ScopeMemberNode_1 = require("./ScopeMemberNode");
|
|
62
63
|
var FunctionNode_1 = require("./FunctionNode");
|
|
@@ -80,10 +81,11 @@ var FunctionCallNode = /** @class */ (function (_super) {
|
|
|
80
81
|
FunctionCallNode.prototype.evaluate = function (scope, dom, tag) {
|
|
81
82
|
if (tag === void 0) { tag = null; }
|
|
82
83
|
return __awaiter(this, void 0, void 0, function () {
|
|
83
|
-
var tags, functionScope, values, func, functionName, returnValues, toCleanup, calls, _i, tags_1, _tag, tagNum, _a, _b, className, cls, fnc, _c, _d, _e, toCleanup_1, fnc, r;
|
|
84
|
+
var tags, functionScope, _tags, values, func, functionName, returnValues, toCleanup, calls, _i, tags_1, _tag, tagNum, _a, _b, className, cls, fnc, _c, _d, _e, toCleanup_1, fnc, r;
|
|
84
85
|
return __generator(this, function (_f) {
|
|
85
86
|
switch (_f.label) {
|
|
86
87
|
case 0:
|
|
88
|
+
tags = [];
|
|
87
89
|
functionScope = scope;
|
|
88
90
|
if (!(this.fnc instanceof ScopeMemberNode_1.ScopeMemberNode)) return [3 /*break*/, 4];
|
|
89
91
|
return [4 /*yield*/, this.fnc.scope.evaluate(scope, dom, tag)];
|
|
@@ -92,7 +94,16 @@ var FunctionCallNode = /** @class */ (function (_super) {
|
|
|
92
94
|
if (!(this.fnc.scope instanceof ElementQueryNode_1.ElementQueryNode)) return [3 /*break*/, 3];
|
|
93
95
|
return [4 /*yield*/, this.fnc.scope.evaluate(scope, dom, tag)];
|
|
94
96
|
case 2:
|
|
95
|
-
|
|
97
|
+
_tags = _f.sent();
|
|
98
|
+
if (_tags instanceof Array) {
|
|
99
|
+
tags = _tags;
|
|
100
|
+
}
|
|
101
|
+
else if (_tags instanceof Tag_1.Tag) {
|
|
102
|
+
tags = [_tags];
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
throw new Error('Invalid element query result');
|
|
106
|
+
}
|
|
96
107
|
return [3 /*break*/, 4];
|
|
97
108
|
case 3:
|
|
98
109
|
tags = [tag];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionCallNode.js","sourceRoot":"","sources":["../../src/AST/FunctionCallNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"FunctionCallNode.js","sourceRoot":"","sources":["../../src/AST/FunctionCallNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VERSION = "0.1.75";
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,QAAQ,CAAC"}
|
package/dist/vsn.js
CHANGED
|
@@ -71,6 +71,7 @@ var AST_1 = require("./AST");
|
|
|
71
71
|
var Query_1 = require("./Query");
|
|
72
72
|
var EventDispatcher_1 = require("./EventDispatcher");
|
|
73
73
|
var DynamicScopeData_1 = require("./Scope/DynamicScopeData");
|
|
74
|
+
var version_1 = require("./version");
|
|
74
75
|
var Vision = /** @class */ (function (_super) {
|
|
75
76
|
__extends(Vision, _super);
|
|
76
77
|
function Vision() {
|
|
@@ -132,7 +133,7 @@ var Vision = /** @class */ (function (_super) {
|
|
|
132
133
|
_a.sent();
|
|
133
134
|
now = (new Date()).getTime();
|
|
134
135
|
setupTime = now - startTime;
|
|
135
|
-
console.info("Took " + setupTime + "ms to start up VisionJS. https://www.vsnjs.com/",
|
|
136
|
+
console.info("Took " + setupTime + "ms to start up VisionJS. https://www.vsnjs.com/", "v" + version_1.VERSION);
|
|
136
137
|
return [2 /*return*/];
|
|
137
138
|
}
|
|
138
139
|
});
|
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;
|
|
1
|
+
{"version":3,"file":"vsn.js","sourceRoot":"","sources":["../src/vsn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vsn",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.75",
|
|
4
4
|
"description": "SEO Friendly Javascript/Typescript Framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"framework",
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
],
|
|
14
14
|
"main": "./dist/vsn.js",
|
|
15
15
|
"scripts": {
|
|
16
|
-
"build": "rm -rf ./dist/ && tsc",
|
|
16
|
+
"build": "rm -rf ./dist/ && npm run-script version && tsc",
|
|
17
|
+
"version": "echo -n \"export const VERSION = '${npm_package_version}';\n\" > src/version.ts",
|
|
17
18
|
"build_dev": "rm -rf ./dist/ && webpack --env BUILD=development BENCHMARK=1",
|
|
18
19
|
"demo": "webpack --env BUILD=production BENCHMARK=1 && cp ./dist/vsn.min.js ./demo/vsn.js",
|
|
19
20
|
"test": "karma start --single-run",
|
package/src/AST/ClassNode.ts
CHANGED
|
@@ -39,6 +39,7 @@ export class ClassNode extends Node implements TreeNode {
|
|
|
39
39
|
public async prepare(scope: Scope, dom: DOM, tag: Tag = null, meta?: INodeMeta): Promise<void> {
|
|
40
40
|
meta = Object.assign({}, meta) || {};
|
|
41
41
|
const initial = !!meta['initial'];
|
|
42
|
+
let root: boolean = false;
|
|
42
43
|
meta['ClassNodePrepare'] = initial;
|
|
43
44
|
|
|
44
45
|
// Only prepare once during the initial prep, all subsequent prepares are on tag class blocks
|
|
@@ -47,6 +48,7 @@ export class ClassNode extends Node implements TreeNode {
|
|
|
47
48
|
ClassNode.classChildren[meta['ClassNodeSelector'] as string].push(this.selector);
|
|
48
49
|
meta['ClassNodeSelector'] = `${meta['ClassNodeSelector']} ${this.selector}`;
|
|
49
50
|
} else {
|
|
51
|
+
root = true;
|
|
50
52
|
meta['ClassNodeSelector'] = this.selector;
|
|
51
53
|
}
|
|
52
54
|
|
|
@@ -63,14 +65,25 @@ export class ClassNode extends Node implements TreeNode {
|
|
|
63
65
|
await this.block.prepare(this.classScope, dom, tag, meta);
|
|
64
66
|
Registry.class(this);
|
|
65
67
|
|
|
66
|
-
|
|
67
|
-
await
|
|
68
|
+
if (root) {
|
|
69
|
+
await this.findClassElements(dom);
|
|
68
70
|
}
|
|
69
71
|
} else {
|
|
70
72
|
await this.block.prepare(this.classScope, dom, tag, meta);
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
75
|
|
|
76
|
+
public async findClassElements(dom) {
|
|
77
|
+
for (const element of Array.from(dom.querySelectorAll(this._fullSelector))) {
|
|
78
|
+
await ClassNode.addElementClass(this._fullSelector, element as HTMLElement, dom, element[Tag.TaggedVariable] || null);
|
|
79
|
+
}
|
|
80
|
+
for (const childSelector of ClassNode.classChildren[this._fullSelector]) {
|
|
81
|
+
const node = ClassNode.classes[`${this._fullSelector} ${childSelector}`];
|
|
82
|
+
if (!node) continue;
|
|
83
|
+
await node.findClassElements(dom);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
74
87
|
public async constructTag(tag: Tag, dom: DOM, hasConstructor: boolean | null = null) {
|
|
75
88
|
if (hasConstructor === null)
|
|
76
89
|
hasConstructor = this.classScope.has('construct');
|
|
@@ -27,12 +27,19 @@ export class FunctionCallNode<T = any> extends Node implements TreeNode {
|
|
|
27
27
|
|
|
28
28
|
public async evaluate(scope: Scope, dom: DOM, tag: Tag = null) {
|
|
29
29
|
// @todo: Need to rewrite/refactor this. It's a bit of a mess with element queries.
|
|
30
|
-
let tags: Tag[];
|
|
30
|
+
let tags: Tag[] = [];
|
|
31
31
|
let functionScope: Scope = scope;
|
|
32
32
|
if (this.fnc instanceof ScopeMemberNode) {
|
|
33
33
|
functionScope = await this.fnc.scope.evaluate(scope, dom, tag);
|
|
34
34
|
if (this.fnc.scope instanceof ElementQueryNode) {
|
|
35
|
-
|
|
35
|
+
const _tags = await this.fnc.scope.evaluate(scope, dom, tag);
|
|
36
|
+
if (_tags instanceof Array) {
|
|
37
|
+
tags = _tags;
|
|
38
|
+
} else if (_tags instanceof Tag) {
|
|
39
|
+
tags = [_tags];
|
|
40
|
+
} else {
|
|
41
|
+
throw new Error('Invalid element query result');
|
|
42
|
+
}
|
|
36
43
|
} else {
|
|
37
44
|
tags = [tag];
|
|
38
45
|
}
|
|
@@ -45,6 +52,7 @@ export class FunctionCallNode<T = any> extends Node implements TreeNode {
|
|
|
45
52
|
const returnValues = [];
|
|
46
53
|
const toCleanup = [];
|
|
47
54
|
let calls = 0;
|
|
55
|
+
|
|
48
56
|
for (const _tag of tags) {
|
|
49
57
|
let tagNum = 0;
|
|
50
58
|
for (const className of _tag.element[ClassNode.ClassesVariable]) {
|
|
@@ -60,6 +68,7 @@ export class FunctionCallNode<T = any> extends Node implements TreeNode {
|
|
|
60
68
|
}
|
|
61
69
|
}
|
|
62
70
|
}
|
|
71
|
+
|
|
63
72
|
for (const fnc of toCleanup) {
|
|
64
73
|
await fnc.collectGarbage();
|
|
65
74
|
}
|
package/src/version.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const VERSION = '0.1.75';
|
package/src/vsn.ts
CHANGED
|
@@ -8,6 +8,7 @@ import {Query} from "./Query";
|
|
|
8
8
|
import {EventDispatcher} from "./EventDispatcher";
|
|
9
9
|
import {DynamicScopeData} from "./Scope/DynamicScopeData";
|
|
10
10
|
import {Controller} from "./Controller";
|
|
11
|
+
import {VERSION} from "./version";
|
|
11
12
|
|
|
12
13
|
export class Vision extends EventDispatcher {
|
|
13
14
|
protected static _instance: Vision;
|
|
@@ -59,7 +60,7 @@ export class Vision extends EventDispatcher {
|
|
|
59
60
|
await this._dom.buildFrom(document, true);
|
|
60
61
|
const now = (new Date()).getTime();
|
|
61
62
|
const setupTime = now - startTime;
|
|
62
|
-
console.info(`Took ${setupTime}ms to start up VisionJS. https://www.vsnjs.com/`,
|
|
63
|
+
console.info(`Took ${setupTime}ms to start up VisionJS. https://www.vsnjs.com/`, `v${VERSION}`);
|
|
63
64
|
}
|
|
64
65
|
|
|
65
66
|
public static get instance() {
|
|
@@ -2,11 +2,12 @@ import {DOM} from "../../src/DOM";
|
|
|
2
2
|
import {ClassNode} from "../../src/AST/ClassNode";
|
|
3
3
|
import {Registry} from "../../src/Registry";
|
|
4
4
|
import {TagList} from "../../src/Tag/List";
|
|
5
|
+
import {Tag} from "../../src/Tag";
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
describe('ClassNode', () => {
|
|
8
9
|
it("properly combine nested classes", async () => {
|
|
9
|
-
|
|
10
|
+
document.body.innerHTML = `
|
|
10
11
|
<script type="text/vsn" vsn-script>
|
|
11
12
|
class .simple {
|
|
12
13
|
func construct() {}
|
|
@@ -26,7 +27,7 @@ describe('ClassNode', () => {
|
|
|
26
27
|
});
|
|
27
28
|
|
|
28
29
|
it("properly define a simple class", async () => {
|
|
29
|
-
|
|
30
|
+
document.body.innerHTML = `
|
|
30
31
|
<script type="text/vsn" vsn-script>
|
|
31
32
|
class .simple-construct {
|
|
32
33
|
func construct() {
|
|
@@ -55,4 +56,100 @@ describe('ClassNode', () => {
|
|
|
55
56
|
await dom.exec('?(.simple-construct).test()');
|
|
56
57
|
expect(await dom.exec('?(.simple-construct).a')).toEqual([16, 16]);
|
|
57
58
|
});
|
|
59
|
+
|
|
60
|
+
it("properly define a simple class with a parent", async () => {
|
|
61
|
+
document.body.innerHTML = `
|
|
62
|
+
<script type="text/vsn" vsn-script>
|
|
63
|
+
class .testing {
|
|
64
|
+
func construct() {
|
|
65
|
+
a|integer = 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
class .test {
|
|
69
|
+
func construct() {
|
|
70
|
+
?<(.testing).a += 1;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
</script>
|
|
75
|
+
<div class="testing"><span class="test"></span></div>
|
|
76
|
+
`;
|
|
77
|
+
const dom = new DOM(document);
|
|
78
|
+
await dom.ready;
|
|
79
|
+
await Registry.instance.classes.get('.testing .test');
|
|
80
|
+
const t = await dom.exec('?(.testing .test)[0]');
|
|
81
|
+
await t.promise('.testing .test.construct');
|
|
82
|
+
expect(await dom.exec('?(.testing)[0].a')).toEqual(1);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it("properly define a simple class with a parent", async () => {
|
|
86
|
+
document.body.innerHTML = `
|
|
87
|
+
<script type="text/vsn" vsn-script>
|
|
88
|
+
class .product-firearm-option {
|
|
89
|
+
func construct() {
|
|
90
|
+
log('construct');
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
func open() {
|
|
94
|
+
log(@data-type, 'open');
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
func close() {
|
|
98
|
+
log(@data-type, 'close');
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
func filter(value) {
|
|
102
|
+
log(@data-type, 'filter', value);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
class > input {
|
|
106
|
+
func construct() {
|
|
107
|
+
log('construct');
|
|
108
|
+
}
|
|
109
|
+
on focus() {
|
|
110
|
+
?>(:parent).open();
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
on blur() {
|
|
114
|
+
?>(:parent).close();
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
on keyup() {
|
|
118
|
+
?>(:parent).filter(@value)
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
class .option-list {
|
|
123
|
+
func construct() {
|
|
124
|
+
log(?>(:parent input).@data-type, 'construct');
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
class li {
|
|
128
|
+
func construct() {
|
|
129
|
+
log(@text);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
</script>
|
|
135
|
+
<div class="product-firearm-option">
|
|
136
|
+
<input data-type="firearm-type" />
|
|
137
|
+
<ul class="option-list">
|
|
138
|
+
<li data-type="rifle">Rifle</li>
|
|
139
|
+
<li data-type="pistol">Pistol</li>
|
|
140
|
+
<li data-type="shotgun">Shotgun</li>
|
|
141
|
+
</ul>
|
|
142
|
+
</div>
|
|
143
|
+
<div class="product-firearm-option">
|
|
144
|
+
<input data-type="model-type" />
|
|
145
|
+
<ul class="option-list">
|
|
146
|
+
<li data-type="rifle">Glock</li>
|
|
147
|
+
<li data-type="pistol">Springfield Armory</li>
|
|
148
|
+
<li data-type="shotgun">Smith & Wesson</li>
|
|
149
|
+
</ul>
|
|
150
|
+
</div>
|
|
151
|
+
`;
|
|
152
|
+
const dom = new DOM(document);
|
|
153
|
+
await dom.ready;
|
|
154
|
+
});
|
|
58
155
|
});
|