dom-render 1.0.74 → 1.0.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/Config.d.ts +38 -36
  2. package/Config.js +2 -2
  3. package/DomRender.d.ts +28 -27
  4. package/DomRender.js +90 -88
  5. package/DomRenderProxy.d.ts +29 -29
  6. package/DomRenderProxy.js +342 -327
  7. package/README.MD +638 -567
  8. package/RawSet.d.ts +140 -118
  9. package/RawSet.js +771 -905
  10. package/components/ComponentSet.d.ts +7 -0
  11. package/components/ComponentSet.js +14 -0
  12. package/dist/bundle.js +3789 -3214
  13. package/events/EventManager.d.ts +48 -47
  14. package/events/EventManager.js +530 -499
  15. package/iterators/Range.d.ts +22 -22
  16. package/iterators/Range.js +65 -65
  17. package/lifecycle/OnBeforeReturnGet.d.ts +3 -3
  18. package/lifecycle/OnBeforeReturnGet.js +2 -2
  19. package/lifecycle/OnBeforeReturnSet.d.ts +3 -3
  20. package/lifecycle/OnBeforeReturnSet.js +2 -2
  21. package/lifecycle/OnCreateRender.d.ts +3 -3
  22. package/lifecycle/OnCreateRender.js +2 -2
  23. package/lifecycle/OnDestroyRender.d.ts +4 -4
  24. package/lifecycle/OnDestroyRender.js +2 -2
  25. package/lifecycle/OnInitRender.d.ts +7 -7
  26. package/lifecycle/OnInitRender.js +2 -2
  27. package/lifecycle/OnProxyDomRender.d.ts +4 -0
  28. package/lifecycle/OnProxyDomRender.js +2 -0
  29. package/managers/RenderManager.d.ts +3 -3
  30. package/managers/RenderManager.js +18 -18
  31. package/messenger/DefaultMessenger.d.ts +3 -0
  32. package/messenger/DefaultMessenger.js +27 -0
  33. package/messenger/Messenger.d.ts +78 -0
  34. package/messenger/Messenger.js +201 -0
  35. package/operators/Appender.d.ts +7 -12
  36. package/operators/Appender.js +32 -39
  37. package/operators/AttrExpresion.d.ts +0 -0
  38. package/operators/AttrExpresion.js +44 -0
  39. package/operators/Dr.d.ts +4 -0
  40. package/operators/Dr.js +62 -0
  41. package/operators/DrAppender.d.ts +4 -0
  42. package/operators/DrAppender.js +65 -0
  43. package/operators/DrFor.d.ts +4 -0
  44. package/operators/DrFor.js +62 -0
  45. package/operators/DrForOf.d.ts +4 -0
  46. package/operators/DrForOf.js +65 -0
  47. package/operators/DrForm.d.ts +4 -0
  48. package/operators/DrForm.js +100 -0
  49. package/operators/DrIf.d.ts +4 -0
  50. package/operators/DrIf.js +72 -0
  51. package/operators/DrInnerHTML.d.ts +4 -0
  52. package/operators/DrInnerHTML.js +60 -0
  53. package/operators/DrInnerText.d.ts +4 -0
  54. package/operators/DrInnerText.js +58 -0
  55. package/operators/DrPre.d.ts +4 -0
  56. package/operators/DrPre.js +30 -0
  57. package/operators/DrRepeat.d.ts +4 -0
  58. package/operators/DrRepeat.js +63 -0
  59. package/operators/DrTargetAttr.d.ts +4 -0
  60. package/operators/DrTargetAttr.js +55 -0
  61. package/operators/DrTargetElement.d.ts +4 -0
  62. package/operators/DrTargetElement.js +65 -0
  63. package/operators/DrThis.d.ts +4 -0
  64. package/operators/DrThis.js +59 -0
  65. package/operators/OperatorRender.d.ts +41 -0
  66. package/operators/OperatorRender.js +21 -0
  67. package/package.json +94 -94
  68. package/routers/HashRouter.d.ts +9 -9
  69. package/routers/HashRouter.js +53 -53
  70. package/routers/PathRouter.d.ts +9 -9
  71. package/routers/PathRouter.js +52 -52
  72. package/routers/Router.d.ts +25 -25
  73. package/routers/Router.js +116 -116
  74. package/types/Types.d.ts +14 -14
  75. package/types/Types.js +36 -36
  76. package/utils/clipboard/ClipBoardUtils.d.ts +6 -6
  77. package/utils/clipboard/ClipBoardUtils.js +25 -25
  78. package/utils/dom/DomUtils.d.ts +13 -13
  79. package/utils/dom/DomUtils.js +47 -47
  80. package/utils/location/LocationUtils.d.ts +16 -16
  81. package/utils/location/LocationUtils.js +57 -57
  82. package/utils/node/NodeUtils.d.ts +10 -10
  83. package/utils/node/NodeUtils.js +27 -27
  84. package/utils/random/RandomUtils.d.ts +7 -7
  85. package/utils/random/RandomUtils.js +47 -47
  86. package/utils/script/ScriptUtils.d.ts +14 -14
  87. package/utils/script/ScriptUtils.js +89 -89
  88. package/utils/storage/StorageUtils.d.ts +9 -9
  89. package/utils/storage/StorageUtils.js +48 -48
  90. package/utils/string/StringUtils.d.ts +5 -5
  91. package/utils/string/StringUtils.js +41 -41
  92. package/utils/valid/ValidUtils.d.ts +10 -10
  93. package/utils/valid/ValidUtils.js +78 -78
  94. package/validators/AllCheckedValidatorArray.d.ts +6 -6
  95. package/validators/AllCheckedValidatorArray.js +32 -32
  96. package/validators/AllUnCheckedValidatorArray.d.ts +6 -6
  97. package/validators/AllUnCheckedValidatorArray.js +32 -32
  98. package/validators/CheckedValidator.d.ts +5 -5
  99. package/validators/CheckedValidator.js +32 -32
  100. package/validators/CountEqualsCheckedValidatorArray.d.ts +7 -7
  101. package/validators/CountEqualsCheckedValidatorArray.js +34 -34
  102. package/validators/CountEqualsUnCheckedValidatorArray.d.ts +7 -7
  103. package/validators/CountEqualsUnCheckedValidatorArray.js +34 -34
  104. package/validators/CountGreaterThanCheckedValidatorArray.d.ts +7 -7
  105. package/validators/CountGreaterThanCheckedValidatorArray.js +34 -34
  106. package/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts +7 -7
  107. package/validators/CountGreaterThanEqualsCheckedValidatorArray.js +34 -34
  108. package/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts +7 -7
  109. package/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +34 -34
  110. package/validators/CountGreaterThanUnCheckedValidatorArray.d.ts +7 -7
  111. package/validators/CountGreaterThanUnCheckedValidatorArray.js +34 -34
  112. package/validators/CountLessThanCheckedValidatorArray.d.ts +7 -7
  113. package/validators/CountLessThanCheckedValidatorArray.js +34 -34
  114. package/validators/CountLessThanEqualsCheckedValidatorArray.d.ts +7 -7
  115. package/validators/CountLessThanEqualsCheckedValidatorArray.js +34 -34
  116. package/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts +7 -7
  117. package/validators/CountLessThanEqualsUnCheckedValidatorArray.js +34 -34
  118. package/validators/CountLessThanUnCheckedValidatorArray.d.ts +7 -7
  119. package/validators/CountLessThanUnCheckedValidatorArray.js +34 -34
  120. package/validators/CountUnCheckedValidatorArray.d.ts +7 -7
  121. package/validators/CountUnCheckedValidatorArray.js +34 -34
  122. package/validators/EmptyValidator.d.ts +5 -5
  123. package/validators/EmptyValidator.js +33 -33
  124. package/validators/ExcludeCheckedValidatorArray.d.ts +8 -8
  125. package/validators/ExcludeCheckedValidatorArray.js +41 -41
  126. package/validators/FormValidator.d.ts +7 -7
  127. package/validators/FormValidator.js +37 -37
  128. package/validators/IncludeCheckedValidatorArray.d.ts +8 -8
  129. package/validators/IncludeCheckedValidatorArray.js +41 -41
  130. package/validators/MultipleValidator.d.ts +8 -8
  131. package/validators/MultipleValidator.js +48 -48
  132. package/validators/NonPassValidator.d.ts +5 -5
  133. package/validators/NonPassValidator.js +31 -31
  134. package/validators/NotEmptyValidator.d.ts +5 -5
  135. package/validators/NotEmptyValidator.js +34 -34
  136. package/validators/NotRegExpTestValidator.d.ts +6 -6
  137. package/validators/NotRegExpTestValidator.js +42 -42
  138. package/validators/PassValidator.d.ts +5 -5
  139. package/validators/PassValidator.js +31 -31
  140. package/validators/RegExpTestValidator.d.ts +6 -6
  141. package/validators/RegExpTestValidator.js +43 -43
  142. package/validators/RequiredValidator.d.ts +5 -5
  143. package/validators/RequiredValidator.js +33 -33
  144. package/validators/UnCheckedValidator.d.ts +5 -5
  145. package/validators/UnCheckedValidator.js +32 -32
  146. package/validators/ValidMultipleValidator.d.ts +9 -9
  147. package/validators/ValidMultipleValidator.js +34 -34
  148. package/validators/ValidValidator.d.ts +6 -6
  149. package/validators/ValidValidator.js +33 -33
  150. package/validators/ValidValidatorArray.d.ts +7 -7
  151. package/validators/ValidValidatorArray.js +33 -33
  152. package/validators/Validator.d.ts +57 -57
  153. package/validators/Validator.js +242 -242
  154. package/validators/ValidatorArray.d.ts +17 -17
  155. package/validators/ValidatorArray.js +99 -99
  156. package/validators/ValueEqualsValidator.d.ts +6 -6
  157. package/validators/ValueEqualsValidator.js +33 -33
  158. package/validators/ValueNotEqualsValidator.d.ts +6 -6
  159. package/validators/ValueNotEqualsValidator.js +33 -33
package/RawSet.js CHANGED
@@ -1,905 +1,771 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.RawSet = void 0;
15
- var RandomUtils_1 = require("./utils/random/RandomUtils");
16
- var StringUtils_1 = require("./utils/string/StringUtils");
17
- var ScriptUtils_1 = require("./utils/script/ScriptUtils");
18
- var EventManager_1 = require("./events/EventManager");
19
- var Range_1 = require("./iterators/Range");
20
- var Validator_1 = require("./validators/Validator");
21
- var ValidatorArray_1 = require("./validators/ValidatorArray");
22
- var Types_1 = require("./types/Types");
23
- var DomUtils_1 = require("./utils/dom/DomUtils");
24
- var RawSet = /** @class */ (function () {
25
- function RawSet(uuid, point, fragment, detect, data) {
26
- if (data === void 0) { data = {}; }
27
- this.uuid = uuid;
28
- this.point = point;
29
- this.fragment = fragment;
30
- this.detect = detect;
31
- this.data = data;
32
- }
33
- Object.defineProperty(RawSet.prototype, "isConnected", {
34
- get: function () {
35
- return this.point.start.isConnected && this.point.end.isConnected;
36
- },
37
- enumerable: false,
38
- configurable: true
39
- });
40
- RawSet.prototype.getUsingTriggerVariables = function (config) {
41
- var usingTriggerVariables = new Set();
42
- this.fragment.childNodes.forEach(function (cNode, key) {
43
- var _a, _b, _c;
44
- var script = '';
45
- if (cNode.nodeType === Node.TEXT_NODE) {
46
- script = "`".concat((_a = cNode.textContent) !== null && _a !== void 0 ? _a : '', "`");
47
- }
48
- else if (cNode.nodeType === Node.ELEMENT_NODE) {
49
- var element_1 = cNode;
50
- var targetAttrNames = ((_c = (_b = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _b === void 0 ? void 0 : _b.map(function (it) { return it.name; })) !== null && _c !== void 0 ? _c : []).concat(RawSet.DR_ATTRIBUTES);
51
- script = targetAttrNames.map(function (it) { return (element_1.getAttribute(it)); }).filter(function (it) { return it; }).join(';');
52
- }
53
- if (script) {
54
- // script = script.replace('}$','}');
55
- // console.log('----------->', script)
56
- EventManager_1.EventManager.VARNAMES.forEach(function (it) {
57
- // script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), `this?.___${it}`);
58
- // script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), `this.___${it}`);
59
- script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), "this.___".concat(it));
60
- // console.log('scripts-->', script)
61
- });
62
- // console.log('----------', script);
63
- Array.from(ScriptUtils_1.ScriptUtils.getVariablePaths(script)).filter(function (it) { return !it.startsWith("___".concat(EventManager_1.EventManager.SCRIPTS_VARNAME)); }).forEach(function (it) { return usingTriggerVariables.add(it); });
64
- }
65
- });
66
- // console.log('usingTriggerVariable----------->', usingTriggerVariables)
67
- return usingTriggerVariables;
68
- };
69
- RawSet.prototype.render = function (obj, config) {
70
- var _this = this;
71
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22;
72
- var genNode = config.window.document.importNode(this.fragment, true);
73
- var raws = [];
74
- var onAttrInitCallBack = [];
75
- var onElementInitCallBack = [];
76
- var drAttrs = [];
77
- var _loop_1 = function (cNode) {
78
- var attribute = {};
79
- if (cNode.nodeType === Node.ELEMENT_NODE) {
80
- attribute = DomUtils_1.DomUtils.getAttributeToObject(cNode);
81
- }
82
- var __render = Object.freeze({
83
- rawset: this_1,
84
- scripts: EventManager_1.EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj),
85
- router: config === null || config === void 0 ? void 0 : config.router,
86
- range: Range_1.Range.range,
87
- element: cNode,
88
- attribute: attribute,
89
- bindScript: "\n const ".concat(EventManager_1.EventManager.SCRIPTS_VARNAME, " = this.__render.scripts;\n const ").concat(EventManager_1.EventManager.RAWSET_VARNAME, " = this.__render.rawset;\n const ").concat(EventManager_1.EventManager.ELEMENT_VARNAME, " = this.__render.element;\n const ").concat(EventManager_1.EventManager.ATTRIBUTE_VARNAME, " = this.__render.attribute;\n const ").concat(EventManager_1.EventManager.RANGE_VARNAME, " = this.__render.range;\n const ").concat(EventManager_1.EventManager.ROUTER_VARNAME, " = this.__render.router;\n ")
90
- // eslint-disable-next-line no-use-before-define
91
- });
92
- var fag = config.window.document.createDocumentFragment();
93
- if (cNode.nodeType === Node.TEXT_NODE && cNode.textContent) {
94
- var textContent = cNode.textContent;
95
- var runText = RawSet.exporesionGrouops(textContent)[0][1];
96
- // console.log('--->', textContent,runText, runText[0][1])
97
- var n = void 0;
98
- if (textContent === null || textContent === void 0 ? void 0 : textContent.startsWith('#')) {
99
- var r = ScriptUtils_1.ScriptUtils.eval("".concat(__render.bindScript, " return ").concat(runText), Object.assign(obj, { __render: __render }));
100
- var template = config.window.document.createElement('template');
101
- template.innerHTML = r;
102
- n = template.content;
103
- }
104
- else {
105
- var r = ScriptUtils_1.ScriptUtils.eval("".concat(__render.bindScript, " return ").concat(runText), Object.assign(obj, { __render: __render }));
106
- n = config.window.document.createTextNode(r);
107
- }
108
- (_a = cNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(n, cNode);
109
- }
110
- else if (cNode.nodeType === Node.ELEMENT_NODE) {
111
- var element_2 = cNode;
112
- var drAttr_1 = {
113
- dr: this_1.getAttributeAndDelete(element_2, RawSet.DR),
114
- drIf: this_1.getAttributeAndDelete(element_2, RawSet.DR_IF_NAME),
115
- drFor: this_1.getAttributeAndDelete(element_2, RawSet.DR_FOR_NAME),
116
- drForOf: this_1.getAttributeAndDelete(element_2, RawSet.DR_FOR_OF_NAME),
117
- drAppender: this_1.getAttributeAndDelete(element_2, RawSet.DR_APPENDER_NAME),
118
- drRepeat: this_1.getAttributeAndDelete(element_2, RawSet.DR_REPEAT_NAME),
119
- drThis: this_1.getAttributeAndDelete(element_2, RawSet.DR_THIS_NAME),
120
- drForm: this_1.getAttributeAndDelete(element_2, RawSet.DR_FORM_NAME),
121
- drPre: this_1.getAttributeAndDelete(element_2, RawSet.DR_PRE_NAME),
122
- drInnerHTML: this_1.getAttributeAndDelete(element_2, RawSet.DR_INNERHTML_NAME),
123
- drInnerText: this_1.getAttributeAndDelete(element_2, RawSet.DR_INNERTEXT_NAME),
124
- drItOption: this_1.getAttributeAndDelete(element_2, RawSet.DR_IT_OPTIONNAME),
125
- drVarOption: this_1.getAttributeAndDelete(element_2, RawSet.DR_VAR_OPTIONNAME),
126
- drNextOption: this_1.getAttributeAndDelete(element_2, RawSet.DR_NEXT_OPTIONNAME),
127
- drAfterOption: this_1.getAttributeAndDelete(element_2, RawSet.DR_AFTER_OPTIONNAME),
128
- drBeforeOption: this_1.getAttributeAndDelete(element_2, RawSet.DR_BEFORE_OPTIONNAME),
129
- drCompleteOption: this_1.getAttributeAndDelete(element_2, RawSet.DR_COMPLETE_OPTIONNAME),
130
- drStripOption: this_1.getAttributeAndDelete(element_2, RawSet.DR_STRIP_OPTIONNAME)
131
- };
132
- drAttrs.push(drAttr_1);
133
- if (drAttr_1.drPre != null) {
134
- return "break";
135
- }
136
- if (drAttr_1.dr !== null && drAttr_1.dr.length >= 0) {
137
- var itRandom = RawSet.drItOtherEncoding(element_2);
138
- var vars = RawSet.drVarEncoding(element_2, (_b = drAttr_1.drVarOption) !== null && _b !== void 0 ? _b : '');
139
- var newTemp = config.window.document.createElement('temp');
140
- ScriptUtils_1.ScriptUtils.eval("\n ".concat(__render.bindScript, "\n const n = $element.cloneNode(true);\n var destIt = ").concat(drAttr_1.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(obj, {
141
- __render: Object.freeze(__assign({ fag: newTemp, drStripOption: drAttr_1.drStripOption }, __render))
142
- }));
143
- RawSet.drVarDecoding(newTemp, vars);
144
- RawSet.drItOtherDecoding(newTemp, itRandom);
145
- var tempalte = config.window.document.createElement('template');
146
- tempalte.innerHTML = newTemp.innerHTML;
147
- fag.append(tempalte.content);
148
- var rr = RawSet.checkPointCreates(fag, config);
149
- (_c = element_2.parentNode) === null || _c === void 0 ? void 0 : _c.replaceChild(fag, element_2);
150
- raws.push.apply(raws, rr);
151
- }
152
- else if (drAttr_1.drIf) {
153
- var itRandom = RawSet.drItOtherEncoding(element_2);
154
- var vars = RawSet.drVarEncoding(element_2, (_d = drAttr_1.drVarOption) !== null && _d !== void 0 ? _d : '');
155
- var newTemp = config.window.document.createElement('temp');
156
- // Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v)); <-- 이부분은 다른 attr에도 적용을 할지말지 생각해야됨 엘리먼트 존재유무에 따라서 적용을 할지말지 결정해야됨
157
- var keepgoing = ScriptUtils_1.ScriptUtils.eval("\n ".concat(__render.bindScript, "\n ").concat((_e = drAttr_1.drBeforeOption) !== null && _e !== void 0 ? _e : '', "\n if ($rawset.data === (").concat(drAttr_1.drIf, ")) {\n return false;\n } \n $rawset.data = ").concat(drAttr_1.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(drAttr_1.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((_f = drAttr_1.drAfterOption) !== null && _f !== void 0 ? _f : '', ";\n return true;\n "), Object.assign(obj, {
158
- __render: Object.freeze(__assign({ fag: newTemp, drAttr: drAttr_1, drAttrsOriginName: RawSet.drAttrsOriginName, drStripOption: drAttr_1.drStripOption }, __render))
159
- }));
160
- // console.log('keepgoing', keepgoing);
161
- if (keepgoing === false) {
162
- return { value: raws };
163
- }
164
- RawSet.drVarDecoding(newTemp, vars);
165
- RawSet.drItOtherDecoding(newTemp, itRandom);
166
- var bypass = ((_g = newTemp.innerHTML) !== null && _g !== void 0 ? _g : '').trim().length <= 0;
167
- var tempalte = config.window.document.createElement('template');
168
- tempalte.innerHTML = newTemp.innerHTML;
169
- // console.log(tempalte.innerHTML)
170
- fag.append(tempalte.content);
171
- var rr = RawSet.checkPointCreates(fag, config);
172
- (_h = element_2.parentNode) === null || _h === void 0 ? void 0 : _h.replaceChild(fag, element_2);
173
- raws.push.apply(raws, rr);
174
- if (bypass) {
175
- return "continue";
176
- }
177
- }
178
- else if (drAttr_1.drThis) {
179
- var r = ScriptUtils_1.ScriptUtils.evalReturn(drAttr_1.drThis, obj);
180
- if (r) {
181
- fag.append(RawSet.drThisCreate(element_2, drAttr_1.drThis, (_j = drAttr_1.drVarOption) !== null && _j !== void 0 ? _j : '', drAttr_1.drStripOption, obj, config));
182
- var rr = RawSet.checkPointCreates(fag, config);
183
- (_k = element_2.parentNode) === null || _k === void 0 ? void 0 : _k.replaceChild(fag, element_2);
184
- raws.push.apply(raws, rr);
185
- }
186
- else {
187
- cNode.remove();
188
- }
189
- }
190
- else if (drAttr_1.drForm) {
191
- RawSet.drFormOtherMoveAttr(element_2, 'name', 'temp-name', config);
192
- var data = ScriptUtils_1.ScriptUtils.evalReturn("".concat(drAttr_1.drForm), obj);
193
- var childs = Array.from(element_2.querySelectorAll('[name]'));
194
- var fromName = ScriptUtils_1.ScriptUtils.evalReturn((_l = element_2.getAttribute('dr-form:name')) !== null && _l !== void 0 ? _l : '', obj);
195
- var thisName = fromName !== null && fromName !== void 0 ? fromName : element_2.getAttribute('name');
196
- // console.log('dr-form:name', thisName, element.getAttribute('dr-form:name'), obj, element);
197
- // // 자기자신이 Input 대상일때
198
- if (childs.length <= 0 && thisName) {
199
- childs.push(element_2);
200
- }
201
- else {
202
- if (data instanceof Validator_1.Validator) {
203
- data.setTarget(element_2);
204
- }
205
- }
206
- childs.forEach(function (it) {
207
- var _a, _b, _c, _d, _e;
208
- var eventName = (_a = it.getAttribute('dr-form:event')) !== null && _a !== void 0 ? _a : 'change';
209
- var validatorName = it.getAttribute('dr-form:validator');
210
- var attrEventName = EventManager_1.EventManager.attrPrefix + 'event-' + eventName;
211
- var varpath = (_c = ScriptUtils_1.ScriptUtils.evalReturn((_b = element_2.getAttribute('dr-form:name')) !== null && _b !== void 0 ? _b : '', obj)) !== null && _c !== void 0 ? _c : it.getAttribute('name');
212
- if (varpath != null) {
213
- if (validatorName) {
214
- ScriptUtils_1.ScriptUtils.eval("\n ".concat(__render.bindScript, "\n const validator = typeof ").concat(validatorName, " ==='function' ? new ").concat(validatorName, "() : ").concat(validatorName, ";\n ").concat(drAttr_1.drForm, "['").concat(varpath, "'] = validator;\n "), Object.assign(obj, {
215
- __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption }, __render))
216
- }));
217
- }
218
- varpath = "".concat(drAttr_1.drForm, "['").concat(varpath, "']");
219
- var data_1 = ScriptUtils_1.ScriptUtils.evalReturn("".concat(varpath), obj);
220
- if (data_1 instanceof ValidatorArray_1.ValidatorArray) {
221
- it.setAttribute(attrEventName, "".concat(varpath, ".setArrayValue($target, $target.value, $event); ").concat((_d = it.getAttribute(attrEventName)) !== null && _d !== void 0 ? _d : '', ";"));
222
- data_1.addValidator(it.value, it);
223
- }
224
- else if (data_1 instanceof Validator_1.Validator) {
225
- // varpath += (varpath ? '.value' : 'value');
226
- // varpath = drAttr.drForm + '.' + varpath;
227
- // it.setAttribute(attrEventName, `${varpath} = $target.value; ${target}=$target; ${event}=$event;`);
228
- it.setAttribute(attrEventName, "".concat(varpath, ".set($target.value, $target, $event); ").concat((_e = it.getAttribute(attrEventName)) !== null && _e !== void 0 ? _e : '', ";"));
229
- data_1.setTarget(it);
230
- data_1.value = it.value;
231
- }
232
- else {
233
- it.setAttribute(attrEventName, "".concat(varpath, " = $target.value;"));
234
- }
235
- }
236
- });
237
- RawSet.drFormOtherMoveAttr(element_2, 'temp-name', 'name', config);
238
- raws.push.apply(raws, RawSet.checkPointCreates(element_2, config));
239
- }
240
- else if (drAttr_1.drInnerText) {
241
- var newTemp = config.window.document.createElement('temp');
242
- ScriptUtils_1.ScriptUtils.eval(" \n ".concat(__render.bindScript, "\n const n = $element.cloneNode(true); \n ").concat((_m = drAttr_1.drBeforeOption) !== null && _m !== void 0 ? _m : '', "\n n.innerText = ").concat(drAttr_1.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((_o = drAttr_1.drAfterOption) !== null && _o !== void 0 ? _o : '', "\n "), Object.assign(obj, {
243
- __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption, fag: newTemp }, __render))
244
- }));
245
- var tempalte = config.window.document.createElement('template');
246
- tempalte.innerHTML = newTemp.innerHTML;
247
- fag.append(tempalte.content);
248
- var rr = RawSet.checkPointCreates(fag, config);
249
- (_p = element_2.parentNode) === null || _p === void 0 ? void 0 : _p.replaceChild(fag, element_2);
250
- raws.push.apply(raws, rr);
251
- }
252
- else if (drAttr_1.drInnerHTML) {
253
- var newTemp = config.window.document.createElement('temp');
254
- ScriptUtils_1.ScriptUtils.eval("\n ".concat(__render.bindScript, "\n const n = $element.cloneNode(true);\n ").concat((_q = drAttr_1.drBeforeOption) !== null && _q !== void 0 ? _q : '', "\n n.innerHTML = ").concat(drAttr_1.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((_r = drAttr_1.drAfterOption) !== null && _r !== void 0 ? _r : '', "\n "), Object.assign(obj, {
255
- __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption, fag: newTemp }, __render
256
- // eslint-disable-next-line no-use-before-define
257
- ))
258
- }));
259
- var tempalte = config.window.document.createElement('template');
260
- tempalte.innerHTML = newTemp.innerHTML;
261
- fag.append(tempalte.content);
262
- var rr = RawSet.checkPointCreates(fag, config);
263
- (_s = element_2.parentNode) === null || _s === void 0 ? void 0 : _s.replaceChild(fag, element_2);
264
- raws.push.apply(raws, rr);
265
- }
266
- else if (drAttr_1.drFor) {
267
- var itRandom = RawSet.drItOtherEncoding(element_2);
268
- var vars = RawSet.drVarEncoding(element_2, (_t = drAttr_1.drVarOption) !== null && _t !== void 0 ? _t : '');
269
- var newTemp = config.window.document.createElement('temp');
270
- ScriptUtils_1.ScriptUtils.eval("\n ".concat(__render.bindScript, "\n ").concat((_u = drAttr_1.drBeforeOption) !== null && _u !== void 0 ? _u : '', "\n for(").concat(drAttr_1.drFor, ") {\n const n = this.__render.element.cloneNode(true);\n var destIt = ").concat(drAttr_1.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((_v = drAttr_1.drAfterOption) !== null && _v !== void 0 ? _v : '', "\n "), Object.assign(obj, {
271
- __render: Object.freeze(__assign({ fag: newTemp, drStripOption: drAttr_1.drStripOption }, __render))
272
- }));
273
- RawSet.drVarDecoding(newTemp, vars);
274
- RawSet.drItOtherDecoding(newTemp, itRandom);
275
- var tempalte = config.window.document.createElement('template');
276
- tempalte.innerHTML = newTemp.innerHTML;
277
- fag.append(tempalte.content);
278
- var rr = RawSet.checkPointCreates(fag, config);
279
- (_w = element_2.parentNode) === null || _w === void 0 ? void 0 : _w.replaceChild(fag, element_2);
280
- raws.push.apply(raws, rr);
281
- }
282
- else if (drAttr_1.drForOf) {
283
- var itRandom = RawSet.drItOtherEncoding(element_2);
284
- var vars = RawSet.drVarEncoding(element_2, (_x = drAttr_1.drVarOption) !== null && _x !== void 0 ? _x : '');
285
- var newTemp = config.window.document.createElement('temp');
286
- ScriptUtils_1.ScriptUtils.eval("\n ".concat(__render.bindScript, "\n ").concat((_y = drAttr_1.drBeforeOption) !== null && _y !== void 0 ? _y : '', "\n var i = 0; \n const forOf = ").concat(drAttr_1.drForOf, ";\n const forOfStr = `").concat(drAttr_1.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(drAttr_1.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(drAttr_1.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((_z = drAttr_1.drAfterOption) !== null && _z !== void 0 ? _z : '', "\n "), Object.assign(obj, {
287
- __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption, drAttr: drAttr_1, drAttrsOriginName: RawSet.drAttrsOriginName, fag: newTemp }, __render
288
- // eslint-disable-next-line no-use-before-define
289
- ))
290
- }));
291
- RawSet.drVarDecoding(newTemp, vars);
292
- RawSet.drItOtherDecoding(newTemp, itRandom);
293
- var tempalte = config.window.document.createElement('template');
294
- tempalte.innerHTML = newTemp.innerHTML;
295
- fag.append(tempalte.content);
296
- var rr = RawSet.checkPointCreates(fag, config);
297
- (_0 = element_2.parentNode) === null || _0 === void 0 ? void 0 : _0.replaceChild(fag, element_2);
298
- // const rrr = rr.flatMap(it => it.render(obj, config));// .flat();
299
- raws.push.apply(raws, rr);
300
- }
301
- else if (drAttr_1.drAppender) {
302
- var itRandom = RawSet.drItOtherEncoding(element_2);
303
- var vars = RawSet.drVarEncoding(element_2, (_1 = drAttr_1.drVarOption) !== null && _1 !== void 0 ? _1 : '');
304
- var newTemp = config.window.document.createElement('temp');
305
- ScriptUtils_1.ScriptUtils.eval("\n try{\n ".concat(__render.bindScript, "\n ").concat((_2 = drAttr_1.drBeforeOption) !== null && _2 !== void 0 ? _2 : '', "\n const ifWrap = document.createElement('div');\n ifWrap.setAttribute('dr-strip', 'true');\n ifWrap.setAttribute('dr-if', '").concat(drAttr_1.drAppender, " && ").concat(drAttr_1.drAppender, ".length > 0');\n \n // console.log('----', ").concat(drAttr_1.drAppender, ".length);\n \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(drAttr_1.drAppender, "[' + (").concat(drAttr_1.drAppender, ".length-1) + ']');\n n.setAttribute('dr-next', '").concat(drAttr_1.drAppender, ",' + ").concat(drAttr_1.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((_3 = drAttr_1.drAfterOption) !== null && _3 !== void 0 ? _3 : '', "\n }catch(e){}\n "), Object.assign(obj, {
306
- __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption, drAttr: drAttr_1, drAttrsOriginName: RawSet.drAttrsOriginName, fag: newTemp }, __render
307
- // eslint-disable-next-line no-use-before-define
308
- ))
309
- }));
310
- RawSet.drVarDecoding(newTemp, vars);
311
- RawSet.drItOtherDecoding(newTemp, itRandom);
312
- var tempalte = config.window.document.createElement('template');
313
- tempalte.innerHTML = newTemp.innerHTML;
314
- fag.append(tempalte.content);
315
- var rr = RawSet.checkPointCreates(fag, config);
316
- (_4 = element_2.parentNode) === null || _4 === void 0 ? void 0 : _4.replaceChild(fag, element_2);
317
- // const rrr = rr.flatMap(it => it.render(obj, config));// .flat();
318
- raws.push.apply(raws, rr);
319
- }
320
- else if (drAttr_1.drRepeat) {
321
- var itRandom = RawSet.drItOtherEncoding(element_2);
322
- var vars = RawSet.drVarEncoding(element_2, (_5 = drAttr_1.drVarOption) !== null && _5 !== void 0 ? _5 : '');
323
- var newTemp = config.window.document.createElement('temp');
324
- ScriptUtils_1.ScriptUtils.eval("\n ".concat(__render.bindScript, "\n ").concat((_6 = drAttr_1.drBeforeOption) !== null && _6 !== void 0 ? _6 : '', "\n var i = 0; \n const repeat = ").concat(drAttr_1.drRepeat, ";\n const repeatStr = `").concat(drAttr_1.drRepeat, "`;\n let range = repeat;\n if (typeof repeat === 'number') {\n range = ").concat(EventManager_1.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((_7 = drAttr_1.drAfterOption) !== null && _7 !== void 0 ? _7 : '', "\n "), Object.assign(obj, {
325
- __render: Object.freeze(__assign({ fag: newTemp, drStripOption: drAttr_1.drStripOption }, __render))
326
- }));
327
- RawSet.drVarDecoding(newTemp, vars);
328
- RawSet.drItOtherDecoding(newTemp, itRandom);
329
- var tempalte = config.window.document.createElement('template');
330
- tempalte.innerHTML = newTemp.innerHTML;
331
- fag.append(tempalte.content);
332
- var rr = RawSet.checkPointCreates(fag, config);
333
- (_8 = element_2.parentNode) === null || _8 === void 0 ? void 0 : _8.replaceChild(fag, element_2);
334
- raws.push.apply(raws, rr);
335
- }
336
- else {
337
- // config detecting
338
- // console.log('config targetElement-->', config?.targetElements)
339
- // const targetElement = config?.targetElements?.find(it => (!drAttr.drIf && !drAttr.drForOf && !drAttr.drFor && !drAttr.drRepeat) && it.name.toLowerCase() === element.tagName.toLowerCase());
340
- var targetElement = (_9 = config === null || config === void 0 ? void 0 : config.targetElements) === null || _9 === void 0 ? void 0 : _9.find(function (it) { return it.name.toLowerCase() === element_2.tagName.toLowerCase(); });
341
- if (targetElement) {
342
- var documentFragment = targetElement.callBack(element_2, obj, this_1);
343
- // console.log('target-->',name, documentFragment)
344
- if (documentFragment) {
345
- var detectAction_1 = element_2.getAttribute(RawSet.DR_DETECT_NAME);
346
- var render_1 = documentFragment.render;
347
- if (detectAction_1 && render_1) {
348
- this_1.detect = {
349
- action: function () {
350
- 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, " ");
351
- ScriptUtils_1.ScriptUtils.eval(script, Object.assign(obj, {
352
- __render: render_1
353
- }));
354
- }
355
- };
356
- }
357
- // fag.append(documentFragment)
358
- var rr = RawSet.checkPointCreates(documentFragment, config);
359
- (_10 = element_2.parentNode) === null || _10 === void 0 ? void 0 : _10.replaceChild(documentFragment, element_2);
360
- raws.push.apply(raws, rr);
361
- onElementInitCallBack.push({
362
- name: targetElement.name.toLowerCase(),
363
- obj: obj,
364
- targetElement: targetElement,
365
- creatorMetaData: targetElement.__creatorMetaData
366
- });
367
- (_11 = targetElement === null || targetElement === void 0 ? void 0 : targetElement.complete) === null || _11 === void 0 ? void 0 : _11.call(targetElement, element_2, obj, this_1);
368
- }
369
- }
370
- var attributeNames_1 = this_1.getAttributeNames(element_2);
371
- // const targetAttr = config?.targetAttrs?.find(it => (!drAttr.drForOf && !drAttr.drFor && !drAttr.drRepeat) && attributeNames.includes(it.name));
372
- var targetAttr = (_12 = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _12 === void 0 ? void 0 : _12.find(function (it) { return attributeNames_1.includes(it.name); });
373
- if (targetAttr) {
374
- var attrName = targetAttr.name;
375
- var attrValue = this_1.getAttributeAndDelete(element_2, attrName);
376
- if (attrValue && attrName && (!drAttr_1.drForOf && !drAttr_1.drFor && !drAttr_1.drRepeat)) {
377
- var documentFragment = targetAttr.callBack(element_2, attrValue, obj, this_1);
378
- if (documentFragment) {
379
- var rr = RawSet.checkPointCreates(documentFragment, config);
380
- (_13 = element_2.parentNode) === null || _13 === void 0 ? void 0 : _13.replaceChild(documentFragment, element_2);
381
- raws.push.apply(raws, rr);
382
- onAttrInitCallBack.push({
383
- attrName: attrName,
384
- attrValue: attrValue,
385
- obj: obj
386
- });
387
- (_14 = targetAttr === null || targetAttr === void 0 ? void 0 : targetAttr.complete) === null || _14 === void 0 ? void 0 : _14.call(targetAttr, element_2, attrValue, obj, this_1);
388
- }
389
- }
390
- }
391
- }
392
- }
393
- };
394
- var this_1 = this;
395
- for (var _i = 0, _23 = Array.from(genNode.childNodes.values()); _i < _23.length; _i++) {
396
- var cNode = _23[_i];
397
- var state_1 = _loop_1(cNode);
398
- if (typeof state_1 === "object")
399
- return state_1.value;
400
- if (state_1 === "break")
401
- break;
402
- }
403
- this.applyEvent(obj, genNode, config);
404
- this.replaceBody(genNode);
405
- drAttrs.forEach(function (it) {
406
- if (it.drCompleteOption) {
407
- // genNode.childNodes
408
- ScriptUtils_1.ScriptUtils.eval("\n const ".concat(EventManager_1.EventManager.FAG_VARNAME, " = this.__render.fag;\n const ").concat(EventManager_1.EventManager.SCRIPTS_VARNAME, " = this.__render.scripts;\n const ").concat(EventManager_1.EventManager.RAWSET_VARNAME, " = this.__render.rawset;\n ").concat(it.drCompleteOption, "\n "), Object.assign(obj, {
409
- __render: Object.freeze({
410
- rawset: _this,
411
- fag: genNode,
412
- scripts: EventManager_1.EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
413
- })
414
- }));
415
- }
416
- });
417
- for (var _24 = 0, onElementInitCallBack_1 = onElementInitCallBack; _24 < onElementInitCallBack_1.length; _24++) {
418
- var it_1 = onElementInitCallBack_1[_24];
419
- (_18 = (_17 = (_16 = (_15 = it_1.targetElement) === null || _15 === void 0 ? void 0 : _15.__render) === null || _16 === void 0 ? void 0 : _16.component) === null || _17 === void 0 ? void 0 : _17.onInitRender) === null || _18 === void 0 ? void 0 : _18.call(_17, { render: (_19 = it_1.targetElement) === null || _19 === void 0 ? void 0 : _19.__render, creatorMetaData: (_20 = it_1.targetElement) === null || _20 === void 0 ? void 0 : _20.__creatorMetaData });
420
- var r = (_21 = config === null || config === void 0 ? void 0 : config.onElementInit) === null || _21 === void 0 ? void 0 : _21.call(config, it_1.name, obj, this, it_1.targetElement);
421
- }
422
- for (var _25 = 0, onAttrInitCallBack_1 = onAttrInitCallBack; _25 < onAttrInitCallBack_1.length; _25++) {
423
- var it_2 = onAttrInitCallBack_1[_25];
424
- var r = (_22 = config === null || config === void 0 ? void 0 : config.onAttrInit) === null || _22 === void 0 ? void 0 : _22.call(config, it_2.attrName, it_2.attrValue, obj, this);
425
- }
426
- // component destroy
427
- if (obj.__domrender_components) {
428
- Object.entries(obj.__domrender_components).forEach(function (_a) {
429
- var _b, _c;
430
- var key = _a[0], value = _a[1];
431
- var domrenderComponentNew = value.__domrender_component_new;
432
- var rawSet = domrenderComponentNew === null || domrenderComponentNew === void 0 ? void 0 : domrenderComponentNew.rawSet;
433
- if (rawSet && !rawSet.isConnected) {
434
- (_c = (_b = obj.__domrender_components[key]) === null || _b === void 0 ? void 0 : _b.onDestroyRender) === null || _c === void 0 ? void 0 : _c.call(_b, domrenderComponentNew);
435
- delete obj.__domrender_components[key];
436
- }
437
- // console.log('destroy', key, value);
438
- });
439
- }
440
- return raws;
441
- };
442
- RawSet.prototype.applyEvent = function (obj, fragment, config) {
443
- if (fragment === void 0) { fragment = this.fragment; }
444
- EventManager_1.eventManager.applyEvent(obj, EventManager_1.eventManager.findAttrElements(fragment, config), config);
445
- };
446
- RawSet.prototype.getAttributeNames = function (element) {
447
- return element.getAttributeNames();
448
- };
449
- RawSet.prototype.getAttribute = function (element, attr) {
450
- var data = element.getAttribute(attr);
451
- return data;
452
- };
453
- RawSet.prototype.getAttributeAndDelete = function (element, attr) {
454
- var data = element.getAttribute(attr);
455
- element.removeAttribute(attr);
456
- return data;
457
- };
458
- RawSet.prototype.getDrAppendAttributeAndDelete = function (element, obj) {
459
- var data = element.getAttribute(RawSet.DR_APPENDER_NAME);
460
- // if (data && !/\[[0-9]+\]/g.test(data)) {
461
- if (data && !/\[.+\]/g.test(data)) {
462
- var currentIndex = ScriptUtils_1.ScriptUtils.evalReturn("".concat(data, "?.length -1"), obj);
463
- // console.log('------?', currentIndex)
464
- // if (currentIndex === undefined || isNaN(currentIndex)) {
465
- // return undefined;
466
- // }
467
- // const currentIndex = ScriptUtils.evalReturn(`${data}.length`, obj);
468
- data = "".concat(data, "[").concat(currentIndex, "]");
469
- element.setAttribute(RawSet.DR_APPENDER_NAME, data);
470
- // element.setAttribute(RawSet.DR_IF_NAME, data);
471
- // element.setAttribute('dr-id', data);
472
- // console.log('-->', element)
473
- }
474
- // if (data && !/\.childs\[[0-9]+\]/g.test(data)) {
475
- // const currentIndex = ScriptUtils.evalReturn(`${data}.currentIndex`, obj);
476
- // data = `${data}.childs[${currentIndex}]`;
477
- // element.setAttribute(RawSet.DR_APPENDER_NAME, data)
478
- // }
479
- element.removeAttribute(RawSet.DR_APPENDER_NAME);
480
- return data;
481
- };
482
- RawSet.prototype.replaceBody = function (genNode) {
483
- var _a;
484
- this.childAllRemove();
485
- (_a = this.point.start.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(genNode, this.point.start.nextSibling);
486
- };
487
- RawSet.checkPointCreates = function (element, config) {
488
- var _a, _b, _c, _d;
489
- var thisVariableName = element.__domrender_this_variable_name;
490
- // console.log('checkPointCreates thisVariableName', thisVariableName);
491
- var nodeIterator = config.window.document.createNodeIterator(element, NodeFilter.SHOW_ALL, {
492
- acceptNode: function (node) {
493
- var _a, _b, _c, _d, _e;
494
- if (node.nodeType === Node.TEXT_NODE) {
495
- // console.log('????????', node.parentElement, node.parentElement?.getAttribute('dr-pre'));
496
- // console.log('???????/',node.textContent, node.parentElement?.getAttribute('dr-pre'))
497
- // 나중에
498
- // const between = StringUtils.betweenRegexpStr('[$#]\\{', '\\}', StringUtils.deleteEnter((node as Text).data ?? ''))
499
- var between = RawSet.exporesionGrouops(StringUtils_1.StringUtils.deleteEnter((_a = node.data) !== null && _a !== void 0 ? _a : ''));
500
- // console.log('bbbb', between)
501
- return (between === null || between === void 0 ? void 0 : between.length) > 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
502
- // return /\$\{.*?\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
503
- // return /[$#]\{.*?\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
504
- }
505
- else if (node.nodeType === Node.ELEMENT_NODE) {
506
- var element_3 = node;
507
- var isElement = ((_c = (_b = config.targetElements) === null || _b === void 0 ? void 0 : _b.map(function (it) { return it.name.toLowerCase(); })) !== null && _c !== void 0 ? _c : []).includes(element_3.tagName.toLowerCase());
508
- var targetAttrNames_1 = ((_e = (_d = config.targetAttrs) === null || _d === void 0 ? void 0 : _d.map(function (it) { return it.name; })) !== null && _e !== void 0 ? _e : []).concat(RawSet.DR_ATTRIBUTES);
509
- var isAttr = element_3.getAttributeNames().filter(function (it) { return targetAttrNames_1.includes(it.toLowerCase()); }).length > 0;
510
- return (isAttr || isElement) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
511
- }
512
- return NodeFilter.FILTER_REJECT;
513
- }
514
- });
515
- var pars = [];
516
- var currentNode;
517
- var _loop_2 = function () {
518
- if (currentNode.nodeType === Node.TEXT_NODE) {
519
- var text = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';
520
- var template_1 = config.window.document.createElement('template');
521
- // const a = StringUtils.regexExec(/\$\{.*?\}/g, text);
522
- // const a = StringUtils.regexExec(/[$#]\{.*?\}/g, text);
523
- // const a = StringUtils.betweenRegexpStr('[$#]\\{', '\\}', text); // <--나중에..
524
- var a = RawSet.exporesionGrouops(text); // <--나중에..
525
- var map = a.map(function (it) {
526
- return {
527
- uuid: RandomUtils_1.RandomUtils.uuid(),
528
- content: it[0],
529
- regexArr: it
530
- };
531
- });
532
- var lasterIndex_1 = 0;
533
- map.forEach(function (it) {
534
- var regexArr = it.regexArr;
535
- var preparedText = regexArr.input.substring(lasterIndex_1, regexArr.index);
536
- var start = config.window.document.createComment("start text ".concat(it.uuid));
537
- var end = config.window.document.createComment("end text ".concat(it.uuid));
538
- // layout setting
539
- template_1.content.append(document.createTextNode(preparedText)); // 사이사이값.
540
- template_1.content.append(start);
541
- template_1.content.append(end);
542
- // content
543
- var fragment = config.window.document.createDocumentFragment();
544
- fragment.append(config.window.document.createTextNode(it.content));
545
- pars.push(new RawSet(it.uuid, {
546
- start: start,
547
- end: end,
548
- thisVariableName: thisVariableName
549
- }, fragment));
550
- lasterIndex_1 = regexArr.index + it.content.length;
551
- });
552
- template_1.content.append(config.window.document.createTextNode(text.substring(lasterIndex_1, text.length)));
553
- (_b = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(template_1.content, currentNode);
554
- }
555
- else {
556
- var uuid = RandomUtils_1.RandomUtils.uuid();
557
- var fragment = config.window.document.createDocumentFragment();
558
- var start = config.window.document.createComment("start ".concat(uuid));
559
- var end = config.window.document.createComment("end ".concat(uuid));
560
- // console.log('start--', uuid)
561
- (_c = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _c === void 0 ? void 0 : _c.insertBefore(start, currentNode);
562
- (_d = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _d === void 0 ? void 0 : _d.insertBefore(end, currentNode.nextSibling);
563
- fragment.append(currentNode);
564
- pars.push(new RawSet(uuid, {
565
- start: start,
566
- end: end,
567
- thisVariableName: thisVariableName
568
- }, fragment));
569
- }
570
- };
571
- // eslint-disable-next-line no-cond-assign
572
- while (currentNode = nodeIterator.nextNode()) {
573
- _loop_2();
574
- }
575
- // console.log('check-->', pars)
576
- return pars;
577
- };
578
- RawSet.prototype.childAllRemove = function () {
579
- var next = this.point.start.nextSibling;
580
- while (next) {
581
- if (next === this.point.end) {
582
- break;
583
- }
584
- next.remove();
585
- next = this.point.start.nextSibling;
586
- }
587
- };
588
- RawSet.drItOtherEncoding = function (element) {
589
- var random = RandomUtils_1.RandomUtils.uuid();
590
- var regex = /#it#/g;
591
- element.querySelectorAll("[".concat(RawSet.DR_IT_OPTIONNAME, "], [").concat(RawSet.DR_FOR_OF_NAME, "], [").concat(RawSet.DR_REPEAT_NAME, "]")).forEach(function (it) {
592
- it.innerHTML = it.innerHTML.replace(regex, random);
593
- });
594
- return random;
595
- };
596
- RawSet.drItOtherDecoding = function (element, random) {
597
- element.querySelectorAll("[".concat(RawSet.DR_IT_OPTIONNAME, "], [").concat(RawSet.DR_FOR_OF_NAME, "], [").concat(RawSet.DR_REPEAT_NAME, "]")).forEach(function (it) {
598
- it.innerHTML = it.innerHTML.replace(RegExp(random, 'g'), '#it#');
599
- });
600
- };
601
- // public static drDVarEncoding(element: Element, drVarOption: string) {
602
- // const vars = (drVarOption?.split(',') ?? []).map(it => {
603
- // const s = it.trim().split('=');
604
- // return {
605
- // name: s[0],
606
- // value: s[1],
607
- // regex: RegExp('(?<!(dr-|\\.))var\\.' + s[0] + '(?=.?)', 'g'),
608
- // random: RandomUtils.uuid()
609
- // }
610
- // })
611
- // element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {
612
- // vars.filter(vit => vit.value && vit.name).forEach(vit => {
613
- // it.innerHTML = it.innerHTML.replace(vit.regex, vit.random);
614
- // })
615
- // });
616
- // vars.filter(vit => vit.value && vit.name).forEach(vit => {
617
- // element.innerHTML = element.innerHTML.replace(vit.regex, vit.value);
618
- // })
619
- // return vars;
620
- // }
621
- //
622
- // public static drDVarDecoding(element: Element, vars: { name: string, value: string, regex: RegExp, random: string }[]) {
623
- // element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {
624
- // vars.filter(vit => vit.value && vit.name).forEach(vit => {
625
- // it.innerHTML = it.innerHTML.replace(RegExp(vit.random, 'g'), vit.value);
626
- // })
627
- // });
628
- // }
629
- RawSet.drThisEncoding = function (element, drThis) {
630
- var thisRandom = RandomUtils_1.RandomUtils.uuid();
631
- // const thisRegex = /(?<!(dr-|\.))this(?=.?)/g;
632
- // const thisRegex = /[^(dr\-)]this(?=.?)/g;
633
- // const thisRegex = /[^(dr\-)]this\./g;
634
- // safari 때문에 전위 검색 regex가 안됨 아 짜증나서 이걸로함.
635
- // element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {
636
- // let message = it.innerHTML;
637
- // })
638
- // console.log('-----?', `[${RawSet.DR_THIS_NAME}], :not([${RawSet.DR_PRE_NAME}])`)
639
- element.querySelectorAll("[".concat(RawSet.DR_PRE_NAME, "]")).forEach(function (it) {
640
- it.innerHTML = it.innerHTML.replace(/this/g, thisRandom);
641
- });
642
- element.querySelectorAll("[".concat(RawSet.DR_THIS_NAME, "]")).forEach(function (it) {
643
- var message = it.innerHTML;
644
- StringUtils_1.StringUtils.regexExec(/([^(dr\-)])?this(?=.?)/g, message).reverse().forEach(function (it) {
645
- var _a;
646
- message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], "".concat((_a = it[1]) !== null && _a !== void 0 ? _a : '').concat(drThis));
647
- });
648
- it.innerHTML = message;
649
- });
650
- var message = element.innerHTML;
651
- StringUtils_1.StringUtils.regexExec(/([^(dr\-)])?this(?=.?)/g, message).reverse().forEach(function (it) {
652
- var _a;
653
- message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], "".concat((_a = it[1]) !== null && _a !== void 0 ? _a : '').concat(drThis));
654
- });
655
- element.innerHTML = message;
656
- return thisRandom;
657
- };
658
- RawSet.drThisDecoding = function (element, thisRandom) {
659
- element.querySelectorAll("[".concat(RawSet.DR_PRE_NAME, "]")).forEach(function (it) {
660
- it.innerHTML = it.innerHTML.replace(RegExp(thisRandom, 'g'), 'this');
661
- });
662
- element.querySelectorAll("[".concat(RawSet.DR_THIS_NAME, "]")).forEach(function (it) {
663
- it.innerHTML = it.innerHTML.replace(RegExp(thisRandom, 'g'), 'this');
664
- });
665
- };
666
- RawSet.drFormOtherMoveAttr = function (element, as, to, config) {
667
- element.querySelectorAll("[".concat(RawSet.DR_FORM_NAME, "]")).forEach(function (subElement) {
668
- var _a;
669
- var nodeIterator = config.window.document.createNodeIterator(subElement, NodeFilter.SHOW_ELEMENT, {
670
- acceptNode: function (node) {
671
- if (node.nodeType === Node.ELEMENT_NODE) {
672
- var element_4 = node;
673
- return element_4.hasAttribute(as) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
674
- }
675
- else {
676
- return NodeFilter.FILTER_REJECT;
677
- }
678
- }
679
- });
680
- var node;
681
- // eslint-disable-next-line no-cond-assign
682
- while (node = nodeIterator.nextNode()) {
683
- var element_5 = node;
684
- element_5.setAttribute(to, (_a = element_5.getAttribute(as)) !== null && _a !== void 0 ? _a : '');
685
- element_5.removeAttribute(as);
686
- }
687
- });
688
- };
689
- RawSet.drVarEncoding = function (element, drVarOption) {
690
- var _a;
691
- var vars = ((_a = drVarOption === null || drVarOption === void 0 ? void 0 : drVarOption.split(',')) !== null && _a !== void 0 ? _a : []).map(function (it) {
692
- var _a, _b;
693
- var s = it.trim().split('=');
694
- var name = (_a = s[0]) === null || _a === void 0 ? void 0 : _a.trim();
695
- var value = (_b = s[1]) === null || _b === void 0 ? void 0 : _b.trim();
696
- return {
697
- name: name,
698
- value: value,
699
- // regex: RegExp('(?<!(dr-|\\.))var\\.' + s[0] + '(?=.?)', 'g'),
700
- regex: RegExp('\\$var\\.' + name + '(?=.?)', 'g'),
701
- random: RandomUtils_1.RandomUtils.uuid()
702
- };
703
- });
704
- // element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {
705
- element.querySelectorAll("[".concat(RawSet.DR_VAR_OPTIONNAME, "]")).forEach(function (it) {
706
- vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {
707
- it.innerHTML = it.innerHTML.replace(vit.regex, vit.random);
708
- });
709
- });
710
- vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {
711
- element.innerHTML = element.innerHTML.replace(vit.regex, vit.value);
712
- });
713
- return vars;
714
- };
715
- RawSet.drVarDecoding = function (element, vars) {
716
- element.querySelectorAll("[".concat(RawSet.DR_THIS_NAME, "]")).forEach(function (it) {
717
- vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {
718
- it.innerHTML = it.innerHTML.replace(RegExp(vit.random, 'g'), vit.value);
719
- });
720
- });
721
- };
722
- RawSet.drThisCreate = function (element, drThis, drVarOption, drStripOption, obj, config) {
723
- var fag = config.window.document.createDocumentFragment();
724
- var n = element.cloneNode(true);
725
- n.querySelectorAll(EventManager_1.eventManager.attrNames.map(function (it) { return "[".concat(it, "]"); }).join(',')).forEach(function (it) {
726
- it.setAttribute(EventManager_1.EventManager.ownerVariablePathAttrName, 'this');
727
- });
728
- var thisRandom = this.drThisEncoding(n, drThis);
729
- var vars = this.drVarEncoding(n, drVarOption);
730
- this.drVarDecoding(n, vars);
731
- this.drThisDecoding(n, thisRandom);
732
- if (drStripOption && (drStripOption === true || drStripOption === 'true')) {
733
- Array.from(n.childNodes).forEach(function (it) { return fag.append(it); });
734
- }
735
- else {
736
- fag.append(n);
737
- }
738
- fag.__domrender_this_variable_name = drThis;
739
- // console.log('set __domrender_this_variable_name', (fag as any).__domrender_this_variable_name)
740
- return fag;
741
- };
742
- RawSet.createComponentTargetAttribute = function (name, getThisObj, factory) {
743
- var targetAttribute = {
744
- name: name,
745
- callBack: function (element, attrValue, obj, rawSet) {
746
- var _a;
747
- var thisObj = getThisObj(element, attrValue, obj, rawSet);
748
- var data = factory(element, attrValue, obj, rawSet);
749
- rawSet.point.thisVariableName = data.__domrender_this_variable_name;
750
- if (thisObj) {
751
- var i = thisObj.__domrender_component_new = ((_a = thisObj.__domrender_component_new) !== null && _a !== void 0 ? _a : new Proxy({}, new Types_1.DomRenderFinalProxy()));
752
- i.thisVariableName = rawSet.point.thisVariableName;
753
- i.rawSet = rawSet;
754
- i.innerHTML = element.innerHTML;
755
- i.rootCreator = new Proxy(obj, new Types_1.DomRenderFinalProxy());
756
- i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils_1.ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new Types_1.DomRenderFinalProxy());
757
- }
758
- return data;
759
- }
760
- };
761
- return targetAttribute;
762
- };
763
- RawSet.createComponentTargetElement = function (name, objFactory, template, styles, config) {
764
- if (template === void 0) { template = ''; }
765
- if (styles === void 0) { styles = []; }
766
- var targetElement = {
767
- name: name,
768
- styles: styles,
769
- template: template,
770
- callBack: function (element, obj, rawSet) {
771
- var _a, _b, _c, _d, _e;
772
- // console.log('callback------->')
773
- if (!obj.__domrender_components) {
774
- obj.__domrender_components = {};
775
- }
776
- var domrenderComponents = obj.__domrender_components;
777
- var componentKey = '_' + RandomUtils_1.RandomUtils.getRandomString(20);
778
- var attribute = DomUtils_1.DomUtils.getAttributeToObject(element);
779
- 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;';
780
- var render = Object.freeze({
781
- element: element,
782
- innerHTML: element.innerHTML,
783
- attribute: attribute,
784
- rawset: rawSet,
785
- router: config.router,
786
- componentKey: componentKey,
787
- scripts: EventManager_1.EventManager.setBindProperty((_a = config.scripts) !== null && _a !== void 0 ? _a : {}, obj)
788
- // eslint-disable-next-line no-use-before-define
789
- });
790
- var constructor = element.getAttribute('dr-constructor');
791
- var constructorParam = [];
792
- if (constructor) {
793
- var script = "".concat(renderScript, " return ").concat(constructor, " ");
794
- var param = (_b = ScriptUtils_1.ScriptUtils.eval(script, obj)) !== null && _b !== void 0 ? _b : [];
795
- if (!Array.isArray(param)) {
796
- param = [param];
797
- }
798
- constructorParam = param;
799
- }
800
- domrenderComponents[componentKey] = objFactory(element, obj, rawSet, constructorParam);
801
- var instance = domrenderComponents[componentKey];
802
- render = __assign({ component: instance }, render);
803
- var onCreate = element.getAttribute('dr-on-create');
804
- this.__render = render;
805
- var createParam;
806
- if (onCreate) {
807
- var script = "".concat(renderScript, " return ").concat(onCreate, " ");
808
- createParam = ScriptUtils_1.ScriptUtils.eval(script, obj);
809
- }
810
- (_c = instance === null || instance === void 0 ? void 0 : instance.onCreateRender) === null || _c === void 0 ? void 0 : _c.call(instance, createParam);
811
- var i = instance.__domrender_component_new = ((_d = instance.__domrender_component_new) !== null && _d !== void 0 ? _d : new Proxy({}, new Types_1.DomRenderFinalProxy()));
812
- i.thisVariableName = rawSet.point.thisVariableName;
813
- i.thisFullVariableName = "this.__domrender_components.".concat(componentKey);
814
- i.componentKey = componentKey;
815
- i.rawSet = rawSet;
816
- i.innerHTML = element.innerHTML;
817
- i.rootCreator = new Proxy(obj, new Types_1.DomRenderFinalProxy());
818
- i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils_1.ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new Types_1.DomRenderFinalProxy());
819
- this.__creatorMetaData = i;
820
- var applayTemplate = element.innerHTML;
821
- var innerHTMLThisRandom;
822
- if (applayTemplate) {
823
- // if (rawSet.point.thisVariableName) {
824
- // 넘어온 innerHTML에 this가 있으면 해당안되게 우선 치환.
825
- innerHTMLThisRandom = RandomUtils_1.RandomUtils.uuid();
826
- applayTemplate = applayTemplate.replace(/this\./g, innerHTMLThisRandom);
827
- // }
828
- applayTemplate = applayTemplate.replace(/#component#/g, 'this');
829
- }
830
- applayTemplate = template.replace(/#innerHTML#/g, applayTemplate);
831
- var oninit = element.getAttribute("".concat(EventManager_1.EventManager.attrPrefix, "on-component-init")); // dr-on-component-init
832
- if (oninit) {
833
- var script = "".concat(renderScript, " ").concat(oninit, " ");
834
- ScriptUtils_1.ScriptUtils.eval(script, Object.assign(obj, {
835
- __render: render
836
- }));
837
- }
838
- var innerHTML = ((_e = styles === null || styles === void 0 ? void 0 : styles.map(function (it) { return "<style>".concat(it, "</style>"); })) !== null && _e !== void 0 ? _e : []).join(' ') + (applayTemplate !== null && applayTemplate !== void 0 ? applayTemplate : '');
839
- element.innerHTML = innerHTML;
840
- // console.log('------>', element.innerHTML, obj)
841
- var data = RawSet.drThisCreate(element, "this.__domrender_components.".concat(componentKey), '', true, obj, config);
842
- // 넘어온 innerHTML에 this가 있는걸 다시 복호화해서 제대로 작동하도록한다.
843
- if (innerHTMLThisRandom) {
844
- var template_2 = config.window.document.createElement('template');
845
- template_2.content.append(data);
846
- template_2.innerHTML = template_2.innerHTML.replace(RegExp(innerHTMLThisRandom, 'g'), 'this.');
847
- data = template_2.content;
848
- }
849
- data.render = render;
850
- return data;
851
- }
852
- // complete
853
- };
854
- return targetElement;
855
- };
856
- RawSet.exporesionGrouops = function (data) {
857
- // const reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]*?)\}[$#]))/g;
858
- var reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]?[^{]*?)\}[$#]))/g;
859
- return StringUtils_1.StringUtils.regexExec(reg, data);
860
- };
861
- RawSet.DR = 'dr';
862
- RawSet.DR_IF_NAME = 'dr-if';
863
- RawSet.DR_FOR_NAME = 'dr-for';
864
- RawSet.DR_FOR_OF_NAME = 'dr-for-of';
865
- RawSet.DR_REPEAT_NAME = 'dr-repeat';
866
- RawSet.DR_THIS_NAME = 'dr-this';
867
- RawSet.DR_FORM_NAME = 'dr-form';
868
- RawSet.DR_PRE_NAME = 'dr-pre';
869
- RawSet.DR_APPENDER_NAME = 'dr-appender';
870
- RawSet.DR_INNERHTML_NAME = 'dr-inner-html';
871
- RawSet.DR_INNERTEXT_NAME = 'dr-inner-text';
872
- RawSet.DR_DETECT_NAME = 'dr-detect';
873
- // public static readonly DR_DETECT_ACTION_NAME = 'dr-detect-action';
874
- RawSet.DR_IT_OPTIONNAME = 'dr-it';
875
- RawSet.DR_VAR_OPTIONNAME = 'dr-var';
876
- RawSet.DR_AFTER_OPTIONNAME = 'dr-after';
877
- RawSet.DR_NEXT_OPTIONNAME = 'dr-next';
878
- RawSet.DR_BEFORE_OPTIONNAME = 'dr-before';
879
- RawSet.DR_COMPLETE_OPTIONNAME = 'dr-complete';
880
- RawSet.DR_STRIP_OPTIONNAME = 'dr-strip';
881
- RawSet.drAttrsOriginName = {
882
- dr: RawSet.DR,
883
- drIf: RawSet.DR_IF_NAME,
884
- drFor: RawSet.DR_FOR_NAME,
885
- drForOf: RawSet.DR_FOR_OF_NAME,
886
- drAppender: RawSet.DR_APPENDER_NAME,
887
- drRepeat: RawSet.DR_REPEAT_NAME,
888
- drThis: RawSet.DR_THIS_NAME,
889
- drForm: RawSet.DR_FORM_NAME,
890
- drPre: RawSet.DR_PRE_NAME,
891
- drInnerHTML: RawSet.DR_INNERHTML_NAME,
892
- drInnerText: RawSet.DR_INNERTEXT_NAME,
893
- drItOption: RawSet.DR_IT_OPTIONNAME,
894
- drVarOption: RawSet.DR_VAR_OPTIONNAME,
895
- drAfterOption: RawSet.DR_AFTER_OPTIONNAME,
896
- drNextOption: RawSet.DR_NEXT_OPTIONNAME,
897
- drBeforeOption: RawSet.DR_BEFORE_OPTIONNAME,
898
- drCompleteOption: RawSet.DR_COMPLETE_OPTIONNAME,
899
- drStripOption: RawSet.DR_STRIP_OPTIONNAME
900
- };
901
- RawSet.DR_TAGS = [];
902
- 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];
903
- return RawSet;
904
- }());
905
- exports.RawSet = RawSet;
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.RawSet = exports.DestroyOptionType = void 0;
24
+ var RandomUtils_1 = require("./utils/random/RandomUtils");
25
+ var StringUtils_1 = require("./utils/string/StringUtils");
26
+ var ScriptUtils_1 = require("./utils/script/ScriptUtils");
27
+ var EventManager_1 = require("./events/EventManager");
28
+ var Range_1 = require("./iterators/Range");
29
+ var Types_1 = require("./types/Types");
30
+ var DomUtils_1 = require("./utils/dom/DomUtils");
31
+ var DrPre_1 = require("./operators/DrPre");
32
+ var Dr_1 = require("./operators/Dr");
33
+ var DrIf_1 = require("./operators/DrIf");
34
+ var OperatorRender_1 = require("./operators/OperatorRender");
35
+ var DrThis_1 = require("./operators/DrThis");
36
+ var DrForm_1 = require("./operators/DrForm");
37
+ var DrInnerText_1 = require("./operators/DrInnerText");
38
+ var DrInnerHTML_1 = require("./operators/DrInnerHTML");
39
+ var DrFor_1 = require("./operators/DrFor");
40
+ var DrForOf_1 = require("./operators/DrForOf");
41
+ var DrAppender_1 = require("./operators/DrAppender");
42
+ var DrRepeat_1 = require("./operators/DrRepeat");
43
+ var DrTargetElement_1 = require("./operators/DrTargetElement");
44
+ var DrTargetAttr_1 = require("./operators/DrTargetAttr");
45
+ var DestroyOptionType;
46
+ (function (DestroyOptionType) {
47
+ DestroyOptionType["NO_DESTROY"] = "NO_DESTROY";
48
+ DestroyOptionType["NO_MESSENGER_DESTROY"] = "NO_MESSENGER_DESTROY";
49
+ })(DestroyOptionType = exports.DestroyOptionType || (exports.DestroyOptionType = {}));
50
+ var RawSet = /** @class */ (function () {
51
+ function RawSet(uuid, point, fragment, detect, data) {
52
+ if (data === void 0) { data = {}; }
53
+ this.uuid = uuid;
54
+ this.point = point;
55
+ this.fragment = fragment;
56
+ this.detect = detect;
57
+ this.data = data;
58
+ }
59
+ Object.defineProperty(RawSet.prototype, "isConnected", {
60
+ get: function () {
61
+ return this.point.start.isConnected && this.point.end.isConnected;
62
+ },
63
+ enumerable: false,
64
+ configurable: true
65
+ });
66
+ // 중요
67
+ RawSet.prototype.getUsingTriggerVariables = function (config) {
68
+ var usingTriggerVariables = new Set();
69
+ this.fragment.childNodes.forEach(function (cNode, key) {
70
+ var _a, _b, _c;
71
+ var script = '';
72
+ if (cNode.nodeType === Node.TEXT_NODE) {
73
+ script = "`".concat((_a = cNode.textContent) !== null && _a !== void 0 ? _a : '', "`");
74
+ // console.log('???????', script)
75
+ }
76
+ else if (cNode.nodeType === Node.ELEMENT_NODE) {
77
+ var element_1 = cNode;
78
+ var targetAttrNames = ((_c = (_b = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _b === void 0 ? void 0 : _b.map(function (it) { return it.name; })) !== null && _c !== void 0 ? _c : []).concat(RawSet.DR_ATTRIBUTES);
79
+ script = targetAttrNames.map(function (it) {
80
+ // console.log('-?', element.getAttribute(it))
81
+ return element_1.getAttribute(it);
82
+ }).filter(function (it) { return it; }).join(';');
83
+ // console.log('----!!!!!-->', targetAttrNames)
84
+ // const otherAttrs = element.getAttributeNames()
85
+ // .filter(it => !targetAttrNames.includes(it.toLowerCase()) && RawSet.isExporesion(element.getAttribute(it)))
86
+ // .map(it => {
87
+ // return `\`${element.getAttribute(it) ?? ''}\``;
88
+ // }).join(';');
89
+ // script += ';' + otherAttrs
90
+ }
91
+ if (script) {
92
+ // script = script.replace('}$','}');
93
+ // console.log('----------->', script)
94
+ EventManager_1.EventManager.VARNAMES.forEach(function (it) {
95
+ // script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), `this?.___${it}`);
96
+ // script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), `this.___${it}`);
97
+ script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), "this.___".concat(it));
98
+ // console.log('scripts-->', script)
99
+ });
100
+ // console.log('----------', script);
101
+ Array.from(ScriptUtils_1.ScriptUtils.getVariablePaths(script)).filter(function (it) { return !it.startsWith("___".concat(EventManager_1.EventManager.SCRIPTS_VARNAME)); }).forEach(function (it) { return usingTriggerVariables.add(it); });
102
+ }
103
+ });
104
+ // console.log('usingTriggerVariable----------->', usingTriggerVariables)
105
+ return usingTriggerVariables;
106
+ };
107
+ RawSet.prototype.render = function (obj, config) {
108
+ var _this = this;
109
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
110
+ var genNode = config.window.document.importNode(this.fragment, true);
111
+ var raws = [];
112
+ var onAttrInitCallBacks = [];
113
+ var onElementInitCallBacks = [];
114
+ var onThisComponentSetCallBacks = [];
115
+ var drAttrs = [];
116
+ for (var _i = 0, _m = Array.from(genNode.childNodes.values()); _i < _m.length; _i++) {
117
+ var cNode = _m[_i];
118
+ var attribute = {};
119
+ if (cNode.nodeType === Node.ELEMENT_NODE) {
120
+ attribute = DomUtils_1.DomUtils.getAttributeToObject(cNode);
121
+ }
122
+ var __render = Object.freeze({
123
+ rawset: this,
124
+ scripts: EventManager_1.EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj),
125
+ router: config === null || config === void 0 ? void 0 : config.router,
126
+ range: Range_1.Range.range,
127
+ element: cNode,
128
+ attribute: attribute,
129
+ bindScript: "\n const ".concat(EventManager_1.EventManager.SCRIPTS_VARNAME, " = this.__render.scripts;\n const ").concat(EventManager_1.EventManager.RAWSET_VARNAME, " = this.__render.rawset;\n const ").concat(EventManager_1.EventManager.ELEMENT_VARNAME, " = this.__render.element;\n const ").concat(EventManager_1.EventManager.ATTRIBUTE_VARNAME, " = this.__render.attribute;\n const ").concat(EventManager_1.EventManager.RANGE_VARNAME, " = this.__render.range;\n const ").concat(EventManager_1.EventManager.ROUTER_VARNAME, " = this.__render.router;\n ")
130
+ // eslint-disable-next-line no-use-before-define
131
+ });
132
+ var fag = config.window.document.createDocumentFragment();
133
+ if (cNode.nodeType === Node.TEXT_NODE && cNode.textContent) {
134
+ var textContent = cNode.textContent;
135
+ var runText = RawSet.exporesionGrouops(textContent)[0][1];
136
+ // console.log('--->', RawSet.exporesionGrouops(textContent), textContent,runText, runText[0][1])
137
+ var n = void 0;
138
+ if (textContent === null || textContent === void 0 ? void 0 : textContent.startsWith('#')) {
139
+ var r = ScriptUtils_1.ScriptUtils.eval("".concat(__render.bindScript, " return ").concat(runText), Object.assign(obj, { __render: __render }));
140
+ var template = config.window.document.createElement('template');
141
+ template.innerHTML = r;
142
+ n = template.content;
143
+ }
144
+ else {
145
+ var r = ScriptUtils_1.ScriptUtils.eval("".concat(__render.bindScript, " return ").concat(runText), Object.assign(obj, { __render: __render }));
146
+ n = config.window.document.createTextNode(r);
147
+ }
148
+ (_a = cNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(n, cNode);
149
+ }
150
+ else if (cNode.nodeType === Node.ELEMENT_NODE) {
151
+ var element = cNode;
152
+ // console.log('target-->', element)
153
+ var drAttr = {
154
+ dr: this.getAttributeAndDelete(element, RawSet.DR),
155
+ drIf: this.getAttributeAndDelete(element, RawSet.DR_IF_NAME),
156
+ drFor: this.getAttributeAndDelete(element, RawSet.DR_FOR_NAME),
157
+ drForOf: this.getAttributeAndDelete(element, RawSet.DR_FOR_OF_NAME),
158
+ drAppender: this.getAttributeAndDelete(element, RawSet.DR_APPENDER_NAME),
159
+ drRepeat: this.getAttributeAndDelete(element, RawSet.DR_REPEAT_NAME),
160
+ drThis: this.getAttributeAndDelete(element, RawSet.DR_THIS_NAME),
161
+ drForm: this.getAttributeAndDelete(element, RawSet.DR_FORM_NAME),
162
+ drPre: this.getAttributeAndDelete(element, RawSet.DR_PRE_NAME),
163
+ drInnerHTML: this.getAttributeAndDelete(element, RawSet.DR_INNERHTML_NAME),
164
+ drInnerText: this.getAttributeAndDelete(element, RawSet.DR_INNERTEXT_NAME),
165
+ drItOption: this.getAttributeAndDelete(element, RawSet.DR_IT_OPTIONNAME),
166
+ drVarOption: this.getAttributeAndDelete(element, RawSet.DR_VAR_OPTIONNAME),
167
+ drNextOption: this.getAttributeAndDelete(element, RawSet.DR_NEXT_OPTIONNAME),
168
+ drAfterOption: this.getAttributeAndDelete(element, RawSet.DR_AFTER_OPTIONNAME),
169
+ drBeforeOption: this.getAttributeAndDelete(element, RawSet.DR_BEFORE_OPTIONNAME),
170
+ drCompleteOption: this.getAttributeAndDelete(element, RawSet.DR_COMPLETE_OPTIONNAME),
171
+ drStripOption: this.getAttributeAndDelete(element, RawSet.DR_STRIP_OPTIONNAME),
172
+ drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME)
173
+ };
174
+ drAttrs.push(drAttr);
175
+ var operators = [
176
+ new DrPre_1.DrPre(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
177
+ new Dr_1.Dr(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
178
+ new DrIf_1.DrIf(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
179
+ new DrThis_1.DrThis(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
180
+ new DrForm_1.DrForm(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
181
+ new DrInnerText_1.DrInnerText(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
182
+ new DrInnerHTML_1.DrInnerHTML(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
183
+ new DrFor_1.DrFor(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
184
+ new DrForOf_1.DrForOf(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
185
+ new DrAppender_1.DrAppender(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
186
+ new DrRepeat_1.DrRepeat(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
187
+ new DrTargetElement_1.DrTargetElement(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
188
+ new DrTargetAttr_1.DrTargetAttr(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks })
189
+ ];
190
+ for (var _o = 0, operators_1 = operators; _o < operators_1.length; _o++) {
191
+ var operator = operators_1[_o];
192
+ var state = operator.execRender();
193
+ if (state === OperatorRender_1.ExecuteState.EXECUTE) {
194
+ break;
195
+ }
196
+ else if (state === OperatorRender_1.ExecuteState.STOP) {
197
+ return raws;
198
+ }
199
+ }
200
+ }
201
+ }
202
+ this.applyEvent(obj, genNode, config);
203
+ this.replaceBody(genNode);
204
+ drAttrs.forEach(function (it) {
205
+ if (it.drCompleteOption) {
206
+ // genNode.childNodes
207
+ ScriptUtils_1.ScriptUtils.eval("\n const ".concat(EventManager_1.EventManager.FAG_VARNAME, " = this.__render.fag;\n const ").concat(EventManager_1.EventManager.SCRIPTS_VARNAME, " = this.__render.scripts;\n const ").concat(EventManager_1.EventManager.RAWSET_VARNAME, " = this.__render.rawset;\n ").concat(it.drCompleteOption, "\n "), Object.assign(obj, {
208
+ __render: Object.freeze({
209
+ rawset: _this,
210
+ fag: genNode,
211
+ scripts: EventManager_1.EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
212
+ })
213
+ }));
214
+ }
215
+ });
216
+ for (var _p = 0, onThisComponentSetCallBacks_1 = onThisComponentSetCallBacks; _p < onThisComponentSetCallBacks_1.length; _p++) {
217
+ var it_1 = onThisComponentSetCallBacks_1[_p];
218
+ (_c = (_b = it_1.obj).onInitRender) === null || _c === void 0 ? void 0 : _c.call(_b);
219
+ }
220
+ for (var _q = 0, onElementInitCallBacks_1 = onElementInitCallBacks; _q < onElementInitCallBacks_1.length; _q++) {
221
+ var it_2 = onElementInitCallBacks_1[_q];
222
+ (_g = (_f = (_e = (_d = it_2.targetElement) === null || _d === void 0 ? void 0 : _d.__render) === null || _e === void 0 ? void 0 : _e.component) === null || _f === void 0 ? void 0 : _f.onInitRender) === null || _g === void 0 ? void 0 : _g.call(_f, Object.freeze({ render: (_h = it_2.targetElement) === null || _h === void 0 ? void 0 : _h.__render, creatorMetaData: (_j = it_2.targetElement) === null || _j === void 0 ? void 0 : _j.__creatorMetaData }));
223
+ (_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);
224
+ }
225
+ for (var _r = 0, onAttrInitCallBacks_1 = onAttrInitCallBacks; _r < onAttrInitCallBacks_1.length; _r++) {
226
+ var it_3 = onAttrInitCallBacks_1[_r];
227
+ (_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);
228
+ }
229
+ // component destroy
230
+ if (obj.__domrender_components) {
231
+ Object.entries(obj.__domrender_components).forEach(function (_a) {
232
+ var _b, _c;
233
+ var key = _a[0], value = _a[1];
234
+ var domrenderComponentNew = value.__domrender_component_new;
235
+ var rawSet = domrenderComponentNew === null || domrenderComponentNew === void 0 ? void 0 : domrenderComponentNew.rawSet;
236
+ var drAttrs = domrenderComponentNew === null || domrenderComponentNew === void 0 ? void 0 : domrenderComponentNew.drAttrs;
237
+ if (rawSet && !rawSet.isConnected) {
238
+ // const domrenderComponent = obj.__domrender_components[key];
239
+ // console.log('component destroy--->', key, rawSet, rawSet.isConnected, domrenderComponent.name, domrenderComponent);
240
+ 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 : [];
241
+ RawSet.destroy(obj.__domrender_components[key], [domrenderComponentNew], config, destroyOptions);
242
+ delete obj.__domrender_components[key];
243
+ }
244
+ });
245
+ }
246
+ return raws;
247
+ };
248
+ RawSet.prototype.applyEvent = function (obj, fragment, config) {
249
+ if (fragment === void 0) { fragment = this.fragment; }
250
+ EventManager_1.eventManager.applyEvent(obj, EventManager_1.eventManager.findAttrElements(fragment, config), config);
251
+ };
252
+ RawSet.prototype.getAttribute = function (element, attr) {
253
+ var data = element.getAttribute(attr);
254
+ return data;
255
+ };
256
+ RawSet.prototype.getAttributeAndDelete = function (element, attr) {
257
+ var data = element.getAttribute(attr);
258
+ element.removeAttribute(attr);
259
+ return data;
260
+ };
261
+ RawSet.prototype.getDrAppendAttributeAndDelete = function (element, obj) {
262
+ var data = element.getAttribute(RawSet.DR_APPENDER_NAME);
263
+ // if (data && !/\[[0-9]+\]/g.test(data)) {
264
+ if (data && !/\[.+\]/g.test(data)) {
265
+ var currentIndex = ScriptUtils_1.ScriptUtils.evalReturn("".concat(data, "?.length -1"), obj);
266
+ // console.log('------?', currentIndex)
267
+ // if (currentIndex === undefined || isNaN(currentIndex)) {
268
+ // return undefined;
269
+ // }
270
+ // const currentIndex = ScriptUtils.evalReturn(`${data}.length`, obj);
271
+ data = "".concat(data, "[").concat(currentIndex, "]");
272
+ element.setAttribute(RawSet.DR_APPENDER_NAME, data);
273
+ // element.setAttribute(RawSet.DR_IF_NAME, data);
274
+ // element.setAttribute('dr-id', data);
275
+ // console.log('-->', element)
276
+ }
277
+ // if (data && !/\.childs\[[0-9]+\]/g.test(data)) {
278
+ // const currentIndex = ScriptUtils.evalReturn(`${data}.currentIndex`, obj);
279
+ // data = `${data}.childs[${currentIndex}]`;
280
+ // element.setAttribute(RawSet.DR_APPENDER_NAME, data)
281
+ // }
282
+ element.removeAttribute(RawSet.DR_APPENDER_NAME);
283
+ return data;
284
+ };
285
+ RawSet.prototype.replaceBody = function (genNode) {
286
+ var _a;
287
+ this.childAllRemove();
288
+ (_a = this.point.start.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(genNode, this.point.start.nextSibling);
289
+ };
290
+ // 중요
291
+ RawSet.checkPointCreates = function (element, config) {
292
+ var _a, _b, _c, _d;
293
+ var thisVariableName = element.__domrender_this_variable_name;
294
+ // console.log('checkPointCreates thisVariableName', thisVariableName);
295
+ var nodeIterator = config.window.document.createNodeIterator(element, NodeFilter.SHOW_ALL, {
296
+ acceptNode: function (node) {
297
+ var _a, _b, _c, _d, _e;
298
+ if (node.nodeType === Node.TEXT_NODE) {
299
+ // console.log('????????', node.parentElement, node.parentElement?.getAttribute('dr-pre'));
300
+ // console.log('???????/',node.textContent, node.parentElement?.getAttribute('dr-pre'))
301
+ // 나중에
302
+ // const between = StringUtils.betweenRegexpStr('[$#]\\{', '\\}', StringUtils.deleteEnter((node as Text).data ?? ''))
303
+ var between = RawSet.exporesionGrouops(StringUtils_1.StringUtils.deleteEnter((_a = node.data) !== null && _a !== void 0 ? _a : ''));
304
+ // console.log('bbbb', between)
305
+ return (between === null || between === void 0 ? void 0 : between.length) > 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
306
+ // return /\$\{.*?\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
307
+ // return /[$#]\{.*?\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
308
+ }
309
+ else if (node.nodeType === Node.ELEMENT_NODE) {
310
+ var element_2 = node;
311
+ // console.log('------>', element);
312
+ var isElement = ((_c = (_b = config.targetElements) === null || _b === void 0 ? void 0 : _b.map(function (it) { return it.name.toLowerCase(); })) !== null && _c !== void 0 ? _c : []).includes(element_2.tagName.toLowerCase());
313
+ var targetAttrNames_1 = ((_e = (_d = config.targetAttrs) === null || _d === void 0 ? void 0 : _d.map(function (it) { return it.name; })) !== null && _e !== void 0 ? _e : []).concat(RawSet.DR_ATTRIBUTES);
314
+ var normalAttrs_1 = new Map();
315
+ var isAttr = element_2.getAttributeNames().filter(function (it) {
316
+ var value = element_2.getAttribute(it);
317
+ if (value && RawSet.isExporesion(value)) {
318
+ normalAttrs_1.set(it, RawSet.exporesionGrouops(value)[0][1]);
319
+ }
320
+ // console.log(element.getAttribute(it), attrExpresion);
321
+ var isTargetAttr = targetAttrNames_1.includes(it.toLowerCase());
322
+ return isTargetAttr;
323
+ }).length > 0;
324
+ // 기본 attribute를 처리하기위해
325
+ if (normalAttrs_1.size) {
326
+ element_2.setAttribute(EventManager_1.EventManager.normalAttrMapAttrName, JSON.stringify(Array.from(normalAttrs_1.entries())));
327
+ }
328
+ return (isAttr || isElement) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
329
+ }
330
+ return NodeFilter.FILTER_REJECT;
331
+ }
332
+ });
333
+ var pars = [];
334
+ var currentNode;
335
+ var _loop_1 = function () {
336
+ if (currentNode.nodeType === Node.TEXT_NODE) {
337
+ var text = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';
338
+ var template_1 = config.window.document.createElement('template');
339
+ // const a = StringUtils.regexExec(/\$\{.*?\}/g, text);
340
+ // const a = StringUtils.regexExec(/[$#]\{.*?\}/g, text);
341
+ // const a = StringUtils.betweenRegexpStr('[$#]\\{', '\\}', text); // <--나중에..
342
+ var a = RawSet.exporesionGrouops(text); // <--나중에..
343
+ var map = a.map(function (it) {
344
+ return {
345
+ uuid: RandomUtils_1.RandomUtils.uuid(),
346
+ content: it[0],
347
+ regexArr: it
348
+ };
349
+ });
350
+ var lasterIndex_1 = 0;
351
+ map.forEach(function (it) {
352
+ var regexArr = it.regexArr;
353
+ var preparedText = regexArr.input.substring(lasterIndex_1, regexArr.index);
354
+ var start = config.window.document.createComment("start text ".concat(it.uuid));
355
+ var end = config.window.document.createComment("end text ".concat(it.uuid));
356
+ // layout setting
357
+ template_1.content.append(document.createTextNode(preparedText)); // 사이사이값.
358
+ template_1.content.append(start);
359
+ template_1.content.append(end);
360
+ // content
361
+ var fragment = config.window.document.createDocumentFragment();
362
+ fragment.append(config.window.document.createTextNode(it.content));
363
+ pars.push(new RawSet(it.uuid, {
364
+ start: start,
365
+ end: end,
366
+ thisVariableName: thisVariableName
367
+ }, fragment));
368
+ lasterIndex_1 = regexArr.index + it.content.length;
369
+ });
370
+ template_1.content.append(config.window.document.createTextNode(text.substring(lasterIndex_1, text.length)));
371
+ (_b = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(template_1.content, currentNode);
372
+ }
373
+ else {
374
+ var uuid = RandomUtils_1.RandomUtils.uuid();
375
+ var fragment = config.window.document.createDocumentFragment();
376
+ var start = config.window.document.createComment("start ".concat(uuid));
377
+ var end = config.window.document.createComment("end ".concat(uuid));
378
+ // console.log('start--', uuid)
379
+ (_c = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _c === void 0 ? void 0 : _c.insertBefore(start, currentNode);
380
+ (_d = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _d === void 0 ? void 0 : _d.insertBefore(end, currentNode.nextSibling);
381
+ fragment.append(currentNode);
382
+ pars.push(new RawSet(uuid, {
383
+ start: start,
384
+ end: end,
385
+ thisVariableName: thisVariableName
386
+ }, fragment));
387
+ }
388
+ };
389
+ // eslint-disable-next-line no-cond-assign
390
+ while (currentNode = nodeIterator.nextNode()) {
391
+ _loop_1();
392
+ }
393
+ // console.log('check-->', pars)
394
+ return pars;
395
+ };
396
+ RawSet.prototype.childAllRemove = function () {
397
+ var next = this.point.start.nextSibling;
398
+ while (next) {
399
+ if (next === this.point.end) {
400
+ break;
401
+ }
402
+ next.remove();
403
+ next = this.point.start.nextSibling;
404
+ }
405
+ };
406
+ RawSet.drItOtherEncoding = function (element) {
407
+ var random = RandomUtils_1.RandomUtils.uuid();
408
+ var regex = /#it#/g;
409
+ element.querySelectorAll("[".concat(RawSet.DR_IT_OPTIONNAME, "], [").concat(RawSet.DR_FOR_OF_NAME, "], [").concat(RawSet.DR_REPEAT_NAME, "]")).forEach(function (it) {
410
+ it.innerHTML = it.innerHTML.replace(regex, random);
411
+ });
412
+ return random;
413
+ };
414
+ RawSet.drItOtherDecoding = function (element, random) {
415
+ element.querySelectorAll("[".concat(RawSet.DR_IT_OPTIONNAME, "], [").concat(RawSet.DR_FOR_OF_NAME, "], [").concat(RawSet.DR_REPEAT_NAME, "]")).forEach(function (it) {
416
+ it.innerHTML = it.innerHTML.replace(RegExp(random, 'g'), '#it#');
417
+ });
418
+ };
419
+ RawSet.drThisEncoding = function (element, drThis) {
420
+ var thisRandom = RandomUtils_1.RandomUtils.uuid();
421
+ // const thisRegex = /(?<!(dr-|\.))this(?=.?)/g;
422
+ // const thisRegex = /[^(dr\-)]this(?=.?)/g;
423
+ // const thisRegex = /[^(dr\-)]this\./g;
424
+ // safari 때문에 전위 검색 regex가 안됨 짜증나서 이걸로함.
425
+ // element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {
426
+ // let message = it.innerHTML;
427
+ // })
428
+ element.querySelectorAll("[".concat(RawSet.DR_PRE_NAME, "]")).forEach(function (it) {
429
+ it.innerHTML = it.innerHTML.replace(/this/g, thisRandom);
430
+ });
431
+ element.querySelectorAll("[".concat(RawSet.DR_THIS_NAME, "]")).forEach(function (it) {
432
+ var message = it.innerHTML;
433
+ StringUtils_1.StringUtils.regexExec(/([^(dr\-)])?this(?=.?)/g, message).reverse().forEach(function (it) {
434
+ var _a;
435
+ message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], "".concat((_a = it[1]) !== null && _a !== void 0 ? _a : '').concat(drThis));
436
+ });
437
+ it.innerHTML = message;
438
+ });
439
+ var message = element.innerHTML;
440
+ StringUtils_1.StringUtils.regexExec(/([^(dr\-)])?this(?=.?)/g, message).reverse().forEach(function (it) {
441
+ var _a;
442
+ message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], "".concat((_a = it[1]) !== null && _a !== void 0 ? _a : '').concat(drThis));
443
+ });
444
+ element.innerHTML = message;
445
+ return thisRandom;
446
+ };
447
+ RawSet.drThisDecoding = function (element, thisRandom) {
448
+ element.querySelectorAll("[".concat(RawSet.DR_PRE_NAME, "]")).forEach(function (it) {
449
+ it.innerHTML = it.innerHTML.replace(RegExp(thisRandom, 'g'), 'this');
450
+ });
451
+ element.querySelectorAll("[".concat(RawSet.DR_THIS_NAME, "]")).forEach(function (it) {
452
+ it.innerHTML = it.innerHTML.replace(RegExp(thisRandom, 'g'), 'this');
453
+ });
454
+ };
455
+ RawSet.drFormOtherMoveAttr = function (element, as, to, config) {
456
+ element.querySelectorAll("[".concat(RawSet.DR_FORM_NAME, "]")).forEach(function (subElement) {
457
+ var _a;
458
+ var nodeIterator = config.window.document.createNodeIterator(subElement, NodeFilter.SHOW_ELEMENT, {
459
+ acceptNode: function (node) {
460
+ if (node.nodeType === Node.ELEMENT_NODE) {
461
+ var element_3 = node;
462
+ return element_3.hasAttribute(as) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
463
+ }
464
+ else {
465
+ return NodeFilter.FILTER_REJECT;
466
+ }
467
+ }
468
+ });
469
+ var node;
470
+ // eslint-disable-next-line no-cond-assign
471
+ while (node = nodeIterator.nextNode()) {
472
+ var element_4 = node;
473
+ element_4.setAttribute(to, (_a = element_4.getAttribute(as)) !== null && _a !== void 0 ? _a : '');
474
+ element_4.removeAttribute(as);
475
+ }
476
+ });
477
+ };
478
+ RawSet.drVarEncoding = function (element, drVarOption) {
479
+ var _a;
480
+ var vars = ((_a = drVarOption === null || drVarOption === void 0 ? void 0 : drVarOption.split(',')) !== null && _a !== void 0 ? _a : []).map(function (it) {
481
+ var _a, _b;
482
+ var s = it.trim().split('=');
483
+ var name = (_a = s[0]) === null || _a === void 0 ? void 0 : _a.trim();
484
+ var value = (_b = s[1]) === null || _b === void 0 ? void 0 : _b.trim();
485
+ return {
486
+ name: name,
487
+ value: value,
488
+ // regex: RegExp('(?<!(dr-|\\.))var\\.' + s[0] + '(?=.?)', 'g'),
489
+ regex: RegExp('\\$var\\.' + name + '(?=.?)', 'g'),
490
+ random: RandomUtils_1.RandomUtils.uuid()
491
+ };
492
+ });
493
+ // element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {
494
+ element.querySelectorAll("[".concat(RawSet.DR_VAR_OPTIONNAME, "]")).forEach(function (it) {
495
+ vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {
496
+ it.innerHTML = it.innerHTML.replace(vit.regex, vit.random);
497
+ });
498
+ });
499
+ vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {
500
+ element.innerHTML = element.innerHTML.replace(vit.regex, vit.value);
501
+ });
502
+ return vars;
503
+ };
504
+ RawSet.drVarDecoding = function (element, vars) {
505
+ element.querySelectorAll("[".concat(RawSet.DR_THIS_NAME, "]")).forEach(function (it) {
506
+ vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {
507
+ it.innerHTML = it.innerHTML.replace(RegExp(vit.random, 'g'), vit.value);
508
+ });
509
+ });
510
+ };
511
+ RawSet.drThisCreate = function (element, drThis, drVarOption, drStripOption, obj, config, set) {
512
+ var _a, _b, _c, _d;
513
+ var fag = config.window.document.createDocumentFragment();
514
+ var n = element.cloneNode(true);
515
+ if (set) {
516
+ var id = RandomUtils_1.RandomUtils.getRandomString(20);
517
+ n.innerHTML = RawSet.styleTransformLocal((_a = set.styles) !== null && _a !== void 0 ? _a : [], id, true, set.styleLocale) + ((_b = set.template) !== null && _b !== void 0 ? _b : '');
518
+ // dr-on-create onCreateRender
519
+ var onCreate = element.getAttribute("".concat(EventManager_1.EventManager.attrPrefix, "on-create"));
520
+ var renderScript = '';
521
+ var createParam = [];
522
+ if (onCreate) {
523
+ var script = "".concat(renderScript, " return ").concat(onCreate, " ");
524
+ createParam = ScriptUtils_1.ScriptUtils.eval(script, obj);
525
+ if (!Array.isArray(createParam)) {
526
+ createParam = [createParam];
527
+ }
528
+ }
529
+ (_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));
530
+ // dr-on-component-init
531
+ var oninit = element.getAttribute("".concat(EventManager_1.EventManager.attrPrefix, "on-component-init")); // dr-on-component-init
532
+ if (oninit) {
533
+ var script = "".concat(renderScript, " ").concat(oninit, " ");
534
+ ScriptUtils_1.ScriptUtils.eval(script, obj);
535
+ }
536
+ }
537
+ n.querySelectorAll(EventManager_1.eventManager.attrNames.map(function (it) { return "[".concat(it, "]"); }).join(',')).forEach(function (it) {
538
+ it.setAttribute(EventManager_1.EventManager.ownerVariablePathAttrName, 'this');
539
+ });
540
+ var thisRandom = this.drThisEncoding(n, drThis);
541
+ var vars = this.drVarEncoding(n, drVarOption);
542
+ this.drVarDecoding(n, vars);
543
+ this.drThisDecoding(n, thisRandom);
544
+ if (drStripOption && (drStripOption === true || drStripOption === 'true')) {
545
+ Array.from(n.childNodes).forEach(function (it) { return fag.append(it); });
546
+ }
547
+ else {
548
+ fag.append(n);
549
+ }
550
+ fag.__domrender_this_variable_name = drThis;
551
+ // console.log('set __domrender_this_variable_name', (fag as any).__domrender_this_variable_name)
552
+ return fag;
553
+ };
554
+ RawSet.createComponentTargetAttribute = function (name, getThisObj, factory) {
555
+ var targetAttribute = {
556
+ name: name,
557
+ callBack: function (element, attrValue, obj, rawSet) {
558
+ var _a;
559
+ var thisObj = getThisObj(element, attrValue, obj, rawSet);
560
+ var data = factory(element, attrValue, obj, rawSet);
561
+ rawSet.point.thisVariableName = data.__domrender_this_variable_name;
562
+ if (thisObj) {
563
+ var i = thisObj.__domrender_component_new = ((_a = thisObj.__domrender_component_new) !== null && _a !== void 0 ? _a : new Proxy({}, new Types_1.DomRenderFinalProxy()));
564
+ i.thisVariableName = rawSet.point.thisVariableName;
565
+ i.rawSet = rawSet;
566
+ i.innerHTML = element.innerHTML;
567
+ i.rootCreator = new Proxy(obj, new Types_1.DomRenderFinalProxy());
568
+ i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils_1.ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new Types_1.DomRenderFinalProxy());
569
+ }
570
+ return data;
571
+ }
572
+ };
573
+ return targetAttribute;
574
+ };
575
+ RawSet.createComponentTargetElement = function (name, objFactory, template, styles, styleLocale, config) {
576
+ if (template === void 0) { template = ''; }
577
+ if (styles === void 0) { styles = []; }
578
+ var targetElement = {
579
+ name: name,
580
+ styles: styles,
581
+ template: template,
582
+ callBack: function (element, obj, rawSet, attrs) {
583
+ var _a, _b, _c, _d;
584
+ // console.log('callback------->')
585
+ if (!obj.__domrender_components) {
586
+ obj.__domrender_components = {};
587
+ }
588
+ var domrenderComponents = obj.__domrender_components;
589
+ var componentKey = '_' + RandomUtils_1.RandomUtils.getRandomString(20);
590
+ var attribute = DomUtils_1.DomUtils.getAttributeToObject(element);
591
+ 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;';
592
+ var render = Object.freeze({
593
+ element: element,
594
+ innerHTML: element.innerHTML,
595
+ attribute: attribute,
596
+ rawset: rawSet,
597
+ router: config.router,
598
+ componentKey: componentKey,
599
+ scripts: EventManager_1.EventManager.setBindProperty((_a = config.scripts) !== null && _a !== void 0 ? _a : {}, obj)
600
+ // eslint-disable-next-line no-use-before-define
601
+ });
602
+ var constructor = element.getAttribute("".concat(EventManager_1.EventManager.attrPrefix, "constructor"));
603
+ var constructorParam = [];
604
+ // dr-constructor
605
+ if (constructor) {
606
+ var script = "".concat(renderScript, " return ").concat(constructor, " ");
607
+ var param = (_b = ScriptUtils_1.ScriptUtils.eval(script, Object.assign(obj, { __render: render }))) !== null && _b !== void 0 ? _b : [];
608
+ if (!Array.isArray(param)) {
609
+ param = [param];
610
+ }
611
+ constructorParam = param;
612
+ }
613
+ // console.log('------22', attrs);
614
+ domrenderComponents[componentKey] = objFactory(element, obj, rawSet, constructorParam);
615
+ var instance = domrenderComponents[componentKey];
616
+ var i = instance.__domrender_component_new = ((_c = instance.__domrender_component_new) !== null && _c !== void 0 ? _c : new Proxy({}, new Types_1.DomRenderFinalProxy()));
617
+ i.thisVariableName = rawSet.point.thisVariableName;
618
+ i.thisFullVariableName = "this.__domrender_components.".concat(componentKey);
619
+ i.componentKey = componentKey;
620
+ i.rawSet = rawSet;
621
+ i.attribute = attribute;
622
+ i.drAttrs = attrs;
623
+ i.innerHTML = element.innerHTML;
624
+ i.rootCreator = new Proxy(obj, new Types_1.DomRenderFinalProxy());
625
+ i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils_1.ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new Types_1.DomRenderFinalProxy());
626
+ this.__creatorMetaData = i;
627
+ render = __assign({ component: instance, creatorMetaData: i }, render);
628
+ // dr-on-create onCreateRender
629
+ var onCreate = element.getAttribute("".concat(EventManager_1.EventManager.attrPrefix, "on-create"));
630
+ this.__render = render;
631
+ var createParam = [i];
632
+ if (onCreate) {
633
+ var script = "".concat(renderScript, " return ").concat(onCreate, " ");
634
+ createParam = ScriptUtils_1.ScriptUtils.eval(script, Object.assign(obj, { __render: render }));
635
+ if (!Array.isArray(createParam)) {
636
+ createParam = [createParam];
637
+ }
638
+ }
639
+ (_d = instance === null || instance === void 0 ? void 0 : instance.onCreateRender) === null || _d === void 0 ? void 0 : _d.call.apply(_d, __spreadArray([instance], createParam, false));
640
+ var applayTemplate = element.innerHTML;
641
+ var innerHTMLThisRandom;
642
+ if (applayTemplate) {
643
+ // if (rawSet.point.thisVariableName) {
644
+ // 넘어온 innerHTML에 this 있으면 해당안되게 우선 치환.
645
+ innerHTMLThisRandom = RandomUtils_1.RandomUtils.uuid();
646
+ applayTemplate = applayTemplate.replace(/this\./g, innerHTMLThisRandom);
647
+ // }
648
+ applayTemplate = applayTemplate.replace(/#component#/g, 'this');
649
+ }
650
+ applayTemplate = template.replace(/#innerHTML#/g, applayTemplate);
651
+ // dr-on-component-init
652
+ var oninit = element.getAttribute("".concat(EventManager_1.EventManager.attrPrefix, "on-component-init")); // dr-on-component-init
653
+ if (oninit) {
654
+ var script = "".concat(renderScript, " ").concat(oninit, " ");
655
+ ScriptUtils_1.ScriptUtils.eval(script, Object.assign(obj, {
656
+ __render: render
657
+ }));
658
+ }
659
+ var innerHTML = RawSet.styleTransformLocal(styles, componentKey, true, styleLocale) + (applayTemplate !== null && applayTemplate !== void 0 ? applayTemplate : '');
660
+ element.innerHTML = innerHTML;
661
+ // console.log('------>', element.innerHTML, obj)
662
+ var data = RawSet.drThisCreate(element, "this.__domrender_components.".concat(componentKey), '', true, obj, config);
663
+ // 넘어온 innerHTML this가 있는걸 다시 복호화해서 제대로 작동하도록한다.
664
+ if (innerHTMLThisRandom) {
665
+ var template_2 = config.window.document.createElement('template');
666
+ template_2.content.append(data);
667
+ template_2.innerHTML = template_2.innerHTML.replace(RegExp(innerHTMLThisRandom, 'g'), 'this.');
668
+ data = template_2.content;
669
+ }
670
+ data.render = render;
671
+ return data;
672
+ }
673
+ // complete
674
+ };
675
+ return targetElement;
676
+ };
677
+ RawSet.isExporesion = function (data) {
678
+ var reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]?[^{]*?)\}[$#]))/g;
679
+ return reg.test(data !== null && data !== void 0 ? data : '');
680
+ };
681
+ RawSet.exporesionGrouops = function (data) {
682
+ // const reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]*?)\}[$#]))/g;
683
+ var reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]?[^{]*?)\}[$#]))/g;
684
+ return StringUtils_1.StringUtils.regexExec(reg, data !== null && data !== void 0 ? data : '');
685
+ };
686
+ RawSet.styleTransformLocal = function (styleBody, id, styleTagWrap, locale) {
687
+ if (styleTagWrap === void 0) { styleTagWrap = true; }
688
+ if (locale === void 0) { locale = false; }
689
+ // <style id="first">
690
+ // #first ~ *:not(#first ~ style[domstyle] ~ *) {
691
+ // font-size: 30px;
692
+ // color: blue;
693
+ // }
694
+ // </style>
695
+ if (Array.isArray(styleBody)) {
696
+ styleBody = styleBody.join('\n');
697
+ }
698
+ if (locale) {
699
+ styleBody = styleBody.replace(/([^}]+){/gm, function (a, b) {
700
+ if (typeof b === 'string') {
701
+ b = b.trim();
702
+ }
703
+ return "#".concat(id, " ~ ").concat(b, ":not(#").concat(id, " ~ style[domstyle] ~ *), #").concat(id, " ~ * ").concat(b, " {");
704
+ });
705
+ }
706
+ if (styleTagWrap) {
707
+ styleBody = "<style id='".concat(id, "' domstyle>").concat(styleBody, "</style>");
708
+ }
709
+ return styleBody;
710
+ };
711
+ RawSet.destroy = function (obj, parameter, config, destroyOptions) {
712
+ var _a;
713
+ if (destroyOptions === void 0) { destroyOptions = []; }
714
+ if (!destroyOptions.some(function (it) { return it === DestroyOptionType.NO_DESTROY; })) {
715
+ if (!destroyOptions.some(function (it) { return it === DestroyOptionType.NO_MESSENGER_DESTROY; })) {
716
+ if (config.messenger && obj) {
717
+ config.messenger.deleteChannelFromObj(obj);
718
+ }
719
+ }
720
+ if (obj) {
721
+ (_a = obj.onDestroyRender) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArray([obj], parameter, false));
722
+ }
723
+ }
724
+ };
725
+ RawSet.DR = 'dr';
726
+ RawSet.DR_IF_NAME = 'dr-if';
727
+ RawSet.DR_FOR_NAME = 'dr-for';
728
+ RawSet.DR_FOR_OF_NAME = 'dr-for-of';
729
+ RawSet.DR_REPEAT_NAME = 'dr-repeat';
730
+ RawSet.DR_THIS_NAME = 'dr-this';
731
+ RawSet.DR_FORM_NAME = 'dr-form';
732
+ RawSet.DR_PRE_NAME = 'dr-pre';
733
+ RawSet.DR_APPENDER_NAME = 'dr-appender';
734
+ RawSet.DR_INNERHTML_NAME = 'dr-inner-html';
735
+ RawSet.DR_INNERTEXT_NAME = 'dr-inner-text';
736
+ RawSet.DR_DETECT_NAME = 'dr-detect';
737
+ // public static readonly DR_DETECT_ACTION_NAME = 'dr-detect-action';
738
+ RawSet.DR_IT_OPTIONNAME = 'dr-it';
739
+ RawSet.DR_VAR_OPTIONNAME = 'dr-var';
740
+ RawSet.DR_AFTER_OPTIONNAME = 'dr-after';
741
+ RawSet.DR_NEXT_OPTIONNAME = 'dr-next';
742
+ RawSet.DR_BEFORE_OPTIONNAME = 'dr-before';
743
+ RawSet.DR_COMPLETE_OPTIONNAME = 'dr-complete';
744
+ RawSet.DR_STRIP_OPTIONNAME = 'dr-strip';
745
+ RawSet.DR_DESTROY_OPTIONNAME = 'dr-destroy';
746
+ RawSet.drAttrsOriginName = {
747
+ dr: RawSet.DR,
748
+ drIf: RawSet.DR_IF_NAME,
749
+ drFor: RawSet.DR_FOR_NAME,
750
+ drForOf: RawSet.DR_FOR_OF_NAME,
751
+ drAppender: RawSet.DR_APPENDER_NAME,
752
+ drRepeat: RawSet.DR_REPEAT_NAME,
753
+ drThis: RawSet.DR_THIS_NAME,
754
+ drForm: RawSet.DR_FORM_NAME,
755
+ drPre: RawSet.DR_PRE_NAME,
756
+ drInnerHTML: RawSet.DR_INNERHTML_NAME,
757
+ drInnerText: RawSet.DR_INNERTEXT_NAME,
758
+ drItOption: RawSet.DR_IT_OPTIONNAME,
759
+ drVarOption: RawSet.DR_VAR_OPTIONNAME,
760
+ drAfterOption: RawSet.DR_AFTER_OPTIONNAME,
761
+ drNextOption: RawSet.DR_NEXT_OPTIONNAME,
762
+ drBeforeOption: RawSet.DR_BEFORE_OPTIONNAME,
763
+ drCompleteOption: RawSet.DR_COMPLETE_OPTIONNAME,
764
+ drStripOption: RawSet.DR_STRIP_OPTIONNAME,
765
+ drDestroyOption: RawSet.DR_DESTROY_OPTIONNAME
766
+ };
767
+ RawSet.DR_TAGS = [];
768
+ 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];
769
+ return RawSet;
770
+ }());
771
+ exports.RawSet = RawSet;