dom-render 1.0.37 → 1.0.41
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.d.ts +1 -1
- package/DomRenderProxy.js +16 -17
- 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 -1085
- 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 +11 -10
- 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.d.ts
CHANGED
@@ -8,7 +8,7 @@ export declare class DomRenderProxy<T extends object> implements ProxyHandler<T>
|
|
8
8
|
_domRender_proxy?: T;
|
9
9
|
_targets: Set<Node>;
|
10
10
|
constructor(_domRender_origin: T, target?: Node, config?: Config | undefined);
|
11
|
-
static final<T = any>(obj: T):
|
11
|
+
static final<T = any>(obj: T): T;
|
12
12
|
static isFinal<T = any>(obj: T): boolean;
|
13
13
|
run(objProxy: T): void;
|
14
14
|
initRender(target: Node): void;
|
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) {
|
@@ -76,8 +73,8 @@ var DomRenderProxy = (function () {
|
|
76
73
|
};
|
77
74
|
DomRenderProxy.prototype.render = function (raws) {
|
78
75
|
var _this = this;
|
79
|
-
console.log('render-->raws', raws);
|
80
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); });
|
81
78
|
if (it.point.start.isConnected && it.point.start.isConnected) {
|
82
79
|
var rawSets = it.render(_this._domRender_proxy, _this.config);
|
83
80
|
_this.render(rawSets);
|
@@ -105,7 +102,7 @@ var DomRenderProxy = (function () {
|
|
105
102
|
var iterable = this._rawSets.get(fullPathStr_1);
|
106
103
|
var front = strings.slice(0, strings.length - 1).join('.');
|
107
104
|
var last = strings[strings.length - 1];
|
108
|
-
if (!isNaN(Number(last)) && Array.isArray(
|
105
|
+
if (!isNaN(Number(last)) && Array.isArray(ScriptUtils.evalReturn('this.' + front, this._domRender_proxy))) {
|
109
106
|
var aIterable = this._rawSets.get(front);
|
110
107
|
if (aIterable) {
|
111
108
|
this.render(Array.from(aIterable));
|
@@ -116,8 +113,8 @@ var DomRenderProxy = (function () {
|
|
116
113
|
}
|
117
114
|
this._targets.forEach(function (it) {
|
118
115
|
if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {
|
119
|
-
var targets =
|
120
|
-
|
116
|
+
var targets = eventManager.findAttrElements(it, _this.config);
|
117
|
+
eventManager.changeVar(_this._domRender_proxy, targets, "this." + fullPathStr_1);
|
121
118
|
}
|
122
119
|
});
|
123
120
|
}
|
@@ -156,14 +153,16 @@ var DomRenderProxy = (function () {
|
|
156
153
|
return p === '_DomRender_isProxy' || p in target;
|
157
154
|
};
|
158
155
|
DomRenderProxy.prototype.proxy = function (parentProxy, obj, p) {
|
159
|
-
|
156
|
+
var _a, _b, _c;
|
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;
|
158
|
+
if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && !('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {
|
160
159
|
var domRender = new DomRenderProxy(obj, undefined, this.config);
|
161
160
|
domRender.addRef(parentProxy, p);
|
162
161
|
var proxy = new Proxy(obj, domRender);
|
163
162
|
domRender.run(proxy);
|
164
163
|
return proxy;
|
165
164
|
}
|
166
|
-
if (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)) {
|
167
166
|
var d = obj._DomRender_proxy;
|
168
167
|
d.addRef(this._domRender_proxy, p);
|
169
168
|
return obj;
|
@@ -213,4 +212,4 @@ var DomRenderProxy = (function () {
|
|
213
212
|
};
|
214
213
|
return DomRenderProxy;
|
215
214
|
}());
|
216
|
-
|
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