dom-render 1.0.38 → 1.0.42
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.js +1 -2
- package/DomRender.js +3 -6
- package/DomRenderLifeCycle.js +1 -2
- package/DomRenderProxy.js +14 -16
- package/RawSet.js +28 -31
- package/Shield.js +1 -4
- package/dist/Config.d.ts +26 -0
- package/dist/DomRender.d.ts +4 -0
- package/dist/DomRenderLifeCycle.d.ts +3 -0
- package/dist/DomRenderProxy.d.ts +27 -0
- package/dist/RawSet.d.ts +61 -0
- package/dist/Shield.d.ts +3 -0
- package/dist/{dom-render.js → bundle.js} +1092 -1090
- package/dist/bundle.js.map +1 -0
- package/dist/events/EventManager.d.ts +14 -0
- package/dist/types/Types.d.ts +3 -0
- package/dist/utils/dom/DomUtils.d.ts +13 -0
- package/dist/utils/node/NodeUtils.d.ts +10 -0
- package/dist/utils/random/RandomUtils.d.ts +7 -0
- package/dist/utils/script/ScriptUtils.d.ts +14 -0
- package/dist/utils/string/StringUtils.d.ts +4 -0
- package/dist/utils/valid/ValidUtils.d.ts +10 -0
- package/events/EventManager.d.ts +1 -1
- package/events/EventManager.js +6 -9
- package/package.json +16 -11
- package/types/Types.js +1 -2
- package/utils/dom/DomUtils.js +1 -4
- package/utils/node/NodeUtils.js +1 -4
- package/utils/random/RandomUtils.js +4 -7
- package/utils/script/ScriptUtils.js +1 -4
- package/utils/string/StringUtils.js +1 -4
- package/utils/valid/ValidUtils.js +1 -4
package/Config.js
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
1
|
+
export {};
|
package/DomRender.js
CHANGED
@@ -1,7 +1,4 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DomRender = void 0;
|
4
|
-
var DomRenderProxy_1 = require("./DomRenderProxy");
|
1
|
+
import { DomRenderProxy } from './DomRenderProxy';
|
5
2
|
var DomRender = (function () {
|
6
3
|
function DomRender() {
|
7
4
|
}
|
@@ -13,7 +10,7 @@ var DomRender = (function () {
|
|
13
10
|
return obj;
|
14
11
|
}
|
15
12
|
else {
|
16
|
-
var domRender = new
|
13
|
+
var domRender = new DomRenderProxy(obj, target, config);
|
17
14
|
var dest = new Proxy(obj, domRender);
|
18
15
|
domRender.run(dest);
|
19
16
|
return dest;
|
@@ -21,4 +18,4 @@ var DomRender = (function () {
|
|
21
18
|
};
|
22
19
|
return DomRender;
|
23
20
|
}());
|
24
|
-
|
21
|
+
export { DomRender };
|
package/DomRenderLifeCycle.js
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
1
|
+
export {};
|
package/DomRenderProxy.js
CHANGED
@@ -1,10 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
var EventManager_1 = require("./events/EventManager");
|
6
|
-
var ScriptUtils_1 = require("./utils/script/ScriptUtils");
|
7
|
-
var Shield_1 = require("./Shield");
|
1
|
+
import { RawSet } from './RawSet';
|
2
|
+
import { eventManager } from './events/EventManager';
|
3
|
+
import { ScriptUtils } from './utils/script/ScriptUtils';
|
4
|
+
import { Shield } from './Shield';
|
8
5
|
var DomRenderProxy = (function () {
|
9
6
|
function DomRenderProxy(_domRender_origin, target, config) {
|
10
7
|
this._domRender_origin = _domRender_origin;
|
@@ -34,7 +31,7 @@ var DomRenderProxy = (function () {
|
|
34
31
|
Object.keys(obj).forEach(function (it) {
|
35
32
|
var _a, _b, _c;
|
36
33
|
var target = obj[it];
|
37
|
-
if (target !== undefined && target !== null && typeof target === 'object' && !DomRenderProxy.isFinal(target) && !Object.isFrozen(target) && !(obj instanceof
|
34
|
+
if (target !== undefined && target !== null && typeof target === 'object' && !DomRenderProxy.isFinal(target) && !Object.isFrozen(target) && !(obj instanceof Shield)) {
|
38
35
|
var filter = (_c = (_b = (_a = _this.config) === null || _a === void 0 ? void 0 : _a.proxyExcludeTyps) === null || _b === void 0 ? void 0 : _b.filter(function (it) { return target instanceof it; })) !== null && _c !== void 0 ? _c : [];
|
39
36
|
if (filter.length === 0) {
|
40
37
|
var proxyAfter = _this.proxy(objProxy, target, it);
|
@@ -51,8 +48,8 @@ var DomRenderProxy = (function () {
|
|
51
48
|
var _this = this;
|
52
49
|
var _a, _b;
|
53
50
|
this._targets.add(target);
|
54
|
-
var rawSets =
|
55
|
-
|
51
|
+
var rawSets = RawSet.checkPointCreates(target, this.config);
|
52
|
+
eventManager.applyEvent(this._domRender_proxy, eventManager.findAttrElements(target, this.config), this.config);
|
56
53
|
rawSets.forEach(function (it) {
|
57
54
|
var strings = it.getUsingTriggerVariables(_this.config);
|
58
55
|
if (strings.size <= 0) {
|
@@ -77,6 +74,7 @@ var DomRenderProxy = (function () {
|
|
77
74
|
DomRenderProxy.prototype.render = function (raws) {
|
78
75
|
var _this = this;
|
79
76
|
(raws !== null && raws !== void 0 ? raws : this.getRawSets()).forEach(function (it) {
|
77
|
+
it.getUsingTriggerVariables(_this.config).forEach(function (path) { return _this.addRawSet(path, it); });
|
80
78
|
if (it.point.start.isConnected && it.point.start.isConnected) {
|
81
79
|
var rawSets = it.render(_this._domRender_proxy, _this.config);
|
82
80
|
_this.render(rawSets);
|
@@ -104,7 +102,7 @@ var DomRenderProxy = (function () {
|
|
104
102
|
var iterable = this._rawSets.get(fullPathStr_1);
|
105
103
|
var front = strings.slice(0, strings.length - 1).join('.');
|
106
104
|
var last = strings[strings.length - 1];
|
107
|
-
if (!isNaN(Number(last)) && Array.isArray(
|
105
|
+
if (!isNaN(Number(last)) && Array.isArray(ScriptUtils.evalReturn('this.' + front, this._domRender_proxy))) {
|
108
106
|
var aIterable = this._rawSets.get(front);
|
109
107
|
if (aIterable) {
|
110
108
|
this.render(Array.from(aIterable));
|
@@ -115,8 +113,8 @@ var DomRenderProxy = (function () {
|
|
115
113
|
}
|
116
114
|
this._targets.forEach(function (it) {
|
117
115
|
if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {
|
118
|
-
var targets =
|
119
|
-
|
116
|
+
var targets = eventManager.findAttrElements(it, _this.config);
|
117
|
+
eventManager.changeVar(_this._domRender_proxy, targets, "this." + fullPathStr_1);
|
120
118
|
}
|
121
119
|
});
|
122
120
|
}
|
@@ -157,14 +155,14 @@ var DomRenderProxy = (function () {
|
|
157
155
|
DomRenderProxy.prototype.proxy = function (parentProxy, obj, p) {
|
158
156
|
var _a, _b, _c;
|
159
157
|
var proxyTarget = ((_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.proxyExcludeTyps) === null || _b === void 0 ? void 0 : _b.filter(function (it) { return obj instanceof it; })) !== null && _c !== void 0 ? _c : []).length <= 0;
|
160
|
-
if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && !('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof
|
158
|
+
if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && !('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {
|
161
159
|
var domRender = new DomRenderProxy(obj, undefined, this.config);
|
162
160
|
domRender.addRef(parentProxy, p);
|
163
161
|
var proxy = new Proxy(obj, domRender);
|
164
162
|
domRender.run(proxy);
|
165
163
|
return proxy;
|
166
164
|
}
|
167
|
-
if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && ('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof
|
165
|
+
if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && ('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {
|
168
166
|
var d = obj._DomRender_proxy;
|
169
167
|
d.addRef(this._domRender_proxy, p);
|
170
168
|
return obj;
|
@@ -214,4 +212,4 @@ var DomRenderProxy = (function () {
|
|
214
212
|
};
|
215
213
|
return DomRenderProxy;
|
216
214
|
}());
|
217
|
-
|
215
|
+
export { DomRenderProxy };
|
package/RawSet.js
CHANGED
@@ -1,10 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
var StringUtils_1 = require("./utils/string/StringUtils");
|
6
|
-
var ScriptUtils_1 = require("./utils/script/ScriptUtils");
|
7
|
-
var EventManager_1 = require("./events/EventManager");
|
1
|
+
import { RandomUtils } from './utils/random/RandomUtils';
|
2
|
+
import { StringUtils } from './utils/string/StringUtils';
|
3
|
+
import { ScriptUtils } from './utils/script/ScriptUtils';
|
4
|
+
import { eventManager } from './events/EventManager';
|
8
5
|
var RawSet = (function () {
|
9
6
|
function RawSet(uuid, point, fragment, data) {
|
10
7
|
if (data === void 0) { data = {}; }
|
@@ -36,7 +33,7 @@ var RawSet = (function () {
|
|
36
33
|
if (script) {
|
37
34
|
script = script.replace(RegExp(RawSet.SCRIPTS_VARNAME.replace('$', '\\$'), 'g'), "this?.___" + RawSet.SCRIPTS_VARNAME);
|
38
35
|
script = script.replace(RegExp(RawSet.RAWSET_VARNAME.replace('$', '\\$'), 'g'), "this?.___" + RawSet.RAWSET_VARNAME);
|
39
|
-
Array.from(
|
36
|
+
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); });
|
40
37
|
}
|
41
38
|
});
|
42
39
|
return usingTriggerVariables;
|
@@ -52,7 +49,7 @@ var RawSet = (function () {
|
|
52
49
|
var fag = document.createDocumentFragment();
|
53
50
|
if (cNode.nodeType === Node.TEXT_NODE) {
|
54
51
|
var textContent = cNode.textContent;
|
55
|
-
var n = document.createTextNode(
|
52
|
+
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 ", Object.assign(obj, {
|
56
53
|
__render: Object.freeze({
|
57
54
|
rawset: _this,
|
58
55
|
scripts: _this.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
|
@@ -78,7 +75,7 @@ var RawSet = (function () {
|
|
78
75
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
79
76
|
var vars = RawSet.drVarEncoding(element_2, (_b = drAttr.drVarOption) !== null && _b !== void 0 ? _b : '');
|
80
77
|
var newTemp = document.createElement('temp');
|
81
|
-
|
78
|
+
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, {
|
82
79
|
__render: Object.freeze({
|
83
80
|
fag: newTemp,
|
84
81
|
drStripOption: drAttr.drStripOption,
|
@@ -100,7 +97,7 @@ var RawSet = (function () {
|
|
100
97
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
101
98
|
var vars = RawSet.drVarEncoding(element_2, (_d = drAttr.drVarOption) !== null && _d !== void 0 ? _d : '');
|
102
99
|
var newTemp = document.createElement('temp');
|
103
|
-
|
100
|
+
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, {
|
104
101
|
__render: Object.freeze({
|
105
102
|
fag: newTemp,
|
106
103
|
drStripOption: drAttr.drStripOption,
|
@@ -119,7 +116,7 @@ var RawSet = (function () {
|
|
119
116
|
raws.push.apply(raws, rr);
|
120
117
|
}
|
121
118
|
if (drAttr.drThis) {
|
122
|
-
var r =
|
119
|
+
var r = ScriptUtils.evalReturn(drAttr.drThis, obj);
|
123
120
|
if (r) {
|
124
121
|
fag.append(RawSet.drThisCreate(element_2, drAttr.drThis, (_f = drAttr.drVarOption) !== null && _f !== void 0 ? _f : '', drAttr.drStripOption, obj));
|
125
122
|
var rr = RawSet.checkPointCreates(fag, config);
|
@@ -131,9 +128,9 @@ var RawSet = (function () {
|
|
131
128
|
}
|
132
129
|
}
|
133
130
|
if (drAttr.drInnerText) {
|
134
|
-
var data =
|
131
|
+
var data = ScriptUtils.evalReturn(drAttr.drInnerText, obj);
|
135
132
|
var newTemp = document.createElement('temp');
|
136
|
-
|
133
|
+
ScriptUtils.eval("\n const n = this.__element.cloneNode(true);\n n.innerText = this.__data;\n if (this.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }\n ", Object.assign({
|
137
134
|
__fag: newTemp,
|
138
135
|
__drStripOption: drAttr.drStripOption,
|
139
136
|
__data: data,
|
@@ -147,9 +144,9 @@ var RawSet = (function () {
|
|
147
144
|
raws.push.apply(raws, rr);
|
148
145
|
}
|
149
146
|
if (drAttr.drInnerHTML) {
|
150
|
-
var data =
|
147
|
+
var data = ScriptUtils.evalReturn(drAttr.drInnerHTML, obj);
|
151
148
|
var newTemp = document.createElement('temp');
|
152
|
-
|
149
|
+
ScriptUtils.eval("\n const n = this.__element.cloneNode(true);\n n.innerHTML = this.__data;\n if (this.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }\n ", Object.assign({
|
153
150
|
__fag: newTemp,
|
154
151
|
__drStripOption: drAttr.drStripOption,
|
155
152
|
__data: data,
|
@@ -166,7 +163,7 @@ var RawSet = (function () {
|
|
166
163
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
167
164
|
var vars = RawSet.drVarEncoding(element_2, (_k = drAttr.drVarOption) !== null && _k !== void 0 ? _k : '');
|
168
165
|
var newTemp = document.createElement('temp');
|
169
|
-
|
166
|
+
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, {
|
170
167
|
__render: Object.freeze({
|
171
168
|
fag: newTemp,
|
172
169
|
drStripOption: drAttr.drStripOption,
|
@@ -187,7 +184,7 @@ var RawSet = (function () {
|
|
187
184
|
var itRandom = RawSet.drItOtherEncoding(element_2);
|
188
185
|
var vars = RawSet.drVarEncoding(element_2, (_m = drAttr.drVarOption) !== null && _m !== void 0 ? _m : '');
|
189
186
|
var newTemp = document.createElement('temp');
|
190
|
-
|
187
|
+
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, {
|
191
188
|
__render: Object.freeze({
|
192
189
|
drStripOption: drAttr.drStripOption,
|
193
190
|
fag: newTemp,
|
@@ -215,7 +212,7 @@ var RawSet = (function () {
|
|
215
212
|
(_a = element_2.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(fag, element_2);
|
216
213
|
var onInit = element_2.getAttribute('dr-on-init-component');
|
217
214
|
if (onInit) {
|
218
|
-
|
215
|
+
ScriptUtils.evalReturn(onInit, obj)(obj === null || obj === void 0 ? void 0 : obj.__componentInstances[_this.uuid], _this);
|
219
216
|
}
|
220
217
|
raws.push.apply(raws, rr);
|
221
218
|
onElementInitCallBack.push({
|
@@ -256,7 +253,7 @@ var RawSet = (function () {
|
|
256
253
|
};
|
257
254
|
RawSet.prototype.applyEvent = function (obj, fragment, config) {
|
258
255
|
if (fragment === void 0) { fragment = this.fragment; }
|
259
|
-
|
256
|
+
eventManager.applyEvent(obj, eventManager.findAttrElements(fragment, config), config);
|
260
257
|
};
|
261
258
|
RawSet.prototype.getAttributeAndDelete = function (element, attr) {
|
262
259
|
var data = element.getAttribute(attr);
|
@@ -274,7 +271,7 @@ var RawSet = (function () {
|
|
274
271
|
acceptNode: function (node) {
|
275
272
|
var _a, _b, _c, _d, _e;
|
276
273
|
if (node.nodeType === Node.TEXT_NODE) {
|
277
|
-
return /\$\{.*?\}/g.test(
|
274
|
+
return /\$\{.*?\}/g.test(StringUtils.deleteEnter((_a = node.data) !== null && _a !== void 0 ? _a : '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
|
278
275
|
}
|
279
276
|
else if (node.nodeType === Node.ELEMENT_NODE) {
|
280
277
|
var element_3 = node;
|
@@ -292,10 +289,10 @@ var RawSet = (function () {
|
|
292
289
|
if (currentNode.nodeType === Node.TEXT_NODE) {
|
293
290
|
var text = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';
|
294
291
|
var template_1 = document.createElement('template');
|
295
|
-
var a =
|
292
|
+
var a = StringUtils.regexExec(/\$\{.*?\}/g, text);
|
296
293
|
var map = a.map(function (it) {
|
297
294
|
return {
|
298
|
-
uuid:
|
295
|
+
uuid: RandomUtils.uuid(),
|
299
296
|
content: it[0],
|
300
297
|
regexArr: it
|
301
298
|
};
|
@@ -321,7 +318,7 @@ var RawSet = (function () {
|
|
321
318
|
(_b = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(template_1.content, currentNode);
|
322
319
|
}
|
323
320
|
else {
|
324
|
-
var uuid =
|
321
|
+
var uuid = RandomUtils.uuid();
|
325
322
|
var fragment = document.createDocumentFragment();
|
326
323
|
var start = document.createComment("start " + uuid);
|
327
324
|
var end = document.createComment("end " + uuid);
|
@@ -350,7 +347,7 @@ var RawSet = (function () {
|
|
350
347
|
}
|
351
348
|
};
|
352
349
|
RawSet.drItOtherEncoding = function (element) {
|
353
|
-
var random =
|
350
|
+
var random = RandomUtils.uuid();
|
354
351
|
var regex = /#it#/g;
|
355
352
|
element.querySelectorAll("[" + RawSet.DR_IT_OPTIONNAME + "], [" + RawSet.DR_FOR_OF_NAME + "]").forEach(function (it) {
|
356
353
|
it.innerHTML = it.innerHTML.replace(regex, random);
|
@@ -363,17 +360,17 @@ var RawSet = (function () {
|
|
363
360
|
});
|
364
361
|
};
|
365
362
|
RawSet.drThisEncoding = function (element, drThis) {
|
366
|
-
var thisRandom =
|
363
|
+
var thisRandom = RandomUtils.uuid();
|
367
364
|
element.querySelectorAll("[" + RawSet.DR_THIS_NAME + "]").forEach(function (it) {
|
368
365
|
var message = it.innerHTML;
|
369
|
-
|
366
|
+
StringUtils.regexExec(/([^(dr\-)])?this(?=.?)/g, message).reverse().forEach(function (it) {
|
370
367
|
var _a;
|
371
368
|
message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], "" + ((_a = it[1]) !== null && _a !== void 0 ? _a : '') + drThis);
|
372
369
|
});
|
373
370
|
it.innerHTML = message;
|
374
371
|
});
|
375
372
|
var message = element.innerHTML;
|
376
|
-
|
373
|
+
StringUtils.regexExec(/([^(dr\-)])?this(?=.?)/g, message).reverse().forEach(function (it) {
|
377
374
|
var _a;
|
378
375
|
message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], "" + ((_a = it[1]) !== null && _a !== void 0 ? _a : '') + drThis);
|
379
376
|
});
|
@@ -392,8 +389,8 @@ var RawSet = (function () {
|
|
392
389
|
return {
|
393
390
|
name: s[0],
|
394
391
|
value: s[1],
|
395
|
-
regex: RegExp('var\\.' + s[0] + '(?=.?)', 'g'),
|
396
|
-
random:
|
392
|
+
regex: RegExp('\\$var\\.' + s[0] + '(?=.?)', 'g'),
|
393
|
+
random: RandomUtils.uuid()
|
397
394
|
};
|
398
395
|
});
|
399
396
|
element.querySelectorAll("[" + RawSet.DR_VAR_OPTIONNAME + "]").forEach(function (it) {
|
@@ -456,4 +453,4 @@ var RawSet = (function () {
|
|
456
453
|
RawSet.RAWSET_VARNAME = '$rawset';
|
457
454
|
return RawSet;
|
458
455
|
}());
|
459
|
-
|
456
|
+
export { RawSet };
|
package/Shield.js
CHANGED
package/dist/Config.d.ts
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
import { ConstructorType } from './types/Types';
|
2
|
+
import { RawSet } from './RawSet';
|
3
|
+
export declare type TargetElement = {
|
4
|
+
name: string;
|
5
|
+
callBack: (target: Element, obj: any, rawSet: RawSet) => DocumentFragment;
|
6
|
+
complete?: (target: Element, obj: any, rawSet: RawSet) => void;
|
7
|
+
};
|
8
|
+
export declare type TargetAttr = {
|
9
|
+
name: string;
|
10
|
+
callBack: (target: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment;
|
11
|
+
complete?: (target: Element, attrValue: string, obj: any, rawSet: RawSet) => void;
|
12
|
+
};
|
13
|
+
export interface Config {
|
14
|
+
targetElements?: TargetElement[];
|
15
|
+
targetAttrs?: TargetAttr[];
|
16
|
+
onElementInit?: (name: string, obj: any, rawSet: RawSet) => void;
|
17
|
+
onAttrInit?: (name: string, attrValue: string, obj: any, rawSet: RawSet) => void;
|
18
|
+
proxyExcludeTyps?: ConstructorType<any>[];
|
19
|
+
scripts?: {
|
20
|
+
[n: string]: any;
|
21
|
+
};
|
22
|
+
applyEvents?: {
|
23
|
+
attrName: string;
|
24
|
+
callBack: (elements: Element, attrValue: string, obj: any) => void;
|
25
|
+
}[];
|
26
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { RawSet } from './RawSet';
|
2
|
+
import { Config } from './Config';
|
3
|
+
export declare class DomRenderProxy<T extends object> implements ProxyHandler<T> {
|
4
|
+
_domRender_origin: T;
|
5
|
+
private config?;
|
6
|
+
_domRender_ref: Map<object, Set<string>>;
|
7
|
+
_rawSets: Map<string, Set<RawSet>>;
|
8
|
+
_domRender_proxy?: T;
|
9
|
+
_targets: Set<Node>;
|
10
|
+
constructor(_domRender_origin: T, target?: Node, config?: Config | undefined);
|
11
|
+
static final<T = any>(obj: T): T;
|
12
|
+
static isFinal<T = any>(obj: T): boolean;
|
13
|
+
run(objProxy: T): void;
|
14
|
+
initRender(target: Node): void;
|
15
|
+
getRawSets(): RawSet[];
|
16
|
+
render(raws?: RawSet[]): void;
|
17
|
+
root(paths: string[], value: any): void;
|
18
|
+
set(target: T, p: string | symbol, value: any, receiver: T): boolean;
|
19
|
+
get(target: T, p: string | symbol, receiver: any): any;
|
20
|
+
has(target: T, p: string | symbol): boolean;
|
21
|
+
proxy(parentProxy: T, obj: T | any, p: string): any;
|
22
|
+
addRef(parent: object, path: string): void;
|
23
|
+
addRawSetAndRender(path: string, rawSet: RawSet): void;
|
24
|
+
addRawSet(path: string, rawSet: RawSet): void;
|
25
|
+
removeRawSet(raws: RawSet): void;
|
26
|
+
garbageRawSet(): void;
|
27
|
+
}
|
package/dist/RawSet.d.ts
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
import { Config } from './Config';
|
2
|
+
export declare class RawSet {
|
3
|
+
uuid: string;
|
4
|
+
point: {
|
5
|
+
start: Comment;
|
6
|
+
end: Comment;
|
7
|
+
};
|
8
|
+
fragment: DocumentFragment;
|
9
|
+
data: any;
|
10
|
+
static readonly DR = "dr";
|
11
|
+
static readonly DR_IF_NAME = "dr-if";
|
12
|
+
static readonly DR_FOR_OF_NAME = "dr-for-of";
|
13
|
+
static readonly DR_FOR_NAME = "dr-for";
|
14
|
+
static readonly DR_THIS_NAME = "dr-this";
|
15
|
+
static readonly DR_INNERHTML_NAME = "dr-inner-html";
|
16
|
+
static readonly DR_INNERTEXT_NAME = "dr-inner-text";
|
17
|
+
static readonly DR_TAGS: never[];
|
18
|
+
static readonly DR_IT_OPTIONNAME = "dr-it";
|
19
|
+
static readonly DR_VAR_OPTIONNAME = "dr-var";
|
20
|
+
static readonly DR_STRIP_OPTIONNAME = "dr-strip";
|
21
|
+
static readonly DR_ATTRIBUTES: string[];
|
22
|
+
static readonly SCRIPTS_VARNAME = "$scripts";
|
23
|
+
static readonly RAWSET_VARNAME = "$rawset";
|
24
|
+
constructor(uuid: string, point: {
|
25
|
+
start: Comment;
|
26
|
+
end: Comment;
|
27
|
+
}, fragment: DocumentFragment, data?: any);
|
28
|
+
get isConnected(): boolean;
|
29
|
+
getUsingTriggerVariables(config?: Config): Set<string>;
|
30
|
+
render(obj: any, config?: Config): RawSet[];
|
31
|
+
applyEvent(obj: any, fragment?: DocumentFragment, config?: Config): void;
|
32
|
+
getAttributeAndDelete(element: Element, attr: string): string | null;
|
33
|
+
replaceBody(genNode: Node): void;
|
34
|
+
static checkPointCreates(element: Node, config?: Config): RawSet[];
|
35
|
+
childAllRemove(): void;
|
36
|
+
static drItOtherEncoding(element: Element | DocumentFragment): string;
|
37
|
+
static drItOtherDecoding(element: Element | DocumentFragment, random: string): void;
|
38
|
+
static drThisEncoding(element: Element, drThis: string): string;
|
39
|
+
static drThisDecoding(element: Element, thisRandom: string): void;
|
40
|
+
static drVarEncoding(element: Element, drVarOption: string): {
|
41
|
+
name: string;
|
42
|
+
value: string;
|
43
|
+
regex: RegExp;
|
44
|
+
random: string;
|
45
|
+
}[];
|
46
|
+
static drVarDecoding(element: Element, vars: {
|
47
|
+
name: string;
|
48
|
+
value: string;
|
49
|
+
regex: RegExp;
|
50
|
+
random: string;
|
51
|
+
}[]): void;
|
52
|
+
static drThisCreate(element: Element, drThis: string, drVarOption: string, drStripOption: boolean, obj: any): DocumentFragment;
|
53
|
+
private setBindProperty;
|
54
|
+
}
|
55
|
+
export declare type Render = {
|
56
|
+
rawset: RawSet;
|
57
|
+
scripts: {
|
58
|
+
[n: string]: any;
|
59
|
+
};
|
60
|
+
[n: string]: any;
|
61
|
+
};
|
package/dist/Shield.d.ts
ADDED