dom-render 1.0.35 → 1.0.36
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/Config.d.ts +3 -0
- package/DomRenderProxy.d.ts +2 -1
- package/DomRenderProxy.js +8 -3
- package/RawSet.d.ts +2 -0
- package/RawSet.js +31 -50
- package/dist/dom-render.js +39 -53
- package/package.json +1 -1
package/Config.d.ts
CHANGED
@@ -16,6 +16,9 @@ export interface Config {
|
|
16
16
|
onElementInit?: (name: string, obj: any, rawSet: RawSet) => void;
|
17
17
|
onAttrInit?: (name: string, attrValue: string, obj: any, rawSet: RawSet) => void;
|
18
18
|
proxyExcludeTyps?: ConstructorType<any>[];
|
19
|
+
scripts?: {
|
20
|
+
[n: string]: any;
|
21
|
+
};
|
19
22
|
applyEvents?: {
|
20
23
|
attrName: string;
|
21
24
|
callBack: (elements: Element, attrValue: string, obj: any) => void;
|
package/DomRenderProxy.d.ts
CHANGED
@@ -12,7 +12,8 @@ export declare class DomRenderProxy<T extends object> implements ProxyHandler<T>
|
|
12
12
|
static isFinal<T = any>(obj: T): boolean;
|
13
13
|
run(objProxy: T): void;
|
14
14
|
initRender(target: Node): void;
|
15
|
-
|
15
|
+
getRawSets(): RawSet[];
|
16
|
+
render(raws?: RawSet[]): void;
|
16
17
|
root(paths: string[], value: any): void;
|
17
18
|
set(target: T, p: string | symbol, value: any, receiver: T): boolean;
|
18
19
|
get(target: T, p: string | symbol, receiver: any): any;
|
package/DomRenderProxy.js
CHANGED
@@ -64,14 +64,19 @@ var DomRenderProxy = (function () {
|
|
64
64
|
});
|
65
65
|
}
|
66
66
|
});
|
67
|
+
this.render(this.getRawSets());
|
68
|
+
(_b = (_a = this._domRender_proxy) === null || _a === void 0 ? void 0 : _a.onInitRender) === null || _b === void 0 ? void 0 : _b.call(_a);
|
69
|
+
};
|
70
|
+
DomRenderProxy.prototype.getRawSets = function () {
|
71
|
+
var set = new Set();
|
67
72
|
this._rawSets.forEach(function (v, k) {
|
68
|
-
|
73
|
+
v.forEach(function (it) { return set.add(it); });
|
69
74
|
});
|
70
|
-
|
75
|
+
return Array.from(set);
|
71
76
|
};
|
72
77
|
DomRenderProxy.prototype.render = function (raws) {
|
73
78
|
var _this = this;
|
74
|
-
raws.forEach(function (it) {
|
79
|
+
(raws !== null && raws !== void 0 ? raws : this.getRawSets()).forEach(function (it) {
|
75
80
|
if (it.point.start.isConnected && it.point.start.isConnected) {
|
76
81
|
var rawSets = it.render(_this._domRender_proxy, _this.config);
|
77
82
|
_this.render(rawSets);
|
package/RawSet.d.ts
CHANGED
@@ -19,6 +19,8 @@ export declare class RawSet {
|
|
19
19
|
static readonly DR_VAR_OPTIONNAME = "dr-var";
|
20
20
|
static readonly DR_STRIP_OPTIONNAME = "dr-strip";
|
21
21
|
static readonly DR_ATTRIBUTES: string[];
|
22
|
+
static readonly SCRIPTS_VARNAME = "$scripts";
|
23
|
+
static readonly RAWSET_VARNAME = "$rawset";
|
22
24
|
constructor(uuid: string, point: {
|
23
25
|
start: Comment;
|
24
26
|
end: Comment;
|
package/RawSet.js
CHANGED
@@ -24,13 +24,19 @@ var RawSet = (function () {
|
|
24
24
|
var usingTriggerVariables = new Set();
|
25
25
|
this.fragment.childNodes.forEach(function (cNode, key) {
|
26
26
|
var _a, _b, _c;
|
27
|
+
var script = '';
|
27
28
|
if (cNode.nodeType === Node.TEXT_NODE) {
|
28
|
-
|
29
|
+
script = "`" + ((_a = cNode.textContent) !== null && _a !== void 0 ? _a : '') + "`";
|
29
30
|
}
|
30
31
|
else if (cNode.nodeType === Node.ELEMENT_NODE) {
|
31
32
|
var element_1 = cNode;
|
32
33
|
var targetAttrNames = ((_c = (_b = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _b === void 0 ? void 0 : _b.map(function (it) { return it.name; })) !== null && _c !== void 0 ? _c : []).concat(RawSet.DR_ATTRIBUTES);
|
33
|
-
|
34
|
+
script = targetAttrNames.map(function (it) { return (element_1.getAttribute(it)); }).filter(function (it) { return it; }).join(';');
|
35
|
+
}
|
36
|
+
if (script) {
|
37
|
+
script = script.replace(RegExp(RawSet.SCRIPTS_VARNAME.replace('$', '\\$'), 'g'), "this?.___" + RawSet.SCRIPTS_VARNAME);
|
38
|
+
script = script.replace(RegExp(RawSet.RAWSET_VARNAME.replace('$', '\\$'), 'g'), "this?.___" + RawSet.RAWSET_VARNAME);
|
39
|
+
Array.from(ScriptUtils_1.ScriptUtils.getVariablePaths(script)).filter(function (it) { return !it.startsWith("___" + RawSet.SCRIPTS_VARNAME) && !it.startsWith("___" + RawSet.SCRIPTS_VARNAME); }).forEach(function (it) { return usingTriggerVariables.add(it); });
|
34
40
|
}
|
35
41
|
});
|
36
42
|
return usingTriggerVariables;
|
@@ -46,7 +52,7 @@ var RawSet = (function () {
|
|
46
52
|
var fag = document.createDocumentFragment();
|
47
53
|
if (cNode.nodeType === Node.TEXT_NODE) {
|
48
54
|
var textContent = cNode.textContent;
|
49
|
-
var n = document.createTextNode(ScriptUtils_1.ScriptUtils.eval("return `" + textContent + "
|
55
|
+
var n = document.createTextNode(ScriptUtils_1.ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RAWSET_VARNAME + " = this.__render.rawset;\n return `" + textContent + "`\n ", (config === null || config === void 0 ? void 0 : config.scripts) ? Object.assign(obj, { __render: Object.freeze({ rawset: _this, scripts: config === null || config === void 0 ? void 0 : config.scripts }) }) : obj));
|
50
56
|
(_a = cNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(n, cNode);
|
51
57
|
}
|
52
58
|
else if (cNode.nodeType === Node.ELEMENT_NODE) {
|
@@ -67,9 +73,7 @@ var RawSet = (function () {
|
|
67
73
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
68
74
|
var vars = RawSet.drVarEncoding(element_2, (_b = drAttr.drVarOption) !== null && _b !== void 0 ? _b : '');
|
69
75
|
var newTemp = document.createElement('temp');
|
70
|
-
ScriptUtils_1.ScriptUtils.eval("\n const n = this.
|
71
|
-
__fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
|
72
|
-
}, obj));
|
76
|
+
ScriptUtils_1.ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RAWSET_VARNAME + " = this.__render.rawset;\n const n = this.__render.element.cloneNode(true);\n var destIt = " + drAttr.drItOption + ";\n if (destIt !== undefined) {\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__render.fag.append(n);\n }", Object.assign(obj, { __render: Object.freeze({ fag: newTemp, drStripOption: drAttr.drStripOption, element: element_2, rawset: _this, scripts: config === null || config === void 0 ? void 0 : config.scripts }) }));
|
73
77
|
RawSet.drVarDecoding(newTemp, vars);
|
74
78
|
RawSet.drItOtherDecoding(newTemp, itRandom);
|
75
79
|
var tempalte = document.createElement('template');
|
@@ -83,9 +87,7 @@ var RawSet = (function () {
|
|
83
87
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
84
88
|
var vars = RawSet.drVarEncoding(element_2, (_d = drAttr.drVarOption) !== null && _d !== void 0 ? _d : '');
|
85
89
|
var newTemp = document.createElement('temp');
|
86
|
-
ScriptUtils_1.ScriptUtils.eval("\n if(" + drAttr.drIf + ") {\n const n = this.
|
87
|
-
__fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
|
88
|
-
}, obj));
|
90
|
+
ScriptUtils_1.ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RAWSET_VARNAME + " = this.__render.rawset;\n if(" + drAttr.drIf + ") {\n const n = this.__render.element.cloneNode(true);\n var destIt = " + drAttr.drItOption + ";\n if (destIt !== undefined) {\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }", Object.assign(obj, { __render: Object.freeze({ fag: newTemp, drStripOption: drAttr.drStripOption, element: element_2, rawset: _this, scripts: config === null || config === void 0 ? void 0 : config.scripts }) }));
|
89
91
|
RawSet.drVarDecoding(newTemp, vars);
|
90
92
|
RawSet.drItOtherDecoding(newTemp, itRandom);
|
91
93
|
var tempalte = document.createElement('template');
|
@@ -137,9 +139,7 @@ var RawSet = (function () {
|
|
137
139
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
138
140
|
var vars = RawSet.drVarEncoding(element_2, (_k = drAttr.drVarOption) !== null && _k !== void 0 ? _k : '');
|
139
141
|
var newTemp = document.createElement('temp');
|
140
|
-
ScriptUtils_1.ScriptUtils.eval("\n for(" + drAttr.drFor + ") {\n const n = this.
|
141
|
-
__fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
|
142
|
-
}, obj));
|
142
|
+
ScriptUtils_1.ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n for(" + drAttr.drFor + ") {\n const n = this.__render.element.cloneNode(true);\n var destIt = " + drAttr.drItOption + ";\n if (destIt !== undefined) {\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }", Object.assign(obj, { __render: Object.freeze({ fag: newTemp, drStripOption: drAttr.drStripOption, element: element_2, scripts: config === null || config === void 0 ? void 0 : config.scripts }) }));
|
143
143
|
RawSet.drVarDecoding(newTemp, vars);
|
144
144
|
RawSet.drItOtherDecoding(newTemp, itRandom);
|
145
145
|
var tempalte = document.createElement('template');
|
@@ -153,11 +153,7 @@ var RawSet = (function () {
|
|
153
153
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
154
154
|
var vars = RawSet.drVarEncoding(element_2, (_m = drAttr.drVarOption) !== null && _m !== void 0 ? _m : '');
|
155
155
|
var newTemp = document.createElement('temp');
|
156
|
-
ScriptUtils_1.ScriptUtils.eval("var i = 0; for(const it of " + drAttr.drForOf + ") {\n
|
157
|
-
__drStripOption: drAttr.drStripOption,
|
158
|
-
__fag: newTemp,
|
159
|
-
__element: element_2
|
160
|
-
}, obj));
|
156
|
+
ScriptUtils_1.ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n var i = 0; \n for(const it of " + drAttr.drForOf + ") {\n var destIt = it;\n var forOfStr = `" + drAttr.drForOf + "`;\n if (/,/g.test(forOfStr)) {\n if (typeof it === 'string') {\n destIt = it;\n } else {\n destIt = forOfStr.substring(1, forOfStr.length-1).split(',')[i];\n }\n } else {\n destIt = forOfStr + '[' + i +']'\n }\n \n const n = this.__render.element.cloneNode(true);\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n \n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n i++;\n }", Object.assign(obj, { __render: Object.freeze({ drStripOption: drAttr.drStripOption, fag: newTemp, element: element_2 }) }));
|
161
157
|
RawSet.drVarDecoding(newTemp, vars);
|
162
158
|
RawSet.drItOtherDecoding(newTemp, itRandom);
|
163
159
|
var tempalte = document.createElement('template');
|
@@ -246,42 +242,25 @@ var RawSet = (function () {
|
|
246
242
|
var currentNode;
|
247
243
|
var _loop_1 = function () {
|
248
244
|
if (currentNode.nodeType === Node.TEXT_NODE) {
|
249
|
-
var
|
245
|
+
var text = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';
|
250
246
|
var template_1 = document.createElement('template');
|
251
|
-
var a = StringUtils_1.StringUtils.regexExec(/\$\{.*?\}/g,
|
252
|
-
var map = a.
|
253
|
-
|
254
|
-
var uuid = RandomUtils_1.RandomUtils.uuid();
|
255
|
-
it.uuid = uuid;
|
256
|
-
it.content = it.regexArr[0];
|
257
|
-
text_1 = text_1.substr(0, it.regexArr.index) + text_1.substr(it.regexArr.index).replace(it.regexArr[0], "<!--start text " + uuid + "--><!--end text " + uuid + "-->");
|
258
|
-
});
|
259
|
-
template_1.innerHTML = text_1;
|
247
|
+
var a = StringUtils_1.StringUtils.regexExec(/\$\{.*?\}/g, text);
|
248
|
+
var map = a.map(function (it) { return { uuid: RandomUtils_1.RandomUtils.uuid(), content: it[0], regexArr: it }; });
|
249
|
+
var lasterIndex_1 = 0;
|
260
250
|
map.forEach(function (it) {
|
261
|
-
var
|
262
|
-
var
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
var
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
if (((_a = subNode.textContent) !== null && _a !== void 0 ? _a : '').startsWith('start')) {
|
273
|
-
start = subNode;
|
274
|
-
}
|
275
|
-
if (((_b = subNode.textContent) !== null && _b !== void 0 ? _b : '').startsWith('end')) {
|
276
|
-
end = subNode;
|
277
|
-
}
|
278
|
-
}
|
279
|
-
if (start && end) {
|
280
|
-
var fragment = document.createDocumentFragment();
|
281
|
-
fragment.append(document.createTextNode(it.content));
|
282
|
-
pars.push(new RawSet(it.uuid, { start: start, end: end }, fragment));
|
283
|
-
}
|
251
|
+
var regexArr = it.regexArr;
|
252
|
+
var preparedText = regexArr.input.substring(lasterIndex_1, regexArr.index);
|
253
|
+
var start = document.createComment("start text " + it.uuid);
|
254
|
+
var end = document.createComment("end text " + it.uuid);
|
255
|
+
template_1.content.append(document.createTextNode(preparedText));
|
256
|
+
template_1.content.append(start);
|
257
|
+
template_1.content.append(end);
|
258
|
+
var fragment = document.createDocumentFragment();
|
259
|
+
fragment.append(document.createTextNode(it.content));
|
260
|
+
pars.push(new RawSet(it.uuid, { start: start, end: end }, fragment));
|
261
|
+
lasterIndex_1 = regexArr.index + it.content.length;
|
284
262
|
});
|
263
|
+
template_1.content.append(document.createTextNode(text.substring(lasterIndex_1, text.length)));
|
285
264
|
(_b = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(template_1.content, currentNode);
|
286
265
|
}
|
287
266
|
else {
|
@@ -401,6 +380,8 @@ var RawSet = (function () {
|
|
401
380
|
RawSet.DR_VAR_OPTIONNAME = 'dr-var';
|
402
381
|
RawSet.DR_STRIP_OPTIONNAME = 'dr-strip';
|
403
382
|
RawSet.DR_ATTRIBUTES = [RawSet.DR, RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_FOR_NAME, RawSet.DR_THIS_NAME, RawSet.DR_INNERHTML_NAME, RawSet.DR_INNERTEXT_NAME];
|
383
|
+
RawSet.SCRIPTS_VARNAME = '$scripts';
|
384
|
+
RawSet.RAWSET_VARNAME = '$rawset';
|
404
385
|
return RawSet;
|
405
386
|
}());
|
406
387
|
exports.RawSet = RawSet;
|
package/dist/dom-render.js
CHANGED
@@ -435,13 +435,19 @@ var RawSet = (function () {
|
|
435
435
|
var usingTriggerVariables = new Set();
|
436
436
|
this.fragment.childNodes.forEach(function (cNode, key) {
|
437
437
|
var _a, _b, _c;
|
438
|
+
var script = '';
|
438
439
|
if (cNode.nodeType === Node.TEXT_NODE) {
|
439
|
-
|
440
|
+
script = "`" + ((_a = cNode.textContent) !== null && _a !== void 0 ? _a : '') + "`";
|
440
441
|
}
|
441
442
|
else if (cNode.nodeType === Node.ELEMENT_NODE) {
|
442
443
|
var element_1 = cNode;
|
443
444
|
var targetAttrNames = ((_c = (_b = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _b === void 0 ? void 0 : _b.map(function (it) { return it.name; })) !== null && _c !== void 0 ? _c : []).concat(RawSet.DR_ATTRIBUTES);
|
444
|
-
|
445
|
+
script = targetAttrNames.map(function (it) { return (element_1.getAttribute(it)); }).filter(function (it) { return it; }).join(';');
|
446
|
+
}
|
447
|
+
if (script) {
|
448
|
+
script = script.replace(RegExp(RawSet.SCRIPTS_VARNAME.replace('$', '\\$'), 'g'), "this?.___" + RawSet.SCRIPTS_VARNAME);
|
449
|
+
script = script.replace(RegExp(RawSet.RAWSET_VARNAME.replace('$', '\\$'), 'g'), "this?.___" + RawSet.RAWSET_VARNAME);
|
450
|
+
Array.from(ScriptUtils.getVariablePaths(script)).filter(function (it) { return !it.startsWith("___" + RawSet.SCRIPTS_VARNAME) && !it.startsWith("___" + RawSet.SCRIPTS_VARNAME); }).forEach(function (it) { return usingTriggerVariables.add(it); });
|
445
451
|
}
|
446
452
|
});
|
447
453
|
return usingTriggerVariables;
|
@@ -457,7 +463,7 @@ var RawSet = (function () {
|
|
457
463
|
var fag = document.createDocumentFragment();
|
458
464
|
if (cNode.nodeType === Node.TEXT_NODE) {
|
459
465
|
var textContent = cNode.textContent;
|
460
|
-
var n = document.createTextNode(ScriptUtils.eval("return `" + textContent + "
|
466
|
+
var n = document.createTextNode(ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RAWSET_VARNAME + " = this.__render.rawset;\n return `" + textContent + "`\n ", (config === null || config === void 0 ? void 0 : config.scripts) ? Object.assign(obj, { __render: Object.freeze({ rawset: _this, scripts: config === null || config === void 0 ? void 0 : config.scripts }) }) : obj));
|
461
467
|
(_a = cNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(n, cNode);
|
462
468
|
}
|
463
469
|
else if (cNode.nodeType === Node.ELEMENT_NODE) {
|
@@ -478,9 +484,7 @@ var RawSet = (function () {
|
|
478
484
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
479
485
|
var vars = RawSet.drVarEncoding(element_2, (_b = drAttr.drVarOption) !== null && _b !== void 0 ? _b : '');
|
480
486
|
var newTemp = document.createElement('temp');
|
481
|
-
ScriptUtils.eval("\n const n = this.
|
482
|
-
__fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
|
483
|
-
}, obj));
|
487
|
+
ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RAWSET_VARNAME + " = this.__render.rawset;\n const n = this.__render.element.cloneNode(true);\n var destIt = " + drAttr.drItOption + ";\n if (destIt !== undefined) {\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__render.fag.append(n);\n }", Object.assign(obj, { __render: Object.freeze({ fag: newTemp, drStripOption: drAttr.drStripOption, element: element_2, rawset: _this, scripts: config === null || config === void 0 ? void 0 : config.scripts }) }));
|
484
488
|
RawSet.drVarDecoding(newTemp, vars);
|
485
489
|
RawSet.drItOtherDecoding(newTemp, itRandom);
|
486
490
|
var tempalte = document.createElement('template');
|
@@ -494,9 +498,7 @@ var RawSet = (function () {
|
|
494
498
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
495
499
|
var vars = RawSet.drVarEncoding(element_2, (_d = drAttr.drVarOption) !== null && _d !== void 0 ? _d : '');
|
496
500
|
var newTemp = document.createElement('temp');
|
497
|
-
ScriptUtils.eval("\n if(" + drAttr.drIf + ") {\n const n = this.
|
498
|
-
__fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
|
499
|
-
}, obj));
|
501
|
+
ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RAWSET_VARNAME + " = this.__render.rawset;\n if(" + drAttr.drIf + ") {\n const n = this.__render.element.cloneNode(true);\n var destIt = " + drAttr.drItOption + ";\n if (destIt !== undefined) {\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }", Object.assign(obj, { __render: Object.freeze({ fag: newTemp, drStripOption: drAttr.drStripOption, element: element_2, rawset: _this, scripts: config === null || config === void 0 ? void 0 : config.scripts }) }));
|
500
502
|
RawSet.drVarDecoding(newTemp, vars);
|
501
503
|
RawSet.drItOtherDecoding(newTemp, itRandom);
|
502
504
|
var tempalte = document.createElement('template');
|
@@ -548,9 +550,7 @@ var RawSet = (function () {
|
|
548
550
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
549
551
|
var vars = RawSet.drVarEncoding(element_2, (_k = drAttr.drVarOption) !== null && _k !== void 0 ? _k : '');
|
550
552
|
var newTemp = document.createElement('temp');
|
551
|
-
ScriptUtils.eval("\n for(" + drAttr.drFor + ") {\n const n = this.
|
552
|
-
__fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
|
553
|
-
}, obj));
|
553
|
+
ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n for(" + drAttr.drFor + ") {\n const n = this.__render.element.cloneNode(true);\n var destIt = " + drAttr.drItOption + ";\n if (destIt !== undefined) {\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }", Object.assign(obj, { __render: Object.freeze({ fag: newTemp, drStripOption: drAttr.drStripOption, element: element_2, scripts: config === null || config === void 0 ? void 0 : config.scripts }) }));
|
554
554
|
RawSet.drVarDecoding(newTemp, vars);
|
555
555
|
RawSet.drItOtherDecoding(newTemp, itRandom);
|
556
556
|
var tempalte = document.createElement('template');
|
@@ -564,11 +564,7 @@ var RawSet = (function () {
|
|
564
564
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
565
565
|
var vars = RawSet.drVarEncoding(element_2, (_m = drAttr.drVarOption) !== null && _m !== void 0 ? _m : '');
|
566
566
|
var newTemp = document.createElement('temp');
|
567
|
-
ScriptUtils.eval("var i = 0; for(const it of " + drAttr.drForOf + ") {\n
|
568
|
-
__drStripOption: drAttr.drStripOption,
|
569
|
-
__fag: newTemp,
|
570
|
-
__element: element_2
|
571
|
-
}, obj));
|
567
|
+
ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n var i = 0; \n for(const it of " + drAttr.drForOf + ") {\n var destIt = it;\n var forOfStr = `" + drAttr.drForOf + "`;\n if (/,/g.test(forOfStr)) {\n if (typeof it === 'string') {\n destIt = it;\n } else {\n destIt = forOfStr.substring(1, forOfStr.length-1).split(',')[i];\n }\n } else {\n destIt = forOfStr + '[' + i +']'\n }\n \n const n = this.__render.element.cloneNode(true);\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n \n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n i++;\n }", Object.assign(obj, { __render: Object.freeze({ drStripOption: drAttr.drStripOption, fag: newTemp, element: element_2 }) }));
|
572
568
|
RawSet.drVarDecoding(newTemp, vars);
|
573
569
|
RawSet.drItOtherDecoding(newTemp, itRandom);
|
574
570
|
var tempalte = document.createElement('template');
|
@@ -657,42 +653,25 @@ var RawSet = (function () {
|
|
657
653
|
var currentNode;
|
658
654
|
var _loop_1 = function () {
|
659
655
|
if (currentNode.nodeType === Node.TEXT_NODE) {
|
660
|
-
var
|
656
|
+
var text = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';
|
661
657
|
var template_1 = document.createElement('template');
|
662
|
-
var a = StringUtils.regexExec(/\$\{.*?\}/g,
|
663
|
-
var map = a.
|
664
|
-
|
665
|
-
var uuid = RandomUtils.uuid();
|
666
|
-
it.uuid = uuid;
|
667
|
-
it.content = it.regexArr[0];
|
668
|
-
text_1 = text_1.substr(0, it.regexArr.index) + text_1.substr(it.regexArr.index).replace(it.regexArr[0], "<!--start text " + uuid + "--><!--end text " + uuid + "-->");
|
669
|
-
});
|
670
|
-
template_1.innerHTML = text_1;
|
658
|
+
var a = StringUtils.regexExec(/\$\{.*?\}/g, text);
|
659
|
+
var map = a.map(function (it) { return { uuid: RandomUtils.uuid(), content: it[0], regexArr: it }; });
|
660
|
+
var lasterIndex_1 = 0;
|
671
661
|
map.forEach(function (it) {
|
672
|
-
var
|
673
|
-
var
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
var
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
if (((_a = subNode.textContent) !== null && _a !== void 0 ? _a : '').startsWith('start')) {
|
684
|
-
start = subNode;
|
685
|
-
}
|
686
|
-
if (((_b = subNode.textContent) !== null && _b !== void 0 ? _b : '').startsWith('end')) {
|
687
|
-
end = subNode;
|
688
|
-
}
|
689
|
-
}
|
690
|
-
if (start && end) {
|
691
|
-
var fragment = document.createDocumentFragment();
|
692
|
-
fragment.append(document.createTextNode(it.content));
|
693
|
-
pars.push(new RawSet(it.uuid, { start: start, end: end }, fragment));
|
694
|
-
}
|
662
|
+
var regexArr = it.regexArr;
|
663
|
+
var preparedText = regexArr.input.substring(lasterIndex_1, regexArr.index);
|
664
|
+
var start = document.createComment("start text " + it.uuid);
|
665
|
+
var end = document.createComment("end text " + it.uuid);
|
666
|
+
template_1.content.append(document.createTextNode(preparedText));
|
667
|
+
template_1.content.append(start);
|
668
|
+
template_1.content.append(end);
|
669
|
+
var fragment = document.createDocumentFragment();
|
670
|
+
fragment.append(document.createTextNode(it.content));
|
671
|
+
pars.push(new RawSet(it.uuid, { start: start, end: end }, fragment));
|
672
|
+
lasterIndex_1 = regexArr.index + it.content.length;
|
695
673
|
});
|
674
|
+
template_1.content.append(document.createTextNode(text.substring(lasterIndex_1, text.length)));
|
696
675
|
(_b = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(template_1.content, currentNode);
|
697
676
|
}
|
698
677
|
else {
|
@@ -812,6 +791,8 @@ var RawSet = (function () {
|
|
812
791
|
RawSet.DR_VAR_OPTIONNAME = 'dr-var';
|
813
792
|
RawSet.DR_STRIP_OPTIONNAME = 'dr-strip';
|
814
793
|
RawSet.DR_ATTRIBUTES = [RawSet.DR, RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_FOR_NAME, RawSet.DR_THIS_NAME, RawSet.DR_INNERHTML_NAME, RawSet.DR_INNERTEXT_NAME];
|
794
|
+
RawSet.SCRIPTS_VARNAME = '$scripts';
|
795
|
+
RawSet.RAWSET_VARNAME = '$rawset';
|
815
796
|
return RawSet;
|
816
797
|
}());
|
817
798
|
|
@@ -880,14 +861,19 @@ var DomRenderProxy = (function () {
|
|
880
861
|
});
|
881
862
|
}
|
882
863
|
});
|
864
|
+
this.render(this.getRawSets());
|
865
|
+
(_b = (_a = this._domRender_proxy) === null || _a === void 0 ? void 0 : _a.onInitRender) === null || _b === void 0 ? void 0 : _b.call(_a);
|
866
|
+
};
|
867
|
+
DomRenderProxy.prototype.getRawSets = function () {
|
868
|
+
var set = new Set();
|
883
869
|
this._rawSets.forEach(function (v, k) {
|
884
|
-
|
870
|
+
v.forEach(function (it) { return set.add(it); });
|
885
871
|
});
|
886
|
-
|
872
|
+
return Array.from(set);
|
887
873
|
};
|
888
874
|
DomRenderProxy.prototype.render = function (raws) {
|
889
875
|
var _this = this;
|
890
|
-
raws.forEach(function (it) {
|
876
|
+
(raws !== null && raws !== void 0 ? raws : this.getRawSets()).forEach(function (it) {
|
891
877
|
if (it.point.start.isConnected && it.point.start.isConnected) {
|
892
878
|
var rawSets = it.render(_this._domRender_proxy, _this.config);
|
893
879
|
_this.render(rawSets);
|