@dooboostore/dom-render 1.0.109 → 1.0.110

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 (176) hide show
  1. package/dist/cjs/DomRenderProxy.js +122 -57
  2. package/dist/cjs/DomRenderProxy.js.map +2 -2
  3. package/dist/cjs/components/ComponentBase.js +4 -4
  4. package/dist/cjs/components/ComponentBase.js.map +2 -2
  5. package/dist/cjs/components/appender/Appender.js +0 -3
  6. package/dist/cjs/components/appender/Appender.js.map +2 -2
  7. package/dist/cjs/components/checkbox/CheckBox.js.map +2 -2
  8. package/dist/cjs/components/choose/Choose.js +3 -1
  9. package/dist/cjs/components/choose/Choose.js.map +2 -2
  10. package/dist/cjs/components/details/Details.js +2 -2
  11. package/dist/cjs/components/details/Details.js.map +2 -2
  12. package/dist/cjs/components/forOf/ForOf.js.map +2 -2
  13. package/dist/cjs/components/if/If.js +2 -2
  14. package/dist/cjs/components/if/If.js.map +2 -2
  15. package/dist/cjs/components/input/Input.js +2 -2
  16. package/dist/cjs/components/input/Input.js.map +2 -2
  17. package/dist/cjs/components/promise/PromiseSwitch.js +6 -6
  18. package/dist/cjs/components/promise/PromiseSwitch.js.map +2 -2
  19. package/dist/cjs/components/radio/Radio.js.map +2 -2
  20. package/dist/cjs/components/router/Route.js +2 -2
  21. package/dist/cjs/components/router/Route.js.map +2 -2
  22. package/dist/cjs/components/router/RouterOutlet.js +2 -2
  23. package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
  24. package/dist/cjs/components/select/Select.js +6 -6
  25. package/dist/cjs/components/select/Select.js.map +2 -2
  26. package/dist/cjs/components/this/This.js +2 -2
  27. package/dist/cjs/components/this/This.js.map +2 -2
  28. package/dist/cjs/components/timer/Timer.js +2 -3
  29. package/dist/cjs/components/timer/Timer.js.map +2 -2
  30. package/dist/cjs/events/EventManager.js +9 -2
  31. package/dist/cjs/events/EventManager.js.map +2 -2
  32. package/dist/cjs/lifecycle/OnInitRender.js.map +1 -1
  33. package/dist/cjs/operators/DrForOf.js +24 -11
  34. package/dist/cjs/operators/DrForOf.js.map +2 -2
  35. package/dist/cjs/operators/DrIf.js +1 -2
  36. package/dist/cjs/operators/DrIf.js.map +2 -2
  37. package/dist/cjs/operators/DrInnerText.js +2 -2
  38. package/dist/cjs/operators/DrInnerText.js.map +2 -2
  39. package/dist/cjs/rawsets/RawSet.js +243 -46
  40. package/dist/cjs/rawsets/RawSet.js.map +3 -3
  41. package/dist/cjs/routers/PathRouter.js +13 -7
  42. package/dist/cjs/routers/PathRouter.js.map +2 -2
  43. package/dist/cjs/routers/Router.js +51 -27
  44. package/dist/cjs/routers/Router.js.map +2 -2
  45. package/dist/esm/DomRenderProxy.js +122 -57
  46. package/dist/esm/DomRenderProxy.js.map +2 -2
  47. package/dist/esm/components/ComponentBase.js +4 -4
  48. package/dist/esm/components/ComponentBase.js.map +2 -2
  49. package/dist/esm/components/appender/Appender.js +0 -3
  50. package/dist/esm/components/appender/Appender.js.map +2 -2
  51. package/dist/esm/components/checkbox/CheckBox.js.map +2 -2
  52. package/dist/esm/components/choose/Choose.js +3 -1
  53. package/dist/esm/components/choose/Choose.js.map +2 -2
  54. package/dist/esm/components/details/Details.js +2 -2
  55. package/dist/esm/components/details/Details.js.map +2 -2
  56. package/dist/esm/components/forOf/ForOf.js.map +2 -2
  57. package/dist/esm/components/if/If.js +2 -2
  58. package/dist/esm/components/if/If.js.map +2 -2
  59. package/dist/esm/components/input/Input.js +2 -2
  60. package/dist/esm/components/input/Input.js.map +2 -2
  61. package/dist/esm/components/promise/PromiseSwitch.js +6 -6
  62. package/dist/esm/components/promise/PromiseSwitch.js.map +2 -2
  63. package/dist/esm/components/radio/Radio.js.map +2 -2
  64. package/dist/esm/components/router/Route.js +2 -2
  65. package/dist/esm/components/router/Route.js.map +2 -2
  66. package/dist/esm/components/router/RouterOutlet.js +2 -2
  67. package/dist/esm/components/router/RouterOutlet.js.map +2 -2
  68. package/dist/esm/components/select/Select.js +6 -6
  69. package/dist/esm/components/select/Select.js.map +2 -2
  70. package/dist/esm/components/this/This.js +2 -2
  71. package/dist/esm/components/this/This.js.map +2 -2
  72. package/dist/esm/components/timer/Timer.js +2 -3
  73. package/dist/esm/components/timer/Timer.js.map +2 -2
  74. package/dist/esm/events/EventManager.js +9 -2
  75. package/dist/esm/events/EventManager.js.map +2 -2
  76. package/dist/esm/lifecycle/OnInitRender.js.map +1 -1
  77. package/dist/esm/operators/DrForOf.js +24 -11
  78. package/dist/esm/operators/DrForOf.js.map +2 -2
  79. package/dist/esm/operators/DrIf.js +1 -2
  80. package/dist/esm/operators/DrIf.js.map +2 -2
  81. package/dist/esm/operators/DrInnerText.js +2 -2
  82. package/dist/esm/operators/DrInnerText.js.map +2 -2
  83. package/dist/esm/rawsets/RawSet.js +243 -46
  84. package/dist/esm/rawsets/RawSet.js.map +3 -3
  85. package/dist/esm/routers/PathRouter.js +13 -7
  86. package/dist/esm/routers/PathRouter.js.map +2 -2
  87. package/dist/esm/routers/Router.js +51 -27
  88. package/dist/esm/routers/Router.js.map +2 -2
  89. package/dist/esm-bundle/dooboostore-dom-render.esm.js +1850 -319
  90. package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
  91. package/dist/types/DomRenderProxy.d.ts +2 -2
  92. package/dist/types/DomRenderProxy.d.ts.map +1 -1
  93. package/dist/types/components/ComponentBase.d.ts +1 -1
  94. package/dist/types/components/ComponentBase.d.ts.map +1 -1
  95. package/dist/types/components/appender/Appender.d.ts +0 -2
  96. package/dist/types/components/appender/Appender.d.ts.map +1 -1
  97. package/dist/types/components/checkbox/CheckBox.d.ts.map +1 -1
  98. package/dist/types/components/choose/Choose.d.ts.map +1 -1
  99. package/dist/types/components/details/Details.d.ts +1 -1
  100. package/dist/types/components/details/Details.d.ts.map +1 -1
  101. package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
  102. package/dist/types/components/if/If.d.ts +1 -1
  103. package/dist/types/components/if/If.d.ts.map +1 -1
  104. package/dist/types/components/index.d.ts.map +1 -1
  105. package/dist/types/components/input/Input.d.ts +1 -1
  106. package/dist/types/components/input/Input.d.ts.map +1 -1
  107. package/dist/types/components/promise/PromiseSwitch.d.ts +1 -1
  108. package/dist/types/components/promise/PromiseSwitch.d.ts.map +1 -1
  109. package/dist/types/components/radio/Radio.d.ts.map +1 -1
  110. package/dist/types/components/router/Route.d.ts +1 -1
  111. package/dist/types/components/router/Route.d.ts.map +1 -1
  112. package/dist/types/components/router/RouterOutlet.d.ts +1 -1
  113. package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
  114. package/dist/types/components/select/Select.d.ts +3 -3
  115. package/dist/types/components/select/Select.d.ts.map +1 -1
  116. package/dist/types/components/this/This.d.ts +1 -1
  117. package/dist/types/components/this/This.d.ts.map +1 -1
  118. package/dist/types/components/timer/Timer.d.ts +1 -1
  119. package/dist/types/components/timer/Timer.d.ts.map +1 -1
  120. package/dist/types/events/EventManager.d.ts +8 -0
  121. package/dist/types/events/EventManager.d.ts.map +1 -1
  122. package/dist/types/index.d.ts +0 -101
  123. package/dist/types/lifecycle/OnInitRender.d.ts +1 -1
  124. package/dist/types/lifecycle/OnInitRender.d.ts.map +1 -1
  125. package/dist/types/operators/DrForOf.d.ts.map +1 -1
  126. package/dist/types/operators/DrInnerText.d.ts.map +1 -1
  127. package/dist/types/rawsets/RawSet.d.ts +6 -5
  128. package/dist/types/rawsets/RawSet.d.ts.map +1 -1
  129. package/dist/types/routers/PathRouter.d.ts.map +1 -1
  130. package/dist/types/routers/Router.d.ts +9 -11
  131. package/dist/types/routers/Router.d.ts.map +1 -1
  132. package/dist/umd-bundle/dooboostore-dom-render.umd.js +1850 -319
  133. package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
  134. package/package.json +7 -7
  135. package/src/DomRenderProxy.ts +258 -137
  136. package/src/components/ComponentBase.ts +4 -4
  137. package/src/components/appender/Appender.ts +0 -5
  138. package/src/components/checkbox/CheckBox.ts +22 -25
  139. package/src/components/choose/Choose.ts +16 -19
  140. package/src/components/details/Details.ts +40 -43
  141. package/src/components/forOf/ForOf.ts +6 -9
  142. package/src/components/if/If.ts +9 -11
  143. package/src/components/input/Input.ts +16 -22
  144. package/src/components/promise/PromiseSwitch.ts +67 -66
  145. package/src/components/radio/Radio.ts +23 -28
  146. package/src/components/router/Route.ts +10 -13
  147. package/src/components/router/RouterOutlet.ts +5 -4
  148. package/src/components/select/Select.ts +7 -7
  149. package/src/components/this/This.ts +13 -12
  150. package/src/components/timer/Timer.ts +12 -16
  151. package/src/events/EventManager.ts +15 -4
  152. package/src/lifecycle/OnInitRender.ts +1 -1
  153. package/src/node_modules/.bin/acorn +17 -0
  154. package/src/node_modules/.bin/browserslist +17 -0
  155. package/src/node_modules/.bin/eslint +17 -0
  156. package/src/node_modules/.bin/sbf +17 -0
  157. package/src/node_modules/.bin/ts-node +17 -0
  158. package/src/node_modules/.bin/ts-node-cwd +17 -0
  159. package/src/node_modules/.bin/ts-node-dev +17 -0
  160. package/src/node_modules/.bin/ts-node-esm +17 -0
  161. package/src/node_modules/.bin/ts-node-script +17 -0
  162. package/src/node_modules/.bin/ts-node-transpile-only +17 -0
  163. package/src/node_modules/.bin/ts-script +17 -0
  164. package/src/node_modules/.bin/tsc +17 -0
  165. package/src/node_modules/.bin/tsnd +17 -0
  166. package/src/node_modules/.bin/tsserver +17 -0
  167. package/src/node_modules/.bin/webpack +17 -0
  168. package/src/node_modules/.bin/webpack-cli +17 -0
  169. package/src/node_modules/.bin/webpack-dev-server +17 -0
  170. package/src/operators/DrForOf.ts +25 -10
  171. package/src/operators/DrIf.ts +1 -1
  172. package/src/operators/DrInnerText.ts +2 -1
  173. package/src/rawsets/RawSet.ts +387 -288
  174. package/src/routers/PathRouter.ts +14 -7
  175. package/src/routers/Router.ts +77 -48
  176. package/types.d.ts +0 -2873
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/operators/DrForOf.ts"],
4
- "sourcesContent": ["import { OperatorExecuterAttrRequire } from './OperatorExecuterAttrRequire';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { RawSet } from '../rawsets/RawSet';\nimport { Render } from '../rawsets/Render';\nimport { AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source } from './OperatorExecuter';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\n\nexport class DrForOf extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n source.operatorAround = undefined;\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n // console.log('\uD0C0\uC9C0\uB3C4\uC54A\uB0D0?')\n const itRandom = RawSet.drItOtherEncoding(this.elementSource.element, 'DrForOf');\n const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? '');\n const newTemp = this.source.config.window.document.createElement('temp');\n // console.log('----!', this.elementSource.attrs)\n // ScriptUtils.evalReturn()\n ScriptUtils.evaluate(`\n ${this.render.bindScript}\n ${this.elementSource.attrs.drBeforeOption ?? ''}\n var i = -1; \n const forOf = ${ObjectUtils.Path.toOptionalChainPath(attr)};\n const forOfStr = \\`${attr}\\`.trim();\n // console.log('forOf---',forOf);\n if (forOf) {\n for(const it of forOf) {\n i++;\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 // console.log('zzzzzzzzzzz', n.getAttribute('${RawSet.DR_DETECT_ATTR_OPTIONNAME}'));\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 // console.log('---------'+destIt,n, Array.from(n.getAttributeNames()).map(it=>({name:it,attr: n.getAttribute(it)})));\n // console.log('---------destItdestIt',destIt);\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 const drOptionAttr = n.getAttribute('${RawSet.DR_DETECT_ATTR_OPTIONNAME}');\n if (drOptionAttr) {\n const drOptionAttrResult = $scriptUtils.evaluateReturn(drOptionAttr, this);\n Array.from(Object.entries(drOptionAttrResult??{})).forEach(([k,v])=>{\n if (v === null) {\n n.removeAttribute(k);\n } else {\n n.setAttribute(k,v);\n }\n })\n }\n \n const drOptionFilter = n.getAttribute('${RawSet.DR_DETECT_FILTER_OPTIONNAME}');\n if (drOptionFilter) {\n const drOptionFilterResult = $scriptUtils.evaluateReturn(drOptionFilter, this);\n // console.log('---drforof----', drOptionFilter, drOptionFilterResult)\n if (!drOptionFilterResult) {\n continue;\n }\n }\n\n n.innerHTML = n.innerHTML.replace(/\\\\#it\\\\#/g, destIt).replace(/\\\\#index\\\\#/g, i);\n // console.log('!@@@@', n.innerHTML);\n // DR_THIS_OPTIONNAME \uB294 \uC81C\uAC70\uD55C\uB2E4 \uAF2C\uC778\uB2E4. strip \uD560\uB54C \uB9C9 \uAF2C\uC5EC\uBC84\uB9B0\uB2E4.\n // const drOptionThis = n.getAttribute('${RawSet.DR_THIS_OPTIONNAME}');\n // if (drOptionThis) {\n // n.setAttribute('${RawSet.DR_THIS_NAME}', drOptionThis)\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 }\n \n if('${this.elementSource.attrs.drNextOption}' !== 'null') {\n const n = this.__render.element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drForOf' && k !== 'drNextOption' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n const [name, idx] = '${this.elementSource.attrs.drNextOption}'.split(',');\n n.setAttribute('${RawSet.DR_FOR_OF_NAME}', name + '[' + idx + ']');\n n.setAttribute('${RawSet.DR_NEXT_OPTIONNAME}', name + ',' + (Number(idx) + 1));\n this.__render.fag.append(n);\n }\n }\n ${this.elementSource.attrs.drAfterOption ?? ''}\n `, Object.assign(this.source.obj, {\n __render: Object.freeze({\n drStripOption: this.elementSource.attrs.drStripOption,\n drAttr: this.elementSource.attrs,\n drAttrsOriginName: RawSet.drAttrsOriginName,\n fag: newTemp,\n ...this.render\n // eslint-disable-next-line no-use-before-define\n } as Render)\n }));\n RawSet.drVarDecoding(newTemp, vars);\n RawSet.drItOtherDecoding(newTemp, itRandom);\n const tempalte = this.source.config.window.document.createElement('template');\n tempalte.innerHTML = newTemp.innerHTML;\n this.returnContainer.fag.append(tempalte.content)\n const rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);\n this.elementSource.element.parentNode?.replaceChild(this.returnContainer.fag, this.elementSource.element);\n // const rrr = rr.flatMap(it => it.render(obj, config));// .flat();\n this.returnContainer.raws.push(...rr)\n return ExecuteState.EXECUTE;\n }\n}\n"],
5
- "mappings": "AAAA,SAAS,mCAAmC;AAC5C,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AAEvB,SAAuC,oBAA6C;AACpF,SAAS,mBAAmB;AAErB,MAAM,gBAAgB,4BAAoC;AAAA,EAC/D,YAAY,QAAgB,QAAgB,iBAAkC,eAA8B,QAAgB,eAA8B;AACxJ,WAAO,iBAAiB;AACxB,UAAM,QAAQ,QAAQ,iBAAiB,eAAe,QAAQ,eAAe,KAAK;AAAA,EACpF;AAAA,EAEA,MAAM,mBAAmB,MAAqC;AAE5D,UAAM,WAAW,OAAO,kBAAkB,KAAK,cAAc,SAAS,SAAS;AAC/E,UAAM,OAAO,OAAO,cAAc,KAAK,cAAc,SAAS,KAAK,cAAc,MAAM,eAAe,EAAE;AACxG,UAAM,UAAU,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,MAAM;AAGvE,gBAAY,SAAS;AAAA,sBACH,KAAK,OAAO,UAAU;AAAA,sBACtB,KAAK,cAAc,MAAM,kBAAkB,EAAE;AAAA;AAAA,oCAE/B,YAAY,KAAK,oBAAoB,IAAI,CAAC;AAAA,yCACrC,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4EAkB+B,OAAO,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA,mEAKzC,OAAO,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qEAY9B,OAAO,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sEAYjC,OAAO,kBAAkB;AAAA;AAAA,kDAE7C,OAAO,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAUvC,KAAK,cAAc,MAAM,YAAY;AAAA;AAAA;AAAA,mDAGhB,KAAK,cAAc,MAAM,YAAY;AAAA,8CAC1C,OAAO,cAAc;AAAA,8CACrB,OAAO,kBAAkB;AAAA;AAAA;AAAA;AAAA,sBAIjD,KAAK,cAAc,MAAM,iBAAiB,EAAE;AAAA,uBAC3C,OAAO,OAAO,KAAK,OAAO,KAAK;AAAA,MAChD,UAAU,OAAO,OAAO;AAAA,QACtB,eAAe,KAAK,cAAc,MAAM;AAAA,QACxC,QAAQ,KAAK,cAAc;AAAA,QAC3B,mBAAmB,OAAO;AAAA,QAC1B,KAAK;AAAA,QACL,GAAG,KAAK;AAAA;AAAA,MAEV,CAAW;AAAA,IACb,CAAC,CAAC;AACF,WAAO,cAAc,SAAS,IAAI;AAClC,WAAO,kBAAkB,SAAS,QAAQ;AAC1C,UAAM,WAAW,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,UAAU;AAC5E,aAAS,YAAY,QAAQ;AAC7B,SAAK,gBAAgB,IAAI,OAAO,SAAS,OAAO;AAChD,UAAM,KAAK,OAAO,kBAAkB,KAAK,gBAAgB,KAAK,KAAK,OAAO,KAAK,KAAK,OAAO,MAAM;AACjG,SAAK,cAAc,QAAQ,YAAY,aAAa,KAAK,gBAAgB,KAAK,KAAK,cAAc,OAAO;AAExG,SAAK,gBAAgB,KAAK,KAAK,GAAG,EAAE;AACpC,WAAO,aAAa;AAAA,EACtB;AACF;",
4
+ "sourcesContent": ["import { OperatorExecuterAttrRequire } from './OperatorExecuterAttrRequire';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { RawSet } from '../rawsets/RawSet';\nimport { Render } from '../rawsets/Render';\nimport { AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source } from './OperatorExecuter';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\n\nexport class DrForOf extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n source.operatorAround = undefined;\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n // console.log('\uD0C0\uC9C0\uB3C4\uC54A\uB0D0?')\n const itRandom = RawSet.drItOtherEncoding(this.elementSource.element, 'DrForOf');\n const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? '');\n const newTemp = this.source.config.window.document.createElement('temp');\n\n const variableName = this.elementSource.element.getAttribute(RawSet.DR_VARIABLE_NAME_OPTIONNAME);\n const itemVariableName = this.elementSource.element.getAttribute(RawSet.DR_ITEM_VARIABLE_NAME_OPTIONNAME);\n const itemIndexVariableName = this.elementSource.element.getAttribute(RawSet.DR_ITEM_INDEX_VARIABLE_NAME_OPTIONNAME);\n // console.log('----!', this.elementSource.attrs)\n // ScriptUtils.evalReturn()\n ObjectUtils.Script.evaluate(`\n ${this.render.bindScript}\n ${this.elementSource.attrs.drBeforeOption ?? ''}\n var i = -1; \n const forOf = ${ObjectUtils.Path.toOptionalChainPath(attr)};\n const forOfStr = \\`${attr}\\`.trim();\n // console.log('forOf---',forOf);\n if (forOf) {\n for(const it of forOf) {\n i++;\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 if ('${variableName}') {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replaceAll('#${variableName}#', forOfStr)));\n }\n if ('${itemVariableName}') {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replaceAll('#${itemVariableName}#', destIt)));\n }\n if ('${itemIndexVariableName}') {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replaceAll('#${itemIndexVariableName}#', i)));\n }\n \n const drOptionAttr = n.getAttribute('${RawSet.DR_DETECT_ATTR_OPTIONNAME}');\n if (drOptionAttr) {\n const drOptionAttrResult = $scriptUtils.evaluateReturn(drOptionAttr, this);\n Array.from(Object.entries(drOptionAttrResult??{})).forEach(([k,v])=>{\n if (v === null) {\n n.removeAttribute(k);\n } else {\n n.setAttribute(k,v);\n }\n })\n }\n \n const drOptionFilter = n.getAttribute('${RawSet.DR_DETECT_FILTER_OPTIONNAME}');\n if (drOptionFilter) {\n const drOptionFilterResult = $scriptUtils.evaluateReturn(drOptionFilter, this);\n // console.log('---drforof----', drOptionFilter, drOptionFilterResult)\n if (!drOptionFilterResult) {\n continue;\n }\n }\n\n n.innerHTML = n.innerHTML.replace(/\\\\#it\\\\#/g, destIt).replace(/\\\\#index\\\\#/g, i);\n if ('${variableName}') {\n n.innerHTML = n.innerHTML.replaceAll('#${variableName}#', forOfStr);\n }\n if ('${itemVariableName}') {\n n.innerHTML = n.innerHTML.replaceAll('#${itemVariableName}#', destIt);\n }\n if ('${itemIndexVariableName}') {\n n.innerHTML = n.innerHTML.replaceAll('#${itemIndexVariableName}#', i);\n }\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 }\n \n if('${this.elementSource.attrs.drNextOption}' !== 'null') {\n const n = this.__render.element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drForOf' && k !== 'drNextOption' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n const [name, idx] = '${this.elementSource.attrs.drNextOption}'.split(',');\n n.setAttribute('${RawSet.DR_FOR_OF_NAME}', name + '[' + idx + ']');\n n.setAttribute('${RawSet.DR_NEXT_OPTIONNAME}', name + ',' + (Number(idx) + 1));\n this.__render.fag.append(n);\n }\n }\n ${this.elementSource.attrs.drAfterOption ?? ''}\n `, Object.assign(this.source.obj, {\n __render: Object.freeze({\n drStripOption: this.elementSource.attrs.drStripOption,\n drAttr: this.elementSource.attrs,\n drAttrsOriginName: RawSet.drAttrsOriginName,\n fag: newTemp,\n ...this.render\n // eslint-disable-next-line no-use-before-define\n } as Render)\n }));\n RawSet.drVarDecoding(newTemp, vars);\n RawSet.drItOtherDecoding(newTemp, itRandom);\n const tempalte = this.source.config.window.document.createElement('template');\n tempalte.innerHTML = newTemp.innerHTML;\n this.returnContainer.fag.append(tempalte.content)\n const rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);\n this.elementSource.element.parentNode?.replaceChild(this.returnContainer.fag, this.elementSource.element);\n // const rrr = rr.flatMap(it => it.render(obj, config));// .flat();\n this.returnContainer.raws.push(...rr)\n return ExecuteState.EXECUTE;\n }\n}\n"],
5
+ "mappings": "AAAA,SAAS,mCAAmC;AAE5C,SAAS,cAAc;AAEvB,SAAuC,oBAA6C;AACpF,SAAS,mBAAmB;AAErB,MAAM,gBAAgB,4BAAoC;AAAA,EAC/D,YAAY,QAAgB,QAAgB,iBAAkC,eAA8B,QAAgB,eAA8B;AACxJ,WAAO,iBAAiB;AACxB,UAAM,QAAQ,QAAQ,iBAAiB,eAAe,QAAQ,eAAe,KAAK;AAAA,EACpF;AAAA,EAEA,MAAM,mBAAmB,MAAqC;AAE5D,UAAM,WAAW,OAAO,kBAAkB,KAAK,cAAc,SAAS,SAAS;AAC/E,UAAM,OAAO,OAAO,cAAc,KAAK,cAAc,SAAS,KAAK,cAAc,MAAM,eAAe,EAAE;AACxG,UAAM,UAAU,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,MAAM;AAEvE,UAAM,eAAe,KAAK,cAAc,QAAQ,aAAa,OAAO,2BAA2B;AAC/F,UAAM,mBAAmB,KAAK,cAAc,QAAQ,aAAa,OAAO,gCAAgC;AACxG,UAAM,wBAAwB,KAAK,cAAc,QAAQ,aAAa,OAAO,sCAAsC;AAGnH,gBAAY,OAAO,SAAS;AAAA,sBACV,KAAK,OAAO,UAAU;AAAA,sBACtB,KAAK,cAAc,MAAM,kBAAkB,EAAE;AAAA;AAAA,oCAE/B,YAAY,KAAK,oBAAoB,IAAI,CAAC;AAAA,yCACrC,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAoBV,YAAY;AAAA,uHACwE,YAAY;AAAA;AAAA,mCAEhG,gBAAgB;AAAA,uHACoE,gBAAgB;AAAA;AAAA,mCAEpG,qBAAqB;AAAA,uHAC+D,qBAAqB;AAAA;AAAA;AAAA,mEAGzE,OAAO,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qEAY9B,OAAO,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAUpE,YAAY;AAAA,uEACwB,YAAY;AAAA;AAAA,mCAEhD,gBAAgB;AAAA,uEACoB,gBAAgB;AAAA;AAAA,mCAEpD,qBAAqB;AAAA,uEACe,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAW9D,KAAK,cAAc,MAAM,YAAY;AAAA;AAAA;AAAA,mDAGhB,KAAK,cAAc,MAAM,YAAY;AAAA,8CAC1C,OAAO,cAAc;AAAA,8CACrB,OAAO,kBAAkB;AAAA;AAAA;AAAA;AAAA,sBAIjD,KAAK,cAAc,MAAM,iBAAiB,EAAE;AAAA,uBAC3C,OAAO,OAAO,KAAK,OAAO,KAAK;AAAA,MAChD,UAAU,OAAO,OAAO;AAAA,QACtB,eAAe,KAAK,cAAc,MAAM;AAAA,QACxC,QAAQ,KAAK,cAAc;AAAA,QAC3B,mBAAmB,OAAO;AAAA,QAC1B,KAAK;AAAA,QACL,GAAG,KAAK;AAAA;AAAA,MAEV,CAAW;AAAA,IACb,CAAC,CAAC;AACF,WAAO,cAAc,SAAS,IAAI;AAClC,WAAO,kBAAkB,SAAS,QAAQ;AAC1C,UAAM,WAAW,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,UAAU;AAC5E,aAAS,YAAY,QAAQ;AAC7B,SAAK,gBAAgB,IAAI,OAAO,SAAS,OAAO;AAChD,UAAM,KAAK,OAAO,kBAAkB,KAAK,gBAAgB,KAAK,KAAK,OAAO,KAAK,KAAK,OAAO,MAAM;AACjG,SAAK,cAAc,QAAQ,YAAY,aAAa,KAAK,gBAAgB,KAAK,KAAK,cAAc,OAAO;AAExG,SAAK,gBAAgB,KAAK,KAAK,GAAG,EAAE;AACpC,WAAO,aAAa;AAAA,EACtB;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,4 @@
1
1
  import { OperatorExecuterAttrRequire } from "./OperatorExecuterAttrRequire.js";
2
- import { ScriptUtils } from "@dooboostore/core-web/script/ScriptUtils";
3
2
  import { RawSet } from "../rawsets/RawSet.js";
4
3
  import { ExecuteState } from "./OperatorExecuter.js";
5
4
  import { ObjectUtils } from "@dooboostore/core/object/ObjectUtils";
@@ -12,7 +11,7 @@ class DrIf extends OperatorExecuterAttrRequire {
12
11
  const itRandom = RawSet.drItOtherEncoding(this.elementSource.element, "DrIf");
13
12
  const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? "");
14
13
  const newTemp = this.source.config.window.document.createElement("temp");
15
- const keepgoing = ScriptUtils.evaluate(`
14
+ const keepgoing = ObjectUtils.Script.evaluate(`
16
15
  ${this.render.bindScript}
17
16
  ${this.elementSource.attrs.drBeforeOption ?? ""}
18
17
  if ($rawSet.data === (${ObjectUtils.Path.toOptionalChainPath(attr)})) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/operators/DrIf.ts"],
4
- "sourcesContent": ["import { OperatorExecuterAttrRequire } from './OperatorExecuterAttrRequire';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { RawSet } from '../rawsets/RawSet';\nimport { Render } from '../rawsets/Render';\nimport { AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source } from './OperatorExecuter';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\n\nexport class DrIf extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n source.operatorAround = undefined;\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n const itRandom = RawSet.drItOtherEncoding(this.elementSource.element, 'DrIf');\n const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? '');\n const newTemp = this.source.config.window.document.createElement('temp');\n // Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v)); <-- \uC774\uBD80\uBD84\uC740 \uB2E4\uB978 attr\uC5D0\uB3C4 \uC801\uC6A9\uC744 \uD560\uC9C0\uB9D0\uC9C0 \uC0DD\uAC01\uD574\uC57C\uB428 \uC5D8\uB9AC\uBA3C\uD2B8 \uC874\uC7AC\uC720\uBB34\uC5D0 \uB530\uB77C\uC11C \uC801\uC6A9\uC744 \uD560\uC9C0\uB9D0\uC9C0 \uACB0\uC815\uD574\uC57C\uB428\n const keepgoing = ScriptUtils.evaluate(`\n ${this.render.bindScript}\n ${this.elementSource.attrs.drBeforeOption ?? ''}\n if ($rawSet.data === (${ObjectUtils.Path.toOptionalChainPath(attr)})) {\n return false;\n }\n $rawSet.data = ${ObjectUtils.Path.toOptionalChainPath(attr)};\n if($rawSet.data) {\n const n = $element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n var destIt = ${this.elementSource.attrs.drItOption};\n if (destIt !== undefined) {\n // \uC5EC\uAE30\uAC00 ..\uC544\uC8FC \uD5DB\uAC08\uB9AC\uB294\uB370...\n Array.from(n.getAttributeNames()).forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\\\#DrIFIt\\\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\\\#DrIFIt\\\\#/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 ${this.elementSource.attrs.drAfterOption ?? ''};\n return true;\n `, Object.assign(this.source.obj,\n {\n __render: Object.freeze({\n fag: newTemp,\n drAttr: this.elementSource.attrs,\n drAttrsOriginName: RawSet.drAttrsOriginName,\n drStripOption: this.elementSource.attrs.drStripOption,\n ...this.render\n } as Render)\n }\n ));\n // TODO: \uBB50\uC9C0?? \uC9C0\uC6CC\uC57C\uB418\uB294\uAC70 \uC544\uB2CC\uAC00?\n if (keepgoing === false) {\n return ExecuteState.STOP;\n }\n RawSet.drVarDecoding(newTemp, vars);\n RawSet.drItOtherDecoding(newTemp, itRandom);\n // const bypass = (newTemp.innerHTML ?? '').trim().length <= 0;\n const tempalte = this.source.config.window.document.createElement('template');\n tempalte.innerHTML = newTemp.innerHTML;\n this.returnContainer.fag.append(tempalte.content);\n const rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);\n this.elementSource.element.parentNode?.replaceChild(this.returnContainer.fag, this.elementSource.element);\n this.returnContainer.raws.push(...rr);\n return ExecuteState.EXECUTE;\n }\n}\n"],
5
- "mappings": "AAAA,SAAS,mCAAmC;AAC5C,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AAEvB,SAAuC,oBAA6C;AACpF,SAAS,mBAAmB;AAErB,MAAM,aAAa,4BAAoC;AAAA,EAC5D,YAAY,QAAgB,QAAgB,iBAAkC,eAA8B,QAAgB,eAA8B;AACxJ,WAAO,iBAAiB;AACxB,UAAM,QAAQ,QAAQ,iBAAiB,eAAe,QAAQ,eAAe,KAAK;AAAA,EACpF;AAAA,EAEA,MAAM,mBAAmB,MAAqC;AAC5D,UAAM,WAAW,OAAO,kBAAkB,KAAK,cAAc,SAAS,MAAM;AAC5E,UAAM,OAAO,OAAO,cAAc,KAAK,cAAc,SAAS,KAAK,cAAc,MAAM,eAAe,EAAE;AACxG,UAAM,UAAU,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,MAAM;AAEvE,UAAM,YAAY,YAAY,SAAS;AAAA,kBACzB,KAAK,OAAO,UAAU;AAAA,kBACtB,KAAK,cAAc,MAAM,kBAAkB,EAAE;AAAA,wCACvB,YAAY,KAAK,oBAAoB,IAAI,CAAC;AAAA;AAAA;AAAA,iCAGjD,YAAY,KAAK,oBAAoB,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,mCAIxC,KAAK,cAAc,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAYpD,KAAK,cAAc,MAAM,iBAAiB,EAAE;AAAA;AAAA,mBAE3C,OAAO;AAAA,MAAO,KAAK,OAAO;AAAA,MACvC;AAAA,QACE,UAAU,OAAO,OAAO;AAAA,UACtB,KAAK;AAAA,UACL,QAAQ,KAAK,cAAc;AAAA,UAC3B,mBAAmB,OAAO;AAAA,UAC1B,eAAe,KAAK,cAAc,MAAM;AAAA,UACxC,GAAG,KAAK;AAAA,QACV,CAAW;AAAA,MACb;AAAA,IACF,CAAC;AAED,QAAI,cAAc,OAAO;AACvB,aAAO,aAAa;AAAA,IACtB;AACA,WAAO,cAAc,SAAS,IAAI;AAClC,WAAO,kBAAkB,SAAS,QAAQ;AAE1C,UAAM,WAAW,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,UAAU;AAC5E,aAAS,YAAY,QAAQ;AAC7B,SAAK,gBAAgB,IAAI,OAAO,SAAS,OAAO;AAChD,UAAM,KAAK,OAAO,kBAAkB,KAAK,gBAAgB,KAAK,KAAK,OAAO,KAAK,KAAK,OAAO,MAAM;AACjG,SAAK,cAAc,QAAQ,YAAY,aAAa,KAAK,gBAAgB,KAAK,KAAK,cAAc,OAAO;AACxG,SAAK,gBAAgB,KAAK,KAAK,GAAG,EAAE;AACpC,WAAO,aAAa;AAAA,EACtB;AACF;",
4
+ "sourcesContent": ["import { OperatorExecuterAttrRequire } from './OperatorExecuterAttrRequire';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { RawSet } from '../rawsets/RawSet';\nimport { Render } from '../rawsets/Render';\nimport { AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source } from './OperatorExecuter';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\n\nexport class DrIf extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n source.operatorAround = undefined;\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n const itRandom = RawSet.drItOtherEncoding(this.elementSource.element, 'DrIf');\n const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? '');\n const newTemp = this.source.config.window.document.createElement('temp');\n // Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v)); <-- \uC774\uBD80\uBD84\uC740 \uB2E4\uB978 attr\uC5D0\uB3C4 \uC801\uC6A9\uC744 \uD560\uC9C0\uB9D0\uC9C0 \uC0DD\uAC01\uD574\uC57C\uB428 \uC5D8\uB9AC\uBA3C\uD2B8 \uC874\uC7AC\uC720\uBB34\uC5D0 \uB530\uB77C\uC11C \uC801\uC6A9\uC744 \uD560\uC9C0\uB9D0\uC9C0 \uACB0\uC815\uD574\uC57C\uB428\n const keepgoing = ObjectUtils.Script.evaluate(`\n ${this.render.bindScript}\n ${this.elementSource.attrs.drBeforeOption ?? ''}\n if ($rawSet.data === (${ObjectUtils.Path.toOptionalChainPath(attr)})) {\n return false;\n }\n $rawSet.data = ${ObjectUtils.Path.toOptionalChainPath(attr)};\n if($rawSet.data) {\n const n = $element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n var destIt = ${this.elementSource.attrs.drItOption};\n if (destIt !== undefined) {\n // \uC5EC\uAE30\uAC00 ..\uC544\uC8FC \uD5DB\uAC08\uB9AC\uB294\uB370...\n Array.from(n.getAttributeNames()).forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\\\#DrIFIt\\\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\\\#DrIFIt\\\\#/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 ${this.elementSource.attrs.drAfterOption ?? ''};\n return true;\n `, Object.assign(this.source.obj,\n {\n __render: Object.freeze({\n fag: newTemp,\n drAttr: this.elementSource.attrs,\n drAttrsOriginName: RawSet.drAttrsOriginName,\n drStripOption: this.elementSource.attrs.drStripOption,\n ...this.render\n } as Render)\n }\n ));\n // TODO: \uBB50\uC9C0?? \uC9C0\uC6CC\uC57C\uB418\uB294\uAC70 \uC544\uB2CC\uAC00?\n if (keepgoing === false) {\n return ExecuteState.STOP;\n }\n RawSet.drVarDecoding(newTemp, vars);\n RawSet.drItOtherDecoding(newTemp, itRandom);\n // const bypass = (newTemp.innerHTML ?? '').trim().length <= 0;\n const tempalte = this.source.config.window.document.createElement('template');\n tempalte.innerHTML = newTemp.innerHTML;\n this.returnContainer.fag.append(tempalte.content);\n const rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);\n this.elementSource.element.parentNode?.replaceChild(this.returnContainer.fag, this.elementSource.element);\n this.returnContainer.raws.push(...rr);\n return ExecuteState.EXECUTE;\n }\n}\n"],
5
+ "mappings": "AAAA,SAAS,mCAAmC;AAE5C,SAAS,cAAc;AAEvB,SAAuC,oBAA6C;AACpF,SAAS,mBAAmB;AAErB,MAAM,aAAa,4BAAoC;AAAA,EAC5D,YAAY,QAAgB,QAAgB,iBAAkC,eAA8B,QAAgB,eAA8B;AACxJ,WAAO,iBAAiB;AACxB,UAAM,QAAQ,QAAQ,iBAAiB,eAAe,QAAQ,eAAe,KAAK;AAAA,EACpF;AAAA,EAEA,MAAM,mBAAmB,MAAqC;AAC5D,UAAM,WAAW,OAAO,kBAAkB,KAAK,cAAc,SAAS,MAAM;AAC5E,UAAM,OAAO,OAAO,cAAc,KAAK,cAAc,SAAS,KAAK,cAAc,MAAM,eAAe,EAAE;AACxG,UAAM,UAAU,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,MAAM;AAEvE,UAAM,YAAY,YAAY,OAAO,SAAS;AAAA,kBAChC,KAAK,OAAO,UAAU;AAAA,kBACtB,KAAK,cAAc,MAAM,kBAAkB,EAAE;AAAA,wCACvB,YAAY,KAAK,oBAAoB,IAAI,CAAC;AAAA;AAAA;AAAA,iCAGjD,YAAY,KAAK,oBAAoB,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,mCAIxC,KAAK,cAAc,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAYpD,KAAK,cAAc,MAAM,iBAAiB,EAAE;AAAA;AAAA,mBAE3C,OAAO;AAAA,MAAO,KAAK,OAAO;AAAA,MACvC;AAAA,QACE,UAAU,OAAO,OAAO;AAAA,UACtB,KAAK;AAAA,UACL,QAAQ,KAAK,cAAc;AAAA,UAC3B,mBAAmB,OAAO;AAAA,UAC1B,eAAe,KAAK,cAAc,MAAM;AAAA,UACxC,GAAG,KAAK;AAAA,QACV,CAAW;AAAA,MACb;AAAA,IACF,CAAC;AAED,QAAI,cAAc,OAAO;AACvB,aAAO,aAAa;AAAA,IACtB;AACA,WAAO,cAAc,SAAS,IAAI;AAClC,WAAO,kBAAkB,SAAS,QAAQ;AAE1C,UAAM,WAAW,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,UAAU;AAC5E,aAAS,YAAY,QAAQ;AAC7B,SAAK,gBAAgB,IAAI,OAAO,SAAS,OAAO;AAChD,UAAM,KAAK,OAAO,kBAAkB,KAAK,gBAAgB,KAAK,KAAK,OAAO,KAAK,KAAK,OAAO,MAAM;AACjG,SAAK,cAAc,QAAQ,YAAY,aAAa,KAAK,gBAAgB,KAAK,KAAK,cAAc,OAAO;AACxG,SAAK,gBAAgB,KAAK,KAAK,GAAG,EAAE;AACpC,WAAO,aAAa;AAAA,EACtB;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,14 +1,14 @@
1
1
  import { OperatorExecuterAttrRequire } from "./OperatorExecuterAttrRequire.js";
2
- import { ScriptUtils } from "@dooboostore/core-web/script/ScriptUtils";
3
2
  import { RawSet } from "../rawsets/RawSet.js";
4
3
  import { ExecuteState } from "./OperatorExecuter.js";
4
+ import { ObjectUtils } from "@dooboostore/core/object/ObjectUtils";
5
5
  class DrInnerText extends OperatorExecuterAttrRequire {
6
6
  constructor(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
7
7
  super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);
8
8
  }
9
9
  async executeAttrRequire(attr) {
10
10
  const newTemp = this.source.config.window.document.createElement("temp");
11
- ScriptUtils.evaluate(`
11
+ ObjectUtils.Script.evaluate(`
12
12
  ${this.render.bindScript}
13
13
  const n = $element.cloneNode(true);
14
14
  ${this.elementSource.attrs.drBeforeOption ?? ""}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/operators/DrInnerText.ts"],
4
- "sourcesContent": ["import {OperatorExecuterAttrRequire} from './OperatorExecuterAttrRequire';\nimport {ScriptUtils} from '@dooboostore/core-web/script/ScriptUtils';\nimport {RawSet} from '../rawsets/RawSet';\nimport {Render} from '../rawsets/Render';\nimport {AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source} from './OperatorExecuter';\n\nexport class DrInnerText extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n const newTemp = this.source.config.window.document.createElement('temp');\n ScriptUtils.evaluate(` \n ${this.render.bindScript}\n const n = $element.cloneNode(true); \n ${this.elementSource.attrs.drBeforeOption ?? ''}\n n.innerText = ${attr};\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n ${this.elementSource.attrs.drAfterOption ?? ''}\n `, Object.assign(this.source.obj, {\n __render: Object.freeze({\n drStripOption: this.elementSource.attrs.drStripOption,\n fag: newTemp,\n ...this.render\n } as Render)\n }));\n const tempalte = this.source.config.window.document.createElement('template');\n tempalte.innerHTML = newTemp.innerHTML;\n this.returnContainer.fag.append(tempalte.content);\n const rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);\n this.elementSource.element.parentNode?.replaceChild(this.returnContainer.fag, this.elementSource.element);\n this.returnContainer.raws.push(...rr);\n return ExecuteState.EXECUTE;\n }\n}\n"],
5
- "mappings": "AAAA,SAAQ,mCAAkC;AAC1C,SAAQ,mBAAkB;AAC1B,SAAQ,cAAa;AAErB,SAAsC,oBAA4C;AAE3E,MAAM,oBAAoB,4BAAoC;AAAA,EACjE,YAAY,QAAgB,QAAgB,iBAAkC,eAA8B,QAAgB,eAA8B;AACtJ,UAAM,QAAQ,QAAQ,iBAAiB,eAAe,QAAQ,eAAe,KAAK;AAAA,EACtF;AAAA,EAEA,MAAM,mBAAmB,MAAqC;AAC1D,UAAM,UAAU,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,MAAM;AACvE,gBAAY,SAAS;AAAA,0BACH,KAAK,OAAO,UAAU;AAAA;AAAA,0BAEtB,KAAK,cAAc,MAAM,kBAAkB,EAAE;AAAA,wCAC/B,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAMlB,KAAK,cAAc,MAAM,iBAAiB,EAAE;AAAA,uBAC/C,OAAO,OAAO,KAAK,OAAO,KAAK;AAAA,MAC1C,UAAU,OAAO,OAAO;AAAA,QACpB,eAAe,KAAK,cAAc,MAAM;AAAA,QACxC,KAAK;AAAA,QACL,GAAG,KAAK;AAAA,MACZ,CAAW;AAAA,IACf,CAAC,CAAC;AACF,UAAM,WAAW,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,UAAU;AAC5E,aAAS,YAAY,QAAQ;AAC7B,SAAK,gBAAgB,IAAI,OAAO,SAAS,OAAO;AAChD,UAAM,KAAK,OAAO,kBAAkB,KAAK,gBAAgB,KAAK,KAAK,OAAO,KAAK,KAAK,OAAO,MAAM;AACjG,SAAK,cAAc,QAAQ,YAAY,aAAa,KAAK,gBAAgB,KAAK,KAAK,cAAc,OAAO;AACxG,SAAK,gBAAgB,KAAK,KAAK,GAAG,EAAE;AACpC,WAAO,aAAa;AAAA,EACxB;AACJ;",
4
+ "sourcesContent": ["import {OperatorExecuterAttrRequire} from './OperatorExecuterAttrRequire';\nimport {ScriptUtils} from '@dooboostore/core-web/script/ScriptUtils';\nimport {RawSet} from '../rawsets/RawSet';\nimport {Render} from '../rawsets/Render';\nimport {AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source} from './OperatorExecuter';\nimport {ObjectUtils} from '@dooboostore/core/object/ObjectUtils';\n\nexport class DrInnerText extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n const newTemp = this.source.config.window.document.createElement('temp');\n ObjectUtils.Script.evaluate(` \n ${this.render.bindScript}\n const n = $element.cloneNode(true); \n ${this.elementSource.attrs.drBeforeOption ?? ''}\n n.innerText = ${attr};\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n ${this.elementSource.attrs.drAfterOption ?? ''}\n `, Object.assign(this.source.obj, {\n __render: Object.freeze({\n drStripOption: this.elementSource.attrs.drStripOption,\n fag: newTemp,\n ...this.render\n } as Render)\n }));\n const tempalte = this.source.config.window.document.createElement('template');\n tempalte.innerHTML = newTemp.innerHTML;\n this.returnContainer.fag.append(tempalte.content);\n const rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);\n this.elementSource.element.parentNode?.replaceChild(this.returnContainer.fag, this.elementSource.element);\n this.returnContainer.raws.push(...rr);\n return ExecuteState.EXECUTE;\n }\n}\n"],
5
+ "mappings": "AAAA,SAAQ,mCAAkC;AAE1C,SAAQ,cAAa;AAErB,SAAsC,oBAA4C;AAClF,SAAQ,mBAAkB;AAEnB,MAAM,oBAAoB,4BAAoC;AAAA,EACjE,YAAY,QAAgB,QAAgB,iBAAkC,eAA8B,QAAgB,eAA8B;AACtJ,UAAM,QAAQ,QAAQ,iBAAiB,eAAe,QAAQ,eAAe,KAAK;AAAA,EACtF;AAAA,EAEA,MAAM,mBAAmB,MAAqC;AAC1D,UAAM,UAAU,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,MAAM;AACvE,gBAAY,OAAO,SAAS;AAAA,0BACV,KAAK,OAAO,UAAU;AAAA;AAAA,0BAEtB,KAAK,cAAc,MAAM,kBAAkB,EAAE;AAAA,wCAC/B,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAMlB,KAAK,cAAc,MAAM,iBAAiB,EAAE;AAAA,uBAC/C,OAAO,OAAO,KAAK,OAAO,KAAK;AAAA,MAC1C,UAAU,OAAO,OAAO;AAAA,QACpB,eAAe,KAAK,cAAc,MAAM;AAAA,QACxC,KAAK;AAAA,QACL,GAAG,KAAK;AAAA,MACZ,CAAW;AAAA,IACf,CAAC,CAAC;AACF,UAAM,WAAW,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,UAAU;AAC5E,aAAS,YAAY,QAAQ;AAC7B,SAAK,gBAAgB,IAAI,OAAO,SAAS,OAAO;AAChD,UAAM,KAAK,OAAO,kBAAkB,KAAK,gBAAgB,KAAK,KAAK,OAAO,KAAK,KAAK,OAAO,MAAM;AACjG,SAAK,cAAc,QAAQ,YAAY,aAAa,KAAK,gBAAgB,KAAK,KAAK,cAAc,OAAO;AACxG,SAAK,gBAAgB,KAAK,KAAK,GAAG,EAAE;AACpC,WAAO,aAAa;AAAA,EACxB;AACJ;",
6
6
  "names": []
7
7
  }
@@ -32,6 +32,7 @@ import { isOnDestroyRender } from "../lifecycle/OnDestroyRender.js";
32
32
  import { DrTargetElementIsElement } from "../operators/DrTargetElementIsElement.js";
33
33
  import { ObjectUtils } from "@dooboostore/core/object/ObjectUtils";
34
34
  import { NodeUtils } from "@dooboostore/core-web/node/NodeUtils";
35
+ import { ConvertUtils } from "@dooboostore/core/convert/ConvertUtils";
35
36
  const _RawSet = class _RawSet {
36
37
  constructor(uuid, type, point, dataSet, detect) {
37
38
  this.uuid = uuid;
@@ -102,7 +103,8 @@ const _RawSet = class _RawSet {
102
103
  const targetAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);
103
104
  if (targetAttrMap) {
104
105
  new Map(JSON.parse(targetAttrMap)).forEach((v, k) => {
105
- targetScripts.push(`(${v})`);
106
+ const variablePaths = v.variablePaths;
107
+ variablePaths.forEach((it) => targetScripts.push(`(${it.inner})`));
106
108
  });
107
109
  }
108
110
  script = targetScripts.join(";");
@@ -163,12 +165,18 @@ const _RawSet = class _RawSet {
163
165
  const runText = _RawSet.expressionGroups(textContent)[0][1];
164
166
  let newNode;
165
167
  if (textContent?.startsWith("#")) {
166
- const r = ObjectUtils.Script.evaluate(`${__render.bindScript} return ${runText}`, Object.assign(obj, { __render }));
168
+ const r = ObjectUtils.Script.evaluate(
169
+ `${__render.bindScript} return ${runText}`,
170
+ Object.assign(obj, { __render })
171
+ );
167
172
  const template = config.window.document.createElement("template");
168
173
  template.innerHTML = r;
169
174
  newNode = template.content;
170
175
  } else {
171
- const r = ObjectUtils.Script.evaluate(`${__render.bindScript} return ${runText}`, Object.assign(obj, { __render }));
176
+ const r = ObjectUtils.Script.evaluate(
177
+ `${__render.bindScript} return ${runText}`,
178
+ Object.assign(obj, { __render })
179
+ );
172
180
  newNode = config.window.document.createTextNode(r);
173
181
  }
174
182
  cNode.parentNode?.replaceChild(newNode, cNode);
@@ -207,23 +215,140 @@ const _RawSet = class _RawSet {
207
215
  };
208
216
  drAttrs.push(drAttr);
209
217
  const operators = [
210
- new 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 }),
211
- new Dr(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.dr }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
218
+ new DrPre(
219
+ this,
220
+ __render,
221
+ { raws, fag },
222
+ { element, attrName: _RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr },
223
+ { config, obj, operatorAround: config.operatorAround?.drPre },
224
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
225
+ ),
226
+ new Dr(
227
+ this,
228
+ __render,
229
+ { raws, fag },
230
+ { element, attrName: _RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr },
231
+ { config, obj, operatorAround: config.operatorAround?.dr },
232
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
233
+ ),
212
234
  // new Dr(this, __render, {raws, fag}, {element, attrName: EventManager.onRenderedInitAttrName, attr: drAttr.dr, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.dr}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),
213
- new 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 }),
214
- new 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 }),
215
- new 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 }),
216
- new 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 }),
217
- new 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 }),
218
- new 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 }),
219
- new 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 }),
220
- new 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 }),
221
- new 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 }),
222
- new 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 }),
223
- new 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 }),
224
- new DrTargetElementIsElement(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME, attr: drAttr.drReplaceTargetElementIs, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
225
- new DrTargetElement(this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
226
- new DrTargetAttr(this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks })
235
+ new DrIf(
236
+ this,
237
+ __render,
238
+ { raws, fag },
239
+ { element, attrName: _RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr },
240
+ { config, obj, operatorAround: config.operatorAround?.drIf },
241
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
242
+ ),
243
+ new DrStripElement(
244
+ this,
245
+ __render,
246
+ { raws, fag },
247
+ { element, attrName: _RawSet.DR_STRIP_NAME, attr: drAttr.drStripElement, attrs: drAttr },
248
+ { config, obj, operatorAround: config.operatorAround?.drThis },
249
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
250
+ ),
251
+ new DrThis(
252
+ this,
253
+ __render,
254
+ { raws, fag },
255
+ { element, attrName: _RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr },
256
+ { config, obj, operatorAround: config.operatorAround?.drThis },
257
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
258
+ ),
259
+ new DrForm(
260
+ this,
261
+ __render,
262
+ { raws, fag },
263
+ { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr },
264
+ { config, obj, operatorAround: config.operatorAround?.drForm },
265
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
266
+ ),
267
+ new DrInnerText(
268
+ this,
269
+ __render,
270
+ { raws, fag },
271
+ { element, attrName: _RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr },
272
+ { config, obj, operatorAround: config.operatorAround?.drInnerText },
273
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
274
+ ),
275
+ new DrInnerHTML(
276
+ this,
277
+ __render,
278
+ { raws, fag },
279
+ { element, attrName: _RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr },
280
+ { config, obj, operatorAround: config.operatorAround?.drInnerHTML },
281
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
282
+ ),
283
+ new DrFor(
284
+ this,
285
+ __render,
286
+ { raws, fag },
287
+ { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr },
288
+ { config, obj, operatorAround: config.operatorAround?.drFor },
289
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
290
+ ),
291
+ new DrForOf(
292
+ this,
293
+ __render,
294
+ { raws, fag },
295
+ { element, attrName: _RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr },
296
+ { config, obj, operatorAround: config.operatorAround?.drForOf },
297
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
298
+ ),
299
+ new DrThisProperty(
300
+ this,
301
+ __render,
302
+ { raws, fag },
303
+ { element, attrName: _RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr },
304
+ { config, obj, operatorAround: config.operatorAround?.drThisProperty },
305
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
306
+ ),
307
+ new DrAppender(
308
+ this,
309
+ __render,
310
+ { raws, fag },
311
+ { element, attrName: _RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr },
312
+ { config, obj, operatorAround: config.operatorAround?.drAppender },
313
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
314
+ ),
315
+ new DrRepeat(
316
+ this,
317
+ __render,
318
+ { raws, fag },
319
+ { element, attrName: _RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr },
320
+ { config, obj, operatorAround: config.operatorAround?.drRepeat },
321
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
322
+ ),
323
+ new DrTargetElementIsElement(
324
+ this,
325
+ __render,
326
+ { raws, fag },
327
+ {
328
+ element,
329
+ attrName: _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME,
330
+ attr: drAttr.drReplaceTargetElementIs,
331
+ attrs: drAttr
332
+ },
333
+ { config, obj },
334
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
335
+ ),
336
+ new DrTargetElement(
337
+ this,
338
+ __render,
339
+ { raws, fag },
340
+ { element, attrs: drAttr },
341
+ { config, obj },
342
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
343
+ ),
344
+ new DrTargetAttr(
345
+ this,
346
+ __render,
347
+ { raws, fag },
348
+ { element, attrs: drAttr },
349
+ { config, obj },
350
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
351
+ )
227
352
  ];
228
353
  for (const operator of operators) {
229
354
  const state = await operator.start();
@@ -263,12 +388,12 @@ const _RawSet = class _RawSet {
263
388
  });
264
389
  for (const it of onThisComponentSetCallBacks) {
265
390
  if (isOnInitRender(it.obj)) {
266
- it.obj?.onInitRender?.({}, this);
391
+ await it.obj?.onInitRender?.({}, this);
267
392
  }
268
393
  }
269
394
  for (const it of onElementInitCallBacks) {
270
395
  if (isOnInitRender(this.dataSet.render?.currentThis)) {
271
- this.dataSet.render.currentThis.onInitRender({}, this);
396
+ await this.dataSet.render.currentThis.onInitRender({}, this);
272
397
  }
273
398
  config?.onElementInit?.(it.name, obj, this, it.targetElement);
274
399
  }
@@ -370,7 +495,10 @@ const _RawSet = class _RawSet {
370
495
  getDrAppendAttributeAndDelete(element, obj) {
371
496
  let data = element.getAttribute(_RawSet.DR_APPENDER_NAME);
372
497
  if (data && !/\[.+\]/g.test(data)) {
373
- const currentIndex = ObjectUtils.Script.evaluateReturn(`${ObjectUtils.Path.toOptionalChainPath(data)}?.length -1`, obj);
498
+ const currentIndex = ObjectUtils.Script.evaluateReturn(
499
+ `${ObjectUtils.Path.toOptionalChainPath(data)}?.length -1`,
500
+ obj
501
+ );
374
502
  data = `${data}[${currentIndex}]`;
375
503
  element.setAttribute(_RawSet.DR_APPENDER_NAME, data);
376
504
  }
@@ -416,22 +544,28 @@ const _RawSet = class _RawSet {
416
544
  const normalAttrs = /* @__PURE__ */ new Map();
417
545
  const linkVariables = /* @__PURE__ */ new Map();
418
546
  const linkNames = EventManager.linkAttrs.map((it) => it.name);
419
- const isAttr = element2.getAttributeNames().filter((it) => {
547
+ const isAttr = element2.getAttributeNames().filter((it) => !EventManager.noDetectAttr.includes(it)).filter((it) => {
420
548
  const value = element2.getAttribute(it);
421
549
  if (value && linkNames.includes(it)) {
422
550
  linkVariables.set(it, value);
423
551
  } else if (value && _RawSet.isExpression(value)) {
424
- let variablePath = _RawSet.expressionGroups(value)[0][1];
425
- const originVariable = variablePath;
426
- variablePath = variablePath.replace(/#[^#]*#/g, "({})");
427
- const optionalChainPath = ObjectUtils.Path.toOptionalChainPath(variablePath);
428
- const cval = ObjectUtils.Script.evaluateReturn(optionalChainPath, Object.assign(obj));
552
+ const variablePaths = _RawSet.expressionGroups(value).map((it2) => ({
553
+ origin: it2[0],
554
+ inner: it2[1]
555
+ }));
556
+ let targetScript = value;
557
+ variablePaths.forEach((it2) => {
558
+ let r3 = it2.inner.replace(/#[^#]*#/g, "({})");
559
+ r3 = ObjectUtils.Path.toOptionalChainPath(r3);
560
+ targetScript = targetScript.replaceAll(it2.origin, `\${${r3}}`);
561
+ });
562
+ const cval = ObjectUtils.Script.evaluateReturn("`" + targetScript + "`", Object.assign(obj));
429
563
  if (cval === null) {
430
564
  element2.removeAttribute(it);
431
565
  } else {
432
566
  element2.setAttribute(it, cval);
433
567
  }
434
- normalAttrs.set(it, originVariable);
568
+ normalAttrs.set(it, { originalAttrValue: value, variablePaths });
435
569
  }
436
570
  const isTargetAttr = targetAttrNames.includes(it.toLowerCase());
437
571
  return isTargetAttr;
@@ -845,11 +979,33 @@ const _RawSet = class _RawSet {
845
979
  targetElement.querySelectorAll(EventManager.attrNames.map((it) => `[${it}]`).join(",")).forEach((it) => {
846
980
  it.setAttribute(EventManager.ownerVariablePathAttrName, "this");
847
981
  });
848
- const componentNameReplaceKey = RandomUtils.uuid();
849
982
  rawSet.point.innerHTML = element.innerHTML;
850
- const innerHTMLName = targetElement.getAttribute(_RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? "innerHTML";
983
+ const innerText = element.textContent?.trim() ?? "";
984
+ const escapedInnerHTML = ConvertUtils.escapeHTML(element.innerHTML);
985
+ const innerHTMLName = targetElement.getAttribute(_RawSet.DR_INNER_HTML_NAME_OPTIONNAME) ?? "innerHTML";
986
+ const innerTEXTName = targetElement.getAttribute(_RawSet.DR_INNER_TEXT_NAME_OPTIONNAME) ?? "innerTEXT";
987
+ const innerHTMLEscapedName = targetElement.getAttribute(_RawSet.DR_INNER_HTML_ESCAPED_NAME_OPTIONNAME) ?? "innerHTMLEscaped";
988
+ const templateReplacements = [];
851
989
  if (innerHTMLName) {
852
- _RawSet.replaceInnerHTML(targetElement, { asIs: `#${innerHTMLName}#`, toBe: element.innerHTML });
990
+ templateReplacements.push({
991
+ regex: new RegExp(`#${innerHTMLName}#`, "g"),
992
+ callback: () => element.innerHTML
993
+ });
994
+ }
995
+ if (innerTEXTName) {
996
+ templateReplacements.push({
997
+ regex: new RegExp(`#${innerTEXTName}#`, "g"),
998
+ callback: () => innerText
999
+ });
1000
+ }
1001
+ if (innerHTMLEscapedName) {
1002
+ templateReplacements.push({
1003
+ regex: new RegExp(`#${innerHTMLEscapedName}#`, "g"),
1004
+ callback: () => escapedInnerHTML
1005
+ });
1006
+ }
1007
+ if (templateReplacements.length > 0) {
1008
+ targetElement.innerHTML = StringUtils.replaceSequentially(targetElement.innerHTML, templateReplacements);
853
1009
  }
854
1010
  const optionThisName = targetElement.getAttribute(_RawSet.DR_THIS_NAME_OPTIONNAME);
855
1011
  targetElement.getAttributeNames().forEach((it) => targetElement.setAttribute(it, targetElement.getAttribute(it).replace(/#this#/g, drThis)));
@@ -926,7 +1082,6 @@ const _RawSet = class _RawSet {
926
1082
  obj.__domrender_components ?? (obj.__domrender_components = {});
927
1083
  const domrenderComponents = obj.__domrender_components;
928
1084
  const renderScript = ` /*createComponentTargetElement*/
929
- // console.log('-------------------',this.__render);
930
1085
  var ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;
931
1086
  var ${EventManager.COMPONENT_VARNAME} = this.__render.component;
932
1087
  var ${EventManager.ELEMENT_VARNAME} = this.__render.element;
@@ -981,15 +1136,40 @@ const _RawSet = class _RawSet {
981
1136
  rawSet.dataSet.render = render;
982
1137
  instance.__rawSet = rawSet;
983
1138
  let applayTemplate = element.innerHTML;
1139
+ let applayTemplateText = element.textContent?.trim() ?? "";
1140
+ let applayTemplateEscape = ConvertUtils.escapeHTML(element.innerHTML);
984
1141
  let innerHTMLThisRandom;
985
- const componentName = element.getAttribute(_RawSet.DR_COMPONENT_NAME_OPTIONNAME) ?? "component";
986
- const innerHTMLName = element.getAttribute(_RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? "innerHTML";
1142
+ const componentName = element.getAttribute(_RawSet.DR_VARIABLE_NAME_OPTIONNAME) ?? "component";
1143
+ const innerHTMLName = element.getAttribute(_RawSet.DR_INNER_HTML_NAME_OPTIONNAME) ?? "innerHTML";
1144
+ const innerTEXTName = element.getAttribute(_RawSet.DR_INNER_TEXT_NAME_OPTIONNAME) ?? "innerTEXT";
1145
+ const innerHTMLEscapedName = element.getAttribute(_RawSet.DR_INNER_HTML_ESCAPED_NAME_OPTIONNAME) ?? "innerHTMLEscaped";
987
1146
  if (applayTemplate) {
988
1147
  innerHTMLThisRandom = RandomUtils.uuid();
989
- applayTemplate = applayTemplate.replace(/this\./g, innerHTMLThisRandom);
990
- applayTemplate = applayTemplate.replace(RegExp(`#${componentName}#`, "g"), "this");
1148
+ applayTemplate = StringUtils.replaceSequentially(applayTemplate, [
1149
+ {
1150
+ regex: /this\./g,
1151
+ callback: () => innerHTMLThisRandom
1152
+ },
1153
+ {
1154
+ regex: new RegExp(`#${componentName}#`, "g"),
1155
+ callback: () => nearThisPath
1156
+ }
1157
+ ]);
991
1158
  }
992
- applayTemplate = (this.template ?? "").replace(RegExp(`#${innerHTMLName}#`, "g"), applayTemplate);
1159
+ applayTemplate = StringUtils.replaceSequentially(this.template ?? "", [
1160
+ {
1161
+ regex: new RegExp(`#${innerHTMLName}#`, "g"),
1162
+ callback: () => applayTemplate
1163
+ },
1164
+ {
1165
+ regex: new RegExp(`#${innerTEXTName}#`, "g"),
1166
+ callback: () => applayTemplateText
1167
+ },
1168
+ {
1169
+ regex: new RegExp(`#${innerHTMLEscapedName}#`, "g"),
1170
+ callback: () => applayTemplateEscape
1171
+ }
1172
+ ]);
993
1173
  const style = _RawSet.generateStyleTransform(this.styles, rawSet.uuid, true);
994
1174
  element.innerHTML = style + (applayTemplate ?? "");
995
1175
  let data = await _RawSet.drThisCreate(
@@ -1003,8 +1183,8 @@ const _RawSet = class _RawSet {
1003
1183
  );
1004
1184
  if (data && innerHTMLThisRandom) {
1005
1185
  const template2 = config.window.document.createElement("template");
1006
- template2.content.append(data);
1007
- template2.innerHTML = template2.innerHTML.replace(RegExp(innerHTMLThisRandom, "g"), "this.");
1186
+ template2.innerHTML = ElementUtils.toInnerHTML(data, { document: config.window.document }).replace(RegExp(innerHTMLThisRandom, "g"), "this.");
1187
+ ;
1008
1188
  data = template2.content;
1009
1189
  }
1010
1190
  return data;
@@ -1041,8 +1221,24 @@ const _RawSet = class _RawSet {
1041
1221
  const normalAttribute = attribute[EventManager.normalAttrMapAttrName];
1042
1222
  if (normalAttribute) {
1043
1223
  new Map(JSON.parse(normalAttribute)).forEach((v, k) => {
1224
+ const variablePaths = v.variablePaths;
1225
+ let targetScript = v.originalAttrValue.trim();
1226
+ let checktargetScript = v.originalAttrValue.trim();
1227
+ variablePaths.forEach((it) => {
1228
+ checktargetScript = targetScript.replaceAll(it.origin, "");
1229
+ });
1230
+ let isScriptValue = checktargetScript.length === 0 && variablePaths.length === 1;
1231
+ if (isScriptValue) {
1232
+ let r = ObjectUtils.Path.toOptionalChainPath(variablePaths[0].inner);
1233
+ targetScript = targetScript.replaceAll(variablePaths[0].origin, r);
1234
+ } else {
1235
+ variablePaths.forEach((it) => {
1236
+ let r = ObjectUtils.Path.toOptionalChainPath(it.inner);
1237
+ targetScript = targetScript.replaceAll(it.origin, `\${${r}}`);
1238
+ });
1239
+ }
1044
1240
  const cval = ObjectUtils.Script.evaluateReturn(
1045
- { bodyScript: config.script, returnScript: v },
1241
+ { bodyScript: config.script, returnScript: isScriptValue ? targetScript : "`" + targetScript + "`" },
1046
1242
  Object.assign(config.obj, config.renderData ? { __render: config.renderData } : void 0)
1047
1243
  );
1048
1244
  attribute[k] = cval;
@@ -1085,11 +1281,12 @@ _RawSet.DR_COMPLETE_OPTIONNAME = "dr-option-complete";
1085
1281
  _RawSet.DR_STRIP_OPTIONNAME = "dr-option-strip";
1086
1282
  _RawSet.DR_DESTROY_OPTIONNAME = "dr-option-destroy";
1087
1283
  _RawSet.DR_THIS_NAME_OPTIONNAME = "dr-option-this-name";
1088
- /**
1089
- * @deprecated
1090
- */
1091
- _RawSet.DR_COMPONENT_NAME_OPTIONNAME = "dr-option-component-name";
1092
- _RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = "dr-option-component-inner-html-name";
1284
+ _RawSet.DR_VARIABLE_NAME_OPTIONNAME = "dr-option-variable-name";
1285
+ _RawSet.DR_ITEM_VARIABLE_NAME_OPTIONNAME = "dr-option-item-variable-name";
1286
+ _RawSet.DR_ITEM_INDEX_VARIABLE_NAME_OPTIONNAME = "dr-option-item-index-variable-name";
1287
+ _RawSet.DR_INNER_HTML_NAME_OPTIONNAME = "dr-option-inner-html-name";
1288
+ _RawSet.DR_INNER_TEXT_NAME_OPTIONNAME = "dr-option-inner-text-name";
1289
+ _RawSet.DR_INNER_HTML_ESCAPED_NAME_OPTIONNAME = "dr-option-inner-html-escaped-name";
1093
1290
  _RawSet.DR_KEY_OPTIONNAME = "dr-option-key";
1094
1291
  _RawSet.DR_HAS_KEYS_OPTIONNAME = "dr-option-has-keys";
1095
1292
  _RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME = "dr-on-create:arguments";