@dooboostore/dom-render 1.0.112 → 1.0.113

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 (519) hide show
  1. package/README.MD +449 -15
  2. package/dist/cjs/DomRender.js +6 -6
  3. package/dist/cjs/DomRender.js.map +3 -3
  4. package/dist/cjs/DomRenderProxy.js +124 -101
  5. package/dist/cjs/DomRenderProxy.js.map +3 -3
  6. package/dist/cjs/bundle-entry.js +1 -3
  7. package/dist/cjs/bundle-entry.js.map +2 -2
  8. package/dist/cjs/components/ComponentBase.js +46 -34
  9. package/dist/cjs/components/ComponentBase.js.map +3 -3
  10. package/dist/cjs/components/ComponentSet.js.map +2 -2
  11. package/dist/cjs/components/details/Details.js +6 -6
  12. package/dist/cjs/components/details/Details.js.map +3 -3
  13. package/dist/cjs/components/input/Input.js +12 -14
  14. package/dist/cjs/components/input/Input.js.map +3 -3
  15. package/dist/cjs/components/promise/PromiseSwitch.js +4 -4
  16. package/dist/cjs/components/promise/PromiseSwitch.js.map +3 -3
  17. package/dist/cjs/components/router/Route.js.map +1 -1
  18. package/dist/cjs/components/router/RouterOutlet.js +3 -0
  19. package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
  20. package/dist/cjs/components/select/Select.js +6 -6
  21. package/dist/cjs/components/select/Select.js.map +3 -3
  22. package/dist/cjs/components/this/This.js +3 -0
  23. package/dist/cjs/components/this/This.js.map +2 -2
  24. package/dist/cjs/configs/DomRenderConfig.js.map +1 -1
  25. package/dist/cjs/configs/TargetElement.js.map +1 -1
  26. package/dist/cjs/decorators/DomRenderNoProxy.js +5 -5
  27. package/dist/cjs/decorators/DomRenderNoProxy.js.map +3 -3
  28. package/dist/cjs/events/EventManager.js +153 -124
  29. package/dist/cjs/events/EventManager.js.map +3 -3
  30. package/dist/cjs/index.js +31 -1
  31. package/dist/cjs/index.js.map +2 -2
  32. package/dist/cjs/messenger/Messenger.js.map +1 -1
  33. package/dist/cjs/operators/Dr.js +2 -2
  34. package/dist/cjs/operators/Dr.js.map +2 -2
  35. package/dist/cjs/operators/DrAppender.js +98 -35
  36. package/dist/cjs/operators/DrAppender.js.map +2 -2
  37. package/dist/cjs/operators/DrFor.js +2 -2
  38. package/dist/cjs/operators/DrFor.js.map +2 -2
  39. package/dist/cjs/operators/DrForOf.js +98 -119
  40. package/dist/cjs/operators/DrForOf.js.map +2 -2
  41. package/dist/cjs/operators/DrForm.js +11 -11
  42. package/dist/cjs/operators/DrForm.js.map +3 -3
  43. package/dist/cjs/operators/DrIf.js +4 -4
  44. package/dist/cjs/operators/DrIf.js.map +2 -2
  45. package/dist/cjs/operators/DrInnerHTML.js +2 -2
  46. package/dist/cjs/operators/DrInnerHTML.js.map +2 -2
  47. package/dist/cjs/operators/DrInnerText.js +2 -2
  48. package/dist/cjs/operators/DrInnerText.js.map +2 -2
  49. package/dist/cjs/operators/DrRepeat.js +2 -2
  50. package/dist/cjs/operators/DrRepeat.js.map +2 -2
  51. package/dist/cjs/operators/DrStripElement.js +2 -2
  52. package/dist/cjs/operators/DrStripElement.js.map +2 -2
  53. package/dist/cjs/operators/DrTargetElement.js +5 -4
  54. package/dist/cjs/operators/DrTargetElement.js.map +2 -2
  55. package/dist/cjs/operators/DrTargetElementIsElement.js +5 -4
  56. package/dist/cjs/operators/DrTargetElementIsElement.js.map +2 -2
  57. package/dist/cjs/operators/DrThis.js +2 -2
  58. package/dist/cjs/operators/DrThis.js.map +2 -2
  59. package/dist/cjs/operators/DrThisProperty.js +4 -4
  60. package/dist/cjs/operators/DrThisProperty.js.map +2 -2
  61. package/dist/cjs/operators/OperatorExecuter.js +3 -3
  62. package/dist/cjs/operators/OperatorExecuter.js.map +2 -2
  63. package/dist/cjs/rawsets/Attrs.js.map +1 -1
  64. package/dist/cjs/rawsets/CreatorMetaData.js.map +1 -1
  65. package/dist/cjs/rawsets/RawSet.js +237 -214
  66. package/dist/cjs/rawsets/RawSet.js.map +3 -3
  67. package/dist/cjs/rawsets/Render.js.map +1 -1
  68. package/dist/cjs/rawsets/index.js +30 -0
  69. package/dist/cjs/rawsets/index.js.map +3 -3
  70. package/dist/esm/DomRender.js +3 -3
  71. package/dist/esm/DomRender.js.map +1 -1
  72. package/dist/esm/DomRenderProxy.js +110 -87
  73. package/dist/esm/DomRenderProxy.js.map +3 -3
  74. package/dist/esm/bundle-entry.js +1 -3
  75. package/dist/esm/bundle-entry.js.map +2 -2
  76. package/dist/esm/components/ComponentBase.js +21 -9
  77. package/dist/esm/components/ComponentBase.js.map +2 -2
  78. package/dist/esm/components/ComponentSet.js.map +2 -2
  79. package/dist/esm/components/details/Details.js +2 -2
  80. package/dist/esm/components/details/Details.js.map +1 -1
  81. package/dist/esm/components/input/Input.js +6 -8
  82. package/dist/esm/components/input/Input.js.map +2 -2
  83. package/dist/esm/components/promise/PromiseSwitch.js +2 -2
  84. package/dist/esm/components/promise/PromiseSwitch.js.map +1 -1
  85. package/dist/esm/components/router/Route.js.map +1 -1
  86. package/dist/esm/components/router/RouterOutlet.js +3 -0
  87. package/dist/esm/components/router/RouterOutlet.js.map +2 -2
  88. package/dist/esm/components/select/Select.js +3 -3
  89. package/dist/esm/components/select/Select.js.map +1 -1
  90. package/dist/esm/components/this/This.js +3 -0
  91. package/dist/esm/components/this/This.js.map +2 -2
  92. package/dist/esm/decorators/DomRenderNoProxy.js +2 -2
  93. package/dist/esm/decorators/DomRenderNoProxy.js.map +1 -1
  94. package/dist/esm/events/EventManager.js +120 -91
  95. package/dist/esm/events/EventManager.js.map +2 -2
  96. package/dist/esm/index.js +49 -1
  97. package/dist/esm/index.js.map +2 -2
  98. package/dist/esm/messenger/Messenger.js.map +1 -1
  99. package/dist/esm/operators/Dr.js +1 -1
  100. package/dist/esm/operators/Dr.js.map +2 -2
  101. package/dist/esm/operators/DrAppender.js +98 -35
  102. package/dist/esm/operators/DrAppender.js.map +2 -2
  103. package/dist/esm/operators/DrFor.js +1 -1
  104. package/dist/esm/operators/DrFor.js.map +2 -2
  105. package/dist/esm/operators/DrForOf.js +98 -119
  106. package/dist/esm/operators/DrForOf.js.map +2 -2
  107. package/dist/esm/operators/DrForm.js +3 -3
  108. package/dist/esm/operators/DrForm.js.map +2 -2
  109. package/dist/esm/operators/DrIf.js +1 -1
  110. package/dist/esm/operators/DrIf.js.map +2 -2
  111. package/dist/esm/operators/DrInnerHTML.js +1 -1
  112. package/dist/esm/operators/DrInnerHTML.js.map +2 -2
  113. package/dist/esm/operators/DrInnerText.js +1 -1
  114. package/dist/esm/operators/DrInnerText.js.map +2 -2
  115. package/dist/esm/operators/DrRepeat.js +1 -1
  116. package/dist/esm/operators/DrRepeat.js.map +2 -2
  117. package/dist/esm/operators/DrStripElement.js +1 -1
  118. package/dist/esm/operators/DrStripElement.js.map +2 -2
  119. package/dist/esm/operators/DrTargetElement.js +4 -3
  120. package/dist/esm/operators/DrTargetElement.js.map +2 -2
  121. package/dist/esm/operators/DrTargetElementIsElement.js +4 -3
  122. package/dist/esm/operators/DrTargetElementIsElement.js.map +2 -2
  123. package/dist/esm/operators/DrThis.js +1 -1
  124. package/dist/esm/operators/DrThis.js.map +1 -1
  125. package/dist/esm/operators/DrThisProperty.js +2 -2
  126. package/dist/esm/operators/DrThisProperty.js.map +1 -1
  127. package/dist/esm/operators/OperatorExecuter.js +1 -1
  128. package/dist/esm/operators/OperatorExecuter.js.map +1 -1
  129. package/dist/esm/rawsets/RawSet.js +195 -172
  130. package/dist/esm/rawsets/RawSet.js.map +2 -2
  131. package/dist/esm/rawsets/index.js +26 -0
  132. package/dist/esm/rawsets/index.js.map +3 -3
  133. package/dist/esm-bundle/dooboostore-dom-render.esm.js +11429 -8895
  134. package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
  135. package/dist/types/DomRender.d.ts +3 -3
  136. package/dist/types/DomRender.d.ts.map +1 -1
  137. package/dist/types/DomRenderProxy.d.ts +4 -0
  138. package/dist/types/DomRenderProxy.d.ts.map +1 -1
  139. package/dist/types/bundle-entry.d.ts +1 -3
  140. package/dist/types/bundle-entry.d.ts.map +1 -1
  141. package/dist/types/components/ComponentBase.d.ts +1 -1
  142. package/dist/types/components/ComponentBase.d.ts.map +1 -1
  143. package/dist/types/components/ComponentSet.d.ts +4 -4
  144. package/dist/types/components/ComponentSet.d.ts.map +1 -1
  145. package/dist/types/components/a/A.d.ts +1 -1
  146. package/dist/types/components/appender/Appender.d.ts +1 -1
  147. package/dist/types/components/checkbox/CheckBox.d.ts +3 -3
  148. package/dist/types/components/choose/Choose.d.ts +3 -3
  149. package/dist/types/components/details/Details.d.ts +4 -4
  150. package/dist/types/components/forOf/ForOf.d.ts +1 -1
  151. package/dist/types/components/if/If.d.ts +1 -1
  152. package/dist/types/components/index.d.ts +39 -39
  153. package/dist/types/components/index.d.ts.map +1 -1
  154. package/dist/types/components/input/Input.d.ts +1 -1
  155. package/dist/types/components/input/Input.d.ts.map +1 -1
  156. package/dist/types/components/promise/PromiseSwitch.d.ts +5 -5
  157. package/dist/types/components/radio/Radio.d.ts +3 -3
  158. package/dist/types/components/router/Route.d.ts +2 -2
  159. package/dist/types/components/router/RouterOutlet.d.ts +2 -1
  160. package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
  161. package/dist/types/components/select/Select.d.ts +10 -10
  162. package/dist/types/components/this/This.d.ts +2 -1
  163. package/dist/types/components/this/This.d.ts.map +1 -1
  164. package/dist/types/components/timer/Timer.d.ts +1 -1
  165. package/dist/types/configs/DomRenderConfig.d.ts +2 -2
  166. package/dist/types/configs/DomRenderConfig.d.ts.map +1 -1
  167. package/dist/types/configs/TargetElement.d.ts +3 -3
  168. package/dist/types/configs/TargetElement.d.ts.map +1 -1
  169. package/dist/types/events/EventManager.d.ts +4 -0
  170. package/dist/types/events/EventManager.d.ts.map +1 -1
  171. package/dist/types/index.d.ts +12 -0
  172. package/dist/types/index.d.ts.map +1 -1
  173. package/dist/types/messenger/Messenger.d.ts +1 -1
  174. package/dist/types/messenger/Messenger.d.ts.map +1 -1
  175. package/dist/types/operators/Dr.d.ts.map +1 -1
  176. package/dist/types/operators/DrAppender.d.ts.map +1 -1
  177. package/dist/types/operators/DrFor.d.ts.map +1 -1
  178. package/dist/types/operators/DrForOf.d.ts.map +1 -1
  179. package/dist/types/operators/DrForm.d.ts.map +1 -1
  180. package/dist/types/operators/DrIf.d.ts.map +1 -1
  181. package/dist/types/operators/DrInnerHTML.d.ts.map +1 -1
  182. package/dist/types/operators/DrInnerText.d.ts.map +1 -1
  183. package/dist/types/operators/DrRepeat.d.ts.map +1 -1
  184. package/dist/types/operators/DrStripElement.d.ts.map +1 -1
  185. package/dist/types/operators/DrTargetElementIsElement.d.ts.map +1 -1
  186. package/dist/types/rawsets/Attrs.d.ts +5 -0
  187. package/dist/types/rawsets/Attrs.d.ts.map +1 -1
  188. package/dist/types/rawsets/CreatorMetaData.d.ts +1 -1
  189. package/dist/types/rawsets/CreatorMetaData.d.ts.map +1 -1
  190. package/dist/types/rawsets/RawSet.d.ts +10 -8
  191. package/dist/types/rawsets/RawSet.d.ts.map +1 -1
  192. package/dist/types/rawsets/Render.d.ts +1 -1
  193. package/dist/types/rawsets/Render.d.ts.map +1 -1
  194. package/dist/types/rawsets/index.d.ts +20 -0
  195. package/dist/types/rawsets/index.d.ts.map +1 -1
  196. package/dist/umd-bundle/dooboostore-dom-render.umd.js +11491 -8957
  197. package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
  198. package/package.json +6 -10
  199. package/src/DomRender.ts +5 -5
  200. package/src/DomRenderProxy.ts +195 -124
  201. package/src/bundle-entry.ts +2 -4
  202. package/src/components/ComponentBase.ts +30 -11
  203. package/src/components/ComponentSet.ts +3 -3
  204. package/src/components/details/Details.ts +3 -3
  205. package/src/components/dialog/example/ImageEditorDialog.ts +10 -10
  206. package/src/components/input/Input.ts +7 -9
  207. package/src/components/promise/PromiseSwitch.ts +2 -2
  208. package/src/components/router/Route.ts +1 -1
  209. package/src/components/router/RouterOutlet.ts +4 -0
  210. package/src/components/select/Select.ts +4 -4
  211. package/src/components/this/This.ts +3 -0
  212. package/src/configs/DomRenderConfig.ts +9 -9
  213. package/src/configs/TargetElement.ts +3 -3
  214. package/src/decorators/DomRenderNoProxy.ts +2 -2
  215. package/src/events/EventManager.ts +171 -101
  216. package/src/index.ts +32 -17
  217. package/src/messenger/Messenger.ts +1 -1
  218. package/src/operators/Dr.ts +1 -2
  219. package/src/operators/DrAppender.ts +121 -56
  220. package/src/operators/DrFor.ts +1 -2
  221. package/src/operators/DrForOf.ts +102 -128
  222. package/src/operators/DrForm.ts +3 -4
  223. package/src/operators/DrIf.ts +1 -2
  224. package/src/operators/DrInnerHTML.ts +1 -2
  225. package/src/operators/DrInnerText.ts +1 -2
  226. package/src/operators/DrRepeat.ts +1 -2
  227. package/src/operators/DrStripElement.ts +1 -2
  228. package/src/operators/DrTargetElement.ts +4 -4
  229. package/src/operators/DrTargetElementIsElement.ts +4 -3
  230. package/src/operators/DrThis.ts +1 -1
  231. package/src/operators/DrThisProperty.ts +2 -2
  232. package/src/operators/OperatorExecuter.ts +1 -1
  233. package/src/rawsets/Attrs.ts +32 -27
  234. package/src/rawsets/CreatorMetaData.ts +1 -1
  235. package/src/rawsets/RawSet.ts +226 -256
  236. package/src/rawsets/Render.ts +1 -1
  237. package/src/rawsets/index.ts +23 -0
  238. package/tsconfig.json +2 -1
  239. package/dist/cjs/iterators/Range.js +0 -85
  240. package/dist/cjs/iterators/Range.js.map +0 -7
  241. package/dist/cjs/iterators/index.js +0 -18
  242. package/dist/cjs/iterators/index.js.map +0 -7
  243. package/dist/cjs/routers/HashRouter.js +0 -110
  244. package/dist/cjs/routers/HashRouter.js.map +0 -7
  245. package/dist/cjs/routers/PathRouter.js +0 -102
  246. package/dist/cjs/routers/PathRouter.js.map +0 -7
  247. package/dist/cjs/routers/Router.js +0 -192
  248. package/dist/cjs/routers/Router.js.map +0 -7
  249. package/dist/cjs/routers/index.js +0 -20
  250. package/dist/cjs/routers/index.js.map +0 -7
  251. package/dist/cjs/validators/AllCheckedValidatorArray.js +0 -32
  252. package/dist/cjs/validators/AllCheckedValidatorArray.js.map +0 -7
  253. package/dist/cjs/validators/AllUnCheckedValidatorArray.js +0 -32
  254. package/dist/cjs/validators/AllUnCheckedValidatorArray.js.map +0 -7
  255. package/dist/cjs/validators/CheckedValidator.js +0 -32
  256. package/dist/cjs/validators/CheckedValidator.js.map +0 -7
  257. package/dist/cjs/validators/CountEqualsCheckedValidatorArray.js +0 -33
  258. package/dist/cjs/validators/CountEqualsCheckedValidatorArray.js.map +0 -7
  259. package/dist/cjs/validators/CountEqualsUnCheckedValidatorArray.js +0 -33
  260. package/dist/cjs/validators/CountEqualsUnCheckedValidatorArray.js.map +0 -7
  261. package/dist/cjs/validators/CountGreaterThanCheckedValidatorArray.js +0 -33
  262. package/dist/cjs/validators/CountGreaterThanCheckedValidatorArray.js.map +0 -7
  263. package/dist/cjs/validators/CountGreaterThanEqualsCheckedValidatorArray.js +0 -33
  264. package/dist/cjs/validators/CountGreaterThanEqualsCheckedValidatorArray.js.map +0 -7
  265. package/dist/cjs/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +0 -33
  266. package/dist/cjs/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js.map +0 -7
  267. package/dist/cjs/validators/CountGreaterThanUnCheckedValidatorArray.js +0 -33
  268. package/dist/cjs/validators/CountGreaterThanUnCheckedValidatorArray.js.map +0 -7
  269. package/dist/cjs/validators/CountLessThanCheckedValidatorArray.js +0 -33
  270. package/dist/cjs/validators/CountLessThanCheckedValidatorArray.js.map +0 -7
  271. package/dist/cjs/validators/CountLessThanEqualsCheckedValidatorArray.js +0 -33
  272. package/dist/cjs/validators/CountLessThanEqualsCheckedValidatorArray.js.map +0 -7
  273. package/dist/cjs/validators/CountLessThanEqualsUnCheckedValidatorArray.js +0 -33
  274. package/dist/cjs/validators/CountLessThanEqualsUnCheckedValidatorArray.js.map +0 -7
  275. package/dist/cjs/validators/CountLessThanUnCheckedValidatorArray.js +0 -33
  276. package/dist/cjs/validators/CountLessThanUnCheckedValidatorArray.js.map +0 -7
  277. package/dist/cjs/validators/CountUnCheckedValidatorArray.js +0 -33
  278. package/dist/cjs/validators/CountUnCheckedValidatorArray.js.map +0 -7
  279. package/dist/cjs/validators/EmptyValidator.js +0 -33
  280. package/dist/cjs/validators/EmptyValidator.js.map +0 -7
  281. package/dist/cjs/validators/ExcludeCheckedValidatorArray.js +0 -36
  282. package/dist/cjs/validators/ExcludeCheckedValidatorArray.js.map +0 -7
  283. package/dist/cjs/validators/FormValidator.js +0 -38
  284. package/dist/cjs/validators/FormValidator.js.map +0 -7
  285. package/dist/cjs/validators/IncludeCheckedValidatorArray.js +0 -36
  286. package/dist/cjs/validators/IncludeCheckedValidatorArray.js.map +0 -7
  287. package/dist/cjs/validators/MultipleValidator.js +0 -46
  288. package/dist/cjs/validators/MultipleValidator.js.map +0 -7
  289. package/dist/cjs/validators/NonPassValidator.js +0 -32
  290. package/dist/cjs/validators/NonPassValidator.js.map +0 -7
  291. package/dist/cjs/validators/NotEmptyValidator.js +0 -33
  292. package/dist/cjs/validators/NotEmptyValidator.js.map +0 -7
  293. package/dist/cjs/validators/NotRegExpTestValidator.js +0 -40
  294. package/dist/cjs/validators/NotRegExpTestValidator.js.map +0 -7
  295. package/dist/cjs/validators/PassValidator.js +0 -32
  296. package/dist/cjs/validators/PassValidator.js.map +0 -7
  297. package/dist/cjs/validators/RegExpTestValidator.js +0 -40
  298. package/dist/cjs/validators/RegExpTestValidator.js.map +0 -7
  299. package/dist/cjs/validators/RequiredValidator.js +0 -33
  300. package/dist/cjs/validators/RequiredValidator.js.map +0 -7
  301. package/dist/cjs/validators/UnCheckedValidator.js +0 -32
  302. package/dist/cjs/validators/UnCheckedValidator.js.map +0 -7
  303. package/dist/cjs/validators/ValidMultipleValidator.js +0 -34
  304. package/dist/cjs/validators/ValidMultipleValidator.js.map +0 -7
  305. package/dist/cjs/validators/ValidValidator.js +0 -33
  306. package/dist/cjs/validators/ValidValidator.js.map +0 -7
  307. package/dist/cjs/validators/ValidValidatorArray.js +0 -33
  308. package/dist/cjs/validators/ValidValidatorArray.js.map +0 -7
  309. package/dist/cjs/validators/Validator.js +0 -206
  310. package/dist/cjs/validators/Validator.js.map +0 -7
  311. package/dist/cjs/validators/ValidatorArray.js +0 -91
  312. package/dist/cjs/validators/ValidatorArray.js.map +0 -7
  313. package/dist/cjs/validators/ValueEqualsValidator.js +0 -33
  314. package/dist/cjs/validators/ValueEqualsValidator.js.map +0 -7
  315. package/dist/cjs/validators/ValueNotEqualsValidator.js +0 -33
  316. package/dist/cjs/validators/ValueNotEqualsValidator.js.map +0 -7
  317. package/dist/cjs/validators/index.js +0 -48
  318. package/dist/cjs/validators/index.js.map +0 -7
  319. package/dist/esm/iterators/Range.js +0 -66
  320. package/dist/esm/iterators/Range.js.map +0 -7
  321. package/dist/esm/iterators/index.js +0 -2
  322. package/dist/esm/iterators/index.js.map +0 -7
  323. package/dist/esm/routers/HashRouter.js +0 -91
  324. package/dist/esm/routers/HashRouter.js.map +0 -7
  325. package/dist/esm/routers/PathRouter.js +0 -83
  326. package/dist/esm/routers/PathRouter.js.map +0 -7
  327. package/dist/esm/routers/Router.js +0 -173
  328. package/dist/esm/routers/Router.js.map +0 -7
  329. package/dist/esm/routers/index.js +0 -4
  330. package/dist/esm/routers/index.js.map +0 -7
  331. package/dist/esm/validators/AllCheckedValidatorArray.js +0 -13
  332. package/dist/esm/validators/AllCheckedValidatorArray.js.map +0 -7
  333. package/dist/esm/validators/AllUnCheckedValidatorArray.js +0 -13
  334. package/dist/esm/validators/AllUnCheckedValidatorArray.js.map +0 -7
  335. package/dist/esm/validators/CheckedValidator.js +0 -13
  336. package/dist/esm/validators/CheckedValidator.js.map +0 -7
  337. package/dist/esm/validators/CountEqualsCheckedValidatorArray.js +0 -14
  338. package/dist/esm/validators/CountEqualsCheckedValidatorArray.js.map +0 -7
  339. package/dist/esm/validators/CountEqualsUnCheckedValidatorArray.js +0 -14
  340. package/dist/esm/validators/CountEqualsUnCheckedValidatorArray.js.map +0 -7
  341. package/dist/esm/validators/CountGreaterThanCheckedValidatorArray.js +0 -14
  342. package/dist/esm/validators/CountGreaterThanCheckedValidatorArray.js.map +0 -7
  343. package/dist/esm/validators/CountGreaterThanEqualsCheckedValidatorArray.js +0 -14
  344. package/dist/esm/validators/CountGreaterThanEqualsCheckedValidatorArray.js.map +0 -7
  345. package/dist/esm/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +0 -14
  346. package/dist/esm/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js.map +0 -7
  347. package/dist/esm/validators/CountGreaterThanUnCheckedValidatorArray.js +0 -14
  348. package/dist/esm/validators/CountGreaterThanUnCheckedValidatorArray.js.map +0 -7
  349. package/dist/esm/validators/CountLessThanCheckedValidatorArray.js +0 -14
  350. package/dist/esm/validators/CountLessThanCheckedValidatorArray.js.map +0 -7
  351. package/dist/esm/validators/CountLessThanEqualsCheckedValidatorArray.js +0 -14
  352. package/dist/esm/validators/CountLessThanEqualsCheckedValidatorArray.js.map +0 -7
  353. package/dist/esm/validators/CountLessThanEqualsUnCheckedValidatorArray.js +0 -14
  354. package/dist/esm/validators/CountLessThanEqualsUnCheckedValidatorArray.js.map +0 -7
  355. package/dist/esm/validators/CountLessThanUnCheckedValidatorArray.js +0 -14
  356. package/dist/esm/validators/CountLessThanUnCheckedValidatorArray.js.map +0 -7
  357. package/dist/esm/validators/CountUnCheckedValidatorArray.js +0 -14
  358. package/dist/esm/validators/CountUnCheckedValidatorArray.js.map +0 -7
  359. package/dist/esm/validators/EmptyValidator.js +0 -14
  360. package/dist/esm/validators/EmptyValidator.js.map +0 -7
  361. package/dist/esm/validators/ExcludeCheckedValidatorArray.js +0 -17
  362. package/dist/esm/validators/ExcludeCheckedValidatorArray.js.map +0 -7
  363. package/dist/esm/validators/FormValidator.js +0 -19
  364. package/dist/esm/validators/FormValidator.js.map +0 -7
  365. package/dist/esm/validators/IncludeCheckedValidatorArray.js +0 -17
  366. package/dist/esm/validators/IncludeCheckedValidatorArray.js.map +0 -7
  367. package/dist/esm/validators/MultipleValidator.js +0 -27
  368. package/dist/esm/validators/MultipleValidator.js.map +0 -7
  369. package/dist/esm/validators/NonPassValidator.js +0 -13
  370. package/dist/esm/validators/NonPassValidator.js.map +0 -7
  371. package/dist/esm/validators/NotEmptyValidator.js +0 -14
  372. package/dist/esm/validators/NotEmptyValidator.js.map +0 -7
  373. package/dist/esm/validators/NotRegExpTestValidator.js +0 -21
  374. package/dist/esm/validators/NotRegExpTestValidator.js.map +0 -7
  375. package/dist/esm/validators/PassValidator.js +0 -13
  376. package/dist/esm/validators/PassValidator.js.map +0 -7
  377. package/dist/esm/validators/RegExpTestValidator.js +0 -21
  378. package/dist/esm/validators/RegExpTestValidator.js.map +0 -7
  379. package/dist/esm/validators/RequiredValidator.js +0 -14
  380. package/dist/esm/validators/RequiredValidator.js.map +0 -7
  381. package/dist/esm/validators/UnCheckedValidator.js +0 -13
  382. package/dist/esm/validators/UnCheckedValidator.js.map +0 -7
  383. package/dist/esm/validators/ValidMultipleValidator.js +0 -15
  384. package/dist/esm/validators/ValidMultipleValidator.js.map +0 -7
  385. package/dist/esm/validators/ValidValidator.js +0 -14
  386. package/dist/esm/validators/ValidValidator.js.map +0 -7
  387. package/dist/esm/validators/ValidValidatorArray.js +0 -14
  388. package/dist/esm/validators/ValidValidatorArray.js.map +0 -7
  389. package/dist/esm/validators/Validator.js +0 -187
  390. package/dist/esm/validators/Validator.js.map +0 -7
  391. package/dist/esm/validators/ValidatorArray.js +0 -72
  392. package/dist/esm/validators/ValidatorArray.js.map +0 -7
  393. package/dist/esm/validators/ValueEqualsValidator.js +0 -14
  394. package/dist/esm/validators/ValueEqualsValidator.js.map +0 -7
  395. package/dist/esm/validators/ValueNotEqualsValidator.js +0 -14
  396. package/dist/esm/validators/ValueNotEqualsValidator.js.map +0 -7
  397. package/dist/esm/validators/index.js +0 -32
  398. package/dist/esm/validators/index.js.map +0 -7
  399. package/dist/types/iterators/Range.d.ts +0 -24
  400. package/dist/types/iterators/Range.d.ts.map +0 -1
  401. package/dist/types/iterators/index.d.ts +0 -2
  402. package/dist/types/iterators/index.d.ts.map +0 -1
  403. package/dist/types/routers/HashRouter.d.ts +0 -26
  404. package/dist/types/routers/HashRouter.d.ts.map +0 -1
  405. package/dist/types/routers/PathRouter.d.ts +0 -25
  406. package/dist/types/routers/PathRouter.d.ts.map +0 -1
  407. package/dist/types/routers/Router.d.ts +0 -83
  408. package/dist/types/routers/Router.d.ts.map +0 -1
  409. package/dist/types/routers/index.d.ts +0 -4
  410. package/dist/types/routers/index.d.ts.map +0 -1
  411. package/dist/types/validators/AllCheckedValidatorArray.d.ts +0 -7
  412. package/dist/types/validators/AllCheckedValidatorArray.d.ts.map +0 -1
  413. package/dist/types/validators/AllUnCheckedValidatorArray.d.ts +0 -7
  414. package/dist/types/validators/AllUnCheckedValidatorArray.d.ts.map +0 -1
  415. package/dist/types/validators/CheckedValidator.d.ts +0 -6
  416. package/dist/types/validators/CheckedValidator.d.ts.map +0 -1
  417. package/dist/types/validators/CountEqualsCheckedValidatorArray.d.ts +0 -8
  418. package/dist/types/validators/CountEqualsCheckedValidatorArray.d.ts.map +0 -1
  419. package/dist/types/validators/CountEqualsUnCheckedValidatorArray.d.ts +0 -8
  420. package/dist/types/validators/CountEqualsUnCheckedValidatorArray.d.ts.map +0 -1
  421. package/dist/types/validators/CountGreaterThanCheckedValidatorArray.d.ts +0 -8
  422. package/dist/types/validators/CountGreaterThanCheckedValidatorArray.d.ts.map +0 -1
  423. package/dist/types/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts +0 -8
  424. package/dist/types/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts.map +0 -1
  425. package/dist/types/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts +0 -8
  426. package/dist/types/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts.map +0 -1
  427. package/dist/types/validators/CountGreaterThanUnCheckedValidatorArray.d.ts +0 -8
  428. package/dist/types/validators/CountGreaterThanUnCheckedValidatorArray.d.ts.map +0 -1
  429. package/dist/types/validators/CountLessThanCheckedValidatorArray.d.ts +0 -8
  430. package/dist/types/validators/CountLessThanCheckedValidatorArray.d.ts.map +0 -1
  431. package/dist/types/validators/CountLessThanEqualsCheckedValidatorArray.d.ts +0 -8
  432. package/dist/types/validators/CountLessThanEqualsCheckedValidatorArray.d.ts.map +0 -1
  433. package/dist/types/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts +0 -8
  434. package/dist/types/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts.map +0 -1
  435. package/dist/types/validators/CountLessThanUnCheckedValidatorArray.d.ts +0 -8
  436. package/dist/types/validators/CountLessThanUnCheckedValidatorArray.d.ts.map +0 -1
  437. package/dist/types/validators/CountUnCheckedValidatorArray.d.ts +0 -8
  438. package/dist/types/validators/CountUnCheckedValidatorArray.d.ts.map +0 -1
  439. package/dist/types/validators/EmptyValidator.d.ts +0 -6
  440. package/dist/types/validators/EmptyValidator.d.ts.map +0 -1
  441. package/dist/types/validators/ExcludeCheckedValidatorArray.d.ts +0 -9
  442. package/dist/types/validators/ExcludeCheckedValidatorArray.d.ts.map +0 -1
  443. package/dist/types/validators/FormValidator.d.ts +0 -8
  444. package/dist/types/validators/FormValidator.d.ts.map +0 -1
  445. package/dist/types/validators/IncludeCheckedValidatorArray.d.ts +0 -9
  446. package/dist/types/validators/IncludeCheckedValidatorArray.d.ts.map +0 -1
  447. package/dist/types/validators/MultipleValidator.d.ts +0 -9
  448. package/dist/types/validators/MultipleValidator.d.ts.map +0 -1
  449. package/dist/types/validators/NonPassValidator.d.ts +0 -6
  450. package/dist/types/validators/NonPassValidator.d.ts.map +0 -1
  451. package/dist/types/validators/NotEmptyValidator.d.ts +0 -6
  452. package/dist/types/validators/NotEmptyValidator.d.ts.map +0 -1
  453. package/dist/types/validators/NotRegExpTestValidator.d.ts +0 -7
  454. package/dist/types/validators/NotRegExpTestValidator.d.ts.map +0 -1
  455. package/dist/types/validators/PassValidator.d.ts +0 -6
  456. package/dist/types/validators/PassValidator.d.ts.map +0 -1
  457. package/dist/types/validators/RegExpTestValidator.d.ts +0 -7
  458. package/dist/types/validators/RegExpTestValidator.d.ts.map +0 -1
  459. package/dist/types/validators/RequiredValidator.d.ts +0 -6
  460. package/dist/types/validators/RequiredValidator.d.ts.map +0 -1
  461. package/dist/types/validators/UnCheckedValidator.d.ts +0 -6
  462. package/dist/types/validators/UnCheckedValidator.d.ts.map +0 -1
  463. package/dist/types/validators/ValidMultipleValidator.d.ts +0 -10
  464. package/dist/types/validators/ValidMultipleValidator.d.ts.map +0 -1
  465. package/dist/types/validators/ValidValidator.d.ts +0 -7
  466. package/dist/types/validators/ValidValidator.d.ts.map +0 -1
  467. package/dist/types/validators/ValidValidatorArray.d.ts +0 -8
  468. package/dist/types/validators/ValidValidatorArray.d.ts.map +0 -1
  469. package/dist/types/validators/Validator.d.ts +0 -58
  470. package/dist/types/validators/Validator.d.ts.map +0 -1
  471. package/dist/types/validators/ValidatorArray.d.ts +0 -18
  472. package/dist/types/validators/ValidatorArray.d.ts.map +0 -1
  473. package/dist/types/validators/ValueEqualsValidator.d.ts +0 -7
  474. package/dist/types/validators/ValueEqualsValidator.d.ts.map +0 -1
  475. package/dist/types/validators/ValueNotEqualsValidator.d.ts +0 -7
  476. package/dist/types/validators/ValueNotEqualsValidator.d.ts.map +0 -1
  477. package/dist/types/validators/index.d.ts +0 -32
  478. package/dist/types/validators/index.d.ts.map +0 -1
  479. package/src/DomRenderProxy.ts_cache_back +0 -1031
  480. package/src/iterators/Range.ts +0 -73
  481. package/src/iterators/index.ts +0 -1
  482. package/src/routers/HashRouter.ts +0 -110
  483. package/src/routers/PathRouter.ts +0 -105
  484. package/src/routers/Router.ts +0 -278
  485. package/src/routers/index.ts +0 -3
  486. package/src/validators/AllCheckedValidatorArray.ts +0 -12
  487. package/src/validators/AllUnCheckedValidatorArray.ts +0 -12
  488. package/src/validators/CheckedValidator.ts +0 -11
  489. package/src/validators/CountEqualsCheckedValidatorArray.ts +0 -12
  490. package/src/validators/CountEqualsUnCheckedValidatorArray.ts +0 -12
  491. package/src/validators/CountGreaterThanCheckedValidatorArray.ts +0 -12
  492. package/src/validators/CountGreaterThanEqualsCheckedValidatorArray.ts +0 -12
  493. package/src/validators/CountGreaterThanEqualsUnCheckedValidatorArray.ts +0 -12
  494. package/src/validators/CountGreaterThanUnCheckedValidatorArray.ts +0 -12
  495. package/src/validators/CountLessThanCheckedValidatorArray.ts +0 -12
  496. package/src/validators/CountLessThanEqualsCheckedValidatorArray.ts +0 -12
  497. package/src/validators/CountLessThanEqualsUnCheckedValidatorArray.ts +0 -12
  498. package/src/validators/CountLessThanUnCheckedValidatorArray.ts +0 -12
  499. package/src/validators/CountUnCheckedValidatorArray.ts +0 -12
  500. package/src/validators/EmptyValidator.ts +0 -12
  501. package/src/validators/ExcludeCheckedValidatorArray.ts +0 -16
  502. package/src/validators/FormValidator.ts +0 -19
  503. package/src/validators/IncludeCheckedValidatorArray.ts +0 -16
  504. package/src/validators/MultipleValidator.ts +0 -29
  505. package/src/validators/NonPassValidator.ts +0 -11
  506. package/src/validators/NotEmptyValidator.ts +0 -13
  507. package/src/validators/NotRegExpTestValidator.ts +0 -20
  508. package/src/validators/PassValidator.ts +0 -11
  509. package/src/validators/RegExpTestValidator.ts +0 -21
  510. package/src/validators/RequiredValidator.ts +0 -13
  511. package/src/validators/UnCheckedValidator.ts +0 -11
  512. package/src/validators/ValidMultipleValidator.ts +0 -14
  513. package/src/validators/ValidValidator.ts +0 -11
  514. package/src/validators/ValidValidatorArray.ts +0 -12
  515. package/src/validators/Validator.ts +0 -245
  516. package/src/validators/ValidatorArray.ts +0 -83
  517. package/src/validators/ValueEqualsValidator.ts +0 -11
  518. package/src/validators/ValueNotEqualsValidator.ts +0 -11
  519. package/src/validators/index.ts +0 -31
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/ComponentBase.ts"],
4
- "sourcesContent": ["import { ElementUtils } from '@dooboostore/core-web/element/ElementUtils';\nimport { OnChangeAttrRender, OtherData } from '../lifecycle/OnChangeAttrRender';\nimport { OnCreateRenderData, OnCreateRenderDataParams } from '../lifecycle/OnCreateRenderData';\nimport { RawSet } from '../rawsets/RawSet';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { OnCreatedThisChild } from '../lifecycle/OnCreatedThisChild';\nimport { DomRenderNoProxy } from '../decorators/DomRenderNoProxy';\nimport { OnInitRender } from '../lifecycle/OnInitRender';\nimport { ConvertUtils } from '@dooboostore/core/convert/ConvertUtils';\nimport { OnDestroyRender, OnDestroyRenderParams } from '../lifecycle/OnDestroyRender';\nimport { OnDrThisUnBind } from '../lifecycle/dr-this/OnDrThisUnBind';\nimport { OnDrThisBind } from '../lifecycle/dr-this/OnDrThisBind';\nimport type { Render } from '../rawsets/Render';\nimport { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\nimport { DomRenderConfig } from '../configs/DomRenderConfig';\nimport { Subject } from '@dooboostore/core/message/Subject';\nimport { debounceTime } from '@dooboostore/core/message/operators/debounceTime';\nimport type { Subscription } from '@dooboostore/core/message/Subscription';\nimport { OnRawSetRendered, OnRawSetRenderedOtherData } from \"../lifecycle/OnRawSetRendered\";\nimport {bufferTime} from \"@dooboostore/core/message/operators/bufferTime\";\nimport {OnChildRawSetRendered} from \"../lifecycle/OnChildRawSetRendered\";\n\n\nexport const ATTRIBUTE_METADATA_KEY = Symbol('attribute');\nexport const QUERY_METADATA_KEY = Symbol('query');\nexport const EVENT_METADATA_KEY = Symbol('event');\n\nexport interface AttributeMetadata {\n propertyKey: string | symbol;\n name: string;\n converter?: (value: any | string | null) => any;\n isMethod: boolean;\n}\n\nexport interface QueryMetadata {\n selector: string;\n propertyKey: string | symbol;\n isMethod: boolean;\n convert?: (e: Element) => any;\n onDestroy?: (componentInstance: any, element: Element) => void;\n refreshTime?: number; // milliseconds\n refreshRawSetRendered?: boolean;\n}\n\nexport interface EventMetadata {\n query: string;\n eventName: string;\n methodName: string | symbol;\n onDestroy?: (componentInstance: any, element: Element) => void;\n refreshTime?: number; // milliseconds\n refreshRawSetRendered?: boolean;\n}\n\nexport function attribute(nameOrOptions?: string | { name?: string, converter?: (value: any | string | null) => any }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void {\n return (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const attributes = ReflectUtils.getMetadata<AttributeMetadata[]>(ATTRIBUTE_METADATA_KEY, target.constructor) || [];\n \n let name: string;\n let converter: ((value: any | string | null) => any) | undefined;\n \n if (typeof nameOrOptions === 'string') {\n name = nameOrOptions;\n } else if (nameOrOptions) {\n name = nameOrOptions.name || String(propertyKey);\n converter = nameOrOptions.converter;\n } else {\n name = String(propertyKey);\n }\n \n const attributeMetadata: AttributeMetadata = {\n propertyKey: propertyKey,\n name: name,\n converter: converter,\n isMethod: !!descriptor\n };\n \n attributes.push(attributeMetadata);\n ReflectUtils.defineMetadata(ATTRIBUTE_METADATA_KEY, attributes, target.constructor);\n };\n}\n\nexport function query(selectorOrOptions: string | { selector: string, convert?: (e: Element) => any, onDestroy?: (componentInstance: any, element: Element) => void, refreshIntervalTime?: number, refreshRawSetRendered?: boolean }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void {\n return (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, target.constructor) || [];\n \n let selector: string;\n let convert: ((e: Element) => any) | undefined;\n let onDestroy: ((componentInstance: any, element: Element) => void) | undefined;\n let refreshTime: number | undefined;\n let refreshRawSetRendered: boolean | undefined;\n\n if (typeof selectorOrOptions === 'string') {\n selector = selectorOrOptions;\n } else {\n selector = selectorOrOptions.selector;\n convert = selectorOrOptions.convert;\n onDestroy = selectorOrOptions.onDestroy;\n refreshTime = selectorOrOptions.refreshIntervalTime;\n refreshRawSetRendered = selectorOrOptions.refreshRawSetRendered;\n }\n \n const queryMetadata: QueryMetadata = {\n selector: selector,\n propertyKey: propertyKey,\n isMethod: !!descriptor,\n convert: convert,\n onDestroy: onDestroy,\n refreshTime: refreshTime,\n refreshRawSetRendered\n };\n \n queries.push(queryMetadata);\n ReflectUtils.defineMetadata(QUERY_METADATA_KEY, queries, target.constructor);\n };\n}\n\nexport function event(options: { query: string, name: string, onDestroy?: (componentInstance: any, element: Element) => void, refreshTime?: number, refreshRawSetRendered?: boolean }): MethodDecorator {\n return (target: object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, target.constructor) || [];\n \n const eventMetadata: EventMetadata = {\n query: options.query,\n eventName: options.name,\n methodName: propertyKey,\n onDestroy: options.onDestroy,\n refreshTime: options.refreshTime,\n refreshRawSetRendered: options.refreshRawSetRendered\n };\n \n events.push(eventMetadata);\n ReflectUtils.defineMetadata(EVENT_METADATA_KEY, events, target.constructor);\n };\n}\n\n\nexport type ComponentBaseConfig = { onlyParentType?: ConstructorType<any>[] | ConstructorType<any>,\n createChildrenDebounce?: number,\n onRawSetRenderedOtherDataDebounce?: number\n onChildRawSetRenderedOtherDataDebounce?: number\n};\n\nexport type ChildrenSet = { instance: any, data: OnCreateRenderDataParams };\n\nexport class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBaseConfig> implements OnChangeAttrRender, OnCreateRenderData, OnCreatedThisChild, OnDrThisBind, OnDrThisUnBind, OnInitRender, OnDestroyRender, OnRawSetRendered, OnChildRawSetRendered {\n @DomRenderNoProxy\n private _rawSet?: RawSet;\n @DomRenderNoProxy\n private _children: ChildrenSet[] = [];\n @DomRenderNoProxy\n private _render: Render | undefined;\n @DomRenderNoProxy\n private _attribute?: T;\n @DomRenderNoProxy\n private _boundEventListeners: { element: Element, eventName: string, listener: (e: Event) => void }[] = [];\n @DomRenderNoProxy\n private _queryBindings: { element: Element, metadata: QueryMetadata }[] = [];\n @DomRenderNoProxy\n private _eventBindings: { element: Element, metadata: EventMetadata, listener: (e: Event) => void }[] = [];\n @DomRenderNoProxy\n private _refreshTimers: Map<QueryMetadata | EventMetadata, NodeJS.Timeout> = new Map();\n\n @DomRenderNoProxy\n private childrenSetSubject = new Subject<ChildrenSet[]>();\n @DomRenderNoProxy\n private createChildrenDebounceSubscription?: Subscription | undefined;\n @DomRenderNoProxy\n private onRawSetRenderedOtherDataSubject = new Subject<OnRawSetRenderedOtherData>();\n @DomRenderNoProxy\n private onChildRawSetRenderedOtherDataSubject = new Subject<void>();\n @DomRenderNoProxy\n private onRawSetRenderedOtherDataSubjectSubscription?: Subscription | undefined;\n @DomRenderNoProxy\n private onChildRawSetRenderedOtherDataSubjectSubscription?: Subscription | undefined;\n\n constructor(private _config?: C) {\n }\n get componentConfig(): C | undefined {\n return this._config;\n }\n get render(): Render | undefined {\n return this._render;\n }\n\n get rawSet(): RawSet | undefined {\n return this._rawSet;\n }\n\n get domRenderConfig(): DomRenderConfig | undefined {\n return this.rawSet?.dataSet.config;\n }\n\n private _queryElements(selector: string, rawSet:RawSet): Element[] {\n const e = this.getElement();\n // console.log('queryElement-->', e);\n if (e) {\n return ElementUtils.querySelectorAll(e, selector);\n } else {\n let startNode = rawSet.point?.start;\n let endNode = rawSet.point?.end;\n // console.log('-----', startNode, endNode)\n // console.log('-----', startNode?.isConnected, endNode?.isConnected)\n if (rawSet.point?.start && startNode && !startNode.isConnected && startNode instanceof HTMLElement && startNode.hasAttribute('id')) {\n rawSet.point.start = startNode = rawSet.dataSet.config.window.document.querySelector('#' + startNode.id) as HTMLMetaElement\n }\n if (rawSet.point?.end && endNode && !endNode.isConnected && endNode instanceof HTMLElement && endNode.hasAttribute('id')) {\n rawSet.point.end = endNode = rawSet.dataSet.config.window.document.querySelector('#' + endNode.id) as HTMLMetaElement\n }\n if (startNode && endNode) {\n // console.log('query!!', startNode, endNode);\n return ElementUtils.querySelectorAll({ start: startNode as Element, end: endNode as Element }, selector);\n }\n }\n return [];\n }\n\n private _cleanupEventListeners() {\n for (const { element, eventName, listener } of this._boundEventListeners) {\n element.removeEventListener(eventName, listener);\n }\n this._boundEventListeners = [];\n }\n\n private _cleanupQueryBindings() {\n for (const { element, metadata } of this._queryBindings) {\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n this._clearRefreshTimer(metadata);\n }\n this._queryBindings = [];\n }\n\n private _cleanupEventBindings() {\n for (const { element, metadata, listener } of this._eventBindings) {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n this._clearRefreshTimer(metadata);\n }\n this._eventBindings = [];\n }\n\n private _applyQueryBinding(queryInfo: QueryMetadata, elements: Element[], newElementsOnly: Element[] = elements) {\n const { propertyKey, isMethod, convert } = queryInfo;\n \n // Track bindings for cleanup\n elements.forEach(element => {\n this._queryBindings.push({ element, metadata: queryInfo });\n });\n \n // Apply convert function if provided\n const processedElements = convert ? elements.map(convert) : elements;\n const processedNewElements = convert ? newElementsOnly.map(convert) : newElementsOnly;\n \n if (isMethod) {\n const method = (this as any)[propertyKey];\n if (typeof method === 'function') {\n const paramTypes = ReflectUtils.getParameterTypes(this, propertyKey);\n if (paramTypes && paramTypes.length > 0 && paramTypes[0] === Array) {\n // For array methods, pass only new elements\n method.call(this, processedNewElements, {all: processedElements});\n } else {\n // For single element methods, pass first new element\n if (processedNewElements.length > 0) {\n method.call(this, processedNewElements[0], {all: processedElements, newAll: processedNewElements});\n }\n }\n }\n } else {\n // For properties, always set all elements (not just new ones)\n const propertyType = ReflectUtils.getType(this, propertyKey);\n if (propertyType === Array) {\n (this as any)[propertyKey] = processedElements;\n } else {\n (this as any)[propertyKey] = processedElements[0] || null;\n }\n }\n }\n\n private _setupQueryDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n // console.group('_setupQueryDecorators')\n // console.log('queries', queries);\n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n const elements = this._queryElements(queryInfo.selector, rawSet);\n // console.log('------elements', elements);\n this._applyQueryBinding(queryInfo, elements);\n \n // Setup refresh timer if specified\n this._setupRefreshTimer(queryInfo);\n }\n }\n // console.groupEnd();\n }\n\n private _updateQueryBinding(queryInfo: QueryMetadata, rawSet: RawSet, forceUpdate = false) {\n const newElements = this._queryElements(queryInfo.selector, rawSet);\n \n // Get current bindings for this query\n const currentBindings = this._queryBindings.filter(binding => binding.metadata === queryInfo);\n const currentElements = currentBindings.map(binding => binding.element);\n \n // Check if elements have changed\n const elementsChanged = forceUpdate || !this._arraysEqual(currentElements, newElements);\n \n if (elementsChanged) {\n let addedElements: Element[] = [];\n \n if (forceUpdate) {\n // Force update: cleanup all old bindings, treat all as new\n currentBindings.forEach(({ element, metadata }) => {\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n addedElements = newElements;\n } else {\n // Smart update: only cleanup removed elements, find added elements\n const removedElements = currentElements.filter(element => !newElements.includes(element));\n addedElements = newElements.filter(element => !currentElements.includes(element));\n \n removedElements.forEach(element => {\n if (queryInfo.onDestroy) {\n queryInfo.onDestroy(this, element);\n }\n });\n }\n \n // Remove old bindings\n this._queryBindings = this._queryBindings.filter(binding => binding.metadata !== queryInfo);\n \n // Apply new bindings, but pass only added elements to methods\n this._applyQueryBinding(queryInfo, newElements, addedElements);\n }\n }\n\n private _updateQueryDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n this._updateQueryBinding(queryInfo, rawSet);\n }\n }\n }\n\n private _arraysEqual(arr1: Element[], arr2: Element[]): boolean {\n if (arr1.length !== arr2.length) return false;\n return arr1.every((element, index) => element === arr2[index]);\n }\n\n private _setupRefreshTimer(metadata: QueryMetadata | EventMetadata) {\n if (!metadata.refreshTime || !this._rawSet) return;\n\n const timer = setInterval(() => {\n if (!this._rawSet) return;\n\n if ('selector' in metadata) {\n // QueryMetadata\n this._updateQueryBinding(metadata as QueryMetadata, this._rawSet);\n } else {\n // EventMetadata\n this._updateEventBinding(metadata as EventMetadata, this._rawSet);\n }\n }, metadata.refreshTime);\n\n this._refreshTimers.set(metadata, timer);\n }\n\n private _clearRefreshTimer(metadata: QueryMetadata | EventMetadata) {\n const timer = this._refreshTimers.get(metadata);\n if (timer) {\n clearInterval(timer);\n this._refreshTimers.delete(metadata);\n }\n }\n\n private _clearAllRefreshTimers() {\n for (const timer of Array.from(this._refreshTimers.values())) {\n clearInterval(timer);\n }\n this._refreshTimers.clear();\n }\n\n async onRawSetRendered(rawSet: RawSet, otherData: OnRawSetRenderedOtherData): Promise<void> {\n this.onRawSetRenderedOtherDataSubject.next(otherData);\n // this.onRawSetRenderedOtherDataSubjectSubscription = this.onRawSetRenderedOtherDataSubject.pipe(debounceTime(this.componentConfig?.onRawSetRenderedOtherDataDebounce??0)).subscribe(it => {\n // this.onRawSetRenderedDebounce(it);\n // });\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n if (queries) {\n queries.filter(it => it.refreshRawSetRendered).forEach(queryInfo => {\n this._updateQueryBinding(queryInfo, rawSet, true);\n });\n }\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events) {\n events.filter(it => it.refreshRawSetRendered).forEach(eventInfo => {\n this._updateEventBinding(eventInfo, rawSet, true);\n });\n }\n }\n\n async onChildRawSetRendered(): Promise<void> {\n this.onChildRawSetRenderedOtherDataSubject.next();\n }\n\n /**\n * Manually refresh all query and event decorators\n * Useful when DOM elements are dynamically added/removed and you want to update bindings\n */\n refreshDecorators(): void {\n if (this._rawSet) {\n this._updateQueryDecorators(this._rawSet);\n this._updateEventDecorators(this._rawSet);\n }\n }\n\n /**\n * Manually refresh specific query decorators by property key\n * @param propertyKeys - Array of property keys to refresh, or single property key\n */\n refreshQueryDecorators(propertyKeys: (string | symbol) | (string | symbol)[]): void {\n if (!this._rawSet) return;\n\n const keys = Array.isArray(propertyKeys) ? propertyKeys : [propertyKeys];\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n \n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n if (keys.includes(queryInfo.propertyKey)) {\n this._updateQueryBinding(queryInfo, this._rawSet, true); // Force update\n }\n }\n }\n }\n\n /**\n * Manually refresh specific event decorators by method name\n * @param methodNames - Array of method names to refresh, or single method name\n */\n refreshEventDecorators(methodNames: (string | symbol) | (string | symbol)[]): void {\n if (!this._rawSet) return;\n\n const names = Array.isArray(methodNames) ? methodNames : [methodNames];\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n \n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n if (names.includes(eventInfo.methodName)) {\n this._updateEventBinding(eventInfo, this._rawSet, true); // Force update\n }\n }\n }\n }\n\n private _applyEventBinding(eventInfo: EventMetadata, elements: Element[]) {\n elements.forEach(element => {\n const listener = (this as any)[eventInfo.methodName].bind(this);\n // console.log('bind?????', element);\n element.addEventListener(eventInfo.eventName, listener);\n \n // Track bindings for cleanup\n this._eventBindings.push({ element, metadata: eventInfo, listener });\n this._boundEventListeners.push({ element, eventName: eventInfo.eventName, listener });\n });\n }\n\n private _setupEventDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n const elements = this._queryElements(eventInfo.query, rawSet);\n this._applyEventBinding(eventInfo, elements);\n \n // Setup refresh timer if specified\n this._setupRefreshTimer(eventInfo);\n }\n }\n }\n\n private _updateEventBinding(eventInfo: EventMetadata, rawSet: RawSet, forceUpdate = false) {\n const newElements = this._queryElements(eventInfo.query, rawSet);\n \n // Get current bindings for this event\n const currentBindings = this._eventBindings.filter(binding => binding.metadata === eventInfo);\n const currentElements = currentBindings.map(binding => binding.element);\n \n // Check if elements have changed\n const elementsChanged = forceUpdate || !this._arraysEqual(currentElements, newElements);\n \n if (elementsChanged) {\n if (forceUpdate) {\n // Force update: cleanup all old bindings\n currentBindings.forEach(({ element, metadata, listener }) => {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n } else {\n // Smart update: only cleanup removed elements\n const removedElements = currentElements.filter(element => !newElements.includes(element));\n const removedBindings = currentBindings.filter(binding => removedElements.includes(binding.element));\n \n removedBindings.forEach(({ element, metadata, listener }) => {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n }\n \n // Remove old bindings from tracking arrays\n this._eventBindings = this._eventBindings.filter(binding => binding.metadata !== eventInfo);\n this._boundEventListeners = this._boundEventListeners.filter(binding => \n !currentBindings.some(cb => cb.element === binding.element && cb.metadata.eventName === binding.eventName)\n );\n \n // Apply new bindings\n this._applyEventBinding(eventInfo, newElements);\n }\n }\n\n private _updateEventDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n this._updateEventBinding(eventInfo, rawSet);\n }\n }\n }\ngetAttributeNames(attribute = this._attribute): string[] {\n const target = attribute as any;\n if (!target) return [];\n const keys = Object.keys(target);\n const names = new Set<string>();\n for (const k of keys) {\n names.add(k);\n // names.add(ConvertUtils.camelToSnakeCase(k));\n // names.add(ConvertUtils.snakeToCamelCase(k));\n // names.add(k.toLowerCase());\n // names.add(k.toUpperCase());\n }\n return Array.from(names);\n}\n getAttribute<K extends keyof T>(name: K, attribute = this._attribute): T[K] | null {\n const target = attribute as any;\n if (!target) {\n return null;\n }\n\n const nameString = String(name);\n let p = nameString;\n if (p in target) {\n return target[p];\n }\n p = ConvertUtils.snakeToCamelCase(nameString);\n if (p in target) {\n return target[p];\n }\n p = ConvertUtils.camelToSnakeCase(nameString);\n if (p in target) {\n return target[p];\n }\n p = nameString.toUpperCase()\n if (p in target) {\n return target[p];\n }\n p = nameString.toLowerCase()\n if (p in target) {\n return target[p];\n }\n return null;\n }\n\n hasAttribute(name: keyof T) {\n return this.getAttribute(name) !==null;\n }\n\n equalsAttributeName(n: string, name: keyof T) {\n return n === name ||\n ConvertUtils.snakeToCamelCase(n) === name ||\n ConvertUtils.camelToSnakeCase(n) === name ||\n n.toUpperCase() === (name as string).toUpperCase() ||\n n.toLowerCase() === (name as string).toLowerCase()\n ;\n }\n\n get uuid(): string | undefined {\n return this._rawSet?.uuid;\n }\n\n get childrenSet() {\n return this._children;\n }\n\n get children(): any[] {\n return this._children.map(it=>it.instance);\n }\n\n getElement<T extends Element>(): T | undefined {\n return (this.render ?? this.rawSet?.dataSet?.render)?.getElement?.();\n }\n\n getFirstChild<T>(type: ConstructorType<T>): T | undefined {\n return this._children.find(it => it.instance instanceof type)?.instance;\n }\n\n getParentThis<P>():P {\n return this.render?.parentThis as P;\n }\n\n getChildren<C extends ConstructorType<any>>(type: C): InstanceType<C>[];\n getChildren<C extends ConstructorType<any>[]>(types: C): InstanceType<C[number]>[];\n getChildren(typeOrTypes: ConstructorType<any> | ConstructorType<any>[]): any[] {\n const targets = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes];\n return this._children.filter(childSet =>\n targets.some(targetConstructor => childSet.instance instanceof targetConstructor)\n )?.map(it=>it.instance);\n }\n\n\n\n private setRawSet(rawSet: RawSet) {\n this._rawSet = rawSet;\n if (this._rawSet) {\n this.setAttribute(this._rawSet.dataSet?.render?.attribute as T);\n }\n }\n\n setAttribute(attribute: T) {\n this._attribute = attribute;\n }\n\n // TODO: rawSet isConnected로 체크해서 들어가있는것만 처리되도록 또는 이미들어가있는것도 뺴야될것같은데.. 적용하긴했음..지켜봐야될듯.\n onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n // console.log('onCreatedThisChild------------------------',child, data, data.render?.rawSet?.isConnected)\n const n = [...this._children];\n n.push({instance:child, data});\n this._children = n.filter(it=>it.data.render?.rawSet?.isConnected)\n this.childrenSetSubject.next(this._children);\n \n // Update decorators when children change (DOM might have changed)\n // Only update if elements actually changed\n if (this._rawSet) {\n this._updateQueryDecorators(this._rawSet);\n this._updateEventDecorators(this._rawSet);\n }\n }\n\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n }\n onRawSetRenderedDebounce(childrenSet: OnRawSetRenderedOtherData[]) {\n }\n onChildRawSetRenderedDebounce(){\n\n }\n\n onCreateRenderData(data: OnCreateRenderDataParams): void {\n this._render = data.render;\n if (data.render?.rawSet) {\n this.setRawSet(data.render.rawSet);\n }\n if (this._config?.onlyParentType) {\n const isOk = Array.isArray(this._config?.onlyParentType) ? this._config?.onlyParentType : [this._config?.onlyParentType].some(it => data.render?.parentThis instanceof it);\n if (!isOk) {\n throw new Error('only my parentThis ' + this._config?.onlyParentType);\n }\n }\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData): void {\n if (other?.rawSet) {\n this.setRawSet(other.rawSet);\n }\n\n const attributes = ReflectUtils.getMetadata<AttributeMetadata[]>(ATTRIBUTE_METADATA_KEY, this.constructor);\n if (attributes && Array.isArray(attributes)) {\n for (const attrInfo of attributes) {\n if (this.equalsAttributeName(name, attrInfo.name as any)) {\n const finalValue = attrInfo.converter ? attrInfo.converter(value) : value;\n if (attrInfo.isMethod) {\n const method = (this as any)[attrInfo.propertyKey];\n if (typeof method === 'function') {\n method.call(this, finalValue);\n }\n } else {\n (this as any)[attrInfo.propertyKey] = finalValue;\n }\n }\n }\n }\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n this.createChildrenDebounceSubscription = this.childrenSetSubject.pipe(\n debounceTime(this.componentConfig?.createChildrenDebounce??0)\n ).subscribe(it => {\n // console.log('call onCreatedThisChildDebounce', it);\n this.onCreatedThisChildDebounce(it);\n });\n this.onRawSetRenderedOtherDataSubjectSubscription = this.onRawSetRenderedOtherDataSubject.pipe(\n bufferTime(this.componentConfig?.onRawSetRenderedOtherDataDebounce??0)\n ).subscribe(it => {\n this.onRawSetRenderedDebounce(it);\n });\n this.onChildRawSetRenderedOtherDataSubjectSubscription = this.onChildRawSetRenderedOtherDataSubject.pipe(\n debounceTime(this.componentConfig?.onChildRawSetRenderedOtherDataDebounce??0)\n ).subscribe(it => {\n this.onChildRawSetRenderedDebounce();\n });\n if (rawSet) {\n this.setRawSet(rawSet);\n\n const e = this.getElement();\n if (e) {\n (e as any).component = this;\n }\n\n // Setup decorators\n this._setupQueryDecorators(rawSet);\n this._setupEventDecorators(rawSet);\n }\n }\n\n onDrThisBind() {\n // Logic moved to onInitRender for robustness\n }\n\n onDrThisUnBind() {\n this.onDestroy();\n }\n\n onDestroyRender(data?: OnDestroyRenderParams): void {\n this.onDestroy();\n }\n\n onDestroy() {\n this._cleanupEventListeners();\n this._cleanupQueryBindings();\n this._cleanupEventBindings();\n this._clearAllRefreshTimers();\n this.createChildrenDebounceSubscription?.unsubscribe();\n this.onRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();\n this.onChildRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();\n }\n\n}\n"],
5
- "mappings": "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",
6
- "names": ["attribute"]
4
+ "sourcesContent": ["import { ElementUtils } from '@dooboostore/core-web';\nimport { OnChangeAttrRender, OtherData } from '../lifecycle/OnChangeAttrRender';\nimport { OnCreateRenderData, OnCreateRenderDataParams } from '../lifecycle/OnCreateRenderData';\nimport { RawSet } from '../rawsets/RawSet';\nimport { ConstructorType } from '@dooboostore/core';\nimport { OnCreatedThisChild } from '../lifecycle/OnCreatedThisChild';\nimport { DomRenderNoProxy } from '../decorators/DomRenderNoProxy';\nimport { OnInitRender } from '../lifecycle/OnInitRender';\nimport { ConvertUtils } from '@dooboostore/core';\nimport { OnDestroyRender, OnDestroyRenderParams } from '../lifecycle/OnDestroyRender';\nimport { OnDrThisUnBind } from '../lifecycle/dr-this/OnDrThisUnBind';\nimport { OnDrThisBind } from '../lifecycle/dr-this/OnDrThisBind';\nimport type { Render } from '../rawsets/Render';\nimport { ReflectUtils } from '@dooboostore/core';\nimport { DomRenderConfig } from '../configs/DomRenderConfig';\nimport { Subject } from '@dooboostore/core';\nimport { MessageOperator } from '@dooboostore/core';\nimport type { Subscription } from '@dooboostore/core';\nimport { OnRawSetRendered, OnRawSetRenderedOtherData } from \"../lifecycle/OnRawSetRendered\";\nimport {OnChildRawSetRendered} from \"../lifecycle/OnChildRawSetRendered\";\n\n\nexport const ATTRIBUTE_METADATA_KEY = Symbol('attribute');\nexport const QUERY_METADATA_KEY = Symbol('query');\nexport const EVENT_METADATA_KEY = Symbol('event');\n\nexport interface AttributeMetadata {\n propertyKey: string | symbol;\n name: string;\n converter?: (value: any | string | null) => any;\n isMethod: boolean;\n}\n\nexport interface QueryMetadata {\n selector: string;\n propertyKey: string | symbol;\n isMethod: boolean;\n convert?: (e: Element) => any;\n onDestroy?: (componentInstance: any, element: Element) => void;\n refreshTime?: number; // milliseconds\n refreshRawSetRendered?: boolean;\n}\n\nexport interface EventMetadata {\n query: string;\n eventName: string;\n methodName: string | symbol;\n onDestroy?: (componentInstance: any, element: Element) => void;\n refreshTime?: number; // milliseconds\n refreshRawSetRendered?: boolean;\n}\n\nexport function attribute(nameOrOptions?: string | { name?: string, converter?: (value: any | string | null) => any }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void {\n return (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const attributes = ReflectUtils.getMetadata<AttributeMetadata[]>(ATTRIBUTE_METADATA_KEY, target.constructor) || [];\n \n let name: string;\n let converter: ((value: any | string | null) => any) | undefined;\n \n if (typeof nameOrOptions === 'string') {\n name = nameOrOptions;\n } else if (nameOrOptions) {\n name = nameOrOptions.name || String(propertyKey);\n converter = nameOrOptions.converter;\n } else {\n name = String(propertyKey);\n }\n \n const attributeMetadata: AttributeMetadata = {\n propertyKey: propertyKey,\n name: name,\n converter: converter,\n isMethod: !!descriptor\n };\n \n attributes.push(attributeMetadata);\n ReflectUtils.defineMetadata(ATTRIBUTE_METADATA_KEY, attributes, target.constructor);\n };\n}\n\nexport function query(selectorOrOptions: string | { selector: string, convert?: (e: Element) => any, onDestroy?: (componentInstance: any, element: Element) => void, refreshIntervalTime?: number, refreshRawSetRendered?: boolean }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void {\n return (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, target.constructor) || [];\n \n let selector: string;\n let convert: ((e: Element) => any) | undefined;\n let onDestroy: ((componentInstance: any, element: Element) => void) | undefined;\n let refreshTime: number | undefined;\n let refreshRawSetRendered: boolean | undefined;\n\n if (typeof selectorOrOptions === 'string') {\n selector = selectorOrOptions;\n } else {\n selector = selectorOrOptions.selector;\n convert = selectorOrOptions.convert;\n onDestroy = selectorOrOptions.onDestroy;\n refreshTime = selectorOrOptions.refreshIntervalTime;\n refreshRawSetRendered = selectorOrOptions.refreshRawSetRendered;\n }\n \n const queryMetadata: QueryMetadata = {\n selector: selector,\n propertyKey: propertyKey,\n isMethod: !!descriptor,\n convert: convert,\n onDestroy: onDestroy,\n refreshTime: refreshTime,\n refreshRawSetRendered\n };\n \n queries.push(queryMetadata);\n ReflectUtils.defineMetadata(QUERY_METADATA_KEY, queries, target.constructor);\n };\n}\n\nexport function event(options: { query: string, name: string, onDestroy?: (componentInstance: any, element: Element) => void, refreshTime?: number, refreshRawSetRendered?: boolean }): MethodDecorator {\n return (target: object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, target.constructor) || [];\n \n const eventMetadata: EventMetadata = {\n query: options.query,\n eventName: options.name,\n methodName: propertyKey,\n onDestroy: options.onDestroy,\n refreshTime: options.refreshTime,\n refreshRawSetRendered: options.refreshRawSetRendered\n };\n \n events.push(eventMetadata);\n ReflectUtils.defineMetadata(EVENT_METADATA_KEY, events, target.constructor);\n };\n}\n\n\nexport type ComponentBaseConfig = { onlyParentType?: ConstructorType<any>[] | ConstructorType<any>,\n createChildrenDebounce?: number,\n onRawSetRenderedOtherDataDebounce?: number\n onChildRawSetRenderedOtherDataDebounce?: number\n};\n\nexport type ChildrenSet = { instance: any, data: OnCreateRenderDataParams };\n\nexport class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBaseConfig> implements OnChangeAttrRender, OnCreateRenderData, OnCreatedThisChild, OnDrThisBind, OnDrThisUnBind, OnInitRender, OnDestroyRender, OnRawSetRendered, OnChildRawSetRendered {\n @DomRenderNoProxy\n private _rawSet?: RawSet;\n @DomRenderNoProxy\n private _children: ChildrenSet[] = [];\n @DomRenderNoProxy\n private _render: Render | undefined;\n @DomRenderNoProxy\n private _attribute?: T;\n @DomRenderNoProxy\n private _boundEventListeners: { element: Element, eventName: string, listener: (e: Event) => void }[] = [];\n @DomRenderNoProxy\n private _queryBindings: { element: Element, metadata: QueryMetadata }[] = [];\n @DomRenderNoProxy\n private _eventBindings: { element: Element, metadata: EventMetadata, listener: (e: Event) => void }[] = [];\n @DomRenderNoProxy\n private _refreshTimers: Map<QueryMetadata | EventMetadata, NodeJS.Timeout> = new Map();\n\n @DomRenderNoProxy\n private childrenSetSubject = new Subject<ChildrenSet[]>();\n @DomRenderNoProxy\n private createChildrenDebounceSubscription?: Subscription | undefined;\n @DomRenderNoProxy\n private onRawSetRenderedOtherDataSubject = new Subject<OnRawSetRenderedOtherData>();\n @DomRenderNoProxy\n private onChildRawSetRenderedOtherDataSubject = new Subject<void>();\n @DomRenderNoProxy\n private onRawSetRenderedOtherDataSubjectSubscription?: Subscription | undefined;\n @DomRenderNoProxy\n private onChildRawSetRenderedOtherDataSubjectSubscription?: Subscription | undefined;\n\n constructor(private _config?: C) {\n // console.log('ComponentBase created', this);\n // setTimeout(()=>{\n // console.log('ComponentBase created', this.constructor.name, this._rawSet?.uuid);\n // }, 1000)\n }\n get componentConfig(): C | undefined {\n return this._config;\n }\n get render(): Render | undefined {\n return this._render;\n }\n\n get rawSet(): RawSet | undefined {\n return this._rawSet;\n }\n\n get domRenderConfig(): DomRenderConfig | undefined {\n return this.rawSet?.dataSet.config;\n }\n\n private _queryElements(selector: string, rawSet:RawSet): Element[] {\n const e = this.getElement();\n // console.log('queryElement-->', e);\n if (e) {\n return ElementUtils.querySelectorAll(e, selector);\n } else {\n let startNode = rawSet.point?.start;\n let endNode = rawSet.point?.end;\n // console.log('-----', startNode, endNode)\n // console.log('-----', startNode?.isConnected, endNode?.isConnected)\n if (rawSet.point?.start && startNode && !startNode.isConnected && startNode instanceof HTMLElement && startNode.hasAttribute('id')) {\n rawSet.point.start = startNode = rawSet.dataSet.config.window.document.querySelector('#' + startNode.id) as HTMLMetaElement\n }\n if (rawSet.point?.end && endNode && !endNode.isConnected && endNode instanceof HTMLElement && endNode.hasAttribute('id')) {\n rawSet.point.end = endNode = rawSet.dataSet.config.window.document.querySelector('#' + endNode.id) as HTMLMetaElement\n }\n if (startNode && endNode) {\n // console.log('query!!', startNode, endNode);\n return ElementUtils.querySelectorAll({ start: startNode as Element, end: endNode as Element }, selector);\n }\n }\n return [];\n }\n\n private _cleanupEventListeners() {\n for (const { element, eventName, listener } of this._boundEventListeners) {\n element.removeEventListener(eventName, listener);\n }\n this._boundEventListeners = [];\n }\n\n private _cleanupQueryBindings() {\n for (const { element, metadata } of this._queryBindings) {\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n this._clearRefreshTimer(metadata);\n }\n this._queryBindings = [];\n }\n\n private _cleanupEventBindings() {\n for (const { element, metadata, listener } of this._eventBindings) {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n this._clearRefreshTimer(metadata);\n }\n this._eventBindings = [];\n }\n\n private _applyQueryBinding(queryInfo: QueryMetadata, elements: Element[], newElementsOnly: Element[] = elements) {\n const { propertyKey, isMethod, convert } = queryInfo;\n \n // Track bindings for cleanup\n elements.forEach(element => {\n this._queryBindings.push({ element, metadata: queryInfo });\n });\n \n // Apply convert function if provided\n const processedElements = convert ? elements.map(convert) : elements;\n const processedNewElements = convert ? newElementsOnly.map(convert) : newElementsOnly;\n \n if (isMethod) {\n const method = (this as any)[propertyKey];\n if (typeof method === 'function') {\n const paramTypes = ReflectUtils.getParameterTypes(this, propertyKey);\n if (paramTypes && paramTypes.length > 0 && paramTypes[0] === Array) {\n // For array methods, pass only new elements\n method.call(this, processedNewElements, {all: processedElements});\n } else {\n // For single element methods, pass first new element\n if (processedNewElements.length > 0) {\n method.call(this, processedNewElements[0], {all: processedElements, newAll: processedNewElements});\n }\n }\n }\n } else {\n // For properties, always set all elements (not just new ones)\n const propertyType = ReflectUtils.getType(this, propertyKey);\n if (propertyType === Array) {\n (this as any)[propertyKey] = processedElements;\n } else {\n (this as any)[propertyKey] = processedElements[0] || null;\n }\n }\n }\n\n private _setupQueryDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n // console.group('_setupQueryDecorators')\n // console.log('queries', queries);\n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n const elements = this._queryElements(queryInfo.selector, rawSet);\n // console.log('------elements', elements);\n this._applyQueryBinding(queryInfo, elements);\n \n // Setup refresh timer if specified\n this._setupRefreshTimer(queryInfo);\n }\n }\n // console.groupEnd();\n }\n\n private _updateQueryBinding(queryInfo: QueryMetadata, rawSet: RawSet, forceUpdate = false) {\n const newElements = this._queryElements(queryInfo.selector, rawSet);\n \n // Get current bindings for this query\n const currentBindings = this._queryBindings.filter(binding => binding.metadata === queryInfo);\n const currentElements = currentBindings.map(binding => binding.element);\n \n // Check if elements have changed\n const elementsChanged = forceUpdate || !this._arraysEqual(currentElements, newElements);\n \n if (elementsChanged) {\n let addedElements: Element[] = [];\n \n if (forceUpdate) {\n // Force update: cleanup all old bindings, treat all as new\n currentBindings.forEach(({ element, metadata }) => {\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n addedElements = newElements;\n } else {\n // Smart update: only cleanup removed elements, find added elements\n const removedElements = currentElements.filter(element => !newElements.includes(element));\n addedElements = newElements.filter(element => !currentElements.includes(element));\n \n removedElements.forEach(element => {\n if (queryInfo.onDestroy) {\n queryInfo.onDestroy(this, element);\n }\n });\n }\n \n // Remove old bindings\n this._queryBindings = this._queryBindings.filter(binding => binding.metadata !== queryInfo);\n \n // Apply new bindings, but pass only added elements to methods\n this._applyQueryBinding(queryInfo, newElements, addedElements);\n }\n }\n\n private _updateQueryDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n this._updateQueryBinding(queryInfo, rawSet);\n }\n }\n }\n\n private _arraysEqual(arr1: Element[], arr2: Element[]): boolean {\n if (arr1.length !== arr2.length) return false;\n return arr1.every((element, index) => element === arr2[index]);\n }\n\n private _setupRefreshTimer(metadata: QueryMetadata | EventMetadata) {\n if (!metadata.refreshTime || !this._rawSet) return;\n\n const timer = setInterval(() => {\n if (!this._rawSet) return;\n\n if ('selector' in metadata) {\n // QueryMetadata\n this._updateQueryBinding(metadata as QueryMetadata, this._rawSet);\n } else {\n // EventMetadata\n this._updateEventBinding(metadata as EventMetadata, this._rawSet);\n }\n }, metadata.refreshTime);\n\n this._refreshTimers.set(metadata, timer);\n }\n\n private _clearRefreshTimer(metadata: QueryMetadata | EventMetadata) {\n const timer = this._refreshTimers.get(metadata);\n if (timer) {\n clearInterval(timer);\n this._refreshTimers.delete(metadata);\n }\n }\n\n private _clearAllRefreshTimers() {\n for (const timer of Array.from(this._refreshTimers.values())) {\n clearInterval(timer);\n }\n this._refreshTimers.clear();\n }\n\n async onRawSetRendered(rawSet: RawSet, otherData: OnRawSetRenderedOtherData): Promise<void> {\n this.onRawSetRenderedOtherDataSubject.next(otherData);\n // this.onRawSetRenderedOtherDataSubjectSubscription = this.onRawSetRenderedOtherDataSubject.pipe(debounceTime(this.componentConfig?.onRawSetRenderedOtherDataDebounce??0)).subscribe(it => {\n // this.onRawSetRenderedDebounce(it);\n // });\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n if (queries) {\n queries.filter(it => it.refreshRawSetRendered).forEach(queryInfo => {\n this._updateQueryBinding(queryInfo, rawSet, true);\n });\n }\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events) {\n events.filter(it => it.refreshRawSetRendered).forEach(eventInfo => {\n this._updateEventBinding(eventInfo, rawSet, true);\n });\n }\n }\n\n async onChildRawSetRendered(): Promise<void> {\n this.onChildRawSetRenderedOtherDataSubject.next();\n }\n\n /**\n * Manually refresh all query and event decorators\n * Useful when DOM elements are dynamically added/removed and you want to update bindings\n */\n refreshDecorators(): void {\n if (this._rawSet) {\n this._updateQueryDecorators(this._rawSet);\n this._updateEventDecorators(this._rawSet);\n }\n }\n\n /**\n * Manually refresh specific query decorators by property key\n * @param propertyKeys - Array of property keys to refresh, or single property key\n */\n refreshQueryDecorators(propertyKeys: (string | symbol) | (string | symbol)[]): void {\n if (!this._rawSet) return;\n\n const keys = Array.isArray(propertyKeys) ? propertyKeys : [propertyKeys];\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n \n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n if (keys.includes(queryInfo.propertyKey)) {\n this._updateQueryBinding(queryInfo, this._rawSet, true); // Force update\n }\n }\n }\n }\n\n /**\n * Manually refresh specific event decorators by method name\n * @param methodNames - Array of method names to refresh, or single method name\n */\n refreshEventDecorators(methodNames: (string | symbol) | (string | symbol)[]): void {\n if (!this._rawSet) return;\n\n const names = Array.isArray(methodNames) ? methodNames : [methodNames];\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n \n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n if (names.includes(eventInfo.methodName)) {\n this._updateEventBinding(eventInfo, this._rawSet, true); // Force update\n }\n }\n }\n }\n\n private _applyEventBinding(eventInfo: EventMetadata, elements: Element[]) {\n elements.forEach(element => {\n const listener = (this as any)[eventInfo.methodName].bind(this);\n // console.log('bind?????', element);\n element.addEventListener(eventInfo.eventName, listener);\n \n // Track bindings for cleanup\n this._eventBindings.push({ element, metadata: eventInfo, listener });\n this._boundEventListeners.push({ element, eventName: eventInfo.eventName, listener });\n });\n }\n\n private _setupEventDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n const elements = this._queryElements(eventInfo.query, rawSet);\n this._applyEventBinding(eventInfo, elements);\n \n // Setup refresh timer if specified\n this._setupRefreshTimer(eventInfo);\n }\n }\n }\n\n private _updateEventBinding(eventInfo: EventMetadata, rawSet: RawSet, forceUpdate = false) {\n const newElements = this._queryElements(eventInfo.query, rawSet);\n \n // Get current bindings for this event\n const currentBindings = this._eventBindings.filter(binding => binding.metadata === eventInfo);\n const currentElements = currentBindings.map(binding => binding.element);\n \n // Check if elements have changed\n const elementsChanged = forceUpdate || !this._arraysEqual(currentElements, newElements);\n \n if (elementsChanged) {\n if (forceUpdate) {\n // Force update: cleanup all old bindings\n currentBindings.forEach(({ element, metadata, listener }) => {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n } else {\n // Smart update: only cleanup removed elements\n const removedElements = currentElements.filter(element => !newElements.includes(element));\n const removedBindings = currentBindings.filter(binding => removedElements.includes(binding.element));\n \n removedBindings.forEach(({ element, metadata, listener }) => {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n }\n \n // Remove old bindings from tracking arrays\n this._eventBindings = this._eventBindings.filter(binding => binding.metadata !== eventInfo);\n this._boundEventListeners = this._boundEventListeners.filter(binding => \n !currentBindings.some(cb => cb.element === binding.element && cb.metadata.eventName === binding.eventName)\n );\n \n // Apply new bindings\n this._applyEventBinding(eventInfo, newElements);\n }\n }\n\n private _updateEventDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n this._updateEventBinding(eventInfo, rawSet);\n }\n }\n }\ngetAttributeNames(attribute = this._attribute): string[] {\n const target = attribute as any;\n if (!target) return [];\n const keys = Object.keys(target);\n const names = new Set<string>();\n for (const k of keys) {\n names.add(k);\n // names.add(ConvertUtils.camelToSnakeCase(k));\n // names.add(ConvertUtils.snakeToCamelCase(k));\n // names.add(k.toLowerCase());\n // names.add(k.toUpperCase());\n }\n return Array.from(names);\n}\n getAttribute<K extends keyof T>(name: K, attribute = this._attribute): T[K] | null {\n const target = attribute as any;\n if (!target) {\n return null;\n }\n\n const nameString = String(name);\n let p = nameString;\n if (p in target) {\n return target[p];\n }\n p = ConvertUtils.snakeToCamelCase(nameString);\n if (p in target) {\n return target[p];\n }\n p = ConvertUtils.camelToSnakeCase(nameString);\n if (p in target) {\n return target[p];\n }\n p = nameString.toUpperCase()\n if (p in target) {\n return target[p];\n }\n p = nameString.toLowerCase()\n if (p in target) {\n return target[p];\n }\n return null;\n }\n\n hasAttribute(name: keyof T) {\n return this.getAttribute(name) !==null;\n }\n\n equalsAttributeName(n: string, name: keyof T) {\n return n === name ||\n ConvertUtils.snakeToCamelCase(n) === name ||\n ConvertUtils.camelToSnakeCase(n) === name ||\n n.toUpperCase() === (name as string).toUpperCase() ||\n n.toLowerCase() === (name as string).toLowerCase()\n ;\n }\n\n get uuid(): string | undefined {\n return this._rawSet?.uuid;\n }\n\n get childrenSet() {\n return this._children;\n }\n\n get children(): any[] {\n return this._children.map(it=>it.instance);\n }\n\n getElement<T extends Element>(): T | undefined {\n return (this.render ?? this.rawSet?.dataSet?.render)?.getElement?.();\n }\n\n getFirstChild<T>(type: ConstructorType<T>): T | undefined {\n return this._children.find(it => it.instance instanceof type)?.instance;\n }\n\n getParentThis<P>():P {\n return this.render?.parentThis as P;\n }\n\n getChildren<C extends ConstructorType<any>>(type: C): InstanceType<C>[];\n getChildren<C extends ConstructorType<any>[]>(types: C): InstanceType<C[number]>[];\n getChildren(typeOrTypes: ConstructorType<any> | ConstructorType<any>[]): any[] {\n const targets = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes];\n return this._children.filter(childSet =>\n targets.some(targetConstructor => childSet.instance instanceof targetConstructor)\n )?.map(it=>it.instance);\n }\n\n\n\n private setRawSet(rawSet: RawSet) {\n this._rawSet = rawSet;\n if (this._rawSet) {\n this.setAttribute(this._rawSet.dataSet?.render?.attribute as T);\n }\n }\n\n setAttribute(attribute: T) {\n this._attribute = attribute;\n }\n\n // TODO: rawSet isConnected로 체크해서 들어가있는것만 처리되도록 또는 이미들어가있는것도 뺴야될것같은데.. 적용하긴했음..지켜봐야될듯.\n onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n // console.log('onCreatedThisChild------------------------',child, data, data.render?.rawSet?.isConnected)\n const n = [...this._children];\n n.push({instance:child, data});\n this._children = n.filter(it=>it.data.render?.rawSet?.isConnected)\n this.childrenSetSubject.next(this._children);\n \n // Update decorators when children change (DOM might have changed)\n // Only update if elements actually changed\n if (this._rawSet) {\n this._updateQueryDecorators(this._rawSet);\n this._updateEventDecorators(this._rawSet);\n }\n }\n\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n }\n onRawSetRenderedDebounce(childrenSet: OnRawSetRenderedOtherData[]) {\n }\n onChildRawSetRenderedDebounce(){\n\n }\n\n onCreateRenderData(data: OnCreateRenderDataParams): void {\n this._render = data.render;\n if (data.render?.rawSet) {\n this.setRawSet(data.render.rawSet);\n }\n if (this._config?.onlyParentType) {\n const isOk = Array.isArray(this._config?.onlyParentType) ? this._config?.onlyParentType : [this._config?.onlyParentType].some(it => data.render?.parentThis instanceof it);\n if (!isOk) {\n throw new Error('only my parentThis ' + this._config?.onlyParentType);\n }\n }\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData): void {\n if (other?.rawSet) {\n this.setRawSet(other.rawSet);\n }\n\n const attributes = ReflectUtils.getMetadata<AttributeMetadata[]>(ATTRIBUTE_METADATA_KEY, this.constructor);\n if (attributes && Array.isArray(attributes)) {\n for (const attrInfo of attributes) {\n if (this.equalsAttributeName(name, attrInfo.name as any)) {\n const finalValue = attrInfo.converter ? attrInfo.converter(value) : value;\n if (attrInfo.isMethod) {\n const method = (this as any)[attrInfo.propertyKey];\n if (typeof method === 'function') {\n method.call(this, finalValue);\n }\n } else {\n (this as any)[attrInfo.propertyKey] = finalValue;\n }\n }\n }\n }\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n\n // console.log('onInitRender ComponentBase', this.constructor.name, rawSet?.uuid);\n const window = rawSet.dataSet?.config?.window;\n this.createChildrenDebounceSubscription = this.childrenSetSubject.pipe(\n MessageOperator.debounceTime(this.componentConfig?.createChildrenDebounce??1, {\n setTimeout: window ? window.setTimeout.bind(window) : undefined,\n clearTimeout: window ? window.clearTimeout.bind(window) : undefined,\n })\n ).subscribe(it => {\n // console.log('call onCreatedThisChildDebounce', it);\n this.onCreatedThisChildDebounce(it);\n });\n this.onRawSetRenderedOtherDataSubjectSubscription = this.onRawSetRenderedOtherDataSubject.pipe(\n MessageOperator.bufferTime(this.componentConfig?.onRawSetRenderedOtherDataDebounce??1, {\n skipEmpty: true,\n setInterval: window ? window.setInterval.bind(window) : undefined,\n clearInterval: window ? window.clearInterval.bind(window) : undefined,\n setTimeout: window ? window.setTimeout.bind(window) : undefined,\n clearTimeout: window ? window.clearTimeout.bind(window) : undefined,\n })\n ).subscribe(it => {\n this.onRawSetRenderedDebounce(it);\n });\n this.onChildRawSetRenderedOtherDataSubjectSubscription = this.onChildRawSetRenderedOtherDataSubject.pipe(\n MessageOperator.debounceTime(this.componentConfig?.onChildRawSetRenderedOtherDataDebounce??10, {\n setTimeout: window ? window.setTimeout.bind(window) : undefined,\n clearTimeout: window ? window.clearTimeout.bind(window) : undefined,\n })\n ).subscribe(it => {\n this.onChildRawSetRenderedDebounce();\n });\n if (rawSet) {\n this.setRawSet(rawSet);\n\n const e = this.getElement();\n if (e) {\n (e as any).component = this;\n }\n\n // Setup decorators\n this._setupQueryDecorators(rawSet);\n this._setupEventDecorators(rawSet);\n }\n }\n\n onDrThisBind() {\n // Logic moved to onInitRender for robustness\n }\n\n onDrThisUnBind() {\n this.onDestroy();\n }\n\n onDestroyRender(data?: OnDestroyRenderParams): void {\n this.onDestroy();\n }\n\n onDestroy() {\n this._cleanupEventListeners();\n this._cleanupQueryBindings();\n this._cleanupEventBindings();\n this._clearAllRefreshTimers();\n this.createChildrenDebounceSubscription?.unsubscribe();\n this.onRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();\n this.onChildRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();\n // console.log('ComponentBase onDestroy', this.constructor.name, this.onRawSetRenderedOtherDataSubjectSubscription.closed);\n }\n\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["import_core", "attribute"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/ComponentSet.ts"],
4
- "sourcesContent": ["import { DomRenderFinalProxy } from '../types/Types';\n\nexport type ComponentSetConfig = {objPath?: string | null, beforeComponentSet?: ComponentSet};\nexport class ComponentSet<T = any> {\n private _config: ComponentSetConfig;\n private _template?: string;\n private _styles?: string[] | string;\n constructor(public obj: T, source: {template?: string, styles?: (string[]) | string}, config?: ComponentSetConfig) {\n this._template = source.template;\n this._styles = source.styles;\n this._config = DomRenderFinalProxy.final(Object.assign({objPath: 'obj'} as ComponentSetConfig, config))\n }\n get template() {\n return this._template;\n }\n get styles() {\n return this._styles;\n }\n get config() {\n return this._config;\n }\n public setTemplateStyle(set: {template?: string, styles?: string | (string[])}) {\n this._template = set.template;\n this._styles = set.styles;\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoC;AAG7B,MAAM,aAAsB;AAAA,EAI/B,YAAmB,KAAQ,QAA2D,QAA6B;AAAhG;AACf,SAAK,YAAY,OAAO;AACxB,SAAK,UAAU,OAAO;AACtB,SAAK,UAAU,iCAAoB,MAAM,OAAO,OAAO,EAAC,SAAS,MAAK,GAAyB,MAAM,CAAC;AAAA,EAC1G;AAAA,EACA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EACO,iBAAiB,KAAwD;AAC5E,SAAK,YAAY,IAAI;AACrB,SAAK,UAAU,IAAI;AAAA,EACvB;AACJ;",
4
+ "sourcesContent": ["import { DomRenderFinalProxy } from '../types/Types';\n\nexport type ComponentSetConfig = {objPath?: string | null, beforeComponentSet?: ComponentSet};\nexport class ComponentSet<T = any> {\n private _config: ComponentSetConfig;\n private _template?: string|(<T>(instance: T) => Promise<string>);\n private _styles?: string[] | string|(<T>(instance: T) => Promise<string>);\n constructor(public obj: T, source: {template?: string|(<T>(instance: T) => Promise<string>), styles?: (string[]) | string|(<T>(instance: T) => Promise<string>)}, config?: ComponentSetConfig) {\n this._template = source.template;\n this._styles = source.styles;\n this._config = DomRenderFinalProxy.final(Object.assign({objPath: 'obj'} as ComponentSetConfig, config))\n }\n get template() {\n return this._template;\n }\n get styles() {\n return this._styles;\n }\n get config() {\n return this._config;\n }\n public setTemplateStyle(set: {template?: string, styles?: string | (string[])}) {\n this._template = set.template;\n this._styles = set.styles;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoC;AAG7B,MAAM,aAAsB;AAAA,EAI/B,YAAmB,KAAQ,QAAuI,QAA6B;AAA5K;AACf,SAAK,YAAY,OAAO;AACxB,SAAK,UAAU,OAAO;AACtB,SAAK,UAAU,iCAAoB,MAAM,OAAO,OAAO,EAAC,SAAS,MAAK,GAAyB,MAAM,CAAC;AAAA,EAC1G;AAAA,EACA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EACO,iBAAiB,KAAwD;AAC5E,SAAK,YAAY,IAAI;AACrB,SAAK,UAAU,IAAI;AAAA,EACvB;AACJ;",
6
6
  "names": []
7
7
  }
@@ -24,8 +24,8 @@ module.exports = __toCommonJS(Details_exports);
24
24
  var import_ComponentBase = require("../ComponentBase");
25
25
  var import_DomRender = require("../../DomRender");
26
26
  var import_RawSet = require("../../rawsets/RawSet");
27
- var import_ValidUtils = require("@dooboostore/core-web/valid/ValidUtils");
28
- var import_EventUtils = require("@dooboostore/core-web/event/EventUtils");
27
+ var import_core_web = require("@dooboostore/core-web");
28
+ var import_core_web2 = require("@dooboostore/core-web");
29
29
  var Details;
30
30
  ((_Details) => {
31
31
  _Details.selector = "dr-details";
@@ -83,10 +83,10 @@ var Details;
83
83
  }
84
84
  async onInitRender(param, rawSet) {
85
85
  await super.onInitRender(param, rawSet);
86
- if (import_ValidUtils.ValidUtils.isBrowser() && this.rawSet?.dataSet.config.window) {
86
+ if (import_core_web.ValidUtils.isBrowser() && this.rawSet?.dataSet.config.window) {
87
87
  const detailsElement = this.element;
88
88
  const document = this.rawSet.dataSet.config.window.document;
89
- this.documentClickSubscription = import_EventUtils.EventUtils.htmlElementEventObservable(document, "click").subscribe((event) => {
89
+ this.documentClickSubscription = import_core_web2.EventUtils.htmlElementEventObservable(document, "click").subscribe((event) => {
90
90
  if (this.getAttribute("disableOtherClickClose")) {
91
91
  return;
92
92
  }
@@ -95,8 +95,8 @@ var Details;
95
95
  }
96
96
  });
97
97
  if (detailsElement) {
98
- this.toggleSubscription = import_EventUtils.EventUtils.htmlElementEventObservable(detailsElement, "toggle").subscribe((it) => {
99
- if (import_ValidUtils.ValidUtils.coreValidUtils.isNotNullUndefined(this.getAttribute("toggle_form_reset"))) {
98
+ this.toggleSubscription = import_core_web2.EventUtils.htmlElementEventObservable(detailsElement, "toggle").subscribe((it) => {
99
+ if (import_core_web.ValidUtils.coreValidUtils.isNotNullUndefined(this.getAttribute("toggle_form_reset"))) {
100
100
  this.children?.filter(_Details.isForm).forEach((it2) => {
101
101
  it2.reset();
102
102
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/details/Details.ts"],
4
- "sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';\nimport { OnCreateRender } from '../../lifecycle/OnCreateRender';\nimport { type Subscription } from '@dooboostore/core/message/Subscription';\nimport { ValidUtils } from '@dooboostore/core-web/valid/ValidUtils';\nimport { EventUtils } from '@dooboostore/core-web/event/EventUtils';\n\nexport namespace Details {\n export const selector = 'dr-details';\n\n export type Attribute = {\n class?: string;\n toggle_form_reset?: boolean;\n disableOtherClickClose?: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n toggle?: (open: boolean) => void;\n };\n export type BodyAttribute = {\n float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n } & Attribute;\n\n export type FormAttribute = {\n disabledSubmit?: null;\n submit?: (event: SubmitEvent, element: HTMLFormElement) => void;\n } & BodyAttribute;\n\n // @Component({\n // template: '<summary class=\"${`${@this@.getAttribute(\\'class\\')} details-summary-container`}$\">#innerHTML#</summary>',\n // styles: '',\n // selector: `${selector}.Summary`\n // })\n export class Summary extends ComponentBase<Attribute> {\n constructor() {\n super({ onlyParentType: [Details] });\n }\n }\n\n // @Component({\n // template: '<div class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container`}$\" dr-on-init=\"@this@.$element = $element;\">#innerHTML#</div>',\n // selector: `${selector}.Body`\n // })\n export class Body extends ComponentBase<BodyAttribute> {\n private $element?: HTMLDivElement;\n constructor() {\n super({ onlyParentType: [Details] });\n }\n }\n\n export const isBody = (instance: any): instance is Body => {\n return instance instanceof Body;\n };\n\n // @Component({\n // template: '<form class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container details-form-container`}$\" dr-on-init=\"@this@.$element = $element;\" dr-event-submit=\"@this@.submit($element,$event);\">#innerHTML#</form>',\n // styles: detailsFormStyle,\n // selector: `${selector}.Form`\n // })\n export class Form extends ComponentBase<FormAttribute> {\n private $element?: HTMLFormElement;\n constructor() {\n super({ onlyParentType: [Details] });\n }\n submit(element: HTMLFormElement, event: SubmitEvent) {\n if (this.hasAttribute('disabledSubmit')) {\n event.preventDefault();\n }\n if (this.hasAttribute('submit')) {\n this.getAttribute('submit')?.(event, element);\n }\n }\n reset() {\n this.$element?.reset();\n }\n }\n export const isForm = (instance: any): instance is Form => {\n return instance instanceof Form;\n };\n\n // @Component({\n // template: template,\n // styles: style,\n // // noStrip: true,\n // selector: `${selector}`\n // })\n export class Details extends ComponentBase<Attribute> implements OnCreateRender, OnInitRender {\n // private detailsElement?: HTMLDetailsElement;\n private documentClickSubscription?: Subscription;\n private toggleSubscription?: Subscription;\n private element?: HTMLDetailsElement;\n onCreateRenderData(data: OnCreateRenderDataParams) {\n super.onCreateRenderData(data);\n }\n\n onCreateRender(...param: any[]): void {}\n\n toggle(element: HTMLDetailsElement) {\n const toggleAttribute = this.getAttribute('toggle');\n if (toggleAttribute) {\n toggleAttribute?.(element.open);\n }\n if (element.open) {\n this.getAttribute('onOpen')?.();\n } else {\n this.getAttribute('onClose')?.();\n }\n }\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n\n if (ValidUtils.isBrowser() && this.rawSet?.dataSet.config.window) {\n const detailsElement = this.element;\n\n const document = this.rawSet.dataSet!.config!.window!.document!;\n this.documentClickSubscription = EventUtils.htmlElementEventObservable(document, 'click').subscribe(event => {\n if (this.getAttribute('disableOtherClickClose')) {\n return;\n }\n if (detailsElement && !detailsElement?.contains(event?.target as Node)) {\n detailsElement.open = false;\n }\n });\n if (detailsElement) {\n this.toggleSubscription = EventUtils.htmlElementEventObservable(detailsElement, 'toggle').subscribe(it => {\n if (ValidUtils.coreValidUtils.isNotNullUndefined(this.getAttribute('toggle_form_reset'))) {\n this.children?.filter(isForm).forEach(it => {\n it.reset();\n });\n }\n });\n }\n }\n // console.log('aaaaaaaaaaaaaaaaaaaaa', rawSet);\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n }\n\n onDestroyRender(...metaData: any[]): void {\n this.toggleSubscription?.unsubscribe();\n this.documentClickSubscription?.unsubscribe();\n // console.log('onDestroyRender', metaData);\n // if (ValidUtils.isBrowser()) {\n // document.removeEventListener('click', this.ccc)\n // }\n }\n\n // changeAttribute(attribute: { className: string } | undefined) {\n // }\n }\n}\n\nexport default {\n detailsSummary: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-summary`,\n template:\n '<summary class=\"${`${@this@.getAttribute(\\'class\\')} details-summary-container`}$\">#innerHTML#</summary>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Summary(), config: config });\n }\n });\n },\n detailsBody: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-body`,\n template:\n '<div class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container`}$\" dr-on-init=\"@this@.$element = $element;\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Body(), config: config });\n }\n });\n },\n detailsForm: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-form`,\n template:\n '<form class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container details-form-container`}$\" dr-on-init=\"@this@.$element = $element;\" dr-event-submit=\"@this@.submit($element,$event);\">#innerHTML#</form>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Form(), config: config });\n }\n });\n },\n details: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}`,\n styles: `\n .details-container {\n position: relative;\n }\n\n .details-container .details-body-container {\n position: absolute;\n }\n\n\n .details-container .details-body-bottom-left-container {\n position: absolute;\n left: 0;\n top: 100%;\n /*margin-top: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-bottom-right-container {\n position: absolute;\n right: 0;\n top: 100%;\n /*margin-top: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-top-left-container {\n position: absolute;\n left: 0;\n bottom: 100%;\n /*margin-bottom: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-top-right-container {\n position: absolute;\n right: 0;\n bottom: 100%;\n /*margin-bottom: 0px;*/\n }\n `,\n template:\n '<details class=\"${`${@this@.getAttribute(\\'class\\')} details-container`}$\" dr-on-init=\"@this@.element = $element;\" dr-event-toggle=\"@this@.toggle($element)\"> #innerHTML# </details>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Details(...counstructorParam), config: config });\n }\n });\n }\n};"],
5
- "mappings": "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",
6
- "names": ["Details", "it"]
4
+ "sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';\nimport { OnCreateRender } from '../../lifecycle/OnCreateRender';\nimport { type Subscription } from '@dooboostore/core';\nimport { ValidUtils } from '@dooboostore/core-web';\nimport { EventUtils } from '@dooboostore/core-web';\n\nexport namespace Details {\n export const selector = 'dr-details';\n\n export type Attribute = {\n class?: string;\n toggle_form_reset?: boolean;\n disableOtherClickClose?: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n toggle?: (open: boolean) => void;\n };\n export type BodyAttribute = {\n float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n } & Attribute;\n\n export type FormAttribute = {\n disabledSubmit?: null;\n submit?: (event: SubmitEvent, element: HTMLFormElement) => void;\n } & BodyAttribute;\n\n // @Component({\n // template: '<summary class=\"${`${@this@.getAttribute(\\'class\\')} details-summary-container`}$\">#innerHTML#</summary>',\n // styles: '',\n // selector: `${selector}.Summary`\n // })\n export class Summary extends ComponentBase<Attribute> {\n constructor() {\n super({ onlyParentType: [Details] });\n }\n }\n\n // @Component({\n // template: '<div class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container`}$\" dr-on-init=\"@this@.$element = $element;\">#innerHTML#</div>',\n // selector: `${selector}.Body`\n // })\n export class Body extends ComponentBase<BodyAttribute> {\n private $element?: HTMLDivElement;\n constructor() {\n super({ onlyParentType: [Details] });\n }\n }\n\n export const isBody = (instance: any): instance is Body => {\n return instance instanceof Body;\n };\n\n // @Component({\n // template: '<form class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container details-form-container`}$\" dr-on-init=\"@this@.$element = $element;\" dr-event-submit=\"@this@.submit($element,$event);\">#innerHTML#</form>',\n // styles: detailsFormStyle,\n // selector: `${selector}.Form`\n // })\n export class Form extends ComponentBase<FormAttribute> {\n private $element?: HTMLFormElement;\n constructor() {\n super({ onlyParentType: [Details] });\n }\n submit(element: HTMLFormElement, event: SubmitEvent) {\n if (this.hasAttribute('disabledSubmit')) {\n event.preventDefault();\n }\n if (this.hasAttribute('submit')) {\n this.getAttribute('submit')?.(event, element);\n }\n }\n reset() {\n this.$element?.reset();\n }\n }\n export const isForm = (instance: any): instance is Form => {\n return instance instanceof Form;\n };\n\n // @Component({\n // template: template,\n // styles: style,\n // // noStrip: true,\n // selector: `${selector}`\n // })\n export class Details extends ComponentBase<Attribute> implements OnCreateRender, OnInitRender {\n // private detailsElement?: HTMLDetailsElement;\n private documentClickSubscription?: Subscription;\n private toggleSubscription?: Subscription;\n private element?: HTMLDetailsElement;\n onCreateRenderData(data: OnCreateRenderDataParams) {\n super.onCreateRenderData(data);\n }\n\n onCreateRender(...param: any[]): void {}\n\n toggle(element: HTMLDetailsElement) {\n const toggleAttribute = this.getAttribute('toggle');\n if (toggleAttribute) {\n toggleAttribute?.(element.open);\n }\n if (element.open) {\n this.getAttribute('onOpen')?.();\n } else {\n this.getAttribute('onClose')?.();\n }\n }\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n\n if (ValidUtils.isBrowser() && this.rawSet?.dataSet.config.window) {\n const detailsElement = this.element;\n\n const document = this.rawSet.dataSet!.config!.window!.document!;\n this.documentClickSubscription = EventUtils.htmlElementEventObservable(document, 'click').subscribe(event => {\n if (this.getAttribute('disableOtherClickClose')) {\n return;\n }\n if (detailsElement && !detailsElement?.contains(event?.target as Node)) {\n detailsElement.open = false;\n }\n });\n if (detailsElement) {\n this.toggleSubscription = EventUtils.htmlElementEventObservable(detailsElement, 'toggle').subscribe(it => {\n if (ValidUtils.coreValidUtils.isNotNullUndefined(this.getAttribute('toggle_form_reset'))) {\n this.children?.filter(isForm).forEach(it => {\n it.reset();\n });\n }\n });\n }\n }\n // console.log('aaaaaaaaaaaaaaaaaaaaa', rawSet);\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n }\n\n onDestroyRender(...metaData: any[]): void {\n this.toggleSubscription?.unsubscribe();\n this.documentClickSubscription?.unsubscribe();\n // console.log('onDestroyRender', metaData);\n // if (ValidUtils.isBrowser()) {\n // document.removeEventListener('click', this.ccc)\n // }\n }\n\n // changeAttribute(attribute: { className: string } | undefined) {\n // }\n }\n}\n\nexport default {\n detailsSummary: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-summary`,\n template:\n '<summary class=\"${`${@this@.getAttribute(\\'class\\')} details-summary-container`}$\">#innerHTML#</summary>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Summary(), config: config });\n }\n });\n },\n detailsBody: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-body`,\n template:\n '<div class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container`}$\" dr-on-init=\"@this@.$element = $element;\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Body(), config: config });\n }\n });\n },\n detailsForm: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-form`,\n template:\n '<form class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container details-form-container`}$\" dr-on-init=\"@this@.$element = $element;\" dr-event-submit=\"@this@.submit($element,$event);\">#innerHTML#</form>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Form(), config: config });\n }\n });\n },\n details: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}`,\n styles: `\n .details-container {\n position: relative;\n }\n\n .details-container .details-body-container {\n position: absolute;\n }\n\n\n .details-container .details-body-bottom-left-container {\n position: absolute;\n left: 0;\n top: 100%;\n /*margin-top: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-bottom-right-container {\n position: absolute;\n right: 0;\n top: 100%;\n /*margin-top: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-top-left-container {\n position: absolute;\n left: 0;\n bottom: 100%;\n /*margin-bottom: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-top-right-container {\n position: absolute;\n right: 0;\n bottom: 100%;\n /*margin-bottom: 0px;*/\n }\n `,\n template:\n '<details class=\"${`${@this@.getAttribute(\\'class\\')} details-container`}$\" dr-on-init=\"@this@.element = $element;\" dr-event-toggle=\"@this@.toggle($element)\"> #innerHTML# </details>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Details(...counstructorParam), config: config });\n }\n });\n }\n};"],
5
+ "mappings": "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",
6
+ "names": ["import_core_web", "Details", "it"]
7
7
  }
@@ -24,11 +24,9 @@ module.exports = __toCommonJS(Input_exports);
24
24
  var import_ComponentBase = require("../ComponentBase");
25
25
  var import_DomRender = require("../../DomRender");
26
26
  var import_RawSet = require("../../rawsets/RawSet");
27
- var import_ValidUtils = require("@dooboostore/core/valid/ValidUtils");
28
- var import_map = require("@dooboostore/core/message/operators/map");
29
- var import_EventUtils = require("@dooboostore/core-web/event/EventUtils");
30
- var import_debounceTime = require("@dooboostore/core/message/operators/debounceTime");
31
- var import_distinctUntilChanged = require("@dooboostore/core/message/operators/distinctUntilChanged");
27
+ var import_core2 = require("@dooboostore/core");
28
+ var import_core3 = require("@dooboostore/core");
29
+ var import_core_web = require("@dooboostore/core-web");
32
30
  var Input;
33
31
  ((_Input) => {
34
32
  _Input.selector = `dr-input`;
@@ -42,12 +40,12 @@ var Input;
42
40
  await super.onInitRender(param, rawSet);
43
41
  const inputElement = this.element;
44
42
  const debounceTimeAttribute = this.getAttribute("debounceTime");
45
- const debounceTimeValue = import_ValidUtils.ValidUtils.isNotNullUndefined(debounceTimeAttribute) ? Number(debounceTimeAttribute) : 0;
46
- const distinct = import_ValidUtils.ValidUtils.isNotNullUndefined(this.getAttribute("distinct"));
43
+ const debounceTimeValue = import_core2.ValidUtils.isNotNullUndefined(debounceTimeAttribute) ? Number(debounceTimeAttribute) : 0;
44
+ const distinct = import_core2.ValidUtils.isNotNullUndefined(this.getAttribute("distinct"));
47
45
  if (inputElement) {
48
46
  const makeDeboundceDistinctUtilChanged = () => {
49
- let result$ = import_EventUtils.EventUtils.htmlElementEventObservable(inputElement, "input").pipe(
50
- (0, import_map.map)((event) => {
47
+ let result$ = import_core_web.EventUtils.htmlElementEventObservable(inputElement, "input").pipe(
48
+ import_core3.MessageOperator.map((event) => {
51
49
  const target = event.target;
52
50
  if (target instanceof HTMLInputElement) {
53
51
  return target.value.trim();
@@ -56,11 +54,11 @@ var Input;
56
54
  return "";
57
55
  })
58
56
  );
59
- if (import_ValidUtils.ValidUtils.isNotNullUndefined(debounceTimeValue) && debounceTimeValue > 0) {
60
- result$ = result$.pipe((0, import_debounceTime.debounceTime)(debounceTimeValue));
57
+ if (import_core2.ValidUtils.isNotNullUndefined(debounceTimeValue) && debounceTimeValue > 0) {
58
+ result$ = result$.pipe(import_core3.MessageOperator.debounceTime(debounceTimeValue));
61
59
  }
62
- if (import_ValidUtils.ValidUtils.isNotNullUndefined(distinct) && distinct === true) {
63
- result$ = result$.pipe((0, import_distinctUntilChanged.distinctUntilChanged)());
60
+ if (import_core2.ValidUtils.isNotNullUndefined(distinct) && distinct === true) {
61
+ result$ = result$.pipe(import_core3.MessageOperator.distinctUntilChanged());
64
62
  }
65
63
  return result$;
66
64
  };
@@ -68,7 +66,7 @@ var Input;
68
66
  this.getAttribute("input")?.(it, inputElement);
69
67
  });
70
68
  if (inputElement.form) {
71
- this.resetSubscripton = import_EventUtils.EventUtils.htmlElementEventObservable(inputElement.form, "reset").subscribe((it) => {
69
+ this.resetSubscripton = import_core_web.EventUtils.htmlElementEventObservable(inputElement.form, "reset").subscribe((it) => {
72
70
  this.inputSubscription?.unsubscribe();
73
71
  this.inputSubscription = makeDeboundceDistinctUtilChanged().subscribe((it2) => {
74
72
  this.getAttribute("input")?.(it2, inputElement);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/input/Input.ts"],
4
- "sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { OnCreateRender } from '../../lifecycle/OnCreateRender';\nimport { OnDestroyRender, OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\nimport { ValidUtils } from '@dooboostore/core/valid/ValidUtils';\nimport { map } from '@dooboostore/core/message/operators/map';\nimport { EventUtils } from '@dooboostore/core-web/event/EventUtils';\nimport { debounceTime } from '@dooboostore/core/message/operators/debounceTime';\nimport { distinctUntilChanged } from '@dooboostore/core/message/operators/distinctUntilChanged';\n\nexport namespace Input {\n export const selector = `dr-input`;\n export type Attribute = {\n name?: string;\n type?: string;\n id?: string;\n class?: string;\n debounceTime?: number;\n distinct?: boolean;\n input?: (value: string, element: Element) => void;\n };\n\n export class Base extends ComponentBase<any> {}\n\n // @Component({\n // selector: `${selector}`,\n // template,\n // styles,\n // })\n export class Input extends Base implements OnCreateRender, OnDestroyRender {\n private element?: HTMLInputElement;\n private inputSubscription?: Subscription;\n private resetSubscripton?: Subscription;\n\n onCreateRender(...param: any[]): void {}\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n // console.log('dr-input, rawSet', rawSet)\n const inputElement = this.element;\n const debounceTimeAttribute = this.getAttribute('debounceTime');\n const debounceTimeValue = ValidUtils.isNotNullUndefined(debounceTimeAttribute)\n ? Number(debounceTimeAttribute)\n : 0;\n const distinct = ValidUtils.isNotNullUndefined(this.getAttribute('distinct'));\n\n if (inputElement) {\n const makeDeboundceDistinctUtilChanged = () => {\n // let result$ = EventUtils.htmlElementEventObservable(inputElement,'input');\n\n let result$ = EventUtils.htmlElementEventObservable(inputElement, 'input').pipe(\n map((event: Event) => {\n const target = event.target;\n if (target instanceof HTMLInputElement) {\n return target.value.trim();\n }\n console.warn('Input event target is not an HTMLInputElement:', target);\n return '';\n })\n );\n\n if (ValidUtils.isNotNullUndefined(debounceTimeValue) && debounceTimeValue > 0) {\n result$ = result$.pipe(debounceTime(debounceTimeValue));\n }\n if (ValidUtils.isNotNullUndefined(distinct) && distinct === true) {\n result$ = result$.pipe(distinctUntilChanged());\n }\n return result$;\n };\n this.inputSubscription = makeDeboundceDistinctUtilChanged().subscribe(it => {\n // console.log('change?????????????', it);\n this.getAttribute('input')?.(it, inputElement);\n });\n\n if (inputElement.form) {\n this.resetSubscripton = EventUtils.htmlElementEventObservable(inputElement.form, 'reset').subscribe(it => {\n // console.log('rrrraaa?,', this.inputSubscription, it)\n this.inputSubscription?.unsubscribe();\n this.inputSubscription = makeDeboundceDistinctUtilChanged().subscribe(it => {\n // console.log('rrrr?')\n this.getAttribute('input')?.(it, inputElement);\n });\n });\n }\n }\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n // console.log('-------->',name, value)\n if (name === 'value') {\n // console.log('changeAttribu', name, value)\n // this.wow = {value: value};\n // this.name = value;\n }\n }\n\n onDestroyRender(metaData?: OnDestroyRenderParams): void {\n this.resetSubscripton?.unsubscribe();\n this.inputSubscription?.unsubscribe();\n }\n }\n}\n\nexport default {\n input: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Input.selector}`,\n template:\n '<Input type=\"${@this@.getAttribute(\\'type\\')}$\" class=\"${@this@.getAttribute(\\'class\\')}$\" id=\"${@this@.getAttribute(\\'id\\')}$\" name=\"${@this@.getAttribute(\\'name\\')}$\" dr-on-init=\"@this@.element=$element\" >#innerHTML#',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Input.Input(...counstructorParam), config: config });\n }\n });\n }\n};"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAA8B;AAC9B,uBAA8C;AAC9C,oBAAuB;AAKvB,wBAA2B;AAC3B,iBAAoB;AACpB,wBAA2B;AAC3B,0BAA6B;AAC7B,kCAAqC;AAE9B,IAAU;AAAA,CAAV,CAAU,WAAV;AACE,EAAM,kBAAW;AAAA,EAWjB,MAAM,aAAa,mCAAmB;AAAA,EAAC;AAAvC,SAAM;AAAA,EAON,MAAMA,eAAc,KAAgD;AAAA,IAKzE,kBAAkB,OAAoB;AAAA,IAAC;AAAA,IAEvC,MAAM,aAAa,OAAY,QAAgB;AAC7C,YAAM,MAAM,aAAa,OAAO,MAAM;AAEtC,YAAM,eAAe,KAAK;AAC1B,YAAM,wBAAwB,KAAK,aAAa,cAAc;AAC9D,YAAM,oBAAoB,6BAAW,mBAAmB,qBAAqB,IACzE,OAAO,qBAAqB,IAC5B;AACJ,YAAM,WAAW,6BAAW,mBAAmB,KAAK,aAAa,UAAU,CAAC;AAE5E,UAAI,cAAc;AAChB,cAAM,mCAAmC,MAAM;AAG7C,cAAI,UAAU,6BAAW,2BAA2B,cAAc,OAAO,EAAE;AAAA,gBACzE,gBAAI,CAAC,UAAiB;AACpB,oBAAM,SAAS,MAAM;AACrB,kBAAI,kBAAkB,kBAAkB;AACtC,uBAAO,OAAO,MAAM,KAAK;AAAA,cAC3B;AACA,sBAAQ,KAAK,kDAAkD,MAAM;AACrE,qBAAO;AAAA,YACT,CAAC;AAAA,UACH;AAEA,cAAI,6BAAW,mBAAmB,iBAAiB,KAAK,oBAAoB,GAAG;AAC7E,sBAAU,QAAQ,SAAK,kCAAa,iBAAiB,CAAC;AAAA,UACxD;AACA,cAAI,6BAAW,mBAAmB,QAAQ,KAAK,aAAa,MAAM;AAChE,sBAAU,QAAQ,SAAK,kDAAqB,CAAC;AAAA,UAC/C;AACA,iBAAO;AAAA,QACT;AACA,aAAK,oBAAoB,iCAAiC,EAAE,UAAU,QAAM;AAE1E,eAAK,aAAa,OAAO,IAAI,IAAI,YAAY;AAAA,QAC/C,CAAC;AAED,YAAI,aAAa,MAAM;AACrB,eAAK,mBAAmB,6BAAW,2BAA2B,aAAa,MAAM,OAAO,EAAE,UAAU,QAAM;AAExG,iBAAK,mBAAmB,YAAY;AACpC,iBAAK,oBAAoB,iCAAiC,EAAE,UAAU,CAAAC,QAAM;AAE1E,mBAAK,aAAa,OAAO,IAAIA,KAAI,YAAY;AAAA,YAC/C,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,IAEA,mBAAmB,MAAc,OAAY,OAAkB;AAC7D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAE3C,UAAI,SAAS,SAAS;AAAA,MAItB;AAAA,IACF;AAAA,IAEA,gBAAgB,UAAwC;AACtD,WAAK,kBAAkB,YAAY;AACnC,WAAK,mBAAmB,YAAY;AAAA,IACtC;AAAA,EACF;AAxEO,SAAM,QAAAD;AAAA,GAnBE;AA8FjB,IAAO,gBAAQ;AAAA,EACb,OAAO,CAAC,WAAgC;AACtC,WAAO,qBAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG,MAAM,QAAQ;AAAA,MACvB,UACE;AAAA,MACF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,2BAAU,IAAI,EAAE,YAAY,IAAI,MAAM,MAAM,GAAG,iBAAiB,GAAG,OAAe,CAAC;AAAA,MAC5F;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
6
- "names": ["Input", "it"]
4
+ "sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { OnCreateRender } from '../../lifecycle/OnCreateRender';\nimport { OnDestroyRender, OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';\nimport { Subscription } from '@dooboostore/core';\nimport { ValidUtils } from '@dooboostore/core';\nimport { MessageOperator } from '@dooboostore/core';\nimport { EventUtils } from '@dooboostore/core-web';\n\nexport namespace Input {\n export const selector = `dr-input`;\n export type Attribute = {\n name?: string;\n type?: string;\n id?: string;\n class?: string;\n debounceTime?: number;\n distinct?: boolean;\n input?: (value: string, element: Element) => void;\n };\n\n export class Base extends ComponentBase<any> {}\n\n // @Component({\n // selector: `${selector}`,\n // template,\n // styles,\n // })\n export class Input extends Base implements OnCreateRender, OnDestroyRender {\n private element?: HTMLInputElement;\n private inputSubscription?: Subscription;\n private resetSubscripton?: Subscription;\n\n onCreateRender(...param: any[]): void {}\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n // console.log('dr-input, rawSet', rawSet)\n const inputElement = this.element;\n const debounceTimeAttribute = this.getAttribute('debounceTime');\n const debounceTimeValue = ValidUtils.isNotNullUndefined(debounceTimeAttribute)\n ? Number(debounceTimeAttribute)\n : 0;\n const distinct = ValidUtils.isNotNullUndefined(this.getAttribute('distinct'));\n\n if (inputElement) {\n const makeDeboundceDistinctUtilChanged = () => {\n // let result$ = EventUtils.htmlElementEventObservable(inputElement,'input');\n\n let result$ = EventUtils.htmlElementEventObservable(inputElement, 'input').pipe(\n MessageOperator.map((event: Event) => {\n const target = event.target;\n if (target instanceof HTMLInputElement) {\n return target.value.trim();\n }\n console.warn('Input event target is not an HTMLInputElement:', target);\n return '';\n })\n );\n\n if (ValidUtils.isNotNullUndefined(debounceTimeValue) && debounceTimeValue > 0) {\n result$ = result$.pipe(MessageOperator.debounceTime(debounceTimeValue));\n }\n if (ValidUtils.isNotNullUndefined(distinct) && distinct === true) {\n result$ = result$.pipe(MessageOperator.distinctUntilChanged());\n }\n return result$;\n };\n this.inputSubscription = makeDeboundceDistinctUtilChanged().subscribe(it => {\n // console.log('change?????????????', it);\n this.getAttribute('input')?.(it, inputElement);\n });\n\n if (inputElement.form) {\n this.resetSubscripton = EventUtils.htmlElementEventObservable(inputElement.form, 'reset').subscribe(it => {\n // console.log('rrrraaa?,', this.inputSubscription, it)\n this.inputSubscription?.unsubscribe();\n this.inputSubscription = makeDeboundceDistinctUtilChanged().subscribe(it => {\n // console.log('rrrr?')\n this.getAttribute('input')?.(it, inputElement);\n });\n });\n }\n }\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n // console.log('-------->',name, value)\n if (name === 'value') {\n // console.log('changeAttribu', name, value)\n // this.wow = {value: value};\n // this.name = value;\n }\n }\n\n onDestroyRender(metaData?: OnDestroyRenderParams): void {\n this.resetSubscripton?.unsubscribe();\n this.inputSubscription?.unsubscribe();\n }\n }\n}\n\nexport default {\n input: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Input.selector}`,\n template:\n '<Input type=\"${@this@.getAttribute(\\'type\\')}$\" class=\"${@this@.getAttribute(\\'class\\')}$\" id=\"${@this@.getAttribute(\\'id\\')}$\" name=\"${@this@.getAttribute(\\'name\\')}$\" dr-on-init=\"@this@.element=$element\" >#innerHTML#',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Input.Input(...counstructorParam), config: config });\n }\n });\n }\n};"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAA8B;AAC9B,uBAA8C;AAC9C,oBAAuB;AAKvB,IAAAA,eAA2B;AAC3B,IAAAA,eAAgC;AAChC,sBAA2B;AAEpB,IAAU;AAAA,CAAV,CAAU,WAAV;AACE,EAAM,kBAAW;AAAA,EAWjB,MAAM,aAAa,mCAAmB;AAAA,EAAC;AAAvC,SAAM;AAAA,EAON,MAAMC,eAAc,KAAgD;AAAA,IAKzE,kBAAkB,OAAoB;AAAA,IAAC;AAAA,IAEvC,MAAM,aAAa,OAAY,QAAgB;AAC7C,YAAM,MAAM,aAAa,OAAO,MAAM;AAEtC,YAAM,eAAe,KAAK;AAC1B,YAAM,wBAAwB,KAAK,aAAa,cAAc;AAC9D,YAAM,oBAAoB,wBAAW,mBAAmB,qBAAqB,IACzE,OAAO,qBAAqB,IAC5B;AACJ,YAAM,WAAW,wBAAW,mBAAmB,KAAK,aAAa,UAAU,CAAC;AAE5E,UAAI,cAAc;AAChB,cAAM,mCAAmC,MAAM;AAG7C,cAAI,UAAU,2BAAW,2BAA2B,cAAc,OAAO,EAAE;AAAA,YACzE,6BAAgB,IAAI,CAAC,UAAiB;AACpC,oBAAM,SAAS,MAAM;AACrB,kBAAI,kBAAkB,kBAAkB;AACtC,uBAAO,OAAO,MAAM,KAAK;AAAA,cAC3B;AACA,sBAAQ,KAAK,kDAAkD,MAAM;AACrE,qBAAO;AAAA,YACT,CAAC;AAAA,UACH;AAEA,cAAI,wBAAW,mBAAmB,iBAAiB,KAAK,oBAAoB,GAAG;AAC7E,sBAAU,QAAQ,KAAK,6BAAgB,aAAa,iBAAiB,CAAC;AAAA,UACxE;AACA,cAAI,wBAAW,mBAAmB,QAAQ,KAAK,aAAa,MAAM;AAChE,sBAAU,QAAQ,KAAK,6BAAgB,qBAAqB,CAAC;AAAA,UAC/D;AACA,iBAAO;AAAA,QACT;AACA,aAAK,oBAAoB,iCAAiC,EAAE,UAAU,QAAM;AAE1E,eAAK,aAAa,OAAO,IAAI,IAAI,YAAY;AAAA,QAC/C,CAAC;AAED,YAAI,aAAa,MAAM;AACrB,eAAK,mBAAmB,2BAAW,2BAA2B,aAAa,MAAM,OAAO,EAAE,UAAU,QAAM;AAExG,iBAAK,mBAAmB,YAAY;AACpC,iBAAK,oBAAoB,iCAAiC,EAAE,UAAU,CAAAC,QAAM;AAE1E,mBAAK,aAAa,OAAO,IAAIA,KAAI,YAAY;AAAA,YAC/C,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,IAEA,mBAAmB,MAAc,OAAY,OAAkB;AAC7D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAE3C,UAAI,SAAS,SAAS;AAAA,MAItB;AAAA,IACF;AAAA,IAEA,gBAAgB,UAAwC;AACtD,WAAK,kBAAkB,YAAY;AACnC,WAAK,mBAAmB,YAAY;AAAA,IACtC;AAAA,EACF;AAxEO,SAAM,QAAAD;AAAA,GAnBE;AA8FjB,IAAO,gBAAQ;AAAA,EACb,OAAO,CAAC,WAAgC;AACtC,WAAO,qBAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG,MAAM,QAAQ;AAAA,MACvB,UACE;AAAA,MACF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,2BAAU,IAAI,EAAE,YAAY,IAAI,MAAM,MAAM,GAAG,iBAAiB,GAAG,OAAe,CAAC;AAAA,MAC5F;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
6
+ "names": ["import_core", "Input", "it"]
7
7
  }
@@ -24,8 +24,8 @@ module.exports = __toCommonJS(PromiseSwitch_exports);
24
24
  var import_ComponentBase = require("../ComponentBase");
25
25
  var import_DomRender = require("../../DomRender");
26
26
  var import_RawSet = require("../../rawsets/RawSet");
27
- var import_ValidUtils = require("@dooboostore/core/valid/ValidUtils");
28
- var import_Promises = require("@dooboostore/core/promise/Promises");
27
+ var import_core = require("@dooboostore/core");
28
+ var import_core2 = require("@dooboostore/core");
29
29
  var PromiseSwitch;
30
30
  ((_PromiseSwitch) => {
31
31
  _PromiseSwitch.selector = "dr-promise-switch";
@@ -109,7 +109,7 @@ var PromiseSwitch;
109
109
  if (this.equalsAttributeName(name, "data") && value) {
110
110
  this.promiseState = void 0;
111
111
  this.state = void 0;
112
- this.promiseState = import_Promises.Promises.Result.wrap(typeof value === "function" ? value() : value);
112
+ this.promiseState = import_core2.Promises.Result.wrap(typeof value === "function" ? value() : value);
113
113
  this.getAttribute("change")?.({ status: "pending" });
114
114
  this.childStateChange();
115
115
  this.promiseState.then((data) => {
@@ -123,7 +123,7 @@ var PromiseSwitch;
123
123
  }).finally(() => {
124
124
  this.getAttribute("change")?.({ status: "finally" });
125
125
  });
126
- } else if (this.equalsAttributeName(name, "data") && import_ValidUtils.ValidUtils.isNullOrUndefined(value)) {
126
+ } else if (this.equalsAttributeName(name, "data") && import_core.ValidUtils.isNullOrUndefined(value)) {
127
127
  this.promiseState = void 0;
128
128
  this.childStateChange();
129
129
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/promise/PromiseSwitch.ts"],
4
- "sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\n\nimport { ValidUtils } from '@dooboostore/core/valid/ValidUtils';\nimport { Promises } from '@dooboostore/core/promise/Promises';\nimport { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';\n\nexport namespace PromiseSwitch {\n export const selector = 'dr-promise-switch';\n export type ChangeParams<T> =\n | { status: 'pending' }\n | { status: 'finally' }\n | { status: 'fulfilled'; data: T }\n | { status: 'rejected'; data: any };\n export type Attribute = {\n // trigger?: boolean;\n data: Promise<any> | (() => Promise<any>);\n change?: <T>(data: ChangeParams<T>) => void;\n };\n\n class ChildBase<T = any> extends ComponentBase<T> {\n public hidden = true;\n }\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Default`\n // })\n export class Default extends ChildBase {}\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Pending`\n // // selector: `System-PromiseSwitch.Pending`\n // })\n export class Pending extends ChildBase<{ defaultView?: null }> {\n // onChangeAttrRender(name: string, value: any, other: OtherData) {\n // super.onChangeAttrRender(name, value, other);\n // if (this.equalsAttributeName(name, 'defaultView')) {\n // // console.log('--------------', value)\n // if (value !== null) {\n // this.hidden = false;\n // } else {\n // this.hidden = true;\n // }\n // // console.log('--------------', this.hidden)\n // }\n // }\n }\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Fulfilled`\n // })\n export class Fulfilled<T = any> extends ChildBase {\n private data?: T;\n\n setData(data: T) {\n this.data = data;\n }\n }\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Rejected`\n // })\n export class Rejected<T = any> extends ChildBase {\n private data?: T;\n\n setData(data: T) {\n this.data = data;\n }\n }\n\n /*\n <dr-promise-switch data=\"${@this@.pickWorldPromise}$\">\n ${@nearThis@.promiseState.status}$\n <dr-promise-switch-default>\n <button class=\"random-world-button\" dr-event-click=\"@this@.pickWorld()\">\n <i class=\"fa-solid fa-dice\"></i>\n </button>\n </dr-promise-switch-default>\n <dr-promise-switch-pending>\n <button class=\"random-world-button disabled spin\" >\n <i class=\"fa-solid fa-dice\"></i>\n </button>\n </dr-promise-switch-pending>\n </dr-promise-switch>\n */\n // @Component({\n // template: '#innerHTML#',\n // selector: `${selector}`\n // })\n export class PromiseSwitch extends ComponentBase<Attribute> {\n // private promise?: {\n // state: 'reject' | 'resolve',\n //\n // }\n private promiseState?: Promises.Result.PromiseState<any, unknown>;\n private state?: Promises.Result.PromiseState<any, unknown>['status'];\n\n onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n super.onCreatedThisChild(child, data);\n this.childStateChange();\n }\n\n childStateChange() {\n const defaults = this.getChildren(Default);\n const pendings = this.getChildren(Pending);\n const fulfilleds = this.getChildren(Fulfilled);\n const rejecteds = this.getChildren(Rejected);\n const full = [...fulfilleds, ...rejecteds, ...pendings, ...defaults];\n // console.log('----!!!!!!-------', this.promiseState, full)\n if (this.promiseState === undefined) {\n this.state = undefined;\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n defaults.filter(it => it.hidden).forEach(it => (it.hidden = false));\n pendings.filter(it => it.getAttribute('defaultView') && it.hidden).forEach(it => (it.hidden = false));\n } else if (this.promiseState.status === 'pending') {\n this.state = 'pending';\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n pendings.filter(it => it.hidden).forEach(it => (it.hidden = false));\n } else if (this.promiseState.status === 'fulfilled') {\n this.state = 'fulfilled';\n const value = this.promiseState.value;\n // console.log('-----------fulfilled promises', value);\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n fulfilleds.forEach(it => {\n it.setData(value);\n });\n fulfilleds.filter(it => it.hidden).forEach(it => (it.hidden = false));\n } else if (this.promiseState.status === 'rejected') {\n this.state = 'rejected';\n const value = this.promiseState.reason;\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n rejecteds.forEach(it => {\n it.setData(value);\n });\n rejecteds.filter(it => it.hidden).forEach(it => (it.hidden = false));\n }\n return this.state;\n // console.log('----!!!!!!-end------', this.promiseState, full.map(it=>it.hidden))\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n // console.log('-----------changer promises', name, value, this.getChildren(Default));\n if (this.equalsAttributeName(name, 'data') && value) {\n // this.childStateChange();\n this.promiseState = undefined;\n this.state = undefined;\n this.promiseState = Promises.Result.wrap(typeof value === 'function' ? value() : (value as Promise<any>));\n this.getAttribute('change')?.({ status: 'pending' });\n this.childStateChange();\n // console.log('----?', this.promiseState)\n this.promiseState\n .then(data => {\n // console.log('------------then', data);\n this.childStateChange();\n this.getAttribute('change')?.({ status: 'fulfilled', data: data });\n return data;\n })\n .catch(e => {\n // console.log('catch', e)\n this.childStateChange();\n this.getAttribute('change')?.({ status: 'rejected', data: e });\n throw e;\n })\n .finally(() => {\n // console.log('-------------finally--------rrrrrrrrrrr', this.promiseState)\n // this.childStateChange();\n this.getAttribute('change')?.({ status: 'finally' });\n });\n // await this.promiseState;\n\n // console.log('---------------------rrrrrrrrrrr', this.promiseState)\n } else if (this.equalsAttributeName(name, 'data') && ValidUtils.isNullOrUndefined(value)) {\n this.promiseState = undefined;\n this.childStateChange();\n }\n }\n }\n}\n\nexport default {\n promiseDefault: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-default`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Default(...counstructorParam), config: config });\n }\n });\n },\n promisePending: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-pending`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Pending(...counstructorParam), config: config });\n }\n });\n },\n promiseFulfilled: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-fulfilled`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Fulfilled(...counstructorParam), config: config });\n }\n });\n },\n promiseRejected: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-rejected`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Rejected(...counstructorParam), config: config });\n }\n });\n },\n promiseSwitch: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}`,\n template: '#innerHTML#',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.PromiseSwitch(...counstructorParam), config: config });\n }\n });\n }\n};\n"],
5
- "mappings": "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",
6
- "names": ["PromiseSwitch"]
4
+ "sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\n\nimport { ValidUtils } from '@dooboostore/core';\nimport { Promises } from '@dooboostore/core';\nimport { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';\n\nexport namespace PromiseSwitch {\n export const selector = 'dr-promise-switch';\n export type ChangeParams<T> =\n | { status: 'pending' }\n | { status: 'finally' }\n | { status: 'fulfilled'; data: T }\n | { status: 'rejected'; data: any };\n export type Attribute = {\n // trigger?: boolean;\n data: Promise<any> | (() => Promise<any>);\n change?: <T>(data: ChangeParams<T>) => void;\n };\n\n class ChildBase<T = any> extends ComponentBase<T> {\n public hidden = true;\n }\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Default`\n // })\n export class Default extends ChildBase {}\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Pending`\n // // selector: `System-PromiseSwitch.Pending`\n // })\n export class Pending extends ChildBase<{ defaultView?: null }> {\n // onChangeAttrRender(name: string, value: any, other: OtherData) {\n // super.onChangeAttrRender(name, value, other);\n // if (this.equalsAttributeName(name, 'defaultView')) {\n // // console.log('--------------', value)\n // if (value !== null) {\n // this.hidden = false;\n // } else {\n // this.hidden = true;\n // }\n // // console.log('--------------', this.hidden)\n // }\n // }\n }\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Fulfilled`\n // })\n export class Fulfilled<T = any> extends ChildBase {\n private data?: T;\n\n setData(data: T) {\n this.data = data;\n }\n }\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Rejected`\n // })\n export class Rejected<T = any> extends ChildBase {\n private data?: T;\n\n setData(data: T) {\n this.data = data;\n }\n }\n\n /*\n <dr-promise-switch data=\"${@this@.pickWorldPromise}$\">\n ${@nearThis@.promiseState.status}$\n <dr-promise-switch-default>\n <button class=\"random-world-button\" dr-event-click=\"@this@.pickWorld()\">\n <i class=\"fa-solid fa-dice\"></i>\n </button>\n </dr-promise-switch-default>\n <dr-promise-switch-pending>\n <button class=\"random-world-button disabled spin\" >\n <i class=\"fa-solid fa-dice\"></i>\n </button>\n </dr-promise-switch-pending>\n </dr-promise-switch>\n */\n // @Component({\n // template: '#innerHTML#',\n // selector: `${selector}`\n // })\n export class PromiseSwitch extends ComponentBase<Attribute> {\n // private promise?: {\n // state: 'reject' | 'resolve',\n //\n // }\n private promiseState?: Promises.Result.PromiseState<any, unknown>;\n private state?: Promises.Result.PromiseState<any, unknown>['status'];\n\n onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n super.onCreatedThisChild(child, data);\n this.childStateChange();\n }\n\n childStateChange() {\n const defaults = this.getChildren(Default);\n const pendings = this.getChildren(Pending);\n const fulfilleds = this.getChildren(Fulfilled);\n const rejecteds = this.getChildren(Rejected);\n const full = [...fulfilleds, ...rejecteds, ...pendings, ...defaults];\n // console.log('----!!!!!!-------', this.promiseState, full)\n if (this.promiseState === undefined) {\n this.state = undefined;\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n defaults.filter(it => it.hidden).forEach(it => (it.hidden = false));\n pendings.filter(it => it.getAttribute('defaultView') && it.hidden).forEach(it => (it.hidden = false));\n } else if (this.promiseState.status === 'pending') {\n this.state = 'pending';\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n pendings.filter(it => it.hidden).forEach(it => (it.hidden = false));\n } else if (this.promiseState.status === 'fulfilled') {\n this.state = 'fulfilled';\n const value = this.promiseState.value;\n // console.log('-----------fulfilled promises', value);\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n fulfilleds.forEach(it => {\n it.setData(value);\n });\n fulfilleds.filter(it => it.hidden).forEach(it => (it.hidden = false));\n } else if (this.promiseState.status === 'rejected') {\n this.state = 'rejected';\n const value = this.promiseState.reason;\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n rejecteds.forEach(it => {\n it.setData(value);\n });\n rejecteds.filter(it => it.hidden).forEach(it => (it.hidden = false));\n }\n return this.state;\n // console.log('----!!!!!!-end------', this.promiseState, full.map(it=>it.hidden))\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n // console.log('-----------changer promises', name, value, this.getChildren(Default));\n if (this.equalsAttributeName(name, 'data') && value) {\n // this.childStateChange();\n this.promiseState = undefined;\n this.state = undefined;\n this.promiseState = Promises.Result.wrap(typeof value === 'function' ? value() : (value as Promise<any>));\n this.getAttribute('change')?.({ status: 'pending' });\n this.childStateChange();\n // console.log('----?', this.promiseState)\n this.promiseState\n .then(data => {\n // console.log('------------then', data);\n this.childStateChange();\n this.getAttribute('change')?.({ status: 'fulfilled', data: data });\n return data;\n })\n .catch(e => {\n // console.log('catch', e)\n this.childStateChange();\n this.getAttribute('change')?.({ status: 'rejected', data: e });\n throw e;\n })\n .finally(() => {\n // console.log('-------------finally--------rrrrrrrrrrr', this.promiseState)\n // this.childStateChange();\n this.getAttribute('change')?.({ status: 'finally' });\n });\n // await this.promiseState;\n\n // console.log('---------------------rrrrrrrrrrr', this.promiseState)\n } else if (this.equalsAttributeName(name, 'data') && ValidUtils.isNullOrUndefined(value)) {\n this.promiseState = undefined;\n this.childStateChange();\n }\n }\n }\n}\n\nexport default {\n promiseDefault: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-default`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Default(...counstructorParam), config: config });\n }\n });\n },\n promisePending: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-pending`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Pending(...counstructorParam), config: config });\n }\n });\n },\n promiseFulfilled: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-fulfilled`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Fulfilled(...counstructorParam), config: config });\n }\n });\n },\n promiseRejected: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-rejected`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Rejected(...counstructorParam), config: config });\n }\n });\n },\n promiseSwitch: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}`,\n template: '#innerHTML#',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.PromiseSwitch(...counstructorParam), config: config });\n }\n });\n }\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_core", "PromiseSwitch"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/router/Route.ts"],
4
- "sourcesContent": ["import { attribute, ComponentBase } from '../ComponentBase';\nimport { DomRender } from '../../DomRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport type { DomRenderConfig } from '../../configs/DomRenderConfig';\nimport { DomRenderNoProxy } from '../../decorators/DomRenderNoProxy';\nimport { OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';\nimport { Subscription } from '@dooboostore/core/message/Subscription';\n\nexport namespace Route {\n export const selector = 'dr-route';\n export type Attribute<D> = {\n value?: null | string;\n };\n\n abstract class CheckerBase<D> extends ComponentBase<Attribute<D>> implements OnInitRender {\n protected sw: boolean = false;\n @attribute({ name: 'value' })\n value?: string;\n @DomRenderNoProxy\n private inputDomRenderConfig?: DomRenderConfig;\n private routerSubscription?: Subscription;\n\n constructor(domRenderConfig?: DomRenderConfig) {\n super();\n this.inputDomRenderConfig = domRenderConfig;\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n this.routerSubscription = this.inputDomRenderConfig?.router?.observable.subscribe(it => {\n if (this.value && this.inputDomRenderConfig) {\n this.sw = this.check(this.inputDomRenderConfig);\n } else {\n this.sw = false;\n }\n });\n }\n\n onDrThisBind() {\n super.onDrThisBind();\n }\n\n onDrThisUnBind() {\n super.onDrThisUnBind();\n }\n\n onDestroyRender(data?: OnDestroyRenderParams) {\n super.onDestroyRender(data);\n this.routerSubscription?.unsubscribe();\n }\n\n abstract check(config?: DomRenderConfig): boolean;\n }\n\n export class Match<D> extends CheckerBase<D> {\n check(config?: DomRenderConfig): boolean {\n return !!config?.router?.test(this.value);\n }\n }\n\n export class Regexp<D> extends CheckerBase<D> {\n check(config?: DomRenderConfig): boolean {\n return !!config?.router?.testRegexp(this.value);\n }\n }\n}\n\nexport default {\n match: (config?: DomRenderConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Route.selector}-match`,\n template: '<div dr-if=\"@this@.sw\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Route.Match(config), config: config });\n }\n });\n },\n regexp: (config?: DomRenderConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Route.selector}-regexp`,\n template: '<div dr-if=\"@this@.sw\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Route.Regexp(config), config: config });\n }\n });\n }\n};\n"],
4
+ "sourcesContent": ["import { attribute, ComponentBase } from '../ComponentBase';\nimport { DomRender } from '../../DomRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport type { DomRenderConfig } from '../../configs/DomRenderConfig';\nimport { DomRenderNoProxy } from '../../decorators/DomRenderNoProxy';\nimport { OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';\nimport { Subscription } from '@dooboostore/core';\n\nexport namespace Route {\n export const selector = 'dr-route';\n export type Attribute<D> = {\n value?: null | string;\n };\n\n abstract class CheckerBase<D> extends ComponentBase<Attribute<D>> implements OnInitRender {\n protected sw: boolean = false;\n @attribute({ name: 'value' })\n value?: string;\n @DomRenderNoProxy\n private inputDomRenderConfig?: DomRenderConfig;\n private routerSubscription?: Subscription;\n\n constructor(domRenderConfig?: DomRenderConfig) {\n super();\n this.inputDomRenderConfig = domRenderConfig;\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n this.routerSubscription = this.inputDomRenderConfig?.router?.observable.subscribe(it => {\n if (this.value && this.inputDomRenderConfig) {\n this.sw = this.check(this.inputDomRenderConfig);\n } else {\n this.sw = false;\n }\n });\n }\n\n onDrThisBind() {\n super.onDrThisBind();\n }\n\n onDrThisUnBind() {\n super.onDrThisUnBind();\n }\n\n onDestroyRender(data?: OnDestroyRenderParams) {\n super.onDestroyRender(data);\n this.routerSubscription?.unsubscribe();\n }\n\n abstract check(config?: DomRenderConfig): boolean;\n }\n\n export class Match<D> extends CheckerBase<D> {\n check(config?: DomRenderConfig): boolean {\n return !!config?.router?.test(this.value);\n }\n }\n\n export class Regexp<D> extends CheckerBase<D> {\n check(config?: DomRenderConfig): boolean {\n return !!config?.router?.testRegexp(this.value);\n }\n }\n}\n\nexport default {\n match: (config?: DomRenderConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Route.selector}-match`,\n template: '<div dr-if=\"@this@.sw\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Route.Match(config), config: config });\n }\n });\n },\n regexp: (config?: DomRenderConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Route.selector}-regexp`,\n template: '<div dr-if=\"@this@.sw\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Route.Regexp(config), config: config });\n }\n });\n }\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAAyC;AACzC,uBAA0B;AAE1B,oBAAuB;AAEvB,8BAAiC;;;;;;;;;;AAI3B,IAAW;CAAjB,SAAiBA,QAAK;AACP,EAAAA,OAAA,WAAW;EAKxB,MAAe,oBAAuB,mCAA2B;IAQ/D,YAAY,iBAAiC;AAC3C,YAAK;AARG,WAAA,KAAc;AAStB,WAAK,uBAAuB;IAC9B;IAEA,MAAM,aAAa,OAAY,QAAc;AAC3C,YAAM,MAAM,aAAa,OAAO,MAAM;AACtC,WAAK,qBAAqB,KAAK,sBAAsB,QAAQ,WAAW,UAAU,QAAK;AACrF,YAAI,KAAK,SAAS,KAAK,sBAAsB;AAC3C,eAAK,KAAK,KAAK,MAAM,KAAK,oBAAoB;QAChD,OAAO;AACL,eAAK,KAAK;QACZ;MACF,CAAC;IACH;IAEA,eAAY;AACV,YAAM,aAAY;IACpB;IAEA,iBAAc;AACZ,YAAM,eAAc;IACtB;IAEA,gBAAgB,MAA4B;AAC1C,YAAM,gBAAgB,IAAI;AAC1B,WAAK,oBAAoB,YAAW;IACtC;;AAhCA,aAAA;QADC,gCAAU,EAAE,MAAM,QAAO,CAAE;;;AAGpB,aAAA;IADP;;;EAoCH,MAAa,cAAiB,YAAc;IAC1C,MAAM,QAAwB;AAC5B,aAAO,CAAC,CAAC,QAAQ,QAAQ,KAAK,KAAK,KAAK;IAC1C;;AAHW,EAAAA,OAAA,QAAK;EAMlB,MAAa,eAAkB,YAAc;IAC3C,MAAM,QAAwB;AAC5B,aAAO,CAAC,CAAC,QAAQ,QAAQ,WAAW,KAAK,KAAK;IAChD;;AAHW,EAAAA,OAAA,SAAM;AAKrB,GAzDiB,UAAA,QAAK,CAAA,EAAA;AA2DtB,IAAA,gBAAe;EACb,OAAO,CAAC,WAA4B;AAClC,WAAO,qBAAO,6BAA6B;MACzC,MAAM,GAAG,MAAM,QAAQ;MACvB,UAAU;MACV,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAqB;AAC1C,eAAO,2BAAU,IAAI,EAAE,YAAY,IAAI,MAAM,MAAM,MAAM,GAAG,OAAc,CAAE;MAC9E;KACD;EACH;EACA,QAAQ,CAAC,WAA4B;AACnC,WAAO,qBAAO,6BAA6B;MACzC,MAAM,GAAG,MAAM,QAAQ;MACvB,UAAU;MACV,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAqB;AAC1C,eAAO,2BAAU,IAAI,EAAE,YAAY,IAAI,MAAM,OAAO,MAAM,GAAG,OAAc,CAAE;MAC/E;KACD;EACH;;",
6
6
  "names": ["Route"]
7
7
  }
@@ -59,6 +59,9 @@ var RouterOutlet;
59
59
  onDestroyRender(data) {
60
60
  super.onDestroyRender(data);
61
61
  }
62
+ onDestroy() {
63
+ super.onDestroy();
64
+ }
62
65
  onChangeAttrRender(name, value, other) {
63
66
  super.onChangeAttrRender(name, value, other);
64
67
  if (this.equalsAttributeName(name, "value")) {