dom-render 1.0.73 → 1.0.76

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