@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,9 +1,9 @@
1
1
  import { DomRenderConfig } from '../configs/DomRenderConfig';
2
- import { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';
3
- import { ElementUtils } from '@dooboostore/core-web/element/ElementUtils';
4
- import { Range } from '../iterators/Range';
2
+ import { ScriptUtils } from '@dooboostore/core-web';
3
+ import { ElementUtils } from '@dooboostore/core-web';
4
+ import { Range } from '@dooboostore/core';
5
5
  import { getDomRenderConfig } from '../DomRenderProxy';
6
- import { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';
6
+ import { ObjectUtils } from '@dooboostore/core';
7
7
 
8
8
  type HandlerInfo = {
9
9
  element: HTMLElement;
@@ -15,30 +15,27 @@ type HandlerInfo = {
15
15
  export type NormalAttrDataType = {
16
16
  originalAttrValue: string;
17
17
  isStringTemplate: boolean;
18
- variablePaths: { origin: string, inner: string }[];
19
- }
18
+ variablePaths: { origin: string; inner: string }[];
19
+ };
20
+
20
21
  export class EventManager {
21
22
  public static readonly attrPrefix = 'dr-';
22
- public readonly eventNames = [
23
- 'click', 'mousedown', 'mouseup', 'dblclick', 'mouseover', 'mouseout', 'mousemove', 'mouseenter', 'mouseleave', 'contextmenu',
24
- 'keyup', 'keydown', 'keypress', 'toggle',
25
- 'change', 'input', 'submit', 'resize', 'focus', 'blur',
26
- 'close', 'cancel'
27
- ];
23
+ public readonly eventNames = ['click', 'mousedown', 'mouseup', 'dblclick', 'mouseover', 'mouseout', 'mousemove', 'mouseenter', 'mouseleave', 'contextmenu', 'keyup', 'keydown', 'keypress', 'toggle', 'change', 'input', 'submit', 'resize', 'focus', 'blur', 'close', 'cancel', 'scroll'];
28
24
 
29
25
  private readonly delegatableEventMap: { [key: string]: string } = {
30
26
  mouseleave: 'mouseout',
31
27
  mouseenter: 'mouseover',
32
28
  focus: 'focusin',
33
- blur: 'focusout',
29
+ blur: 'focusout'
34
30
  };
35
- private readonly directAttachEvents = new Set(['close']);
31
+ private readonly directAttachEvents = new Set(['close', 'scroll']);
36
32
 
37
33
  public static ownerVariablePathAttrName = EventManager.attrPrefix + 'owner-variable-path';
38
34
 
39
35
  public static readonly eventParam = EventManager.attrPrefix + 'event';
40
36
  public static readonly onInitAttrName = EventManager.attrPrefix + 'on-init';
41
37
  public static readonly valueAttrName = EventManager.attrPrefix + 'value';
38
+ public static readonly srcAttrName = EventManager.attrPrefix + 'src';
42
39
  public static readonly checkedAttrName = EventManager.attrPrefix + 'checked';
43
40
  public static readonly selectedAttrName = EventManager.attrPrefix + 'selected';
44
41
  public static readonly readonlyAttrName = EventManager.attrPrefix + 'readonly';
@@ -53,8 +50,8 @@ export class EventManager {
53
50
  { name: EventManager.attrPrefix + 'hidden-link', property: 'value', event: 'input' },
54
51
  { name: EventManager.attrPrefix + 'required-link', property: 'value', event: 'input' },
55
52
  { name: EventManager.attrPrefix + 'checked-link', property: 'checked', event: 'change' },
56
- { name: EventManager.attrPrefix + 'open-link', property: 'open', event: 'toggle' },
57
- ]
53
+ { name: EventManager.attrPrefix + 'open-link', property: 'open', event: 'toggle' }
54
+ ];
58
55
  // @ts-ignore 합성이벤트(Synthetic) 처리하면서 의미가 없어졌다
59
56
  public static readonly linkTargetMapAttrName = EventManager.attrPrefix + 'link-variables';
60
57
 
@@ -92,27 +89,10 @@ export class EventManager {
92
89
 
93
90
  public static readonly WINDOW_EVENT_POPSTATE = 'popstate';
94
91
  public static readonly WINDOW_EVENT_RESIZE = 'resize';
95
- public static readonly WINDOW_EVENTS = [EventManager.WINDOW_EVENT_POPSTATE, EventManager.WINDOW_EVENT_RESIZE];
96
- public static readonly noDetectAttr = [EventManager.normalAttrMapAttrName]
97
- public static readonly attrNames = [
98
- EventManager.valueAttrName,
99
- EventManager.checkedAttrName,
100
- EventManager.selectedAttrName,
101
- EventManager.readonlyAttrName,
102
- EventManager.disabledAttrName,
103
- EventManager.hiddenAttrName,
104
- EventManager.requiredAttrName,
105
- EventManager.openAttrName,
106
- EventManager.attrAttrName,
107
- EventManager.normalAttrMapAttrName,
108
- EventManager.styleAttrName,
109
- EventManager.classAttrName,
110
- EventManager.attrPrefix + 'window-event-' + EventManager.WINDOW_EVENT_POPSTATE,
111
- EventManager.attrPrefix + 'window-event-' + EventManager.WINDOW_EVENT_RESIZE,
112
- EventManager.onInitAttrName,
113
- ...EventManager.linkAttrs.map(it => it.name),
114
- this.eventParam
115
- ];
92
+ public static readonly WINDOW_EVENT_SCROLL = 'scroll';
93
+ public static readonly WINDOW_EVENTS = [EventManager.WINDOW_EVENT_POPSTATE, EventManager.WINDOW_EVENT_RESIZE, EventManager.WINDOW_EVENT_SCROLL];
94
+ public static readonly noDetectAttr = [EventManager.normalAttrMapAttrName];
95
+ public static readonly attrNames = [EventManager.valueAttrName, EventManager.srcAttrName, EventManager.checkedAttrName, EventManager.selectedAttrName, EventManager.readonlyAttrName, EventManager.disabledAttrName, EventManager.hiddenAttrName, EventManager.requiredAttrName, EventManager.openAttrName, EventManager.attrAttrName, EventManager.normalAttrMapAttrName, EventManager.styleAttrName, EventManager.classAttrName, EventManager.attrPrefix + 'window-event-' + EventManager.WINDOW_EVENT_POPSTATE, EventManager.attrPrefix + 'window-event-' + EventManager.WINDOW_EVENT_RESIZE, EventManager.attrPrefix + 'window-event-' + EventManager.WINDOW_EVENT_SCROLL, EventManager.onInitAttrName, ...EventManager.linkAttrs.map(it => it.name), this.eventParam];
116
96
  readonly bindScript = `
117
97
  const ${EventManager.VALUE_VARNAME} = this.__render.value;
118
98
  const ${EventManager.SCRIPTS_VARNAME} = this.__render.scripts;
@@ -133,7 +113,7 @@ export class EventManager {
133
113
 
134
114
  if (typeof window !== 'undefined') {
135
115
  EventManager.WINDOW_EVENTS.forEach(eventName => {
136
- window?.addEventListener(eventName, (event) => {
116
+ window?.addEventListener(eventName, event => {
137
117
  const targetAttr = `dr-window-event-${eventName}`;
138
118
  document.querySelectorAll(`[${targetAttr}]`).forEach(it => {
139
119
  const script = it.getAttribute(targetAttr);
@@ -186,9 +166,7 @@ export class EventManager {
186
166
  if (!root) return handlers;
187
167
 
188
168
  const initialTarget = event.target as Node;
189
- let currentTarget: HTMLElement | null = (initialTarget.nodeType === 1)
190
- ? (initialTarget as HTMLElement)
191
- : initialTarget.parentElement;
169
+ let currentTarget: HTMLElement | null = initialTarget.nodeType === 1 ? (initialTarget as HTMLElement) : initialTarget.parentElement;
192
170
  const collectedElements = new Set<HTMLElement>();
193
171
 
194
172
  const eventMap: { [key: string]: string } = {
@@ -231,7 +209,13 @@ export class EventManager {
231
209
  const eventParamAttr = EventManager.eventParam;
232
210
  if (currentTarget.hasAttribute(eventParamAttr)) {
233
211
  const bindEvents = currentTarget.getAttribute(`${eventParamAttr}:bind`);
234
- if (bindEvents && bindEvents.split(',').map(s => s.trim()).includes(mappedEventName)) {
212
+ if (
213
+ bindEvents &&
214
+ bindEvents
215
+ .split(',')
216
+ .map(s => s.trim())
217
+ .includes(mappedEventName)
218
+ ) {
235
219
  handlers.push({
236
220
  element: currentTarget,
237
221
  attr: eventParamAttr,
@@ -366,9 +350,11 @@ export class EventManager {
366
350
  const attributes = ElementUtils.getAttributeToObject(element);
367
351
  const params = {} as any;
368
352
  const prefix = attr + ':';
369
- Object.entries(attributes).filter(([k, v]) => k.startsWith(prefix)).forEach(([k, v]) => {
370
- params[k.slice(prefix.length)] = v;
371
- });
353
+ Object.entries(attributes)
354
+ .filter(([k, v]) => k.startsWith(prefix))
355
+ .forEach(([k, v]) => {
356
+ params[k.slice(prefix.length)] = v;
357
+ });
372
358
 
373
359
  const paramContext = this.createExecutionContext(event, element, componentInstance, config, { params });
374
360
  ScriptUtils.evaluate(`${this.getBindScript(config)} ${paramScript}`, paramContext);
@@ -406,6 +392,15 @@ export class EventManager {
406
392
  }
407
393
  }
408
394
  });
395
+ this.procAttr<HTMLInputElement>(childNodes, EventManager.srcAttrName, (it, attribute) => {
396
+ const script = attribute;
397
+ if (script) {
398
+ const data = ObjectUtils.Script.evaluateReturn(script, obj);
399
+ if (it.src !== data) {
400
+ it.src = data;
401
+ }
402
+ }
403
+ });
409
404
  // console.log('applyEvent value time', performance.now() - t0);
410
405
  // t0 = performance.now();
411
406
  this.procAttr<HTMLInputElement>(childNodes, EventManager.checkedAttrName, (it, attribute) => {
@@ -423,6 +418,11 @@ export class EventManager {
423
418
  const script = attribute;
424
419
  if (script) {
425
420
  const data = ObjectUtils.Script.evaluateReturn(script, obj);
421
+ if (data) {
422
+ it.setAttribute('selected', 'selected');
423
+ } else {
424
+ it.removeAttribute('selected');
425
+ }
426
426
  if (it.selected !== data) {
427
427
  it.selected = data;
428
428
  }
@@ -434,6 +434,11 @@ export class EventManager {
434
434
  const script = attribute;
435
435
  if (script) {
436
436
  const data = ObjectUtils.Script.evaluateReturn(script, obj);
437
+ if (data) {
438
+ it.setAttribute('readonly', 'readonly');
439
+ } else {
440
+ it.removeAttribute('readonly');
441
+ }
437
442
  if (it.readOnly !== data) {
438
443
  it.readOnly = data;
439
444
  }
@@ -445,6 +450,11 @@ export class EventManager {
445
450
  const script = attribute;
446
451
  if (script) {
447
452
  const data = ObjectUtils.Script.evaluateReturn(script, obj);
453
+ if (data) {
454
+ it.setAttribute('disabled', 'disabled');
455
+ } else {
456
+ it.removeAttribute('disabled');
457
+ }
448
458
  if (it.disabled !== data) {
449
459
  it.disabled = data;
450
460
  }
@@ -456,6 +466,11 @@ export class EventManager {
456
466
  const script = attribute;
457
467
  if (script) {
458
468
  const data = ObjectUtils.Script.evaluateReturn(script, obj);
469
+ if (data) {
470
+ it.setAttribute('hidden', 'hidden');
471
+ } else {
472
+ it.removeAttribute('hidden');
473
+ }
459
474
  if (it.hidden !== data) {
460
475
  it.hidden = data;
461
476
  }
@@ -467,6 +482,11 @@ export class EventManager {
467
482
  const script = attribute;
468
483
  if (script) {
469
484
  const data = ObjectUtils.Script.evaluateReturn(script, obj);
485
+ if (data) {
486
+ it.setAttribute('required', 'required');
487
+ } else {
488
+ it.removeAttribute('required');
489
+ }
470
490
  if (it.required !== data) {
471
491
  it.required = data;
472
492
  }
@@ -478,6 +498,11 @@ export class EventManager {
478
498
  const script = attribute;
479
499
  if (script) {
480
500
  const data = ObjectUtils.Script.evaluateReturn(script, obj);
501
+ if (data) {
502
+ it.setAttribute('open', 'open');
503
+ } else {
504
+ it.removeAttribute('open');
505
+ }
481
506
  if (it.open !== data) {
482
507
  it.open = data;
483
508
  }
@@ -488,29 +513,31 @@ export class EventManager {
488
513
  this.procAttr(childNodes, EventManager.normalAttrMapAttrName, (it, attribute) => {
489
514
  const map = new Map<string, NormalAttrDataType>(JSON.parse(attribute));
490
515
  map.forEach((v, k) => {
491
-
492
516
  const variablePaths = v.variablePaths;
493
- let targetScript = v.originalAttrValue;//typeof v.originalAttrValue === 'string' ? JSON.parse(v.originalAttrValue) : v.originalAttrValue;
517
+ let targetScript = v.originalAttrValue; //typeof v.originalAttrValue === 'string' ? JSON.parse(v.originalAttrValue) : v.originalAttrValue;
494
518
  let script: string;
495
519
  if (v.isStringTemplate) {
496
520
  variablePaths.forEach(it => {
497
521
  let r = ObjectUtils.Path.toOptionalChainPath(it.inner);
498
522
  targetScript = targetScript.replaceAll(it.origin, `\${${r}}`);
499
- })
523
+ });
500
524
  script = '`' + targetScript + '`';
501
525
  } else {
502
526
  variablePaths.forEach(it => {
503
527
  let r = ObjectUtils.Path.toOptionalChainPath(it.inner);
504
528
  targetScript = targetScript.replaceAll(it.origin, `${r}`);
505
- })
529
+ });
506
530
  script = targetScript;
507
531
  }
508
- const data = ObjectUtils.Script.evaluate(`const $element = this.element; return ${script}`, Object.assign(obj, {
509
- __render: Object.freeze({
510
- element: it,
511
- attribute: ElementUtils.getAttributeToObject(it)
532
+ const data = ObjectUtils.Script.evaluate(
533
+ `const $element = this.element; return ${script}`,
534
+ Object.assign(obj, {
535
+ __render: Object.freeze({
536
+ element: it,
537
+ attribute: ElementUtils.getAttributeToObject(it)
538
+ })
512
539
  })
513
- }));
540
+ );
514
541
  // console.log('!!!!!!!!!!!', k, data, script, variablePaths, v)
515
542
  if (data === null || data === undefined) {
516
543
  it.removeAttribute(k);
@@ -592,20 +619,25 @@ export class EventManager {
592
619
  script = 'return ' + script;
593
620
  }
594
621
  if (script) {
595
- ObjectUtils.Script.evaluate(`${this.getBindScript(config)}; ${script} `, Object.assign(obj, {
596
- __render: Object.freeze({
597
- element: it,
598
- attribute: ElementUtils.getAttributeToObject(it),
599
- ...config?.eventVariables
622
+ ObjectUtils.Script.evaluate(
623
+ `${this.getBindScript(config)}; ${script} `,
624
+ Object.assign(obj, {
625
+ __render: Object.freeze({
626
+ element: it,
627
+ attribute: ElementUtils.getAttributeToObject(it),
628
+ ...config?.eventVariables
629
+ })
600
630
  })
601
- }));
631
+ );
602
632
  }
603
633
  });
604
634
  // console.log('applyEvent value time', performance.now() - t0);
605
635
  // t0 = performance.now();
606
636
  this.onRenderedEvent(obj, childNodes, config);
607
637
  this.changeVar(obj, childNodes, undefined, config);
608
- const elements = Array.from(childNodes).filter(it => it.nodeType === 1).map(it => it as Element);
638
+ const elements = Array.from(childNodes)
639
+ .filter(it => it.nodeType === 1)
640
+ .map(it => it as Element);
609
641
  elements.forEach(it => {
610
642
  config?.applyEvents?.filter(ta => it.getAttribute(ta.attrName) !== null).forEach(ta => ta.callBack(it, it.getAttribute(ta.attrName)!, obj));
611
643
  });
@@ -621,18 +653,23 @@ export class EventManager {
621
653
  script = 'return ' + script;
622
654
  }
623
655
  if (script) {
624
- ObjectUtils.Script.evaluate(`${this.getBindScript(config)}; ${script} `, Object.assign(obj, {
625
- __render: Object.freeze({
626
- element: it,
627
- attribute: ElementUtils.getAttributeToObject(it),
628
- ...config?.eventVariables
656
+ ObjectUtils.Script.evaluate(
657
+ `${this.getBindScript(config)}; ${script} `,
658
+ Object.assign(obj, {
659
+ __render: Object.freeze({
660
+ element: it,
661
+ attribute: ElementUtils.getAttributeToObject(it),
662
+ ...config?.eventVariables
663
+ })
629
664
  })
630
- }));
665
+ );
631
666
  }
632
667
  });
633
668
  }
634
669
 
635
670
  public changeVar(obj: any, elements: Set<Element> | Set<ChildNode>, varName?: string, config?: DomRenderConfig) {
671
+ // 아래 이부분을 적용해야될지 말아야될지....성능이슈가.. 그래서 우선 timeout으로 테스크큐로.. 우선..
672
+
636
673
  // console.log('changeVar', obj, elements, varName)
637
674
  this.procAttr(elements, EventManager.styleAttrName, (it: HTMLElement, attribute) => {
638
675
  let script = attribute;
@@ -640,19 +677,22 @@ export class EventManager {
640
677
  script = 'return ' + script;
641
678
  }
642
679
  if (EventManager.isUsingThisVar(script, varName) || varName === undefined) {
643
- const data = ObjectUtils.Script.evaluate(`const $element = this.__render.element; ${script} `, Object.assign(obj, {
644
- __render: Object.freeze({
645
- element: it,
646
- attribute: ElementUtils.getAttributeToObject(it)
680
+ const data = ObjectUtils.Script.evaluate(
681
+ `const $element = this.__render.element; ${script} `,
682
+ Object.assign(obj, {
683
+ __render: Object.freeze({
684
+ element: it,
685
+ attribute: ElementUtils.getAttributeToObject(it)
686
+ })
647
687
  })
648
- }));
688
+ );
649
689
  if (typeof data === 'string') {
650
690
  data.split(';').forEach(sit => {
651
691
  const [key, value] = sit.split(':').map(s => s.trim());
652
692
  if (key && value) {
653
693
  (it.style as any)[key] = value;
654
694
  }
655
- })
695
+ });
656
696
  // it.setAttribute('style', data);
657
697
  } else if (Array.isArray(data)) {
658
698
  data.forEach(sit => {
@@ -660,10 +700,10 @@ export class EventManager {
660
700
  if (key && value) {
661
701
  (it.style as any)[key] = value;
662
702
  }
663
- })
703
+ });
664
704
 
665
705
  // it.setAttribute('style', data.join(';'));
666
- } else {
706
+ } else if (data) {
667
707
  for (const [key, value] of Object.entries(data)) {
668
708
  // if (it instanceof HTMLElement) {
669
709
  (it.style as any)[key] = value === null ? null : String(value);
@@ -679,25 +719,36 @@ export class EventManager {
679
719
  script = 'return ' + script;
680
720
  }
681
721
  if (EventManager.isUsingThisVar(script, varName) || varName === undefined) {
682
- const data = ObjectUtils.Script.evaluate(`const $element = this.element; ${script} `, Object.assign(obj, {
683
- __render: Object.freeze({
684
- element: it,
685
- attribute: ElementUtils.getAttributeToObject(it)
722
+ const data = ObjectUtils.Script.evaluate(
723
+ `const $element = this.element; ${script} `,
724
+ Object.assign(obj, {
725
+ __render: Object.freeze({
726
+ element: it,
727
+ attribute: ElementUtils.getAttributeToObject(it)
728
+ })
686
729
  })
687
- }));
730
+ );
688
731
 
689
732
  // alert(1)
690
733
  if (typeof data === 'string') {
691
- data.split(' ').forEach(cit => it.classList.add(cit.trim()));
734
+ data
735
+ .split(' ')
736
+ .map(it => it.trim())
737
+ .filter(it => it.length > 0)
738
+ .forEach(cit => it.classList.add(cit.trim()));
692
739
  } else if (Array.isArray(data)) {
693
- data.forEach(cit => it.classList.add(cit.trim()));
694
- } else {
740
+ data
741
+ .map(it => it.trim())
742
+ .filter(it => it.length > 0)
743
+ .forEach(cit => it.classList.add(cit.trim()));
744
+ } else if (data) {
695
745
  for (const [key, value] of Object.entries(data)) {
696
746
  if (it instanceof HTMLElement) {
697
- if (value) {
698
- it.classList.add(key.trim());
699
- } else {
700
- it.classList.remove(key.trim());
747
+ const v = key.trim();
748
+ if (value && v) {
749
+ it.classList.add(v);
750
+ } else if (v) {
751
+ it.classList.remove(v);
701
752
  }
702
753
  }
703
754
  }
@@ -762,7 +813,7 @@ export class EventManager {
762
813
  });
763
814
  }
764
815
 
765
- public procAttr<T extends Element = Element>(elements: Set<Element> | Set<ChildNode> | Node[] = new Set(), attrName: string, callBack: (h: T, value: string, attributes: any) => void) {
816
+ public deepAttributeElements(elements: Set<Element> | Set<ChildNode> | Node[] = new Set(), attrName: string): Set<Element> {
766
817
  const sets = new Set<Element>();
767
818
  elements.forEach(it => {
768
819
  if (!it) {
@@ -770,17 +821,26 @@ export class EventManager {
770
821
  }
771
822
  if (it.nodeType === 1) {
772
823
  const e = it as Element;
773
- sets.add(e);
774
- e.querySelectorAll<T>(`[${attrName}]`).forEach(it => {
824
+ if (e.hasAttribute(attrName)) {
825
+ sets.add(e);
826
+ }
827
+ e.querySelectorAll<Element>(`[${attrName}]`).forEach(it => {
775
828
  sets.add(it);
776
829
  });
777
830
  }
778
831
  });
832
+ return sets;
833
+ }
834
+
835
+ public procAttr<T extends Element = Element>(elements: Set<Element> | Set<ChildNode> | Node[] = new Set(), attrName: string, callBack: (h: T, value: string, attributes: any) => void) {
836
+ const sets = this.deepAttributeElements(elements, attrName);
779
837
  sets.forEach(it => {
780
838
  const attr = it.getAttribute(attrName);
781
839
  const attrs = ElementUtils.getAttributeToObject(it);
782
840
  if (attr) {
841
+ // setTimeout(() => {
783
842
  callBack(it as T, attr, attrs);
843
+ // }, 0)
784
844
  }
785
845
  });
786
846
  }
@@ -795,23 +855,31 @@ export class EventManager {
795
855
 
796
856
  public setValue(obj: any, name: string, value?: any) {
797
857
  name = name.replaceAll('this.', 'this.this.');
798
- ScriptUtils.evaluate(`${name} = this.value;`, {
858
+ ObjectUtils.Script.evaluate(`${name} = this.value;`, {
799
859
  this: obj,
800
860
  value: value
801
861
  });
802
862
  }
803
863
 
804
- public static isUsingThisVar(raws: string | null | undefined, varName: string | null | undefined): boolean {
805
- if (varName && raws) {
806
- if (varName.startsWith('this.')) {
807
- varName = varName.replace(/this\./, '');
808
- }
864
+ public static decodeScriptVar(raws: string | null | undefined): string | undefined {
865
+ if (raws) {
809
866
  // TODO: 훔.. 꼭필요한가..? 트리거될때 스크립트변수 까지 감지해야될까?
810
867
  EventManager.VARNAMES.forEach(it => {
811
868
  // raws = raws!.replace(RegExp(it.replace('$', '\\$'), 'g'), `this?.___${it}`);
812
869
  raws = raws!.replace(RegExp(it.replace('$', '\\$'), 'g'), `this.___${it}`);
813
870
  });
814
- const variablePaths = ObjectUtils.Path.detectPathFromScript(raws ?? '', { excludeThis: true });
871
+ return raws;
872
+ }
873
+ return undefined;
874
+ }
875
+
876
+ public static isUsingThisVar(raws: string | null | undefined, varName: string | null | undefined): boolean {
877
+ raws = EventManager.decodeScriptVar(raws);
878
+ if (varName && raws) {
879
+ if (varName.startsWith('this.')) {
880
+ varName = varName.replace(/this\./, '');
881
+ }
882
+ const variablePaths = ObjectUtils.Path.detectPathFromScript(raws, { excludeThis: true });
815
883
  return variablePaths.has(varName);
816
884
  }
817
885
  return false;
@@ -831,13 +899,15 @@ export class EventManager {
831
899
 
832
900
  getBindScript(config?: DomRenderConfig) {
833
901
  if (config?.eventVariables) {
834
- const bindScript = Object.entries(config.eventVariables).filter(([key, value]) => !this.bindScript.includes(`const ${key}`)).map(([key, value]) => {
835
- return `const ${key} = this.__render.${key};`;
836
- }).join(';');
902
+ const bindScript = Object.entries(config.eventVariables)
903
+ .filter(([key, value]) => !this.bindScript.includes(`const ${key}`))
904
+ .map(([key, value]) => {
905
+ return `const ${key} = this.__render.${key};`;
906
+ })
907
+ .join(';');
837
908
  return this.bindScript + '' + bindScript;
838
909
  } else {
839
910
  return this.bindScript;
840
911
  }
841
912
  }
842
913
  }
843
-
package/src/index.ts CHANGED
@@ -1,17 +1,32 @@
1
- //
2
- // export * from './components';
3
- // export * from './configs';
4
- // export * from './decorators';
5
- // export * from './events';
6
- // export * from './iterators';
7
- // export * from './lifecycle';
8
- // export * from './messenger';
9
- // // export * from './operators';
10
- // export { Appender as AppenderArray, Dr, DrAppender, DrFor, DrForOf, DrForm, DrIf, DrInnerHTML, DrInnerText, DrPre, DrRepeat, DrStripElement, DrTargetAttr, DrTargetElement, DrTargetElementIsElement, DrThis, DrThisProperty, OperatorExecuter, OperatorExecuterAttrRequire } from './operators';
11
- // export * from './rawsets';
12
- // export * from './routers';
13
- // export * from './types';
14
- // export * from './validators';
15
- // export * from './DomRender';
16
- // export * from './DomRenderProxy';
17
- export default {}
1
+ export {
2
+ drComponent,
3
+ If,
4
+ This,
5
+ Appender as AppenderComponent,
6
+ PromiseSwitch,
7
+ Choose,
8
+ CheckBox,
9
+ Radio,
10
+ Select,
11
+ Timer,
12
+ Details,
13
+ Input,
14
+ Route,
15
+ RouterOutlet,
16
+ A,
17
+ ComponentSet,
18
+ ComponentRouterBase,
19
+ ComponentBase
20
+ } from './components';
21
+ export type { ComponentBaseConfig, ChildrenSet, ComponentRouterBaseConfig } from './components';
22
+ export * from './configs';
23
+ export * from './decorators';
24
+ export * from './events';
25
+ export * from './lifecycle';
26
+ export * from './messenger';
27
+ export * from './operators';
28
+ export * from './rawsets';
29
+ export * from './types';
30
+ export * from './DomRender';
31
+ export * from './DomRenderProxy';
32
+ export default {};
@@ -1,4 +1,4 @@
1
- import { ConstructorType } from '@dooboostore/core/types';
1
+ import { ConstructorType } from '@dooboostore/core';
2
2
  import {DomRenderFinalProxy} from '../types/Types';
3
3
  import {DomRenderConfig} from '../configs/DomRenderConfig';
4
4
 
@@ -1,9 +1,8 @@
1
1
  import {OperatorExecuterAttrRequire} from './OperatorExecuterAttrRequire';
2
- import {ScriptUtils} from '@dooboostore/core-web/script/ScriptUtils';
3
2
  import {RawSet} from '../rawsets/RawSet';
4
3
  import {Render} from '../rawsets/Render';
5
4
  import {AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source} from './OperatorExecuter';
6
- import {ObjectUtils} from "@dooboostore/core/object/ObjectUtils";
5
+ import {ObjectUtils} from "@dooboostore/core";
7
6
 
8
7
  export class Dr extends OperatorExecuterAttrRequire<null> {
9
8
  constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {