@dooboostore/dom-render 1.0.110 → 1.0.112

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 (234) hide show
  1. package/README.MD +1 -2
  2. package/dist/cjs/DomRenderProxy.js +89 -48
  3. package/dist/cjs/DomRenderProxy.js.map +2 -2
  4. package/dist/cjs/components/ComponentBase.js +47 -1
  5. package/dist/cjs/components/ComponentBase.js.map +2 -2
  6. package/dist/cjs/components/a/A.js +22 -0
  7. package/dist/cjs/components/a/A.js.map +2 -2
  8. package/dist/cjs/components/appender/Appender.js +21 -4
  9. package/dist/cjs/components/appender/Appender.js.map +2 -2
  10. package/dist/cjs/components/details/Details.js +5 -0
  11. package/dist/cjs/components/details/Details.js.map +2 -2
  12. package/dist/cjs/components/forOf/ForOf.js +2 -2
  13. package/dist/cjs/components/forOf/ForOf.js.map +1 -1
  14. package/dist/cjs/components/if/If.js +1 -1
  15. package/dist/cjs/components/if/If.js.map +2 -2
  16. package/dist/cjs/components/index.js +3 -1
  17. package/dist/cjs/components/index.js.map +3 -3
  18. package/dist/cjs/components/router/RouterOutlet.js +41 -10
  19. package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
  20. package/dist/cjs/components/select/Select.js +39 -1
  21. package/dist/cjs/components/select/Select.js.map +2 -2
  22. package/dist/cjs/components/this/This.js +33 -5
  23. package/dist/cjs/components/this/This.js.map +2 -2
  24. package/dist/cjs/decorators/DomRenderNoProxy.js +3 -9
  25. package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
  26. package/dist/cjs/events/EventManager.js +103 -37
  27. package/dist/cjs/events/EventManager.js.map +2 -2
  28. package/dist/cjs/lifecycle/OnChangeAttrRender.js.map +1 -1
  29. package/dist/cjs/lifecycle/OnChildRawSetRendered.js +26 -0
  30. package/dist/cjs/lifecycle/OnChildRawSetRendered.js.map +7 -0
  31. package/dist/cjs/lifecycle/OnRawSetRendered.js.map +2 -2
  32. package/dist/cjs/operators/Appender.js +8 -1
  33. package/dist/cjs/operators/Appender.js.map +2 -2
  34. package/dist/cjs/operators/Dr.js +2 -2
  35. package/dist/cjs/operators/Dr.js.map +2 -2
  36. package/dist/cjs/operators/DrAppender.js +2 -2
  37. package/dist/cjs/operators/DrAppender.js.map +2 -2
  38. package/dist/cjs/operators/DrFor.js +2 -2
  39. package/dist/cjs/operators/DrFor.js.map +2 -2
  40. package/dist/cjs/operators/DrForOf.js +34 -6
  41. package/dist/cjs/operators/DrForOf.js.map +2 -2
  42. package/dist/cjs/operators/DrForm.js +6 -6
  43. package/dist/cjs/operators/DrForm.js.map +2 -2
  44. package/dist/cjs/operators/DrInnerHTML.js +2 -2
  45. package/dist/cjs/operators/DrInnerHTML.js.map +2 -2
  46. package/dist/cjs/operators/DrRepeat.js +2 -2
  47. package/dist/cjs/operators/DrRepeat.js.map +2 -2
  48. package/dist/cjs/operators/DrStripElement.js +2 -2
  49. package/dist/cjs/operators/DrStripElement.js.map +2 -2
  50. package/dist/cjs/operators/DrTargetElement.js +14 -5
  51. package/dist/cjs/operators/DrTargetElement.js.map +2 -2
  52. package/dist/cjs/operators/DrTargetElementIsElement.js +2 -2
  53. package/dist/cjs/operators/DrTargetElementIsElement.js.map +2 -2
  54. package/dist/cjs/operators/DrThis.js +2 -2
  55. package/dist/cjs/operators/DrThis.js.map +2 -2
  56. package/dist/cjs/operators/DrThisProperty.js +2 -1
  57. package/dist/cjs/operators/DrThisProperty.js.map +2 -2
  58. package/dist/cjs/rawsets/RawSet.js +87 -160
  59. package/dist/cjs/rawsets/RawSet.js.map +2 -2
  60. package/dist/cjs/routers/HashRouter.js +3 -0
  61. package/dist/cjs/routers/HashRouter.js.map +2 -2
  62. package/dist/cjs/routers/PathRouter.js +3 -0
  63. package/dist/cjs/routers/PathRouter.js.map +2 -2
  64. package/dist/cjs/routers/Router.js +25 -21
  65. package/dist/cjs/routers/Router.js.map +2 -2
  66. package/dist/esm/DomRenderProxy.js +89 -48
  67. package/dist/esm/DomRenderProxy.js.map +2 -2
  68. package/dist/esm/components/ComponentBase.js +47 -1
  69. package/dist/esm/components/ComponentBase.js.map +2 -2
  70. package/dist/esm/components/a/A.js +22 -0
  71. package/dist/esm/components/a/A.js.map +2 -2
  72. package/dist/esm/components/appender/Appender.js +22 -5
  73. package/dist/esm/components/appender/Appender.js.map +2 -2
  74. package/dist/esm/components/details/Details.js +5 -0
  75. package/dist/esm/components/details/Details.js.map +2 -2
  76. package/dist/esm/components/forOf/ForOf.js +2 -2
  77. package/dist/esm/components/forOf/ForOf.js.map +1 -1
  78. package/dist/esm/components/if/If.js +1 -1
  79. package/dist/esm/components/if/If.js.map +2 -2
  80. package/dist/esm/components/index.js +3 -1
  81. package/dist/esm/components/index.js.map +2 -2
  82. package/dist/esm/components/router/RouterOutlet.js +41 -10
  83. package/dist/esm/components/router/RouterOutlet.js.map +2 -2
  84. package/dist/esm/components/select/Select.js +39 -1
  85. package/dist/esm/components/select/Select.js.map +2 -2
  86. package/dist/esm/components/this/This.js +33 -5
  87. package/dist/esm/components/this/This.js.map +2 -2
  88. package/dist/esm/decorators/DomRenderNoProxy.js +3 -9
  89. package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
  90. package/dist/esm/events/EventManager.js +103 -37
  91. package/dist/esm/events/EventManager.js.map +2 -2
  92. package/dist/esm/lifecycle/OnChangeAttrRender.js.map +1 -1
  93. package/dist/esm/lifecycle/OnChildRawSetRendered.js +7 -0
  94. package/dist/esm/lifecycle/OnChildRawSetRendered.js.map +7 -0
  95. package/dist/esm/lifecycle/OnRawSetRendered.js.map +2 -2
  96. package/dist/esm/operators/Appender.js +8 -1
  97. package/dist/esm/operators/Appender.js.map +2 -2
  98. package/dist/esm/operators/Dr.js +2 -2
  99. package/dist/esm/operators/Dr.js.map +2 -2
  100. package/dist/esm/operators/DrAppender.js +2 -2
  101. package/dist/esm/operators/DrAppender.js.map +2 -2
  102. package/dist/esm/operators/DrFor.js +2 -2
  103. package/dist/esm/operators/DrFor.js.map +2 -2
  104. package/dist/esm/operators/DrForOf.js +34 -6
  105. package/dist/esm/operators/DrForOf.js.map +2 -2
  106. package/dist/esm/operators/DrForm.js +6 -6
  107. package/dist/esm/operators/DrForm.js.map +2 -2
  108. package/dist/esm/operators/DrInnerHTML.js +2 -2
  109. package/dist/esm/operators/DrInnerHTML.js.map +2 -2
  110. package/dist/esm/operators/DrRepeat.js +2 -2
  111. package/dist/esm/operators/DrRepeat.js.map +2 -2
  112. package/dist/esm/operators/DrStripElement.js +2 -2
  113. package/dist/esm/operators/DrStripElement.js.map +2 -2
  114. package/dist/esm/operators/DrTargetElement.js +14 -5
  115. package/dist/esm/operators/DrTargetElement.js.map +2 -2
  116. package/dist/esm/operators/DrTargetElementIsElement.js +2 -2
  117. package/dist/esm/operators/DrTargetElementIsElement.js.map +2 -2
  118. package/dist/esm/operators/DrThis.js +2 -2
  119. package/dist/esm/operators/DrThis.js.map +2 -2
  120. package/dist/esm/operators/DrThisProperty.js +2 -1
  121. package/dist/esm/operators/DrThisProperty.js.map +2 -2
  122. package/dist/esm/rawsets/RawSet.js +87 -160
  123. package/dist/esm/rawsets/RawSet.js.map +2 -2
  124. package/dist/esm/routers/HashRouter.js +3 -0
  125. package/dist/esm/routers/HashRouter.js.map +2 -2
  126. package/dist/esm/routers/PathRouter.js +3 -0
  127. package/dist/esm/routers/PathRouter.js.map +2 -2
  128. package/dist/esm/routers/Router.js +25 -21
  129. package/dist/esm/routers/Router.js.map +2 -2
  130. package/dist/esm-bundle/dooboostore-dom-render.esm.js +830 -1533
  131. package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
  132. package/dist/types/DomRenderProxy.d.ts.map +1 -1
  133. package/dist/types/components/ComponentBase.d.ts +12 -1
  134. package/dist/types/components/ComponentBase.d.ts.map +1 -1
  135. package/dist/types/components/a/A.d.ts +6 -0
  136. package/dist/types/components/a/A.d.ts.map +1 -1
  137. package/dist/types/components/appender/Appender.d.ts +1 -0
  138. package/dist/types/components/appender/Appender.d.ts.map +1 -1
  139. package/dist/types/components/details/Details.d.ts +2 -0
  140. package/dist/types/components/details/Details.d.ts.map +1 -1
  141. package/dist/types/components/forOf/ForOf.d.ts +1 -1
  142. package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
  143. package/dist/types/components/if/If.d.ts.map +1 -1
  144. package/dist/types/components/index.d.ts +1 -0
  145. package/dist/types/components/index.d.ts.map +1 -1
  146. package/dist/types/components/router/RouterOutlet.d.ts +6 -3
  147. package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
  148. package/dist/types/components/select/Select.d.ts +5 -3
  149. package/dist/types/components/select/Select.d.ts.map +1 -1
  150. package/dist/types/components/this/This.d.ts +5 -1
  151. package/dist/types/components/this/This.d.ts.map +1 -1
  152. package/dist/types/decorators/DomRenderNoProxy.d.ts.map +1 -1
  153. package/dist/types/events/EventManager.d.ts +1 -0
  154. package/dist/types/events/EventManager.d.ts.map +1 -1
  155. package/dist/types/lifecycle/OnChangeAttrRender.d.ts +1 -1
  156. package/dist/types/lifecycle/OnChangeAttrRender.d.ts.map +1 -1
  157. package/dist/types/lifecycle/OnChildRawSetRendered.d.ts +9 -0
  158. package/dist/types/lifecycle/OnChildRawSetRendered.d.ts.map +1 -0
  159. package/dist/types/lifecycle/OnRawSetRendered.d.ts +2 -0
  160. package/dist/types/lifecycle/OnRawSetRendered.d.ts.map +1 -1
  161. package/dist/types/operators/Appender.d.ts +1 -0
  162. package/dist/types/operators/Appender.d.ts.map +1 -1
  163. package/dist/types/operators/Dr.d.ts.map +1 -1
  164. package/dist/types/operators/DrAppender.d.ts.map +1 -1
  165. package/dist/types/operators/DrFor.d.ts.map +1 -1
  166. package/dist/types/operators/DrForOf.d.ts.map +1 -1
  167. package/dist/types/operators/DrForm.d.ts.map +1 -1
  168. package/dist/types/operators/DrInnerHTML.d.ts.map +1 -1
  169. package/dist/types/operators/DrRepeat.d.ts.map +1 -1
  170. package/dist/types/operators/DrStripElement.d.ts.map +1 -1
  171. package/dist/types/operators/DrTargetElement.d.ts.map +1 -1
  172. package/dist/types/operators/DrThisProperty.d.ts.map +1 -1
  173. package/dist/types/rawsets/RawSet.d.ts +4 -1
  174. package/dist/types/rawsets/RawSet.d.ts.map +1 -1
  175. package/dist/types/routers/HashRouter.d.ts +1 -0
  176. package/dist/types/routers/HashRouter.d.ts.map +1 -1
  177. package/dist/types/routers/PathRouter.d.ts +1 -0
  178. package/dist/types/routers/PathRouter.d.ts.map +1 -1
  179. package/dist/types/routers/Router.d.ts +3 -0
  180. package/dist/types/routers/Router.d.ts.map +1 -1
  181. package/dist/umd-bundle/dooboostore-dom-render.umd.js +830 -1533
  182. package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
  183. package/package.json +4 -4
  184. package/src/DomRenderProxy.ts +169 -75
  185. package/src/DomRenderProxy.ts_cache_back +1031 -0
  186. package/src/components/ComponentBase.ts +61 -5
  187. package/src/components/a/A.ts +25 -0
  188. package/src/components/appender/Appender.ts +3 -3
  189. package/src/components/details/Details.ts +7 -0
  190. package/src/components/forOf/ForOf.ts +2 -2
  191. package/src/components/if/If.ts +3 -2
  192. package/src/components/index.ts +3 -0
  193. package/src/components/router/RouterOutlet.ts +60 -22
  194. package/src/components/select/Select.ts +69 -30
  195. package/src/components/this/This.ts +41 -6
  196. package/src/decorators/DomRenderNoProxy.ts +17 -14
  197. package/src/events/EventManager.ts +180 -77
  198. package/src/lifecycle/OnChangeAttrRender.ts +1 -1
  199. package/src/lifecycle/OnChildRawSetRendered.ts +13 -0
  200. package/src/lifecycle/OnRawSetRendered.ts +3 -1
  201. package/src/operators/Appender.ts +8 -1
  202. package/src/operators/Dr.ts +2 -1
  203. package/src/operators/DrAppender.ts +2 -1
  204. package/src/operators/DrFor.ts +2 -1
  205. package/src/operators/DrForOf.ts +36 -6
  206. package/src/operators/DrForm.ts +6 -5
  207. package/src/operators/DrInnerHTML.ts +2 -1
  208. package/src/operators/DrRepeat.ts +2 -1
  209. package/src/operators/DrStripElement.ts +2 -1
  210. package/src/operators/DrTargetElement.ts +17 -5
  211. package/src/operators/DrTargetElementIsElement.ts +2 -2
  212. package/src/operators/DrThis.ts +2 -2
  213. package/src/operators/DrThisProperty.ts +2 -1
  214. package/src/rawsets/RawSet.ts +161 -237
  215. package/src/routers/HashRouter.ts +4 -0
  216. package/src/routers/PathRouter.ts +5 -0
  217. package/src/routers/Router.ts +64 -47
  218. package/src/node_modules/.bin/acorn +0 -17
  219. package/src/node_modules/.bin/browserslist +0 -17
  220. package/src/node_modules/.bin/eslint +0 -17
  221. package/src/node_modules/.bin/sbf +0 -17
  222. package/src/node_modules/.bin/ts-node +0 -17
  223. package/src/node_modules/.bin/ts-node-cwd +0 -17
  224. package/src/node_modules/.bin/ts-node-dev +0 -17
  225. package/src/node_modules/.bin/ts-node-esm +0 -17
  226. package/src/node_modules/.bin/ts-node-script +0 -17
  227. package/src/node_modules/.bin/ts-node-transpile-only +0 -17
  228. package/src/node_modules/.bin/ts-script +0 -17
  229. package/src/node_modules/.bin/tsc +0 -17
  230. package/src/node_modules/.bin/tsnd +0 -17
  231. package/src/node_modules/.bin/tsserver +0 -17
  232. package/src/node_modules/.bin/webpack +0 -17
  233. package/src/node_modules/.bin/webpack-cli +0 -17
  234. package/src/node_modules/.bin/webpack-dev-server +0 -17
@@ -141,10 +141,49 @@ const _RawSet = class _RawSet {
141
141
  });
142
142
  return usingTriggerVariables;
143
143
  }
144
- // 중요 render 처리 부분
145
- // public async render(obj: any, config: DomRenderConfig): Promise<RawSet[]> {
146
- // }
147
144
  async render(obj, config) {
145
+ if (this.dataSet.fragment.childNodes.length === 1 && this.dataSet.fragment.childNodes[0].nodeType === Node.TEXT_NODE) {
146
+ const textContent = this.dataSet.fragment.childNodes[0].textContent;
147
+ if (textContent) {
148
+ const runText = _RawSet.expressionGroups(textContent)[0][1];
149
+ const __render = {
150
+ rawSet: this,
151
+ scripts: import_EventManager.EventManager.setBindProperty(config?.scripts, obj),
152
+ router: config?.router,
153
+ range: import_Range.Range.range,
154
+ element: this.dataSet.fragment.childNodes[0],
155
+ attribute: {},
156
+ rootObject: obj,
157
+ scriptUtils: import_ObjectUtils.ObjectUtils.Script,
158
+ nearThis: this.findNearThis(obj),
159
+ parentThis: this.findParentThis(obj),
160
+ bindScript: ` /** render **/
161
+ const ${import_EventManager.EventManager.SCRIPTS_VARNAME} = this.__render.scripts;
162
+ const ${import_EventManager.EventManager.RAWSET_VARNAME} = this.__render.rawSet;
163
+ const ${import_EventManager.EventManager.ELEMENT_VARNAME} = this.__render.element;
164
+ const ${import_EventManager.EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute;
165
+ const ${import_EventManager.EventManager.RANGE_VARNAME} = this.__render.range;
166
+ const ${import_EventManager.EventManager.ROUTER_VARNAME} = this.__render.router;
167
+ const ${import_EventManager.EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis;
168
+ const ${import_EventManager.EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis;
169
+ const ${import_EventManager.EventManager.SCRIPT_UTILS_VARNAME} = this.__render.scriptUtils;
170
+ const ${import_EventManager.EventManager.ROOT_OBJECT_VARNAME} = this.__render.rootObject;
171
+ `
172
+ };
173
+ try {
174
+ const newValue = import_ObjectUtils.ObjectUtils.Script.evaluateReturn({
175
+ bodyScript: __render.bindScript,
176
+ returnScript: runText
177
+ }, Object.assign(obj, { __render }));
178
+ const newValueStr = String(newValue);
179
+ if (this.lastRenderedValue === newValueStr) {
180
+ return { raws: [], executedOperators: [] };
181
+ }
182
+ this.lastRenderedValue = newValueStr;
183
+ } catch (e) {
184
+ }
185
+ }
186
+ }
148
187
  const genNode = config.window.document.importNode(this.dataSet.fragment, true);
149
188
  const raws = [];
150
189
  const onAttrInitCallBacks = [];
@@ -187,18 +226,15 @@ const _RawSet = class _RawSet {
187
226
  const runText = _RawSet.expressionGroups(textContent)[0][1];
188
227
  let newNode;
189
228
  if (textContent?.startsWith("#")) {
190
- const r = import_ObjectUtils.ObjectUtils.Script.evaluate(
191
- `${__render.bindScript} return ${runText}`,
229
+ const r = import_ObjectUtils.ObjectUtils.Script.evaluateReturn(
230
+ { bodyScript: __render.bindScript, returnScript: runText },
192
231
  Object.assign(obj, { __render })
193
232
  );
194
233
  const template = config.window.document.createElement("template");
195
234
  template.innerHTML = r;
196
235
  newNode = template.content;
197
236
  } else {
198
- const r = import_ObjectUtils.ObjectUtils.Script.evaluate(
199
- `${__render.bindScript} return ${runText}`,
200
- Object.assign(obj, { __render })
201
- );
237
+ const r = import_ObjectUtils.ObjectUtils.Script.evaluateReturn({ bodyScript: __render.bindScript, returnScript: runText }, Object.assign(obj, { __render }));
202
238
  newNode = config.window.document.createTextNode(r);
203
239
  }
204
240
  cNode.parentNode?.replaceChild(newNode, cNode);
@@ -237,140 +273,23 @@ const _RawSet = class _RawSet {
237
273
  };
238
274
  drAttrs.push(drAttr);
239
275
  const operators = [
240
- new import_DrPre.DrPre(
241
- this,
242
- __render,
243
- { raws, fag },
244
- { element, attrName: _RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr },
245
- { config, obj, operatorAround: config.operatorAround?.drPre },
246
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
247
- ),
248
- new import_Dr.Dr(
249
- this,
250
- __render,
251
- { raws, fag },
252
- { element, attrName: _RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr },
253
- { config, obj, operatorAround: config.operatorAround?.dr },
254
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
255
- ),
276
+ new import_DrPre.DrPre(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drPre }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
277
+ new import_Dr.Dr(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.dr }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
256
278
  // new Dr(this, __render, {raws, fag}, {element, attrName: EventManager.onRenderedInitAttrName, attr: drAttr.dr, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.dr}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),
257
- new import_DrIf.DrIf(
258
- this,
259
- __render,
260
- { raws, fag },
261
- { element, attrName: _RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr },
262
- { config, obj, operatorAround: config.operatorAround?.drIf },
263
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
264
- ),
265
- new import_DrStripElement.DrStripElement(
266
- this,
267
- __render,
268
- { raws, fag },
269
- { element, attrName: _RawSet.DR_STRIP_NAME, attr: drAttr.drStripElement, attrs: drAttr },
270
- { config, obj, operatorAround: config.operatorAround?.drThis },
271
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
272
- ),
273
- new import_DrThis.DrThis(
274
- this,
275
- __render,
276
- { raws, fag },
277
- { element, attrName: _RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr },
278
- { config, obj, operatorAround: config.operatorAround?.drThis },
279
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
280
- ),
281
- new import_DrForm.DrForm(
282
- this,
283
- __render,
284
- { raws, fag },
285
- { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr },
286
- { config, obj, operatorAround: config.operatorAround?.drForm },
287
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
288
- ),
289
- new import_DrInnerText.DrInnerText(
290
- this,
291
- __render,
292
- { raws, fag },
293
- { element, attrName: _RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr },
294
- { config, obj, operatorAround: config.operatorAround?.drInnerText },
295
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
296
- ),
297
- new import_DrInnerHTML.DrInnerHTML(
298
- this,
299
- __render,
300
- { raws, fag },
301
- { element, attrName: _RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr },
302
- { config, obj, operatorAround: config.operatorAround?.drInnerHTML },
303
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
304
- ),
305
- new import_DrFor.DrFor(
306
- this,
307
- __render,
308
- { raws, fag },
309
- { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr },
310
- { config, obj, operatorAround: config.operatorAround?.drFor },
311
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
312
- ),
313
- new import_DrForOf.DrForOf(
314
- this,
315
- __render,
316
- { raws, fag },
317
- { element, attrName: _RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr },
318
- { config, obj, operatorAround: config.operatorAround?.drForOf },
319
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
320
- ),
321
- new import_DrThisProperty.DrThisProperty(
322
- this,
323
- __render,
324
- { raws, fag },
325
- { element, attrName: _RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr },
326
- { config, obj, operatorAround: config.operatorAround?.drThisProperty },
327
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
328
- ),
329
- new import_DrAppender.DrAppender(
330
- this,
331
- __render,
332
- { raws, fag },
333
- { element, attrName: _RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr },
334
- { config, obj, operatorAround: config.operatorAround?.drAppender },
335
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
336
- ),
337
- new import_DrRepeat.DrRepeat(
338
- this,
339
- __render,
340
- { raws, fag },
341
- { element, attrName: _RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr },
342
- { config, obj, operatorAround: config.operatorAround?.drRepeat },
343
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
344
- ),
345
- new import_DrTargetElementIsElement.DrTargetElementIsElement(
346
- this,
347
- __render,
348
- { raws, fag },
349
- {
350
- element,
351
- attrName: _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME,
352
- attr: drAttr.drReplaceTargetElementIs,
353
- attrs: drAttr
354
- },
355
- { config, obj },
356
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
357
- ),
358
- new import_DrTargetElement.DrTargetElement(
359
- this,
360
- __render,
361
- { raws, fag },
362
- { element, attrs: drAttr },
363
- { config, obj },
364
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
365
- ),
366
- new import_DrTargetAttr.DrTargetAttr(
367
- this,
368
- __render,
369
- { raws, fag },
370
- { element, attrs: drAttr },
371
- { config, obj },
372
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
373
- )
279
+ new import_DrIf.DrIf(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drIf }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
280
+ new import_DrStripElement.DrStripElement(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_STRIP_NAME, attr: drAttr.drStripElement, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThis }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
281
+ new import_DrThis.DrThis(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThis }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
282
+ new import_DrForm.DrForm(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drForm }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
283
+ new import_DrInnerText.DrInnerText(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drInnerText }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
284
+ new import_DrInnerHTML.DrInnerHTML(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drInnerHTML }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
285
+ new import_DrFor.DrFor(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drFor }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
286
+ new import_DrForOf.DrForOf(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drForOf }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
287
+ new import_DrThisProperty.DrThisProperty(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThisProperty }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
288
+ new import_DrAppender.DrAppender(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drAppender }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
289
+ new import_DrRepeat.DrRepeat(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drRepeat }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
290
+ new import_DrTargetElementIsElement.DrTargetElementIsElement(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME, attr: drAttr.drReplaceTargetElementIs, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
291
+ new import_DrTargetElement.DrTargetElement(this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
292
+ new import_DrTargetAttr.DrTargetAttr(this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks })
374
293
  ];
375
294
  for (const operator of operators) {
376
295
  const state = await operator.start();
@@ -433,6 +352,7 @@ const _RawSet = class _RawSet {
433
352
  }
434
353
  });
435
354
  }
355
+ console.groupEnd();
436
356
  return { raws, executedOperators };
437
357
  }
438
358
  // 중요 스타일 적용 부분
@@ -551,7 +471,7 @@ const _RawSet = class _RawSet {
551
471
  }
552
472
  if (element2.hasAttribute(import_EventManager.EventManager.attrAttrName)) {
553
473
  const script = element2.getAttribute(import_EventManager.EventManager.attrAttrName) ?? "";
554
- const keyValuePairs = Array.from(script.matchAll(/(\w+):\s*([^,}]+)/g)).map((match) => ({
474
+ const keyValuePairs = Array.from(script.matchAll(/['"]?([\w-_]+)['"]?:\s*([^,}]+)/g)).map((match) => ({
555
475
  key: match[1],
556
476
  value: match[2]
557
477
  }));
@@ -561,20 +481,22 @@ const _RawSet = class _RawSet {
561
481
  }
562
482
  const targetElementIs = element2.getAttribute(_RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);
563
483
  const targetElementNames = config.targetElements?.map((it) => it.name.toLowerCase()) ?? [];
484
+ targetElementNames.push(..._RawSet.DR_ELEMENTS);
564
485
  const isElement = targetElementNames.includes(element2.tagName.toLowerCase()) || targetElementNames.includes(targetElementIs?.toLowerCase());
565
486
  const targetAttrNames = (config.targetAttrs?.map((it) => it.name) ?? []).concat([..._RawSet.DR_ATTRIBUTES]);
566
487
  const normalAttrs = /* @__PURE__ */ new Map();
567
488
  const linkVariables = /* @__PURE__ */ new Map();
568
489
  const linkNames = import_EventManager.EventManager.linkAttrs.map((it) => it.name);
569
490
  const isAttr = element2.getAttributeNames().filter((it) => !import_EventManager.EventManager.noDetectAttr.includes(it)).filter((it) => {
570
- const value = element2.getAttribute(it);
491
+ const value = element2.getAttribute(it)?.trim();
571
492
  if (value && linkNames.includes(it)) {
572
493
  linkVariables.set(it, value);
573
494
  } else if (value && _RawSet.isExpression(value)) {
574
495
  const variablePaths = _RawSet.expressionGroups(value).map((it2) => ({
575
- origin: it2[0],
576
- inner: it2[1]
496
+ origin: it2[0].trim(),
497
+ inner: it2[1].trim()
577
498
  }));
499
+ const isStringTemplate = variablePaths.length > 1 || variablePaths[0] && variablePaths[0].origin !== value;
578
500
  let targetScript = value;
579
501
  variablePaths.forEach((it2) => {
580
502
  let r3 = it2.inner.replace(/#[^#]*#/g, "({})");
@@ -587,7 +509,7 @@ const _RawSet = class _RawSet {
587
509
  } else {
588
510
  element2.setAttribute(it, cval);
589
511
  }
590
- normalAttrs.set(it, { originalAttrValue: value, variablePaths });
512
+ normalAttrs.set(it, { originalAttrValue: value, variablePaths, isStringTemplate });
591
513
  }
592
514
  const isTargetAttr = targetAttrNames.includes(it.toLowerCase());
593
515
  return isTargetAttr;
@@ -658,7 +580,8 @@ const _RawSet = class _RawSet {
658
580
  lasterIndex = regexArr.index + it.content.length;
659
581
  }
660
582
  template.content.append(config.window.document.createTextNode(text.substring(lasterIndex, text.length)));
661
- currentNode2?.parentNode?.replaceChild(template.content, currentNode2);
583
+ const p = currentNode2?.parentNode;
584
+ p?.replaceChild(template.content, currentNode2);
662
585
  } else if (currentNode2.nodeType === Node2.ELEMENT_NODE) {
663
586
  const uuid = `${import_RandomUtils.RandomUtils.alphabet(40)}`;
664
587
  const element2 = currentNode2;
@@ -667,6 +590,7 @@ const _RawSet = class _RawSet {
667
590
  const startEndPoint = _RawSet.createStartEndPoint({ node: element2, id: uuid, type: elementType }, config);
668
591
  const targetElementIs = element2.getAttribute(_RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);
669
592
  const targetElementNames = config.targetElements?.map((it) => it.name.toLowerCase()) ?? [];
593
+ targetElementNames.push(..._RawSet.DR_ELEMENTS);
670
594
  const isElement = targetElementNames.includes(element2.tagName.toLowerCase()) || targetElementNames.includes(targetElementIs?.toLowerCase());
671
595
  const targetAttrNames = (config.targetAttrs?.map((it) => it.name) ?? []).concat(_RawSet.DR_ATTRIBUTES);
672
596
  const isAttr = element2.getAttributeNames().filter((it) => targetAttrNames.includes(it.toLowerCase())).length > 0;
@@ -1029,9 +953,11 @@ const _RawSet = class _RawSet {
1029
953
  if (templateReplacements.length > 0) {
1030
954
  targetElement.innerHTML = import_StringUtils.StringUtils.replaceSequentially(targetElement.innerHTML, templateReplacements);
1031
955
  }
956
+ const componentName = targetElement.getAttribute(_RawSet.DR_VARIABLE_NAME_OPTIONNAME) ?? "component";
1032
957
  const optionThisName = targetElement.getAttribute(_RawSet.DR_THIS_NAME_OPTIONNAME);
1033
958
  targetElement.getAttributeNames().forEach((it) => targetElement.setAttribute(it, targetElement.getAttribute(it).replace(/#this#/g, drThis)));
1034
959
  const thisRandom = this.drThisEncoding(targetElement, drThis, { asIs: /@this@/g });
960
+ targetElement.innerHTML = targetElement.innerHTML.replaceAll(`#${componentName}#`, drThis);
1035
961
  if (optionThisName) {
1036
962
  targetElement.innerHTML = targetElement.innerHTML.replaceAll(`@${optionThisName}@`, drThis);
1037
963
  }
@@ -1205,7 +1131,8 @@ const _RawSet = class _RawSet {
1205
1131
  );
1206
1132
  if (data && innerHTMLThisRandom) {
1207
1133
  const template2 = config.window.document.createElement("template");
1208
- template2.innerHTML = import_ElementUtils.ElementUtils.toInnerHTML(data, { document: config.window.document }).replace(RegExp(innerHTMLThisRandom, "g"), "this.");
1134
+ let s = import_ElementUtils.ElementUtils.toInnerHTML(data, { document: config.window.document });
1135
+ template2.innerHTML = s.replace(RegExp(innerHTMLThisRandom, "g"), "this.");
1209
1136
  ;
1210
1137
  data = template2.content;
1211
1138
  }
@@ -1245,22 +1172,17 @@ const _RawSet = class _RawSet {
1245
1172
  new Map(JSON.parse(normalAttribute)).forEach((v, k) => {
1246
1173
  const variablePaths = v.variablePaths;
1247
1174
  let targetScript = v.originalAttrValue.trim();
1248
- let checktargetScript = v.originalAttrValue.trim();
1249
- variablePaths.forEach((it) => {
1250
- checktargetScript = targetScript.replaceAll(it.origin, "");
1251
- });
1252
- let isScriptValue = checktargetScript.length === 0 && variablePaths.length === 1;
1253
- if (isScriptValue) {
1254
- let r = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(variablePaths[0].inner);
1255
- targetScript = targetScript.replaceAll(variablePaths[0].origin, r);
1256
- } else {
1175
+ if (v.isStringTemplate) {
1257
1176
  variablePaths.forEach((it) => {
1258
1177
  let r = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(it.inner);
1259
1178
  targetScript = targetScript.replaceAll(it.origin, `\${${r}}`);
1260
1179
  });
1180
+ } else {
1181
+ let r = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(variablePaths[0].inner);
1182
+ targetScript = targetScript.replaceAll(variablePaths[0].origin, r);
1261
1183
  }
1262
1184
  const cval = import_ObjectUtils.ObjectUtils.Script.evaluateReturn(
1263
- { bodyScript: config.script, returnScript: isScriptValue ? targetScript : "`" + targetScript + "`" },
1185
+ { bodyScript: config.script, returnScript: v.isStringTemplate ? "`" + targetScript + "`" : targetScript },
1264
1186
  Object.assign(config.obj, config.renderData ? { __render: config.renderData } : void 0)
1265
1187
  );
1266
1188
  attribute[k] = cval;
@@ -1284,6 +1206,8 @@ _RawSet.DR_INNERTEXT_NAME = "dr-inner-text";
1284
1206
  _RawSet.DR_DETECT_NAME = "dr-detect";
1285
1207
  _RawSet.DR_STRIP_NAME = "dr-strip";
1286
1208
  _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME = "dr-replace-target-element-is";
1209
+ // elementName
1210
+ _RawSet.DR_TARGET_ELEMENT_ELEMENTNAME = "dr-target-element";
1287
1211
  // 감지처리되는 옵션
1288
1212
  _RawSet.DR_DETECT_IF_OPTIONNAME = "dr-detect-option-if";
1289
1213
  _RawSet.DR_DETECT_FILTER_OPTIONNAME = "dr-detect-option-filter";
@@ -1350,6 +1274,9 @@ _RawSet.DR_TAGS = [];
1350
1274
  // public static readonly DR_REPLACE_ACTION_ATTRIBUTES = [
1351
1275
  // RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME
1352
1276
  // ]
1277
+ _RawSet.DR_ELEMENTS = [
1278
+ _RawSet.DR_TARGET_ELEMENT_ELEMENTNAME
1279
+ ];
1353
1280
  _RawSet.DR_ATTRIBUTES = [
1354
1281
  _RawSet.DR_NAME,
1355
1282
  _RawSet.DR_APPENDER_NAME,
@@ -1363,7 +1290,7 @@ _RawSet.DR_ATTRIBUTES = [
1363
1290
  _RawSet.DR_INNERHTML_NAME,
1364
1291
  _RawSet.DR_INNERTEXT_NAME,
1365
1292
  _RawSet.DR_REPEAT_NAME,
1366
- _RawSet.DR_DETECT_NAME,
1293
+ // RawSet.DR_DETECT_NAME, // TODO: DrDetect 오퍼레이터 구현 필요
1367
1294
  _RawSet.DR_STRIP_NAME
1368
1295
  ];
1369
1296
  let RawSet = _RawSet;