@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
|
@@ -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
|
|
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> =
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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
|
+
};
|
|
@@ -2,24 +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
|
-
|
|
10
|
-
|
|
11
7
|
export namespace Radio {
|
|
12
8
|
export const selector = 'System:Radio';
|
|
13
9
|
export type Attribute = {
|
|
14
10
|
class?: string;
|
|
15
|
-
}
|
|
11
|
+
};
|
|
16
12
|
export type LabelAttribute = {
|
|
17
13
|
class?: string;
|
|
18
14
|
name?: string;
|
|
19
15
|
value?: string;
|
|
20
16
|
checked?: boolean;
|
|
21
|
-
on_change_checked?: (checked: boolean, element: HTMLInputElement) => void
|
|
22
|
-
}
|
|
17
|
+
on_change_checked?: (checked: boolean, element: HTMLInputElement) => void;
|
|
18
|
+
};
|
|
23
19
|
|
|
24
20
|
class RadioBase extends ComponentBase<Attribute> {
|
|
25
21
|
public hidden = true;
|
|
@@ -29,7 +25,7 @@ export namespace Radio {
|
|
|
29
25
|
public name = 'Checked';
|
|
30
26
|
|
|
31
27
|
constructor() {
|
|
32
|
-
super({onlyParentType: Radio});
|
|
28
|
+
super({ onlyParentType: Radio });
|
|
33
29
|
}
|
|
34
30
|
}
|
|
35
31
|
|
|
@@ -37,7 +33,7 @@ export namespace Radio {
|
|
|
37
33
|
public name = 'unChecked';
|
|
38
34
|
|
|
39
35
|
constructor() {
|
|
40
|
-
super({onlyParentType: Radio});
|
|
36
|
+
super({ onlyParentType: Radio });
|
|
41
37
|
}
|
|
42
38
|
}
|
|
43
39
|
|
|
@@ -45,10 +41,11 @@ export namespace Radio {
|
|
|
45
41
|
private checked = false;
|
|
46
42
|
private inputElement?: HTMLInputElement;
|
|
47
43
|
|
|
48
|
-
change(checked?: boolean) {
|
|
44
|
+
change(checked?: boolean) {
|
|
45
|
+
checked = checked ?? this.checked;
|
|
49
46
|
this.checked = checked;
|
|
50
47
|
this.setChildrenHidden(checked);
|
|
51
|
-
console.log('radio checked!!!!!!!', checked, this.checked, this.inputElement?.checked)
|
|
48
|
+
console.log('radio checked!!!!!!!', checked, this.checked, this.inputElement?.checked);
|
|
52
49
|
if (this.getAttribute('on_change_checked')) {
|
|
53
50
|
this.getAttribute('on_change_checked')?.(checked, this.inputElement!);
|
|
54
51
|
}
|
|
@@ -76,39 +73,37 @@ export namespace Radio {
|
|
|
76
73
|
super.onChangeAttrRender(name, val, other);
|
|
77
74
|
if (this.inputElement && this.getAttribute('checked') !== this.checked) {
|
|
78
75
|
this.inputElement.checked = !!this.getAttribute('checked');
|
|
79
|
-
console.log('----changeAttribute', this.getAttribute('checked'))
|
|
76
|
+
console.log('----changeAttribute', this.getAttribute('checked'));
|
|
80
77
|
this.change(!!this.getAttribute('checked'));
|
|
81
78
|
}
|
|
82
79
|
}
|
|
83
|
-
|
|
84
80
|
}
|
|
85
81
|
}
|
|
86
82
|
|
|
87
|
-
|
|
88
|
-
|
|
89
83
|
export default {
|
|
90
84
|
radioChecked: (config?: DomRenderRunConfig) => {
|
|
91
85
|
return RawSet.createComponentTargetElement({
|
|
92
86
|
name: `${Radio.selector}-checked`,
|
|
93
87
|
template: '<div dr-if="!@this@.hidden" dr-option-strip="true" >#innerHTML#</div>',
|
|
94
|
-
objFactory: (e,o,r2, counstructorParam) => {
|
|
95
|
-
return DomRender.run({rootObject: new Radio.Checked(), config: config});
|
|
88
|
+
objFactory: (e, o, r2, counstructorParam) => {
|
|
89
|
+
return DomRender.run({ rootObject: new Radio.Checked(), config: config });
|
|
96
90
|
}
|
|
97
|
-
})
|
|
91
|
+
});
|
|
98
92
|
},
|
|
99
93
|
radioUnChecked: (config?: DomRenderRunConfig) => {
|
|
100
94
|
return RawSet.createComponentTargetElement({
|
|
101
95
|
name: `${Radio.selector}-unchecked`,
|
|
102
96
|
template: '<div dr-if="!@this@.hidden" dr-option-strip="true" >#innerHTML#</div>',
|
|
103
|
-
objFactory: (e,o,r2, counstructorParam) => {
|
|
104
|
-
return DomRender.run({rootObject: new Radio.UnChecked(), config: config});
|
|
97
|
+
objFactory: (e, o, r2, counstructorParam) => {
|
|
98
|
+
return DomRender.run({ rootObject: new Radio.UnChecked(), config: config });
|
|
105
99
|
}
|
|
106
|
-
})
|
|
100
|
+
});
|
|
107
101
|
},
|
|
108
102
|
radio: (config?: DomRenderRunConfig) => {
|
|
109
103
|
return RawSet.createComponentTargetElement({
|
|
110
104
|
name: `${Radio.selector}`,
|
|
111
|
-
template:
|
|
105
|
+
template:
|
|
106
|
+
'<label class="${@this@.getAttribute(\'class\')}$">\n' +
|
|
112
107
|
' <input\n' +
|
|
113
108
|
' name="${@this@.getAttribute(\'name\')}$"\n' +
|
|
114
109
|
' checked="${@this@.getAttribute(\'checked\')}$"\n' +
|
|
@@ -118,12 +113,12 @@ export default {
|
|
|
118
113
|
' type="radio"\n' +
|
|
119
114
|
'\n' +
|
|
120
115
|
' />\n' +
|
|
121
|
-
|
|
116
|
+
" ${@this@.getAttribute('checked')}$\n" +
|
|
122
117
|
' #innerHTML#\n' +
|
|
123
118
|
'</label>',
|
|
124
|
-
objFactory: (e,o,r2, counstructorParam) => {
|
|
125
|
-
return DomRender.run({rootObject: new Radio.Radio(...counstructorParam), config: config});
|
|
119
|
+
objFactory: (e, o, r2, counstructorParam) => {
|
|
120
|
+
return DomRender.run({ rootObject: new Radio.Radio(...counstructorParam), config: config });
|
|
126
121
|
}
|
|
127
|
-
})
|
|
128
|
-
}
|
|
129
|
-
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { attribute, ComponentBase } from '../ComponentBase';
|
|
2
|
-
import { OtherData } from '../../lifecycle/OnChangeAttrRender';
|
|
3
2
|
import { DomRender } from '../../DomRender';
|
|
4
3
|
import { OnInitRender } from '../../lifecycle/OnInitRender';
|
|
5
4
|
import { RawSet } from '../../rawsets/RawSet';
|
|
@@ -7,17 +6,16 @@ import type { DomRenderConfig } from '../../configs/DomRenderConfig';
|
|
|
7
6
|
import { DomRenderNoProxy } from '../../decorators/DomRenderNoProxy';
|
|
8
7
|
import { OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';
|
|
9
8
|
import { Subscription } from '@dooboostore/core/message/Subscription';
|
|
10
|
-
import { If } from '../if/If';
|
|
11
9
|
|
|
12
10
|
export namespace Route {
|
|
13
11
|
export const selector = 'dr-route';
|
|
14
12
|
export type Attribute<D> = {
|
|
15
13
|
value?: null | string;
|
|
16
|
-
}
|
|
14
|
+
};
|
|
17
15
|
|
|
18
16
|
abstract class CheckerBase<D> extends ComponentBase<Attribute<D>> implements OnInitRender {
|
|
19
17
|
protected sw: boolean = false;
|
|
20
|
-
@attribute({name: 'value'})
|
|
18
|
+
@attribute({ name: 'value' })
|
|
21
19
|
value?: string;
|
|
22
20
|
@DomRenderNoProxy
|
|
23
21
|
private inputDomRenderConfig?: DomRenderConfig;
|
|
@@ -28,8 +26,8 @@ export namespace Route {
|
|
|
28
26
|
this.inputDomRenderConfig = domRenderConfig;
|
|
29
27
|
}
|
|
30
28
|
|
|
31
|
-
onInitRender(param: any, rawSet: RawSet) {
|
|
32
|
-
super.onInitRender(param, rawSet);
|
|
29
|
+
async onInitRender(param: any, rawSet: RawSet) {
|
|
30
|
+
await super.onInitRender(param, rawSet);
|
|
33
31
|
this.routerSubscription = this.inputDomRenderConfig?.router?.observable.subscribe(it => {
|
|
34
32
|
if (this.value && this.inputDomRenderConfig) {
|
|
35
33
|
this.sw = this.check(this.inputDomRenderConfig);
|
|
@@ -55,7 +53,6 @@ export namespace Route {
|
|
|
55
53
|
abstract check(config?: DomRenderConfig): boolean;
|
|
56
54
|
}
|
|
57
55
|
|
|
58
|
-
|
|
59
56
|
export class Match<D> extends CheckerBase<D> {
|
|
60
57
|
check(config?: DomRenderConfig): boolean {
|
|
61
58
|
return !!config?.router?.test(this.value);
|
|
@@ -75,17 +72,17 @@ export default {
|
|
|
75
72
|
name: `${Route.selector}-match`,
|
|
76
73
|
template: '<div dr-if="@this@.sw" dr-option-strip="true">#innerHTML#</div>',
|
|
77
74
|
objFactory: (e, o, r2, counstructorParam) => {
|
|
78
|
-
return DomRender.run({rootObject: new Route.Match(config), config: config});
|
|
75
|
+
return DomRender.run({ rootObject: new Route.Match(config), config: config });
|
|
79
76
|
}
|
|
80
|
-
})
|
|
77
|
+
});
|
|
81
78
|
},
|
|
82
79
|
regexp: (config?: DomRenderConfig) => {
|
|
83
80
|
return RawSet.createComponentTargetElement({
|
|
84
81
|
name: `${Route.selector}-regexp`,
|
|
85
82
|
template: '<div dr-if="@this@.sw" dr-option-strip="true">#innerHTML#</div>',
|
|
86
83
|
objFactory: (e, o, r2, counstructorParam) => {
|
|
87
|
-
return DomRender.run({rootObject: new Route.Regexp(config), config: config});
|
|
84
|
+
return DomRender.run({ rootObject: new Route.Regexp(config), config: config });
|
|
88
85
|
}
|
|
89
|
-
})
|
|
90
|
-
}
|
|
91
|
-
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChildrenSet, ComponentBase } from '../ComponentBase';
|
|
2
|
-
import {
|
|
2
|
+
import { DomRenderRunConfig } from '../../DomRender';
|
|
3
3
|
import { RawSet } from '../../rawsets/RawSet';
|
|
4
4
|
import { OtherData } from '../../lifecycle/OnChangeAttrRender';
|
|
5
5
|
import { OnInitRender } from '../../lifecycle/OnInitRender';
|
|
@@ -7,6 +7,7 @@ import { ComponentSet } from '../../components/ComponentSet';
|
|
|
7
7
|
import { OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';
|
|
8
8
|
import { ComponentRouterBase, isOnCreatedOutletDebounce } from '../../components/ComponentRouterBase';
|
|
9
9
|
import { OnCreateRenderDataParams } from 'src/lifecycle';
|
|
10
|
+
|
|
10
11
|
export namespace RouterOutlet {
|
|
11
12
|
export const selector = 'dr-router-outlet';
|
|
12
13
|
export type Attribute = {
|
|
@@ -28,8 +29,8 @@ export namespace RouterOutlet {
|
|
|
28
29
|
// console.log('sssssssssss');
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
onInitRender(param: any, rawSet: RawSet) {
|
|
32
|
-
super.onInitRender(param, rawSet);
|
|
32
|
+
async onInitRender(param: any, rawSet: RawSet) {
|
|
33
|
+
await super.onInitRender(param, rawSet);
|
|
33
34
|
const c = this.getParentThis();
|
|
34
35
|
const userValue = this.getAttribute('value');
|
|
35
36
|
if (userValue) {
|
|
@@ -57,7 +58,7 @@ export namespace RouterOutlet {
|
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
|
|
60
|
-
onCreatedThisChild(child:any, data:OnCreateRenderDataParams){
|
|
61
|
+
onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {
|
|
61
62
|
super.onCreatedThisChild(child, data);
|
|
62
63
|
// console.log('outlet--oncreatedThisChild',child);
|
|
63
64
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { attribute, ChildrenSet, ComponentBase } from '../ComponentBase';
|
|
2
2
|
import { DomRender, DomRenderRunConfig } from '../../DomRender';
|
|
3
3
|
import { RawSet } from '../../rawsets/RawSet';
|
|
4
|
-
import { OnCreateRenderData
|
|
4
|
+
import { OnCreateRenderData } from '../../lifecycle/OnCreateRenderData';
|
|
5
5
|
import { OnInitRender } from '../../lifecycle/OnInitRender';
|
|
6
6
|
import { OnDestroyRender } from '../../lifecycle/OnDestroyRender';
|
|
7
7
|
import { EventUtils } from '@dooboostore/core-web/event/EventUtils';
|
|
@@ -122,8 +122,8 @@ export namespace Select {
|
|
|
122
122
|
super({onlyParentType: SelectBody});
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
onInitRender(param: any, rawSet: RawSet) {
|
|
126
|
-
super.onInitRender(param, rawSet);
|
|
125
|
+
async onInitRender(param: any, rawSet: RawSet) {
|
|
126
|
+
await super.onInitRender(param, rawSet);
|
|
127
127
|
// console.log('-----', this.value, this.selected)
|
|
128
128
|
// this.getElement()?.addEventListener('click', (e) => {
|
|
129
129
|
// e.stopPropagation();
|
|
@@ -251,8 +251,8 @@ export namespace Select {
|
|
|
251
251
|
}
|
|
252
252
|
}
|
|
253
253
|
|
|
254
|
-
onInitRender(param: any, rawSet: RawSet) {
|
|
255
|
-
super.onInitRender(param, rawSet);
|
|
254
|
+
async onInitRender(param: any, rawSet: RawSet) {
|
|
255
|
+
await super.onInitRender(param, rawSet);
|
|
256
256
|
// this.getElement()?.addEventListener('click', (e) => {
|
|
257
257
|
// e.stopPropagation();
|
|
258
258
|
// this.getParentThis<Select>().toggle();
|
|
@@ -380,8 +380,8 @@ export namespace Select {
|
|
|
380
380
|
|
|
381
381
|
}
|
|
382
382
|
|
|
383
|
-
onInitRender(param: any, rawSet: RawSet) {
|
|
384
|
-
super.onInitRender(param, rawSet);
|
|
383
|
+
async onInitRender(param: any, rawSet: RawSet) {
|
|
384
|
+
await super.onInitRender(param, rawSet);
|
|
385
385
|
// console.log('select onInitRender', this.multiple)
|
|
386
386
|
|
|
387
387
|
if (ValidUtils.isBrowser() && this.rawSet?.dataSet.config.window) {
|
|
@@ -5,6 +5,7 @@ import { OtherData } from '../../lifecycle/OnChangeAttrRender';
|
|
|
5
5
|
import { OnInitRender } from '../../lifecycle/OnInitRender';
|
|
6
6
|
import { ComponentSet } from '../../components/ComponentSet';
|
|
7
7
|
import { OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';
|
|
8
|
+
|
|
8
9
|
export namespace This {
|
|
9
10
|
export const selector = 'dr-this';
|
|
10
11
|
export type Attribute = {
|
|
@@ -13,15 +14,15 @@ export namespace This {
|
|
|
13
14
|
createArguments: any[];
|
|
14
15
|
onCreated?: (value: any) => void;
|
|
15
16
|
onDestroyRender?: () => void;
|
|
16
|
-
}
|
|
17
|
+
};
|
|
17
18
|
|
|
18
19
|
export class This extends ComponentBase<Attribute> implements OnInitRender {
|
|
19
|
-
private value?: ComponentSet
|
|
20
|
+
private value?: ComponentSet;
|
|
20
21
|
private if?: boolean | null = null;
|
|
21
|
-
private createArguments?: any[]
|
|
22
|
+
private createArguments?: any[];
|
|
22
23
|
|
|
23
|
-
onInitRender(param: any, rawSet: RawSet) {
|
|
24
|
-
super.onInitRender(param, rawSet);
|
|
24
|
+
async onInitRender(param: any, rawSet: RawSet) {
|
|
25
|
+
await super.onInitRender(param, rawSet);
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
onDestroyRender(data: OnDestroyRenderParams) {
|
|
@@ -41,8 +42,8 @@ export namespace This {
|
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
|
|
44
|
-
created(component: any){
|
|
45
|
-
component??=this.value?.obj;
|
|
45
|
+
created(component: any) {
|
|
46
|
+
component ??= this.value?.obj;
|
|
46
47
|
this.getAttribute('onCreated')?.(component);
|
|
47
48
|
}
|
|
48
49
|
}
|
|
@@ -52,11 +53,11 @@ export default {
|
|
|
52
53
|
this: (config?: DomRenderRunConfig) => {
|
|
53
54
|
return RawSet.createComponentTargetElement({
|
|
54
55
|
name: This.selector,
|
|
55
|
-
template:
|
|
56
|
+
template:
|
|
57
|
+
'<div dr-this="@this@.value" dr-detect-option-if="@this@?.value && @this@?.if" dr-option-strip="true" dr-on-create:arguments="@this@.createArguments" dr-on-create:callback="@this@?.created?.($component)">#innerHTML#</div>',
|
|
56
58
|
objFactory: (e, o, r2, counstructorParam) => {
|
|
57
|
-
return DomRender.run({rootObject: new This.This(...counstructorParam), config: config});
|
|
59
|
+
return DomRender.run({ rootObject: new This.This(...counstructorParam), config: config });
|
|
58
60
|
}
|
|
59
|
-
})
|
|
61
|
+
});
|
|
60
62
|
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
+
};
|
|
@@ -4,21 +4,19 @@ import { RawSet } from '../../rawsets/RawSet';
|
|
|
4
4
|
import { OtherData } from '../../lifecycle/OnChangeAttrRender';
|
|
5
5
|
import { OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';
|
|
6
6
|
|
|
7
|
-
|
|
8
7
|
export namespace Timer {
|
|
9
8
|
export const selector = 'dr-timer';
|
|
10
9
|
export type Attribute = {
|
|
11
10
|
value?: string;
|
|
12
11
|
interval?: number;
|
|
13
12
|
onCreated?: (timer: Timer) => void;
|
|
14
|
-
}
|
|
13
|
+
};
|
|
15
14
|
export class Timer extends ComponentBase<Attribute> {
|
|
16
15
|
private interval?: any;
|
|
17
16
|
private value?: number;
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
super.onInitRender(param, rawSet);
|
|
18
|
+
async onInitRender(param: any, rawSet: RawSet) {
|
|
19
|
+
await super.onInitRender(param, rawSet);
|
|
22
20
|
this.getAttribute('onCreated')?.(this);
|
|
23
21
|
// console.log('---2', this.getElement()?.isConnected)
|
|
24
22
|
// const element = this.getElement();
|
|
@@ -38,7 +36,7 @@ export namespace Timer {
|
|
|
38
36
|
const intervalValue = this.getAttribute('interval') ?? 1000;
|
|
39
37
|
console.log('int', this.value, intervalValue);
|
|
40
38
|
this.interval = setInterval(() => {
|
|
41
|
-
console.log('--------->',this.value)
|
|
39
|
+
// console.log('--------->', this.value);
|
|
42
40
|
if (this.value) {
|
|
43
41
|
this.value--;
|
|
44
42
|
} else {
|
|
@@ -46,11 +44,10 @@ export namespace Timer {
|
|
|
46
44
|
this.value = undefined;
|
|
47
45
|
this.interval = undefined;
|
|
48
46
|
}
|
|
49
|
-
}, intervalValue)
|
|
47
|
+
}, intervalValue);
|
|
50
48
|
}
|
|
51
49
|
}
|
|
52
50
|
|
|
53
|
-
|
|
54
51
|
stop() {
|
|
55
52
|
if (this.interval) {
|
|
56
53
|
clearInterval(this.interval);
|
|
@@ -61,27 +58,26 @@ export namespace Timer {
|
|
|
61
58
|
|
|
62
59
|
onChangeAttrRender(name: string, val: any, other: OtherData) {
|
|
63
60
|
super.onChangeAttrRender(name, val, other);
|
|
64
|
-
console.log('-----', name, val, this.getElement())
|
|
61
|
+
console.log('-----', name, val, this.getElement());
|
|
65
62
|
}
|
|
66
63
|
|
|
67
64
|
onDestroyRender(data: OnDestroyRenderParams) {
|
|
68
65
|
super.onDestroyRender(data);
|
|
69
|
-
if (this.interval){
|
|
66
|
+
if (this.interval) {
|
|
70
67
|
clearInterval(this.interval);
|
|
71
68
|
}
|
|
72
69
|
}
|
|
73
70
|
}
|
|
74
71
|
}
|
|
75
72
|
|
|
76
|
-
|
|
77
73
|
export default {
|
|
78
74
|
timer: (config?: DomRenderRunConfig) => {
|
|
79
75
|
return RawSet.createComponentTargetElement({
|
|
80
76
|
name: `${Timer.selector}`,
|
|
81
77
|
template: '#innerHTML#',
|
|
82
|
-
objFactory: (e,o,r2, counstructorParam) => {
|
|
83
|
-
return DomRender.run({rootObject: new Timer.Timer(...counstructorParam), config: config});
|
|
78
|
+
objFactory: (e, o, r2, counstructorParam) => {
|
|
79
|
+
return DomRender.run({ rootObject: new Timer.Timer(...counstructorParam), config: config });
|
|
84
80
|
}
|
|
85
|
-
})
|
|
86
|
-
}
|
|
87
|
-
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
};
|