@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.
- package/dist/cjs/DomRenderProxy.js +122 -57
- package/dist/cjs/DomRenderProxy.js.map +2 -2
- package/dist/cjs/components/ComponentBase.js +4 -4
- package/dist/cjs/components/ComponentBase.js.map +2 -2
- package/dist/cjs/components/appender/Appender.js +0 -3
- package/dist/cjs/components/appender/Appender.js.map +2 -2
- package/dist/cjs/components/checkbox/CheckBox.js.map +2 -2
- package/dist/cjs/components/choose/Choose.js +3 -1
- package/dist/cjs/components/choose/Choose.js.map +2 -2
- package/dist/cjs/components/details/Details.js +2 -2
- package/dist/cjs/components/details/Details.js.map +2 -2
- package/dist/cjs/components/forOf/ForOf.js.map +2 -2
- package/dist/cjs/components/if/If.js +2 -2
- package/dist/cjs/components/if/If.js.map +2 -2
- package/dist/cjs/components/input/Input.js +2 -2
- package/dist/cjs/components/input/Input.js.map +2 -2
- package/dist/cjs/components/promise/PromiseSwitch.js +6 -6
- package/dist/cjs/components/promise/PromiseSwitch.js.map +2 -2
- package/dist/cjs/components/radio/Radio.js.map +2 -2
- package/dist/cjs/components/router/Route.js +2 -2
- package/dist/cjs/components/router/Route.js.map +2 -2
- package/dist/cjs/components/router/RouterOutlet.js +2 -2
- package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
- package/dist/cjs/components/select/Select.js +6 -6
- package/dist/cjs/components/select/Select.js.map +2 -2
- package/dist/cjs/components/this/This.js +2 -2
- package/dist/cjs/components/this/This.js.map +2 -2
- package/dist/cjs/components/timer/Timer.js +2 -3
- package/dist/cjs/components/timer/Timer.js.map +2 -2
- package/dist/cjs/events/EventManager.js +9 -2
- package/dist/cjs/events/EventManager.js.map +2 -2
- package/dist/cjs/lifecycle/OnInitRender.js.map +1 -1
- package/dist/cjs/operators/DrForOf.js +24 -11
- package/dist/cjs/operators/DrForOf.js.map +2 -2
- package/dist/cjs/operators/DrIf.js +1 -2
- package/dist/cjs/operators/DrIf.js.map +2 -2
- package/dist/cjs/operators/DrInnerText.js +2 -2
- package/dist/cjs/operators/DrInnerText.js.map +2 -2
- package/dist/cjs/rawsets/RawSet.js +243 -46
- package/dist/cjs/rawsets/RawSet.js.map +3 -3
- package/dist/cjs/routers/PathRouter.js +13 -7
- package/dist/cjs/routers/PathRouter.js.map +2 -2
- package/dist/cjs/routers/Router.js +51 -27
- package/dist/cjs/routers/Router.js.map +2 -2
- package/dist/esm/DomRenderProxy.js +122 -57
- package/dist/esm/DomRenderProxy.js.map +2 -2
- package/dist/esm/components/ComponentBase.js +4 -4
- package/dist/esm/components/ComponentBase.js.map +2 -2
- package/dist/esm/components/appender/Appender.js +0 -3
- package/dist/esm/components/appender/Appender.js.map +2 -2
- package/dist/esm/components/checkbox/CheckBox.js.map +2 -2
- package/dist/esm/components/choose/Choose.js +3 -1
- package/dist/esm/components/choose/Choose.js.map +2 -2
- package/dist/esm/components/details/Details.js +2 -2
- package/dist/esm/components/details/Details.js.map +2 -2
- package/dist/esm/components/forOf/ForOf.js.map +2 -2
- package/dist/esm/components/if/If.js +2 -2
- package/dist/esm/components/if/If.js.map +2 -2
- package/dist/esm/components/input/Input.js +2 -2
- package/dist/esm/components/input/Input.js.map +2 -2
- package/dist/esm/components/promise/PromiseSwitch.js +6 -6
- package/dist/esm/components/promise/PromiseSwitch.js.map +2 -2
- package/dist/esm/components/radio/Radio.js.map +2 -2
- package/dist/esm/components/router/Route.js +2 -2
- package/dist/esm/components/router/Route.js.map +2 -2
- package/dist/esm/components/router/RouterOutlet.js +2 -2
- package/dist/esm/components/router/RouterOutlet.js.map +2 -2
- package/dist/esm/components/select/Select.js +6 -6
- package/dist/esm/components/select/Select.js.map +2 -2
- package/dist/esm/components/this/This.js +2 -2
- package/dist/esm/components/this/This.js.map +2 -2
- package/dist/esm/components/timer/Timer.js +2 -3
- package/dist/esm/components/timer/Timer.js.map +2 -2
- package/dist/esm/events/EventManager.js +9 -2
- package/dist/esm/events/EventManager.js.map +2 -2
- package/dist/esm/lifecycle/OnInitRender.js.map +1 -1
- package/dist/esm/operators/DrForOf.js +24 -11
- package/dist/esm/operators/DrForOf.js.map +2 -2
- package/dist/esm/operators/DrIf.js +1 -2
- package/dist/esm/operators/DrIf.js.map +2 -2
- package/dist/esm/operators/DrInnerText.js +2 -2
- package/dist/esm/operators/DrInnerText.js.map +2 -2
- package/dist/esm/rawsets/RawSet.js +243 -46
- package/dist/esm/rawsets/RawSet.js.map +3 -3
- package/dist/esm/routers/PathRouter.js +13 -7
- package/dist/esm/routers/PathRouter.js.map +2 -2
- package/dist/esm/routers/Router.js +51 -27
- package/dist/esm/routers/Router.js.map +2 -2
- package/dist/esm-bundle/dooboostore-dom-render.esm.js +1850 -319
- package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
- package/dist/types/DomRenderProxy.d.ts +2 -2
- package/dist/types/DomRenderProxy.d.ts.map +1 -1
- package/dist/types/components/ComponentBase.d.ts +1 -1
- package/dist/types/components/ComponentBase.d.ts.map +1 -1
- package/dist/types/components/appender/Appender.d.ts +0 -2
- package/dist/types/components/appender/Appender.d.ts.map +1 -1
- package/dist/types/components/checkbox/CheckBox.d.ts.map +1 -1
- package/dist/types/components/choose/Choose.d.ts.map +1 -1
- package/dist/types/components/details/Details.d.ts +1 -1
- package/dist/types/components/details/Details.d.ts.map +1 -1
- package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
- package/dist/types/components/if/If.d.ts +1 -1
- package/dist/types/components/if/If.d.ts.map +1 -1
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/input/Input.d.ts +1 -1
- package/dist/types/components/input/Input.d.ts.map +1 -1
- package/dist/types/components/promise/PromiseSwitch.d.ts +1 -1
- package/dist/types/components/promise/PromiseSwitch.d.ts.map +1 -1
- package/dist/types/components/radio/Radio.d.ts.map +1 -1
- package/dist/types/components/router/Route.d.ts +1 -1
- package/dist/types/components/router/Route.d.ts.map +1 -1
- package/dist/types/components/router/RouterOutlet.d.ts +1 -1
- package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
- package/dist/types/components/select/Select.d.ts +3 -3
- package/dist/types/components/select/Select.d.ts.map +1 -1
- package/dist/types/components/this/This.d.ts +1 -1
- package/dist/types/components/this/This.d.ts.map +1 -1
- package/dist/types/components/timer/Timer.d.ts +1 -1
- package/dist/types/components/timer/Timer.d.ts.map +1 -1
- package/dist/types/events/EventManager.d.ts +8 -0
- package/dist/types/events/EventManager.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -101
- package/dist/types/lifecycle/OnInitRender.d.ts +1 -1
- package/dist/types/lifecycle/OnInitRender.d.ts.map +1 -1
- package/dist/types/operators/DrForOf.d.ts.map +1 -1
- package/dist/types/operators/DrInnerText.d.ts.map +1 -1
- package/dist/types/rawsets/RawSet.d.ts +6 -5
- package/dist/types/rawsets/RawSet.d.ts.map +1 -1
- package/dist/types/routers/PathRouter.d.ts.map +1 -1
- package/dist/types/routers/Router.d.ts +9 -11
- package/dist/types/routers/Router.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-dom-render.umd.js +1850 -319
- package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
- package/package.json +7 -7
- package/src/DomRenderProxy.ts +258 -137
- package/src/components/ComponentBase.ts +4 -4
- package/src/components/appender/Appender.ts +0 -5
- package/src/components/checkbox/CheckBox.ts +22 -25
- package/src/components/choose/Choose.ts +16 -19
- package/src/components/details/Details.ts +40 -43
- package/src/components/forOf/ForOf.ts +6 -9
- package/src/components/if/If.ts +9 -11
- package/src/components/input/Input.ts +16 -22
- package/src/components/promise/PromiseSwitch.ts +67 -66
- package/src/components/radio/Radio.ts +23 -28
- package/src/components/router/Route.ts +10 -13
- package/src/components/router/RouterOutlet.ts +5 -4
- package/src/components/select/Select.ts +7 -7
- package/src/components/this/This.ts +13 -12
- package/src/components/timer/Timer.ts +12 -16
- package/src/events/EventManager.ts +15 -4
- package/src/lifecycle/OnInitRender.ts +1 -1
- package/src/node_modules/.bin/acorn +17 -0
- package/src/node_modules/.bin/browserslist +17 -0
- package/src/node_modules/.bin/eslint +17 -0
- package/src/node_modules/.bin/sbf +17 -0
- package/src/node_modules/.bin/ts-node +17 -0
- package/src/node_modules/.bin/ts-node-cwd +17 -0
- package/src/node_modules/.bin/ts-node-dev +17 -0
- package/src/node_modules/.bin/ts-node-esm +17 -0
- package/src/node_modules/.bin/ts-node-script +17 -0
- package/src/node_modules/.bin/ts-node-transpile-only +17 -0
- package/src/node_modules/.bin/ts-script +17 -0
- package/src/node_modules/.bin/tsc +17 -0
- package/src/node_modules/.bin/tsnd +17 -0
- package/src/node_modules/.bin/tsserver +17 -0
- package/src/node_modules/.bin/webpack +17 -0
- package/src/node_modules/.bin/webpack-cli +17 -0
- package/src/node_modules/.bin/webpack-dev-server +17 -0
- package/src/operators/DrForOf.ts +25 -10
- package/src/operators/DrIf.ts +1 -1
- package/src/operators/DrInnerText.ts +2 -1
- package/src/rawsets/RawSet.ts +387 -288
- package/src/routers/PathRouter.ts +14 -7
- package/src/routers/Router.ts +77 -48
- 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) {
|
|
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:
|
|
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(
|
|
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
|
-
|
|
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,
|
|
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)
|
|
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:
|
|
163
|
-
|
|
164
|
-
|
|
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:
|
|
172
|
-
|
|
173
|
-
|
|
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:
|
|
181
|
-
|
|
182
|
-
|
|
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:
|
|
231
|
-
|
|
232
|
-
|
|
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
|
+
};
|
package/src/components/if/If.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentBase } from '../ComponentBase';
|
|
2
2
|
import { OtherData } from '../../lifecycle/OnChangeAttrRender';
|
|
3
|
-
import { 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('
|
|
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"
|
|
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
|
-
|
|
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)
|
|
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:
|
|
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
|
+
};
|