dom-render 1.0.90 → 1.0.92

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. package/DomRender.js +5 -1
  2. package/DomRenderProxy.d.ts +1 -1
  3. package/DomRenderProxy.js +121 -63
  4. package/README.MD +15 -3
  5. package/components/ComponentSet.d.ts +5 -2
  6. package/components/ComponentSet.js +2 -3
  7. package/configs/Config.d.ts +5 -0
  8. package/configs/TargetElement.d.ts +1 -1
  9. package/dist/bundle.js +1337 -968
  10. package/events/EventManager.js +1 -0
  11. package/operators/Dr.d.ts +7 -3
  12. package/operators/Dr.js +64 -25
  13. package/operators/DrAppender.d.ts +7 -3
  14. package/operators/DrAppender.js +70 -28
  15. package/operators/DrFor.d.ts +7 -3
  16. package/operators/DrFor.js +67 -25
  17. package/operators/DrForOf.d.ts +7 -3
  18. package/operators/DrForOf.js +70 -28
  19. package/operators/DrForm.d.ts +7 -3
  20. package/operators/DrForm.js +93 -55
  21. package/operators/DrIf.d.ts +7 -3
  22. package/operators/DrIf.js +71 -35
  23. package/operators/DrInnerHTML.d.ts +7 -3
  24. package/operators/DrInnerHTML.js +62 -23
  25. package/operators/DrInnerText.d.ts +7 -3
  26. package/operators/DrInnerText.js +60 -21
  27. package/operators/DrPre.d.ts +6 -3
  28. package/operators/DrPre.js +49 -6
  29. package/operators/DrRepeat.d.ts +7 -3
  30. package/operators/DrRepeat.js +67 -25
  31. package/operators/DrTargetAttr.d.ts +6 -3
  32. package/operators/DrTargetAttr.js +72 -29
  33. package/operators/DrTargetElement.d.ts +6 -3
  34. package/operators/DrTargetElement.js +86 -64
  35. package/operators/DrThis.d.ts +4 -3
  36. package/operators/DrThis.js +77 -33
  37. package/operators/OperatorExecuter.d.ts +49 -0
  38. package/operators/OperatorExecuter.js +89 -0
  39. package/operators/OperatorExecuterAttrRequire.d.ts +8 -0
  40. package/operators/OperatorExecuterAttrRequire.js +79 -0
  41. package/package.json +1 -1
  42. package/rawsets/RawSet.d.ts +4 -4
  43. package/rawsets/RawSet.js +460 -317
  44. package/routers/HashRouter.js +1 -1
  45. package/routers/PathRouter.js +1 -1
  46. package/routers/Router.d.ts +3 -0
  47. package/routers/Router.js +10 -0
  48. package/operators/OperatorRender.d.ts +0 -45
  49. package/operators/OperatorRender.js +0 -21
package/dist/bundle.js CHANGED
@@ -53,6 +53,145 @@ var __assign = function () {
53
53
 
54
54
  return __assign.apply(this, arguments);
55
55
  };
56
+ function __awaiter(thisArg, _arguments, P, generator) {
57
+ function adopt(value) {
58
+ return value instanceof P ? value : new P(function (resolve) {
59
+ resolve(value);
60
+ });
61
+ }
62
+
63
+ return new (P || (P = Promise))(function (resolve, reject) {
64
+ function fulfilled(value) {
65
+ try {
66
+ step(generator.next(value));
67
+ } catch (e) {
68
+ reject(e);
69
+ }
70
+ }
71
+
72
+ function rejected(value) {
73
+ try {
74
+ step(generator["throw"](value));
75
+ } catch (e) {
76
+ reject(e);
77
+ }
78
+ }
79
+
80
+ function step(result) {
81
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
82
+ }
83
+
84
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
85
+ });
86
+ }
87
+ function __generator(thisArg, body) {
88
+ var _ = {
89
+ label: 0,
90
+ sent: function () {
91
+ if (t[0] & 1) throw t[1];
92
+ return t[1];
93
+ },
94
+ trys: [],
95
+ ops: []
96
+ },
97
+ f,
98
+ y,
99
+ t,
100
+ g;
101
+ return g = {
102
+ next: verb(0),
103
+ "throw": verb(1),
104
+ "return": verb(2)
105
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
106
+ return this;
107
+ }), g;
108
+
109
+ function verb(n) {
110
+ return function (v) {
111
+ return step([n, v]);
112
+ };
113
+ }
114
+
115
+ function step(op) {
116
+ if (f) throw new TypeError("Generator is already executing.");
117
+
118
+ while (_) try {
119
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
120
+ if (y = 0, t) op = [op[0] & 2, t.value];
121
+
122
+ switch (op[0]) {
123
+ case 0:
124
+ case 1:
125
+ t = op;
126
+ break;
127
+
128
+ case 4:
129
+ _.label++;
130
+ return {
131
+ value: op[1],
132
+ done: false
133
+ };
134
+
135
+ case 5:
136
+ _.label++;
137
+ y = op[1];
138
+ op = [0];
139
+ continue;
140
+
141
+ case 7:
142
+ op = _.ops.pop();
143
+
144
+ _.trys.pop();
145
+
146
+ continue;
147
+
148
+ default:
149
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
150
+ _ = 0;
151
+ continue;
152
+ }
153
+
154
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
155
+ _.label = op[1];
156
+ break;
157
+ }
158
+
159
+ if (op[0] === 6 && _.label < t[1]) {
160
+ _.label = t[1];
161
+ t = op;
162
+ break;
163
+ }
164
+
165
+ if (t && _.label < t[2]) {
166
+ _.label = t[2];
167
+
168
+ _.ops.push(op);
169
+
170
+ break;
171
+ }
172
+
173
+ if (t[2]) _.ops.pop();
174
+
175
+ _.trys.pop();
176
+
177
+ continue;
178
+ }
179
+
180
+ op = body.call(thisArg, _);
181
+ } catch (e) {
182
+ op = [6, e];
183
+ y = 0;
184
+ } finally {
185
+ f = t = 0;
186
+ }
187
+
188
+ if (op[0] & 5) throw op[1];
189
+ return {
190
+ value: op[0] ? op[1] : void 0,
191
+ done: true
192
+ };
193
+ }
194
+ }
56
195
  function __spreadArray(to, from, pack) {
57
196
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
58
197
  if (ar || !(i in from)) {
@@ -814,6 +953,7 @@ var EventManager = /** @class */ (function () {
814
953
  // eslint-disable-next-line no-undef
815
954
  EventManager.prototype.addDrEvents = function (obj, eventName, elements, config) {
816
955
  var _this = this;
956
+ // console.log('-------?', config?.router)
817
957
  var attr = EventManager.attrPrefix + 'event-' + eventName;
818
958
  this.procAttr(elements, attr, function (it, attribute) {
819
959
  var script = attribute;
@@ -979,106 +1119,165 @@ exports.ExecuteState = void 0;
979
1119
  ExecuteState[ExecuteState["NO_EXECUTE"] = 1] = "NO_EXECUTE";
980
1120
  ExecuteState[ExecuteState["STOP"] = 2] = "STOP";
981
1121
  })(exports.ExecuteState || (exports.ExecuteState = {}));
982
- var OperatorRender = /** @class */ (function () {
983
- function OperatorRender(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1122
+ var OperatorExecuter = /** @class */ (function () {
1123
+ function OperatorExecuter(rawSet, render, returnContainer, elementSource, source, afterCallBack, startingExecute) {
1124
+ if (startingExecute === void 0) { startingExecute = true; }
984
1125
  this.rawSet = rawSet;
985
1126
  this.render = render;
986
1127
  this.returnContainer = returnContainer;
987
1128
  this.elementSource = elementSource;
988
1129
  this.source = source;
989
1130
  this.afterCallBack = afterCallBack;
1131
+ this.startingExecute = startingExecute;
990
1132
  }
991
- return OperatorRender;
1133
+ OperatorExecuter.prototype.start = function () {
1134
+ var _a, _b, _c, _d, _e, _f;
1135
+ return __awaiter(this, void 0, void 0, function () {
1136
+ var attrValue, r, state;
1137
+ return __generator(this, function (_g) {
1138
+ switch (_g.label) {
1139
+ case 0:
1140
+ attrValue = this.elementSource.attr;
1141
+ if ((_a = this.source.operatorAround) === null || _a === void 0 ? void 0 : _a.beforeAttr) {
1142
+ attrValue = (_b = this.source.operatorAround.beforeAttr(attrValue, this)) !== null && _b !== void 0 ? _b : '';
1143
+ }
1144
+ r = attrValue;
1145
+ if (r && this.startingExecute) {
1146
+ r = ScriptUtils.eval(" ".concat(this.render.bindScript, "; return ").concat(attrValue), Object.assign(this.source.obj, { __render: this.render }));
1147
+ }
1148
+ if ((_c = this.source.operatorAround) === null || _c === void 0 ? void 0 : _c.before) {
1149
+ r = (_d = this.source.operatorAround) === null || _d === void 0 ? void 0 : _d.before(r, this);
1150
+ }
1151
+ return [4 /*yield*/, this.execute(r)];
1152
+ case 1:
1153
+ state = _g.sent();
1154
+ (_f = (_e = this.source.operatorAround) === null || _e === void 0 ? void 0 : _e.after) === null || _f === void 0 ? void 0 : _f.call(_e, r, this);
1155
+ return [2 /*return*/, state];
1156
+ }
1157
+ });
1158
+ });
1159
+ };
1160
+ return OperatorExecuter;
992
1161
  }());
993
1162
 
994
1163
  var DrPre = /** @class */ (function (_super) {
995
1164
  __extends(DrPre, _super);
996
- function DrPre() {
997
- return _super !== null && _super.apply(this, arguments) || this;
1165
+ function DrPre(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1166
+ var _this = this;
1167
+ source.operatorAround = undefined;
1168
+ _this = _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack) || this;
1169
+ return _this;
998
1170
  }
999
- DrPre.prototype.execRender = function () {
1000
- return (this.elementSource.attrs.drPre != null) ? exports.ExecuteState.EXECUTE : exports.ExecuteState.NO_EXECUTE;
1171
+ DrPre.prototype.execute = function (value) {
1172
+ return __awaiter(this, void 0, void 0, function () {
1173
+ return __generator(this, function (_a) {
1174
+ return [2 /*return*/, (value != null) ? exports.ExecuteState.EXECUTE : exports.ExecuteState.NO_EXECUTE];
1175
+ });
1176
+ });
1001
1177
  };
1002
1178
  return DrPre;
1003
- }(OperatorRender));
1179
+ }(OperatorExecuter));
1180
+
1181
+ var OperatorExecuterAttrRequire = /** @class */ (function (_super) {
1182
+ __extends(OperatorExecuterAttrRequire, _super);
1183
+ function OperatorExecuterAttrRequire(rawSet, render, returnContainer, elementSource, source, afterCallBack, startingExecute) {
1184
+ if (startingExecute === void 0) { startingExecute = true; }
1185
+ return _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, startingExecute) || this;
1186
+ }
1187
+ OperatorExecuterAttrRequire.prototype.execute = function (data) {
1188
+ return __awaiter(this, void 0, void 0, function () {
1189
+ return __generator(this, function (_a) {
1190
+ switch (_a.label) {
1191
+ case 0:
1192
+ if (!this.elementSource.attr) {
1193
+ return [2 /*return*/, exports.ExecuteState.NO_EXECUTE];
1194
+ }
1195
+ return [4 /*yield*/, this.executeAttrRequire(data)];
1196
+ case 1: return [2 /*return*/, _a.sent()];
1197
+ }
1198
+ });
1199
+ });
1200
+ };
1201
+ return OperatorExecuterAttrRequire;
1202
+ }(OperatorExecuter));
1004
1203
 
1005
1204
  var Dr = /** @class */ (function (_super) {
1006
1205
  __extends(Dr, _super);
1007
- function Dr() {
1008
- return _super !== null && _super.apply(this, arguments) || this;
1206
+ function Dr(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1207
+ return _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack) || this;
1009
1208
  }
1010
- Dr.prototype.execRender = function () {
1011
- var _a;
1012
- var _b, _c;
1013
- if (this.elementSource.attrs.dr !== null && this.elementSource.attrs.dr.length >= 0) {
1014
- var itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1015
- var vars = RawSet.drVarEncoding(this.elementSource.element, (_b = this.elementSource.attrs.drVarOption) !== null && _b !== void 0 ? _b : '');
1016
- var newTemp = this.source.config.window.document.createElement('temp');
1017
- ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n const n = $element.cloneNode(true);\n var destIt = ").concat(this.elementSource.attrs.drItOption, ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n // console.log('----', n.innerHTML);\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n // console.log('----', n.innerHTML);\n }\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__render.fag.append(n);\n }"), Object.assign(this.source.obj, {
1018
- __render: Object.freeze(__assign({ fag: newTemp, drStripOption: this.elementSource.attrs.drStripOption }, this.render))
1019
- }));
1020
- RawSet.drVarDecoding(newTemp, vars);
1021
- RawSet.drItOtherDecoding(newTemp, itRandom);
1022
- var tempalte = this.source.config.window.document.createElement('template');
1023
- tempalte.innerHTML = newTemp.innerHTML;
1024
- this.returnContainer.fag.append(tempalte.content);
1025
- var rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1026
- (_c = this.elementSource.element.parentNode) === null || _c === void 0 ? void 0 : _c.replaceChild(this.returnContainer.fag, this.elementSource.element);
1027
- (_a = this.returnContainer.raws).push.apply(_a, rr);
1028
- return exports.ExecuteState.EXECUTE;
1029
- }
1030
- return exports.ExecuteState.NO_EXECUTE;
1209
+ Dr.prototype.executeAttrRequire = function (data) {
1210
+ var _a, _b;
1211
+ return __awaiter(this, void 0, void 0, function () {
1212
+ var itRandom, vars, newTemp, tempalte, rr;
1213
+ var _c;
1214
+ return __generator(this, function (_d) {
1215
+ itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1216
+ vars = RawSet.drVarEncoding(this.elementSource.element, (_a = this.elementSource.attrs.drVarOption) !== null && _a !== void 0 ? _a : '');
1217
+ newTemp = this.source.config.window.document.createElement('temp');
1218
+ ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n const n = $element.cloneNode(true);\n var destIt = ").concat(this.elementSource.attrs.drItOption, ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n // console.log('----', n.innerHTML);\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n // console.log('----', n.innerHTML);\n }\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__render.fag.append(n);\n }"), Object.assign(this.source.obj, {
1219
+ __render: Object.freeze(__assign({ fag: newTemp, drStripOption: this.elementSource.attrs.drStripOption }, this.render))
1220
+ }));
1221
+ RawSet.drVarDecoding(newTemp, vars);
1222
+ RawSet.drItOtherDecoding(newTemp, itRandom);
1223
+ tempalte = this.source.config.window.document.createElement('template');
1224
+ tempalte.innerHTML = newTemp.innerHTML;
1225
+ this.returnContainer.fag.append(tempalte.content);
1226
+ rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1227
+ (_b = this.elementSource.element.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(this.returnContainer.fag, this.elementSource.element);
1228
+ (_c = this.returnContainer.raws).push.apply(_c, rr);
1229
+ return [2 /*return*/, exports.ExecuteState.EXECUTE];
1230
+ });
1231
+ });
1031
1232
  };
1032
1233
  return Dr;
1033
- }(OperatorRender));
1234
+ }(OperatorExecuterAttrRequire));
1034
1235
 
1035
1236
  var DrIf = /** @class */ (function (_super) {
1036
1237
  __extends(DrIf, _super);
1037
- function DrIf() {
1038
- return _super !== null && _super.apply(this, arguments) || this;
1238
+ function DrIf(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1239
+ var _this = this;
1240
+ source.operatorAround = undefined;
1241
+ _this = _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
1242
+ return _this;
1039
1243
  }
1040
- DrIf.prototype.execRender = function () {
1041
- var _a;
1042
- var _b, _c, _d, _e;
1043
- if (this.elementSource.attrs.drIf) {
1044
- var itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1045
- var vars = RawSet.drVarEncoding(this.elementSource.element, (_b = this.elementSource.attrs.drVarOption) !== null && _b !== void 0 ? _b : '');
1046
- var newTemp = this.source.config.window.document.createElement('temp');
1047
- // Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v)); <-- 이부분은 다른 attr에도 적용을 할지말지 생각해야됨 엘리먼트 존재유무에 따라서 적용을 할지말지 결정해야됨
1048
- var keepgoing = ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n ").concat((_c = this.elementSource.attrs.drBeforeOption) !== null && _c !== void 0 ? _c : '', "\n if ($rawset.data === (").concat(this.elementSource.attrs.drIf, ")) {\n return false;\n }\n $rawset.data = ").concat(this.elementSource.attrs.drIf, "\n if($rawset.data) {\n const n = $element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n var destIt = ").concat(this.elementSource.attrs.drItOption, ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }\n ").concat((_d = this.elementSource.attrs.drAfterOption) !== null && _d !== void 0 ? _d : '', ";\n return true;\n "), Object.assign(this.source.obj, {
1049
- __render: Object.freeze(__assign({ fag: newTemp, drAttr: this.elementSource.attrs, drAttrsOriginName: RawSet.drAttrsOriginName, drStripOption: this.elementSource.attrs.drStripOption }, this.render))
1050
- }));
1051
- // console.log('keepgoing', keepgoing);
1052
- if (keepgoing === false) {
1053
- return exports.ExecuteState.STOP;
1054
- }
1055
- RawSet.drVarDecoding(newTemp, vars);
1056
- RawSet.drItOtherDecoding(newTemp, itRandom);
1057
- // const bypass = (newTemp.innerHTML ?? '').trim().length <= 0;
1058
- var tempalte = this.source.config.window.document.createElement('template');
1059
- tempalte.innerHTML = newTemp.innerHTML;
1060
- // console.log(tempalte.innerHTML)
1061
- this.returnContainer.fag.append(tempalte.content);
1062
- var rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1063
- (_e = this.elementSource.element.parentNode) === null || _e === void 0 ? void 0 : _e.replaceChild(this.returnContainer.fag, this.elementSource.element);
1064
- (_a = this.returnContainer.raws).push.apply(_a, rr);
1065
- // if (bypass) {
1066
- // continue;
1067
- // }
1068
- return exports.ExecuteState.EXECUTE;
1069
- }
1070
- return exports.ExecuteState.NO_EXECUTE;
1244
+ DrIf.prototype.executeAttrRequire = function (attr) {
1245
+ var _a, _b, _c, _d;
1246
+ return __awaiter(this, void 0, void 0, function () {
1247
+ var itRandom, vars, newTemp, keepgoing, tempalte, rr;
1248
+ var _e;
1249
+ return __generator(this, function (_f) {
1250
+ itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1251
+ vars = RawSet.drVarEncoding(this.elementSource.element, (_a = this.elementSource.attrs.drVarOption) !== null && _a !== void 0 ? _a : '');
1252
+ newTemp = this.source.config.window.document.createElement('temp');
1253
+ keepgoing = ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n ").concat((_b = this.elementSource.attrs.drBeforeOption) !== null && _b !== void 0 ? _b : '', "\n if ($rawset.data === (").concat(attr, ")) {\n return false;\n }\n $rawset.data = ").concat(attr, ";\n if($rawset.data) {\n const n = $element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n var destIt = ").concat(this.elementSource.attrs.drItOption, ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }\n ").concat((_c = this.elementSource.attrs.drAfterOption) !== null && _c !== void 0 ? _c : '', ";\n return true;\n "), Object.assign(this.source.obj, {
1254
+ __render: Object.freeze(__assign({ fag: newTemp, drAttr: this.elementSource.attrs, drAttrsOriginName: RawSet.drAttrsOriginName, drStripOption: this.elementSource.attrs.drStripOption }, this.render))
1255
+ }));
1256
+ // TODO: 뭐지?? 지워야되는거 아닌가?
1257
+ if (keepgoing === false) {
1258
+ return [2 /*return*/, exports.ExecuteState.STOP];
1259
+ }
1260
+ RawSet.drVarDecoding(newTemp, vars);
1261
+ RawSet.drItOtherDecoding(newTemp, itRandom);
1262
+ tempalte = this.source.config.window.document.createElement('template');
1263
+ tempalte.innerHTML = newTemp.innerHTML;
1264
+ this.returnContainer.fag.append(tempalte.content);
1265
+ rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1266
+ (_d = this.elementSource.element.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(this.returnContainer.fag, this.elementSource.element);
1267
+ (_e = this.returnContainer.raws).push.apply(_e, rr);
1268
+ return [2 /*return*/, exports.ExecuteState.EXECUTE];
1269
+ });
1270
+ });
1071
1271
  };
1072
1272
  return DrIf;
1073
- }(OperatorRender));
1273
+ }(OperatorExecuterAttrRequire));
1074
1274
 
1075
1275
  var ComponentSet = /** @class */ (function () {
1076
- function ComponentSet(obj, template, styles, styleLocale) {
1077
- if (styleLocale === void 0) { styleLocale = false; }
1276
+ function ComponentSet(obj, template, styles, config) {
1078
1277
  this.obj = obj;
1079
1278
  this.template = template;
1080
1279
  this.styles = styles;
1081
- this.styleLocale = styleLocale;
1280
+ this.config = Object.assign({ objPath: 'obj' }, config);
1082
1281
  }
1083
1282
  return ComponentSet;
1084
1283
  }());
@@ -1088,40 +1287,48 @@ var DrThis = /** @class */ (function (_super) {
1088
1287
  function DrThis() {
1089
1288
  return _super !== null && _super.apply(this, arguments) || this;
1090
1289
  }
1091
- DrThis.prototype.execRender = function () {
1092
- var _a;
1093
- var _b, _c, _d, _e, _f;
1094
- if (this.elementSource.attrs.drThis) {
1095
- var r = ScriptUtils.evalReturn(this.elementSource.attrs.drThis, this.source.obj);
1096
- // const isStrip = ScriptUtils.eval(`if (${this.elementSource.attrs.drStripOption ?? 'false'}) { return true; } else { return false; }`, this.source.obj);
1097
- // console.log('isStrip', isStrip)
1098
- if (r) {
1099
- if (r instanceof ComponentSet) {
1100
- if (this.rawSet.data) {
1101
- var destroyOptions = (_c = (_b = this.elementSource.attrs.drDestroyOption) === null || _b === void 0 ? void 0 : _b.split(',')) !== null && _c !== void 0 ? _c : [];
1102
- RawSet.destroy(this.rawSet.data.obj, [], this.source.config, destroyOptions);
1103
- }
1104
- this.rawSet.data = r;
1105
- var componentBody = RawSet.drThisCreate(this.rawSet, this.elementSource.element, "".concat(this.elementSource.attrs.drThis, ".obj"), (_d = this.elementSource.attrs.drVarOption) !== null && _d !== void 0 ? _d : '', this.elementSource.attrs.drStripOption, this.source.obj, this.source.config, r);
1106
- this.returnContainer.fag.append(componentBody);
1107
- this.afterCallBack.onThisComponentSetCallBacks.push(r);
1108
- }
1109
- else {
1110
- this.returnContainer.fag.append(RawSet.drThisCreate(this.rawSet, this.elementSource.element, this.elementSource.attrs.drThis, (_e = this.elementSource.attrs.drVarOption) !== null && _e !== void 0 ? _e : '', this.elementSource.attrs.drStripOption, this.source.obj, this.source.config));
1290
+ DrThis.prototype.executeAttrRequire = function (attr) {
1291
+ var _a, _b, _c, _d, _e;
1292
+ return __awaiter(this, void 0, void 0, function () {
1293
+ var destroyOptions, componentBody, _f, _g, rr;
1294
+ var _h;
1295
+ return __generator(this, function (_j) {
1296
+ switch (_j.label) {
1297
+ case 0:
1298
+ if (!(attr && this.elementSource.attrs.drThis)) return [3 /*break*/, 5];
1299
+ if (!(attr instanceof ComponentSet)) return [3 /*break*/, 2];
1300
+ if (this.rawSet.data) {
1301
+ destroyOptions = (_b = (_a = this.elementSource.attrs.drDestroyOption) === null || _a === void 0 ? void 0 : _a.split(',')) !== null && _b !== void 0 ? _b : [];
1302
+ RawSet.destroy(this.rawSet.data.obj, [], this.source.config, destroyOptions);
1303
+ }
1304
+ this.rawSet.data = attr;
1305
+ return [4 /*yield*/, RawSet.drThisCreate(this.rawSet, this.elementSource.element, "".concat(this.elementSource.attrs.drThis).concat(attr.config.objPath ? ('.' + attr.config.objPath) : ''), (_c = this.elementSource.attrs.drVarOption) !== null && _c !== void 0 ? _c : '', this.elementSource.attrs.drStripOption, this.source.obj, this.source.config, attr)];
1306
+ case 1:
1307
+ componentBody = _j.sent();
1308
+ this.returnContainer.fag.append(componentBody);
1309
+ this.afterCallBack.onThisComponentSetCallBacks.push(attr);
1310
+ return [3 /*break*/, 4];
1311
+ case 2:
1312
+ _g = (_f = this.returnContainer.fag).append;
1313
+ return [4 /*yield*/, RawSet.drThisCreate(this.rawSet, this.elementSource.element, this.elementSource.attrs.drThis, (_d = this.elementSource.attrs.drVarOption) !== null && _d !== void 0 ? _d : '', this.elementSource.attrs.drStripOption, this.source.obj, this.source.config)];
1314
+ case 3:
1315
+ _g.apply(_f, [_j.sent()]);
1316
+ _j.label = 4;
1317
+ case 4:
1318
+ rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1319
+ (_e = this.elementSource.element.parentNode) === null || _e === void 0 ? void 0 : _e.replaceChild(this.returnContainer.fag, this.elementSource.element);
1320
+ (_h = this.returnContainer.raws).push.apply(_h, rr);
1321
+ return [3 /*break*/, 6];
1322
+ case 5:
1323
+ this.elementSource.element.remove();
1324
+ _j.label = 6;
1325
+ case 6: return [2 /*return*/, exports.ExecuteState.EXECUTE];
1111
1326
  }
1112
- var rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1113
- (_f = this.elementSource.element.parentNode) === null || _f === void 0 ? void 0 : _f.replaceChild(this.returnContainer.fag, this.elementSource.element);
1114
- (_a = this.returnContainer.raws).push.apply(_a, rr);
1115
- }
1116
- else {
1117
- this.elementSource.element.remove();
1118
- }
1119
- return exports.ExecuteState.EXECUTE;
1120
- }
1121
- return exports.ExecuteState.NO_EXECUTE;
1327
+ });
1328
+ });
1122
1329
  };
1123
1330
  return DrThis;
1124
- }(OperatorRender));
1331
+ }(OperatorExecuterAttrRequire));
1125
1332
 
1126
1333
  // export interface Valid<T = any, E = Element> {
1127
1334
  // valid(value?: T, target?: E, event?: Event): boolean;
@@ -1453,354 +1660,372 @@ var ValidatorArray = /** @class */ (function (_super) {
1453
1660
 
1454
1661
  var DrForm = /** @class */ (function (_super) {
1455
1662
  __extends(DrForm, _super);
1456
- function DrForm() {
1457
- return _super !== null && _super.apply(this, arguments) || this;
1663
+ function DrForm(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1664
+ return _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
1458
1665
  }
1459
- DrForm.prototype.execRender = function () {
1666
+ DrForm.prototype.executeAttrRequire = function (attr) {
1460
1667
  var _a;
1461
- var _this = this;
1462
- var _b;
1463
- if (this.elementSource.attrs.drForm) {
1464
- RawSet.drFormOtherMoveAttr(this.elementSource.element, 'name', 'temp-name', this.source.config);
1465
- var data = ScriptUtils.evalReturn("".concat(this.elementSource.attrs.drForm), this.source.obj);
1466
- var childs = Array.from(this.elementSource.element.querySelectorAll('[name]'));
1467
- var fromName = ScriptUtils.evalReturn((_b = this.elementSource.element.getAttribute("".concat(RawSet.DR_FORM_NAME, ":name"))) !== null && _b !== void 0 ? _b : '', this.source.obj);
1468
- var thisName = fromName !== null && fromName !== void 0 ? fromName : this.elementSource.element.getAttribute('name');
1469
- // console.log('dr-form:name', thisName, element.getAttribute('dr-form:name'), obj, element);
1470
- // // 자기자신이 Input 대상일때
1471
- if (childs.length <= 0 && thisName) {
1472
- childs.push(this.elementSource.element);
1473
- }
1474
- else {
1475
- if (data instanceof Validator) {
1476
- data.setTarget(this.elementSource.element);
1668
+ return __awaiter(this, void 0, void 0, function () {
1669
+ var data, childs, fromName, thisName;
1670
+ var _b;
1671
+ var _this = this;
1672
+ return __generator(this, function (_c) {
1673
+ RawSet.drFormOtherMoveAttr(this.elementSource.element, 'name', 'temp-name', this.source.config);
1674
+ data = ScriptUtils.evalReturn("".concat(attr), this.source.obj);
1675
+ childs = Array.from(this.elementSource.element.querySelectorAll('[name]'));
1676
+ fromName = ScriptUtils.evalReturn((_a = this.elementSource.element.getAttribute("".concat(RawSet.DR_FORM_NAME, ":name"))) !== null && _a !== void 0 ? _a : '', this.source.obj);
1677
+ thisName = fromName !== null && fromName !== void 0 ? fromName : this.elementSource.element.getAttribute('name');
1678
+ // // 자기자신이 Input 대상일때
1679
+ if (childs.length <= 0 && thisName) {
1680
+ childs.push(this.elementSource.element);
1477
1681
  }
1478
- }
1479
- childs.forEach(function (it) {
1480
- var _a, _b, _c, _d, _e;
1481
- var eventName = (_a = it.getAttribute("".concat(RawSet.DR_FORM_NAME, ":event"))) !== null && _a !== void 0 ? _a : 'change';
1482
- var validatorName = it.getAttribute("".concat(RawSet.DR_FORM_NAME, ":validator"));
1483
- var attrEventName = EventManager.attrPrefix + 'event-' + eventName;
1484
- var varpath = (_c = ScriptUtils.evalReturn((_b = _this.elementSource.element.getAttribute("".concat(RawSet.DR_FORM_NAME, ":name"))) !== null && _b !== void 0 ? _b : '', _this.source.obj)) !== null && _c !== void 0 ? _c : it.getAttribute('name');
1485
- if (varpath != null) {
1486
- if (validatorName) {
1487
- ScriptUtils.eval("\n ".concat(_this.render.bindScript, "\n const validator = typeof ").concat(validatorName, " ==='function' ? new ").concat(validatorName, "() : ").concat(validatorName, ";\n ").concat(_this.elementSource.attrs.drForm, "['").concat(varpath, "'] = validator;\n "), Object.assign(_this.source.obj, {
1488
- __render: Object.freeze(__assign({ drStripOption: _this.elementSource.attrs.drStripOption }, _this.render))
1489
- }));
1490
- }
1491
- varpath = "".concat(_this.elementSource.attrs.drForm, "['").concat(varpath, "']");
1492
- var data_1 = ScriptUtils.evalReturn("".concat(varpath), _this.source.obj);
1493
- if (data_1 instanceof ValidatorArray) {
1494
- it.setAttribute(attrEventName, "".concat(varpath, ".setArrayValue($target, $target.value, $event); ").concat((_d = it.getAttribute(attrEventName)) !== null && _d !== void 0 ? _d : '', ";"));
1495
- data_1.addValidator(it.value, it);
1496
- }
1497
- else if (data_1 instanceof Validator) {
1498
- // varpath += (varpath ? '.value' : 'value');
1499
- // varpath = drAttr.drForm + '.' + varpath;
1500
- // it.setAttribute(attrEventName, `${varpath} = $target.value; ${target}=$target; ${event}=$event;`);
1501
- it.setAttribute(attrEventName, "".concat(varpath, ".set($target.value, $target, $event); ").concat((_e = it.getAttribute(attrEventName)) !== null && _e !== void 0 ? _e : '', ";"));
1502
- data_1.setTarget(it);
1503
- data_1.value = it.value;
1504
- }
1505
- else {
1506
- it.setAttribute(attrEventName, "".concat(varpath, " = $target.value;"));
1682
+ else {
1683
+ if (data instanceof Validator) {
1684
+ data.setTarget(this.elementSource.element);
1507
1685
  }
1508
1686
  }
1687
+ childs.forEach(function (it) {
1688
+ var _a, _b, _c, _d, _e;
1689
+ var eventName = (_a = it.getAttribute("".concat(RawSet.DR_FORM_NAME, ":event"))) !== null && _a !== void 0 ? _a : 'change';
1690
+ var validatorName = it.getAttribute("".concat(RawSet.DR_FORM_NAME, ":validator"));
1691
+ var attrEventName = EventManager.attrPrefix + 'event-' + eventName;
1692
+ var varpath = (_c = ScriptUtils.evalReturn((_b = _this.elementSource.element.getAttribute("".concat(RawSet.DR_FORM_NAME, ":name"))) !== null && _b !== void 0 ? _b : '', _this.source.obj)) !== null && _c !== void 0 ? _c : it.getAttribute('name');
1693
+ if (varpath != null) {
1694
+ if (validatorName) {
1695
+ ScriptUtils.eval("\n ".concat(_this.render.bindScript, "\n const validator = typeof ").concat(validatorName, " ==='function' ? new ").concat(validatorName, "() : ").concat(validatorName, ";\n ").concat(attr, "['").concat(varpath, "'] = validator;\n "), Object.assign(_this.source.obj, {
1696
+ __render: Object.freeze(__assign({ drStripOption: _this.elementSource.attrs.drStripOption }, _this.render))
1697
+ }));
1698
+ }
1699
+ varpath = "".concat(attr, "['").concat(varpath, "']");
1700
+ var data_1 = ScriptUtils.evalReturn("".concat(varpath), _this.source.obj);
1701
+ if (data_1 instanceof ValidatorArray) {
1702
+ it.setAttribute(attrEventName, "".concat(varpath, ".setArrayValue($target, $target.value, $event); ").concat((_d = it.getAttribute(attrEventName)) !== null && _d !== void 0 ? _d : '', ";"));
1703
+ data_1.addValidator(it.value, it);
1704
+ }
1705
+ else if (data_1 instanceof Validator) {
1706
+ // varpath += (varpath ? '.value' : 'value');
1707
+ // varpath = drAttr.drForm + '.' + varpath;
1708
+ // it.setAttribute(attrEventName, `${varpath} = $target.value; ${target}=$target; ${event}=$event;`);
1709
+ it.setAttribute(attrEventName, "".concat(varpath, ".set($target.value, $target, $event); ").concat((_e = it.getAttribute(attrEventName)) !== null && _e !== void 0 ? _e : '', ";"));
1710
+ data_1.setTarget(it);
1711
+ data_1.value = it.value;
1712
+ }
1713
+ else {
1714
+ it.setAttribute(attrEventName, "".concat(varpath, " = $target.value;"));
1715
+ }
1716
+ }
1717
+ });
1718
+ RawSet.drFormOtherMoveAttr(this.elementSource.element, 'temp-name', 'name', this.source.config);
1719
+ (_b = this.returnContainer.raws).push.apply(_b, RawSet.checkPointCreates(this.elementSource.element, this.source.obj, this.source.config));
1720
+ return [2 /*return*/, exports.ExecuteState.EXECUTE];
1509
1721
  });
1510
- RawSet.drFormOtherMoveAttr(this.elementSource.element, 'temp-name', 'name', this.source.config);
1511
- (_a = this.returnContainer.raws).push.apply(_a, RawSet.checkPointCreates(this.elementSource.element, this.source.obj, this.source.config));
1512
- return exports.ExecuteState.EXECUTE;
1513
- }
1514
- return exports.ExecuteState.NO_EXECUTE;
1722
+ });
1515
1723
  };
1516
1724
  return DrForm;
1517
- }(OperatorRender));
1725
+ }(OperatorExecuterAttrRequire));
1518
1726
 
1519
1727
  var DrInnerText = /** @class */ (function (_super) {
1520
1728
  __extends(DrInnerText, _super);
1521
- function DrInnerText() {
1522
- return _super !== null && _super.apply(this, arguments) || this;
1729
+ function DrInnerText(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1730
+ return _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
1523
1731
  }
1524
- DrInnerText.prototype.execRender = function () {
1525
- var _a;
1526
- var _b, _c, _d;
1527
- if (this.elementSource.attrs.drInnerText) {
1528
- var newTemp = this.source.config.window.document.createElement('temp');
1529
- ScriptUtils.eval(" \n ".concat(this.render.bindScript, "\n const n = $element.cloneNode(true); \n ").concat((_b = this.elementSource.attrs.drBeforeOption) !== null && _b !== void 0 ? _b : '', "\n n.innerText = ").concat(this.elementSource.attrs.drInnerText, ";\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n ").concat((_c = this.elementSource.attrs.drAfterOption) !== null && _c !== void 0 ? _c : '', "\n "), Object.assign(this.source.obj, {
1530
- __render: Object.freeze(__assign({ drStripOption: this.elementSource.attrs.drStripOption, fag: newTemp }, this.render))
1531
- }));
1532
- var tempalte = this.source.config.window.document.createElement('template');
1533
- tempalte.innerHTML = newTemp.innerHTML;
1534
- this.returnContainer.fag.append(tempalte.content);
1535
- var rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1536
- (_d = this.elementSource.element.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(this.returnContainer.fag, this.elementSource.element);
1537
- (_a = this.returnContainer.raws).push.apply(_a, rr);
1538
- return exports.ExecuteState.EXECUTE;
1539
- }
1540
- return exports.ExecuteState.NO_EXECUTE;
1732
+ DrInnerText.prototype.executeAttrRequire = function (attr) {
1733
+ var _a, _b, _c;
1734
+ return __awaiter(this, void 0, void 0, function () {
1735
+ var newTemp, tempalte, rr;
1736
+ var _d;
1737
+ return __generator(this, function (_e) {
1738
+ newTemp = this.source.config.window.document.createElement('temp');
1739
+ ScriptUtils.eval(" \n ".concat(this.render.bindScript, "\n const n = $element.cloneNode(true); \n ").concat((_a = this.elementSource.attrs.drBeforeOption) !== null && _a !== void 0 ? _a : '', "\n n.innerText = ").concat(attr, ";\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n ").concat((_b = this.elementSource.attrs.drAfterOption) !== null && _b !== void 0 ? _b : '', "\n "), Object.assign(this.source.obj, {
1740
+ __render: Object.freeze(__assign({ drStripOption: this.elementSource.attrs.drStripOption, fag: newTemp }, this.render))
1741
+ }));
1742
+ tempalte = this.source.config.window.document.createElement('template');
1743
+ tempalte.innerHTML = newTemp.innerHTML;
1744
+ this.returnContainer.fag.append(tempalte.content);
1745
+ rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1746
+ (_c = this.elementSource.element.parentNode) === null || _c === void 0 ? void 0 : _c.replaceChild(this.returnContainer.fag, this.elementSource.element);
1747
+ (_d = this.returnContainer.raws).push.apply(_d, rr);
1748
+ return [2 /*return*/, exports.ExecuteState.EXECUTE];
1749
+ });
1750
+ });
1541
1751
  };
1542
1752
  return DrInnerText;
1543
- }(OperatorRender));
1753
+ }(OperatorExecuterAttrRequire));
1544
1754
 
1545
1755
  var DrInnerHTML = /** @class */ (function (_super) {
1546
1756
  __extends(DrInnerHTML, _super);
1547
- function DrInnerHTML() {
1548
- return _super !== null && _super.apply(this, arguments) || this;
1757
+ function DrInnerHTML(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1758
+ return _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
1549
1759
  }
1550
- DrInnerHTML.prototype.execRender = function () {
1551
- var _a;
1552
- var _b, _c, _d;
1553
- if (this.elementSource.attrs.drInnerHTML) {
1554
- var newTemp = this.source.config.window.document.createElement('temp');
1555
- ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n const n = $element.cloneNode(true);\n ").concat((_b = this.elementSource.attrs.drBeforeOption) !== null && _b !== void 0 ? _b : '', "\n n.innerHTML = ").concat(this.elementSource.attrs.drInnerHTML, ";\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n ").concat((_c = this.elementSource.attrs.drAfterOption) !== null && _c !== void 0 ? _c : '', "\n "), Object.assign(this.source.obj, {
1556
- __render: Object.freeze(__assign({ drStripOption: this.elementSource.attrs.drStripOption, fag: newTemp }, this.render
1557
- // eslint-disable-next-line no-use-before-define
1558
- ))
1559
- }));
1560
- var tempalte = this.source.config.window.document.createElement('template');
1561
- tempalte.innerHTML = newTemp.innerHTML;
1562
- this.returnContainer.fag.append(tempalte.content);
1563
- var rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1564
- (_d = this.elementSource.element.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(this.returnContainer.fag, this.elementSource.element);
1565
- (_a = this.returnContainer.raws).push.apply(_a, rr);
1566
- return exports.ExecuteState.EXECUTE;
1567
- }
1568
- return exports.ExecuteState.NO_EXECUTE;
1760
+ DrInnerHTML.prototype.executeAttrRequire = function (attr) {
1761
+ var _a, _b, _c;
1762
+ return __awaiter(this, void 0, void 0, function () {
1763
+ var newTemp, tempalte, rr;
1764
+ var _d;
1765
+ return __generator(this, function (_e) {
1766
+ newTemp = this.source.config.window.document.createElement('temp');
1767
+ ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n const n = $element.cloneNode(true);\n ").concat((_a = this.elementSource.attrs.drBeforeOption) !== null && _a !== void 0 ? _a : '', "\n n.innerHTML = ").concat(attr, ";\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n ").concat((_b = this.elementSource.attrs.drAfterOption) !== null && _b !== void 0 ? _b : '', "\n "), Object.assign(this.source.obj, {
1768
+ __render: Object.freeze(__assign({ drStripOption: this.elementSource.attrs.drStripOption, fag: newTemp }, this.render
1769
+ // eslint-disable-next-line no-use-before-define
1770
+ ))
1771
+ }));
1772
+ tempalte = this.source.config.window.document.createElement('template');
1773
+ tempalte.innerHTML = newTemp.innerHTML;
1774
+ this.returnContainer.fag.append(tempalte.content);
1775
+ rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1776
+ (_c = this.elementSource.element.parentNode) === null || _c === void 0 ? void 0 : _c.replaceChild(this.returnContainer.fag, this.elementSource.element);
1777
+ (_d = this.returnContainer.raws).push.apply(_d, rr);
1778
+ return [2 /*return*/, exports.ExecuteState.EXECUTE];
1779
+ });
1780
+ });
1569
1781
  };
1570
1782
  return DrInnerHTML;
1571
- }(OperatorRender));
1783
+ }(OperatorExecuterAttrRequire));
1572
1784
 
1573
1785
  var DrFor = /** @class */ (function (_super) {
1574
1786
  __extends(DrFor, _super);
1575
- function DrFor() {
1576
- return _super !== null && _super.apply(this, arguments) || this;
1787
+ function DrFor(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1788
+ var _this = this;
1789
+ source.operatorAround = undefined;
1790
+ _this = _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
1791
+ return _this;
1577
1792
  }
1578
- DrFor.prototype.execRender = function () {
1579
- var _a;
1580
- var _b, _c, _d, _e;
1581
- if (this.elementSource.attrs.drFor) {
1582
- var itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1583
- var vars = RawSet.drVarEncoding(this.elementSource.element, (_b = this.elementSource.attrs.drVarOption) !== null && _b !== void 0 ? _b : '');
1584
- var newTemp = this.source.config.window.document.createElement('temp');
1585
- ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n ").concat((_c = this.elementSource.attrs.drBeforeOption) !== null && _c !== void 0 ? _c : '', "\n for(").concat(this.elementSource.attrs.drFor, ") {\n const n = this.__render.element.cloneNode(true);\n var destIt = ").concat(this.elementSource.attrs.drItOption, ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt).replace(/\\#nearForIt\\#/g, destIt).replace(/\\#nearForIndex\\#/g, destIt))) \n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt).replace(/\\#index\\#/g, destIt);\n }\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }\n ").concat((_d = this.elementSource.attrs.drAfterOption) !== null && _d !== void 0 ? _d : '', "\n "), Object.assign(this.source.obj, {
1586
- __render: Object.freeze(__assign({ fag: newTemp, drStripOption: this.elementSource.attrs.drStripOption }, this.render))
1587
- }));
1588
- RawSet.drVarDecoding(newTemp, vars);
1589
- RawSet.drItOtherDecoding(newTemp, itRandom);
1590
- var tempalte = this.source.config.window.document.createElement('template');
1591
- tempalte.innerHTML = newTemp.innerHTML;
1592
- this.returnContainer.fag.append(tempalte.content);
1593
- var rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1594
- (_e = this.elementSource.element.parentNode) === null || _e === void 0 ? void 0 : _e.replaceChild(this.returnContainer.fag, this.elementSource.element);
1595
- (_a = this.returnContainer.raws).push.apply(_a, rr);
1596
- return exports.ExecuteState.EXECUTE;
1597
- }
1598
- return exports.ExecuteState.NO_EXECUTE;
1793
+ DrFor.prototype.executeAttrRequire = function (attr) {
1794
+ var _a, _b, _c, _d;
1795
+ return __awaiter(this, void 0, void 0, function () {
1796
+ var itRandom, vars, newTemp, tempalte, rr;
1797
+ var _e;
1798
+ return __generator(this, function (_f) {
1799
+ itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1800
+ vars = RawSet.drVarEncoding(this.elementSource.element, (_a = this.elementSource.attrs.drVarOption) !== null && _a !== void 0 ? _a : '');
1801
+ newTemp = this.source.config.window.document.createElement('temp');
1802
+ ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n ").concat((_b = this.elementSource.attrs.drBeforeOption) !== null && _b !== void 0 ? _b : '', "\n for(").concat(attr, ") {\n const n = this.__render.element.cloneNode(true);\n var destIt = ").concat(this.elementSource.attrs.drItOption, ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt).replace(/\\#nearForIt\\#/g, destIt).replace(/\\#nearForIndex\\#/g, destIt))) \n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt).replace(/\\#index\\#/g, destIt);\n }\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }\n ").concat((_c = this.elementSource.attrs.drAfterOption) !== null && _c !== void 0 ? _c : '', "\n "), Object.assign(this.source.obj, {
1803
+ __render: Object.freeze(__assign({ fag: newTemp, drStripOption: this.elementSource.attrs.drStripOption }, this.render))
1804
+ }));
1805
+ RawSet.drVarDecoding(newTemp, vars);
1806
+ RawSet.drItOtherDecoding(newTemp, itRandom);
1807
+ tempalte = this.source.config.window.document.createElement('template');
1808
+ tempalte.innerHTML = newTemp.innerHTML;
1809
+ this.returnContainer.fag.append(tempalte.content);
1810
+ rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1811
+ (_d = this.elementSource.element.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(this.returnContainer.fag, this.elementSource.element);
1812
+ (_e = this.returnContainer.raws).push.apply(_e, rr);
1813
+ return [2 /*return*/, exports.ExecuteState.EXECUTE];
1814
+ });
1815
+ });
1599
1816
  };
1600
1817
  return DrFor;
1601
- }(OperatorRender));
1818
+ }(OperatorExecuterAttrRequire));
1602
1819
 
1603
1820
  var DrForOf = /** @class */ (function (_super) {
1604
1821
  __extends(DrForOf, _super);
1605
- function DrForOf() {
1606
- return _super !== null && _super.apply(this, arguments) || this;
1822
+ function DrForOf(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1823
+ var _this = this;
1824
+ source.operatorAround = undefined;
1825
+ _this = _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
1826
+ return _this;
1607
1827
  }
1608
- DrForOf.prototype.execRender = function () {
1609
- var _a;
1610
- var _b, _c, _d, _e;
1611
- if (this.elementSource.attrs.drForOf) {
1612
- var itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1613
- var vars = RawSet.drVarEncoding(this.elementSource.element, (_b = this.elementSource.attrs.drVarOption) !== null && _b !== void 0 ? _b : '');
1614
- var newTemp = this.source.config.window.document.createElement('temp');
1615
- ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n ").concat((_c = this.elementSource.attrs.drBeforeOption) !== null && _c !== void 0 ? _c : '', "\n var i = 0; \n const forOf = ").concat(this.elementSource.attrs.drForOf, ";\n const forOfStr = `").concat(this.elementSource.attrs.drForOf, "`.trim();\n if (forOf) {\n for(const it of forOf) {\n var destIt = it;\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 if (forOf.isRange) {\n destIt = it;\n } else {\n destIt = forOfStr + '[' + i +']'\n }\n const n = this.__render.element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drForOf' && k !== 'drNextOption' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt).replace(/\\#nearForOfIt\\#/g, destIt).replace(/\\#it\\#/g, destIt).replace(/\\#nearForOfIndex\\#/g, i)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt).replace(/\\#index\\#/g, i);\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n i++;\n }\n \n if('").concat(this.elementSource.attrs.drNextOption, "' !== 'null') {\n const n = this.__render.element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drForOf' && k !== 'drNextOption' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n const [name, idx] = '").concat(this.elementSource.attrs.drNextOption, "'.split(',');\n n.setAttribute('dr-for-of', name + '[' + idx + ']');\n n.setAttribute('dr-next', name + ',' + (Number(idx) + 1));\n this.__render.fag.append(n);\n }\n }\n ").concat((_d = this.elementSource.attrs.drAfterOption) !== null && _d !== void 0 ? _d : '', "\n "), Object.assign(this.source.obj, {
1616
- __render: Object.freeze(__assign({ drStripOption: this.elementSource.attrs.drStripOption, drAttr: this.elementSource.attrs, drAttrsOriginName: RawSet.drAttrsOriginName, fag: newTemp }, this.render
1617
- // eslint-disable-next-line no-use-before-define
1618
- ))
1619
- }));
1620
- RawSet.drVarDecoding(newTemp, vars);
1621
- RawSet.drItOtherDecoding(newTemp, itRandom);
1622
- var tempalte = this.source.config.window.document.createElement('template');
1623
- tempalte.innerHTML = newTemp.innerHTML;
1624
- this.returnContainer.fag.append(tempalte.content);
1625
- var rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1626
- (_e = this.elementSource.element.parentNode) === null || _e === void 0 ? void 0 : _e.replaceChild(this.returnContainer.fag, this.elementSource.element);
1627
- // const rrr = rr.flatMap(it => it.render(obj, config));// .flat();
1628
- (_a = this.returnContainer.raws).push.apply(_a, rr);
1629
- return exports.ExecuteState.EXECUTE;
1630
- }
1631
- return exports.ExecuteState.NO_EXECUTE;
1828
+ DrForOf.prototype.executeAttrRequire = function (attr) {
1829
+ var _a, _b, _c, _d;
1830
+ return __awaiter(this, void 0, void 0, function () {
1831
+ var itRandom, vars, newTemp, tempalte, rr;
1832
+ var _e;
1833
+ return __generator(this, function (_f) {
1834
+ itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1835
+ vars = RawSet.drVarEncoding(this.elementSource.element, (_a = this.elementSource.attrs.drVarOption) !== null && _a !== void 0 ? _a : '');
1836
+ newTemp = this.source.config.window.document.createElement('temp');
1837
+ ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n ").concat((_b = this.elementSource.attrs.drBeforeOption) !== null && _b !== void 0 ? _b : '', "\n var i = 0; \n const forOf = ").concat(attr, ";\n const forOfStr = `").concat(attr, "`.trim();\n if (forOf) {\n for(const it of forOf) {\n var destIt = it;\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 if (forOf.isRange) {\n destIt = it;\n } else {\n destIt = forOfStr + '[' + i +']'\n }\n const n = this.__render.element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drForOf' && k !== 'drNextOption' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt).replace(/\\#nearForOfIt\\#/g, destIt).replace(/\\#it\\#/g, destIt).replace(/\\#nearForOfIndex\\#/g, i)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt).replace(/\\#index\\#/g, i);\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n i++;\n }\n \n if('").concat(this.elementSource.attrs.drNextOption, "' !== 'null') {\n const n = this.__render.element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drForOf' && k !== 'drNextOption' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n const [name, idx] = '").concat(this.elementSource.attrs.drNextOption, "'.split(',');\n n.setAttribute('dr-for-of', name + '[' + idx + ']');\n n.setAttribute('dr-next', name + ',' + (Number(idx) + 1));\n this.__render.fag.append(n);\n }\n }\n ").concat((_c = this.elementSource.attrs.drAfterOption) !== null && _c !== void 0 ? _c : '', "\n "), Object.assign(this.source.obj, {
1838
+ __render: Object.freeze(__assign({ drStripOption: this.elementSource.attrs.drStripOption, drAttr: this.elementSource.attrs, drAttrsOriginName: RawSet.drAttrsOriginName, fag: newTemp }, this.render
1839
+ // eslint-disable-next-line no-use-before-define
1840
+ ))
1841
+ }));
1842
+ RawSet.drVarDecoding(newTemp, vars);
1843
+ RawSet.drItOtherDecoding(newTemp, itRandom);
1844
+ tempalte = this.source.config.window.document.createElement('template');
1845
+ tempalte.innerHTML = newTemp.innerHTML;
1846
+ this.returnContainer.fag.append(tempalte.content);
1847
+ rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1848
+ (_d = this.elementSource.element.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(this.returnContainer.fag, this.elementSource.element);
1849
+ // const rrr = rr.flatMap(it => it.render(obj, config));// .flat();
1850
+ (_e = this.returnContainer.raws).push.apply(_e, rr);
1851
+ return [2 /*return*/, exports.ExecuteState.EXECUTE];
1852
+ });
1853
+ });
1632
1854
  };
1633
1855
  return DrForOf;
1634
- }(OperatorRender));
1856
+ }(OperatorExecuterAttrRequire));
1635
1857
 
1636
1858
  var DrAppender = /** @class */ (function (_super) {
1637
1859
  __extends(DrAppender, _super);
1638
- function DrAppender() {
1639
- return _super !== null && _super.apply(this, arguments) || this;
1860
+ function DrAppender(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1861
+ var _this = this;
1862
+ source.operatorAround = undefined;
1863
+ _this = _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
1864
+ return _this;
1640
1865
  }
1641
- DrAppender.prototype.execRender = function () {
1642
- var _a;
1643
- var _b, _c, _d, _e;
1644
- if (this.elementSource.attrs.drAppender) {
1645
- var itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1646
- var vars = RawSet.drVarEncoding(this.elementSource.element, (_b = this.elementSource.attrs.drVarOption) !== null && _b !== void 0 ? _b : '');
1647
- var newTemp = this.source.config.window.document.createElement('temp');
1648
- ScriptUtils.eval("\n try{\n ".concat(this.render.bindScript, "\n ").concat((_c = this.elementSource.attrs.drBeforeOption) !== null && _c !== void 0 ? _c : '', "\n const ifWrap = document.createElement('div');\n ifWrap.setAttribute('dr-strip', 'true');\n ifWrap.setAttribute('dr-if', '").concat(this.elementSource.attrs.drAppender, " && ").concat(this.elementSource.attrs.drAppender, ".length > 0');\n const n = this.__render.element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drAppender' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n n.setAttribute('dr-for-of', '").concat(this.elementSource.attrs.drAppender, "[' + (").concat(this.elementSource.attrs.drAppender, ".length-1) + ']');\n n.setAttribute('dr-next', '").concat(this.elementSource.attrs.drAppender, ",' + ").concat(this.elementSource.attrs.drAppender, ".length);\n ifWrap.append(n);\n \n // n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt).replace(/\\#nearForOfIt\\#/g, destIt).replace(/\\#it\\#/g, destIt).replace(/\\#nearForOfIndex\\#/g, i)))\n // n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt).replace(/\\#index\\#/g, i);\n // if (this.__render.drStripOption === 'true') {\n // Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n // } else {\n // this.__render.fag.append(n);\n // }\n this.__render.fag.append(ifWrap);\n ").concat((_d = this.elementSource.attrs.drAfterOption) !== null && _d !== void 0 ? _d : '', "\n }catch(e){}\n "), Object.assign(this.source.obj, {
1649
- __render: Object.freeze(__assign({ drStripOption: this.elementSource.attrs.drStripOption, drAttr: this.elementSource.attrs, drAttrsOriginName: RawSet.drAttrsOriginName, fag: newTemp }, this.render
1650
- // eslint-disable-next-line no-use-before-define
1651
- ))
1652
- }));
1653
- RawSet.drVarDecoding(newTemp, vars);
1654
- RawSet.drItOtherDecoding(newTemp, itRandom);
1655
- var tempalte = this.source.config.window.document.createElement('template');
1656
- tempalte.innerHTML = newTemp.innerHTML;
1657
- this.returnContainer.fag.append(tempalte.content);
1658
- var rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1659
- (_e = this.elementSource.element.parentNode) === null || _e === void 0 ? void 0 : _e.replaceChild(this.returnContainer.fag, this.elementSource.element);
1660
- // const rrr = rr.flatMap(it => it.render(obj, config));// .flat();
1661
- (_a = this.returnContainer.raws).push.apply(_a, rr);
1662
- return exports.ExecuteState.EXECUTE;
1663
- }
1664
- return exports.ExecuteState.NO_EXECUTE;
1866
+ DrAppender.prototype.executeAttrRequire = function (attr) {
1867
+ var _a, _b, _c, _d;
1868
+ return __awaiter(this, void 0, void 0, function () {
1869
+ var itRandom, vars, newTemp, tempalte, rr;
1870
+ var _e;
1871
+ return __generator(this, function (_f) {
1872
+ itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1873
+ vars = RawSet.drVarEncoding(this.elementSource.element, (_a = this.elementSource.attrs.drVarOption) !== null && _a !== void 0 ? _a : '');
1874
+ newTemp = this.source.config.window.document.createElement('temp');
1875
+ ScriptUtils.eval("\n try{\n ".concat(this.render.bindScript, "\n ").concat((_b = this.elementSource.attrs.drBeforeOption) !== null && _b !== void 0 ? _b : '', "\n const ifWrap = document.createElement('div');\n ifWrap.setAttribute('dr-strip', 'true');\n ifWrap.setAttribute('dr-if', '").concat(this.elementSource.attrs.drAppender, " && ").concat(this.elementSource.attrs.drAppender, ".length > 0');\n const n = this.__render.element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drAppender' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n n.setAttribute('dr-for-of', '").concat(this.elementSource.attrs.drAppender, "[' + (").concat(this.elementSource.attrs.drAppender, ".length-1) + ']');\n n.setAttribute('dr-next', '").concat(this.elementSource.attrs.drAppender, ",' + ").concat(this.elementSource.attrs.drAppender, ".length);\n ifWrap.append(n);\n this.__render.fag.append(ifWrap);\n ").concat((_c = this.elementSource.attrs.drAfterOption) !== null && _c !== void 0 ? _c : '', "\n }catch(e){}\n "), Object.assign(this.source.obj, {
1876
+ __render: Object.freeze(__assign({ drStripOption: this.elementSource.attrs.drStripOption, drAttr: this.elementSource.attrs, drAttrsOriginName: RawSet.drAttrsOriginName, fag: newTemp }, this.render
1877
+ // eslint-disable-next-line no-use-before-define
1878
+ ))
1879
+ }));
1880
+ RawSet.drVarDecoding(newTemp, vars);
1881
+ RawSet.drItOtherDecoding(newTemp, itRandom);
1882
+ tempalte = this.source.config.window.document.createElement('template');
1883
+ tempalte.innerHTML = newTemp.innerHTML;
1884
+ this.returnContainer.fag.append(tempalte.content);
1885
+ rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1886
+ (_d = this.elementSource.element.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(this.returnContainer.fag, this.elementSource.element);
1887
+ // const rrr = rr.flatMap(it => it.render(obj, config));// .flat();
1888
+ (_e = this.returnContainer.raws).push.apply(_e, rr);
1889
+ return [2 /*return*/, exports.ExecuteState.EXECUTE];
1890
+ });
1891
+ });
1665
1892
  };
1666
1893
  return DrAppender;
1667
- }(OperatorRender));
1894
+ }(OperatorExecuterAttrRequire));
1668
1895
 
1669
1896
  var DrRepeat = /** @class */ (function (_super) {
1670
1897
  __extends(DrRepeat, _super);
1671
- function DrRepeat() {
1672
- return _super !== null && _super.apply(this, arguments) || this;
1898
+ function DrRepeat(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1899
+ var _this = this;
1900
+ source.operatorAround = undefined;
1901
+ _this = _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
1902
+ return _this;
1673
1903
  }
1674
- DrRepeat.prototype.execRender = function () {
1675
- var _a;
1676
- var _b, _c, _d, _e;
1677
- if (this.elementSource.attrs.drRepeat) {
1678
- var itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1679
- var vars = RawSet.drVarEncoding(this.elementSource.element, (_b = this.elementSource.attrs.drVarOption) !== null && _b !== void 0 ? _b : '');
1680
- var newTemp = this.source.config.window.document.createElement('temp');
1681
- ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n ").concat((_c = this.elementSource.attrs.drBeforeOption) !== null && _c !== void 0 ? _c : '', "\n var i = 0; \n const repeat = ").concat(this.elementSource.attrs.drRepeat, ";\n const repeatStr = `").concat(this.elementSource.attrs.drRepeat, "`;\n let range = repeat;\n if (typeof repeat === 'number') {\n range = ").concat(EventManager.RANGE_VARNAME, "(repeat);\n } \n for(const it of range) {\n var destIt = it;\n if (range.isRange) {\n destIt = it;\n } else {\n destIt = repeatStr + '[' + i +']'\n }\n const n = this.__render.element.cloneNode(true);\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt).replace(/\\#nearRangeIt\\#/g, destIt).replace(/\\#nearRangeIndex\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt).replace(/\\#index\\#/g, destIt);\n \n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n i++;\n }\n ").concat((_d = this.elementSource.attrs.drAfterOption) !== null && _d !== void 0 ? _d : '', "\n "), Object.assign(this.source.obj, {
1682
- __render: Object.freeze(__assign({ fag: newTemp, drStripOption: this.elementSource.attrs.drStripOption }, this.render))
1683
- }));
1684
- RawSet.drVarDecoding(newTemp, vars);
1685
- RawSet.drItOtherDecoding(newTemp, itRandom);
1686
- var tempalte = this.source.config.window.document.createElement('template');
1687
- tempalte.innerHTML = newTemp.innerHTML;
1688
- this.returnContainer.fag.append(tempalte.content);
1689
- var rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1690
- (_e = this.elementSource.element.parentNode) === null || _e === void 0 ? void 0 : _e.replaceChild(this.returnContainer.fag, this.elementSource.element);
1691
- (_a = this.returnContainer.raws).push.apply(_a, rr);
1692
- return exports.ExecuteState.EXECUTE;
1693
- }
1694
- return exports.ExecuteState.NO_EXECUTE;
1904
+ DrRepeat.prototype.executeAttrRequire = function (attr) {
1905
+ var _a, _b, _c, _d;
1906
+ return __awaiter(this, void 0, void 0, function () {
1907
+ var itRandom, vars, newTemp, tempalte, rr;
1908
+ var _e;
1909
+ return __generator(this, function (_f) {
1910
+ itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
1911
+ vars = RawSet.drVarEncoding(this.elementSource.element, (_a = this.elementSource.attrs.drVarOption) !== null && _a !== void 0 ? _a : '');
1912
+ newTemp = this.source.config.window.document.createElement('temp');
1913
+ ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n ").concat((_b = this.elementSource.attrs.drBeforeOption) !== null && _b !== void 0 ? _b : '', "\n var i = 0; \n const repeat = ").concat(attr, ";\n const repeatStr = `").concat(attr, "`;\n let range = repeat;\n if (typeof repeat === 'number') {\n range = ").concat(EventManager.RANGE_VARNAME, "(repeat);\n } \n for(const it of range) {\n var destIt = it;\n if (range.isRange) {\n destIt = it;\n } else {\n destIt = repeatStr + '[' + i +']'\n }\n const n = this.__render.element.cloneNode(true);\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt).replace(/\\#nearRangeIt\\#/g, destIt).replace(/\\#nearRangeIndex\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt).replace(/\\#index\\#/g, destIt);\n \n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n i++;\n }\n ").concat((_c = this.elementSource.attrs.drAfterOption) !== null && _c !== void 0 ? _c : '', "\n "), Object.assign(this.source.obj, {
1914
+ __render: Object.freeze(__assign({ fag: newTemp, drStripOption: this.elementSource.attrs.drStripOption }, this.render))
1915
+ }));
1916
+ RawSet.drVarDecoding(newTemp, vars);
1917
+ RawSet.drItOtherDecoding(newTemp, itRandom);
1918
+ tempalte = this.source.config.window.document.createElement('template');
1919
+ tempalte.innerHTML = newTemp.innerHTML;
1920
+ this.returnContainer.fag.append(tempalte.content);
1921
+ rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
1922
+ (_d = this.elementSource.element.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(this.returnContainer.fag, this.elementSource.element);
1923
+ (_e = this.returnContainer.raws).push.apply(_e, rr);
1924
+ return [2 /*return*/, exports.ExecuteState.EXECUTE];
1925
+ });
1926
+ });
1695
1927
  };
1696
1928
  return DrRepeat;
1697
- }(OperatorRender));
1929
+ }(OperatorExecuterAttrRequire));
1698
1930
 
1699
1931
  var DrTargetElement = /** @class */ (function (_super) {
1700
1932
  __extends(DrTargetElement, _super);
1701
- function DrTargetElement() {
1702
- return _super !== null && _super.apply(this, arguments) || this;
1703
- }
1704
- DrTargetElement.prototype.execRender = function () {
1705
- var _a;
1933
+ function DrTargetElement(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1706
1934
  var _this = this;
1707
- var _b, _c, _d, _e;
1708
- var targetElement = (_c = (_b = this.source.config) === null || _b === void 0 ? void 0 : _b.targetElements) === null || _c === void 0 ? void 0 : _c.find(function (it) { return it.name.toLowerCase() === _this.elementSource.element.tagName.toLowerCase(); });
1709
- if (targetElement) {
1710
- var documentFragment = targetElement.callBack(this.elementSource.element, this.source.obj, this.rawSet, this.elementSource.attrs, this.source.config);
1711
- if (documentFragment) {
1712
- // const targetAttrMap = this.elementSource.element.getAttribute(EventManager.normalAttrMapAttrName);
1713
- var detectAction_1 = this.elementSource.element.getAttribute(RawSet.DR_DETECT_NAME);
1714
- var render_1 = documentFragment.render;
1715
- // console.log('-------drTargetElement->', render, targetAttrMap);
1716
- this.rawSet.fragment = documentFragment;
1717
- this.rawSet.data = render_1.component;
1718
- // const targetAttrs = this.elementSource.element.getAttributeNames()
1719
- // .filter(it => RawSet.isExporesion(this.elementSource.element.getAttribute(it)))
1720
- // .map(it => ({name: it, expresion: RawSet.exporesionGrouops(this.elementSource.element.getAttribute(it))[0][1]}))
1721
- // .filter(it => it.name.length > 0 && it.expresion.length > 0)
1722
- // .map(it => {
1723
- // return `n.setAttribute('${it.name}', ${it.expresion})`;
1724
- // });
1725
- // if (targetAttrMap) {
1726
- // ScriptUtils.eval(`
1727
- // ${this.render.bindScript}
1728
- // //const n = $element.cloneNode(true);
1729
- // const n = $element;
1730
- // ${targetAttrMap.join(';')};
1731
- // // this.__render.fag.append(n);
1732
- // `, Object.assign(this.source.obj, {
1733
- // __render: Object.freeze({
1734
- // fag: newTemp,
1735
- // targetAttrs: targetAttrMap,
1736
- // ...this.render
1737
- // } as Render)
1738
- // }));
1739
- // }
1740
- if (detectAction_1 && render_1) {
1741
- this.rawSet.detect = {
1742
- action: function () {
1743
- var script = "var $component = this.__render.component; var $element = this.__render.element; var $innerHTML = this.__render.innerHTML; var $attribute = this.__render.attribute; ".concat(detectAction_1, " ");
1744
- ScriptUtils.eval(script, Object.assign(_this.source.obj, {
1745
- __render: render_1
1746
- }));
1935
+ source.operatorAround = undefined;
1936
+ _this = _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
1937
+ return _this;
1938
+ }
1939
+ DrTargetElement.prototype.execute = function () {
1940
+ var _a, _b, _c, _d;
1941
+ return __awaiter(this, void 0, void 0, function () {
1942
+ var targetElement, documentFragment, detectAction_1, render_1, rr;
1943
+ var _e;
1944
+ var _this = this;
1945
+ return __generator(this, function (_f) {
1946
+ switch (_f.label) {
1947
+ case 0:
1948
+ targetElement = (_b = (_a = this.source.config) === null || _a === void 0 ? void 0 : _a.targetElements) === null || _b === void 0 ? void 0 : _b.find(function (it) { return it.name.toLowerCase() === _this.elementSource.element.tagName.toLowerCase(); });
1949
+ if (!targetElement) return [3 /*break*/, 2];
1950
+ return [4 /*yield*/, targetElement.callBack(this.elementSource.element, this.source.obj, this.rawSet, this.elementSource.attrs, this.source.config)];
1951
+ case 1:
1952
+ documentFragment = _f.sent();
1953
+ if (documentFragment) {
1954
+ detectAction_1 = this.elementSource.element.getAttribute(RawSet.DR_DETECT_NAME);
1955
+ render_1 = documentFragment.render;
1956
+ this.rawSet.fragment = documentFragment;
1957
+ this.rawSet.data = render_1.component;
1958
+ if (detectAction_1 && render_1) {
1959
+ this.rawSet.detect = {
1960
+ action: function () {
1961
+ var script = "var $component = this.__render.component; var $element = this.__render.element; var $innerHTML = this.__render.innerHTML; var $attribute = this.__render.attribute; ".concat(detectAction_1, " ");
1962
+ ScriptUtils.eval(script, Object.assign(_this.source.obj, {
1963
+ __render: render_1
1964
+ }));
1965
+ }
1966
+ };
1967
+ }
1968
+ rr = RawSet.checkPointCreates(documentFragment, this.source.obj, this.source.config);
1969
+ (_c = this.elementSource.element.parentNode) === null || _c === void 0 ? void 0 : _c.replaceChild(documentFragment, this.elementSource.element);
1970
+ (_e = this.returnContainer.raws).push.apply(_e, rr);
1971
+ this.afterCallBack.onElementInitCallBacks.push({
1972
+ name: targetElement.name.toLowerCase(),
1973
+ obj: this.source.obj,
1974
+ targetElement: targetElement,
1975
+ creatorMetaData: targetElement.__creatorMetaData
1976
+ });
1977
+ (_d = targetElement === null || targetElement === void 0 ? void 0 : targetElement.complete) === null || _d === void 0 ? void 0 : _d.call(targetElement, this.elementSource.element, this.source.obj, this.rawSet);
1747
1978
  }
1748
- };
1979
+ return [2 /*return*/, exports.ExecuteState.EXECUTE];
1980
+ case 2: return [2 /*return*/, exports.ExecuteState.NO_EXECUTE];
1749
1981
  }
1750
- // fag.append(documentFragment)
1751
- var rr = RawSet.checkPointCreates(documentFragment, this.source.obj, this.source.config);
1752
- (_d = this.elementSource.element.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(documentFragment, this.elementSource.element);
1753
- (_a = this.returnContainer.raws).push.apply(_a, rr);
1754
- this.afterCallBack.onElementInitCallBacks.push({
1755
- name: targetElement.name.toLowerCase(),
1756
- obj: this.source.obj,
1757
- targetElement: targetElement,
1758
- creatorMetaData: targetElement.__creatorMetaData
1759
- });
1760
- // console.log(document.body.innerHTML);
1761
- (_e = targetElement === null || targetElement === void 0 ? void 0 : targetElement.complete) === null || _e === void 0 ? void 0 : _e.call(targetElement, this.elementSource.element, this.source.obj, this.rawSet);
1762
- }
1763
- return exports.ExecuteState.EXECUTE;
1764
- }
1765
- return exports.ExecuteState.NO_EXECUTE;
1982
+ });
1983
+ });
1766
1984
  };
1767
1985
  return DrTargetElement;
1768
- }(OperatorRender));
1986
+ }(OperatorExecuter));
1769
1987
 
1770
1988
  var DrTargetAttr = /** @class */ (function (_super) {
1771
1989
  __extends(DrTargetAttr, _super);
1772
- function DrTargetAttr() {
1773
- return _super !== null && _super.apply(this, arguments) || this;
1990
+ function DrTargetAttr(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
1991
+ var _this = this;
1992
+ source.operatorAround = undefined;
1993
+ _this = _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
1994
+ return _this;
1774
1995
  }
1775
- DrTargetAttr.prototype.execRender = function () {
1776
- var _a;
1777
- var _b, _c, _d, _e;
1778
- var attributeNames = this.elementSource.element.getAttributeNames();
1779
- // const targetAttr = config?.targetAttrs?.find(it => (!drAttr.drForOf && !drAttr.drFor && !drAttr.drRepeat) && attributeNames.includes(it.name));
1780
- var targetAttr = (_c = (_b = this.source.config) === null || _b === void 0 ? void 0 : _b.targetAttrs) === null || _c === void 0 ? void 0 : _c.find(function (it) { return attributeNames.includes(it.name); });
1781
- if (targetAttr) {
1782
- var attrName = targetAttr.name;
1783
- var attrValue = this.rawSet.getAttributeAndDelete(this.elementSource.element, attrName);
1784
- if (attrValue && attrName && (!this.elementSource.attrs.drForOf && !this.elementSource.attrs.drFor && !this.elementSource.attrs.drRepeat)) {
1785
- var documentFragment = targetAttr.callBack(this.elementSource.element, attrValue, this.source.obj, this.rawSet);
1786
- if (documentFragment) {
1787
- var rr = RawSet.checkPointCreates(documentFragment, this.source.obj, this.source.config);
1788
- (_d = this.elementSource.element.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(documentFragment, this.elementSource.element);
1789
- (_a = this.returnContainer.raws).push.apply(_a, rr);
1790
- this.afterCallBack.onAttrInitCallBacks.push({
1791
- attrName: attrName,
1792
- attrValue: attrValue,
1793
- obj: this.source.obj
1794
- });
1795
- (_e = targetAttr === null || targetAttr === void 0 ? void 0 : targetAttr.complete) === null || _e === void 0 ? void 0 : _e.call(targetAttr, this.elementSource.element, attrValue, this.source.obj, this.rawSet);
1996
+ DrTargetAttr.prototype.execute = function () {
1997
+ var _a, _b, _c, _d;
1998
+ return __awaiter(this, void 0, void 0, function () {
1999
+ var attributeNames, targetAttr, attrName, attrValue, documentFragment, rr;
2000
+ var _e;
2001
+ return __generator(this, function (_f) {
2002
+ attributeNames = this.elementSource.element.getAttributeNames();
2003
+ targetAttr = (_b = (_a = this.source.config) === null || _a === void 0 ? void 0 : _a.targetAttrs) === null || _b === void 0 ? void 0 : _b.find(function (it) { return attributeNames.includes(it.name); });
2004
+ if (targetAttr) {
2005
+ attrName = targetAttr.name;
2006
+ attrValue = this.rawSet.getAttributeAndDelete(this.elementSource.element, attrName);
2007
+ if (attrValue && attrName && (!this.elementSource.attrs.drForOf && !this.elementSource.attrs.drFor && !this.elementSource.attrs.drRepeat)) {
2008
+ documentFragment = targetAttr.callBack(this.elementSource.element, attrValue, this.source.obj, this.rawSet);
2009
+ if (documentFragment) {
2010
+ rr = RawSet.checkPointCreates(documentFragment, this.source.obj, this.source.config);
2011
+ (_c = this.elementSource.element.parentNode) === null || _c === void 0 ? void 0 : _c.replaceChild(documentFragment, this.elementSource.element);
2012
+ (_e = this.returnContainer.raws).push.apply(_e, rr);
2013
+ this.afterCallBack.onAttrInitCallBacks.push({
2014
+ attrName: attrName,
2015
+ attrValue: attrValue,
2016
+ obj: this.source.obj
2017
+ });
2018
+ (_d = targetAttr === null || targetAttr === void 0 ? void 0 : targetAttr.complete) === null || _d === void 0 ? void 0 : _d.call(targetAttr, this.elementSource.element, attrValue, this.source.obj, this.rawSet);
2019
+ }
2020
+ }
2021
+ return [2 /*return*/, exports.ExecuteState.EXECUTE];
1796
2022
  }
1797
- }
1798
- return exports.ExecuteState.EXECUTE;
1799
- }
1800
- return exports.ExecuteState.NO_EXECUTE;
2023
+ return [2 /*return*/, exports.ExecuteState.NO_EXECUTE];
2024
+ });
2025
+ });
1801
2026
  };
1802
2027
  return DrTargetAttr;
1803
- }(OperatorRender));
2028
+ }(OperatorExecuter));
1804
2029
 
1805
2030
  exports.DestroyOptionType = void 0;
1806
2031
  (function (DestroyOptionType) {
@@ -1882,167 +2107,185 @@ var RawSet = /** @class */ (function () {
1882
2107
  };
1883
2108
  // 중요 render 처리 부분
1884
2109
  RawSet.prototype.render = function (obj, config) {
1885
- var _this = this;
1886
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
1887
- var genNode = config.window.document.importNode(this.fragment, true);
1888
- var raws = [];
1889
- var onAttrInitCallBacks = [];
1890
- var onElementInitCallBacks = [];
1891
- var onThisComponentSetCallBacks = [];
1892
- var drAttrs = [];
1893
- for (var _i = 0, _m = Array.from(genNode.childNodes.values()); _i < _m.length; _i++) {
1894
- var cNode = _m[_i];
1895
- var attribute = {};
1896
- if (cNode.nodeType === Node.ELEMENT_NODE) {
1897
- attribute = DomUtils.getAttributeToObject(cNode);
1898
- }
1899
- var __render = Object.freeze({
1900
- rawset: this,
1901
- scripts: EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj),
1902
- router: config === null || config === void 0 ? void 0 : config.router,
1903
- range: Range.range,
1904
- element: cNode,
1905
- attribute: attribute,
1906
- bindScript: "\n const ".concat(EventManager.SCRIPTS_VARNAME, " = this.__render.scripts;\n const ").concat(EventManager.RAWSET_VARNAME, " = this.__render.rawset;\n const ").concat(EventManager.ELEMENT_VARNAME, " = this.__render.element;\n const ").concat(EventManager.ATTRIBUTE_VARNAME, " = this.__render.attribute;\n const ").concat(EventManager.RANGE_VARNAME, " = this.__render.range;\n const ").concat(EventManager.ROUTER_VARNAME, " = this.__render.router;\n ")
1907
- // eslint-disable-next-line no-use-before-define
1908
- });
1909
- var fag = config.window.document.createDocumentFragment();
1910
- if (cNode.nodeType === Node.TEXT_NODE && cNode.textContent) {
1911
- // console.log('text-->', this, obj, config)
1912
- // console.log('text-->', Array.from(this.fragment.childNodes))
1913
- var textContent = cNode.textContent;
1914
- var runText = RawSet.exporesionGrouops(textContent)[0][1];
1915
- // console.log('--->', RawSet.exporesionGrouops(textContent), textContent,runText, runText[0][1])
1916
- var newNode = void 0;
1917
- if (textContent === null || textContent === void 0 ? void 0 : textContent.startsWith('#')) {
1918
- var r = ScriptUtils.eval("".concat(__render.bindScript, " return ").concat(runText), Object.assign(obj, { __render: __render }));
1919
- var template = config.window.document.createElement('template');
1920
- template.innerHTML = r;
1921
- newNode = template.content;
1922
- }
1923
- else {
1924
- var r = ScriptUtils.eval("".concat(__render.bindScript, " return ").concat(runText), Object.assign(obj, { __render: __render }));
1925
- newNode = config.window.document.createTextNode(r);
1926
- }
1927
- (_a = cNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(newNode, cNode);
1928
- // console.log('-------', this.point.start.parentNode.nodeName)
1929
- // 중요 style value change 됐을때 다시 처리해야되기떄문에: 마지막에 completed 없는 attr 가지고 판단 하니깐
1930
- if (this.type === exports.RawSetType.STYLE_TEXT && this.point.parent) {
1931
- this.point.parent.removeAttribute('completed');
1932
- }
1933
- }
1934
- else if (cNode.nodeType === Node.ELEMENT_NODE) {
1935
- var element = cNode;
1936
- // console.log('target-->', element)
1937
- var drAttr = {
1938
- dr: this.getAttributeAndDelete(element, RawSet.DR),
1939
- drIf: this.getAttributeAndDelete(element, RawSet.DR_IF_NAME),
1940
- drFor: this.getAttributeAndDelete(element, RawSet.DR_FOR_NAME),
1941
- drForOf: this.getAttributeAndDelete(element, RawSet.DR_FOR_OF_NAME),
1942
- drAppender: this.getAttributeAndDelete(element, RawSet.DR_APPENDER_NAME),
1943
- drRepeat: this.getAttributeAndDelete(element, RawSet.DR_REPEAT_NAME),
1944
- drThis: this.getAttributeAndDelete(element, RawSet.DR_THIS_NAME),
1945
- drForm: this.getAttributeAndDelete(element, RawSet.DR_FORM_NAME),
1946
- drPre: this.getAttributeAndDelete(element, RawSet.DR_PRE_NAME),
1947
- drInnerHTML: this.getAttributeAndDelete(element, RawSet.DR_INNERHTML_NAME),
1948
- drInnerText: this.getAttributeAndDelete(element, RawSet.DR_INNERTEXT_NAME),
1949
- drItOption: this.getAttributeAndDelete(element, RawSet.DR_IT_OPTIONNAME),
1950
- drVarOption: this.getAttributeAndDelete(element, RawSet.DR_VAR_OPTIONNAME),
1951
- drNextOption: this.getAttributeAndDelete(element, RawSet.DR_NEXT_OPTIONNAME),
1952
- drAfterOption: this.getAttributeAndDelete(element, RawSet.DR_AFTER_OPTIONNAME),
1953
- drBeforeOption: this.getAttributeAndDelete(element, RawSet.DR_BEFORE_OPTIONNAME),
1954
- drCompleteOption: this.getAttributeAndDelete(element, RawSet.DR_COMPLETE_OPTIONNAME),
1955
- drStripOption: this.getAttributeAndDelete(element, RawSet.DR_STRIP_OPTIONNAME),
1956
- drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME)
1957
- };
1958
- drAttrs.push(drAttr);
1959
- var operators = [
1960
- new DrPre(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1961
- new Dr(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1962
- new DrIf(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1963
- new DrThis(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1964
- new DrForm(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1965
- new DrInnerText(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1966
- new DrInnerHTML(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1967
- new DrFor(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1968
- new DrForOf(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1969
- new DrAppender(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1970
- new DrRepeat(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1971
- new DrTargetElement(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
1972
- new DrTargetAttr(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks })
1973
- ];
1974
- for (var _o = 0, operators_1 = operators; _o < operators_1.length; _o++) {
1975
- var operator = operators_1[_o];
1976
- var state = operator.execRender();
1977
- if (state === exports.ExecuteState.EXECUTE) {
1978
- break;
1979
- }
1980
- else if (state === exports.ExecuteState.STOP) {
1981
- return raws;
1982
- }
1983
- }
1984
- }
1985
- }
1986
- this.applyEvent(obj, genNode, config);
1987
- this.replaceBody(genNode); // 중요 여기서 마지막에 연션된 값을 그려준다.
1988
- drAttrs.forEach(function (it) {
1989
- if (it.drCompleteOption) {
1990
- // genNode.childNodes
1991
- var render = Object.freeze({
1992
- rawset: _this,
1993
- fag: genNode,
1994
- scripts: EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
1995
- });
1996
- ScriptUtils.eval("\n const ".concat(EventManager.FAG_VARNAME, " = this.__render.fag;\n const ").concat(EventManager.SCRIPTS_VARNAME, " = this.__render.scripts;\n const ").concat(EventManager.RAWSET_VARNAME, " = this.__render.rawset;\n ").concat(it.drCompleteOption), Object.assign(obj, { __render: render }));
1997
- }
1998
- });
1999
- // 중요 style isolation 나중에 :scope로 대체 가능할듯.
2000
- RawSet.generateStyleSheetsLocal();
2001
- for (var _p = 0, onThisComponentSetCallBacks_1 = onThisComponentSetCallBacks; _p < onThisComponentSetCallBacks_1.length; _p++) {
2002
- var it_1 = onThisComponentSetCallBacks_1[_p];
2003
- (_c = (_b = it_1.obj) === null || _b === void 0 ? void 0 : _b.onInitRender) === null || _c === void 0 ? void 0 : _c.call(_b);
2004
- }
2005
- for (var _q = 0, onElementInitCallBacks_1 = onElementInitCallBacks; _q < onElementInitCallBacks_1.length; _q++) {
2006
- var it_2 = onElementInitCallBacks_1[_q];
2007
- if (((_e = (_d = it_2.targetElement) === null || _d === void 0 ? void 0 : _d.__render) === null || _e === void 0 ? void 0 : _e.element) && ((_g = (_f = it_2.targetElement) === null || _f === void 0 ? void 0 : _f.__render) === null || _g === void 0 ? void 0 : _g.component)) {
2008
- var oninit = it_2.targetElement.__render.element.getAttribute(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME); // dr-on-component-init
2009
- var param = [];
2010
- if (oninit) {
2011
- var script = "".concat(it_2.targetElement.__render.renderScript, " return ").concat(oninit, " ");
2012
- param = ScriptUtils.eval(script, Object.assign(obj, {
2013
- __render: it_2.targetElement.__render
2014
- }));
2015
- if (!Array.isArray(param)) {
2016
- param = [param];
2017
- }
2018
- }
2019
- (_j = (_h = it_2.targetElement.__render.component).onInitRender) === null || _j === void 0 ? void 0 : _j.call.apply(_j, __spreadArray([_h], param, false));
2020
- }
2021
- (_k = config === null || config === void 0 ? void 0 : config.onElementInit) === null || _k === void 0 ? void 0 : _k.call(config, it_2.name, obj, this, it_2.targetElement);
2022
- }
2023
- // TODO: 이부분도 위에 targetElement 처럼 해야될까?
2024
- for (var _r = 0, onAttrInitCallBacks_1 = onAttrInitCallBacks; _r < onAttrInitCallBacks_1.length; _r++) {
2025
- var it_3 = onAttrInitCallBacks_1[_r];
2026
- (_l = config === null || config === void 0 ? void 0 : config.onAttrInit) === null || _l === void 0 ? void 0 : _l.call(config, it_3.attrName, it_3.attrValue, obj, this);
2027
- }
2028
- // component destroy
2029
- if (obj.__domrender_components) {
2030
- Object.entries(obj.__domrender_components).forEach(function (_a) {
2031
- var _b, _c;
2032
- var key = _a[0], value = _a[1];
2033
- var domrenderComponentNew = value.__domrender_component_new;
2034
- var rawSet = domrenderComponentNew === null || domrenderComponentNew === void 0 ? void 0 : domrenderComponentNew.rawSet;
2035
- var drAttrs = domrenderComponentNew === null || domrenderComponentNew === void 0 ? void 0 : domrenderComponentNew.drAttrs;
2036
- if (rawSet && !rawSet.isConnected) {
2037
- // const domrenderComponent = obj.__domrender_components[key];
2038
- // console.log('component destroy--->', key, rawSet, rawSet.isConnected, domrenderComponent.name, domrenderComponent);
2039
- var destroyOptions = (_c = (_b = drAttrs === null || drAttrs === void 0 ? void 0 : drAttrs.drDestroyOption) === null || _b === void 0 ? void 0 : _b.split(',')) !== null && _c !== void 0 ? _c : [];
2040
- RawSet.destroy(obj.__domrender_components[key], [domrenderComponentNew], config, destroyOptions);
2041
- delete obj.__domrender_components[key];
2110
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
2111
+ return __awaiter(this, void 0, void 0, function () {
2112
+ var genNode, raws, onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks, drAttrs, _i, _y, cNode, attribute, __render, fag, textContent, runText, newNode, r, template, r, element, drAttr, operators, _z, operators_1, operator, state, _0, onThisComponentSetCallBacks_1, it_1, _1, onElementInitCallBacks_1, it_2, oninit, param, script, _2, onAttrInitCallBacks_1, it_3;
2113
+ var _this = this;
2114
+ return __generator(this, function (_3) {
2115
+ switch (_3.label) {
2116
+ case 0:
2117
+ genNode = config.window.document.importNode(this.fragment, true);
2118
+ raws = [];
2119
+ onAttrInitCallBacks = [];
2120
+ onElementInitCallBacks = [];
2121
+ onThisComponentSetCallBacks = [];
2122
+ drAttrs = [];
2123
+ _i = 0, _y = Array.from(genNode.childNodes.values());
2124
+ _3.label = 1;
2125
+ case 1:
2126
+ if (!(_i < _y.length)) return [3 /*break*/, 7];
2127
+ cNode = _y[_i];
2128
+ attribute = {};
2129
+ if (cNode.nodeType === Node.ELEMENT_NODE) {
2130
+ attribute = DomUtils.getAttributeToObject(cNode);
2131
+ }
2132
+ __render = Object.freeze({
2133
+ rawset: this,
2134
+ scripts: EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj),
2135
+ router: config === null || config === void 0 ? void 0 : config.router,
2136
+ range: Range.range,
2137
+ element: cNode,
2138
+ attribute: attribute,
2139
+ bindScript: "\n const ".concat(EventManager.SCRIPTS_VARNAME, " = this.__render.scripts;\n const ").concat(EventManager.RAWSET_VARNAME, " = this.__render.rawset;\n const ").concat(EventManager.ELEMENT_VARNAME, " = this.__render.element;\n const ").concat(EventManager.ATTRIBUTE_VARNAME, " = this.__render.attribute;\n const ").concat(EventManager.RANGE_VARNAME, " = this.__render.range;\n const ").concat(EventManager.ROUTER_VARNAME, " = this.__render.router;\n ")
2140
+ // eslint-disable-next-line no-use-before-define
2141
+ });
2142
+ fag = config.window.document.createDocumentFragment();
2143
+ if (!(cNode.nodeType === Node.TEXT_NODE && cNode.textContent)) return [3 /*break*/, 2];
2144
+ textContent = cNode.textContent;
2145
+ runText = RawSet.exporesionGrouops(textContent)[0][1];
2146
+ newNode = void 0;
2147
+ if (textContent === null || textContent === void 0 ? void 0 : textContent.startsWith('#')) {
2148
+ r = ScriptUtils.eval("".concat(__render.bindScript, " return ").concat(runText), Object.assign(obj, { __render: __render }));
2149
+ template = config.window.document.createElement('template');
2150
+ template.innerHTML = r;
2151
+ newNode = template.content;
2152
+ }
2153
+ else {
2154
+ r = ScriptUtils.eval("".concat(__render.bindScript, " return ").concat(runText), Object.assign(obj, { __render: __render }));
2155
+ newNode = config.window.document.createTextNode(r);
2156
+ }
2157
+ (_a = cNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(newNode, cNode);
2158
+ // console.log('-------', this.point.start.parentNode.nodeName)
2159
+ // 중요 style value change 됐을때 다시 처리해야되기떄문에: 마지막에 completed 없는 attr 가지고 판단 하니깐
2160
+ if (this.type === exports.RawSetType.STYLE_TEXT && this.point.parent) {
2161
+ this.point.parent.removeAttribute('completed');
2162
+ }
2163
+ return [3 /*break*/, 6];
2164
+ case 2:
2165
+ if (!(cNode.nodeType === Node.ELEMENT_NODE)) return [3 /*break*/, 6];
2166
+ element = cNode;
2167
+ drAttr = {
2168
+ dr: this.getAttributeAndDelete(element, RawSet.DR_NAME),
2169
+ drIf: this.getAttributeAndDelete(element, RawSet.DR_IF_NAME),
2170
+ drFor: this.getAttributeAndDelete(element, RawSet.DR_FOR_NAME),
2171
+ drForOf: this.getAttributeAndDelete(element, RawSet.DR_FOR_OF_NAME),
2172
+ drAppender: this.getAttributeAndDelete(element, RawSet.DR_APPENDER_NAME),
2173
+ drRepeat: this.getAttributeAndDelete(element, RawSet.DR_REPEAT_NAME),
2174
+ drThis: this.getAttributeAndDelete(element, RawSet.DR_THIS_NAME),
2175
+ drForm: this.getAttributeAndDelete(element, RawSet.DR_FORM_NAME),
2176
+ drPre: this.getAttributeAndDelete(element, RawSet.DR_PRE_NAME),
2177
+ drInnerHTML: this.getAttributeAndDelete(element, RawSet.DR_INNERHTML_NAME),
2178
+ drInnerText: this.getAttributeAndDelete(element, RawSet.DR_INNERTEXT_NAME),
2179
+ drItOption: this.getAttributeAndDelete(element, RawSet.DR_IT_OPTIONNAME),
2180
+ drVarOption: this.getAttributeAndDelete(element, RawSet.DR_VAR_OPTIONNAME),
2181
+ drNextOption: this.getAttributeAndDelete(element, RawSet.DR_NEXT_OPTIONNAME),
2182
+ drAfterOption: this.getAttributeAndDelete(element, RawSet.DR_AFTER_OPTIONNAME),
2183
+ drBeforeOption: this.getAttributeAndDelete(element, RawSet.DR_BEFORE_OPTIONNAME),
2184
+ drCompleteOption: this.getAttributeAndDelete(element, RawSet.DR_COMPLETE_OPTIONNAME),
2185
+ drStripOption: this.getAttributeAndDelete(element, RawSet.DR_STRIP_OPTIONNAME),
2186
+ drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME)
2187
+ };
2188
+ drAttrs.push(drAttr);
2189
+ operators = [
2190
+ new DrPre(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_b = config.operatorAround) === null || _b === void 0 ? void 0 : _b.drPre }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2191
+ new Dr(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_c = config.operatorAround) === null || _c === void 0 ? void 0 : _c.dr }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2192
+ new DrIf(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_d = config.operatorAround) === null || _d === void 0 ? void 0 : _d.drIf }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2193
+ new DrThis(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_e = config.operatorAround) === null || _e === void 0 ? void 0 : _e.drThis }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2194
+ new DrForm(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_f = config.operatorAround) === null || _f === void 0 ? void 0 : _f.drForm }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2195
+ new DrInnerText(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_g = config.operatorAround) === null || _g === void 0 ? void 0 : _g.drInnerText }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2196
+ new DrInnerHTML(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_h = config.operatorAround) === null || _h === void 0 ? void 0 : _h.drInnerHTML }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2197
+ new DrFor(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_j = config.operatorAround) === null || _j === void 0 ? void 0 : _j.drFor }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2198
+ new DrForOf(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_k = config.operatorAround) === null || _k === void 0 ? void 0 : _k.drForOf }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2199
+ new DrAppender(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_l = config.operatorAround) === null || _l === void 0 ? void 0 : _l.drAppender }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2200
+ new DrRepeat(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_m = config.operatorAround) === null || _m === void 0 ? void 0 : _m.drRepeat }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2201
+ new DrTargetElement(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
2202
+ new DrTargetAttr(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks })
2203
+ ];
2204
+ _z = 0, operators_1 = operators;
2205
+ _3.label = 3;
2206
+ case 3:
2207
+ if (!(_z < operators_1.length)) return [3 /*break*/, 6];
2208
+ operator = operators_1[_z];
2209
+ return [4 /*yield*/, operator.start()];
2210
+ case 4:
2211
+ state = _3.sent();
2212
+ if (state === exports.ExecuteState.EXECUTE) {
2213
+ return [3 /*break*/, 6];
2214
+ }
2215
+ else if (state === exports.ExecuteState.STOP) {
2216
+ return [2 /*return*/, raws];
2217
+ }
2218
+ _3.label = 5;
2219
+ case 5:
2220
+ _z++;
2221
+ return [3 /*break*/, 3];
2222
+ case 6:
2223
+ _i++;
2224
+ return [3 /*break*/, 1];
2225
+ case 7:
2226
+ this.applyEvent(obj, genNode, config);
2227
+ this.replaceBody(genNode); // 중요 여기서 마지막에 연션된 값을 그려준다.
2228
+ drAttrs.forEach(function (it) {
2229
+ if (it.drCompleteOption) {
2230
+ // genNode.childNodes
2231
+ var render = Object.freeze({
2232
+ rawset: _this,
2233
+ fag: genNode,
2234
+ scripts: EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
2235
+ });
2236
+ ScriptUtils.eval("\n const ".concat(EventManager.FAG_VARNAME, " = this.__render.fag;\n const ").concat(EventManager.SCRIPTS_VARNAME, " = this.__render.scripts;\n const ").concat(EventManager.RAWSET_VARNAME, " = this.__render.rawset;\n ").concat(it.drCompleteOption), Object.assign(obj, { __render: render }));
2237
+ }
2238
+ });
2239
+ // 중요 style isolation 나중에 :scope로 대체 가능할듯.
2240
+ RawSet.generateStyleSheetsLocal();
2241
+ for (_0 = 0, onThisComponentSetCallBacks_1 = onThisComponentSetCallBacks; _0 < onThisComponentSetCallBacks_1.length; _0++) {
2242
+ it_1 = onThisComponentSetCallBacks_1[_0];
2243
+ (_p = (_o = it_1.obj) === null || _o === void 0 ? void 0 : _o.onInitRender) === null || _p === void 0 ? void 0 : _p.call(_o);
2244
+ }
2245
+ for (_1 = 0, onElementInitCallBacks_1 = onElementInitCallBacks; _1 < onElementInitCallBacks_1.length; _1++) {
2246
+ it_2 = onElementInitCallBacks_1[_1];
2247
+ if (((_r = (_q = it_2.targetElement) === null || _q === void 0 ? void 0 : _q.__render) === null || _r === void 0 ? void 0 : _r.element) && ((_t = (_s = it_2.targetElement) === null || _s === void 0 ? void 0 : _s.__render) === null || _t === void 0 ? void 0 : _t.component)) {
2248
+ oninit = it_2.targetElement.__render.element.getAttribute(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);
2249
+ param = [];
2250
+ if (oninit) {
2251
+ script = "".concat(it_2.targetElement.__render.renderScript, " return ").concat(oninit, " ");
2252
+ param = ScriptUtils.eval(script, Object.assign(obj, {
2253
+ __render: it_2.targetElement.__render
2254
+ }));
2255
+ if (!Array.isArray(param)) {
2256
+ param = [param];
2257
+ }
2258
+ }
2259
+ (_v = (_u = it_2.targetElement.__render.component).onInitRender) === null || _v === void 0 ? void 0 : _v.call.apply(_v, __spreadArray([_u], param, false));
2260
+ }
2261
+ (_w = config === null || config === void 0 ? void 0 : config.onElementInit) === null || _w === void 0 ? void 0 : _w.call(config, it_2.name, obj, this, it_2.targetElement);
2262
+ }
2263
+ // TODO: 이부분도 위에 targetElement 처럼 해야될까?
2264
+ for (_2 = 0, onAttrInitCallBacks_1 = onAttrInitCallBacks; _2 < onAttrInitCallBacks_1.length; _2++) {
2265
+ it_3 = onAttrInitCallBacks_1[_2];
2266
+ (_x = config === null || config === void 0 ? void 0 : config.onAttrInit) === null || _x === void 0 ? void 0 : _x.call(config, it_3.attrName, it_3.attrValue, obj, this);
2267
+ }
2268
+ // component destroy
2269
+ if (obj.__domrender_components) {
2270
+ Object.entries(obj.__domrender_components).forEach(function (_a) {
2271
+ var _b, _c;
2272
+ var key = _a[0], value = _a[1];
2273
+ var domrenderComponentNew = value.__domrender_component_new;
2274
+ var rawSet = domrenderComponentNew === null || domrenderComponentNew === void 0 ? void 0 : domrenderComponentNew.rawSet;
2275
+ var drAttrs = domrenderComponentNew === null || domrenderComponentNew === void 0 ? void 0 : domrenderComponentNew.drAttrs;
2276
+ if (rawSet && !rawSet.isConnected) {
2277
+ // const domrenderComponent = obj.__domrender_components[key];
2278
+ // console.log('component destroy--->', key, rawSet, rawSet.isConnected, domrenderComponent.name, domrenderComponent);
2279
+ var destroyOptions = (_c = (_b = drAttrs === null || drAttrs === void 0 ? void 0 : drAttrs.drDestroyOption) === null || _b === void 0 ? void 0 : _b.split(',')) !== null && _c !== void 0 ? _c : [];
2280
+ RawSet.destroy(obj.__domrender_components[key], [domrenderComponentNew], config, destroyOptions);
2281
+ delete obj.__domrender_components[key];
2282
+ }
2283
+ });
2284
+ }
2285
+ return [2 /*return*/, raws];
2042
2286
  }
2043
2287
  });
2044
- }
2045
- return raws;
2288
+ });
2046
2289
  };
2047
2290
  RawSet.generateStyleSheetsLocal = function () {
2048
2291
  Array.from(window.document.styleSheets).filter(function (it) { return it.ownerNode && it.ownerNode instanceof Element && it.ownerNode.hasAttribute('domstyle') && it.ownerNode.getAttribute('id') && !it.ownerNode.getAttribute('completed'); }).forEach(function (it) {
@@ -2406,54 +2649,95 @@ var RawSet = /** @class */ (function () {
2406
2649
  });
2407
2650
  };
2408
2651
  RawSet.drThisCreate = function (rawSet, element, drThis, drVarOption, drStripOption, obj, config, set) {
2409
- var _a, _b, _c, _d;
2410
- var fag = config.window.document.createDocumentFragment();
2411
- var n = element.cloneNode(true);
2412
- // console.log('--------',n, n.innerHTML)
2413
- if (set) {
2414
- // const id = RandomUtils.getRandomString(20);
2415
- var style = RawSet.generateStyleTransform((_a = set.styles) !== null && _a !== void 0 ? _a : [], rawSet.uuid, true);
2416
- n.innerHTML = style + ((_b = set.template) !== null && _b !== void 0 ? _b : '');
2417
- // const metaStart = RawSet.metaStart(id);
2418
- // const metaEnd = RawSet.metaEnd(id);
2419
- // n.innerHTML = metaStart + style + (set.template ?? '') + metaEnd;
2420
- // dr-on-create onCreateRender
2421
- var onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
2422
- var renderScript = '';
2423
- var createParam = [];
2424
- if (onCreate) {
2425
- var script = "".concat(renderScript, " return ").concat(onCreate, " ");
2426
- createParam = ScriptUtils.eval(script, obj);
2427
- if (!Array.isArray(createParam)) {
2428
- createParam = [createParam];
2652
+ var _a, _b, _c, _d, _e;
2653
+ return __awaiter(this, void 0, void 0, function () {
2654
+ var fag, n, stylePromises, templatePromise, _f, i, it_5, _g, _h, _j, _k, _l, style, onCreate, renderScript, createParam, script, oninit, script, thisRandom, vars;
2655
+ return __generator(this, function (_m) {
2656
+ switch (_m.label) {
2657
+ case 0:
2658
+ fag = config.window.document.createDocumentFragment();
2659
+ n = element.cloneNode(true);
2660
+ if (!set) return [3 /*break*/, 12];
2661
+ stylePromises = [];
2662
+ if (!(set.template && set.template.startsWith('lazy://'))) return [3 /*break*/, 2];
2663
+ return [4 /*yield*/, fetch(set.template.substring(6))];
2664
+ case 1:
2665
+ _f = (_m.sent()).text();
2666
+ return [3 /*break*/, 3];
2667
+ case 2:
2668
+ _f = Promise.resolve(set.template);
2669
+ _m.label = 3;
2670
+ case 3:
2671
+ templatePromise = (_f);
2672
+ i = 0;
2673
+ _m.label = 4;
2674
+ case 4:
2675
+ if (!(set.styles && i < ((_a = set.styles.length) !== null && _a !== void 0 ? _a : 0))) return [3 /*break*/, 9];
2676
+ it_5 = set.styles[i];
2677
+ _h = (_g = stylePromises).push;
2678
+ if (!it_5.startsWith('lazy://')) return [3 /*break*/, 6];
2679
+ return [4 /*yield*/, fetch(it_5.substring(6))];
2680
+ case 5:
2681
+ _j = (_m.sent()).text();
2682
+ return [3 /*break*/, 7];
2683
+ case 6:
2684
+ _j = Promise.resolve(it_5);
2685
+ _m.label = 7;
2686
+ case 7:
2687
+ _h.apply(_g, [_j]);
2688
+ _m.label = 8;
2689
+ case 8:
2690
+ i++;
2691
+ return [3 /*break*/, 4];
2692
+ case 9:
2693
+ _k = set;
2694
+ return [4 /*yield*/, templatePromise];
2695
+ case 10:
2696
+ _k.template = _m.sent();
2697
+ _l = set;
2698
+ return [4 /*yield*/, Promise.all(stylePromises)];
2699
+ case 11:
2700
+ _l.styles = _m.sent();
2701
+ style = RawSet.generateStyleTransform((_b = set.styles) !== null && _b !== void 0 ? _b : [], rawSet.uuid, true);
2702
+ n.innerHTML = style + ((_c = set.template) !== null && _c !== void 0 ? _c : '');
2703
+ onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
2704
+ renderScript = '';
2705
+ createParam = [];
2706
+ if (onCreate) {
2707
+ script = "".concat(renderScript, " return ").concat(onCreate, " ");
2708
+ createParam = ScriptUtils.eval(script, obj);
2709
+ if (!Array.isArray(createParam)) {
2710
+ createParam = [createParam];
2711
+ }
2712
+ }
2713
+ (_e = (_d = set.obj) === null || _d === void 0 ? void 0 : _d.onCreateRender) === null || _e === void 0 ? void 0 : _e.call.apply(_e, __spreadArray([_d], createParam, false));
2714
+ oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME);
2715
+ if (oninit) {
2716
+ script = "".concat(renderScript, " ").concat(oninit, " ");
2717
+ ScriptUtils.eval(script, obj);
2718
+ }
2719
+ _m.label = 12;
2720
+ case 12:
2721
+ n.querySelectorAll(eventManager.attrNames.map(function (it) { return "[".concat(it, "]"); }).join(',')).forEach(function (it) {
2722
+ it.setAttribute(EventManager.ownerVariablePathAttrName, 'this');
2723
+ });
2724
+ thisRandom = this.drThisEncoding(n, drThis);
2725
+ vars = this.drVarEncoding(n, drVarOption);
2726
+ this.drVarDecoding(n, vars);
2727
+ this.drThisDecoding(n, thisRandom);
2728
+ if (drStripOption && (drStripOption === true || drStripOption === 'true')) {
2729
+ // console.log('------childNodes', Array.from(n.childNodes))
2730
+ Array.from(n.childNodes).forEach(function (it) { return fag.append(it); });
2731
+ }
2732
+ else {
2733
+ fag.append(n);
2734
+ }
2735
+ fag.__domrender_this_variable_name = drThis;
2736
+ // console.log('set __domrender_this_variable_name', (fag as any).__domrender_this_variable_name)
2737
+ return [2 /*return*/, fag];
2429
2738
  }
2430
- }
2431
- (_d = (_c = set.obj) === null || _c === void 0 ? void 0 : _c.onCreateRender) === null || _d === void 0 ? void 0 : _d.call.apply(_d, __spreadArray([_c], createParam, false));
2432
- // dr-on-component-init
2433
- // const oninit = element.getAttribute(`${EventManager.attrPrefix}on-component-init`); // dr-on-component-init
2434
- var oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME); // dr-on-component-init
2435
- if (oninit) {
2436
- var script = "".concat(renderScript, " ").concat(oninit, " ");
2437
- ScriptUtils.eval(script, obj);
2438
- }
2439
- }
2440
- n.querySelectorAll(eventManager.attrNames.map(function (it) { return "[".concat(it, "]"); }).join(',')).forEach(function (it) {
2441
- it.setAttribute(EventManager.ownerVariablePathAttrName, 'this');
2739
+ });
2442
2740
  });
2443
- var thisRandom = this.drThisEncoding(n, drThis);
2444
- var vars = this.drVarEncoding(n, drVarOption);
2445
- this.drVarDecoding(n, vars);
2446
- this.drThisDecoding(n, thisRandom);
2447
- if (drStripOption && (drStripOption === true || drStripOption === 'true')) {
2448
- // console.log('------childNodes', Array.from(n.childNodes))
2449
- Array.from(n.childNodes).forEach(function (it) { return fag.append(it); });
2450
- }
2451
- else {
2452
- fag.append(n);
2453
- }
2454
- fag.__domrender_this_variable_name = drThis;
2455
- // console.log('set __domrender_this_variable_name', (fag as any).__domrender_this_variable_name)
2456
- return fag;
2457
2741
  };
2458
2742
  RawSet.createComponentTargetAttribute = function (name, getThisObj, factory) {
2459
2743
  var targetAttribute = {
@@ -2484,115 +2768,163 @@ var RawSet = /** @class */ (function () {
2484
2768
  styles: styles,
2485
2769
  template: template,
2486
2770
  callBack: function (element, obj, rawSet, attrs, config) {
2487
- var _a, _b, _c, _d, _e, _f;
2488
- // console.log('callback------->', element)
2489
- if (!obj.__domrender_components) {
2490
- obj.__domrender_components = {};
2491
- }
2492
- var domrenderComponents = obj.__domrender_components;
2493
- // const componentKey = '_' + RandomUtils.getRandomString(20);
2494
- var componentKey = rawSet.uuid;
2495
- var attribute = DomUtils.getAttributeToObject(element);
2496
- var renderScript = 'var $component = this.__render.component; var $element = this.__render.element; var $router = this.__render.router; var $innerHTML = this.__render.innerHTML; var $attribute = this.__render.attribute; var $creatorMetaData = this.__render.creatorMetaData;';
2497
- var render = Object.freeze({
2498
- renderScript: renderScript,
2499
- element: element,
2500
- innerHTML: element.innerHTML,
2501
- attribute: attribute,
2502
- rawset: rawSet,
2503
- router: config.router,
2504
- componentKey: componentKey,
2505
- scripts: EventManager.setBindProperty((_a = config.scripts) !== null && _a !== void 0 ? _a : {}, obj)
2506
- // eslint-disable-next-line no-use-before-define
2507
- });
2508
- var constructor = element.getAttribute(RawSet.DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME);
2509
- var constructorParam = [];
2510
- // dr-constructor
2511
- if (constructor) {
2512
- var script = "".concat(renderScript, " return ").concat(constructor, " ");
2513
- var param = (_b = ScriptUtils.eval(script, Object.assign(obj, { __render: render }))) !== null && _b !== void 0 ? _b : [];
2514
- if (!Array.isArray(param)) {
2515
- param = [param];
2516
- }
2517
- constructorParam = param;
2518
- }
2519
- // console.log('------22', attrs);
2520
- domrenderComponents[componentKey] = objFactory(element, obj, rawSet, constructorParam);
2521
- var instance = domrenderComponents[componentKey];
2522
- var i = instance.__domrender_component_new = ((_c = instance.__domrender_component_new) !== null && _c !== void 0 ? _c : new Proxy({}, new DomRenderFinalProxy()));
2523
- i.thisVariableName = rawSet.point.thisVariableName;
2524
- i.thisFullVariableName = "this.__domrender_components.".concat(componentKey);
2525
- i.componentKey = componentKey;
2526
- i.rawSet = rawSet;
2527
- i.attribute = attribute;
2528
- i.router = config.router;
2529
- i.scripts = render.scripts;
2530
- i.drAttrs = attrs;
2531
- i.innerHTML = element.innerHTML;
2532
- i.rootCreator = new Proxy(obj, new DomRenderFinalProxy());
2533
- i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new DomRenderFinalProxy());
2534
- this.__creatorMetaData = i;
2535
- render = __assign({ component: instance, creatorMetaData: i }, render);
2536
- // 중요 dr-normal-attr-map
2537
- var normalAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);
2538
- if (instance.onChangeAttrRender && normalAttrMap) {
2539
- new Map(JSON.parse(normalAttrMap)).forEach(function (value, key) {
2540
- var script = "".concat(renderScript, " return ").concat(value, " ");
2541
- var cval = ScriptUtils.eval(script, Object.assign(obj, { __render: render }));
2542
- // element.setAttribute(key, cval);
2543
- instance.onChangeAttrRender(key, cval);
2771
+ var _a, _b, _c, _d, _e, _f, _g;
2772
+ return __awaiter(this, void 0, void 0, function () {
2773
+ var stylePromises, templatePromise, _h, i_1, it_6, _j, _k, _l, _m, _o, domrenderComponents, componentKey, attribute, renderScript, render, constructor, constructorParam, script, param, instance, i, normalAttrMap, onCreate, createParam, script, applayTemplate, innerHTMLThisRandom, componentName, innerHTMLName, oninit, script, style, data, template_1;
2774
+ return __generator(this, function (_p) {
2775
+ switch (_p.label) {
2776
+ case 0:
2777
+ stylePromises = [];
2778
+ if (!(this.template && this.template.startsWith('lazy://'))) return [3 /*break*/, 2];
2779
+ return [4 /*yield*/, fetch(this.template.substring(6))];
2780
+ case 1:
2781
+ _h = (_p.sent()).text();
2782
+ return [3 /*break*/, 3];
2783
+ case 2:
2784
+ _h = Promise.resolve(this.template);
2785
+ _p.label = 3;
2786
+ case 3:
2787
+ templatePromise = (_h);
2788
+ i_1 = 0;
2789
+ _p.label = 4;
2790
+ case 4:
2791
+ if (!(this.styles && i_1 < this.styles.length)) return [3 /*break*/, 9];
2792
+ it_6 = this.styles[i_1];
2793
+ _k = (_j = stylePromises).push;
2794
+ if (!it_6.startsWith('lazy://')) return [3 /*break*/, 6];
2795
+ return [4 /*yield*/, fetch(it_6.substring(6))];
2796
+ case 5:
2797
+ _l = (_p.sent()).text();
2798
+ return [3 /*break*/, 7];
2799
+ case 6:
2800
+ _l = Promise.resolve(it_6);
2801
+ _p.label = 7;
2802
+ case 7:
2803
+ _k.apply(_j, [_l]);
2804
+ _p.label = 8;
2805
+ case 8:
2806
+ i_1++;
2807
+ return [3 /*break*/, 4];
2808
+ case 9:
2809
+ // const templateResponse = await templatePromise;
2810
+ // const styleResponses = await Promise.all(stylePromises);
2811
+ _m = this;
2812
+ return [4 /*yield*/, templatePromise];
2813
+ case 10:
2814
+ // const templateResponse = await templatePromise;
2815
+ // const styleResponses = await Promise.all(stylePromises);
2816
+ _m.template = _p.sent();
2817
+ _o = this;
2818
+ return [4 /*yield*/, Promise.all(stylePromises)];
2819
+ case 11:
2820
+ _o.styles = _p.sent();
2821
+ // console.log('targetsub-22-', this.styles)
2822
+ // console.log('targetsub-222-', this.template, this.styles)
2823
+ // Promise.all(promises).then([])
2824
+ // console.log('callback------->', element)
2825
+ if (!obj.__domrender_components) {
2826
+ obj.__domrender_components = {};
2827
+ }
2828
+ domrenderComponents = obj.__domrender_components;
2829
+ componentKey = rawSet.uuid;
2830
+ attribute = DomUtils.getAttributeToObject(element);
2831
+ renderScript = 'var $component = this.__render.component; var $element = this.__render.element; var $router = this.__render.router; var $innerHTML = this.__render.innerHTML; var $attribute = this.__render.attribute; var $creatorMetaData = this.__render.creatorMetaData;';
2832
+ render = Object.freeze({
2833
+ renderScript: renderScript,
2834
+ element: element,
2835
+ innerHTML: element.innerHTML,
2836
+ attribute: attribute,
2837
+ rawset: rawSet,
2838
+ router: config.router,
2839
+ componentKey: componentKey,
2840
+ scripts: EventManager.setBindProperty((_a = config.scripts) !== null && _a !== void 0 ? _a : {}, obj)
2841
+ // eslint-disable-next-line no-use-before-define
2842
+ });
2843
+ constructor = element.getAttribute(RawSet.DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME);
2844
+ constructorParam = [];
2845
+ // dr-constructor
2846
+ if (constructor) {
2847
+ script = "".concat(renderScript, " return ").concat(constructor, " ");
2848
+ param = (_b = ScriptUtils.eval(script, Object.assign(obj, { __render: render }))) !== null && _b !== void 0 ? _b : [];
2849
+ if (!Array.isArray(param)) {
2850
+ param = [param];
2851
+ }
2852
+ constructorParam = param;
2853
+ }
2854
+ // console.log('------22', attrs);
2855
+ domrenderComponents[componentKey] = objFactory(element, obj, rawSet, constructorParam);
2856
+ instance = domrenderComponents[componentKey];
2857
+ i = instance.__domrender_component_new = ((_c = instance.__domrender_component_new) !== null && _c !== void 0 ? _c : new Proxy({}, new DomRenderFinalProxy()));
2858
+ i.thisVariableName = rawSet.point.thisVariableName;
2859
+ i.thisFullVariableName = "this.__domrender_components.".concat(componentKey);
2860
+ i.componentKey = componentKey;
2861
+ i.rawSet = rawSet;
2862
+ i.attribute = attribute;
2863
+ i.router = config.router;
2864
+ i.scripts = render.scripts;
2865
+ i.drAttrs = attrs;
2866
+ i.innerHTML = element.innerHTML;
2867
+ i.rootCreator = new Proxy(obj, new DomRenderFinalProxy());
2868
+ i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new DomRenderFinalProxy());
2869
+ this.__creatorMetaData = i;
2870
+ render = __assign({ component: instance, creatorMetaData: i }, render);
2871
+ normalAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);
2872
+ if (instance.onChangeAttrRender && normalAttrMap) {
2873
+ new Map(JSON.parse(normalAttrMap)).forEach(function (value, key) {
2874
+ var script = "".concat(renderScript, " return ").concat(value, " ");
2875
+ var cval = ScriptUtils.eval(script, Object.assign(obj, { __render: render }));
2876
+ // element.setAttribute(key, cval);
2877
+ instance.onChangeAttrRender(key, cval);
2878
+ });
2879
+ }
2880
+ onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
2881
+ this.__render = render;
2882
+ createParam = [];
2883
+ if (onCreate) {
2884
+ script = "".concat(renderScript, " return ").concat(onCreate, " ");
2885
+ createParam = ScriptUtils.eval(script, Object.assign(obj, { __render: render }));
2886
+ if (!Array.isArray(createParam)) {
2887
+ createParam = [createParam];
2888
+ }
2889
+ }
2890
+ (_d = instance === null || instance === void 0 ? void 0 : instance.onCreateRender) === null || _d === void 0 ? void 0 : _d.call.apply(_d, __spreadArray([instance], createParam, false));
2891
+ applayTemplate = element.innerHTML;
2892
+ componentName = (_e = element.getAttribute(RawSet.DR_COMPONENT_NAME_OPTIONNAME)) !== null && _e !== void 0 ? _e : 'component';
2893
+ innerHTMLName = (_f = element.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME)) !== null && _f !== void 0 ? _f : 'innerHTML';
2894
+ if (applayTemplate) {
2895
+ // if (rawSet.point.thisVariableName) {
2896
+ // 넘어온 innerHTML에 this가 있으면 해당안되게 우선 치환.
2897
+ innerHTMLThisRandom = RandomUtils.uuid();
2898
+ applayTemplate = applayTemplate.replace(/this\./g, innerHTMLThisRandom);
2899
+ // }
2900
+ applayTemplate = applayTemplate.replace(RegExp("#".concat(componentName, "#"), 'g'), 'this');
2901
+ }
2902
+ // applayTemplate = template.replace(RegExp(`#${innerHTMLName}#`, 'g'), applayTemplate);
2903
+ applayTemplate = ((_g = this.template) !== null && _g !== void 0 ? _g : '').replace(RegExp("#".concat(innerHTMLName, "#"), 'g'), applayTemplate);
2904
+ oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME);
2905
+ if (oninit) {
2906
+ script = "".concat(renderScript, " ").concat(oninit, " ");
2907
+ ScriptUtils.eval(script, Object.assign(obj, {
2908
+ __render: render
2909
+ }));
2910
+ }
2911
+ style = RawSet.generateStyleTransform(this.styles, componentKey, true);
2912
+ element.innerHTML = style + (applayTemplate !== null && applayTemplate !== void 0 ? applayTemplate : '');
2913
+ return [4 /*yield*/, RawSet.drThisCreate(rawSet, element, "this.__domrender_components.".concat(componentKey), '', true, obj, config)];
2914
+ case 12:
2915
+ data = _p.sent();
2916
+ // 넘어온 innerHTML에 this가 있는걸 다시 복호화해서 제대로 작동하도록한다.
2917
+ if (innerHTMLThisRandom) {
2918
+ template_1 = config.window.document.createElement('template');
2919
+ template_1.content.append(data);
2920
+ template_1.innerHTML = template_1.innerHTML.replace(RegExp(innerHTMLThisRandom, 'g'), 'this.');
2921
+ data = template_1.content;
2922
+ }
2923
+ data.render = render;
2924
+ return [2 /*return*/, data];
2925
+ }
2544
2926
  });
2545
- }
2546
- // dr-on-create onCreateRender
2547
- var onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
2548
- this.__render = render;
2549
- var createParam = [];
2550
- if (onCreate) {
2551
- var script = "".concat(renderScript, " return ").concat(onCreate, " ");
2552
- createParam = ScriptUtils.eval(script, Object.assign(obj, { __render: render }));
2553
- if (!Array.isArray(createParam)) {
2554
- createParam = [createParam];
2555
- }
2556
- }
2557
- (_d = instance === null || instance === void 0 ? void 0 : instance.onCreateRender) === null || _d === void 0 ? void 0 : _d.call.apply(_d, __spreadArray([instance], createParam, false));
2558
- var applayTemplate = element.innerHTML;
2559
- var innerHTMLThisRandom;
2560
- var componentName = (_e = element.getAttribute(RawSet.DR_COMPONENT_NAME_OPTIONNAME)) !== null && _e !== void 0 ? _e : 'component';
2561
- var innerHTMLName = (_f = element.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME)) !== null && _f !== void 0 ? _f : 'innerHTML';
2562
- if (applayTemplate) {
2563
- // if (rawSet.point.thisVariableName) {
2564
- // 넘어온 innerHTML에 this가 있으면 해당안되게 우선 치환.
2565
- innerHTMLThisRandom = RandomUtils.uuid();
2566
- applayTemplate = applayTemplate.replace(/this\./g, innerHTMLThisRandom);
2567
- // }
2568
- applayTemplate = applayTemplate.replace(RegExp("#".concat(componentName, "#"), 'g'), 'this');
2569
- }
2570
- applayTemplate = template.replace(RegExp("#".concat(innerHTMLName, "#"), 'g'), applayTemplate);
2571
- // dr-on-component-init
2572
- // const oninit = element.getAttribute(`${EventManager.attrPrefix}on-component-init`); // dr-on-component-init
2573
- var oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME); // dr-on-component-init
2574
- if (oninit) {
2575
- var script = "".concat(renderScript, " ").concat(oninit, " ");
2576
- ScriptUtils.eval(script, Object.assign(obj, {
2577
- __render: render
2578
- }));
2579
- }
2580
- var style = RawSet.generateStyleTransform(styles, componentKey, true);
2581
- element.innerHTML = style + (applayTemplate !== null && applayTemplate !== void 0 ? applayTemplate : '');
2582
- // const metaStart = RawSet.metaStart(componentKey);
2583
- // const metaEnd = RawSet.metaEnd(componentKey);
2584
- // element.innerHTML = metaStart + style + (applayTemplate ?? '') + metaEnd;
2585
- // console.log('------>', element.innerHTML, obj)
2586
- var data = RawSet.drThisCreate(rawSet, element, "this.__domrender_components.".concat(componentKey), '', true, obj, config);
2587
- // 넘어온 innerHTML에 this가 있는걸 다시 복호화해서 제대로 작동하도록한다.
2588
- if (innerHTMLThisRandom) {
2589
- var template_1 = config.window.document.createElement('template');
2590
- template_1.content.append(data);
2591
- template_1.innerHTML = template_1.innerHTML.replace(RegExp(innerHTMLThisRandom, 'g'), 'this.');
2592
- data = template_1.content;
2593
- }
2594
- data.render = render;
2595
- return data;
2927
+ });
2596
2928
  }
2597
2929
  // complete
2598
2930
  };
@@ -2628,7 +2960,7 @@ var RawSet = /** @class */ (function () {
2628
2960
  }
2629
2961
  }
2630
2962
  };
2631
- RawSet.DR = 'dr';
2963
+ RawSet.DR_NAME = 'dr';
2632
2964
  RawSet.DR_IF_NAME = 'dr-if';
2633
2965
  RawSet.DR_FOR_NAME = 'dr-for';
2634
2966
  RawSet.DR_FOR_OF_NAME = 'dr-for-of';
@@ -2655,7 +2987,7 @@ var RawSet = /** @class */ (function () {
2655
2987
  RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME = 'dr-on-init:arguments';
2656
2988
  RawSet.DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME = 'dr-on-constructor:arguments';
2657
2989
  RawSet.drAttrsOriginName = {
2658
- dr: RawSet.DR,
2990
+ dr: RawSet.DR_NAME,
2659
2991
  drIf: RawSet.DR_IF_NAME,
2660
2992
  drFor: RawSet.DR_FOR_NAME,
2661
2993
  drForOf: RawSet.DR_FOR_OF_NAME,
@@ -2676,7 +3008,7 @@ var RawSet = /** @class */ (function () {
2676
3008
  drDestroyOption: RawSet.DR_DESTROY_OPTIONNAME
2677
3009
  };
2678
3010
  RawSet.DR_TAGS = [];
2679
- RawSet.DR_ATTRIBUTES = [RawSet.DR, RawSet.DR_APPENDER_NAME, RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_FOR_NAME, RawSet.DR_THIS_NAME, RawSet.DR_FORM_NAME, RawSet.DR_PRE_NAME, RawSet.DR_INNERHTML_NAME, RawSet.DR_INNERTEXT_NAME, RawSet.DR_REPEAT_NAME, RawSet.DR_DETECT_NAME];
3011
+ RawSet.DR_ATTRIBUTES = [RawSet.DR_NAME, RawSet.DR_APPENDER_NAME, RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_FOR_NAME, RawSet.DR_THIS_NAME, RawSet.DR_FORM_NAME, RawSet.DR_PRE_NAME, RawSet.DR_INNERHTML_NAME, RawSet.DR_INNERTEXT_NAME, RawSet.DR_REPEAT_NAME, RawSet.DR_DETECT_NAME];
2680
3012
  return RawSet;
2681
3013
  }());
2682
3014
 
@@ -2718,6 +3050,7 @@ var DomRenderProxy = /** @class */ (function () {
2718
3050
  // console.log('target-------->')
2719
3051
  var filter = (_b = (_a = _this.config.proxyExcludeTyps) === null || _a === void 0 ? void 0 : _a.filter(function (it) { return target instanceof it; })) !== null && _b !== void 0 ? _b : [];
2720
3052
  if (filter.length === 0) {
3053
+ // console.log('--------', objProxy, target, it)
2721
3054
  var proxyAfter = _this.proxy(objProxy, target, it);
2722
3055
  obj[it] = proxyAfter;
2723
3056
  }
@@ -2782,67 +3115,88 @@ var DomRenderProxy = /** @class */ (function () {
2782
3115
  };
2783
3116
  // 중요 important
2784
3117
  DomRenderProxy.prototype.render = function (raws, fullPathStr) {
2785
- var _this = this;
2786
- if (typeof raws === 'string') {
2787
- var iter = this._rawSets.get(raws);
2788
- if (iter) {
2789
- raws = Array.from(iter);
2790
- }
2791
- else {
2792
- raws = undefined;
2793
- }
2794
- }
2795
- var removeRawSets = [];
2796
- (raws !== null && raws !== void 0 ? raws : this.getRawSets()).forEach(function (it) {
2797
- var _a, _b, _c;
2798
- it.getUsingTriggerVariables(_this.config).forEach(function (path) { return _this.addRawSet(path, it); });
2799
- // console.log('------->', it, it.isConnected);
2800
- if (it.isConnected) {
2801
- // 중요 render될때 targetAttribute 체크 해야함.
2802
- var targetAttrMap = (_b = (_a = it.point.node) === null || _a === void 0 ? void 0 : _a.getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, EventManager.normalAttrMapAttrName);
2803
- if ((_c = it.detect) === null || _c === void 0 ? void 0 : _c.action) {
2804
- it.detect.action();
2805
- }
2806
- else if (it.type === exports.RawSetType.TARGET_ELEMENT && it.data && fullPathStr && targetAttrMap && it.fragment.render) {
2807
- new Map(JSON.parse(targetAttrMap)).forEach(function (v, k) {
2808
- // it?.data.onChangeAttrRender(k, null, v);
2809
- var isUsing = EventManager.isUsingThisVar(v, "this.".concat(fullPathStr));
2810
- if (isUsing) {
2811
- var render = it.fragment.render;
2812
- // console.log('render-->', (it.fragment as any).render)
2813
- var script = "".concat(render.renderScript, " return ").concat(v, " ");
2814
- var cval = ScriptUtils.eval(script, Object.assign(_this._domRender_proxy, { __render: render }));
2815
- it.data.onChangeAttrRender(k, cval);
3118
+ var _a, _b, _c;
3119
+ return __awaiter(this, void 0, void 0, function () {
3120
+ var iter, removeRawSets, rawSets, _loop_1, this_1, _i, rawSets_1, it_1;
3121
+ var _this = this;
3122
+ return __generator(this, function (_d) {
3123
+ switch (_d.label) {
3124
+ case 0:
3125
+ if (typeof raws === 'string') {
3126
+ iter = this._rawSets.get(raws);
3127
+ if (iter) {
3128
+ raws = Array.from(iter);
3129
+ }
3130
+ else {
3131
+ raws = undefined;
3132
+ }
2816
3133
  }
2817
- // console.log('---?', v, fullPathStr, isUsing);
2818
- });
2819
- // ------------------->
2820
- }
2821
- else {
2822
- // console.log('---rawSets->', it)
2823
- var rawSets = it.render(_this._domRender_proxy, _this.config);
2824
- // console.log('---rawSets->', rawSets)
2825
- // 대상 attribute 있으면
2826
- // const targetAttrs = (it.point.node as Element).getAttribute(EventManager.normalAttrMapAttrName);
2827
- // if (it?.data.onChangeAttrRender && it.type === RawSetType.TARGET_ELEMENT && targetAttrs) {
2828
- // new Map<string, string>(JSON.parse(targetAttrs)).forEach((v, k) => {
2829
- // it?.data.onChangeAttrRender(k, null, v);
2830
- // });
2831
- // }
2832
- // 그외 자식들 render
2833
- if (rawSets && rawSets.length > 0) {
2834
- _this.render(rawSets);
2835
- }
3134
+ removeRawSets = [];
3135
+ rawSets = raws !== null && raws !== void 0 ? raws : this.getRawSets();
3136
+ _loop_1 = function (it_1) {
3137
+ var targetAttrMap, rawSets_2;
3138
+ return __generator(this, function (_e) {
3139
+ switch (_e.label) {
3140
+ case 0:
3141
+ it_1.getUsingTriggerVariables(this_1.config).forEach(function (path) { return _this.addRawSet(path, it_1); });
3142
+ if (!it_1.isConnected) return [3 /*break*/, 5];
3143
+ targetAttrMap = (_b = (_a = it_1.point.node) === null || _a === void 0 ? void 0 : _a.getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, EventManager.normalAttrMapAttrName);
3144
+ if (!((_c = it_1.detect) === null || _c === void 0 ? void 0 : _c.action)) return [3 /*break*/, 1];
3145
+ it_1.detect.action();
3146
+ return [3 /*break*/, 4];
3147
+ case 1:
3148
+ if (!(it_1.type === exports.RawSetType.TARGET_ELEMENT && it_1.data && fullPathStr && targetAttrMap && it_1.fragment.render)) return [3 /*break*/, 2];
3149
+ new Map(JSON.parse(targetAttrMap)).forEach(function (v, k) {
3150
+ var _a;
3151
+ // it?.data.onChangeAttrRender(k, null, v);
3152
+ var isUsing = EventManager.isUsingThisVar(v, "this.".concat(fullPathStr));
3153
+ if (isUsing) {
3154
+ var render = it_1.fragment.render;
3155
+ // console.log('render-->', (it.fragment as any).render)
3156
+ var script = "".concat(render.renderScript, " return ").concat(v, " ");
3157
+ var cval = ScriptUtils.eval(script, Object.assign((_a = _this._domRender_proxy) !== null && _a !== void 0 ? _a : {}, { __render: render }));
3158
+ it_1.data.onChangeAttrRender(k, cval);
3159
+ }
3160
+ // console.log('---?', v, fullPathStr, isUsing);
3161
+ });
3162
+ return [3 /*break*/, 4];
3163
+ case 2: return [4 /*yield*/, it_1.render(this_1._domRender_proxy, this_1.config)];
3164
+ case 3:
3165
+ rawSets_2 = _e.sent();
3166
+ // 그외 자식들 render
3167
+ if (rawSets_2 && rawSets_2.length > 0) {
3168
+ this_1.render(rawSets_2);
3169
+ }
3170
+ _e.label = 4;
3171
+ case 4: return [3 /*break*/, 6];
3172
+ case 5:
3173
+ removeRawSets.push(it_1);
3174
+ _e.label = 6;
3175
+ case 6: return [2 /*return*/];
3176
+ }
3177
+ });
3178
+ };
3179
+ this_1 = this;
3180
+ _i = 0, rawSets_1 = rawSets;
3181
+ _d.label = 1;
3182
+ case 1:
3183
+ if (!(_i < rawSets_1.length)) return [3 /*break*/, 4];
3184
+ it_1 = rawSets_1[_i];
3185
+ return [5 /*yield**/, _loop_1(it_1)];
3186
+ case 2:
3187
+ _d.sent();
3188
+ _d.label = 3;
3189
+ case 3:
3190
+ _i++;
3191
+ return [3 /*break*/, 1];
3192
+ case 4:
3193
+ if (removeRawSets.length > 0) {
3194
+ this.removeRawSet.apply(this, removeRawSets);
3195
+ }
3196
+ return [2 /*return*/];
2836
3197
  }
2837
- }
2838
- else {
2839
- removeRawSets.push(it);
2840
- // this.removeRawSet(it)
2841
- }
3198
+ });
2842
3199
  });
2843
- if (removeRawSets.length > 0) {
2844
- this.removeRawSet.apply(this, removeRawSets);
2845
- }
2846
3200
  };
2847
3201
  DomRenderProxy.prototype.root = function (paths, value, lastDoneExecute) {
2848
3202
  var _this = this;
@@ -2954,14 +3308,14 @@ var DomRenderProxy = /** @class */ (function () {
2954
3308
  // return (p in target) ? (target as any)[p].bind(target) : (target as any)[p]
2955
3309
  // console.log('-->', p, Object.prototype.toString.call((target as any)[p]), (target as any)[p])
2956
3310
  // return (target as any)[p]
2957
- var it_1 = target[p];
2958
- if (it_1 && typeof it_1 === 'object' && ('_DomRender_isProxy' in it_1) && Object.prototype.toString.call(it_1._DomRender_origin) === '[object Date]') {
2959
- it_1 = it_1._DomRender_origin;
3311
+ var it_2 = target[p];
3312
+ if (it_2 && typeof it_2 === 'object' && ('_DomRender_isProxy' in it_2) && Object.prototype.toString.call(it_2._DomRender_origin) === '[object Date]') {
3313
+ it_2 = it_2._DomRender_origin;
2960
3314
  }
2961
3315
  if (('onBeforeReturnGet' in receiver) && typeof p === 'string' && !((_a = this.config.proxyExcludeOnBeforeReturnGets) !== null && _a !== void 0 ? _a : []).concat(excludeGetSetPropertys).includes(p)) {
2962
- (_c = (_b = receiver) === null || _b === void 0 ? void 0 : _b.onBeforeReturnGet) === null || _c === void 0 ? void 0 : _c.call(_b, p, it_1, this.root([p], it_1, false));
3316
+ (_c = (_b = receiver) === null || _b === void 0 ? void 0 : _b.onBeforeReturnGet) === null || _c === void 0 ? void 0 : _c.call(_b, p, it_2, this.root([p], it_2, false));
2963
3317
  }
2964
- return it_1;
3318
+ return it_2;
2965
3319
  }
2966
3320
  };
2967
3321
  DomRenderProxy.prototype.has = function (target, p) {
@@ -3112,6 +3466,16 @@ var Router = /** @class */ (function () {
3112
3466
  this.set(path, urlExpressionOrData, dataOrTitle !== null && dataOrTitle !== void 0 ? dataOrTitle : '');
3113
3467
  }
3114
3468
  this.attach();
3469
+ this.dispatchPopStateEvent();
3470
+ };
3471
+ Router.prototype.pushState = function (data, title, path) {
3472
+ this.window.history.pushState(data, title, path);
3473
+ };
3474
+ Router.prototype.dispatchPopStateEvent = function () {
3475
+ this.window.dispatchEvent(new Event('popstate'));
3476
+ };
3477
+ Router.prototype.reload = function () {
3478
+ this.window.dispatchEvent(new Event('popstate'));
3115
3479
  };
3116
3480
  Router.prototype.getPathData = function (urlExpression, currentUrl) {
3117
3481
  // console.log('getPathData-->', urlExpression, currentUrl);
@@ -3176,7 +3540,7 @@ var PathRouter = /** @class */ (function (_super) {
3176
3540
  };
3177
3541
  PathRouter.prototype.set = function (path, data, title) {
3178
3542
  if (title === void 0) { title = ''; }
3179
- this.window.history.pushState(data, title, path);
3543
+ _super.prototype.pushState.call(this, data, title, path);
3180
3544
  };
3181
3545
  PathRouter.prototype.getUrl = function () {
3182
3546
  var url = new URL(this.window.document.location.href);
@@ -3270,7 +3634,7 @@ var HashRouter = /** @class */ (function (_super) {
3270
3634
  HashRouter.prototype.set = function (path, data, title) {
3271
3635
  if (title === void 0) { title = ''; }
3272
3636
  path = '#' + path;
3273
- this.window.history.pushState(data, title, path);
3637
+ _super.prototype.pushState.call(this, data, title, path);
3274
3638
  };
3275
3639
  HashRouter.prototype.getUrl = function () {
3276
3640
  return LocationUtils.hash(this.window) || '/';
@@ -3485,7 +3849,7 @@ var DomRender = /** @class */ (function () {
3485
3849
  function DomRender() {
3486
3850
  }
3487
3851
  DomRender.run = function (obj, target, oConfig) {
3488
- var _a, _b, _c;
3852
+ var _a, _b, _c, _d;
3489
3853
  var robj = obj;
3490
3854
  if ('_DomRender_isProxy' in obj) {
3491
3855
  if (target) {
@@ -3512,6 +3876,10 @@ var DomRender = /** @class */ (function () {
3512
3876
  else if (config.routerType === 'hash') {
3513
3877
  config.router = (_c = config.router) !== null && _c !== void 0 ? _c : new HashRouter(robj, config.window);
3514
3878
  }
3879
+ else { // default
3880
+ config.routerType = 'hash';
3881
+ config.router = (_d = config.router) !== null && _d !== void 0 ? _d : new HashRouter(robj, config.window);
3882
+ }
3515
3883
  domRender.run(robj);
3516
3884
  return robj;
3517
3885
  };
@@ -3531,6 +3899,21 @@ var DomRender = /** @class */ (function () {
3531
3899
  return DomRender;
3532
3900
  }());
3533
3901
 
3902
+ var RenderManager = /** @class */ (function () {
3903
+ function RenderManager() {
3904
+ }
3905
+ RenderManager.render = function (obj, target) {
3906
+ if (target === void 0) { target = Object.keys(obj); }
3907
+ var domRenderProxy = obj._DomRender_proxy;
3908
+ if (domRenderProxy) {
3909
+ target.forEach(function (it) {
3910
+ domRenderProxy.root([it], obj[it]);
3911
+ });
3912
+ }
3913
+ };
3914
+ return RenderManager;
3915
+ }());
3916
+
3534
3917
  var Appender = /** @class */ (function () {
3535
3918
  function Appender(defaultDatas) {
3536
3919
  this.length = 0;
@@ -3584,34 +3967,6 @@ var Appender = /** @class */ (function () {
3584
3967
  return Appender;
3585
3968
  }());
3586
3969
 
3587
- var RenderManager = /** @class */ (function () {
3588
- function RenderManager() {
3589
- }
3590
- RenderManager.render = function (obj, target) {
3591
- if (target === void 0) { target = Object.keys(obj); }
3592
- var domRenderProxy = obj._DomRender_proxy;
3593
- if (domRenderProxy) {
3594
- target.forEach(function (it) {
3595
- domRenderProxy.root([it], obj[it]);
3596
- });
3597
- }
3598
- };
3599
- return RenderManager;
3600
- }());
3601
-
3602
- var CheckedValidator = /** @class */ (function (_super) {
3603
- __extends(CheckedValidator, _super);
3604
- function CheckedValidator(value, target, event, autoValid) {
3605
- if (autoValid === void 0) { autoValid = true; }
3606
- return _super.call(this, value, target, event, autoValid) || this;
3607
- }
3608
- CheckedValidator.prototype.valid = function () {
3609
- var _a, _b;
3610
- return (_b = (_a = this.getTarget()) === null || _a === void 0 ? void 0 : _a.checked) !== null && _b !== void 0 ? _b : false;
3611
- };
3612
- return CheckedValidator;
3613
- }(Validator));
3614
-
3615
3970
  var AllCheckedValidatorArray = /** @class */ (function (_super) {
3616
3971
  __extends(AllCheckedValidatorArray, _super);
3617
3972
  function AllCheckedValidatorArray(value, target, event, autoValid) {
@@ -3638,19 +3993,32 @@ var AllUnCheckedValidatorArray = /** @class */ (function (_super) {
3638
3993
  return AllUnCheckedValidatorArray;
3639
3994
  }(ValidatorArray));
3640
3995
 
3641
- var CountEqualsUnCheckedValidatorArray = /** @class */ (function (_super) {
3642
- __extends(CountEqualsUnCheckedValidatorArray, _super);
3643
- function CountEqualsUnCheckedValidatorArray(count, value, target, event, autoValid) {
3996
+ var CheckedValidator = /** @class */ (function (_super) {
3997
+ __extends(CheckedValidator, _super);
3998
+ function CheckedValidator(value, target, event, autoValid) {
3999
+ if (autoValid === void 0) { autoValid = true; }
4000
+ return _super.call(this, value, target, event, autoValid) || this;
4001
+ }
4002
+ CheckedValidator.prototype.valid = function () {
4003
+ var _a, _b;
4004
+ return (_b = (_a = this.getTarget()) === null || _a === void 0 ? void 0 : _a.checked) !== null && _b !== void 0 ? _b : false;
4005
+ };
4006
+ return CheckedValidator;
4007
+ }(Validator));
4008
+
4009
+ var CountEqualsCheckedValidatorArray = /** @class */ (function (_super) {
4010
+ __extends(CountEqualsCheckedValidatorArray, _super);
4011
+ function CountEqualsCheckedValidatorArray(count, value, target, event, autoValid) {
3644
4012
  if (autoValid === void 0) { autoValid = true; }
3645
4013
  var _this = _super.call(this, value, target, event, autoValid) || this;
3646
4014
  _this.count = count;
3647
4015
  return _this;
3648
4016
  }
3649
- CountEqualsUnCheckedValidatorArray.prototype.valid = function () {
4017
+ CountEqualsCheckedValidatorArray.prototype.valid = function () {
3650
4018
  var _a;
3651
- return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return !it.checked; }).length === this.count;
4019
+ return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return it.checked; }).length === this.count;
3652
4020
  };
3653
- return CountEqualsUnCheckedValidatorArray;
4021
+ return CountEqualsCheckedValidatorArray;
3654
4022
  }(ValidatorArray));
3655
4023
 
3656
4024
  var CountGreaterThanCheckedValidatorArray = /** @class */ (function (_super) {
@@ -3668,34 +4036,34 @@ var CountGreaterThanCheckedValidatorArray = /** @class */ (function (_super) {
3668
4036
  return CountGreaterThanCheckedValidatorArray;
3669
4037
  }(ValidatorArray));
3670
4038
 
3671
- var CountEqualsCheckedValidatorArray = /** @class */ (function (_super) {
3672
- __extends(CountEqualsCheckedValidatorArray, _super);
3673
- function CountEqualsCheckedValidatorArray(count, value, target, event, autoValid) {
4039
+ var CountEqualsUnCheckedValidatorArray = /** @class */ (function (_super) {
4040
+ __extends(CountEqualsUnCheckedValidatorArray, _super);
4041
+ function CountEqualsUnCheckedValidatorArray(count, value, target, event, autoValid) {
3674
4042
  if (autoValid === void 0) { autoValid = true; }
3675
4043
  var _this = _super.call(this, value, target, event, autoValid) || this;
3676
4044
  _this.count = count;
3677
4045
  return _this;
3678
4046
  }
3679
- CountEqualsCheckedValidatorArray.prototype.valid = function () {
4047
+ CountEqualsUnCheckedValidatorArray.prototype.valid = function () {
3680
4048
  var _a;
3681
- return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return it.checked; }).length === this.count;
4049
+ return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return !it.checked; }).length === this.count;
3682
4050
  };
3683
- return CountEqualsCheckedValidatorArray;
4051
+ return CountEqualsUnCheckedValidatorArray;
3684
4052
  }(ValidatorArray));
3685
4053
 
3686
- var CountLessThanEqualsCheckedValidatorArray = /** @class */ (function (_super) {
3687
- __extends(CountLessThanEqualsCheckedValidatorArray, _super);
3688
- function CountLessThanEqualsCheckedValidatorArray(count, value, target, event, autoValid) {
4054
+ var CountGreaterThanEqualsCheckedValidatorArray = /** @class */ (function (_super) {
4055
+ __extends(CountGreaterThanEqualsCheckedValidatorArray, _super);
4056
+ function CountGreaterThanEqualsCheckedValidatorArray(count, value, target, event, autoValid) {
3689
4057
  if (autoValid === void 0) { autoValid = true; }
3690
4058
  var _this = _super.call(this, value, target, event, autoValid) || this;
3691
4059
  _this.count = count;
3692
4060
  return _this;
3693
4061
  }
3694
- CountLessThanEqualsCheckedValidatorArray.prototype.valid = function () {
4062
+ CountGreaterThanEqualsCheckedValidatorArray.prototype.valid = function () {
3695
4063
  var _a;
3696
- return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return it.checked; }).length <= this.count;
4064
+ return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return it.checked; }).length >= this.count;
3697
4065
  };
3698
- return CountLessThanEqualsCheckedValidatorArray;
4066
+ return CountGreaterThanEqualsCheckedValidatorArray;
3699
4067
  }(ValidatorArray));
3700
4068
 
3701
4069
  var CountGreaterThanEqualsUnCheckedValidatorArray = /** @class */ (function (_super) {
@@ -3713,6 +4081,21 @@ var CountGreaterThanEqualsUnCheckedValidatorArray = /** @class */ (function (_su
3713
4081
  return CountGreaterThanEqualsUnCheckedValidatorArray;
3714
4082
  }(ValidatorArray));
3715
4083
 
4084
+ var CountLessThanCheckedValidatorArray = /** @class */ (function (_super) {
4085
+ __extends(CountLessThanCheckedValidatorArray, _super);
4086
+ function CountLessThanCheckedValidatorArray(count, value, target, event, autoValid) {
4087
+ if (autoValid === void 0) { autoValid = true; }
4088
+ var _this = _super.call(this, value, target, event, autoValid) || this;
4089
+ _this.count = count;
4090
+ return _this;
4091
+ }
4092
+ CountLessThanCheckedValidatorArray.prototype.valid = function () {
4093
+ var _a;
4094
+ return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return it.checked; }).length < this.count;
4095
+ };
4096
+ return CountLessThanCheckedValidatorArray;
4097
+ }(ValidatorArray));
4098
+
3716
4099
  var CountGreaterThanUnCheckedValidatorArray = /** @class */ (function (_super) {
3717
4100
  __extends(CountGreaterThanUnCheckedValidatorArray, _super);
3718
4101
  function CountGreaterThanUnCheckedValidatorArray(count, value, target, event, autoValid) {
@@ -3728,19 +4111,19 @@ var CountGreaterThanUnCheckedValidatorArray = /** @class */ (function (_super) {
3728
4111
  return CountGreaterThanUnCheckedValidatorArray;
3729
4112
  }(ValidatorArray));
3730
4113
 
3731
- var CountLessThanCheckedValidatorArray = /** @class */ (function (_super) {
3732
- __extends(CountLessThanCheckedValidatorArray, _super);
3733
- function CountLessThanCheckedValidatorArray(count, value, target, event, autoValid) {
4114
+ var CountLessThanEqualsCheckedValidatorArray = /** @class */ (function (_super) {
4115
+ __extends(CountLessThanEqualsCheckedValidatorArray, _super);
4116
+ function CountLessThanEqualsCheckedValidatorArray(count, value, target, event, autoValid) {
3734
4117
  if (autoValid === void 0) { autoValid = true; }
3735
4118
  var _this = _super.call(this, value, target, event, autoValid) || this;
3736
4119
  _this.count = count;
3737
4120
  return _this;
3738
4121
  }
3739
- CountLessThanCheckedValidatorArray.prototype.valid = function () {
4122
+ CountLessThanEqualsCheckedValidatorArray.prototype.valid = function () {
3740
4123
  var _a;
3741
- return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return it.checked; }).length < this.count;
4124
+ return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return it.checked; }).length <= this.count;
3742
4125
  };
3743
- return CountLessThanCheckedValidatorArray;
4126
+ return CountLessThanEqualsCheckedValidatorArray;
3744
4127
  }(ValidatorArray));
3745
4128
 
3746
4129
  var CountLessThanEqualsUnCheckedValidatorArray = /** @class */ (function (_super) {
@@ -3758,21 +4141,6 @@ var CountLessThanEqualsUnCheckedValidatorArray = /** @class */ (function (_super
3758
4141
  return CountLessThanEqualsUnCheckedValidatorArray;
3759
4142
  }(ValidatorArray));
3760
4143
 
3761
- var CountGreaterThanEqualsCheckedValidatorArray = /** @class */ (function (_super) {
3762
- __extends(CountGreaterThanEqualsCheckedValidatorArray, _super);
3763
- function CountGreaterThanEqualsCheckedValidatorArray(count, value, target, event, autoValid) {
3764
- if (autoValid === void 0) { autoValid = true; }
3765
- var _this = _super.call(this, value, target, event, autoValid) || this;
3766
- _this.count = count;
3767
- return _this;
3768
- }
3769
- CountGreaterThanEqualsCheckedValidatorArray.prototype.valid = function () {
3770
- var _a;
3771
- return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return it.checked; }).length >= this.count;
3772
- };
3773
- return CountGreaterThanEqualsCheckedValidatorArray;
3774
- }(ValidatorArray));
3775
-
3776
4144
  var CountUnCheckedValidatorArray = /** @class */ (function (_super) {
3777
4145
  __extends(CountUnCheckedValidatorArray, _super);
3778
4146
  function CountUnCheckedValidatorArray(count, value, target, event, autoValid) {
@@ -3788,20 +4156,19 @@ var CountUnCheckedValidatorArray = /** @class */ (function (_super) {
3788
4156
  return CountUnCheckedValidatorArray;
3789
4157
  }(ValidatorArray));
3790
4158
 
3791
- var CountLessThanUnCheckedValidatorArray = /** @class */ (function (_super) {
3792
- __extends(CountLessThanUnCheckedValidatorArray, _super);
3793
- function CountLessThanUnCheckedValidatorArray(count, value, target, event, autoValid) {
4159
+ var EmptyValidator = /** @class */ (function (_super) {
4160
+ __extends(EmptyValidator, _super);
4161
+ function EmptyValidator(value, target, event, autoValid) {
3794
4162
  if (autoValid === void 0) { autoValid = true; }
3795
- var _this = _super.call(this, value, target, event, autoValid) || this;
3796
- _this.count = count;
3797
- return _this;
4163
+ return _super.call(this, value, target, event, autoValid) || this;
3798
4164
  }
3799
- CountLessThanUnCheckedValidatorArray.prototype.valid = function () {
3800
- var _a;
3801
- return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return !it.checked; }).length < this.count;
4165
+ EmptyValidator.prototype.valid = function () {
4166
+ var _a, _b;
4167
+ var value = this.value;
4168
+ return value === undefined || value === null || ((_b = (_a = value) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) <= 0;
3802
4169
  };
3803
- return CountLessThanUnCheckedValidatorArray;
3804
- }(ValidatorArray));
4170
+ return EmptyValidator;
4171
+ }(Validator));
3805
4172
 
3806
4173
  var FormValidator = /** @class */ (function (_super) {
3807
4174
  __extends(FormValidator, _super);
@@ -3843,40 +4210,19 @@ var ExcludeCheckedValidatorArray = /** @class */ (function (_super) {
3843
4210
  return ExcludeCheckedValidatorArray;
3844
4211
  }(ValidatorArray));
3845
4212
 
3846
- var EmptyValidator = /** @class */ (function (_super) {
3847
- __extends(EmptyValidator, _super);
3848
- function EmptyValidator(value, target, event, autoValid) {
3849
- if (autoValid === void 0) { autoValid = true; }
3850
- return _super.call(this, value, target, event, autoValid) || this;
3851
- }
3852
- EmptyValidator.prototype.valid = function () {
3853
- var _a, _b;
3854
- var value = this.value;
3855
- return value === undefined || value === null || ((_b = (_a = value) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) <= 0;
3856
- };
3857
- return EmptyValidator;
3858
- }(Validator));
3859
-
3860
- var IncludeCheckedValidatorArray = /** @class */ (function (_super) {
3861
- __extends(IncludeCheckedValidatorArray, _super);
3862
- function IncludeCheckedValidatorArray(include, allRequired, value, target, event, autoValid) {
3863
- if (allRequired === void 0) { allRequired = false; }
4213
+ var CountLessThanUnCheckedValidatorArray = /** @class */ (function (_super) {
4214
+ __extends(CountLessThanUnCheckedValidatorArray, _super);
4215
+ function CountLessThanUnCheckedValidatorArray(count, value, target, event, autoValid) {
3864
4216
  if (autoValid === void 0) { autoValid = true; }
3865
4217
  var _this = _super.call(this, value, target, event, autoValid) || this;
3866
- _this.include = include;
3867
- _this.allRequired = allRequired;
4218
+ _this.count = count;
3868
4219
  return _this;
3869
4220
  }
3870
- IncludeCheckedValidatorArray.prototype.valid = function () {
3871
- var _this = this;
4221
+ CountLessThanUnCheckedValidatorArray.prototype.valid = function () {
3872
4222
  var _a;
3873
- var valus = (_a = this.value) !== null && _a !== void 0 ? _a : [];
3874
- var checkedValue = valus.filter(function (it) { return it.checked; }).map(function (it) { return it.value; });
3875
- return checkedValue.length > 0 &&
3876
- (!(checkedValue.filter(function (it) { return !_this.include.includes(it); }).length > 0)) &&
3877
- (this.allRequired ? checkedValue.filter(function (it) { return _this.include.includes(it); }).length === this.include.length : true);
4223
+ return ((_a = this.value) !== null && _a !== void 0 ? _a : []).filter(function (it) { return !it.checked; }).length < this.count;
3878
4224
  };
3879
- return IncludeCheckedValidatorArray;
4225
+ return CountLessThanUnCheckedValidatorArray;
3880
4226
  }(ValidatorArray));
3881
4227
 
3882
4228
  var MultipleValidator = /** @class */ (function (_super) {
@@ -3908,6 +4254,43 @@ var MultipleValidator = /** @class */ (function (_super) {
3908
4254
  return MultipleValidator;
3909
4255
  }(Validator));
3910
4256
 
4257
+ var IncludeCheckedValidatorArray = /** @class */ (function (_super) {
4258
+ __extends(IncludeCheckedValidatorArray, _super);
4259
+ function IncludeCheckedValidatorArray(include, allRequired, value, target, event, autoValid) {
4260
+ if (allRequired === void 0) { allRequired = false; }
4261
+ if (autoValid === void 0) { autoValid = true; }
4262
+ var _this = _super.call(this, value, target, event, autoValid) || this;
4263
+ _this.include = include;
4264
+ _this.allRequired = allRequired;
4265
+ return _this;
4266
+ }
4267
+ IncludeCheckedValidatorArray.prototype.valid = function () {
4268
+ var _this = this;
4269
+ var _a;
4270
+ var valus = (_a = this.value) !== null && _a !== void 0 ? _a : [];
4271
+ var checkedValue = valus.filter(function (it) { return it.checked; }).map(function (it) { return it.value; });
4272
+ return checkedValue.length > 0 &&
4273
+ (!(checkedValue.filter(function (it) { return !_this.include.includes(it); }).length > 0)) &&
4274
+ (this.allRequired ? checkedValue.filter(function (it) { return _this.include.includes(it); }).length === this.include.length : true);
4275
+ };
4276
+ return IncludeCheckedValidatorArray;
4277
+ }(ValidatorArray));
4278
+
4279
+ var NotEmptyValidator = /** @class */ (function (_super) {
4280
+ __extends(NotEmptyValidator, _super);
4281
+ function NotEmptyValidator(value, target, event, autoValid) {
4282
+ if (autoValid === void 0) { autoValid = true; }
4283
+ return _super.call(this, value, target, event, autoValid) || this;
4284
+ }
4285
+ NotEmptyValidator.prototype.valid = function () {
4286
+ var _a, _b;
4287
+ var value = this.value;
4288
+ // console.log('NotEmptyValidator', value, value !== undefined && value !== null && ((value as any)?.length ?? 0) > 0)
4289
+ return value !== undefined && value !== null && ((_b = (_a = value) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0;
4290
+ };
4291
+ return NotEmptyValidator;
4292
+ }(Validator));
4293
+
3911
4294
  var NotRegExpTestValidator = /** @class */ (function (_super) {
3912
4295
  __extends(NotRegExpTestValidator, _super);
3913
4296
  function NotRegExpTestValidator(regexp, value, target, event, autoValid) {
@@ -3930,32 +4313,16 @@ var NotRegExpTestValidator = /** @class */ (function (_super) {
3930
4313
  return NotRegExpTestValidator;
3931
4314
  }(Validator));
3932
4315
 
3933
- var UnCheckedValidator = /** @class */ (function (_super) {
3934
- __extends(UnCheckedValidator, _super);
3935
- function UnCheckedValidator(value, target, event, autoValid) {
3936
- if (autoValid === void 0) { autoValid = true; }
3937
- return _super.call(this, value, target, event, autoValid) || this;
3938
- }
3939
- UnCheckedValidator.prototype.valid = function () {
3940
- var _a, _b;
3941
- return !((_b = (_a = this.getTarget()) === null || _a === void 0 ? void 0 : _a.checked) !== null && _b !== void 0 ? _b : false);
3942
- };
3943
- return UnCheckedValidator;
3944
- }(Validator));
3945
-
3946
- var NotEmptyValidator = /** @class */ (function (_super) {
3947
- __extends(NotEmptyValidator, _super);
3948
- function NotEmptyValidator(value, target, event, autoValid) {
4316
+ var PassValidator = /** @class */ (function (_super) {
4317
+ __extends(PassValidator, _super);
4318
+ function PassValidator(value, target, event, autoValid) {
3949
4319
  if (autoValid === void 0) { autoValid = true; }
3950
4320
  return _super.call(this, value, target, event, autoValid) || this;
3951
4321
  }
3952
- NotEmptyValidator.prototype.valid = function () {
3953
- var _a, _b;
3954
- var value = this.value;
3955
- // console.log('NotEmptyValidator', value, value !== undefined && value !== null && ((value as any)?.length ?? 0) > 0)
3956
- return value !== undefined && value !== null && ((_b = (_a = value) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0;
4322
+ PassValidator.prototype.valid = function () {
4323
+ return true;
3957
4324
  };
3958
- return NotEmptyValidator;
4325
+ return PassValidator;
3959
4326
  }(Validator));
3960
4327
 
3961
4328
  var RegExpTestValidator = /** @class */ (function (_super) {
@@ -3981,18 +4348,6 @@ var RegExpTestValidator = /** @class */ (function (_super) {
3981
4348
  return RegExpTestValidator;
3982
4349
  }(Validator));
3983
4350
 
3984
- var PassValidator = /** @class */ (function (_super) {
3985
- __extends(PassValidator, _super);
3986
- function PassValidator(value, target, event, autoValid) {
3987
- if (autoValid === void 0) { autoValid = true; }
3988
- return _super.call(this, value, target, event, autoValid) || this;
3989
- }
3990
- PassValidator.prototype.valid = function () {
3991
- return true;
3992
- };
3993
- return PassValidator;
3994
- }(Validator));
3995
-
3996
4351
  var RequiredValidator = /** @class */ (function (_super) {
3997
4352
  __extends(RequiredValidator, _super);
3998
4353
  function RequiredValidator(value, target, event, autoValid) {
@@ -4022,6 +4377,19 @@ var ValidMultipleValidator = /** @class */ (function (_super) {
4022
4377
  return ValidMultipleValidator;
4023
4378
  }(MultipleValidator));
4024
4379
 
4380
+ var UnCheckedValidator = /** @class */ (function (_super) {
4381
+ __extends(UnCheckedValidator, _super);
4382
+ function UnCheckedValidator(value, target, event, autoValid) {
4383
+ if (autoValid === void 0) { autoValid = true; }
4384
+ return _super.call(this, value, target, event, autoValid) || this;
4385
+ }
4386
+ UnCheckedValidator.prototype.valid = function () {
4387
+ var _a, _b;
4388
+ return !((_b = (_a = this.getTarget()) === null || _a === void 0 ? void 0 : _a.checked) !== null && _b !== void 0 ? _b : false);
4389
+ };
4390
+ return UnCheckedValidator;
4391
+ }(Validator));
4392
+
4025
4393
  var ValidValidator = /** @class */ (function (_super) {
4026
4394
  __extends(ValidValidator, _super);
4027
4395
  function ValidValidator(validCallBack, value, target, event, autoValid) {
@@ -4050,20 +4418,6 @@ var ValidValidatorArray = /** @class */ (function (_super) {
4050
4418
  return ValidValidatorArray;
4051
4419
  }(ValidatorArray));
4052
4420
 
4053
- var ValueNotEqualsValidator = /** @class */ (function (_super) {
4054
- __extends(ValueNotEqualsValidator, _super);
4055
- function ValueNotEqualsValidator(equalsValue, value, target, event, autoValid) {
4056
- if (autoValid === void 0) { autoValid = true; }
4057
- var _this = _super.call(this, value, target, event, autoValid) || this;
4058
- _this.equalsValue = equalsValue;
4059
- return _this;
4060
- }
4061
- ValueNotEqualsValidator.prototype.valid = function () {
4062
- return this.value !== this.equalsValue;
4063
- };
4064
- return ValueNotEqualsValidator;
4065
- }(Validator));
4066
-
4067
4421
  var ValueEqualsValidator = /** @class */ (function (_super) {
4068
4422
  __extends(ValueEqualsValidator, _super);
4069
4423
  function ValueEqualsValidator(equalsValue, value, target, event, autoValid) {
@@ -4078,50 +4432,19 @@ var ValueEqualsValidator = /** @class */ (function (_super) {
4078
4432
  return ValueEqualsValidator;
4079
4433
  }(Validator));
4080
4434
 
4081
- var StorageUtils = /** @class */ (function () {
4082
- function StorageUtils() {
4435
+ var ValueNotEqualsValidator = /** @class */ (function (_super) {
4436
+ __extends(ValueNotEqualsValidator, _super);
4437
+ function ValueNotEqualsValidator(equalsValue, value, target, event, autoValid) {
4438
+ if (autoValid === void 0) { autoValid = true; }
4439
+ var _this = _super.call(this, value, target, event, autoValid) || this;
4440
+ _this.equalsValue = equalsValue;
4441
+ return _this;
4083
4442
  }
4084
- StorageUtils.setLocalStorageItem = function (k, v, window) {
4085
- if (typeof v === 'object') {
4086
- v = JSON.stringify(v);
4087
- }
4088
- window.localStorage.setItem(k, v);
4089
- };
4090
- StorageUtils.getLocalStorageItem = function (k, window) {
4091
- return window.localStorage.getItem(k);
4092
- };
4093
- StorageUtils.cutLocalStorageItem = function (k, window) {
4094
- var data = StorageUtils.getLocalStorageItem(k, window);
4095
- StorageUtils.removeLocalStorageItem(k, window);
4096
- return data;
4097
- };
4098
- StorageUtils.removeLocalStorageItem = function (k, window) {
4099
- return window.localStorage.removeItem(k);
4100
- };
4101
- StorageUtils.getLocalStorageJsonItem = function (k, window) {
4102
- var item = window.localStorage.getItem(k);
4103
- if (item) {
4104
- try {
4105
- return JSON.parse(item);
4106
- }
4107
- catch (e) {
4108
- return undefined;
4109
- }
4110
- }
4111
- else {
4112
- return undefined;
4113
- }
4114
- };
4115
- StorageUtils.cutLocalStorageJsonItem = function (k, window) {
4116
- var item = StorageUtils.getLocalStorageJsonItem(k, window);
4117
- StorageUtils.removeLocalStorageItem(k, window);
4118
- return item;
4119
- };
4120
- StorageUtils.clearLocalStorage = function (window) {
4121
- window.localStorage.clear();
4443
+ ValueNotEqualsValidator.prototype.valid = function () {
4444
+ return this.value !== this.equalsValue;
4122
4445
  };
4123
- return StorageUtils;
4124
- }());
4446
+ return ValueNotEqualsValidator;
4447
+ }(Validator));
4125
4448
 
4126
4449
  var ClipBoardUtils = /** @class */ (function () {
4127
4450
  function ClipBoardUtils() {
@@ -4169,6 +4492,51 @@ var NodeUtils = /** @class */ (function () {
4169
4492
  return NodeUtils;
4170
4493
  }());
4171
4494
 
4495
+ var StorageUtils = /** @class */ (function () {
4496
+ function StorageUtils() {
4497
+ }
4498
+ StorageUtils.setLocalStorageItem = function (k, v, window) {
4499
+ if (typeof v === 'object') {
4500
+ v = JSON.stringify(v);
4501
+ }
4502
+ window.localStorage.setItem(k, v);
4503
+ };
4504
+ StorageUtils.getLocalStorageItem = function (k, window) {
4505
+ return window.localStorage.getItem(k);
4506
+ };
4507
+ StorageUtils.cutLocalStorageItem = function (k, window) {
4508
+ var data = StorageUtils.getLocalStorageItem(k, window);
4509
+ StorageUtils.removeLocalStorageItem(k, window);
4510
+ return data;
4511
+ };
4512
+ StorageUtils.removeLocalStorageItem = function (k, window) {
4513
+ return window.localStorage.removeItem(k);
4514
+ };
4515
+ StorageUtils.getLocalStorageJsonItem = function (k, window) {
4516
+ var item = window.localStorage.getItem(k);
4517
+ if (item) {
4518
+ try {
4519
+ return JSON.parse(item);
4520
+ }
4521
+ catch (e) {
4522
+ return undefined;
4523
+ }
4524
+ }
4525
+ else {
4526
+ return undefined;
4527
+ }
4528
+ };
4529
+ StorageUtils.cutLocalStorageJsonItem = function (k, window) {
4530
+ var item = StorageUtils.getLocalStorageJsonItem(k, window);
4531
+ StorageUtils.removeLocalStorageItem(k, window);
4532
+ return item;
4533
+ };
4534
+ StorageUtils.clearLocalStorage = function (window) {
4535
+ window.localStorage.clear();
4536
+ };
4537
+ return StorageUtils;
4538
+ }());
4539
+
4172
4540
  exports.AllCheckedValidatorArray = AllCheckedValidatorArray;
4173
4541
  exports.AllUnCheckedValidatorArray = AllUnCheckedValidatorArray;
4174
4542
  exports.Appender = Appender;
@@ -4220,7 +4588,8 @@ exports.NodeUtils = NodeUtils;
4220
4588
  exports.NonPassValidator = NonPassValidator;
4221
4589
  exports.NotEmptyValidator = NotEmptyValidator;
4222
4590
  exports.NotRegExpTestValidator = NotRegExpTestValidator;
4223
- exports.OperatorRender = OperatorRender;
4591
+ exports.OperatorExecuter = OperatorExecuter;
4592
+ exports.OperatorExecuterAttrRequire = OperatorExecuterAttrRequire;
4224
4593
  exports.PassValidator = PassValidator;
4225
4594
  exports.PathRouter = PathRouter;
4226
4595
  exports.RandomUtils = RandomUtils;