dom-render 1.0.32 → 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 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;
@@ -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
- render(raws: RawSet[]): void;
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,15 +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
- _this.render(Array.from(v));
73
+ v.forEach(function (it) { return set.add(it); });
69
74
  });
70
- (_b = (_a = this._domRender_proxy) === null || _a === void 0 ? void 0 : _a.onInitRender) === null || _b === void 0 ? void 0 : _b.call(_a);
75
+ return Array.from(set);
71
76
  };
72
77
  DomRenderProxy.prototype.render = function (raws) {
73
78
  var _this = this;
74
- raws.forEach(function (it) {
75
- it.getUsingTriggerVariables(_this.config).forEach(function (path) { return _this.addRawSet(path, it); });
79
+ (raws !== null && raws !== void 0 ? raws : this.getRawSets()).forEach(function (it) {
76
80
  if (it.point.start.isConnected && it.point.start.isConnected) {
77
81
  var rawSets = it.render(_this._domRender_proxy, _this.config);
78
82
  _this.render(rawSets);
package/README.MD CHANGED
@@ -34,7 +34,13 @@ npm install dom-render
34
34
  #it# = ${var.superIt * #it#}
35
35
  </scope>
36
36
  </div>
37
-
37
+
38
+ <h2>df-inner-text</h2>
39
+ <div dr-strip="true" dr-inner-text="'<b>aa</b> <button dr-event-click=\'alert(1)\'>aa</button>'" > friend</div>
40
+
41
+ <h2>df-inner-html</h2>
42
+ <div dr-strip="true" dr-inner-html="'<b>aa</b> <button dr-event-click=\'alert(1)\'>aa</button>'" > friend</div>
43
+
38
44
  <h1>event</h1>
39
45
  <h2>dr-event, click, change, input, keyup, keydown</h2>
40
46
  <div>
@@ -42,7 +48,9 @@ npm install dom-render
42
48
  change: <input type="text" dr-event-change="this.name = $target.value"> <br>
43
49
  input: <input type="text" dr-event-input="this.name = $target.value"> <br>
44
50
  keyup: <input type="text" dr-event-keyup="this.name = $target.value"> <br>
45
- keydown: <input type="text" dr-event-keydown="this.name = $target.value">
51
+ keydown: <input type="text" dr-event-keydown="this.name = $target.value"><br>
52
+ submit: <form dr-event-submit="console.log($event); $event.preventDefault();"><input type="text"> <button type="submit">submit</button></form><br>
53
+ window-event-popstate: <input type="text" dr-window-event-popstate="alert(this.name)"><br>
46
54
  </div>
47
55
 
48
56
  <h2>dr-value, value-link</h2>
package/RawSet.d.ts CHANGED
@@ -12,11 +12,15 @@ export declare class RawSet {
12
12
  static readonly DR_FOR_OF_NAME = "dr-for-of";
13
13
  static readonly DR_FOR_NAME = "dr-for";
14
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";
15
17
  static readonly DR_TAGS: never[];
16
18
  static readonly DR_IT_OPTIONNAME = "dr-it";
17
19
  static readonly DR_VAR_OPTIONNAME = "dr-var";
18
20
  static readonly DR_STRIP_OPTIONNAME = "dr-strip";
19
21
  static readonly DR_ATTRIBUTES: string[];
22
+ static readonly SCRIPTS_VARNAME = "$scripts";
23
+ static readonly RAWSET_VARNAME = "$rawset";
20
24
  constructor(uuid: string, point: {
21
25
  start: Comment;
22
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
- ScriptUtils_1.ScriptUtils.getVariablePaths("`" + ((_a = cNode.textContent) !== null && _a !== void 0 ? _a : '') + "`").forEach(function (it) { return usingTriggerVariables.add(it); });
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
- ScriptUtils_1.ScriptUtils.getVariablePaths(targetAttrNames.map(function (it) { return (element_1.getAttribute(it)); }).filter(function (it) { return it; }).join(';')).forEach(function (it) { return usingTriggerVariables.add(it); });
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;
@@ -42,11 +48,11 @@ var RawSet = (function () {
42
48
  var onAttrInitCallBack = [];
43
49
  var onElementInitCallBack = [];
44
50
  genNode.childNodes.forEach(function (cNode, key) {
45
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
51
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
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 + "`", obj));
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) {
@@ -57,6 +63,8 @@ var RawSet = (function () {
57
63
  drFor: _this.getAttributeAndDelete(element_2, RawSet.DR_FOR_NAME),
58
64
  drForOf: _this.getAttributeAndDelete(element_2, RawSet.DR_FOR_OF_NAME),
59
65
  drThis: _this.getAttributeAndDelete(element_2, RawSet.DR_THIS_NAME),
66
+ drInnerHTML: _this.getAttributeAndDelete(element_2, RawSet.DR_INNERHTML_NAME),
67
+ drInnerText: _this.getAttributeAndDelete(element_2, RawSet.DR_INNERTEXT_NAME),
60
68
  drItOption: _this.getAttributeAndDelete(element_2, RawSet.DR_IT_OPTIONNAME),
61
69
  drVarOption: _this.getAttributeAndDelete(element_2, RawSet.DR_VAR_OPTIONNAME),
62
70
  drStripOption: _this.getAttributeAndDelete(element_2, RawSet.DR_STRIP_OPTIONNAME) === 'true'
@@ -65,9 +73,7 @@ var RawSet = (function () {
65
73
  var itRandom = RawSet.drItOtherEncoding(element_2);
66
74
  var vars = RawSet.drVarEncoding(element_2, (_b = drAttr.drVarOption) !== null && _b !== void 0 ? _b : '');
67
75
  var newTemp = document.createElement('temp');
68
- ScriptUtils_1.ScriptUtils.eval("\n const n = this.__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.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }", Object.assign({
69
- __fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
70
- }, 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 }) }));
71
77
  RawSet.drVarDecoding(newTemp, vars);
72
78
  RawSet.drItOtherDecoding(newTemp, itRandom);
73
79
  var tempalte = document.createElement('template');
@@ -81,9 +87,7 @@ var RawSet = (function () {
81
87
  var itRandom = RawSet.drItOtherEncoding(element_2);
82
88
  var vars = RawSet.drVarEncoding(element_2, (_d = drAttr.drVarOption) !== null && _d !== void 0 ? _d : '');
83
89
  var newTemp = document.createElement('temp');
84
- ScriptUtils_1.ScriptUtils.eval("\n if(" + drAttr.drIf + ") {\n const n = this.__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.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }\n }", Object.assign({
85
- __fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
86
- }, 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 }) }));
87
91
  RawSet.drVarDecoding(newTemp, vars);
88
92
  RawSet.drItOtherDecoding(newTemp, itRandom);
89
93
  var tempalte = document.createElement('template');
@@ -105,41 +109,61 @@ var RawSet = (function () {
105
109
  cNode.remove();
106
110
  }
107
111
  }
112
+ if (drAttr.drInnerText) {
113
+ var data = ScriptUtils_1.ScriptUtils.evalReturn(drAttr.drInnerText, obj);
114
+ var newTemp = document.createElement('temp');
115
+ ScriptUtils_1.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({
116
+ __fag: newTemp, __drStripOption: drAttr.drStripOption, __data: data, __element: element_2
117
+ }, obj));
118
+ var tempalte = document.createElement('template');
119
+ tempalte.innerHTML = newTemp.innerHTML;
120
+ fag.append(tempalte.content);
121
+ var rr = RawSet.checkPointCreates(fag, config);
122
+ (_h = element_2.parentNode) === null || _h === void 0 ? void 0 : _h.replaceChild(fag, element_2);
123
+ raws.push.apply(raws, rr);
124
+ }
125
+ if (drAttr.drInnerHTML) {
126
+ var data = ScriptUtils_1.ScriptUtils.evalReturn(drAttr.drInnerHTML, obj);
127
+ var newTemp = document.createElement('temp');
128
+ ScriptUtils_1.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({
129
+ __fag: newTemp, __drStripOption: drAttr.drStripOption, __data: data, __element: element_2
130
+ }, obj));
131
+ var tempalte = document.createElement('template');
132
+ tempalte.innerHTML = newTemp.innerHTML;
133
+ fag.append(tempalte.content);
134
+ var rr = RawSet.checkPointCreates(fag, config);
135
+ (_j = element_2.parentNode) === null || _j === void 0 ? void 0 : _j.replaceChild(fag, element_2);
136
+ raws.push.apply(raws, rr);
137
+ }
108
138
  if (drAttr.drFor) {
109
139
  var itRandom = RawSet.drItOtherEncoding(element_2);
110
- var vars = RawSet.drVarEncoding(element_2, (_h = drAttr.drVarOption) !== null && _h !== void 0 ? _h : '');
140
+ var vars = RawSet.drVarEncoding(element_2, (_k = drAttr.drVarOption) !== null && _k !== void 0 ? _k : '');
111
141
  var newTemp = document.createElement('temp');
112
- ScriptUtils_1.ScriptUtils.eval("\n for(" + drAttr.drFor + ") {\n const n = this.__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.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }\n }", Object.assign({
113
- __fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
114
- }, 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 }) }));
115
143
  RawSet.drVarDecoding(newTemp, vars);
116
144
  RawSet.drItOtherDecoding(newTemp, itRandom);
117
145
  var tempalte = document.createElement('template');
118
146
  tempalte.innerHTML = newTemp.innerHTML;
119
147
  fag.append(tempalte.content);
120
148
  var rr = RawSet.checkPointCreates(fag, config);
121
- (_j = element_2.parentNode) === null || _j === void 0 ? void 0 : _j.replaceChild(fag, element_2);
149
+ (_l = element_2.parentNode) === null || _l === void 0 ? void 0 : _l.replaceChild(fag, element_2);
122
150
  raws.push.apply(raws, rr);
123
151
  }
124
152
  if (drAttr.drForOf) {
125
153
  var itRandom = RawSet.drItOtherEncoding(element_2);
126
- var vars = RawSet.drVarEncoding(element_2, (_k = drAttr.drVarOption) !== null && _k !== void 0 ? _k : '');
154
+ var vars = RawSet.drVarEncoding(element_2, (_m = drAttr.drVarOption) !== null && _m !== void 0 ? _m : '');
127
155
  var newTemp = document.createElement('temp');
128
- ScriptUtils_1.ScriptUtils.eval("var i = 0; 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.__element.cloneNode(true);\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n \n if (this.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }\n i++;\n }", Object.assign({
129
- __drStripOption: drAttr.drStripOption,
130
- __fag: newTemp,
131
- __element: element_2
132
- }, 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 }) }));
133
157
  RawSet.drVarDecoding(newTemp, vars);
134
158
  RawSet.drItOtherDecoding(newTemp, itRandom);
135
159
  var tempalte = document.createElement('template');
136
160
  tempalte.innerHTML = newTemp.innerHTML;
137
161
  fag.append(tempalte.content);
138
162
  var rr = RawSet.checkPointCreates(fag, config);
139
- (_l = element_2.parentNode) === null || _l === void 0 ? void 0 : _l.replaceChild(fag, element_2);
163
+ (_o = element_2.parentNode) === null || _o === void 0 ? void 0 : _o.replaceChild(fag, element_2);
140
164
  raws.push.apply(raws, rr);
141
165
  }
142
- (_m = config === null || config === void 0 ? void 0 : config.targetElements) === null || _m === void 0 ? void 0 : _m.forEach(function (it) {
166
+ (_p = config === null || config === void 0 ? void 0 : config.targetElements) === null || _p === void 0 ? void 0 : _p.forEach(function (it) {
143
167
  var _a, _b;
144
168
  var name = it.name;
145
169
  if (name.toLowerCase() === element_2.tagName.toLowerCase()) {
@@ -158,7 +182,7 @@ var RawSet = (function () {
158
182
  }
159
183
  }
160
184
  });
161
- (_o = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _o === void 0 ? void 0 : _o.forEach(function (it) {
185
+ (_q = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _q === void 0 ? void 0 : _q.forEach(function (it) {
162
186
  var _a, _b;
163
187
  var attrName = it.name;
164
188
  var attrValue = _this.getAttributeAndDelete(element_2, attrName);
@@ -218,42 +242,25 @@ var RawSet = (function () {
218
242
  var currentNode;
219
243
  var _loop_1 = function () {
220
244
  if (currentNode.nodeType === Node.TEXT_NODE) {
221
- var text_1 = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';
245
+ var text = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';
222
246
  var template_1 = document.createElement('template');
223
- var a = StringUtils_1.StringUtils.regexExec(/\$\{.*?\}/g, text_1);
224
- var map = a.reverse().map(function (it) { return { uuid: '', content: '', regexArr: it }; });
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;
225
250
  map.forEach(function (it) {
226
- var uuid = RandomUtils_1.RandomUtils.uuid();
227
- it.uuid = uuid;
228
- it.content = it.regexArr[0];
229
- 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 + "-->");
230
- });
231
- template_1.innerHTML = text_1;
232
- map.forEach(function (it) {
233
- var _a, _b;
234
- var subNodeIterator = document.createNodeIterator(template_1.content, NodeFilter.SHOW_COMMENT, {
235
- acceptNode: function (node) {
236
- var text = node.textContent;
237
- return (text === "start text " + it.uuid || text === "end text " + it.uuid) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
238
- }
239
- });
240
- var start;
241
- var end;
242
- var subNode;
243
- while (subNode = subNodeIterator.nextNode()) {
244
- if (((_a = subNode.textContent) !== null && _a !== void 0 ? _a : '').startsWith('start')) {
245
- start = subNode;
246
- }
247
- if (((_b = subNode.textContent) !== null && _b !== void 0 ? _b : '').startsWith('end')) {
248
- end = subNode;
249
- }
250
- }
251
- if (start && end) {
252
- var fragment = document.createDocumentFragment();
253
- fragment.append(document.createTextNode(it.content));
254
- pars.push(new RawSet(it.uuid, { start: start, end: end }, fragment));
255
- }
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;
256
262
  });
263
+ template_1.content.append(document.createTextNode(text.substring(lasterIndex_1, text.length)));
257
264
  (_b = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(template_1.content, currentNode);
258
265
  }
259
266
  else {
@@ -366,11 +373,15 @@ var RawSet = (function () {
366
373
  RawSet.DR_FOR_OF_NAME = 'dr-for-of';
367
374
  RawSet.DR_FOR_NAME = 'dr-for';
368
375
  RawSet.DR_THIS_NAME = 'dr-this';
376
+ RawSet.DR_INNERHTML_NAME = 'dr-inner-html';
377
+ RawSet.DR_INNERTEXT_NAME = 'dr-inner-text';
369
378
  RawSet.DR_TAGS = [];
370
379
  RawSet.DR_IT_OPTIONNAME = 'dr-it';
371
380
  RawSet.DR_VAR_OPTIONNAME = 'dr-var';
372
381
  RawSet.DR_STRIP_OPTIONNAME = 'dr-strip';
373
- RawSet.DR_ATTRIBUTES = [RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_FOR_NAME, RawSet.DR_THIS_NAME, RawSet.DR];
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';
374
385
  return RawSet;
375
386
  }());
376
387
  exports.RawSet = RawSet;
@@ -165,9 +165,6 @@ var ScriptUtils = (function () {
165
165
  return usingVars;
166
166
  };
167
167
  ScriptUtils.evalReturn = function (script, thisTarget) {
168
- if (!script.startsWith('this.')) {
169
- script = 'this.' + script;
170
- }
171
168
  return this.eval('return ' + script + ';', thisTarget);
172
169
  };
173
170
  ScriptUtils.eval = function (script, thisTarget) {
@@ -206,7 +203,7 @@ var eventManager = new (function () {
206
203
  function class_1() {
207
204
  var _this = this;
208
205
  this.attrPrefix = 'dr-';
209
- this.eventNames = ['click', 'change', 'keyup', 'keydown', 'input'];
206
+ this.eventNames = ['click', 'change', 'keyup', 'keydown', 'input', 'submit'];
210
207
  this.attrNames = [
211
208
  this.attrPrefix + 'value',
212
209
  this.attrPrefix + 'value-link',
@@ -438,13 +435,19 @@ var RawSet = (function () {
438
435
  var usingTriggerVariables = new Set();
439
436
  this.fragment.childNodes.forEach(function (cNode, key) {
440
437
  var _a, _b, _c;
438
+ var script = '';
441
439
  if (cNode.nodeType === Node.TEXT_NODE) {
442
- ScriptUtils.getVariablePaths("`" + ((_a = cNode.textContent) !== null && _a !== void 0 ? _a : '') + "`").forEach(function (it) { return usingTriggerVariables.add(it); });
440
+ script = "`" + ((_a = cNode.textContent) !== null && _a !== void 0 ? _a : '') + "`";
443
441
  }
444
442
  else if (cNode.nodeType === Node.ELEMENT_NODE) {
445
443
  var element_1 = cNode;
446
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);
447
- ScriptUtils.getVariablePaths(targetAttrNames.map(function (it) { return (element_1.getAttribute(it)); }).filter(function (it) { return it; }).join(';')).forEach(function (it) { return usingTriggerVariables.add(it); });
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); });
448
451
  }
449
452
  });
450
453
  return usingTriggerVariables;
@@ -456,11 +459,11 @@ var RawSet = (function () {
456
459
  var onAttrInitCallBack = [];
457
460
  var onElementInitCallBack = [];
458
461
  genNode.childNodes.forEach(function (cNode, key) {
459
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
462
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
460
463
  var fag = document.createDocumentFragment();
461
464
  if (cNode.nodeType === Node.TEXT_NODE) {
462
465
  var textContent = cNode.textContent;
463
- var n = document.createTextNode(ScriptUtils.eval("return `" + textContent + "`", obj));
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));
464
467
  (_a = cNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(n, cNode);
465
468
  }
466
469
  else if (cNode.nodeType === Node.ELEMENT_NODE) {
@@ -471,6 +474,8 @@ var RawSet = (function () {
471
474
  drFor: _this.getAttributeAndDelete(element_2, RawSet.DR_FOR_NAME),
472
475
  drForOf: _this.getAttributeAndDelete(element_2, RawSet.DR_FOR_OF_NAME),
473
476
  drThis: _this.getAttributeAndDelete(element_2, RawSet.DR_THIS_NAME),
477
+ drInnerHTML: _this.getAttributeAndDelete(element_2, RawSet.DR_INNERHTML_NAME),
478
+ drInnerText: _this.getAttributeAndDelete(element_2, RawSet.DR_INNERTEXT_NAME),
474
479
  drItOption: _this.getAttributeAndDelete(element_2, RawSet.DR_IT_OPTIONNAME),
475
480
  drVarOption: _this.getAttributeAndDelete(element_2, RawSet.DR_VAR_OPTIONNAME),
476
481
  drStripOption: _this.getAttributeAndDelete(element_2, RawSet.DR_STRIP_OPTIONNAME) === 'true'
@@ -479,9 +484,7 @@ var RawSet = (function () {
479
484
  var itRandom = RawSet.drItOtherEncoding(element_2);
480
485
  var vars = RawSet.drVarEncoding(element_2, (_b = drAttr.drVarOption) !== null && _b !== void 0 ? _b : '');
481
486
  var newTemp = document.createElement('temp');
482
- ScriptUtils.eval("\n const n = this.__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.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }", Object.assign({
483
- __fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
484
- }, 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 }) }));
485
488
  RawSet.drVarDecoding(newTemp, vars);
486
489
  RawSet.drItOtherDecoding(newTemp, itRandom);
487
490
  var tempalte = document.createElement('template');
@@ -495,9 +498,7 @@ var RawSet = (function () {
495
498
  var itRandom = RawSet.drItOtherEncoding(element_2);
496
499
  var vars = RawSet.drVarEncoding(element_2, (_d = drAttr.drVarOption) !== null && _d !== void 0 ? _d : '');
497
500
  var newTemp = document.createElement('temp');
498
- ScriptUtils.eval("\n if(" + drAttr.drIf + ") {\n const n = this.__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.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }\n }", Object.assign({
499
- __fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
500
- }, 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 }) }));
501
502
  RawSet.drVarDecoding(newTemp, vars);
502
503
  RawSet.drItOtherDecoding(newTemp, itRandom);
503
504
  var tempalte = document.createElement('template');
@@ -519,41 +520,61 @@ var RawSet = (function () {
519
520
  cNode.remove();
520
521
  }
521
522
  }
523
+ if (drAttr.drInnerText) {
524
+ var data = ScriptUtils.evalReturn(drAttr.drInnerText, obj);
525
+ var newTemp = document.createElement('temp');
526
+ 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({
527
+ __fag: newTemp, __drStripOption: drAttr.drStripOption, __data: data, __element: element_2
528
+ }, obj));
529
+ var tempalte = document.createElement('template');
530
+ tempalte.innerHTML = newTemp.innerHTML;
531
+ fag.append(tempalte.content);
532
+ var rr = RawSet.checkPointCreates(fag, config);
533
+ (_h = element_2.parentNode) === null || _h === void 0 ? void 0 : _h.replaceChild(fag, element_2);
534
+ raws.push.apply(raws, rr);
535
+ }
536
+ if (drAttr.drInnerHTML) {
537
+ var data = ScriptUtils.evalReturn(drAttr.drInnerHTML, obj);
538
+ var newTemp = document.createElement('temp');
539
+ 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({
540
+ __fag: newTemp, __drStripOption: drAttr.drStripOption, __data: data, __element: element_2
541
+ }, obj));
542
+ var tempalte = document.createElement('template');
543
+ tempalte.innerHTML = newTemp.innerHTML;
544
+ fag.append(tempalte.content);
545
+ var rr = RawSet.checkPointCreates(fag, config);
546
+ (_j = element_2.parentNode) === null || _j === void 0 ? void 0 : _j.replaceChild(fag, element_2);
547
+ raws.push.apply(raws, rr);
548
+ }
522
549
  if (drAttr.drFor) {
523
550
  var itRandom = RawSet.drItOtherEncoding(element_2);
524
- var vars = RawSet.drVarEncoding(element_2, (_h = drAttr.drVarOption) !== null && _h !== void 0 ? _h : '');
551
+ var vars = RawSet.drVarEncoding(element_2, (_k = drAttr.drVarOption) !== null && _k !== void 0 ? _k : '');
525
552
  var newTemp = document.createElement('temp');
526
- ScriptUtils.eval("\n for(" + drAttr.drFor + ") {\n const n = this.__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.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }\n }", Object.assign({
527
- __fag: newTemp, __drStripOption: drAttr.drStripOption, __element: element_2
528
- }, 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 }) }));
529
554
  RawSet.drVarDecoding(newTemp, vars);
530
555
  RawSet.drItOtherDecoding(newTemp, itRandom);
531
556
  var tempalte = document.createElement('template');
532
557
  tempalte.innerHTML = newTemp.innerHTML;
533
558
  fag.append(tempalte.content);
534
559
  var rr = RawSet.checkPointCreates(fag, config);
535
- (_j = element_2.parentNode) === null || _j === void 0 ? void 0 : _j.replaceChild(fag, element_2);
560
+ (_l = element_2.parentNode) === null || _l === void 0 ? void 0 : _l.replaceChild(fag, element_2);
536
561
  raws.push.apply(raws, rr);
537
562
  }
538
563
  if (drAttr.drForOf) {
539
564
  var itRandom = RawSet.drItOtherEncoding(element_2);
540
- var vars = RawSet.drVarEncoding(element_2, (_k = drAttr.drVarOption) !== null && _k !== void 0 ? _k : '');
565
+ var vars = RawSet.drVarEncoding(element_2, (_m = drAttr.drVarOption) !== null && _m !== void 0 ? _m : '');
541
566
  var newTemp = document.createElement('temp');
542
- ScriptUtils.eval("var i = 0; 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.__element.cloneNode(true);\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n \n if (this.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }\n i++;\n }", Object.assign({
543
- __drStripOption: drAttr.drStripOption,
544
- __fag: newTemp,
545
- __element: element_2
546
- }, 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 }) }));
547
568
  RawSet.drVarDecoding(newTemp, vars);
548
569
  RawSet.drItOtherDecoding(newTemp, itRandom);
549
570
  var tempalte = document.createElement('template');
550
571
  tempalte.innerHTML = newTemp.innerHTML;
551
572
  fag.append(tempalte.content);
552
573
  var rr = RawSet.checkPointCreates(fag, config);
553
- (_l = element_2.parentNode) === null || _l === void 0 ? void 0 : _l.replaceChild(fag, element_2);
574
+ (_o = element_2.parentNode) === null || _o === void 0 ? void 0 : _o.replaceChild(fag, element_2);
554
575
  raws.push.apply(raws, rr);
555
576
  }
556
- (_m = config === null || config === void 0 ? void 0 : config.targetElements) === null || _m === void 0 ? void 0 : _m.forEach(function (it) {
577
+ (_p = config === null || config === void 0 ? void 0 : config.targetElements) === null || _p === void 0 ? void 0 : _p.forEach(function (it) {
557
578
  var _a, _b;
558
579
  var name = it.name;
559
580
  if (name.toLowerCase() === element_2.tagName.toLowerCase()) {
@@ -572,7 +593,7 @@ var RawSet = (function () {
572
593
  }
573
594
  }
574
595
  });
575
- (_o = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _o === void 0 ? void 0 : _o.forEach(function (it) {
596
+ (_q = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _q === void 0 ? void 0 : _q.forEach(function (it) {
576
597
  var _a, _b;
577
598
  var attrName = it.name;
578
599
  var attrValue = _this.getAttributeAndDelete(element_2, attrName);
@@ -632,42 +653,25 @@ var RawSet = (function () {
632
653
  var currentNode;
633
654
  var _loop_1 = function () {
634
655
  if (currentNode.nodeType === Node.TEXT_NODE) {
635
- var text_1 = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';
656
+ var text = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';
636
657
  var template_1 = document.createElement('template');
637
- var a = StringUtils.regexExec(/\$\{.*?\}/g, text_1);
638
- var map = a.reverse().map(function (it) { return { uuid: '', content: '', regexArr: it }; });
639
- map.forEach(function (it) {
640
- var uuid = RandomUtils.uuid();
641
- it.uuid = uuid;
642
- it.content = it.regexArr[0];
643
- 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 + "-->");
644
- });
645
- 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;
646
661
  map.forEach(function (it) {
647
- var _a, _b;
648
- var subNodeIterator = document.createNodeIterator(template_1.content, NodeFilter.SHOW_COMMENT, {
649
- acceptNode: function (node) {
650
- var text = node.textContent;
651
- return (text === "start text " + it.uuid || text === "end text " + it.uuid) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
652
- }
653
- });
654
- var start;
655
- var end;
656
- var subNode;
657
- while (subNode = subNodeIterator.nextNode()) {
658
- if (((_a = subNode.textContent) !== null && _a !== void 0 ? _a : '').startsWith('start')) {
659
- start = subNode;
660
- }
661
- if (((_b = subNode.textContent) !== null && _b !== void 0 ? _b : '').startsWith('end')) {
662
- end = subNode;
663
- }
664
- }
665
- if (start && end) {
666
- var fragment = document.createDocumentFragment();
667
- fragment.append(document.createTextNode(it.content));
668
- pars.push(new RawSet(it.uuid, { start: start, end: end }, fragment));
669
- }
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;
670
673
  });
674
+ template_1.content.append(document.createTextNode(text.substring(lasterIndex_1, text.length)));
671
675
  (_b = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(template_1.content, currentNode);
672
676
  }
673
677
  else {
@@ -780,11 +784,15 @@ var RawSet = (function () {
780
784
  RawSet.DR_FOR_OF_NAME = 'dr-for-of';
781
785
  RawSet.DR_FOR_NAME = 'dr-for';
782
786
  RawSet.DR_THIS_NAME = 'dr-this';
787
+ RawSet.DR_INNERHTML_NAME = 'dr-inner-html';
788
+ RawSet.DR_INNERTEXT_NAME = 'dr-inner-text';
783
789
  RawSet.DR_TAGS = [];
784
790
  RawSet.DR_IT_OPTIONNAME = 'dr-it';
785
791
  RawSet.DR_VAR_OPTIONNAME = 'dr-var';
786
792
  RawSet.DR_STRIP_OPTIONNAME = 'dr-strip';
787
- RawSet.DR_ATTRIBUTES = [RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_FOR_NAME, RawSet.DR_THIS_NAME, RawSet.DR];
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';
788
796
  return RawSet;
789
797
  }());
790
798
 
@@ -853,15 +861,19 @@ var DomRenderProxy = (function () {
853
861
  });
854
862
  }
855
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();
856
869
  this._rawSets.forEach(function (v, k) {
857
- _this.render(Array.from(v));
870
+ v.forEach(function (it) { return set.add(it); });
858
871
  });
859
- (_b = (_a = this._domRender_proxy) === null || _a === void 0 ? void 0 : _a.onInitRender) === null || _b === void 0 ? void 0 : _b.call(_a);
872
+ return Array.from(set);
860
873
  };
861
874
  DomRenderProxy.prototype.render = function (raws) {
862
875
  var _this = this;
863
- raws.forEach(function (it) {
864
- it.getUsingTriggerVariables(_this.config).forEach(function (path) { return _this.addRawSet(path, it); });
876
+ (raws !== null && raws !== void 0 ? raws : this.getRawSets()).forEach(function (it) {
865
877
  if (it.point.start.isConnected && it.point.start.isConnected) {
866
878
  var rawSets = it.render(_this._domRender_proxy, _this.config);
867
879
  _this.render(rawSets);
@@ -6,7 +6,7 @@ exports.eventManager = new (function () {
6
6
  function class_1() {
7
7
  var _this = this;
8
8
  this.attrPrefix = 'dr-';
9
- this.eventNames = ['click', 'change', 'keyup', 'keydown', 'input'];
9
+ this.eventNames = ['click', 'change', 'keyup', 'keydown', 'input', 'submit'];
10
10
  this.attrNames = [
11
11
  this.attrPrefix + 'value',
12
12
  this.attrPrefix + 'value-link',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dom-render",
3
- "version": "1.0.32",
3
+ "version": "1.0.36",
4
4
  "main": "DomRender.js",
5
5
  "license": "MIT",
6
6
  "description": "dom-render",
@@ -36,9 +36,6 @@ var ScriptUtils = (function () {
36
36
  return usingVars;
37
37
  };
38
38
  ScriptUtils.evalReturn = function (script, thisTarget) {
39
- if (!script.startsWith('this.')) {
40
- script = 'this.' + script;
41
- }
42
39
  return this.eval('return ' + script + ';', thisTarget);
43
40
  };
44
41
  ScriptUtils.eval = function (script, thisTarget) {