@dooboostore/dom-render 1.0.108 → 1.0.110

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/README.MD +27 -1451
  2. package/dist/cjs/DomRender.js +41 -26
  3. package/dist/cjs/DomRender.js.map +2 -2
  4. package/dist/cjs/DomRenderProxy.js +134 -62
  5. package/dist/cjs/DomRenderProxy.js.map +2 -2
  6. package/dist/cjs/bundle-entry.js +32 -21
  7. package/dist/cjs/bundle-entry.js.map +2 -2
  8. package/dist/cjs/components/ComponentBase.js +24 -6
  9. package/dist/cjs/components/ComponentBase.js.map +2 -2
  10. package/dist/cjs/components/ComponentRouterBase.js +11 -1
  11. package/dist/cjs/components/ComponentRouterBase.js.map +2 -2
  12. package/dist/cjs/components/appender/Appender.js +0 -3
  13. package/dist/cjs/components/appender/Appender.js.map +2 -2
  14. package/dist/cjs/components/checkbox/CheckBox.js.map +2 -2
  15. package/dist/cjs/components/choose/Choose.js +7 -1
  16. package/dist/cjs/components/choose/Choose.js.map +2 -2
  17. package/dist/cjs/components/details/Details.js +2 -2
  18. package/dist/cjs/components/details/Details.js.map +2 -2
  19. package/dist/cjs/components/forOf/ForOf.js.map +2 -2
  20. package/dist/cjs/components/if/If.js +2 -2
  21. package/dist/cjs/components/if/If.js.map +2 -2
  22. package/dist/cjs/components/input/Input.js +2 -2
  23. package/dist/cjs/components/input/Input.js.map +2 -2
  24. package/dist/cjs/components/promise/PromiseSwitch.js +6 -6
  25. package/dist/cjs/components/promise/PromiseSwitch.js.map +2 -2
  26. package/dist/cjs/components/radio/Radio.js.map +2 -2
  27. package/dist/cjs/components/router/Route.js +2 -2
  28. package/dist/cjs/components/router/Route.js.map +2 -2
  29. package/dist/cjs/components/router/RouterOutlet.js +17 -3
  30. package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
  31. package/dist/cjs/components/select/Select.js +26 -12
  32. package/dist/cjs/components/select/Select.js.map +2 -2
  33. package/dist/cjs/components/this/This.js +2 -2
  34. package/dist/cjs/components/this/This.js.map +2 -2
  35. package/dist/cjs/components/timer/Timer.js +15 -13
  36. package/dist/cjs/components/timer/Timer.js.map +2 -2
  37. package/dist/cjs/decorators/DomRenderNoProxy.js +2 -1
  38. package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
  39. package/dist/cjs/events/EventManager.js +9 -2
  40. package/dist/cjs/events/EventManager.js.map +2 -2
  41. package/dist/cjs/lifecycle/OnInitRender.js.map +1 -1
  42. package/dist/cjs/lifecycle/OnRawSetRendered.js +26 -0
  43. package/dist/cjs/lifecycle/OnRawSetRendered.js.map +7 -0
  44. package/dist/cjs/lifecycle/index.js +1 -0
  45. package/dist/cjs/lifecycle/index.js.map +2 -2
  46. package/dist/cjs/operators/DrForOf.js +24 -11
  47. package/dist/cjs/operators/DrForOf.js.map +2 -2
  48. package/dist/cjs/operators/DrIf.js +1 -2
  49. package/dist/cjs/operators/DrIf.js.map +2 -2
  50. package/dist/cjs/operators/DrInnerText.js +2 -2
  51. package/dist/cjs/operators/DrInnerText.js.map +2 -2
  52. package/dist/cjs/operators/DrTargetElement.js +2 -0
  53. package/dist/cjs/operators/DrTargetElement.js.map +2 -2
  54. package/dist/cjs/operators/OperatorExecuter.js +1 -2
  55. package/dist/cjs/operators/OperatorExecuter.js.map +2 -2
  56. package/dist/cjs/package.json +5 -0
  57. package/dist/cjs/rawsets/RawSet.js +392 -115
  58. package/dist/cjs/rawsets/RawSet.js.map +3 -3
  59. package/dist/cjs/rawsets/Render.js.map +1 -1
  60. package/dist/cjs/routers/PathRouter.js +13 -7
  61. package/dist/cjs/routers/PathRouter.js.map +2 -2
  62. package/dist/cjs/routers/Router.js +76 -36
  63. package/dist/cjs/routers/Router.js.map +3 -3
  64. package/dist/esm/DomRender.js +41 -26
  65. package/dist/esm/DomRender.js.map +2 -2
  66. package/dist/esm/DomRenderProxy.js +134 -62
  67. package/dist/esm/DomRenderProxy.js.map +2 -2
  68. package/dist/esm/bundle-entry.js +22 -21
  69. package/dist/esm/bundle-entry.js.map +2 -2
  70. package/dist/esm/components/ComponentBase.js +24 -6
  71. package/dist/esm/components/ComponentBase.js.map +2 -2
  72. package/dist/esm/components/ComponentRouterBase.js +11 -1
  73. package/dist/esm/components/ComponentRouterBase.js.map +2 -2
  74. package/dist/esm/components/appender/Appender.js +0 -3
  75. package/dist/esm/components/appender/Appender.js.map +2 -2
  76. package/dist/esm/components/checkbox/CheckBox.js.map +2 -2
  77. package/dist/esm/components/choose/Choose.js +7 -1
  78. package/dist/esm/components/choose/Choose.js.map +2 -2
  79. package/dist/esm/components/details/Details.js +2 -2
  80. package/dist/esm/components/details/Details.js.map +2 -2
  81. package/dist/esm/components/forOf/ForOf.js.map +2 -2
  82. package/dist/esm/components/if/If.js +2 -2
  83. package/dist/esm/components/if/If.js.map +2 -2
  84. package/dist/esm/components/input/Input.js +2 -2
  85. package/dist/esm/components/input/Input.js.map +2 -2
  86. package/dist/esm/components/promise/PromiseSwitch.js +6 -6
  87. package/dist/esm/components/promise/PromiseSwitch.js.map +2 -2
  88. package/dist/esm/components/radio/Radio.js.map +2 -2
  89. package/dist/esm/components/router/Route.js +2 -2
  90. package/dist/esm/components/router/Route.js.map +2 -2
  91. package/dist/esm/components/router/RouterOutlet.js +18 -4
  92. package/dist/esm/components/router/RouterOutlet.js.map +2 -2
  93. package/dist/esm/components/select/Select.js +26 -12
  94. package/dist/esm/components/select/Select.js.map +2 -2
  95. package/dist/esm/components/this/This.js +2 -2
  96. package/dist/esm/components/this/This.js.map +2 -2
  97. package/dist/esm/components/timer/Timer.js +15 -13
  98. package/dist/esm/components/timer/Timer.js.map +2 -2
  99. package/dist/esm/decorators/DomRenderNoProxy.js +2 -1
  100. package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
  101. package/dist/esm/events/EventManager.js +9 -2
  102. package/dist/esm/events/EventManager.js.map +2 -2
  103. package/dist/esm/lifecycle/OnInitRender.js.map +1 -1
  104. package/dist/esm/lifecycle/OnRawSetRendered.js +7 -0
  105. package/dist/esm/lifecycle/OnRawSetRendered.js.map +7 -0
  106. package/dist/esm/lifecycle/index.js +1 -0
  107. package/dist/esm/lifecycle/index.js.map +2 -2
  108. package/dist/esm/operators/DrForOf.js +24 -11
  109. package/dist/esm/operators/DrForOf.js.map +2 -2
  110. package/dist/esm/operators/DrIf.js +1 -2
  111. package/dist/esm/operators/DrIf.js.map +2 -2
  112. package/dist/esm/operators/DrInnerText.js +2 -2
  113. package/dist/esm/operators/DrInnerText.js.map +2 -2
  114. package/dist/esm/operators/DrTargetElement.js +2 -0
  115. package/dist/esm/operators/DrTargetElement.js.map +2 -2
  116. package/dist/esm/operators/OperatorExecuter.js +1 -2
  117. package/dist/esm/operators/OperatorExecuter.js.map +2 -2
  118. package/dist/esm/rawsets/RawSet.js +392 -115
  119. package/dist/esm/rawsets/RawSet.js.map +3 -3
  120. package/dist/esm/routers/PathRouter.js +13 -7
  121. package/dist/esm/routers/PathRouter.js.map +2 -2
  122. package/dist/esm/routers/Router.js +76 -36
  123. package/dist/esm/routers/Router.js.map +3 -3
  124. package/dist/esm-bundle/dooboostore-dom-render.esm.js +14023 -6402
  125. package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
  126. package/dist/types/DomRender.d.ts +11 -5
  127. package/dist/types/DomRender.d.ts.map +1 -1
  128. package/dist/types/DomRenderProxy.d.ts +2 -2
  129. package/dist/types/DomRenderProxy.d.ts.map +1 -1
  130. package/dist/types/bundle-entry.d.ts +5 -2
  131. package/dist/types/bundle-entry.d.ts.map +1 -1
  132. package/dist/types/components/ComponentBase.d.ts +8 -2
  133. package/dist/types/components/ComponentBase.d.ts.map +1 -1
  134. package/dist/types/components/ComponentRouterBase.d.ts +8 -0
  135. package/dist/types/components/ComponentRouterBase.d.ts.map +1 -1
  136. package/dist/types/components/appender/Appender.d.ts +0 -2
  137. package/dist/types/components/appender/Appender.d.ts.map +1 -1
  138. package/dist/types/components/checkbox/CheckBox.d.ts.map +1 -1
  139. package/dist/types/components/choose/Choose.d.ts.map +1 -1
  140. package/dist/types/components/details/Details.d.ts +1 -1
  141. package/dist/types/components/details/Details.d.ts.map +1 -1
  142. package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
  143. package/dist/types/components/if/If.d.ts +1 -1
  144. package/dist/types/components/if/If.d.ts.map +1 -1
  145. package/dist/types/components/index.d.ts +2 -1
  146. package/dist/types/components/index.d.ts.map +1 -1
  147. package/dist/types/components/input/Input.d.ts +1 -1
  148. package/dist/types/components/input/Input.d.ts.map +1 -1
  149. package/dist/types/components/promise/PromiseSwitch.d.ts +1 -1
  150. package/dist/types/components/promise/PromiseSwitch.d.ts.map +1 -1
  151. package/dist/types/components/radio/Radio.d.ts.map +1 -1
  152. package/dist/types/components/router/Route.d.ts +1 -1
  153. package/dist/types/components/router/Route.d.ts.map +1 -1
  154. package/dist/types/components/router/RouterOutlet.d.ts +6 -2
  155. package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
  156. package/dist/types/components/select/Select.d.ts +5 -5
  157. package/dist/types/components/select/Select.d.ts.map +1 -1
  158. package/dist/types/components/this/This.d.ts +1 -1
  159. package/dist/types/components/this/This.d.ts.map +1 -1
  160. package/dist/types/components/timer/Timer.d.ts +6 -4
  161. package/dist/types/components/timer/Timer.d.ts.map +1 -1
  162. package/dist/types/decorators/DomRenderNoProxy.d.ts.map +1 -1
  163. package/dist/types/events/EventManager.d.ts +8 -0
  164. package/dist/types/events/EventManager.d.ts.map +1 -1
  165. package/dist/types/index.d.ts +0 -100
  166. package/dist/types/lifecycle/OnInitRender.d.ts +1 -1
  167. package/dist/types/lifecycle/OnInitRender.d.ts.map +1 -1
  168. package/dist/types/lifecycle/OnRawSetRendered.d.ts +10 -0
  169. package/dist/types/lifecycle/OnRawSetRendered.d.ts.map +1 -0
  170. package/dist/types/lifecycle/index.d.ts +1 -0
  171. package/dist/types/lifecycle/index.d.ts.map +1 -1
  172. package/dist/types/operators/DrForOf.d.ts.map +1 -1
  173. package/dist/types/operators/DrInnerText.d.ts.map +1 -1
  174. package/dist/types/operators/DrTargetElement.d.ts.map +1 -1
  175. package/dist/types/operators/OperatorExecuter.d.ts.map +1 -1
  176. package/dist/types/rawsets/RawSet.d.ts +17 -9
  177. package/dist/types/rawsets/RawSet.d.ts.map +1 -1
  178. package/dist/types/rawsets/Render.d.ts +1 -0
  179. package/dist/types/rawsets/Render.d.ts.map +1 -1
  180. package/dist/types/routers/PathRouter.d.ts.map +1 -1
  181. package/dist/types/routers/Router.d.ts +11 -14
  182. package/dist/types/routers/Router.d.ts.map +1 -1
  183. package/dist/umd-bundle/dooboostore-dom-render.umd.js +14104 -6502
  184. package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
  185. package/package.json +9 -8
  186. package/src/DomRender.ts +62 -34
  187. package/src/DomRenderProxy.ts +275 -142
  188. package/src/bundle-entry.ts +5 -3
  189. package/src/components/ComponentBase.ts +33 -11
  190. package/src/components/ComponentRouterBase.ts +17 -2
  191. package/src/components/appender/Appender.ts +0 -5
  192. package/src/components/checkbox/CheckBox.ts +22 -25
  193. package/src/components/choose/Choose.ts +19 -18
  194. package/src/components/details/Details.ts +40 -43
  195. package/src/components/forOf/ForOf.ts +6 -9
  196. package/src/components/if/If.ts +9 -11
  197. package/src/components/input/Input.ts +16 -22
  198. package/src/components/promise/PromiseSwitch.ts +67 -66
  199. package/src/components/radio/Radio.ts +23 -28
  200. package/src/components/router/Route.ts +10 -13
  201. package/src/components/router/RouterOutlet.ts +29 -8
  202. package/src/components/select/Select.ts +47 -33
  203. package/src/components/this/This.ts +13 -12
  204. package/src/components/timer/Timer.ts +29 -65
  205. package/src/decorators/DomRenderNoProxy.ts +3 -1
  206. package/src/events/EventManager.ts +15 -4
  207. package/src/lifecycle/OnInitRender.ts +1 -1
  208. package/src/lifecycle/OnRawSetRendered.ts +15 -0
  209. package/src/lifecycle/index.ts +1 -0
  210. package/src/node_modules/.bin/acorn +17 -0
  211. package/src/node_modules/.bin/browserslist +17 -0
  212. package/src/node_modules/.bin/eslint +17 -0
  213. package/src/node_modules/.bin/sbf +17 -0
  214. package/src/node_modules/.bin/ts-node +17 -0
  215. package/src/node_modules/.bin/ts-node-cwd +17 -0
  216. package/src/node_modules/.bin/ts-node-dev +17 -0
  217. package/src/node_modules/.bin/ts-node-esm +17 -0
  218. package/src/node_modules/.bin/ts-node-script +17 -0
  219. package/src/node_modules/.bin/ts-node-transpile-only +17 -0
  220. package/src/node_modules/.bin/ts-script +17 -0
  221. package/src/node_modules/.bin/tsc +17 -0
  222. package/src/node_modules/.bin/tsnd +17 -0
  223. package/src/node_modules/.bin/tsserver +17 -0
  224. package/src/node_modules/.bin/webpack +17 -0
  225. package/src/node_modules/.bin/webpack-cli +17 -0
  226. package/src/node_modules/.bin/webpack-dev-server +17 -0
  227. package/src/operators/DrForOf.ts +25 -10
  228. package/src/operators/DrIf.ts +1 -1
  229. package/src/operators/DrInnerText.ts +2 -1
  230. package/src/operators/DrTargetElement.ts +14 -0
  231. package/src/operators/OperatorExecuter.ts +1 -2
  232. package/src/rawsets/RawSet.ts +709 -295
  233. package/src/rawsets/Render.ts +1 -0
  234. package/src/routers/PathRouter.ts +14 -7
  235. package/src/routers/Router.ts +107 -61
  236. package/types.d.ts +0 -2825
@@ -32,13 +32,12 @@ var import_RandomUtils = require("@dooboostore/core/random/RandomUtils");
32
32
  let eventManager = null;
33
33
  class DomRender {
34
34
  constructor(parameter, executeConfig) {
35
- const s = DomRender.runSet(parameter);
35
+ const s = DomRender.runSet(parameter, executeConfig);
36
36
  this._config = s.config;
37
37
  this._target = s.target;
38
38
  this._rootObject = s.rootObject;
39
- if (executeConfig && executeConfig?.autoGo) {
40
- this._config.router?.go(executeConfig.autoGo);
41
- }
39
+ this._router = s.config.router;
40
+ this._eventManager = s.config.eventManager;
42
41
  }
43
42
  get rootObject() {
44
43
  return this._rootObject;
@@ -46,13 +45,23 @@ class DomRender {
46
45
  get config() {
47
46
  return this._config;
48
47
  }
48
+ get router() {
49
+ return this._router;
50
+ }
51
+ get eventManager() {
52
+ return this._eventManager;
53
+ }
49
54
  get target() {
50
55
  return this._target;
51
56
  }
52
57
  static run(data) {
53
58
  return DomRender.runSet(data).rootObject;
54
59
  }
55
- static runSet({ rootObject, target, config }) {
60
+ static runSet({
61
+ rootObject,
62
+ target,
63
+ config
64
+ }, executeConfig) {
56
65
  rootObject = typeof rootObject === "function" ? rootObject() : rootObject;
57
66
  let targetObject = rootObject;
58
67
  if ("_DomRender_isProxy" in rootObject) {
@@ -89,8 +98,20 @@ class DomRender {
89
98
  if (typeof CanvasRenderingContext2D !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === CanvasRenderingContext2D)) {
90
99
  targetConfig.proxyExcludeTyps.push(CanvasRenderingContext2D);
91
100
  }
92
- if (typeof HTMLCanvasElement !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === HTMLCanvasElement)) {
93
- targetConfig.proxyExcludeTyps.push(HTMLCanvasElement);
101
+ if (typeof CSSStyleDeclaration !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === CSSStyleDeclaration)) {
102
+ targetConfig.proxyExcludeTyps.push(CSSStyleDeclaration);
103
+ }
104
+ if (typeof Date !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === Date)) {
105
+ targetConfig.proxyExcludeTyps.push(Date);
106
+ }
107
+ if (typeof MutationObserver !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === IntersectionObserver)) {
108
+ targetConfig.proxyExcludeTyps.push(IntersectionObserver);
109
+ }
110
+ if (typeof IntersectionObserver !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === IntersectionObserver)) {
111
+ targetConfig.proxyExcludeTyps.push(IntersectionObserver);
112
+ }
113
+ if (typeof HTMLElement !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === HTMLElement)) {
114
+ targetConfig.proxyExcludeTyps.push(HTMLElement);
94
115
  }
95
116
  if (!targetConfig.proxyExcludeTyps.some((it) => it === import_RawSet.RawSet)) {
96
117
  targetConfig.proxyExcludeTyps.push(import_RawSet.RawSet);
@@ -107,11 +128,11 @@ class DomRender {
107
128
  if (!targetConfig.router) {
108
129
  let targetRouter;
109
130
  if ("routerType" in config && config?.routerType === "hash") {
110
- targetRouter = new import_HashRouter.HashRouter({ rootObject: targetObject, window: targetConfig.window });
131
+ targetRouter = new import_HashRouter.HashRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });
111
132
  } else if ("routerType" in config && config?.routerType === "path") {
112
- targetRouter = new import_PathRouter.PathRouter({ rootObject: targetObject, window: targetConfig.window });
133
+ targetRouter = new import_PathRouter.PathRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });
113
134
  } else if ("routerType" in config && typeof config?.routerType === "function") {
114
- targetRouter = config.routerType(targetObject, targetConfig.window);
135
+ targetRouter = config.routerType(targetObject, targetConfig);
115
136
  } else if ("routerType" in config && typeof config?.routerType === "object") {
116
137
  targetRouter = config.routerType;
117
138
  }
@@ -127,26 +148,20 @@ class DomRender {
127
148
  return { rootObject: targetObject, config: targetConfig, target };
128
149
  }
129
150
  static createComponent(param) {
130
- const component = import_RawSet.RawSet.createComponentTargetElement(
131
- {
132
- name: param.tagName ?? (typeof param.type === "function" ? param.type.name : param.type.constructor.name),
133
- objFactory: (e, o, r2, counstructorParam) => {
134
- return typeof param.type === "function" ? new param.type(...counstructorParam) : param.type;
135
- },
136
- noStrip: param.noStrip,
137
- template: param.template ?? "",
138
- styles: Array.isArray(param.styles) ? param.styles : param.styles ? [param.styles] : void 0
139
- }
140
- );
151
+ const component = import_RawSet.RawSet.createComponentTargetElement({
152
+ name: param.tagName ?? (typeof param.type === "function" ? param.type.name : param.type.constructor.name),
153
+ objFactory: (e, o, r2, counstructorParam) => {
154
+ return typeof param.type === "function" ? new param.type(...counstructorParam) : param.type;
155
+ },
156
+ noStrip: param.noStrip,
157
+ template: param.template ?? "",
158
+ styles: Array.isArray(param.styles) ? param.styles : param.styles ? [param.styles] : void 0
159
+ });
141
160
  return component;
142
161
  }
143
162
  // ?? 언제 쓰는거지?? 훔..
144
163
  static createAttribute(attrName, getThisObj, factory) {
145
- const targetAttribute = import_RawSet.RawSet.createComponentTargetAttribute(
146
- attrName,
147
- getThisObj,
148
- factory
149
- );
164
+ const targetAttribute = import_RawSet.RawSet.createComponentTargetAttribute(attrName, getThisObj, factory);
150
165
  return targetAttribute;
151
166
  }
152
167
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/DomRender.ts"],
4
- "sourcesContent": ["import { DomRenderProxy } from './DomRenderProxy';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { PathRouter } from './routers/PathRouter';\nimport { HashRouter } from './routers/HashRouter';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { DomRenderFinalProxy } from './types/Types';\nimport { RawSet } from './rawsets/RawSet';\nimport { DefaultMessenger } from './messenger/DefaultMessenger';\nimport { Router } from './routers/Router';\nimport { drComponent } from './components';\nimport { EventManager } from './events/EventManager';\nimport { RandomUtils } from '@dooboostore/core/random/RandomUtils';\n\nexport type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T, window: Window) => Router) | Router };\nexport type CreateComponentParam = { type: ConstructorType<any> | any, tagName?: string, noStrip?: boolean, template?: string, styles?: string[] | string };\nlet eventManager: EventManager | null = null;\nexport type DomRenderRunParameter<T extends object> = { rootObject: T | (() => T), target?: Element | null, config?: DomRenderRunConfig | DomRenderConfig };\n\nexport class DomRender<T extends object = any> {\n private _config: DomRenderConfig;\n private _target: Element | null | undefined;\n private _rootObject: T;\n\n constructor(parameter: DomRenderRunParameter<T>, executeConfig?: { autoGo?: string }) {\n const s = DomRender.runSet(parameter);\n this._config = s.config;\n this._target = s.target;\n this._rootObject = s.rootObject;\n if (executeConfig && executeConfig?.autoGo) {\n this._config.router?.go(executeConfig.autoGo);\n }\n }\n\n public get rootObject(): T {\n return this._rootObject;\n }\n\n public get config(): DomRenderConfig {\n return this._config;\n }\n\n public get target(): Element | null |undefined {\n return this._target;\n }\n\n public static run<T extends object>(data: DomRenderRunParameter<T>): T {\n return DomRender.runSet(data).rootObject;\n }\n\n public static runSet<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): { rootObject: T, target?: Element | null, config: DomRenderConfig } {\n // public static run<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): T {\n // console.log('runSet')\n rootObject = typeof rootObject === 'function' ? rootObject() : rootObject;\n let targetObject = rootObject;\n if ('_DomRender_isProxy' in rootObject) {\n if (target) {\n ((rootObject as any)._DomRender_proxy as DomRenderProxy<T>).initRender(target);\n }\n targetObject = rootObject;\n // return targetObject;\n return {rootObject: targetObject, target, config: (rootObject as any)._domRender_config};\n }\n const targetConfig = Object.assign({}, config) as DomRenderConfig;\n eventManager ??= new EventManager(targetConfig.window);\n\n targetConfig.uuid = RandomUtils.uuid4();\n targetConfig.messenger = DomRenderFinalProxy.final(targetConfig.messenger ?? new DefaultMessenger(targetConfig));\n targetConfig.proxyExcludeTyps = targetConfig.proxyExcludeTyps ?? [];\n targetConfig.targetElements ??= [];\n\n\n if (typeof Window !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Window)) {\n targetConfig.proxyExcludeTyps.push(Window);\n }\n if (typeof Map !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Map)) {\n targetConfig.proxyExcludeTyps.push(Map);\n }\n if (typeof Set !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Set)) {\n targetConfig.proxyExcludeTyps.push(Set);\n }\n if (typeof Promise !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Promise)) {\n targetConfig.proxyExcludeTyps.push(Promise);\n }\n if (typeof ResizeObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ResizeObserver)) {\n targetConfig.proxyExcludeTyps.push(ResizeObserver);\n }\n if (typeof ImageBitmap !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ImageBitmap)) {\n targetConfig.proxyExcludeTyps.push(ImageBitmap);\n }\n if (typeof CanvasRenderingContext2D !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CanvasRenderingContext2D)) {\n targetConfig.proxyExcludeTyps.push(CanvasRenderingContext2D);\n }\n if (typeof HTMLCanvasElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLCanvasElement)) {\n targetConfig.proxyExcludeTyps.push(HTMLCanvasElement);\n }\n if (!targetConfig.proxyExcludeTyps.some(it => it === RawSet)) {\n targetConfig.proxyExcludeTyps.push(RawSet);\n }\n if (!targetConfig.proxyExcludeTyps.some(it => it === DomRender)) {\n targetConfig.proxyExcludeTyps.push(DomRender);\n }\n targetConfig.rootElement = target;\n targetConfig.eventManager = eventManager;\n // (targetConfig.window as any).domRender ??= {configs: []};\n // (targetConfig.window as any).domRender.configs.push(targetConfig);\n const domRender = new DomRenderProxy(rootObject, target, targetConfig);\n const dest = new Proxy(rootObject, domRender);\n targetObject = dest;\n targetConfig.root = targetObject;\n\n // proxy \uB41C targetObject\uB97C \uB123\uC5B4\uC918\uC57C\uB418\uC11C \uB4A4\uCABD\uC5D0\uC11C router\uB97C \uC0DD\uC131\uD574\uC57C\uD568\n if (!targetConfig.router) {\n let targetRouter: Router<any> | undefined;\n if ('routerType' in config && config?.routerType === 'hash') {\n targetRouter = new HashRouter({rootObject: targetObject, window: targetConfig.window});\n } else if ('routerType' in config && config?.routerType === 'path') {\n targetRouter = new PathRouter({rootObject: targetObject, window: targetConfig.window});\n } else if ('routerType' in config && typeof config?.routerType === 'function') {\n targetRouter = config.routerType(targetObject, targetConfig.window);\n } else if ('routerType' in config && typeof config?.routerType === 'object') {\n targetRouter = config.routerType;\n }\n targetConfig.router = targetRouter;\n }\n\n for (const value of Object.values(drComponent)) {\n const a = value(targetConfig, DomRender);\n if (!targetConfig.targetElements.some(it => it.name === a.name)) {\n targetConfig.targetElements.push(a);\n }\n }\n // console.log('cccccccccccccccccc', targetRouter)\n // targetRouter.go({path: targetRouter.getUrl()})\n // if (!config.router) {\n // if (config.routerType === 'path') {\n // config.router = new PathRouter(targetObject, config.window);\n // } else if (config.routerType === 'hash') {\n // config.router = new HashRouter(targetObject, config.window);\n // } else { // none\n // config.router = new HashRouter(targetObject, config.window);\n // }\n // }\n domRender.run(targetObject);\n return {rootObject: targetObject, config: targetConfig, target};\n // return targetObject;\n }\n\n public static createComponent(param: CreateComponentParam) {\n // console.log('===>', typeof param.type, param.type.name, param.type.constructor.name)\n const component = RawSet.createComponentTargetElement(\n {\n name: param.tagName ?? (typeof param.type === 'function' ? param.type.name : param.type.constructor.name),\n objFactory: (e, o, r2, counstructorParam) => {\n return typeof param.type === 'function' ? new param.type(...counstructorParam) : param.type;\n },\n noStrip: param.noStrip,\n template: param.template ?? '',\n styles: Array.isArray(param.styles) ? param.styles : (param.styles ? [param.styles] : undefined)\n }\n );\n return component;\n }\n\n // ?? \uC5B8\uC81C \uC4F0\uB294\uAC70\uC9C0?? \uD6D4..\n public static createAttribute(attrName: string, getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any, factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment) {\n const targetAttribute = RawSet.createComponentTargetAttribute(\n attrName,\n getThisObj,\n factory\n );\n return targetAttribute;\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { DomRenderProxy } from './DomRenderProxy';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { PathRouter } from './routers/PathRouter';\nimport { HashRouter } from './routers/HashRouter';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { DomRenderFinalProxy } from './types/Types';\nimport { RawSet } from './rawsets/RawSet';\nimport { DefaultMessenger } from './messenger/DefaultMessenger';\nimport { Router } from './routers/Router';\nimport { drComponent } from './components';\nimport { EventManager } from './events/EventManager';\nimport { RandomUtils } from '@dooboostore/core/random/RandomUtils';\n\nexport type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T, targetConfig: DomRenderConfig) => Router) | Router };\nexport type CreateComponentParam = { type: ConstructorType<any> | any, tagName?: string, noStrip?: boolean, template?: string, styles?: string[] | string };\nlet eventManager: EventManager | null = null;\nexport type DomRenderRunParameter<T extends object> = { rootObject: T | (() => T), target?: Element | null, config?: DomRenderRunConfig | DomRenderConfig };\n\nexport type ExecuteConfig = { firstUrl?: string };\n\nexport class DomRender<T extends object = any> {\n private _config: DomRenderConfig;\n private _target: Element | null | undefined;\n private _rootObject: T;\n private _router: Router;\n private _eventManager: EventManager;\n\n constructor(parameter: DomRenderRunParameter<T>, executeConfig?: ExecuteConfig) {\n const s = DomRender.runSet(parameter,executeConfig);\n this._config = s.config;\n this._target = s.target;\n this._rootObject = s.rootObject;\n this._router = s.config.router;\n this._eventManager = s.config.eventManager;\n // if (executeConfig && executeConfig?.autoGo) {\n // this._config.router?.go(executeConfig.autoGo);\n // }\n }\n\n public get rootObject(): T {\n return this._rootObject;\n }\n\n public get config(): DomRenderConfig {\n return this._config;\n }\n public get router(): Router {\n return this._router;\n }\n\n public get eventManager(): EventManager {\n return this._eventManager;\n }\n public get target(): Element | null | undefined {\n return this._target;\n }\n\n public static run<T extends object>(data: DomRenderRunParameter<T>): T {\n return DomRender.runSet(data).rootObject;\n }\n\n public static runSet<T extends object>({\n rootObject,\n target,\n config\n }: DomRenderRunParameter<T>, executeConfig?: ExecuteConfig): { rootObject: T; target?: Element | null; config: DomRenderConfig } {\n // public static run<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): T {\n // console.log('runSet')\n rootObject = typeof rootObject === 'function' ? rootObject() : rootObject;\n let targetObject = rootObject;\n if ('_DomRender_isProxy' in rootObject) {\n if (target) {\n ((rootObject as any)._DomRender_proxy as DomRenderProxy<T>).initRender(target);\n }\n targetObject = rootObject;\n // return targetObject;\n return { rootObject: targetObject, target, config: (rootObject as any)._domRender_config };\n }\n const targetConfig = Object.assign({}, config) as DomRenderConfig;\n eventManager ??= new EventManager(targetConfig.window);\n\n targetConfig.uuid = RandomUtils.uuid4();\n targetConfig.messenger = DomRenderFinalProxy.final(targetConfig.messenger ?? new DefaultMessenger(targetConfig));\n targetConfig.proxyExcludeTyps = targetConfig.proxyExcludeTyps ?? [];\n targetConfig.targetElements ??= [];\n\n if (typeof Window !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Window)) {\n targetConfig.proxyExcludeTyps.push(Window);\n }\n if (typeof Map !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Map)) {\n targetConfig.proxyExcludeTyps.push(Map);\n }\n if (typeof Set !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Set)) {\n targetConfig.proxyExcludeTyps.push(Set);\n }\n if (typeof Promise !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Promise)) {\n targetConfig.proxyExcludeTyps.push(Promise);\n }\n if (typeof ResizeObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ResizeObserver)) {\n targetConfig.proxyExcludeTyps.push(ResizeObserver);\n }\n if (typeof ImageBitmap !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ImageBitmap)) {\n targetConfig.proxyExcludeTyps.push(ImageBitmap);\n }\n if ( typeof CanvasRenderingContext2D !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CanvasRenderingContext2D) ) {\n targetConfig.proxyExcludeTyps.push(CanvasRenderingContext2D);\n }\n if ( typeof CSSStyleDeclaration !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CSSStyleDeclaration) ) {\n targetConfig.proxyExcludeTyps.push(CSSStyleDeclaration);\n }\n if ( typeof Date !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Date) ) {\n targetConfig.proxyExcludeTyps.push(Date);\n }\n if ( typeof MutationObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === IntersectionObserver) ) {\n targetConfig.proxyExcludeTyps.push(IntersectionObserver);\n }\n if ( typeof IntersectionObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === IntersectionObserver) ) {\n targetConfig.proxyExcludeTyps.push(IntersectionObserver);\n }\n if (typeof HTMLElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLElement)) {\n targetConfig.proxyExcludeTyps.push(HTMLElement);\n }\n // if (typeof HTMLCanvasElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLCanvasElement)) {\n // targetConfig.proxyExcludeTyps.push(HTMLCanvasElement);\n // }\n if (!targetConfig.proxyExcludeTyps.some(it => it === RawSet)) {\n targetConfig.proxyExcludeTyps.push(RawSet);\n }\n if (!targetConfig.proxyExcludeTyps.some(it => it === DomRender)) {\n targetConfig.proxyExcludeTyps.push(DomRender);\n }\n targetConfig.rootElement = target;\n targetConfig.eventManager = eventManager;\n // (targetConfig.window as any).domRender ??= {configs: []};\n // (targetConfig.window as any).domRender.configs.push(targetConfig);\n const domRender = new DomRenderProxy(rootObject, target, targetConfig);\n const dest = new Proxy(rootObject, domRender);\n targetObject = dest;\n targetConfig.root = targetObject;\n\n // proxy \uB41C targetObject\uB97C \uB123\uC5B4\uC918\uC57C\uB418\uC11C \uB4A4\uCABD\uC5D0\uC11C router\uB97C \uC0DD\uC131\uD574\uC57C\uD568\n if (!targetConfig.router) {\n let targetRouter: Router<any> | undefined;\n if ('routerType' in config && config?.routerType === 'hash') {\n targetRouter = new HashRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });\n } else if ('routerType' in config && config?.routerType === 'path') {\n targetRouter = new PathRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });\n } else if ('routerType' in config && typeof config?.routerType === 'function') {\n targetRouter = config.routerType(targetObject, targetConfig);\n } else if ('routerType' in config && typeof config?.routerType === 'object') {\n targetRouter = config.routerType;\n }\n targetConfig.router = targetRouter;\n }\n\n for (const value of Object.values(drComponent)) {\n const a = value(targetConfig, DomRender);\n if (!targetConfig.targetElements.some(it => it.name === a.name)) {\n targetConfig.targetElements.push(a);\n }\n }\n // console.log('cccccccccccccccccc', targetRouter)\n // targetRouter.go({path: targetRouter.getUrl()})\n // if (!config.router) {\n // if (config.routerType === 'path') {\n // config.router = new PathRouter(targetObject, config.window);\n // } else if (config.routerType === 'hash') {\n // config.router = new HashRouter(targetObject, config.window);\n // } else { // none\n // config.router = new HashRouter(targetObject, config.window);\n // }\n // }\n domRender.run(targetObject);\n return { rootObject: targetObject, config: targetConfig, target };\n // return targetObject;\n }\n\n public static createComponent(param: CreateComponentParam) {\n // console.log('===>', typeof param.type, param.type.name, param.type.constructor.name)\n const component = RawSet.createComponentTargetElement({\n name: param.tagName ?? (typeof param.type === 'function' ? param.type.name : param.type.constructor.name),\n objFactory: (e, o, r2, counstructorParam) => {\n return typeof param.type === 'function' ? new param.type(...counstructorParam) : param.type;\n },\n noStrip: param.noStrip,\n template: param.template ?? '',\n styles: Array.isArray(param.styles) ? param.styles : param.styles ? [param.styles] : undefined\n });\n return component;\n }\n\n // ?? \uC5B8\uC81C \uC4F0\uB294\uAC70\uC9C0?? \uD6D4..\n public static createAttribute(\n attrName: string,\n getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any,\n factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment\n ) {\n const targetAttribute = RawSet.createComponentTargetAttribute(attrName, getThisObj, factory);\n return targetAttribute;\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -44,7 +44,21 @@ var import_OnChildRenderedByProperty = require("./lifecycle/OnChildRenderedByPro
44
44
  var import_ObjectUtils = require("@dooboostore/core/object/ObjectUtils");
45
45
  var import_ValidUtils = require("@dooboostore/core/valid/ValidUtils");
46
46
  var import_OnProxyDomRender = require("./lifecycle/OnProxyDomRender");
47
- const excludeGetSetPropertys = ["onBeforeReturnGet", "onBeforeReturnSet", "__domrender_components", "__render", "_DomRender_isFinal", "_domRender_ref", "_rawSets", "_domRender_proxy", "_targets", "_DomRender_origin", "_DomRender_ref", "_DomRender_proxy"];
47
+ var import_OnRawSetRendered = require("./lifecycle/OnRawSetRendered");
48
+ const excludeGetSetPropertys = [
49
+ "onBeforeReturnGet",
50
+ "onBeforeReturnSet",
51
+ "__domrender_components",
52
+ "__render",
53
+ "_DomRender_isFinal",
54
+ "_domRender_ref",
55
+ "_rawSets",
56
+ "_domRender_proxy",
57
+ "_targets",
58
+ "_DomRender_origin",
59
+ "_DomRender_ref",
60
+ "_DomRender_proxy"
61
+ ];
48
62
  const isWrapProxyDomRenderProxy = (obj) => {
49
63
  return obj && typeof obj === "object" && "_DomRender_isProxy" in obj;
50
64
  };
@@ -85,9 +99,9 @@ class DomRenderProxy {
85
99
  return import_Types.DomRenderFinalProxy.final(obj);
86
100
  }
87
101
  static isFinal(obj) {
88
- return import_Types.DomRenderFinalProxy.isFinal(obj);
102
+ return import_ValidUtils.ValidUtils.isNull(obj) || import_Types.DomRenderFinalProxy.isFinal(obj);
89
103
  }
90
- run(objProxy) {
104
+ async run(objProxy) {
91
105
  this._domRender_proxy = objProxy;
92
106
  if ((0, import_OnProxyDomRender.isOnProxyDomRender)(objProxy)) {
93
107
  objProxy.onProxyDomRender(this._domRender_config);
@@ -112,18 +126,18 @@ class DomRenderProxy {
112
126
  }
113
127
  });
114
128
  }
115
- this._targets.forEach((target) => {
116
- this.initRender(target);
117
- });
129
+ for (let target of this._targets) {
130
+ await this.initRender(target);
131
+ }
118
132
  }
119
- initRender(target, rawSet) {
133
+ async initRender(target, rawSet) {
120
134
  if (target instanceof Element) {
121
135
  target.innerHTML = target.innerHTML.replace(/@this@/g, "this");
122
136
  }
123
137
  const onCreate = target.getAttribute?.(import_RawSet.RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
124
138
  let createParam = [];
125
139
  if (onCreate) {
126
- createParam = import_ScriptUtils.ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);
140
+ createParam = import_ObjectUtils.ObjectUtils.Script.evaluateReturn(onCreate, this._domRender_proxy);
127
141
  if (!Array.isArray(createParam)) {
128
142
  createParam = [createParam];
129
143
  }
@@ -136,7 +150,11 @@ class DomRenderProxy {
136
150
  }
137
151
  this._targets.add(target);
138
152
  const rawSets = import_RawSet.RawSet.checkPointCreates(target, this._domRender_proxy, this._domRender_config);
139
- this._domRender_config.eventManager.applyEvent(this._domRender_proxy, this._domRender_config.eventManager.findAttrElements(target, this._domRender_config), this._domRender_config);
153
+ this._domRender_config.eventManager.applyEvent(
154
+ this._domRender_proxy,
155
+ this._domRender_config.eventManager.findAttrElements(target, this._domRender_config),
156
+ this._domRender_config
157
+ );
140
158
  rawSets.forEach((it) => {
141
159
  const variables = it.getUsingTriggerVariables(this._domRender_config);
142
160
  if (variables.size <= 0) {
@@ -147,16 +165,20 @@ class DomRenderProxy {
147
165
  });
148
166
  }
149
167
  });
150
- this.render(this.getRawSets()).then((it) => {
168
+ const targetRawSets = await this.render(this.getRawSets());
169
+ for (let targetRawSet of targetRawSets) {
151
170
  const onInit = target.getAttribute?.(import_RawSet.RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);
152
171
  let initParam;
153
172
  if (onCreate) {
154
173
  initParam = import_ScriptUtils.ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);
155
174
  }
156
175
  if ((0, import_OnInitRender.isOnInitRender)(this._domRender_proxy)) {
157
- this._domRender_proxy.onInitRender(initParam, rawSet ?? { dataSet: { config: this._domRender_config } });
176
+ await this._domRender_proxy.onInitRender(
177
+ initParam,
178
+ rawSet ?? { dataSet: { config: this._domRender_config } }
179
+ );
158
180
  }
159
- });
181
+ }
160
182
  }
161
183
  getRawSets() {
162
184
  const set = /* @__PURE__ */ new Set();
@@ -181,6 +203,7 @@ class DomRenderProxy {
181
203
  it.getUsingTriggerVariables(this._domRender_config).forEach((path) => {
182
204
  this.addRawSet(path, it);
183
205
  });
206
+ let renderResult;
184
207
  if (it.isConnected) {
185
208
  const targetAttrMap = it.point.node?.getAttribute?.(import_EventManager.EventManager.normalAttrMapAttrName);
186
209
  if (it.detect?.action) {
@@ -188,9 +211,12 @@ class DomRenderProxy {
188
211
  } else if (it.type === import_RawSetType.RawSetType.TARGET_ELEMENT && it.dataSet?.render?.currentThis && fullPathStr && targetAttrMap) {
189
212
  new Map(JSON.parse(targetAttrMap)).forEach((v, k) => {
190
213
  var _a;
191
- const isUsing = import_EventManager.EventManager.isUsingThisVar(v, `this.${fullPathStr}`);
214
+ const isUsing = v.variablePaths.some((it2) => import_EventManager.EventManager.isUsingThisVar(it2.inner, `this.${fullPathStr}`));
192
215
  if (isUsing) {
193
- const targetAttrObject = import_RawSet.RawSet.getAttributeObject(it.point.node, { script: it.dataSet?.render?.renderScript ?? "", obj: Object.assign(this._domRender_proxy ?? {}, { __render: it.dataSet?.render }) });
216
+ const targetAttrObject = import_RawSet.RawSet.getAttributeObject(it.point.node, {
217
+ script: it.dataSet?.render?.renderScript ?? "",
218
+ obj: Object.assign(this._domRender_proxy ?? {}, { __render: it.dataSet?.render })
219
+ });
194
220
  (_a = it.dataSet).render ?? (_a.render = {});
195
221
  it.dataSet.render.attribute = targetAttrObject;
196
222
  if ((0, import_OnChangeAttrRender.isOnChangeAttrRender)(it.dataSet?.render?.currentThis)) {
@@ -200,13 +226,18 @@ class DomRenderProxy {
200
226
  });
201
227
  } else {
202
228
  const rawSets2 = await it.render(this._domRender_proxy, this._domRender_config);
203
- if (rawSets2 && rawSets2.length > 0) {
204
- await this.render(rawSets2);
229
+ renderResult = rawSets2;
230
+ if (rawSets2 && rawSets2.raws.length > 0) {
231
+ await this.render(rawSets2.raws);
205
232
  }
206
233
  }
207
234
  } else {
208
235
  removeRawSets.push(it);
209
236
  }
237
+ const t = it.findNearThis(this._domRender_proxy);
238
+ if ((0, import_OnRawSetRendered.isOnRawSetRendered)(t)) {
239
+ await t.onRawSetRendered(it, { path: fullPathStr, renderResult });
240
+ }
210
241
  }
211
242
  if (removeRawSets.length > 0) {
212
243
  this.removeRawSet(...removeRawSets);
@@ -229,7 +260,11 @@ class DomRenderProxy {
229
260
  it.forEach((sit) => {
230
261
  try {
231
262
  const concat = pathInfos.concat([[{ path: sit, obj: key }]]);
232
- const items = key._DomRender_proxy?.root(concat, value, lastDoneExecute);
263
+ const items = key._DomRender_proxy?.root(
264
+ concat,
265
+ value,
266
+ lastDoneExecute
267
+ );
233
268
  fullPaths.push(items.flat());
234
269
  } catch (e) {
235
270
  }
@@ -251,7 +286,7 @@ class DomRenderProxy {
251
286
  const firstTargets = this._rawSets.get(firstPathStr);
252
287
  const firstTargetDictionary = [];
253
288
  firstTargets?.forEach((it) => {
254
- const type = it.point.start.getAttribute?.("type");
289
+ const type = it.point.start?.getAttribute?.("type");
255
290
  if (type === import_RawSetOperatorType.RawSetOperatorType.DR_THIS_PROPERTY) {
256
291
  firstTargetDictionary.push(it);
257
292
  }
@@ -265,10 +300,19 @@ class DomRenderProxy {
265
300
  if (value === void 0) {
266
301
  const rawSet = it.getHasRawSet(lastPropertyName);
267
302
  rawSet?.remove();
268
- startElement.setAttribute(import_RawSet.RawSet.DR_HAS_KEYS_OPTIONNAME, keys.filter((it2) => it2 !== lastPropertyName).join(","));
303
+ startElement.setAttribute(
304
+ import_RawSet.RawSet.DR_HAS_KEYS_OPTIONNAME,
305
+ keys.filter((it2) => it2 !== lastPropertyName).join(",")
306
+ );
269
307
  }
270
308
  if (!keys.includes(lastPropertyName)) {
271
- const raws = import_DrThisProperty.DrThisProperty.append(this._domRender_proxy, fullPathStr, lastPropertyName, it, this._domRender_config);
309
+ const raws = import_DrThisProperty.DrThisProperty.append(
310
+ this._domRender_proxy,
311
+ fullPathStr,
312
+ lastPropertyName,
313
+ it,
314
+ this._domRender_config
315
+ );
272
316
  if (raws) {
273
317
  rawSets.push(...raws);
274
318
  }
@@ -288,10 +332,19 @@ class DomRenderProxy {
288
332
  } else if (iterable) {
289
333
  rData = await this.render(Array.from(iterable), fullPathStr);
290
334
  }
335
+ const Node = this._domRender_config.window.Node;
291
336
  this._targets.forEach((it) => {
292
337
  if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {
293
- const targets = this._domRender_config.eventManager.findAttrElements(it, this._domRender_config);
294
- this._domRender_config.eventManager.changeVar(this._domRender_proxy, targets, `this.${fullPathStr}`, this._domRender_config);
338
+ const targets = this._domRender_config.eventManager.findAttrElements(
339
+ it,
340
+ this._domRender_config
341
+ );
342
+ this._domRender_config.eventManager.changeVar(
343
+ this._domRender_proxy,
344
+ targets,
345
+ `this.${fullPathStr}`,
346
+ this._domRender_config
347
+ );
295
348
  }
296
349
  });
297
350
  if (rData?.length > 0 && (0, import_OnChildRenderedByProperty.isOnChildRenderedByProperty)(data)) {
@@ -323,49 +376,64 @@ class DomRenderProxy {
323
376
  fullPathInfo = this.root([[{ path: p, obj: this._domRender_proxy }]], value);
324
377
  }
325
378
  const rootElement = this._domRender_config.rootElement ?? this._domRender_config.window.document;
326
- import_DocumentUtils.DocumentUtils.querySelectorAllByAttributeName(rootElement, import_EventManager.EventManager.normalAttrMapAttrName)?.forEach((elementInfo) => {
327
- const targets = new Map(import_ScriptUtils.ScriptUtils.evaluateReturn(elementInfo.value));
328
- Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(import_types.isDefined).flatMap(([key, valueScript]) => {
329
- return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
330
- }).forEach((it) => {
331
- const optionalPath = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(it.valueScript);
332
- const value1 = import_ScriptUtils.ScriptUtils.evaluateReturn(optionalPath, it.pathInfo.obj);
333
- if (value1 === null) {
334
- elementInfo.element.removeAttribute(it.key);
335
- elementInfo.element[it.key] = null;
336
- } else {
337
- elementInfo.element.setAttribute(it.key, value1);
338
- elementInfo.element[it.key] = value1;
339
- }
340
- });
341
- });
342
- import_DocumentUtils.DocumentUtils.querySelectorAllByAttributeName(rootElement, import_EventManager.EventManager.linkTargetMapAttrName)?.forEach((elementInfo) => {
343
- const targets = new Map(import_ScriptUtils.ScriptUtils.evaluateReturn(elementInfo.value));
344
- Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(import_types.isDefined).flatMap(([key, valueScript]) => {
345
- return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
346
- }).forEach((info) => {
347
- const value1 = import_ScriptUtils.ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);
348
- const applyAttributeName = import_EventManager.EventManager.linkAttrs.find((it) => it.name === info.key);
349
- if (applyAttributeName) {
379
+ import_DocumentUtils.DocumentUtils.querySelectorAllByAttributeName(rootElement, import_EventManager.EventManager.normalAttrMapAttrName)?.forEach(
380
+ (elementInfo) => {
381
+ const targets = new Map(
382
+ import_ObjectUtils.ObjectUtils.Script.evaluateReturn(elementInfo.value)
383
+ );
384
+ Array.from(targets.entries()).filter(import_types.isDefined).flatMap(([key, valueScript]) => {
385
+ return fullPathInfo.flat().filter((it) => valueScript.variablePaths?.some((vit) => vit.inner.includes(`this.${it.path}`))).flatMap((it) => ({ key, valueScript, pathInfo: it }));
386
+ }).forEach((it) => {
387
+ const variablePaths = it.valueScript.variablePaths;
388
+ let targetScript = it.valueScript.originalAttrValue;
389
+ variablePaths.forEach((it2) => {
390
+ let r = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(it2.inner);
391
+ targetScript = targetScript.replaceAll(it2.origin, `\${${r}}`);
392
+ });
393
+ const value1 = import_ObjectUtils.ObjectUtils.Script.evaluateReturn("`" + targetScript + "`", it.pathInfo.obj);
350
394
  if (value1 === null) {
351
- elementInfo.element.removeAttribute(applyAttributeName.property);
395
+ elementInfo.element.removeAttribute(it.key);
396
+ elementInfo.element[it.key] = null;
352
397
  } else {
353
- elementInfo.element.setAttribute(applyAttributeName.property, value1);
398
+ elementInfo.element.setAttribute(it.key, value1);
399
+ elementInfo.element[it.key] = value1;
354
400
  }
355
- }
356
- });
357
- Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(import_types.isDefined).flatMap(([key, valueScript]) => {
358
- return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
359
- }).forEach((info) => {
360
- const linkInfo = import_EventManager.EventManager.linkAttrs.find((it) => it.name === info.key);
361
- if (linkInfo) {
362
- elementInfo.element[linkInfo.property] = value;
363
- }
364
- });
365
- });
401
+ });
402
+ }
403
+ );
404
+ import_DocumentUtils.DocumentUtils.querySelectorAllByAttributeName(rootElement, import_EventManager.EventManager.linkTargetMapAttrName)?.forEach(
405
+ (elementInfo) => {
406
+ const targets = new Map(import_ScriptUtils.ScriptUtils.evaluateReturn(elementInfo.value));
407
+ Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(import_types.isDefined).flatMap(([key, valueScript]) => {
408
+ return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
409
+ }).forEach((info) => {
410
+ const value1 = import_ScriptUtils.ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);
411
+ const applyAttributeName = import_EventManager.EventManager.linkAttrs.find((it) => it.name === info.key);
412
+ if (applyAttributeName) {
413
+ if (value1 === null) {
414
+ elementInfo.element.removeAttribute(applyAttributeName.property);
415
+ } else {
416
+ elementInfo.element.setAttribute(applyAttributeName.property, value1);
417
+ }
418
+ }
419
+ });
420
+ Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(import_types.isDefined).flatMap(([key, valueScript]) => {
421
+ return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
422
+ }).forEach((info) => {
423
+ const linkInfo = import_EventManager.EventManager.linkAttrs.find((it) => it.name === info.key);
424
+ if (linkInfo) {
425
+ elementInfo.element[linkInfo.property] = value;
426
+ }
427
+ });
428
+ }
429
+ );
366
430
  if ("onBeforeReturnSet" in receiver && typeof p === "string" && !(this._domRender_config.proxyExcludeOnBeforeReturnSets ?? []).concat(excludeGetSetPropertys).includes(p)) {
367
431
  if ((0, import_OnBeforeReturnSet.isOnBeforeReturnSet)(receiver)) {
368
- receiver.onBeforeReturnSet?.(p, value, fullPathInfo.map((it) => it.map((it2) => it2.path).join()));
432
+ receiver.onBeforeReturnSet?.(
433
+ p,
434
+ value,
435
+ fullPathInfo.map((it) => it.map((it2) => it2.path).join())
436
+ );
369
437
  }
370
438
  }
371
439
  return true;
@@ -385,7 +453,11 @@ class DomRenderProxy {
385
453
  it = it._DomRender_origin;
386
454
  }
387
455
  if ("onBeforeReturnGet" in receiver && typeof p === "string" && !(this._domRender_config.proxyExcludeOnBeforeReturnGets ?? []).concat(excludeGetSetPropertys).includes(p)) {
388
- receiver?.onBeforeReturnGet?.(p, it, this.root([[{ path: p, obj: this._domRender_proxy }]], it, false));
456
+ receiver?.onBeforeReturnGet?.(
457
+ p,
458
+ it,
459
+ this.root([[{ path: p, obj: this._domRender_proxy }]], it, false)
460
+ );
389
461
  }
390
462
  return it;
391
463
  }
@@ -408,7 +480,7 @@ class DomRenderProxy {
408
480
  const isFinal = isObject && DomRenderProxy.isFinal(obj);
409
481
  const isFrozen = Object.isFrozen(obj);
410
482
  const isShield = obj instanceof import_Types.Shield;
411
- if (isNoProxy || isExclude || import_ValidUtils.ValidUtils.isNullOrUndefined(obj) || !isObject || isFinal || isFrozen || isShield) {
483
+ if (obj === void 0 || obj === null || isNoProxy || isExclude || import_ValidUtils.ValidUtils.isNullOrUndefined(obj) || !isObject || isFinal || isFrozen || isShield) {
412
484
  return obj;
413
485
  }
414
486
  } catch (e) {