@dooboostore/dom-render 1.0.110 → 1.0.112

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/README.MD +1 -2
  2. package/dist/cjs/DomRenderProxy.js +89 -48
  3. package/dist/cjs/DomRenderProxy.js.map +2 -2
  4. package/dist/cjs/components/ComponentBase.js +47 -1
  5. package/dist/cjs/components/ComponentBase.js.map +2 -2
  6. package/dist/cjs/components/a/A.js +22 -0
  7. package/dist/cjs/components/a/A.js.map +2 -2
  8. package/dist/cjs/components/appender/Appender.js +21 -4
  9. package/dist/cjs/components/appender/Appender.js.map +2 -2
  10. package/dist/cjs/components/details/Details.js +5 -0
  11. package/dist/cjs/components/details/Details.js.map +2 -2
  12. package/dist/cjs/components/forOf/ForOf.js +2 -2
  13. package/dist/cjs/components/forOf/ForOf.js.map +1 -1
  14. package/dist/cjs/components/if/If.js +1 -1
  15. package/dist/cjs/components/if/If.js.map +2 -2
  16. package/dist/cjs/components/index.js +3 -1
  17. package/dist/cjs/components/index.js.map +3 -3
  18. package/dist/cjs/components/router/RouterOutlet.js +41 -10
  19. package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
  20. package/dist/cjs/components/select/Select.js +39 -1
  21. package/dist/cjs/components/select/Select.js.map +2 -2
  22. package/dist/cjs/components/this/This.js +33 -5
  23. package/dist/cjs/components/this/This.js.map +2 -2
  24. package/dist/cjs/decorators/DomRenderNoProxy.js +3 -9
  25. package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
  26. package/dist/cjs/events/EventManager.js +103 -37
  27. package/dist/cjs/events/EventManager.js.map +2 -2
  28. package/dist/cjs/lifecycle/OnChangeAttrRender.js.map +1 -1
  29. package/dist/cjs/lifecycle/OnChildRawSetRendered.js +26 -0
  30. package/dist/cjs/lifecycle/OnChildRawSetRendered.js.map +7 -0
  31. package/dist/cjs/lifecycle/OnRawSetRendered.js.map +2 -2
  32. package/dist/cjs/operators/Appender.js +8 -1
  33. package/dist/cjs/operators/Appender.js.map +2 -2
  34. package/dist/cjs/operators/Dr.js +2 -2
  35. package/dist/cjs/operators/Dr.js.map +2 -2
  36. package/dist/cjs/operators/DrAppender.js +2 -2
  37. package/dist/cjs/operators/DrAppender.js.map +2 -2
  38. package/dist/cjs/operators/DrFor.js +2 -2
  39. package/dist/cjs/operators/DrFor.js.map +2 -2
  40. package/dist/cjs/operators/DrForOf.js +34 -6
  41. package/dist/cjs/operators/DrForOf.js.map +2 -2
  42. package/dist/cjs/operators/DrForm.js +6 -6
  43. package/dist/cjs/operators/DrForm.js.map +2 -2
  44. package/dist/cjs/operators/DrInnerHTML.js +2 -2
  45. package/dist/cjs/operators/DrInnerHTML.js.map +2 -2
  46. package/dist/cjs/operators/DrRepeat.js +2 -2
  47. package/dist/cjs/operators/DrRepeat.js.map +2 -2
  48. package/dist/cjs/operators/DrStripElement.js +2 -2
  49. package/dist/cjs/operators/DrStripElement.js.map +2 -2
  50. package/dist/cjs/operators/DrTargetElement.js +14 -5
  51. package/dist/cjs/operators/DrTargetElement.js.map +2 -2
  52. package/dist/cjs/operators/DrTargetElementIsElement.js +2 -2
  53. package/dist/cjs/operators/DrTargetElementIsElement.js.map +2 -2
  54. package/dist/cjs/operators/DrThis.js +2 -2
  55. package/dist/cjs/operators/DrThis.js.map +2 -2
  56. package/dist/cjs/operators/DrThisProperty.js +2 -1
  57. package/dist/cjs/operators/DrThisProperty.js.map +2 -2
  58. package/dist/cjs/rawsets/RawSet.js +87 -160
  59. package/dist/cjs/rawsets/RawSet.js.map +2 -2
  60. package/dist/cjs/routers/HashRouter.js +3 -0
  61. package/dist/cjs/routers/HashRouter.js.map +2 -2
  62. package/dist/cjs/routers/PathRouter.js +3 -0
  63. package/dist/cjs/routers/PathRouter.js.map +2 -2
  64. package/dist/cjs/routers/Router.js +25 -21
  65. package/dist/cjs/routers/Router.js.map +2 -2
  66. package/dist/esm/DomRenderProxy.js +89 -48
  67. package/dist/esm/DomRenderProxy.js.map +2 -2
  68. package/dist/esm/components/ComponentBase.js +47 -1
  69. package/dist/esm/components/ComponentBase.js.map +2 -2
  70. package/dist/esm/components/a/A.js +22 -0
  71. package/dist/esm/components/a/A.js.map +2 -2
  72. package/dist/esm/components/appender/Appender.js +22 -5
  73. package/dist/esm/components/appender/Appender.js.map +2 -2
  74. package/dist/esm/components/details/Details.js +5 -0
  75. package/dist/esm/components/details/Details.js.map +2 -2
  76. package/dist/esm/components/forOf/ForOf.js +2 -2
  77. package/dist/esm/components/forOf/ForOf.js.map +1 -1
  78. package/dist/esm/components/if/If.js +1 -1
  79. package/dist/esm/components/if/If.js.map +2 -2
  80. package/dist/esm/components/index.js +3 -1
  81. package/dist/esm/components/index.js.map +2 -2
  82. package/dist/esm/components/router/RouterOutlet.js +41 -10
  83. package/dist/esm/components/router/RouterOutlet.js.map +2 -2
  84. package/dist/esm/components/select/Select.js +39 -1
  85. package/dist/esm/components/select/Select.js.map +2 -2
  86. package/dist/esm/components/this/This.js +33 -5
  87. package/dist/esm/components/this/This.js.map +2 -2
  88. package/dist/esm/decorators/DomRenderNoProxy.js +3 -9
  89. package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
  90. package/dist/esm/events/EventManager.js +103 -37
  91. package/dist/esm/events/EventManager.js.map +2 -2
  92. package/dist/esm/lifecycle/OnChangeAttrRender.js.map +1 -1
  93. package/dist/esm/lifecycle/OnChildRawSetRendered.js +7 -0
  94. package/dist/esm/lifecycle/OnChildRawSetRendered.js.map +7 -0
  95. package/dist/esm/lifecycle/OnRawSetRendered.js.map +2 -2
  96. package/dist/esm/operators/Appender.js +8 -1
  97. package/dist/esm/operators/Appender.js.map +2 -2
  98. package/dist/esm/operators/Dr.js +2 -2
  99. package/dist/esm/operators/Dr.js.map +2 -2
  100. package/dist/esm/operators/DrAppender.js +2 -2
  101. package/dist/esm/operators/DrAppender.js.map +2 -2
  102. package/dist/esm/operators/DrFor.js +2 -2
  103. package/dist/esm/operators/DrFor.js.map +2 -2
  104. package/dist/esm/operators/DrForOf.js +34 -6
  105. package/dist/esm/operators/DrForOf.js.map +2 -2
  106. package/dist/esm/operators/DrForm.js +6 -6
  107. package/dist/esm/operators/DrForm.js.map +2 -2
  108. package/dist/esm/operators/DrInnerHTML.js +2 -2
  109. package/dist/esm/operators/DrInnerHTML.js.map +2 -2
  110. package/dist/esm/operators/DrRepeat.js +2 -2
  111. package/dist/esm/operators/DrRepeat.js.map +2 -2
  112. package/dist/esm/operators/DrStripElement.js +2 -2
  113. package/dist/esm/operators/DrStripElement.js.map +2 -2
  114. package/dist/esm/operators/DrTargetElement.js +14 -5
  115. package/dist/esm/operators/DrTargetElement.js.map +2 -2
  116. package/dist/esm/operators/DrTargetElementIsElement.js +2 -2
  117. package/dist/esm/operators/DrTargetElementIsElement.js.map +2 -2
  118. package/dist/esm/operators/DrThis.js +2 -2
  119. package/dist/esm/operators/DrThis.js.map +2 -2
  120. package/dist/esm/operators/DrThisProperty.js +2 -1
  121. package/dist/esm/operators/DrThisProperty.js.map +2 -2
  122. package/dist/esm/rawsets/RawSet.js +87 -160
  123. package/dist/esm/rawsets/RawSet.js.map +2 -2
  124. package/dist/esm/routers/HashRouter.js +3 -0
  125. package/dist/esm/routers/HashRouter.js.map +2 -2
  126. package/dist/esm/routers/PathRouter.js +3 -0
  127. package/dist/esm/routers/PathRouter.js.map +2 -2
  128. package/dist/esm/routers/Router.js +25 -21
  129. package/dist/esm/routers/Router.js.map +2 -2
  130. package/dist/esm-bundle/dooboostore-dom-render.esm.js +830 -1533
  131. package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
  132. package/dist/types/DomRenderProxy.d.ts.map +1 -1
  133. package/dist/types/components/ComponentBase.d.ts +12 -1
  134. package/dist/types/components/ComponentBase.d.ts.map +1 -1
  135. package/dist/types/components/a/A.d.ts +6 -0
  136. package/dist/types/components/a/A.d.ts.map +1 -1
  137. package/dist/types/components/appender/Appender.d.ts +1 -0
  138. package/dist/types/components/appender/Appender.d.ts.map +1 -1
  139. package/dist/types/components/details/Details.d.ts +2 -0
  140. package/dist/types/components/details/Details.d.ts.map +1 -1
  141. package/dist/types/components/forOf/ForOf.d.ts +1 -1
  142. package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
  143. package/dist/types/components/if/If.d.ts.map +1 -1
  144. package/dist/types/components/index.d.ts +1 -0
  145. package/dist/types/components/index.d.ts.map +1 -1
  146. package/dist/types/components/router/RouterOutlet.d.ts +6 -3
  147. package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
  148. package/dist/types/components/select/Select.d.ts +5 -3
  149. package/dist/types/components/select/Select.d.ts.map +1 -1
  150. package/dist/types/components/this/This.d.ts +5 -1
  151. package/dist/types/components/this/This.d.ts.map +1 -1
  152. package/dist/types/decorators/DomRenderNoProxy.d.ts.map +1 -1
  153. package/dist/types/events/EventManager.d.ts +1 -0
  154. package/dist/types/events/EventManager.d.ts.map +1 -1
  155. package/dist/types/lifecycle/OnChangeAttrRender.d.ts +1 -1
  156. package/dist/types/lifecycle/OnChangeAttrRender.d.ts.map +1 -1
  157. package/dist/types/lifecycle/OnChildRawSetRendered.d.ts +9 -0
  158. package/dist/types/lifecycle/OnChildRawSetRendered.d.ts.map +1 -0
  159. package/dist/types/lifecycle/OnRawSetRendered.d.ts +2 -0
  160. package/dist/types/lifecycle/OnRawSetRendered.d.ts.map +1 -1
  161. package/dist/types/operators/Appender.d.ts +1 -0
  162. package/dist/types/operators/Appender.d.ts.map +1 -1
  163. package/dist/types/operators/Dr.d.ts.map +1 -1
  164. package/dist/types/operators/DrAppender.d.ts.map +1 -1
  165. package/dist/types/operators/DrFor.d.ts.map +1 -1
  166. package/dist/types/operators/DrForOf.d.ts.map +1 -1
  167. package/dist/types/operators/DrForm.d.ts.map +1 -1
  168. package/dist/types/operators/DrInnerHTML.d.ts.map +1 -1
  169. package/dist/types/operators/DrRepeat.d.ts.map +1 -1
  170. package/dist/types/operators/DrStripElement.d.ts.map +1 -1
  171. package/dist/types/operators/DrTargetElement.d.ts.map +1 -1
  172. package/dist/types/operators/DrThisProperty.d.ts.map +1 -1
  173. package/dist/types/rawsets/RawSet.d.ts +4 -1
  174. package/dist/types/rawsets/RawSet.d.ts.map +1 -1
  175. package/dist/types/routers/HashRouter.d.ts +1 -0
  176. package/dist/types/routers/HashRouter.d.ts.map +1 -1
  177. package/dist/types/routers/PathRouter.d.ts +1 -0
  178. package/dist/types/routers/PathRouter.d.ts.map +1 -1
  179. package/dist/types/routers/Router.d.ts +3 -0
  180. package/dist/types/routers/Router.d.ts.map +1 -1
  181. package/dist/umd-bundle/dooboostore-dom-render.umd.js +830 -1533
  182. package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
  183. package/package.json +4 -4
  184. package/src/DomRenderProxy.ts +169 -75
  185. package/src/DomRenderProxy.ts_cache_back +1031 -0
  186. package/src/components/ComponentBase.ts +61 -5
  187. package/src/components/a/A.ts +25 -0
  188. package/src/components/appender/Appender.ts +3 -3
  189. package/src/components/details/Details.ts +7 -0
  190. package/src/components/forOf/ForOf.ts +2 -2
  191. package/src/components/if/If.ts +3 -2
  192. package/src/components/index.ts +3 -0
  193. package/src/components/router/RouterOutlet.ts +60 -22
  194. package/src/components/select/Select.ts +69 -30
  195. package/src/components/this/This.ts +41 -6
  196. package/src/decorators/DomRenderNoProxy.ts +17 -14
  197. package/src/events/EventManager.ts +180 -77
  198. package/src/lifecycle/OnChangeAttrRender.ts +1 -1
  199. package/src/lifecycle/OnChildRawSetRendered.ts +13 -0
  200. package/src/lifecycle/OnRawSetRendered.ts +3 -1
  201. package/src/operators/Appender.ts +8 -1
  202. package/src/operators/Dr.ts +2 -1
  203. package/src/operators/DrAppender.ts +2 -1
  204. package/src/operators/DrFor.ts +2 -1
  205. package/src/operators/DrForOf.ts +36 -6
  206. package/src/operators/DrForm.ts +6 -5
  207. package/src/operators/DrInnerHTML.ts +2 -1
  208. package/src/operators/DrRepeat.ts +2 -1
  209. package/src/operators/DrStripElement.ts +2 -1
  210. package/src/operators/DrTargetElement.ts +17 -5
  211. package/src/operators/DrTargetElementIsElement.ts +2 -2
  212. package/src/operators/DrThis.ts +2 -2
  213. package/src/operators/DrThisProperty.ts +2 -1
  214. package/src/rawsets/RawSet.ts +161 -237
  215. package/src/routers/HashRouter.ts +4 -0
  216. package/src/routers/PathRouter.ts +5 -0
  217. package/src/routers/Router.ts +64 -47
  218. package/src/node_modules/.bin/acorn +0 -17
  219. package/src/node_modules/.bin/browserslist +0 -17
  220. package/src/node_modules/.bin/eslint +0 -17
  221. package/src/node_modules/.bin/sbf +0 -17
  222. package/src/node_modules/.bin/ts-node +0 -17
  223. package/src/node_modules/.bin/ts-node-cwd +0 -17
  224. package/src/node_modules/.bin/ts-node-dev +0 -17
  225. package/src/node_modules/.bin/ts-node-esm +0 -17
  226. package/src/node_modules/.bin/ts-node-script +0 -17
  227. package/src/node_modules/.bin/ts-node-transpile-only +0 -17
  228. package/src/node_modules/.bin/ts-script +0 -17
  229. package/src/node_modules/.bin/tsc +0 -17
  230. package/src/node_modules/.bin/tsnd +0 -17
  231. package/src/node_modules/.bin/tsserver +0 -17
  232. package/src/node_modules/.bin/webpack +0 -17
  233. package/src/node_modules/.bin/webpack-cli +0 -17
  234. package/src/node_modules/.bin/webpack-dev-server +0 -17
@@ -17,6 +17,8 @@ import { Subject } from '@dooboostore/core/message/Subject';
17
17
  import { debounceTime } from '@dooboostore/core/message/operators/debounceTime';
18
18
  import type { Subscription } from '@dooboostore/core/message/Subscription';
19
19
  import { OnRawSetRendered, OnRawSetRenderedOtherData } from "../lifecycle/OnRawSetRendered";
20
+ import {bufferTime} from "@dooboostore/core/message/operators/bufferTime";
21
+ import {OnChildRawSetRendered} from "../lifecycle/OnChildRawSetRendered";
20
22
 
21
23
 
22
24
  export const ATTRIBUTE_METADATA_KEY = Symbol('attribute');
@@ -131,11 +133,15 @@ export function event(options: { query: string, name: string, onDestroy?: (compo
131
133
  }
132
134
 
133
135
 
134
- export type ComponentBaseConfig = { onlyParentType?: ConstructorType<any>[] | ConstructorType<any>, createChildrenDebounce?: number };
136
+ export type ComponentBaseConfig = { onlyParentType?: ConstructorType<any>[] | ConstructorType<any>,
137
+ createChildrenDebounce?: number,
138
+ onRawSetRenderedOtherDataDebounce?: number
139
+ onChildRawSetRenderedOtherDataDebounce?: number
140
+ };
135
141
 
136
142
  export type ChildrenSet = { instance: any, data: OnCreateRenderDataParams };
137
143
 
138
- export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBaseConfig> implements OnChangeAttrRender, OnCreateRenderData, OnCreatedThisChild, OnDrThisBind, OnDrThisUnBind, OnInitRender, OnDestroyRender, OnRawSetRendered {
144
+ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBaseConfig> implements OnChangeAttrRender, OnCreateRenderData, OnCreatedThisChild, OnDrThisBind, OnDrThisUnBind, OnInitRender, OnDestroyRender, OnRawSetRendered, OnChildRawSetRendered {
139
145
  @DomRenderNoProxy
140
146
  private _rawSet?: RawSet;
141
147
  @DomRenderNoProxy
@@ -157,6 +163,14 @@ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBas
157
163
  private childrenSetSubject = new Subject<ChildrenSet[]>();
158
164
  @DomRenderNoProxy
159
165
  private createChildrenDebounceSubscription?: Subscription | undefined;
166
+ @DomRenderNoProxy
167
+ private onRawSetRenderedOtherDataSubject = new Subject<OnRawSetRenderedOtherData>();
168
+ @DomRenderNoProxy
169
+ private onChildRawSetRenderedOtherDataSubject = new Subject<void>();
170
+ @DomRenderNoProxy
171
+ private onRawSetRenderedOtherDataSubjectSubscription?: Subscription | undefined;
172
+ @DomRenderNoProxy
173
+ private onChildRawSetRenderedOtherDataSubjectSubscription?: Subscription | undefined;
160
174
 
161
175
  constructor(private _config?: C) {
162
176
  }
@@ -374,6 +388,11 @@ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBas
374
388
  }
375
389
 
376
390
  async onRawSetRendered(rawSet: RawSet, otherData: OnRawSetRenderedOtherData): Promise<void> {
391
+ this.onRawSetRenderedOtherDataSubject.next(otherData);
392
+ // this.onRawSetRenderedOtherDataSubjectSubscription = this.onRawSetRenderedOtherDataSubject.pipe(debounceTime(this.componentConfig?.onRawSetRenderedOtherDataDebounce??0)).subscribe(it => {
393
+ // this.onRawSetRenderedDebounce(it);
394
+ // });
395
+
377
396
  const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);
378
397
  if (queries) {
379
398
  queries.filter(it => it.refreshRawSetRendered).forEach(queryInfo => {
@@ -388,6 +407,11 @@ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBas
388
407
  });
389
408
  }
390
409
  }
410
+
411
+ async onChildRawSetRendered(): Promise<void> {
412
+ this.onChildRawSetRenderedOtherDataSubject.next();
413
+ }
414
+
391
415
  /**
392
416
  * Manually refresh all query and event decorators
393
417
  * Useful when DOM elements are dynamically added/removed and you want to update bindings
@@ -517,7 +541,20 @@ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBas
517
541
  }
518
542
  }
519
543
  }
520
-
544
+ getAttributeNames(attribute = this._attribute): string[] {
545
+ const target = attribute as any;
546
+ if (!target) return [];
547
+ const keys = Object.keys(target);
548
+ const names = new Set<string>();
549
+ for (const k of keys) {
550
+ names.add(k);
551
+ // names.add(ConvertUtils.camelToSnakeCase(k));
552
+ // names.add(ConvertUtils.snakeToCamelCase(k));
553
+ // names.add(k.toLowerCase());
554
+ // names.add(k.toUpperCase());
555
+ }
556
+ return Array.from(names);
557
+ }
521
558
  getAttribute<K extends keyof T>(name: K, attribute = this._attribute): T[K] | null {
522
559
  const target = attribute as any;
523
560
  if (!target) {
@@ -624,6 +661,10 @@ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBas
624
661
  }
625
662
 
626
663
  onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {
664
+ }
665
+ onRawSetRenderedDebounce(childrenSet: OnRawSetRenderedOtherData[]) {
666
+ }
667
+ onChildRawSetRenderedDebounce(){
627
668
 
628
669
  }
629
670
 
@@ -641,7 +682,7 @@ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBas
641
682
  }
642
683
 
643
684
  onChangeAttrRender(name: string, value: any, other: OtherData): void {
644
- if (other.rawSet) {
685
+ if (other?.rawSet) {
645
686
  this.setRawSet(other.rawSet);
646
687
  }
647
688
 
@@ -664,9 +705,22 @@ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBas
664
705
  }
665
706
 
666
707
  async onInitRender(param: any, rawSet: RawSet) {
667
- this.createChildrenDebounceSubscription = this.childrenSetSubject.pipe(debounceTime(this.componentConfig?.createChildrenDebounce??0)).subscribe(it => {
708
+ this.createChildrenDebounceSubscription = this.childrenSetSubject.pipe(
709
+ debounceTime(this.componentConfig?.createChildrenDebounce??0)
710
+ ).subscribe(it => {
711
+ // console.log('call onCreatedThisChildDebounce', it);
668
712
  this.onCreatedThisChildDebounce(it);
669
713
  });
714
+ this.onRawSetRenderedOtherDataSubjectSubscription = this.onRawSetRenderedOtherDataSubject.pipe(
715
+ bufferTime(this.componentConfig?.onRawSetRenderedOtherDataDebounce??0)
716
+ ).subscribe(it => {
717
+ this.onRawSetRenderedDebounce(it);
718
+ });
719
+ this.onChildRawSetRenderedOtherDataSubjectSubscription = this.onChildRawSetRenderedOtherDataSubject.pipe(
720
+ debounceTime(this.componentConfig?.onChildRawSetRenderedOtherDataDebounce??0)
721
+ ).subscribe(it => {
722
+ this.onChildRawSetRenderedDebounce();
723
+ });
670
724
  if (rawSet) {
671
725
  this.setRawSet(rawSet);
672
726
 
@@ -699,6 +753,8 @@ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBas
699
753
  this._cleanupEventBindings();
700
754
  this._clearAllRefreshTimers();
701
755
  this.createChildrenDebounceSubscription?.unsubscribe();
756
+ this.onRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();
757
+ this.onChildRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();
702
758
  }
703
759
 
704
760
  }
@@ -1,6 +1,7 @@
1
1
  import { attribute, ComponentBase } from '../ComponentBase';
2
2
  import { DomRender, DomRenderRunConfig } from '../../DomRender';
3
3
  import { RawSet } from '../../rawsets/RawSet';
4
+ import {OtherData} from "../../lifecycle";
4
5
 
5
6
  export namespace A {
6
7
  export const selector = 'dr-a';
@@ -23,6 +24,7 @@ export namespace A {
23
24
  style?: string | null;
24
25
  class?: string | null;
25
26
  click?: ((data: ClickCallbackData) => void) | null;
27
+ onInit?: (e: HTMLAnchorElement) => void;
26
28
  replace?: boolean | null;
27
29
  scrollToTop?: boolean | null;
28
30
  };
@@ -32,9 +34,11 @@ export namespace A {
32
34
  @attribute({ converter: v => v || null }) target: string | null = null;
33
35
  @attribute({ converter: v => v || null }) style: string | null = null;
34
36
  @attribute({ name: 'class', converter: v => v || null }) classAttr: string | null = null;
37
+ @attribute({ name: 'dr-class', converter: v => v || null }) drClass: string | null = null;
35
38
  @attribute() click?: ((data: ClickCallbackData) => void) | null = null;
36
39
  @attribute({ converter: v => v !== null && String(v) !== 'false' }) replace = false;
37
40
  @attribute({ converter: v => v !== null && String(v) !== 'false' }) scrollToTop = true;
41
+ private element?: HTMLElement;
38
42
 
39
43
  onClick(event: MouseEvent) {
40
44
  if (this.click) {
@@ -59,6 +63,25 @@ export namespace A {
59
63
  this.domRenderConfig?.router?.go({path: this.href, replace: this.replace, scrollToTop: this.scrollToTop });
60
64
  }
61
65
  }
66
+
67
+ onChangeAttrRender(name: string, value: any, other: OtherData) {
68
+ super.onChangeAttrRender(name, value, other);
69
+ if (this.element && name.startsWith('attribute-')) {
70
+ this.element.setAttribute(name, value);
71
+ }
72
+ }
73
+
74
+ onAElementInit($element: HTMLElement) {
75
+ this.element = $element;
76
+ this.getAttribute('onInit')?.($element as HTMLAnchorElement);
77
+ this.getAttributeNames()
78
+ .filter(it => it.startsWith('attribute-'))
79
+ .forEach(it => {
80
+ const attrName = it.replace(/^attribute-/, '');
81
+ const attrValue = this.getAttribute(it as any);
82
+ this.element.setAttribute(attrName, attrValue);
83
+ });
84
+ }
62
85
  }
63
86
  }
64
87
 
@@ -72,6 +95,8 @@ export default {
72
95
  style="\${@this@.style}$"
73
96
  class="\${@this@.classAttr}$"
74
97
  dr-event-click="@this@.onClick($event)"
98
+ dr-class="\${@this@.drClass}$"
99
+ dr-on-init="@this@.onAElementInit($element)"
75
100
  >#innerHTML#</a>`,
76
101
  objFactory: (e, o, r2, constructorParam) => {
77
102
  return DomRender.run({ rootObject: new A.A(...constructorParam), config });
@@ -1,4 +1,4 @@
1
- import { ComponentBase } from '../ComponentBase';
1
+ import {attribute, ComponentBase} from '../ComponentBase';
2
2
  import { DomRender, DomRenderRunConfig } from '../../DomRender';
3
3
  import { RawSet } from '../../rawsets/RawSet';
4
4
  import { OtherData } from '../../lifecycle/OnChangeAttrRender';
@@ -25,7 +25,7 @@ export namespace Appender {
25
25
  // })
26
26
  export class Appender<D> extends ComponentBase<Attribute<D>> implements OnInitRender {
27
27
  private value?:DomRenderAppender
28
-
28
+ @attribute({ name: 'dr-option-item-variable-name', converter: v => v || null }) drOptionItemVariableName: string | null = null;
29
29
  // onCreateRender(...param: any) {
30
30
  // console.log('--onCreateRender')
31
31
  // }
@@ -70,7 +70,7 @@ export default {
70
70
  appender: (config?: DomRenderRunConfig) => {
71
71
  return RawSet.createComponentTargetElement({
72
72
  name: Appender.selector,
73
- template: '<div dr-appender="@this@.value" dr-option-strip="true">#innerHTML#</div>',
73
+ template: '<div dr-appender="@this@.value" dr-option-item-variable-name="${@this@.drOptionItemVariableName}$" dr-option-strip="true">#innerHTML#</div>',
74
74
  objFactory: (e,o,r2, counstructorParam) => {
75
75
  return DomRender.run({rootObject: new Appender.Appender(...counstructorParam), config: config});
76
76
  }
@@ -16,6 +16,8 @@ export namespace Details {
16
16
  class?: string;
17
17
  toggle_form_reset?: boolean;
18
18
  disableOtherClickClose?: boolean;
19
+ onOpen?: () => void;
20
+ onClose?: () => void;
19
21
  toggle?: (open: boolean) => void;
20
22
  };
21
23
  export type BodyAttribute = {
@@ -101,6 +103,11 @@ export namespace Details {
101
103
  if (toggleAttribute) {
102
104
  toggleAttribute?.(element.open);
103
105
  }
106
+ if (element.open) {
107
+ this.getAttribute('onOpen')?.();
108
+ } else {
109
+ this.getAttribute('onClose')?.();
110
+ }
104
111
  }
105
112
  async onInitRender(param: any, rawSet: RawSet) {
106
113
  await super.onInitRender(param, rawSet);
@@ -4,7 +4,7 @@ import { RawSet } from '../../rawsets/RawSet';
4
4
  import { OtherData } from '../../lifecycle/OnChangeAttrRender';
5
5
 
6
6
  export namespace ForOf {
7
- export const selector = 'System:ForOf';
7
+ export const selector = 'dr-for-of';
8
8
  export type Attribute<D> = {
9
9
  value: D;
10
10
  };
@@ -29,7 +29,7 @@ export default {
29
29
  forOf: (config?: DomRenderRunConfig) => {
30
30
  return RawSet.createComponentTargetElement({
31
31
  name: ForOf.selector,
32
- template: '<div dr-for-of="@this@.data" dr-option-strip="true">#innerHTML#</div>',
32
+ template: '<div dr-for-of="@this@.value" >#innerHTML#</div>',
33
33
  objFactory: (e, o, r2, counstructorParam) => {
34
34
  return DomRender.run({ rootObject: new ForOf.ForOf(...counstructorParam), config: config });
35
35
  }
@@ -7,6 +7,7 @@ import { DomRenderConfig } from '../../configs/DomRenderConfig';
7
7
 
8
8
  export namespace If {
9
9
  export const selector = 'dr-if';
10
+
10
11
  // export type AppenderInterface<D> = {
11
12
  // push(...data:D[]):void;
12
13
  // set(key: string, ...v:D[]):void
@@ -19,7 +20,6 @@ export namespace If {
19
20
 
20
21
  export class If<D> extends ComponentBase<Attribute<D>> implements OnInitRender {
21
22
  private sw: boolean = false;
22
-
23
23
  async onInitRender(param: any, rawSet: RawSet) {
24
24
  super.onInitRender(param, rawSet);
25
25
  }
@@ -50,9 +50,10 @@ export default {
50
50
  // });
51
51
  // }
52
52
 
53
+
53
54
  return RawSet.createComponentTargetElement({
54
55
  name: If.selector,
55
- template: '<div dr-if="@this@.sw" >#innerHTML#</div>',
56
+ template: '<div dr-if="@this@.sw" dr-option-strip="true" >#innerHTML#</div>',
56
57
  objFactory: (e, o, r2, counstructorParam) => {
57
58
  return DomRender.run({ rootObject: new If.If(...counstructorParam), config: config });
58
59
  }
@@ -1,3 +1,4 @@
1
+
1
2
  export * from './ComponentBase';
2
3
  export * from './ComponentRouterBase';
3
4
  export * from './ComponentSet';
@@ -30,6 +31,7 @@ import Details from './details/Details';
30
31
  import Input from './input/Input';
31
32
  import Route from './router/Route';
32
33
  import A from './a/A';
34
+ import ForOf from './forOf/ForOf';
33
35
 
34
36
  export const drComponent = {
35
37
  ...If,
@@ -46,4 +48,5 @@ export const drComponent = {
46
48
  ...Route,
47
49
  ...RouterOutlet,
48
50
  ...A,
51
+ ...ForOf
49
52
  }
@@ -1,17 +1,17 @@
1
- import { ChildrenSet, ComponentBase } from '../ComponentBase';
2
- import { DomRenderRunConfig } from '../../DomRender';
3
- import { RawSet } from '../../rawsets/RawSet';
4
- import { OtherData } from '../../lifecycle/OnChangeAttrRender';
5
- import { OnInitRender } from '../../lifecycle/OnInitRender';
6
- import { ComponentSet } from '../../components/ComponentSet';
7
- import { OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';
8
- import { ComponentRouterBase, isOnCreatedOutletDebounce } from '../../components/ComponentRouterBase';
9
- import { OnCreateRenderDataParams } from 'src/lifecycle';
1
+ import {ChildrenSet, ComponentBase} from '../ComponentBase';
2
+ import {DomRenderRunConfig} from '../../DomRender';
3
+ import {RawSet} from '../../rawsets/RawSet';
4
+ import {isOnChangeAttrRender, OtherData} from '../../lifecycle/OnChangeAttrRender';
5
+ import {OnInitRender} from '../../lifecycle/OnInitRender';
6
+ import {ComponentSet} from '../../components/ComponentSet';
7
+ import {OnDestroyRenderParams} from '../../lifecycle/OnDestroyRender';
8
+ import {ComponentRouterBase, isOnCreatedOutletDebounce} from '../../components/ComponentRouterBase';
9
+ import {OnCreateRenderDataParams} from '../../lifecycle';
10
10
 
11
11
  export namespace RouterOutlet {
12
12
  export const selector = 'dr-router-outlet';
13
13
  export type Attribute = {
14
- value: ComponentSet;
14
+ value: ComponentSet | string;
15
15
  if: boolean | null;
16
16
  createArguments: any[];
17
17
  onCreated?: (value: any) => void;
@@ -23,20 +23,32 @@ export namespace RouterOutlet {
23
23
  private value?: ComponentSet;
24
24
  private if?: boolean | null = null;
25
25
  private createArguments?: any[];
26
+ private childObject?: any;
27
+ private childRawSet?: RawSet;
28
+ private sw = false;
26
29
 
27
30
  setValue(value: ComponentSet) {
28
- this.value = value;
31
+ this.sw = false;
32
+ setTimeout(() => {
33
+ this.value = value;
34
+ }, 0)
35
+
36
+ setTimeout(() => {
37
+ this.sw = true;
38
+ }, 0)
29
39
  // console.log('sssssssssss');
30
40
  }
31
41
 
32
42
  async onInitRender(param: any, rawSet: RawSet) {
33
43
  await super.onInitRender(param, rawSet);
34
- const c = this.getParentThis();
44
+ const c = this.getParentThis<any>();
35
45
  const userValue = this.getAttribute('value');
36
- if (userValue) {
37
- this.value = userValue;
38
- } else if (c instanceof ComponentRouterBase) {
39
- this.value = c.child;
46
+ if (typeof userValue === 'string') {
47
+ this.setValue(c[userValue]);
48
+ } else if (userValue instanceof ComponentSet) {
49
+ this.setValue(userValue);
50
+ } else if (!userValue && c instanceof ComponentRouterBase) {
51
+ this.setValue(c.child);
40
52
  }
41
53
  // console.log('------',c);
42
54
  }
@@ -47,8 +59,9 @@ export namespace RouterOutlet {
47
59
 
48
60
  onChangeAttrRender(name: string, value: any, other: OtherData) {
49
61
  super.onChangeAttrRender(name, value, other);
62
+ // console.log('--------------', name, value);
50
63
  if (this.equalsAttributeName(name, 'value')) {
51
- this.value = value;
64
+ this.setValue(value);
52
65
  }
53
66
  if (this.equalsAttributeName(name, 'if')) {
54
67
  this.if = value;
@@ -56,6 +69,10 @@ export namespace RouterOutlet {
56
69
  if (this.equalsAttributeName(name, 'createArguments')) {
57
70
  this.createArguments = value;
58
71
  }
72
+
73
+ if (this.childObject && this.childRawSet && isOnChangeAttrRender(this.childObject)) {
74
+ this.childObject.onChangeAttrRender(name, value, {rawSet: this.childRawSet});
75
+ }
59
76
  }
60
77
 
61
78
  onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {
@@ -72,9 +89,26 @@ export namespace RouterOutlet {
72
89
  }
73
90
  this.getAttribute('onCreatedDebounce')?.(this.value?.obj);
74
91
  }
75
- created(component: any) {
76
- component ??= this.value?.obj;
77
- this.getAttribute('onCreated')?.(component);
92
+
93
+
94
+ onCreateDrThis($component: any, $rawSet: RawSet) {
95
+ this.childObject = $component ??= this.value?.obj;
96
+ this.childRawSet = $rawSet;
97
+ if ($component) {
98
+ this.getAttribute('onCreated')?.($component);
99
+ // console.log('21222');
100
+ if (isOnChangeAttrRender($component)) {
101
+ this.getAttributeNames()
102
+ .filter(it => it.startsWith('attribute-'))
103
+ .forEach(it => {
104
+ const attrName = it.replace(/^attribute-/, '');
105
+ const attrValue = this.getAttribute(it as any);
106
+ $rawSet.dataSet.render.attribute ??= {};
107
+ $rawSet.dataSet.render.attribute[attrName] = attrValue;
108
+ $component.onChangeAttrRender(attrName, attrValue, {rawSet: $rawSet});
109
+ });
110
+ }
111
+ }
78
112
  }
79
113
  }
80
114
  }
@@ -85,9 +119,13 @@ export default {
85
119
  return RawSet.createComponentTargetElement({
86
120
  name: RouterOutlet.selector,
87
121
  template:
88
- '<div dr-this="@this@.value" dr-detect-option-if="@this@?.value && @this@?.if" dr-option-strip="true" dr-on-create:arguments="@this@.createArguments" dr-on-create:callback="@this@?.created?.($component)">#innerHTML#</div>',
122
+ `
123
+ <dr-if value="\${@this@.sw}$">
124
+ <div dr-this="@this@.value" dr-detect-option-if="@this@?.value && @this@?.if" dr-option-strip="true" dr-on-create:arguments="@this@.createArguments" dr-on-create:callback="@this@?.onCreateDrThis?.($component, $rawSet)">#innerHTML#</div>
125
+ </dr-if>
126
+ `,
89
127
  objFactory: (e, o, r2, counstructorParam) => {
90
- return executer?.run({ rootObject: new RouterOutlet.RouterOutlet(...counstructorParam), config: config });
128
+ return executer?.run({rootObject: new RouterOutlet.RouterOutlet(...counstructorParam), config: config});
91
129
  }
92
130
  });
93
131
  }
@@ -1,17 +1,17 @@
1
- import { attribute, ChildrenSet, ComponentBase } from '../ComponentBase';
2
- import { DomRender, DomRenderRunConfig } from '../../DomRender';
3
- import { RawSet } from '../../rawsets/RawSet';
4
- import { OnCreateRenderData } from '../../lifecycle/OnCreateRenderData';
5
- import { OnInitRender } from '../../lifecycle/OnInitRender';
6
- import { OnDestroyRender } from '../../lifecycle/OnDestroyRender';
7
- import { EventUtils } from '@dooboostore/core-web/event/EventUtils';
8
- import { type Subscription } from '@dooboostore/core/message/Subscription';
9
- import { ValidUtils } from '@dooboostore/core-web/valid/ValidUtils';
10
- import { DomRenderNoProxy } from '../../decorators/DomRenderNoProxy';
11
- import { OnCreateRender } from '../../lifecycle/OnCreateRender';
12
- import { DomRenderConfig } from '../../configs/DomRenderConfig';
13
- import { WindowUtils } from '@dooboostore/core-web/window/WindowUtils';
14
- import { OnRawSetRenderedOtherData } from 'src/lifecycle';
1
+ import {attribute, ChildrenSet, ComponentBase} from '../ComponentBase';
2
+ import {DomRender, DomRenderRunConfig} from '../../DomRender';
3
+ import {RawSet} from '../../rawsets/RawSet';
4
+ import {OnCreateRenderData} from '../../lifecycle/OnCreateRenderData';
5
+ import {OnInitRender} from '../../lifecycle/OnInitRender';
6
+ import {OnDestroyRender} from '../../lifecycle/OnDestroyRender';
7
+ import {EventUtils} from '@dooboostore/core-web/event/EventUtils';
8
+ import {type Subscription} from '@dooboostore/core/message/Subscription';
9
+ import {ValidUtils} from '@dooboostore/core-web/valid/ValidUtils';
10
+ import {DomRenderNoProxy} from '../../decorators/DomRenderNoProxy';
11
+ import {OnCreateRender} from '../../lifecycle/OnCreateRender';
12
+ import {DomRenderConfig} from '../../configs/DomRenderConfig';
13
+ import {WindowUtils} from '@dooboostore/core-web/window/WindowUtils';
14
+ import {OnRawSetRenderedOtherData} from '../../lifecycle';
15
15
 
16
16
  /** 사용법
17
17
  <dr-select class="card-select-container" changeSelected="${(data) => @this@.changeSelected(data)}$"> <!-- multiple attribute optional-->
@@ -150,7 +150,7 @@ export namespace Select {
150
150
  toggleSelected(event: Event) {
151
151
  // console.log('isMultiple', this.isMultiple())
152
152
  if (!this.disabled) {
153
- this.selected = this.isMultiple()? !this.selected : true;
153
+ this.selected = this.isMultiple() ? !this.selected : true;
154
154
  // this.selected = !this.selected;
155
155
  this.updateStatus();
156
156
  this.getParentThis<SelectBody>().changeOptionState(this);
@@ -215,7 +215,7 @@ export namespace Select {
215
215
 
216
216
  // --- Summary Component ---
217
217
  export class Summary extends ComponentBase implements OnInitRender {
218
- @attribute({ name: 'class', converter: v => (v === '' ? null : v) }) public classAttr: string | null = null;
218
+ @attribute({name: 'class', converter: v => (v === '' ? null : v)}) public classAttr: string | null = null;
219
219
  private options: Select.Option[] = [];
220
220
  private disabled: boolean = false;
221
221
  public element?: HTMLElement;
@@ -290,18 +290,18 @@ export namespace Select {
290
290
 
291
291
 
292
292
  export class SelectBody extends ComponentBase<SelectBodyAttribute> {
293
- @attribute({ name: 'class', converter: v => (v === '' ? null : v) }) public classAttr: string | null = null;
294
- @attribute({ name: 'float' }) public float: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right' | null = null;
293
+ @attribute({name: 'class', converter: v => (v === '' ? null : v)}) public classAttr: string | null = null;
294
+ @attribute({name: 'float'}) public float: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right' | null = null;
295
295
 
296
296
  constructor() {
297
- super({ onlyParentType: Select });
297
+ super({onlyParentType: Select});
298
298
  }
299
299
 
300
300
  async onRawSetRendered(rawSet: RawSet, otherData: OnRawSetRenderedOtherData): Promise<void> {
301
301
  await super.onRawSetRendered(rawSet, otherData);
302
- // }
303
- // onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {
304
- // super.onCreatedThisChildDebounce(childrenSet);
302
+ // }
303
+ // onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {
304
+ // super.onCreatedThisChildDebounce(childrenSet);
305
305
  this.changeOptionState();
306
306
  }
307
307
 
@@ -337,7 +337,8 @@ export namespace Select {
337
337
  // --- Main Select Component ---
338
338
  export type SelectAttribute = {
339
339
  multiple?: boolean | null; class?: string;
340
- changeSelected?: (value: (string | null)[]) => void;
340
+ onchange?: (value?: string) => void;
341
+ onchangeValues?: (value: string[]) => void;
341
342
  name?: string;
342
343
  float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';
343
344
  disableOtherClickClose?: boolean;
@@ -354,7 +355,7 @@ export namespace Select {
354
355
  // public isOpen = false;
355
356
  public selectedValues: (string | null)[] = [];
356
357
  public selectedOptions: Option[] = [];
357
- public value: string | (string | null)[] | null | undefined;
358
+ private value: string | (string | null)[] | null | undefined;
358
359
 
359
360
  @DomRenderNoProxy private element?: HTMLDetailsElement;
360
361
  @DomRenderNoProxy private documentClickSubscription?: Subscription;
@@ -368,6 +369,14 @@ export namespace Select {
368
369
  // console.log('----Select constructor')
369
370
  }
370
371
 
372
+ // get value(): string | (string | null)[] | null | undefined {
373
+ // return this._value;
374
+ // }
375
+ // set value(val: string | (string | null)[] | null | undefined) {
376
+ // console.log('value set', val)
377
+ // this._value = val;
378
+ // }
379
+
371
380
  get optionComponents(): Option[] {
372
381
  return this.getChildren(Option);
373
382
  }
@@ -431,13 +440,17 @@ export namespace Select {
431
440
  this.options = options;
432
441
 
433
442
  const values = this.options.filter(it => it.selected && !it.disabled).map(it => it.value)
434
- this.getAttribute('changeSelected')?.(values);
435
443
  summaries?.forEach(it => {
436
444
  it.setDisabled(this.disabled);
437
445
  if (!this.disabled) {
438
446
  it.setOptions(options);
439
447
  }
440
- })
448
+ });
449
+ this.selectedValues = values;
450
+ this.selectedOptions = this.options.filter(it => it.selected && !it.disabled);
451
+ this.value = this.selectedValues[0];
452
+ this.getAttribute('onchange')?.(this.value);
453
+ this.getAttribute('onchangeValues')?.(values);
441
454
  }
442
455
 
443
456
  onInitDetailsElement(detailsElement: HTMLDetailsElement) {
@@ -456,6 +469,32 @@ export namespace Select {
456
469
  this.windowBlurSubscription?.unsubscribe();
457
470
  }
458
471
 
472
+ @attribute('value')
473
+ setValue(value: string | null | undefined) {
474
+ this.value = value;
475
+ if (this.options) {
476
+
477
+ // clear
478
+ this.options.forEach(it=> {
479
+ it.selected = false;
480
+ it.updateStatus();
481
+ });
482
+ for (let option of this.options) {
483
+ if (option.value === value) {
484
+ option.selected = true;
485
+ if (!this.multiple) {
486
+ // 하나만 선택
487
+ break;
488
+ }
489
+ } else {
490
+ option.selected = false;
491
+ }
492
+ option.updateStatus()
493
+ }
494
+ }
495
+ console.log('value set', value)
496
+ }
497
+
459
498
  test() {
460
499
  console.log('tttttttt')
461
500
  }
@@ -467,7 +506,7 @@ const stateComponentFactory = (name: string, type: any) => {
467
506
  RawSet.createComponentTargetElement({
468
507
  name,
469
508
  template: '<div dr-if="!@this@.hidden" dr-option-strip="true">#innerHTML#</div>\n',
470
- objFactory: (e, o, r2, constructorParam) => DomRender.run({ rootObject: new type(), config })
509
+ objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new type(), config})
471
510
  });
472
511
  };
473
512
 
@@ -550,7 +589,7 @@ export default {
550
589
  '<select hidden="hidden" name="${@this@.name}$" disabled="${@this@.disabled ? \'disabled\' : null}$" style="width: 1500px; height:500px" multiple>\n' +
551
590
  ' <option dr-for-of="@this@.options" value="${#it#.value}$" selected="${#it#.selected ? \'selected\' : null}$">#it# ${#it#.value}$</option>\n' +
552
591
  '</select>',
553
- objFactory: (e, o, r2, constructorParam) => DomRender.run({ rootObject: new Select.Select(config), config })
592
+ objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new Select.Select(config), config})
554
593
  });
555
594
  },
556
595
  selectSummary: (config?: DomRenderRunConfig) => {
@@ -563,7 +602,7 @@ export default {
563
602
  '>\n' +
564
603
  '#innerHTML#\n' +
565
604
  '</summary>',
566
- objFactory: (e, o, r2, constructorParam) => DomRender.run({ rootObject: new Select.Summary(), config })
605
+ objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new Select.Summary(), config})
567
606
  });
568
607
  },
569
608
  selectSummaryPlaceholder: stateComponentFactory(`${Select.selector}-summary-placeholder`, Select.SummaryPlaceholder),
@@ -585,7 +624,7 @@ export default {
585
624
  name: `${Select.selector}-option`,
586
625
  template:
587
626
  '<a dr-class="{[@this@.classAttr]: @this@.classAttr}" dr-event-click="@this@.toggleSelected($event)">#innerHTML#</a>\n',
588
- objFactory: (e, o, r2, constructorParam) => DomRender.run({ rootObject: new Select.Option(), config })
627
+ objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new Select.Option(), config})
589
628
  });
590
629
  },
591
630
  selectOptionSelected: stateComponentFactory(`${Select.selector}-option-selected`, Select.OptionSelected),