@dooboostore/dom-render 1.0.109 → 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 (176) hide show
  1. package/dist/cjs/DomRenderProxy.js +122 -57
  2. package/dist/cjs/DomRenderProxy.js.map +2 -2
  3. package/dist/cjs/components/ComponentBase.js +4 -4
  4. package/dist/cjs/components/ComponentBase.js.map +2 -2
  5. package/dist/cjs/components/appender/Appender.js +0 -3
  6. package/dist/cjs/components/appender/Appender.js.map +2 -2
  7. package/dist/cjs/components/checkbox/CheckBox.js.map +2 -2
  8. package/dist/cjs/components/choose/Choose.js +3 -1
  9. package/dist/cjs/components/choose/Choose.js.map +2 -2
  10. package/dist/cjs/components/details/Details.js +2 -2
  11. package/dist/cjs/components/details/Details.js.map +2 -2
  12. package/dist/cjs/components/forOf/ForOf.js.map +2 -2
  13. package/dist/cjs/components/if/If.js +2 -2
  14. package/dist/cjs/components/if/If.js.map +2 -2
  15. package/dist/cjs/components/input/Input.js +2 -2
  16. package/dist/cjs/components/input/Input.js.map +2 -2
  17. package/dist/cjs/components/promise/PromiseSwitch.js +6 -6
  18. package/dist/cjs/components/promise/PromiseSwitch.js.map +2 -2
  19. package/dist/cjs/components/radio/Radio.js.map +2 -2
  20. package/dist/cjs/components/router/Route.js +2 -2
  21. package/dist/cjs/components/router/Route.js.map +2 -2
  22. package/dist/cjs/components/router/RouterOutlet.js +2 -2
  23. package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
  24. package/dist/cjs/components/select/Select.js +6 -6
  25. package/dist/cjs/components/select/Select.js.map +2 -2
  26. package/dist/cjs/components/this/This.js +2 -2
  27. package/dist/cjs/components/this/This.js.map +2 -2
  28. package/dist/cjs/components/timer/Timer.js +2 -3
  29. package/dist/cjs/components/timer/Timer.js.map +2 -2
  30. package/dist/cjs/events/EventManager.js +9 -2
  31. package/dist/cjs/events/EventManager.js.map +2 -2
  32. package/dist/cjs/lifecycle/OnInitRender.js.map +1 -1
  33. package/dist/cjs/operators/DrForOf.js +24 -11
  34. package/dist/cjs/operators/DrForOf.js.map +2 -2
  35. package/dist/cjs/operators/DrIf.js +1 -2
  36. package/dist/cjs/operators/DrIf.js.map +2 -2
  37. package/dist/cjs/operators/DrInnerText.js +2 -2
  38. package/dist/cjs/operators/DrInnerText.js.map +2 -2
  39. package/dist/cjs/rawsets/RawSet.js +243 -46
  40. package/dist/cjs/rawsets/RawSet.js.map +3 -3
  41. package/dist/cjs/routers/PathRouter.js +13 -7
  42. package/dist/cjs/routers/PathRouter.js.map +2 -2
  43. package/dist/cjs/routers/Router.js +51 -27
  44. package/dist/cjs/routers/Router.js.map +2 -2
  45. package/dist/esm/DomRenderProxy.js +122 -57
  46. package/dist/esm/DomRenderProxy.js.map +2 -2
  47. package/dist/esm/components/ComponentBase.js +4 -4
  48. package/dist/esm/components/ComponentBase.js.map +2 -2
  49. package/dist/esm/components/appender/Appender.js +0 -3
  50. package/dist/esm/components/appender/Appender.js.map +2 -2
  51. package/dist/esm/components/checkbox/CheckBox.js.map +2 -2
  52. package/dist/esm/components/choose/Choose.js +3 -1
  53. package/dist/esm/components/choose/Choose.js.map +2 -2
  54. package/dist/esm/components/details/Details.js +2 -2
  55. package/dist/esm/components/details/Details.js.map +2 -2
  56. package/dist/esm/components/forOf/ForOf.js.map +2 -2
  57. package/dist/esm/components/if/If.js +2 -2
  58. package/dist/esm/components/if/If.js.map +2 -2
  59. package/dist/esm/components/input/Input.js +2 -2
  60. package/dist/esm/components/input/Input.js.map +2 -2
  61. package/dist/esm/components/promise/PromiseSwitch.js +6 -6
  62. package/dist/esm/components/promise/PromiseSwitch.js.map +2 -2
  63. package/dist/esm/components/radio/Radio.js.map +2 -2
  64. package/dist/esm/components/router/Route.js +2 -2
  65. package/dist/esm/components/router/Route.js.map +2 -2
  66. package/dist/esm/components/router/RouterOutlet.js +2 -2
  67. package/dist/esm/components/router/RouterOutlet.js.map +2 -2
  68. package/dist/esm/components/select/Select.js +6 -6
  69. package/dist/esm/components/select/Select.js.map +2 -2
  70. package/dist/esm/components/this/This.js +2 -2
  71. package/dist/esm/components/this/This.js.map +2 -2
  72. package/dist/esm/components/timer/Timer.js +2 -3
  73. package/dist/esm/components/timer/Timer.js.map +2 -2
  74. package/dist/esm/events/EventManager.js +9 -2
  75. package/dist/esm/events/EventManager.js.map +2 -2
  76. package/dist/esm/lifecycle/OnInitRender.js.map +1 -1
  77. package/dist/esm/operators/DrForOf.js +24 -11
  78. package/dist/esm/operators/DrForOf.js.map +2 -2
  79. package/dist/esm/operators/DrIf.js +1 -2
  80. package/dist/esm/operators/DrIf.js.map +2 -2
  81. package/dist/esm/operators/DrInnerText.js +2 -2
  82. package/dist/esm/operators/DrInnerText.js.map +2 -2
  83. package/dist/esm/rawsets/RawSet.js +243 -46
  84. package/dist/esm/rawsets/RawSet.js.map +3 -3
  85. package/dist/esm/routers/PathRouter.js +13 -7
  86. package/dist/esm/routers/PathRouter.js.map +2 -2
  87. package/dist/esm/routers/Router.js +51 -27
  88. package/dist/esm/routers/Router.js.map +2 -2
  89. package/dist/esm-bundle/dooboostore-dom-render.esm.js +1850 -319
  90. package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
  91. package/dist/types/DomRenderProxy.d.ts +2 -2
  92. package/dist/types/DomRenderProxy.d.ts.map +1 -1
  93. package/dist/types/components/ComponentBase.d.ts +1 -1
  94. package/dist/types/components/ComponentBase.d.ts.map +1 -1
  95. package/dist/types/components/appender/Appender.d.ts +0 -2
  96. package/dist/types/components/appender/Appender.d.ts.map +1 -1
  97. package/dist/types/components/checkbox/CheckBox.d.ts.map +1 -1
  98. package/dist/types/components/choose/Choose.d.ts.map +1 -1
  99. package/dist/types/components/details/Details.d.ts +1 -1
  100. package/dist/types/components/details/Details.d.ts.map +1 -1
  101. package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
  102. package/dist/types/components/if/If.d.ts +1 -1
  103. package/dist/types/components/if/If.d.ts.map +1 -1
  104. package/dist/types/components/index.d.ts.map +1 -1
  105. package/dist/types/components/input/Input.d.ts +1 -1
  106. package/dist/types/components/input/Input.d.ts.map +1 -1
  107. package/dist/types/components/promise/PromiseSwitch.d.ts +1 -1
  108. package/dist/types/components/promise/PromiseSwitch.d.ts.map +1 -1
  109. package/dist/types/components/radio/Radio.d.ts.map +1 -1
  110. package/dist/types/components/router/Route.d.ts +1 -1
  111. package/dist/types/components/router/Route.d.ts.map +1 -1
  112. package/dist/types/components/router/RouterOutlet.d.ts +1 -1
  113. package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
  114. package/dist/types/components/select/Select.d.ts +3 -3
  115. package/dist/types/components/select/Select.d.ts.map +1 -1
  116. package/dist/types/components/this/This.d.ts +1 -1
  117. package/dist/types/components/this/This.d.ts.map +1 -1
  118. package/dist/types/components/timer/Timer.d.ts +1 -1
  119. package/dist/types/components/timer/Timer.d.ts.map +1 -1
  120. package/dist/types/events/EventManager.d.ts +8 -0
  121. package/dist/types/events/EventManager.d.ts.map +1 -1
  122. package/dist/types/index.d.ts +0 -101
  123. package/dist/types/lifecycle/OnInitRender.d.ts +1 -1
  124. package/dist/types/lifecycle/OnInitRender.d.ts.map +1 -1
  125. package/dist/types/operators/DrForOf.d.ts.map +1 -1
  126. package/dist/types/operators/DrInnerText.d.ts.map +1 -1
  127. package/dist/types/rawsets/RawSet.d.ts +6 -5
  128. package/dist/types/rawsets/RawSet.d.ts.map +1 -1
  129. package/dist/types/routers/PathRouter.d.ts.map +1 -1
  130. package/dist/types/routers/Router.d.ts +9 -11
  131. package/dist/types/routers/Router.d.ts.map +1 -1
  132. package/dist/umd-bundle/dooboostore-dom-render.umd.js +1850 -319
  133. package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
  134. package/package.json +7 -7
  135. package/src/DomRenderProxy.ts +258 -137
  136. package/src/components/ComponentBase.ts +4 -4
  137. package/src/components/appender/Appender.ts +0 -5
  138. package/src/components/checkbox/CheckBox.ts +22 -25
  139. package/src/components/choose/Choose.ts +16 -19
  140. package/src/components/details/Details.ts +40 -43
  141. package/src/components/forOf/ForOf.ts +6 -9
  142. package/src/components/if/If.ts +9 -11
  143. package/src/components/input/Input.ts +16 -22
  144. package/src/components/promise/PromiseSwitch.ts +67 -66
  145. package/src/components/radio/Radio.ts +23 -28
  146. package/src/components/router/Route.ts +10 -13
  147. package/src/components/router/RouterOutlet.ts +5 -4
  148. package/src/components/select/Select.ts +7 -7
  149. package/src/components/this/This.ts +13 -12
  150. package/src/components/timer/Timer.ts +12 -16
  151. package/src/events/EventManager.ts +15 -4
  152. package/src/lifecycle/OnInitRender.ts +1 -1
  153. package/src/node_modules/.bin/acorn +17 -0
  154. package/src/node_modules/.bin/browserslist +17 -0
  155. package/src/node_modules/.bin/eslint +17 -0
  156. package/src/node_modules/.bin/sbf +17 -0
  157. package/src/node_modules/.bin/ts-node +17 -0
  158. package/src/node_modules/.bin/ts-node-cwd +17 -0
  159. package/src/node_modules/.bin/ts-node-dev +17 -0
  160. package/src/node_modules/.bin/ts-node-esm +17 -0
  161. package/src/node_modules/.bin/ts-node-script +17 -0
  162. package/src/node_modules/.bin/ts-node-transpile-only +17 -0
  163. package/src/node_modules/.bin/ts-script +17 -0
  164. package/src/node_modules/.bin/tsc +17 -0
  165. package/src/node_modules/.bin/tsnd +17 -0
  166. package/src/node_modules/.bin/tsserver +17 -0
  167. package/src/node_modules/.bin/webpack +17 -0
  168. package/src/node_modules/.bin/webpack-cli +17 -0
  169. package/src/node_modules/.bin/webpack-dev-server +17 -0
  170. package/src/operators/DrForOf.ts +25 -10
  171. package/src/operators/DrIf.ts +1 -1
  172. package/src/operators/DrInnerText.ts +2 -1
  173. package/src/rawsets/RawSet.ts +387 -288
  174. package/src/routers/PathRouter.ts +14 -7
  175. package/src/routers/Router.ts +77 -48
  176. package/types.d.ts +0 -2873
@@ -245,11 +245,11 @@ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBas
245
245
  const paramTypes = ReflectUtils.getParameterTypes(this, propertyKey);
246
246
  if (paramTypes && paramTypes.length > 0 && paramTypes[0] === Array) {
247
247
  // For array methods, pass only new elements
248
- method.call(this, processedNewElements, processedElements);
248
+ method.call(this, processedNewElements, {all: processedElements});
249
249
  } else {
250
250
  // For single element methods, pass first new element
251
251
  if (processedNewElements.length > 0) {
252
- method.call(this, processedNewElements[0]);
252
+ method.call(this, processedNewElements[0], {all: processedElements, newAll: processedNewElements});
253
253
  }
254
254
  }
255
255
  }
@@ -578,7 +578,7 @@ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBas
578
578
  }
579
579
 
580
580
  getFirstChild<T>(type: ConstructorType<T>): T | undefined {
581
- return this._children.find(it => it instanceof type)?.instance;
581
+ return this._children.find(it => it.instance instanceof type)?.instance;
582
582
  }
583
583
 
584
584
  getParentThis<P>():P {
@@ -663,7 +663,7 @@ export class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBas
663
663
  }
664
664
  }
665
665
 
666
- onInitRender(param: any, rawSet: RawSet) {
666
+ async onInitRender(param: any, rawSet: RawSet) {
667
667
  this.createChildrenDebounceSubscription = this.childrenSetSubject.pipe(debounceTime(this.componentConfig?.createChildrenDebounce??0)).subscribe(it => {
668
668
  this.onCreatedThisChildDebounce(it);
669
669
  });
@@ -33,13 +33,8 @@ export namespace Appender {
33
33
  // test() {
34
34
  // console.log('t', this.getAttribute('appender'))
35
35
  // }
36
- onInitRender(param: any, rawSet: RawSet) {
37
- // console.log('--onInitRender onInitRender')
38
- super.onInitRender(param, rawSet);
39
36
 
40
37
 
41
- }
42
-
43
38
  // push(...data:D[]) {
44
39
  // console.log('push/////', data);
45
40
  // this.appender.push(...data);
@@ -2,22 +2,20 @@ import { ComponentBase } from '../ComponentBase';
2
2
  import { DomRender, DomRenderRunConfig } from '../../DomRender';
3
3
  import { RawSet } from '../../rawsets/RawSet';
4
4
  import { OtherData } from '../../lifecycle/OnChangeAttrRender';
5
- import { OnInitRender } from '../../lifecycle/OnInitRender';
6
- import { ComponentSet } from '../../components/ComponentSet';
7
5
  import { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';
8
6
 
9
7
  export namespace CheckBox {
10
8
  export const selector = 'dr-checkbox';
11
9
  export type Attribute = {
12
10
  class?: string;
13
- }
11
+ };
14
12
  export type ChangeOption = { type: 'initialize' | 'event' | 'attributeChange' };
15
13
  export type WrapAttribute = {
16
14
  class?: string;
17
15
  name?: string;
18
16
  checked?: boolean;
19
- change?: (checked: boolean, option: ChangeOption) => void
20
- }
17
+ change?: (checked: boolean, option: ChangeOption) => void;
18
+ };
21
19
 
22
20
  class CheckBoxBase extends ComponentBase<Attribute> {
23
21
  public hidden = true;
@@ -32,7 +30,7 @@ export namespace CheckBox {
32
30
  public name = 'checked';
33
31
 
34
32
  constructor() {
35
- super({onlyParentType: CheckBox});
33
+ super({ onlyParentType: CheckBox });
36
34
  }
37
35
  }
38
36
 
@@ -45,7 +43,7 @@ export namespace CheckBox {
45
43
  public name = 'unChecked';
46
44
 
47
45
  constructor() {
48
- super({onlyParentType: CheckBox});
46
+ super({ onlyParentType: CheckBox });
49
47
  }
50
48
  }
51
49
 
@@ -58,7 +56,8 @@ export namespace CheckBox {
58
56
  private checked = false;
59
57
  private inputElement?: HTMLInputElement;
60
58
 
61
- change(option: ChangeOption, checked?: boolean) { checked = checked ?? this.checked;
59
+ change(option: ChangeOption, checked?: boolean) {
60
+ checked = checked ?? this.checked;
62
61
  this.checked = checked;
63
62
  this.setChildrenHidden(checked);
64
63
  this.getAttribute('change')?.(checked, option);
@@ -82,7 +81,7 @@ export namespace CheckBox {
82
81
  // console.log('---cr', element)
83
82
  this.inputElement = element;
84
83
  this.inputElement.checked = !!this.getAttribute('checked');
85
- this.change({type: 'initialize'}, !!this.getAttribute('checked'));
84
+ this.change({ type: 'initialize' }, !!this.getAttribute('checked'));
86
85
  }
87
86
 
88
87
  onChangeAttrRender(name: string, val: any, other: OtherData) {
@@ -90,38 +89,36 @@ export namespace CheckBox {
90
89
  // console.log('Checkbox ChangeAttr------', name, val, this.inputElement)
91
90
  if (this.inputElement && this.getAttribute('checked') !== this.checked) {
92
91
  this.inputElement.checked = !!this.getAttribute('checked');
93
- this.change({type: 'attributeChange'}, !!this.getAttribute('checked'));
92
+ this.change({ type: 'attributeChange' }, !!this.getAttribute('checked'));
94
93
  }
95
94
  }
96
-
97
95
  }
98
96
  }
99
97
 
100
-
101
-
102
98
  export default {
103
99
  checkBoxChecked: (config?: DomRenderRunConfig) => {
104
100
  return RawSet.createComponentTargetElement({
105
101
  name: `${CheckBox.selector}-checked`,
106
102
  template: '<div dr-if="!@this@.hidden" dr-option-strip="true">#innerHTML#</div>',
107
- objFactory: (e,o,r2, counstructorParam) => {
108
- return DomRender.run({rootObject: new CheckBox.Checked(), config: config});
103
+ objFactory: (e, o, r2, counstructorParam) => {
104
+ return DomRender.run({ rootObject: new CheckBox.Checked(), config: config });
109
105
  }
110
- })
106
+ });
111
107
  },
112
108
  checkBoxUnchecked: (config?: DomRenderRunConfig) => {
113
109
  return RawSet.createComponentTargetElement({
114
110
  name: `${CheckBox.selector}-unchecked`,
115
111
  template: '<div dr-if="!@this@.hidden" dr-option-strip="true" >#innerHTML#</div>',
116
- objFactory: (e,o,r2, counstructorParam) => {
117
- return DomRender.run({rootObject: new CheckBox.UnChecked(), config: config});
112
+ objFactory: (e, o, r2, counstructorParam) => {
113
+ return DomRender.run({ rootObject: new CheckBox.UnChecked(), config: config });
118
114
  }
119
- })
115
+ });
120
116
  },
121
117
  checkBox: (config?: DomRenderRunConfig) => {
122
118
  return RawSet.createComponentTargetElement({
123
119
  name: `${CheckBox.selector}`,
124
- template: '<label class="${@this@.getAttribute(\'class\')}$">\n' +
120
+ template:
121
+ '<label class="${@this@.getAttribute(\'class\')}$">\n' +
125
122
  ' <input\n' +
126
123
  ' name="${@this@.getAttribute(\'name\')}$"\n' +
127
124
  ' dr-on-init="@this@.onInitInputElement($element)"\n' +
@@ -129,9 +126,9 @@ export default {
129
126
  ' type="checkbox" hidden="hidden"/>\n' +
130
127
  ' #innerHTML#\n' +
131
128
  '</label>',
132
- objFactory: (e,o,r2, counstructorParam) => {
133
- return DomRender.run({rootObject: new CheckBox.CheckBox(...counstructorParam), config: config});
129
+ objFactory: (e, o, r2, counstructorParam) => {
130
+ return DomRender.run({ rootObject: new CheckBox.CheckBox(...counstructorParam), config: config });
134
131
  }
135
- })
136
- },
137
- }
132
+ });
133
+ }
134
+ };
@@ -2,18 +2,16 @@ import { ComponentBase } from '../ComponentBase';
2
2
  import { DomRender, DomRenderRunConfig } from '../../DomRender';
3
3
  import { RawSet } from '../../rawsets/RawSet';
4
4
  import { OtherData } from '../../lifecycle/OnChangeAttrRender';
5
- import { OnInitRender } from '../../lifecycle/OnInitRender';
6
- import { ComponentSet } from '../../components/ComponentSet';
7
5
  import { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';
8
6
 
9
7
  export namespace Choose {
10
8
  export const selector = 'dr-choose';
11
9
  export type Attribute<D> = {
12
10
  data: D;
13
- }
11
+ };
14
12
  export type WhenAttribute<D> = {
15
13
  test: (data?: D | null) => boolean;
16
- }
14
+ };
17
15
 
18
16
  class ChildOtherWiseBase<A> extends ComponentBase<A> {
19
17
  public hidden = true;
@@ -25,18 +23,17 @@ export namespace Choose {
25
23
 
26
24
  export class When<D> extends ChildBase<D> {
27
25
  constructor() {
28
- super({onlyParentType: Choose<D>});
26
+ super({ onlyParentType: Choose<D> });
29
27
  }
30
28
  }
31
29
 
32
30
  export class OtherWise<D> extends ChildBase<D> {
33
31
  constructor() {
34
- super({onlyParentType: Choose<D>});
32
+ super({ onlyParentType: Choose<D> });
35
33
  }
36
34
  }
37
35
 
38
36
  export class Choose<D> extends ComponentBase<Attribute<D>> {
39
-
40
37
  private choose?: When<D> | OtherWise<D>;
41
38
 
42
39
  onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {
@@ -48,9 +45,10 @@ export namespace Choose {
48
45
  super.onChangeAttrRender(name, value, other);
49
46
  if (this.equalsAttributeName(name, 'data')) {
50
47
  this.choose = undefined;
51
- const children = this.getChildren([When, OtherWise]).sort((a, b) => (a instanceof OtherWise ? 1 : 0) - (b instanceof OtherWise ? 1 : 0));
48
+ const children = this.getChildren([When, OtherWise]).sort(
49
+ (a, b) => (a instanceof OtherWise ? 1 : 0) - (b instanceof OtherWise ? 1 : 0)
50
+ );
52
51
  children.forEach(it => this.setChange(it as any));
53
-
54
52
  }
55
53
  }
56
54
 
@@ -60,7 +58,7 @@ export namespace Choose {
60
58
 
61
59
  console.log('eeeeeee?', child, child.getAttribute('test'), this.getAttribute('data'));
62
60
  if (!this.choose && child instanceof When && child.getAttribute('test')?.(this.getAttribute('data'))) {
63
- console.log('eeeeeee?2');
61
+ console.log('eeeeeee?2');
64
62
  // console.log('------------', child.attribute?.test?.(this.attribute?.data))
65
63
  this.choose = child;
66
64
  if (child.hidden) {
@@ -83,33 +81,32 @@ export namespace Choose {
83
81
  }
84
82
  }
85
83
 
86
-
87
84
  export default {
88
85
  chooseWhen: (config?: DomRenderRunConfig) => {
89
86
  return RawSet.createComponentTargetElement({
90
87
  name: `${Choose.selector}-when`,
91
88
  template: '<div dr-if="!@this@.hidden" dr-option-strip="true" >#innerHTML#</div>',
92
89
  objFactory: (e, o, r2, counstructorParam) => {
93
- return DomRender.run({rootObject: new Choose.When(), config: config});
90
+ return DomRender.run({ rootObject: new Choose.When(), config: config });
94
91
  }
95
- })
92
+ });
96
93
  },
97
94
  chooseOtherWise: (config?: DomRenderRunConfig) => {
98
95
  return RawSet.createComponentTargetElement({
99
96
  name: `${Choose.selector}-other-wise`,
100
97
  template: '<div dr-if="!@this@.hidden" dr-option-strip="true" >#innerHTML#</div>',
101
98
  objFactory: (e, o, r2, counstructorParam) => {
102
- return DomRender.run({rootObject: new Choose.OtherWise(), config: config});
99
+ return DomRender.run({ rootObject: new Choose.OtherWise(), config: config });
103
100
  }
104
- })
101
+ });
105
102
  },
106
103
  choose: (config?: DomRenderRunConfig) => {
107
104
  return RawSet.createComponentTargetElement({
108
105
  name: `${Choose.selector}`,
109
106
  template: '#innerHTML#',
110
107
  objFactory: (e, o, r2, counstructorParam) => {
111
- return DomRender.run({rootObject: new Choose.Choose(...counstructorParam), config: config});
108
+ return DomRender.run({ rootObject: new Choose.Choose(...counstructorParam), config: config });
112
109
  }
113
- })
114
- },
115
- }
110
+ });
111
+ }
112
+ };
@@ -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
+ };