@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
@@ -9,7 +9,6 @@ import { type Subscription } from '@dooboostore/core/message/Subscription';
9
9
  import { ValidUtils } from '@dooboostore/core-web/valid/ValidUtils';
10
10
  import { EventUtils } from '@dooboostore/core-web/event/EventUtils';
11
11
 
12
-
13
12
  export namespace Details {
14
13
  export const selector = 'dr-details';
15
14
 
@@ -18,15 +17,15 @@ export namespace Details {
18
17
  toggle_form_reset?: boolean;
19
18
  disableOtherClickClose?: boolean;
20
19
  toggle?: (open: boolean) => void;
21
- }
20
+ };
22
21
  export type BodyAttribute = {
23
- float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right'
24
- } & Attribute
22
+ float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';
23
+ } & Attribute;
25
24
 
26
25
  export type FormAttribute = {
27
26
  disabledSubmit?: null;
28
- submit?: (event: SubmitEvent, element: HTMLFormElement)=>void;
29
- } & BodyAttribute
27
+ submit?: (event: SubmitEvent, element: HTMLFormElement) => void;
28
+ } & BodyAttribute;
30
29
 
31
30
  // @Component({
32
31
  // template: '<summary class="${`${@this@.getAttribute(\'class\')} details-summary-container`}$">#innerHTML#</summary>',
@@ -35,7 +34,7 @@ export namespace Details {
35
34
  // })
36
35
  export class Summary extends ComponentBase<Attribute> {
37
36
  constructor() {
38
- super({onlyParentType: [Details]});
37
+ super({ onlyParentType: [Details] });
39
38
  }
40
39
  }
41
40
 
@@ -46,16 +45,13 @@ export namespace Details {
46
45
  export class Body extends ComponentBase<BodyAttribute> {
47
46
  private $element?: HTMLDivElement;
48
47
  constructor() {
49
- super({onlyParentType: [Details]});
48
+ super({ onlyParentType: [Details] });
50
49
  }
51
50
  }
52
51
 
53
52
  export const isBody = (instance: any): instance is Body => {
54
53
  return instance instanceof Body;
55
- }
56
-
57
-
58
-
54
+ };
59
55
 
60
56
  // @Component({
61
57
  // template: '<form class="${`${@this@.getAttribute(\'class\')} details-body-container details-body-${@this@.getAttribute(\'float\')}-container details-form-container`}$" dr-on-init="@this@.$element = $element;" dr-event-submit="@this@.submit($element,$event);">#innerHTML#</form>',
@@ -65,14 +61,14 @@ export namespace Details {
65
61
  export class Form extends ComponentBase<FormAttribute> {
66
62
  private $element?: HTMLFormElement;
67
63
  constructor() {
68
- super({onlyParentType: [Details]});
64
+ super({ onlyParentType: [Details] });
69
65
  }
70
66
  submit(element: HTMLFormElement, event: SubmitEvent) {
71
67
  if (this.hasAttribute('disabledSubmit')) {
72
68
  event.preventDefault();
73
69
  }
74
70
  if (this.hasAttribute('submit')) {
75
- this.getAttribute('submit')?.(event, element);
71
+ this.getAttribute('submit')?.(event, element);
76
72
  }
77
73
  }
78
74
  reset() {
@@ -81,7 +77,7 @@ export namespace Details {
81
77
  }
82
78
  export const isForm = (instance: any): instance is Form => {
83
79
  return instance instanceof Form;
84
- }
80
+ };
85
81
 
86
82
  // @Component({
87
83
  // template: template,
@@ -98,8 +94,7 @@ export namespace Details {
98
94
  super.onCreateRenderData(data);
99
95
  }
100
96
 
101
- onCreateRender(...param: any[]): void {
102
- }
97
+ onCreateRender(...param: any[]): void {}
103
98
 
104
99
  toggle(element: HTMLDetailsElement) {
105
100
  const toggleAttribute = this.getAttribute('toggle');
@@ -107,8 +102,8 @@ export namespace Details {
107
102
  toggleAttribute?.(element.open);
108
103
  }
109
104
  }
110
- onInitRender(param: any, rawSet: RawSet): void {
111
- super.onInitRender(param,rawSet);
105
+ async onInitRender(param: any, rawSet: RawSet) {
106
+ await super.onInitRender(param, rawSet);
112
107
 
113
108
  if (ValidUtils.isBrowser() && this.rawSet?.dataSet.config.window) {
114
109
  const detailsElement = this.element;
@@ -118,18 +113,18 @@ export namespace Details {
118
113
  if (this.getAttribute('disableOtherClickClose')) {
119
114
  return;
120
115
  }
121
- if (detailsElement && !detailsElement?.contains(event?.target as Node)){
116
+ if (detailsElement && !detailsElement?.contains(event?.target as Node)) {
122
117
  detailsElement.open = false;
123
118
  }
124
- })
119
+ });
125
120
  if (detailsElement) {
126
121
  this.toggleSubscription = EventUtils.htmlElementEventObservable(detailsElement, 'toggle').subscribe(it => {
127
122
  if (ValidUtils.coreValidUtils.isNotNullUndefined(this.getAttribute('toggle_form_reset'))) {
128
123
  this.children?.filter(isForm).forEach(it => {
129
124
  it.reset();
130
- })
125
+ });
131
126
  }
132
- })
127
+ });
133
128
  }
134
129
  }
135
130
  // console.log('aaaaaaaaaaaaaaaaaaaaa', rawSet);
@@ -139,7 +134,6 @@ export namespace Details {
139
134
  super.onChangeAttrRender(name, value, other);
140
135
  }
141
136
 
142
-
143
137
  onDestroyRender(...metaData: any[]): void {
144
138
  this.toggleSubscription?.unsubscribe();
145
139
  this.documentClickSubscription?.unsubscribe();
@@ -151,7 +145,6 @@ export namespace Details {
151
145
 
152
146
  // changeAttribute(attribute: { className: string } | undefined) {
153
147
  // }
154
-
155
148
  }
156
149
  }
157
150
 
@@ -159,29 +152,32 @@ export default {
159
152
  detailsSummary: (config?: DomRenderRunConfig) => {
160
153
  return RawSet.createComponentTargetElement({
161
154
  name: `${Details.selector}-summary`,
162
- template: '<summary class="${`${@this@.getAttribute(\'class\')} details-summary-container`}$">#innerHTML#</summary>',
163
- objFactory: (e,o,r2, counstructorParam) => {
164
- return DomRender.run({rootObject: new Details.Summary(), config: config});
155
+ template:
156
+ '<summary class="${`${@this@.getAttribute(\'class\')} details-summary-container`}$">#innerHTML#</summary>',
157
+ objFactory: (e, o, r2, counstructorParam) => {
158
+ return DomRender.run({ rootObject: new Details.Summary(), config: config });
165
159
  }
166
- })
160
+ });
167
161
  },
168
162
  detailsBody: (config?: DomRenderRunConfig) => {
169
163
  return RawSet.createComponentTargetElement({
170
164
  name: `${Details.selector}-body`,
171
- template: '<div class="${`${@this@.getAttribute(\'class\')} details-body-container details-body-${@this@.getAttribute(\'float\')}-container`}$" dr-on-init="@this@.$element = $element;">#innerHTML#</div>',
172
- objFactory: (e,o,r2, counstructorParam) => {
173
- return DomRender.run({rootObject: new Details.Body(), config: config});
165
+ template:
166
+ '<div class="${`${@this@.getAttribute(\'class\')} details-body-container details-body-${@this@.getAttribute(\'float\')}-container`}$" dr-on-init="@this@.$element = $element;">#innerHTML#</div>',
167
+ objFactory: (e, o, r2, counstructorParam) => {
168
+ return DomRender.run({ rootObject: new Details.Body(), config: config });
174
169
  }
175
- })
170
+ });
176
171
  },
177
172
  detailsForm: (config?: DomRenderRunConfig) => {
178
173
  return RawSet.createComponentTargetElement({
179
174
  name: `${Details.selector}-form`,
180
- template: '<form class="${`${@this@.getAttribute(\'class\')} details-body-container details-body-${@this@.getAttribute(\'float\')}-container details-form-container`}$" dr-on-init="@this@.$element = $element;" dr-event-submit="@this@.submit($element,$event);">#innerHTML#</form>',
181
- objFactory: (e,o,r2, counstructorParam) => {
182
- return DomRender.run({rootObject: new Details.Form(), config: config});
175
+ template:
176
+ '<form class="${`${@this@.getAttribute(\'class\')} details-body-container details-body-${@this@.getAttribute(\'float\')}-container details-form-container`}$" dr-on-init="@this@.$element = $element;" dr-event-submit="@this@.submit($element,$event);">#innerHTML#</form>',
177
+ objFactory: (e, o, r2, counstructorParam) => {
178
+ return DomRender.run({ rootObject: new Details.Form(), config: config });
183
179
  }
184
- })
180
+ });
185
181
  },
186
182
  details: (config?: DomRenderRunConfig) => {
187
183
  return RawSet.createComponentTargetElement({
@@ -227,10 +223,11 @@ export default {
227
223
  /*margin-bottom: 0px;*/
228
224
  }
229
225
  `,
230
- template: '<details class="${`${@this@.getAttribute(\'class\')} details-container`}$" dr-on-init="@this@.element = $element;" dr-event-toggle="@this@.toggle($element)"> #innerHTML# </details>',
231
- objFactory: (e,o,r2, counstructorParam) => {
232
- return DomRender.run({rootObject: new Details.Details(...counstructorParam), config: config});
226
+ template:
227
+ '<details class="${`${@this@.getAttribute(\'class\')} details-container`}$" dr-on-init="@this@.element = $element;" dr-event-toggle="@this@.toggle($element)"> #innerHTML# </details>',
228
+ objFactory: (e, o, r2, counstructorParam) => {
229
+ return DomRender.run({ rootObject: new Details.Details(...counstructorParam), config: config });
233
230
  }
234
- })
235
- },
236
- }
231
+ });
232
+ }
233
+ };
@@ -3,12 +3,11 @@ import { DomRender, DomRenderRunConfig } from '../../DomRender';
3
3
  import { RawSet } from '../../rawsets/RawSet';
4
4
  import { OtherData } from '../../lifecycle/OnChangeAttrRender';
5
5
 
6
-
7
6
  export namespace ForOf {
8
7
  export const selector = 'System:ForOf';
9
8
  export type Attribute<D> = {
10
9
  value: D;
11
- }
10
+ };
12
11
 
13
12
  // @Component({
14
13
  // template: '<div dr-for-of="@this@.data" dr-option-strip="true">#innerHTML#</div>',
@@ -23,19 +22,17 @@ export namespace ForOf {
23
22
  this.value = value;
24
23
  }
25
24
  }
26
-
27
25
  }
28
26
  }
29
27
 
30
-
31
28
  export default {
32
29
  forOf: (config?: DomRenderRunConfig) => {
33
30
  return RawSet.createComponentTargetElement({
34
31
  name: ForOf.selector,
35
32
  template: '<div dr-for-of="@this@.data" dr-option-strip="true">#innerHTML#</div>',
36
- objFactory: (e,o,r2, counstructorParam) => {
37
- return DomRender.run({rootObject: new ForOf.ForOf(...counstructorParam), config: config});
33
+ objFactory: (e, o, r2, counstructorParam) => {
34
+ return DomRender.run({ rootObject: new ForOf.ForOf(...counstructorParam), config: config });
38
35
  }
39
- })
40
- },
41
- }
36
+ });
37
+ }
38
+ };
@@ -1,6 +1,6 @@
1
1
  import { ComponentBase } from '../ComponentBase';
2
2
  import { OtherData } from '../../lifecycle/OnChangeAttrRender';
3
- import { DomRender, DomRenderRunConfig } from '../../DomRender';
3
+ import { DomRender } from '../../DomRender';
4
4
  import { OnInitRender } from '../../lifecycle/OnInitRender';
5
5
  import { RawSet } from '../../rawsets/RawSet';
6
6
  import { DomRenderConfig } from '../../configs/DomRenderConfig';
@@ -15,12 +15,12 @@ export namespace If {
15
15
  // }
16
16
  export type Attribute<D> = {
17
17
  value?: null | boolean;
18
- }
18
+ };
19
19
 
20
20
  export class If<D> extends ComponentBase<Attribute<D>> implements OnInitRender {
21
21
  private sw: boolean = false;
22
22
 
23
- onInitRender(param: any, rawSet: RawSet) {
23
+ async onInitRender(param: any, rawSet: RawSet) {
24
24
  super.onInitRender(param, rawSet);
25
25
  }
26
26
 
@@ -28,7 +28,7 @@ export namespace If {
28
28
  super.onChangeAttrRender(name, value, other);
29
29
 
30
30
  if (this.equalsAttributeName(name, 'value')) {
31
- // console.log('------',this,name, value)
31
+ // console.log('--', value, typeof value);
32
32
  this.sw = value;
33
33
  }
34
34
  }
@@ -41,8 +41,6 @@ export namespace If {
41
41
  // template: '<div dr-if="@this@.sw" dr-option-strip="true">#innerHTML#</div>' });
42
42
  export default {
43
43
  if: (config?: DomRenderConfig) => {
44
-
45
-
46
44
  // if (!customElements.get(If.selector)) {
47
45
  // customElements.define(If.selector, class extends HTMLElement {
48
46
  // constructor() {
@@ -54,10 +52,10 @@ export default {
54
52
 
55
53
  return RawSet.createComponentTargetElement({
56
54
  name: If.selector,
57
- template: '<div dr-if="@this@.sw" dr-option-strip="true">#innerHTML#</div>',
55
+ template: '<div dr-if="@this@.sw" >#innerHTML#</div>',
58
56
  objFactory: (e, o, r2, counstructorParam) => {
59
- return DomRender.run({rootObject: new If.If(...counstructorParam), config: config});
57
+ return DomRender.run({ rootObject: new If.If(...counstructorParam), config: config });
60
58
  }
61
- })
62
- },
63
- }
59
+ });
60
+ }
61
+ };
@@ -11,7 +11,6 @@ import { EventUtils } from '@dooboostore/core-web/event/EventUtils';
11
11
  import { debounceTime } from '@dooboostore/core/message/operators/debounceTime';
12
12
  import { distinctUntilChanged } from '@dooboostore/core/message/operators/distinctUntilChanged';
13
13
 
14
-
15
14
  export namespace Input {
16
15
  export const selector = `dr-input`;
17
16
  export type Attribute = {
@@ -21,13 +20,10 @@ export namespace Input {
21
20
  class?: string;
22
21
  debounceTime?: number;
23
22
  distinct?: boolean;
24
- input?: (value: string, element: Element) => void
25
-
26
- }
23
+ input?: (value: string, element: Element) => void;
24
+ };
27
25
 
28
- export class Base extends ComponentBase<any> {
29
-
30
- }
26
+ export class Base extends ComponentBase<any> {}
31
27
 
32
28
  // @Component({
33
29
  // selector: `${selector}`,
@@ -39,16 +35,16 @@ export namespace Input {
39
35
  private inputSubscription?: Subscription;
40
36
  private resetSubscripton?: Subscription;
41
37
 
42
- onCreateRender(...param: any[]): void {
43
- }
38
+ onCreateRender(...param: any[]): void {}
44
39
 
45
-
46
- onInitRender(param: any, rawSet: RawSet) {
47
- super.onInitRender(param, rawSet);
40
+ async onInitRender(param: any, rawSet: RawSet) {
41
+ await super.onInitRender(param, rawSet);
48
42
  // console.log('dr-input, rawSet', rawSet)
49
43
  const inputElement = this.element;
50
44
  const debounceTimeAttribute = this.getAttribute('debounceTime');
51
- const debounceTimeValue = ValidUtils.isNotNullUndefined(debounceTimeAttribute) ? Number(debounceTimeAttribute) : 0;
45
+ const debounceTimeValue = ValidUtils.isNotNullUndefined(debounceTimeAttribute)
46
+ ? Number(debounceTimeAttribute)
47
+ : 0;
52
48
  const distinct = ValidUtils.isNotNullUndefined(this.getAttribute('distinct'));
53
49
 
54
50
  if (inputElement) {
@@ -87,11 +83,9 @@ export namespace Input {
87
83
  // console.log('rrrr?')
88
84
  this.getAttribute('input')?.(it, inputElement);
89
85
  });
90
- })
86
+ });
91
87
  }
92
88
  }
93
-
94
-
95
89
  }
96
90
 
97
91
  onChangeAttrRender(name: string, value: any, other: OtherData) {
@@ -108,7 +102,6 @@ export namespace Input {
108
102
  this.resetSubscripton?.unsubscribe();
109
103
  this.inputSubscription?.unsubscribe();
110
104
  }
111
-
112
105
  }
113
106
  }
114
107
 
@@ -116,10 +109,11 @@ export default {
116
109
  input: (config?: DomRenderRunConfig) => {
117
110
  return RawSet.createComponentTargetElement({
118
111
  name: `${Input.selector}`,
119
- template: '<Input type="${@this@.getAttribute(\'type\')}$" class="${@this@.getAttribute(\'class\')}$" id="${@this@.getAttribute(\'id\')}$" name="${@this@.getAttribute(\'name\')}$" dr-on-init="@this@.element=$element" >#innerHTML#',
112
+ template:
113
+ '<Input type="${@this@.getAttribute(\'type\')}$" class="${@this@.getAttribute(\'class\')}$" id="${@this@.getAttribute(\'id\')}$" name="${@this@.getAttribute(\'name\')}$" dr-on-init="@this@.element=$element" >#innerHTML#',
120
114
  objFactory: (e, o, r2, counstructorParam) => {
121
- return DomRender.run({rootObject: new Input.Input(...counstructorParam), config: config});
115
+ return DomRender.run({ rootObject: new Input.Input(...counstructorParam), config: config });
122
116
  }
123
- })
124
- },
125
- }
117
+ });
118
+ }
119
+ };
@@ -3,19 +3,22 @@ import { DomRender, DomRenderRunConfig } from '../../DomRender';
3
3
  import { RawSet } from '../../rawsets/RawSet';
4
4
  import { OtherData } from '../../lifecycle/OnChangeAttrRender';
5
5
 
6
-
7
6
  import { ValidUtils } from '@dooboostore/core/valid/ValidUtils';
8
- import { Promises } from '@dooboostore/core/promise/Promises';
7
+ import { Promises } from '@dooboostore/core/promise/Promises';
9
8
  import { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';
10
9
 
11
10
  export namespace PromiseSwitch {
12
11
  export const selector = 'dr-promise-switch';
13
- export type ChangeParams<T> = { status: 'pending' } | { status: 'finally' } | { status: 'fulfilled', data: T } | { status: 'rejected', data: any };
12
+ export type ChangeParams<T> =
13
+ | { status: 'pending' }
14
+ | { status: 'finally' }
15
+ | { status: 'fulfilled'; data: T }
16
+ | { status: 'rejected'; data: any };
14
17
  export type Attribute = {
15
18
  // trigger?: boolean;
16
19
  data: Promise<any> | (() => Promise<any>);
17
20
  change?: <T>(data: ChangeParams<T>) => void;
18
- }
21
+ };
19
22
 
20
23
  class ChildBase<T = any> extends ComponentBase<T> {
21
24
  public hidden = true;
@@ -25,8 +28,7 @@ export namespace PromiseSwitch {
25
28
  // template: '<div dr-if="!@this@.hidden" dr-strip="true">#innerHTML#</div>',
26
29
  // selector: `${selector}.Default`
27
30
  // })
28
- export class Default extends ChildBase {
29
- }
31
+ export class Default extends ChildBase {}
30
32
 
31
33
  // @Component({
32
34
  // template: '<div dr-if="!@this@.hidden" dr-strip="true">#innerHTML#</div>',
@@ -72,7 +74,6 @@ export namespace PromiseSwitch {
72
74
  }
73
75
  }
74
76
 
75
-
76
77
  /*
77
78
  <dr-promise-switch data="${@this@.pickWorldPromise}$">
78
79
  ${@nearThis@.promiseState.status}$
@@ -98,7 +99,7 @@ export namespace PromiseSwitch {
98
99
  //
99
100
  // }
100
101
  private promiseState?: Promises.Result.PromiseState<any, unknown>;
101
- private status?: Promises.Result.PromiseState<any, unknown>["status"];
102
+ private state?: Promises.Result.PromiseState<any, unknown>['status'];
102
103
 
103
104
  onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {
104
105
  super.onCreatedThisChild(child, data);
@@ -110,36 +111,36 @@ export namespace PromiseSwitch {
110
111
  const pendings = this.getChildren(Pending);
111
112
  const fulfilleds = this.getChildren(Fulfilled);
112
113
  const rejecteds = this.getChildren(Rejected);
113
- const full = [...fulfilleds, ...rejecteds, ...pendings, ...defaults]
114
+ const full = [...fulfilleds, ...rejecteds, ...pendings, ...defaults];
114
115
  // console.log('----!!!!!!-------', this.promiseState, full)
115
116
  if (this.promiseState === undefined) {
116
- this.status = undefined;
117
- full.filter(it => !it.hidden).forEach(it => it.hidden = true)
118
- defaults.filter(it => it.hidden).forEach(it => it.hidden = false);
119
- pendings.filter(it => it.getAttribute('defaultView') && it.hidden).forEach(it => it.hidden = false);
117
+ this.state = undefined;
118
+ full.filter(it => !it.hidden).forEach(it => (it.hidden = true));
119
+ defaults.filter(it => it.hidden).forEach(it => (it.hidden = false));
120
+ pendings.filter(it => it.getAttribute('defaultView') && it.hidden).forEach(it => (it.hidden = false));
120
121
  } else if (this.promiseState.status === 'pending') {
121
- this.status = 'pending';
122
- full.filter(it => !it.hidden).forEach(it => it.hidden = true)
123
- pendings.filter(it => it.hidden).forEach(it => it.hidden = false);
122
+ this.state = 'pending';
123
+ full.filter(it => !it.hidden).forEach(it => (it.hidden = true));
124
+ pendings.filter(it => it.hidden).forEach(it => (it.hidden = false));
124
125
  } else if (this.promiseState.status === 'fulfilled') {
125
- this.status = 'fulfilled';
126
+ this.state = 'fulfilled';
126
127
  const value = this.promiseState.value;
127
128
  // console.log('-----------fulfilled promises', value);
128
- full.filter(it => !it.hidden).forEach(it => it.hidden = true)
129
+ full.filter(it => !it.hidden).forEach(it => (it.hidden = true));
129
130
  fulfilleds.forEach(it => {
130
- it.setData(value)
131
- })
132
- fulfilleds.filter(it => it.hidden).forEach(it => it.hidden = false);
131
+ it.setData(value);
132
+ });
133
+ fulfilleds.filter(it => it.hidden).forEach(it => (it.hidden = false));
133
134
  } else if (this.promiseState.status === 'rejected') {
134
- this.status = 'rejected';
135
+ this.state = 'rejected';
135
136
  const value = this.promiseState.reason;
136
- full.filter(it => !it.hidden).forEach(it => it.hidden = true)
137
+ full.filter(it => !it.hidden).forEach(it => (it.hidden = true));
137
138
  rejecteds.forEach(it => {
138
- it.setData(value)
139
- })
140
- rejecteds.filter(it => it.hidden).forEach(it => it.hidden = false);
139
+ it.setData(value);
140
+ });
141
+ rejecteds.filter(it => it.hidden).forEach(it => (it.hidden = false));
141
142
  }
142
- return this.status;
143
+ return this.state;
143
144
  // console.log('----!!!!!!-end------', this.promiseState, full.map(it=>it.hidden))
144
145
  }
145
146
 
@@ -149,31 +150,33 @@ export namespace PromiseSwitch {
149
150
  if (this.equalsAttributeName(name, 'data') && value) {
150
151
  // this.childStateChange();
151
152
  this.promiseState = undefined;
152
- this.status = undefined;
153
- this.promiseState = Promises.Result.wrap(typeof value === 'function' ? value() : value as Promise<any>);
154
- this.getAttribute('change')?.({status: 'pending'});
153
+ this.state = undefined;
154
+ this.promiseState = Promises.Result.wrap(typeof value === 'function' ? value() : (value as Promise<any>));
155
+ this.getAttribute('change')?.({ status: 'pending' });
155
156
  this.childStateChange();
156
157
  // console.log('----?', this.promiseState)
157
- this.promiseState.then(data => {
158
- // console.log('------------then', data);
159
- this.childStateChange();
160
- this.getAttribute('change')?.({status: 'fulfilled', data: data});
161
- return data;
162
- }).catch((e) => {
163
- // console.log('catch', e)
164
- this.childStateChange();
165
- this.getAttribute('change')?.({status: 'rejected', data: e});
166
- throw e;
167
- }).finally(() => {
168
- // console.log('-------------finally--------rrrrrrrrrrr', this.promiseState)
169
- // this.childStateChange();
170
- this.getAttribute('change')?.({status: 'finally'});
171
- })
158
+ this.promiseState
159
+ .then(data => {
160
+ // console.log('------------then', data);
161
+ this.childStateChange();
162
+ this.getAttribute('change')?.({ status: 'fulfilled', data: data });
163
+ return data;
164
+ })
165
+ .catch(e => {
166
+ // console.log('catch', e)
167
+ this.childStateChange();
168
+ this.getAttribute('change')?.({ status: 'rejected', data: e });
169
+ throw e;
170
+ })
171
+ .finally(() => {
172
+ // console.log('-------------finally--------rrrrrrrrrrr', this.promiseState)
173
+ // this.childStateChange();
174
+ this.getAttribute('change')?.({ status: 'finally' });
175
+ });
172
176
  // await this.promiseState;
173
177
 
174
-
175
178
  // console.log('---------------------rrrrrrrrrrr', this.promiseState)
176
- } else if(this.equalsAttributeName(name, 'data') && ValidUtils.isNullOrUndefined(value)) {
179
+ } else if (this.equalsAttributeName(name, 'data') && ValidUtils.isNullOrUndefined(value)) {
177
180
  this.promiseState = undefined;
178
181
  this.childStateChange();
179
182
  }
@@ -181,52 +184,50 @@ export namespace PromiseSwitch {
181
184
  }
182
185
  }
183
186
 
184
-
185
187
  export default {
186
188
  promiseDefault: (config?: DomRenderRunConfig) => {
187
189
  return RawSet.createComponentTargetElement({
188
190
  name: `${PromiseSwitch.selector}-default`,
189
191
  template: '<div dr-if="!@this@.hidden" dr-option-strip="true">#innerHTML#</div>',
190
- objFactory: (e,o,r2, counstructorParam) => {
191
- return DomRender.run({rootObject: new PromiseSwitch.Default(...counstructorParam), config: config});
192
+ objFactory: (e, o, r2, counstructorParam) => {
193
+ return DomRender.run({ rootObject: new PromiseSwitch.Default(...counstructorParam), config: config });
192
194
  }
193
- })
195
+ });
194
196
  },
195
197
  promisePending: (config?: DomRenderRunConfig) => {
196
198
  return RawSet.createComponentTargetElement({
197
199
  name: `${PromiseSwitch.selector}-pending`,
198
200
  template: '<div dr-if="!@this@.hidden" dr-option-strip="true">#innerHTML#</div>',
199
- objFactory: (e,o,r2, counstructorParam) => {
200
- return DomRender.run({rootObject: new PromiseSwitch.Pending(...counstructorParam), config: config});
201
+ objFactory: (e, o, r2, counstructorParam) => {
202
+ return DomRender.run({ rootObject: new PromiseSwitch.Pending(...counstructorParam), config: config });
201
203
  }
202
- })
204
+ });
203
205
  },
204
206
  promiseFulfilled: (config?: DomRenderRunConfig) => {
205
207
  return RawSet.createComponentTargetElement({
206
208
  name: `${PromiseSwitch.selector}-fulfilled`,
207
209
  template: '<div dr-if="!@this@.hidden" dr-option-strip="true">#innerHTML#</div>',
208
- objFactory: (e,o,r2, counstructorParam) => {
209
- return DomRender.run({rootObject: new PromiseSwitch.Fulfilled(...counstructorParam), config: config});
210
+ objFactory: (e, o, r2, counstructorParam) => {
211
+ return DomRender.run({ rootObject: new PromiseSwitch.Fulfilled(...counstructorParam), config: config });
210
212
  }
211
- })
213
+ });
212
214
  },
213
215
  promiseRejected: (config?: DomRenderRunConfig) => {
214
216
  return RawSet.createComponentTargetElement({
215
217
  name: `${PromiseSwitch.selector}-rejected`,
216
218
  template: '<div dr-if="!@this@.hidden" dr-option-strip="true">#innerHTML#</div>',
217
- objFactory: (e,o,r2, counstructorParam) => {
218
- return DomRender.run({rootObject: new PromiseSwitch.Rejected(...counstructorParam), config: config});
219
+ objFactory: (e, o, r2, counstructorParam) => {
220
+ return DomRender.run({ rootObject: new PromiseSwitch.Rejected(...counstructorParam), config: config });
219
221
  }
220
- })
222
+ });
221
223
  },
222
224
  promiseSwitch: (config?: DomRenderRunConfig) => {
223
225
  return RawSet.createComponentTargetElement({
224
226
  name: `${PromiseSwitch.selector}`,
225
227
  template: '#innerHTML#',
226
- objFactory: (e,o,r2, counstructorParam) => {
227
- return DomRender.run({rootObject: new PromiseSwitch.PromiseSwitch(...counstructorParam), config: config});
228
+ objFactory: (e, o, r2, counstructorParam) => {
229
+ return DomRender.run({ rootObject: new PromiseSwitch.PromiseSwitch(...counstructorParam), config: config });
228
230
  }
229
- })
230
- },
231
-
232
- }
231
+ });
232
+ }
233
+ };