@dooboostore/dom-render 1.0.108 → 1.0.110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.MD +27 -1451
- package/dist/cjs/DomRender.js +41 -26
- package/dist/cjs/DomRender.js.map +2 -2
- package/dist/cjs/DomRenderProxy.js +134 -62
- package/dist/cjs/DomRenderProxy.js.map +2 -2
- package/dist/cjs/bundle-entry.js +32 -21
- package/dist/cjs/bundle-entry.js.map +2 -2
- package/dist/cjs/components/ComponentBase.js +24 -6
- package/dist/cjs/components/ComponentBase.js.map +2 -2
- package/dist/cjs/components/ComponentRouterBase.js +11 -1
- package/dist/cjs/components/ComponentRouterBase.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 +7 -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 +17 -3
- package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
- package/dist/cjs/components/select/Select.js +26 -12
- 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 +15 -13
- package/dist/cjs/components/timer/Timer.js.map +2 -2
- package/dist/cjs/decorators/DomRenderNoProxy.js +2 -1
- package/dist/cjs/decorators/DomRenderNoProxy.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/lifecycle/OnRawSetRendered.js +26 -0
- package/dist/cjs/lifecycle/OnRawSetRendered.js.map +7 -0
- package/dist/cjs/lifecycle/index.js +1 -0
- package/dist/cjs/lifecycle/index.js.map +2 -2
- 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/operators/DrTargetElement.js +2 -0
- package/dist/cjs/operators/DrTargetElement.js.map +2 -2
- package/dist/cjs/operators/OperatorExecuter.js +1 -2
- package/dist/cjs/operators/OperatorExecuter.js.map +2 -2
- package/dist/cjs/package.json +5 -0
- package/dist/cjs/rawsets/RawSet.js +392 -115
- package/dist/cjs/rawsets/RawSet.js.map +3 -3
- package/dist/cjs/rawsets/Render.js.map +1 -1
- package/dist/cjs/routers/PathRouter.js +13 -7
- package/dist/cjs/routers/PathRouter.js.map +2 -2
- package/dist/cjs/routers/Router.js +76 -36
- package/dist/cjs/routers/Router.js.map +3 -3
- package/dist/esm/DomRender.js +41 -26
- package/dist/esm/DomRender.js.map +2 -2
- package/dist/esm/DomRenderProxy.js +134 -62
- package/dist/esm/DomRenderProxy.js.map +2 -2
- package/dist/esm/bundle-entry.js +22 -21
- package/dist/esm/bundle-entry.js.map +2 -2
- package/dist/esm/components/ComponentBase.js +24 -6
- package/dist/esm/components/ComponentBase.js.map +2 -2
- package/dist/esm/components/ComponentRouterBase.js +11 -1
- package/dist/esm/components/ComponentRouterBase.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 +7 -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 +18 -4
- package/dist/esm/components/router/RouterOutlet.js.map +2 -2
- package/dist/esm/components/select/Select.js +26 -12
- 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 +15 -13
- package/dist/esm/components/timer/Timer.js.map +2 -2
- package/dist/esm/decorators/DomRenderNoProxy.js +2 -1
- package/dist/esm/decorators/DomRenderNoProxy.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/lifecycle/OnRawSetRendered.js +7 -0
- package/dist/esm/lifecycle/OnRawSetRendered.js.map +7 -0
- package/dist/esm/lifecycle/index.js +1 -0
- package/dist/esm/lifecycle/index.js.map +2 -2
- 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/operators/DrTargetElement.js +2 -0
- package/dist/esm/operators/DrTargetElement.js.map +2 -2
- package/dist/esm/operators/OperatorExecuter.js +1 -2
- package/dist/esm/operators/OperatorExecuter.js.map +2 -2
- package/dist/esm/rawsets/RawSet.js +392 -115
- 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 +76 -36
- package/dist/esm/routers/Router.js.map +3 -3
- package/dist/esm-bundle/dooboostore-dom-render.esm.js +14023 -6402
- package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
- package/dist/types/DomRender.d.ts +11 -5
- package/dist/types/DomRender.d.ts.map +1 -1
- package/dist/types/DomRenderProxy.d.ts +2 -2
- package/dist/types/DomRenderProxy.d.ts.map +1 -1
- package/dist/types/bundle-entry.d.ts +5 -2
- package/dist/types/bundle-entry.d.ts.map +1 -1
- package/dist/types/components/ComponentBase.d.ts +8 -2
- package/dist/types/components/ComponentBase.d.ts.map +1 -1
- package/dist/types/components/ComponentRouterBase.d.ts +8 -0
- package/dist/types/components/ComponentRouterBase.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 +2 -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 +6 -2
- package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
- package/dist/types/components/select/Select.d.ts +5 -5
- 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 +6 -4
- package/dist/types/components/timer/Timer.d.ts.map +1 -1
- package/dist/types/decorators/DomRenderNoProxy.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 -100
- package/dist/types/lifecycle/OnInitRender.d.ts +1 -1
- package/dist/types/lifecycle/OnInitRender.d.ts.map +1 -1
- package/dist/types/lifecycle/OnRawSetRendered.d.ts +10 -0
- package/dist/types/lifecycle/OnRawSetRendered.d.ts.map +1 -0
- package/dist/types/lifecycle/index.d.ts +1 -0
- package/dist/types/lifecycle/index.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/operators/DrTargetElement.d.ts.map +1 -1
- package/dist/types/operators/OperatorExecuter.d.ts.map +1 -1
- package/dist/types/rawsets/RawSet.d.ts +17 -9
- package/dist/types/rawsets/RawSet.d.ts.map +1 -1
- package/dist/types/rawsets/Render.d.ts +1 -0
- package/dist/types/rawsets/Render.d.ts.map +1 -1
- package/dist/types/routers/PathRouter.d.ts.map +1 -1
- package/dist/types/routers/Router.d.ts +11 -14
- package/dist/types/routers/Router.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-dom-render.umd.js +14104 -6502
- package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
- package/package.json +9 -8
- package/src/DomRender.ts +62 -34
- package/src/DomRenderProxy.ts +275 -142
- package/src/bundle-entry.ts +5 -3
- package/src/components/ComponentBase.ts +33 -11
- package/src/components/ComponentRouterBase.ts +17 -2
- package/src/components/appender/Appender.ts +0 -5
- package/src/components/checkbox/CheckBox.ts +22 -25
- package/src/components/choose/Choose.ts +19 -18
- 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 +29 -8
- package/src/components/select/Select.ts +47 -33
- package/src/components/this/This.ts +13 -12
- package/src/components/timer/Timer.ts +29 -65
- package/src/decorators/DomRenderNoProxy.ts +3 -1
- package/src/events/EventManager.ts +15 -4
- package/src/lifecycle/OnInitRender.ts +1 -1
- package/src/lifecycle/OnRawSetRendered.ts +15 -0
- package/src/lifecycle/index.ts +1 -0
- 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/operators/DrTargetElement.ts +14 -0
- package/src/operators/OperatorExecuter.ts +1 -2
- package/src/rawsets/RawSet.ts +709 -295
- package/src/rawsets/Render.ts +1 -0
- package/src/routers/PathRouter.ts +14 -7
- package/src/routers/Router.ts +107 -61
- package/types.d.ts +0 -2825
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dooboostore/dom-render",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.110",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
7
7
|
"module": "./dist/esm/index.js",
|
|
8
8
|
"types": "./dist/types/index.d.ts",
|
|
9
9
|
"typesVersions": {
|
|
10
|
-
"
|
|
10
|
+
"*": {
|
|
11
11
|
"*": [
|
|
12
12
|
"dist/types/*"
|
|
13
13
|
]
|
|
@@ -67,10 +67,7 @@
|
|
|
67
67
|
"url": "https://github.com/dooboostore-develop/packages"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
|
-
"reflect-metadata": "^0.2.2"
|
|
71
|
-
"@dooboostore/core-web": "1.0.6",
|
|
72
|
-
"@dooboostore/core": "1.0.21",
|
|
73
|
-
"@dooboostore/core-node": "1.0.7"
|
|
70
|
+
"reflect-metadata": "^0.2.2"
|
|
74
71
|
},
|
|
75
72
|
"devDependencies": {
|
|
76
73
|
"@babel/core": "^7.24.0",
|
|
@@ -92,19 +89,23 @@
|
|
|
92
89
|
"@types/node": "^20",
|
|
93
90
|
"typescript": "^5.9.2",
|
|
94
91
|
"esbuild-plugin-tsc": "^0.5.0",
|
|
95
|
-
"esbuild": "^0.23.0"
|
|
92
|
+
"esbuild": "^0.23.0",
|
|
93
|
+
"@dooboostore/core": "1.0.26",
|
|
94
|
+
"@dooboostore/core-web": "1.0.8",
|
|
95
|
+
"@dooboostore/core-node": "1.0.9"
|
|
96
96
|
},
|
|
97
97
|
"scripts": {
|
|
98
98
|
"clean": "rm -rf dist",
|
|
99
99
|
"build:esm": "node build.mjs esm",
|
|
100
100
|
"watch:esm": "pnpm run build:esm && node build.mjs esm --watch",
|
|
101
|
-
"build:cjs": "node build.mjs cjs
|
|
101
|
+
"build:cjs": "node build.mjs cjs",
|
|
102
102
|
"watch:cjs": "pnpm run build:cjs && node build.mjs cjs --watch",
|
|
103
103
|
"build": "pnpm run clean && node build.mjs all",
|
|
104
104
|
"build:umd-bundle": "node build.mjs umd-bundle",
|
|
105
105
|
"watch:umd-bundle": "pnpm run build:umd-bundle && node build.mjs umd-bundle --watch",
|
|
106
106
|
"build:esm-bundle": "node build.mjs esm-bundle",
|
|
107
107
|
"watch:esm-bundle": "pnpm run build:esm-bundle && node build.mjs esm-bundle --watch",
|
|
108
|
+
"watch": "node build.mjs all --watch",
|
|
108
109
|
"publish:npm": "pnpm run build && cp package.json package.json.back && pnpm pack && TARBALL_NAME=$(ls dooboostore-dom-render-*.tgz | head -n 1) && tar -xzf \"$TARBALL_NAME\" -C . --strip-components=1 package/package.json && rm \"$TARBALL_NAME\" && (pnpm publish --no-git-checks || true) && cp package.json.back package.json && rm -rf package.json.back ",
|
|
109
110
|
"ts:clean": "find . -name '*.js' -o -name '*.map' -o -name '*.d.ts' | xargs rm -f",
|
|
110
111
|
"typecheck": "pnpm exec tsc --noEmit",
|
package/src/DomRender.ts
CHANGED
|
@@ -11,24 +11,30 @@ import { drComponent } from './components';
|
|
|
11
11
|
import { EventManager } from './events/EventManager';
|
|
12
12
|
import { RandomUtils } from '@dooboostore/core/random/RandomUtils';
|
|
13
13
|
|
|
14
|
-
export type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T,
|
|
14
|
+
export type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T, targetConfig: DomRenderConfig) => Router) | Router };
|
|
15
15
|
export type CreateComponentParam = { type: ConstructorType<any> | any, tagName?: string, noStrip?: boolean, template?: string, styles?: string[] | string };
|
|
16
16
|
let eventManager: EventManager | null = null;
|
|
17
17
|
export type DomRenderRunParameter<T extends object> = { rootObject: T | (() => T), target?: Element | null, config?: DomRenderRunConfig | DomRenderConfig };
|
|
18
18
|
|
|
19
|
+
export type ExecuteConfig = { firstUrl?: string };
|
|
20
|
+
|
|
19
21
|
export class DomRender<T extends object = any> {
|
|
20
22
|
private _config: DomRenderConfig;
|
|
21
23
|
private _target: Element | null | undefined;
|
|
22
24
|
private _rootObject: T;
|
|
25
|
+
private _router: Router;
|
|
26
|
+
private _eventManager: EventManager;
|
|
23
27
|
|
|
24
|
-
constructor(parameter: DomRenderRunParameter<T>, executeConfig?:
|
|
25
|
-
const s = DomRender.runSet(parameter);
|
|
28
|
+
constructor(parameter: DomRenderRunParameter<T>, executeConfig?: ExecuteConfig) {
|
|
29
|
+
const s = DomRender.runSet(parameter,executeConfig);
|
|
26
30
|
this._config = s.config;
|
|
27
31
|
this._target = s.target;
|
|
28
32
|
this._rootObject = s.rootObject;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
this._router = s.config.router;
|
|
34
|
+
this._eventManager = s.config.eventManager;
|
|
35
|
+
// if (executeConfig && executeConfig?.autoGo) {
|
|
36
|
+
// this._config.router?.go(executeConfig.autoGo);
|
|
37
|
+
// }
|
|
32
38
|
}
|
|
33
39
|
|
|
34
40
|
public get rootObject(): T {
|
|
@@ -38,8 +44,14 @@ export class DomRender<T extends object = any> {
|
|
|
38
44
|
public get config(): DomRenderConfig {
|
|
39
45
|
return this._config;
|
|
40
46
|
}
|
|
47
|
+
public get router(): Router {
|
|
48
|
+
return this._router;
|
|
49
|
+
}
|
|
41
50
|
|
|
42
|
-
public get
|
|
51
|
+
public get eventManager(): EventManager {
|
|
52
|
+
return this._eventManager;
|
|
53
|
+
}
|
|
54
|
+
public get target(): Element | null | undefined {
|
|
43
55
|
return this._target;
|
|
44
56
|
}
|
|
45
57
|
|
|
@@ -47,7 +59,11 @@ export class DomRender<T extends object = any> {
|
|
|
47
59
|
return DomRender.runSet(data).rootObject;
|
|
48
60
|
}
|
|
49
61
|
|
|
50
|
-
public static runSet<T extends object>({
|
|
62
|
+
public static runSet<T extends object>({
|
|
63
|
+
rootObject,
|
|
64
|
+
target,
|
|
65
|
+
config
|
|
66
|
+
}: DomRenderRunParameter<T>, executeConfig?: ExecuteConfig): { rootObject: T; target?: Element | null; config: DomRenderConfig } {
|
|
51
67
|
// public static run<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): T {
|
|
52
68
|
// console.log('runSet')
|
|
53
69
|
rootObject = typeof rootObject === 'function' ? rootObject() : rootObject;
|
|
@@ -58,7 +74,7 @@ export class DomRender<T extends object = any> {
|
|
|
58
74
|
}
|
|
59
75
|
targetObject = rootObject;
|
|
60
76
|
// return targetObject;
|
|
61
|
-
return {rootObject: targetObject, target, config: (rootObject as any)._domRender_config};
|
|
77
|
+
return { rootObject: targetObject, target, config: (rootObject as any)._domRender_config };
|
|
62
78
|
}
|
|
63
79
|
const targetConfig = Object.assign({}, config) as DomRenderConfig;
|
|
64
80
|
eventManager ??= new EventManager(targetConfig.window);
|
|
@@ -68,7 +84,6 @@ export class DomRender<T extends object = any> {
|
|
|
68
84
|
targetConfig.proxyExcludeTyps = targetConfig.proxyExcludeTyps ?? [];
|
|
69
85
|
targetConfig.targetElements ??= [];
|
|
70
86
|
|
|
71
|
-
|
|
72
87
|
if (typeof Window !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Window)) {
|
|
73
88
|
targetConfig.proxyExcludeTyps.push(Window);
|
|
74
89
|
}
|
|
@@ -87,12 +102,27 @@ export class DomRender<T extends object = any> {
|
|
|
87
102
|
if (typeof ImageBitmap !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ImageBitmap)) {
|
|
88
103
|
targetConfig.proxyExcludeTyps.push(ImageBitmap);
|
|
89
104
|
}
|
|
90
|
-
if (typeof CanvasRenderingContext2D !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CanvasRenderingContext2D)) {
|
|
105
|
+
if ( typeof CanvasRenderingContext2D !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CanvasRenderingContext2D) ) {
|
|
91
106
|
targetConfig.proxyExcludeTyps.push(CanvasRenderingContext2D);
|
|
92
107
|
}
|
|
93
|
-
if (typeof
|
|
94
|
-
targetConfig.proxyExcludeTyps.push(
|
|
108
|
+
if ( typeof CSSStyleDeclaration !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CSSStyleDeclaration) ) {
|
|
109
|
+
targetConfig.proxyExcludeTyps.push(CSSStyleDeclaration);
|
|
95
110
|
}
|
|
111
|
+
if ( typeof Date !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Date) ) {
|
|
112
|
+
targetConfig.proxyExcludeTyps.push(Date);
|
|
113
|
+
}
|
|
114
|
+
if ( typeof MutationObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === IntersectionObserver) ) {
|
|
115
|
+
targetConfig.proxyExcludeTyps.push(IntersectionObserver);
|
|
116
|
+
}
|
|
117
|
+
if ( typeof IntersectionObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === IntersectionObserver) ) {
|
|
118
|
+
targetConfig.proxyExcludeTyps.push(IntersectionObserver);
|
|
119
|
+
}
|
|
120
|
+
if (typeof HTMLElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLElement)) {
|
|
121
|
+
targetConfig.proxyExcludeTyps.push(HTMLElement);
|
|
122
|
+
}
|
|
123
|
+
// if (typeof HTMLCanvasElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLCanvasElement)) {
|
|
124
|
+
// targetConfig.proxyExcludeTyps.push(HTMLCanvasElement);
|
|
125
|
+
// }
|
|
96
126
|
if (!targetConfig.proxyExcludeTyps.some(it => it === RawSet)) {
|
|
97
127
|
targetConfig.proxyExcludeTyps.push(RawSet);
|
|
98
128
|
}
|
|
@@ -112,11 +142,11 @@ export class DomRender<T extends object = any> {
|
|
|
112
142
|
if (!targetConfig.router) {
|
|
113
143
|
let targetRouter: Router<any> | undefined;
|
|
114
144
|
if ('routerType' in config && config?.routerType === 'hash') {
|
|
115
|
-
targetRouter = new HashRouter({rootObject: targetObject, window: targetConfig.window});
|
|
145
|
+
targetRouter = new HashRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });
|
|
116
146
|
} else if ('routerType' in config && config?.routerType === 'path') {
|
|
117
|
-
targetRouter = new PathRouter({rootObject: targetObject, window: targetConfig.window});
|
|
147
|
+
targetRouter = new PathRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });
|
|
118
148
|
} else if ('routerType' in config && typeof config?.routerType === 'function') {
|
|
119
|
-
targetRouter = config.routerType(targetObject, targetConfig
|
|
149
|
+
targetRouter = config.routerType(targetObject, targetConfig);
|
|
120
150
|
} else if ('routerType' in config && typeof config?.routerType === 'object') {
|
|
121
151
|
targetRouter = config.routerType;
|
|
122
152
|
}
|
|
@@ -141,33 +171,31 @@ export class DomRender<T extends object = any> {
|
|
|
141
171
|
// }
|
|
142
172
|
// }
|
|
143
173
|
domRender.run(targetObject);
|
|
144
|
-
return {rootObject: targetObject, config: targetConfig, target};
|
|
174
|
+
return { rootObject: targetObject, config: targetConfig, target };
|
|
145
175
|
// return targetObject;
|
|
146
176
|
}
|
|
147
177
|
|
|
148
178
|
public static createComponent(param: CreateComponentParam) {
|
|
149
179
|
// console.log('===>', typeof param.type, param.type.name, param.type.constructor.name)
|
|
150
|
-
const component = RawSet.createComponentTargetElement(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}
|
|
160
|
-
);
|
|
180
|
+
const component = RawSet.createComponentTargetElement({
|
|
181
|
+
name: param.tagName ?? (typeof param.type === 'function' ? param.type.name : param.type.constructor.name),
|
|
182
|
+
objFactory: (e, o, r2, counstructorParam) => {
|
|
183
|
+
return typeof param.type === 'function' ? new param.type(...counstructorParam) : param.type;
|
|
184
|
+
},
|
|
185
|
+
noStrip: param.noStrip,
|
|
186
|
+
template: param.template ?? '',
|
|
187
|
+
styles: Array.isArray(param.styles) ? param.styles : param.styles ? [param.styles] : undefined
|
|
188
|
+
});
|
|
161
189
|
return component;
|
|
162
190
|
}
|
|
163
191
|
|
|
164
192
|
// ?? 언제 쓰는거지?? 훔..
|
|
165
|
-
public static createAttribute(
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
);
|
|
193
|
+
public static createAttribute(
|
|
194
|
+
attrName: string,
|
|
195
|
+
getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any,
|
|
196
|
+
factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment
|
|
197
|
+
) {
|
|
198
|
+
const targetAttribute = RawSet.createComponentTargetAttribute(attrName, getThisObj, factory);
|
|
171
199
|
return targetAttribute;
|
|
172
200
|
}
|
|
173
201
|
}
|