@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/dist/cjs/DomRender.js
CHANGED
|
@@ -32,13 +32,12 @@ var import_RandomUtils = require("@dooboostore/core/random/RandomUtils");
|
|
|
32
32
|
let eventManager = null;
|
|
33
33
|
class DomRender {
|
|
34
34
|
constructor(parameter, executeConfig) {
|
|
35
|
-
const s = DomRender.runSet(parameter);
|
|
35
|
+
const s = DomRender.runSet(parameter, executeConfig);
|
|
36
36
|
this._config = s.config;
|
|
37
37
|
this._target = s.target;
|
|
38
38
|
this._rootObject = s.rootObject;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
39
|
+
this._router = s.config.router;
|
|
40
|
+
this._eventManager = s.config.eventManager;
|
|
42
41
|
}
|
|
43
42
|
get rootObject() {
|
|
44
43
|
return this._rootObject;
|
|
@@ -46,13 +45,23 @@ class DomRender {
|
|
|
46
45
|
get config() {
|
|
47
46
|
return this._config;
|
|
48
47
|
}
|
|
48
|
+
get router() {
|
|
49
|
+
return this._router;
|
|
50
|
+
}
|
|
51
|
+
get eventManager() {
|
|
52
|
+
return this._eventManager;
|
|
53
|
+
}
|
|
49
54
|
get target() {
|
|
50
55
|
return this._target;
|
|
51
56
|
}
|
|
52
57
|
static run(data) {
|
|
53
58
|
return DomRender.runSet(data).rootObject;
|
|
54
59
|
}
|
|
55
|
-
static runSet({
|
|
60
|
+
static runSet({
|
|
61
|
+
rootObject,
|
|
62
|
+
target,
|
|
63
|
+
config
|
|
64
|
+
}, executeConfig) {
|
|
56
65
|
rootObject = typeof rootObject === "function" ? rootObject() : rootObject;
|
|
57
66
|
let targetObject = rootObject;
|
|
58
67
|
if ("_DomRender_isProxy" in rootObject) {
|
|
@@ -89,8 +98,20 @@ class DomRender {
|
|
|
89
98
|
if (typeof CanvasRenderingContext2D !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === CanvasRenderingContext2D)) {
|
|
90
99
|
targetConfig.proxyExcludeTyps.push(CanvasRenderingContext2D);
|
|
91
100
|
}
|
|
92
|
-
if (typeof
|
|
93
|
-
targetConfig.proxyExcludeTyps.push(
|
|
101
|
+
if (typeof CSSStyleDeclaration !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === CSSStyleDeclaration)) {
|
|
102
|
+
targetConfig.proxyExcludeTyps.push(CSSStyleDeclaration);
|
|
103
|
+
}
|
|
104
|
+
if (typeof Date !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === Date)) {
|
|
105
|
+
targetConfig.proxyExcludeTyps.push(Date);
|
|
106
|
+
}
|
|
107
|
+
if (typeof MutationObserver !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === IntersectionObserver)) {
|
|
108
|
+
targetConfig.proxyExcludeTyps.push(IntersectionObserver);
|
|
109
|
+
}
|
|
110
|
+
if (typeof IntersectionObserver !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === IntersectionObserver)) {
|
|
111
|
+
targetConfig.proxyExcludeTyps.push(IntersectionObserver);
|
|
112
|
+
}
|
|
113
|
+
if (typeof HTMLElement !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === HTMLElement)) {
|
|
114
|
+
targetConfig.proxyExcludeTyps.push(HTMLElement);
|
|
94
115
|
}
|
|
95
116
|
if (!targetConfig.proxyExcludeTyps.some((it) => it === import_RawSet.RawSet)) {
|
|
96
117
|
targetConfig.proxyExcludeTyps.push(import_RawSet.RawSet);
|
|
@@ -107,11 +128,11 @@ class DomRender {
|
|
|
107
128
|
if (!targetConfig.router) {
|
|
108
129
|
let targetRouter;
|
|
109
130
|
if ("routerType" in config && config?.routerType === "hash") {
|
|
110
|
-
targetRouter = new import_HashRouter.HashRouter({ rootObject: targetObject, window: targetConfig.window });
|
|
131
|
+
targetRouter = new import_HashRouter.HashRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });
|
|
111
132
|
} else if ("routerType" in config && config?.routerType === "path") {
|
|
112
|
-
targetRouter = new import_PathRouter.PathRouter({ rootObject: targetObject, window: targetConfig.window });
|
|
133
|
+
targetRouter = new import_PathRouter.PathRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });
|
|
113
134
|
} else if ("routerType" in config && typeof config?.routerType === "function") {
|
|
114
|
-
targetRouter = config.routerType(targetObject, targetConfig
|
|
135
|
+
targetRouter = config.routerType(targetObject, targetConfig);
|
|
115
136
|
} else if ("routerType" in config && typeof config?.routerType === "object") {
|
|
116
137
|
targetRouter = config.routerType;
|
|
117
138
|
}
|
|
@@ -127,26 +148,20 @@ class DomRender {
|
|
|
127
148
|
return { rootObject: targetObject, config: targetConfig, target };
|
|
128
149
|
}
|
|
129
150
|
static createComponent(param) {
|
|
130
|
-
const component = import_RawSet.RawSet.createComponentTargetElement(
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
);
|
|
151
|
+
const component = import_RawSet.RawSet.createComponentTargetElement({
|
|
152
|
+
name: param.tagName ?? (typeof param.type === "function" ? param.type.name : param.type.constructor.name),
|
|
153
|
+
objFactory: (e, o, r2, counstructorParam) => {
|
|
154
|
+
return typeof param.type === "function" ? new param.type(...counstructorParam) : param.type;
|
|
155
|
+
},
|
|
156
|
+
noStrip: param.noStrip,
|
|
157
|
+
template: param.template ?? "",
|
|
158
|
+
styles: Array.isArray(param.styles) ? param.styles : param.styles ? [param.styles] : void 0
|
|
159
|
+
});
|
|
141
160
|
return component;
|
|
142
161
|
}
|
|
143
162
|
// ?? 언제 쓰는거지?? 훔..
|
|
144
163
|
static createAttribute(attrName, getThisObj, factory) {
|
|
145
|
-
const targetAttribute = import_RawSet.RawSet.createComponentTargetAttribute(
|
|
146
|
-
attrName,
|
|
147
|
-
getThisObj,
|
|
148
|
-
factory
|
|
149
|
-
);
|
|
164
|
+
const targetAttribute = import_RawSet.RawSet.createComponentTargetAttribute(attrName, getThisObj, factory);
|
|
150
165
|
return targetAttribute;
|
|
151
166
|
}
|
|
152
167
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DomRender.ts"],
|
|
4
|
-
"sourcesContent": ["import { DomRenderProxy } from './DomRenderProxy';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { PathRouter } from './routers/PathRouter';\nimport { HashRouter } from './routers/HashRouter';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { DomRenderFinalProxy } from './types/Types';\nimport { RawSet } from './rawsets/RawSet';\nimport { DefaultMessenger } from './messenger/DefaultMessenger';\nimport { Router } from './routers/Router';\nimport { drComponent } from './components';\nimport { EventManager } from './events/EventManager';\nimport { RandomUtils } from '@dooboostore/core/random/RandomUtils';\n\nexport type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T,
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA+B;AAE/B,wBAA2B;AAC3B,wBAA2B;AAE3B,mBAAoC;AACpC,oBAAuB;AACvB,8BAAiC;AAEjC,wBAA4B;AAC5B,0BAA6B;AAC7B,yBAA4B;AAI5B,IAAI,eAAoC;
|
|
4
|
+
"sourcesContent": ["import { DomRenderProxy } from './DomRenderProxy';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { PathRouter } from './routers/PathRouter';\nimport { HashRouter } from './routers/HashRouter';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { DomRenderFinalProxy } from './types/Types';\nimport { RawSet } from './rawsets/RawSet';\nimport { DefaultMessenger } from './messenger/DefaultMessenger';\nimport { Router } from './routers/Router';\nimport { drComponent } from './components';\nimport { EventManager } from './events/EventManager';\nimport { RandomUtils } from '@dooboostore/core/random/RandomUtils';\n\nexport type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T, targetConfig: DomRenderConfig) => Router) | Router };\nexport type CreateComponentParam = { type: ConstructorType<any> | any, tagName?: string, noStrip?: boolean, template?: string, styles?: string[] | string };\nlet eventManager: EventManager | null = null;\nexport type DomRenderRunParameter<T extends object> = { rootObject: T | (() => T), target?: Element | null, config?: DomRenderRunConfig | DomRenderConfig };\n\nexport type ExecuteConfig = { firstUrl?: string };\n\nexport class DomRender<T extends object = any> {\n private _config: DomRenderConfig;\n private _target: Element | null | undefined;\n private _rootObject: T;\n private _router: Router;\n private _eventManager: EventManager;\n\n constructor(parameter: DomRenderRunParameter<T>, executeConfig?: ExecuteConfig) {\n const s = DomRender.runSet(parameter,executeConfig);\n this._config = s.config;\n this._target = s.target;\n this._rootObject = s.rootObject;\n this._router = s.config.router;\n this._eventManager = s.config.eventManager;\n // if (executeConfig && executeConfig?.autoGo) {\n // this._config.router?.go(executeConfig.autoGo);\n // }\n }\n\n public get rootObject(): T {\n return this._rootObject;\n }\n\n public get config(): DomRenderConfig {\n return this._config;\n }\n public get router(): Router {\n return this._router;\n }\n\n public get eventManager(): EventManager {\n return this._eventManager;\n }\n public get target(): Element | null | undefined {\n return this._target;\n }\n\n public static run<T extends object>(data: DomRenderRunParameter<T>): T {\n return DomRender.runSet(data).rootObject;\n }\n\n public static runSet<T extends object>({\n rootObject,\n target,\n config\n }: DomRenderRunParameter<T>, executeConfig?: ExecuteConfig): { rootObject: T; target?: Element | null; config: DomRenderConfig } {\n // public static run<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): T {\n // console.log('runSet')\n rootObject = typeof rootObject === 'function' ? rootObject() : rootObject;\n let targetObject = rootObject;\n if ('_DomRender_isProxy' in rootObject) {\n if (target) {\n ((rootObject as any)._DomRender_proxy as DomRenderProxy<T>).initRender(target);\n }\n targetObject = rootObject;\n // return targetObject;\n return { rootObject: targetObject, target, config: (rootObject as any)._domRender_config };\n }\n const targetConfig = Object.assign({}, config) as DomRenderConfig;\n eventManager ??= new EventManager(targetConfig.window);\n\n targetConfig.uuid = RandomUtils.uuid4();\n targetConfig.messenger = DomRenderFinalProxy.final(targetConfig.messenger ?? new DefaultMessenger(targetConfig));\n targetConfig.proxyExcludeTyps = targetConfig.proxyExcludeTyps ?? [];\n targetConfig.targetElements ??= [];\n\n if (typeof Window !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Window)) {\n targetConfig.proxyExcludeTyps.push(Window);\n }\n if (typeof Map !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Map)) {\n targetConfig.proxyExcludeTyps.push(Map);\n }\n if (typeof Set !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Set)) {\n targetConfig.proxyExcludeTyps.push(Set);\n }\n if (typeof Promise !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Promise)) {\n targetConfig.proxyExcludeTyps.push(Promise);\n }\n if (typeof ResizeObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ResizeObserver)) {\n targetConfig.proxyExcludeTyps.push(ResizeObserver);\n }\n if (typeof ImageBitmap !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ImageBitmap)) {\n targetConfig.proxyExcludeTyps.push(ImageBitmap);\n }\n if ( typeof CanvasRenderingContext2D !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CanvasRenderingContext2D) ) {\n targetConfig.proxyExcludeTyps.push(CanvasRenderingContext2D);\n }\n if ( typeof CSSStyleDeclaration !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CSSStyleDeclaration) ) {\n targetConfig.proxyExcludeTyps.push(CSSStyleDeclaration);\n }\n if ( typeof Date !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Date) ) {\n targetConfig.proxyExcludeTyps.push(Date);\n }\n if ( typeof MutationObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === IntersectionObserver) ) {\n targetConfig.proxyExcludeTyps.push(IntersectionObserver);\n }\n if ( typeof IntersectionObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === IntersectionObserver) ) {\n targetConfig.proxyExcludeTyps.push(IntersectionObserver);\n }\n if (typeof HTMLElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLElement)) {\n targetConfig.proxyExcludeTyps.push(HTMLElement);\n }\n // if (typeof HTMLCanvasElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLCanvasElement)) {\n // targetConfig.proxyExcludeTyps.push(HTMLCanvasElement);\n // }\n if (!targetConfig.proxyExcludeTyps.some(it => it === RawSet)) {\n targetConfig.proxyExcludeTyps.push(RawSet);\n }\n if (!targetConfig.proxyExcludeTyps.some(it => it === DomRender)) {\n targetConfig.proxyExcludeTyps.push(DomRender);\n }\n targetConfig.rootElement = target;\n targetConfig.eventManager = eventManager;\n // (targetConfig.window as any).domRender ??= {configs: []};\n // (targetConfig.window as any).domRender.configs.push(targetConfig);\n const domRender = new DomRenderProxy(rootObject, target, targetConfig);\n const dest = new Proxy(rootObject, domRender);\n targetObject = dest;\n targetConfig.root = targetObject;\n\n // proxy \uB41C targetObject\uB97C \uB123\uC5B4\uC918\uC57C\uB418\uC11C \uB4A4\uCABD\uC5D0\uC11C router\uB97C \uC0DD\uC131\uD574\uC57C\uD568\n if (!targetConfig.router) {\n let targetRouter: Router<any> | undefined;\n if ('routerType' in config && config?.routerType === 'hash') {\n targetRouter = new HashRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });\n } else if ('routerType' in config && config?.routerType === 'path') {\n targetRouter = new PathRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });\n } else if ('routerType' in config && typeof config?.routerType === 'function') {\n targetRouter = config.routerType(targetObject, targetConfig);\n } else if ('routerType' in config && typeof config?.routerType === 'object') {\n targetRouter = config.routerType;\n }\n targetConfig.router = targetRouter;\n }\n\n for (const value of Object.values(drComponent)) {\n const a = value(targetConfig, DomRender);\n if (!targetConfig.targetElements.some(it => it.name === a.name)) {\n targetConfig.targetElements.push(a);\n }\n }\n // console.log('cccccccccccccccccc', targetRouter)\n // targetRouter.go({path: targetRouter.getUrl()})\n // if (!config.router) {\n // if (config.routerType === 'path') {\n // config.router = new PathRouter(targetObject, config.window);\n // } else if (config.routerType === 'hash') {\n // config.router = new HashRouter(targetObject, config.window);\n // } else { // none\n // config.router = new HashRouter(targetObject, config.window);\n // }\n // }\n domRender.run(targetObject);\n return { rootObject: targetObject, config: targetConfig, target };\n // return targetObject;\n }\n\n public static createComponent(param: CreateComponentParam) {\n // console.log('===>', typeof param.type, param.type.name, param.type.constructor.name)\n const component = RawSet.createComponentTargetElement({\n name: param.tagName ?? (typeof param.type === 'function' ? param.type.name : param.type.constructor.name),\n objFactory: (e, o, r2, counstructorParam) => {\n return typeof param.type === 'function' ? new param.type(...counstructorParam) : param.type;\n },\n noStrip: param.noStrip,\n template: param.template ?? '',\n styles: Array.isArray(param.styles) ? param.styles : param.styles ? [param.styles] : undefined\n });\n return component;\n }\n\n // ?? \uC5B8\uC81C \uC4F0\uB294\uAC70\uC9C0?? \uD6D4..\n public static createAttribute(\n attrName: string,\n getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any,\n factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment\n ) {\n const targetAttribute = RawSet.createComponentTargetAttribute(attrName, getThisObj, factory);\n return targetAttribute;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -44,7 +44,21 @@ var import_OnChildRenderedByProperty = require("./lifecycle/OnChildRenderedByPro
|
|
|
44
44
|
var import_ObjectUtils = require("@dooboostore/core/object/ObjectUtils");
|
|
45
45
|
var import_ValidUtils = require("@dooboostore/core/valid/ValidUtils");
|
|
46
46
|
var import_OnProxyDomRender = require("./lifecycle/OnProxyDomRender");
|
|
47
|
-
|
|
47
|
+
var import_OnRawSetRendered = require("./lifecycle/OnRawSetRendered");
|
|
48
|
+
const excludeGetSetPropertys = [
|
|
49
|
+
"onBeforeReturnGet",
|
|
50
|
+
"onBeforeReturnSet",
|
|
51
|
+
"__domrender_components",
|
|
52
|
+
"__render",
|
|
53
|
+
"_DomRender_isFinal",
|
|
54
|
+
"_domRender_ref",
|
|
55
|
+
"_rawSets",
|
|
56
|
+
"_domRender_proxy",
|
|
57
|
+
"_targets",
|
|
58
|
+
"_DomRender_origin",
|
|
59
|
+
"_DomRender_ref",
|
|
60
|
+
"_DomRender_proxy"
|
|
61
|
+
];
|
|
48
62
|
const isWrapProxyDomRenderProxy = (obj) => {
|
|
49
63
|
return obj && typeof obj === "object" && "_DomRender_isProxy" in obj;
|
|
50
64
|
};
|
|
@@ -85,9 +99,9 @@ class DomRenderProxy {
|
|
|
85
99
|
return import_Types.DomRenderFinalProxy.final(obj);
|
|
86
100
|
}
|
|
87
101
|
static isFinal(obj) {
|
|
88
|
-
return import_Types.DomRenderFinalProxy.isFinal(obj);
|
|
102
|
+
return import_ValidUtils.ValidUtils.isNull(obj) || import_Types.DomRenderFinalProxy.isFinal(obj);
|
|
89
103
|
}
|
|
90
|
-
run(objProxy) {
|
|
104
|
+
async run(objProxy) {
|
|
91
105
|
this._domRender_proxy = objProxy;
|
|
92
106
|
if ((0, import_OnProxyDomRender.isOnProxyDomRender)(objProxy)) {
|
|
93
107
|
objProxy.onProxyDomRender(this._domRender_config);
|
|
@@ -112,18 +126,18 @@ class DomRenderProxy {
|
|
|
112
126
|
}
|
|
113
127
|
});
|
|
114
128
|
}
|
|
115
|
-
this._targets
|
|
116
|
-
this.initRender(target);
|
|
117
|
-
}
|
|
129
|
+
for (let target of this._targets) {
|
|
130
|
+
await this.initRender(target);
|
|
131
|
+
}
|
|
118
132
|
}
|
|
119
|
-
initRender(target, rawSet) {
|
|
133
|
+
async initRender(target, rawSet) {
|
|
120
134
|
if (target instanceof Element) {
|
|
121
135
|
target.innerHTML = target.innerHTML.replace(/@this@/g, "this");
|
|
122
136
|
}
|
|
123
137
|
const onCreate = target.getAttribute?.(import_RawSet.RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
|
|
124
138
|
let createParam = [];
|
|
125
139
|
if (onCreate) {
|
|
126
|
-
createParam =
|
|
140
|
+
createParam = import_ObjectUtils.ObjectUtils.Script.evaluateReturn(onCreate, this._domRender_proxy);
|
|
127
141
|
if (!Array.isArray(createParam)) {
|
|
128
142
|
createParam = [createParam];
|
|
129
143
|
}
|
|
@@ -136,7 +150,11 @@ class DomRenderProxy {
|
|
|
136
150
|
}
|
|
137
151
|
this._targets.add(target);
|
|
138
152
|
const rawSets = import_RawSet.RawSet.checkPointCreates(target, this._domRender_proxy, this._domRender_config);
|
|
139
|
-
this._domRender_config.eventManager.applyEvent(
|
|
153
|
+
this._domRender_config.eventManager.applyEvent(
|
|
154
|
+
this._domRender_proxy,
|
|
155
|
+
this._domRender_config.eventManager.findAttrElements(target, this._domRender_config),
|
|
156
|
+
this._domRender_config
|
|
157
|
+
);
|
|
140
158
|
rawSets.forEach((it) => {
|
|
141
159
|
const variables = it.getUsingTriggerVariables(this._domRender_config);
|
|
142
160
|
if (variables.size <= 0) {
|
|
@@ -147,16 +165,20 @@ class DomRenderProxy {
|
|
|
147
165
|
});
|
|
148
166
|
}
|
|
149
167
|
});
|
|
150
|
-
this.render(this.getRawSets())
|
|
168
|
+
const targetRawSets = await this.render(this.getRawSets());
|
|
169
|
+
for (let targetRawSet of targetRawSets) {
|
|
151
170
|
const onInit = target.getAttribute?.(import_RawSet.RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);
|
|
152
171
|
let initParam;
|
|
153
172
|
if (onCreate) {
|
|
154
173
|
initParam = import_ScriptUtils.ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);
|
|
155
174
|
}
|
|
156
175
|
if ((0, import_OnInitRender.isOnInitRender)(this._domRender_proxy)) {
|
|
157
|
-
this._domRender_proxy.onInitRender(
|
|
176
|
+
await this._domRender_proxy.onInitRender(
|
|
177
|
+
initParam,
|
|
178
|
+
rawSet ?? { dataSet: { config: this._domRender_config } }
|
|
179
|
+
);
|
|
158
180
|
}
|
|
159
|
-
}
|
|
181
|
+
}
|
|
160
182
|
}
|
|
161
183
|
getRawSets() {
|
|
162
184
|
const set = /* @__PURE__ */ new Set();
|
|
@@ -181,6 +203,7 @@ class DomRenderProxy {
|
|
|
181
203
|
it.getUsingTriggerVariables(this._domRender_config).forEach((path) => {
|
|
182
204
|
this.addRawSet(path, it);
|
|
183
205
|
});
|
|
206
|
+
let renderResult;
|
|
184
207
|
if (it.isConnected) {
|
|
185
208
|
const targetAttrMap = it.point.node?.getAttribute?.(import_EventManager.EventManager.normalAttrMapAttrName);
|
|
186
209
|
if (it.detect?.action) {
|
|
@@ -188,9 +211,12 @@ class DomRenderProxy {
|
|
|
188
211
|
} else if (it.type === import_RawSetType.RawSetType.TARGET_ELEMENT && it.dataSet?.render?.currentThis && fullPathStr && targetAttrMap) {
|
|
189
212
|
new Map(JSON.parse(targetAttrMap)).forEach((v, k) => {
|
|
190
213
|
var _a;
|
|
191
|
-
const isUsing = import_EventManager.EventManager.isUsingThisVar(
|
|
214
|
+
const isUsing = v.variablePaths.some((it2) => import_EventManager.EventManager.isUsingThisVar(it2.inner, `this.${fullPathStr}`));
|
|
192
215
|
if (isUsing) {
|
|
193
|
-
const targetAttrObject = import_RawSet.RawSet.getAttributeObject(it.point.node, {
|
|
216
|
+
const targetAttrObject = import_RawSet.RawSet.getAttributeObject(it.point.node, {
|
|
217
|
+
script: it.dataSet?.render?.renderScript ?? "",
|
|
218
|
+
obj: Object.assign(this._domRender_proxy ?? {}, { __render: it.dataSet?.render })
|
|
219
|
+
});
|
|
194
220
|
(_a = it.dataSet).render ?? (_a.render = {});
|
|
195
221
|
it.dataSet.render.attribute = targetAttrObject;
|
|
196
222
|
if ((0, import_OnChangeAttrRender.isOnChangeAttrRender)(it.dataSet?.render?.currentThis)) {
|
|
@@ -200,13 +226,18 @@ class DomRenderProxy {
|
|
|
200
226
|
});
|
|
201
227
|
} else {
|
|
202
228
|
const rawSets2 = await it.render(this._domRender_proxy, this._domRender_config);
|
|
203
|
-
|
|
204
|
-
|
|
229
|
+
renderResult = rawSets2;
|
|
230
|
+
if (rawSets2 && rawSets2.raws.length > 0) {
|
|
231
|
+
await this.render(rawSets2.raws);
|
|
205
232
|
}
|
|
206
233
|
}
|
|
207
234
|
} else {
|
|
208
235
|
removeRawSets.push(it);
|
|
209
236
|
}
|
|
237
|
+
const t = it.findNearThis(this._domRender_proxy);
|
|
238
|
+
if ((0, import_OnRawSetRendered.isOnRawSetRendered)(t)) {
|
|
239
|
+
await t.onRawSetRendered(it, { path: fullPathStr, renderResult });
|
|
240
|
+
}
|
|
210
241
|
}
|
|
211
242
|
if (removeRawSets.length > 0) {
|
|
212
243
|
this.removeRawSet(...removeRawSets);
|
|
@@ -229,7 +260,11 @@ class DomRenderProxy {
|
|
|
229
260
|
it.forEach((sit) => {
|
|
230
261
|
try {
|
|
231
262
|
const concat = pathInfos.concat([[{ path: sit, obj: key }]]);
|
|
232
|
-
const items = key._DomRender_proxy?.root(
|
|
263
|
+
const items = key._DomRender_proxy?.root(
|
|
264
|
+
concat,
|
|
265
|
+
value,
|
|
266
|
+
lastDoneExecute
|
|
267
|
+
);
|
|
233
268
|
fullPaths.push(items.flat());
|
|
234
269
|
} catch (e) {
|
|
235
270
|
}
|
|
@@ -251,7 +286,7 @@ class DomRenderProxy {
|
|
|
251
286
|
const firstTargets = this._rawSets.get(firstPathStr);
|
|
252
287
|
const firstTargetDictionary = [];
|
|
253
288
|
firstTargets?.forEach((it) => {
|
|
254
|
-
const type = it.point.start
|
|
289
|
+
const type = it.point.start?.getAttribute?.("type");
|
|
255
290
|
if (type === import_RawSetOperatorType.RawSetOperatorType.DR_THIS_PROPERTY) {
|
|
256
291
|
firstTargetDictionary.push(it);
|
|
257
292
|
}
|
|
@@ -265,10 +300,19 @@ class DomRenderProxy {
|
|
|
265
300
|
if (value === void 0) {
|
|
266
301
|
const rawSet = it.getHasRawSet(lastPropertyName);
|
|
267
302
|
rawSet?.remove();
|
|
268
|
-
startElement.setAttribute(
|
|
303
|
+
startElement.setAttribute(
|
|
304
|
+
import_RawSet.RawSet.DR_HAS_KEYS_OPTIONNAME,
|
|
305
|
+
keys.filter((it2) => it2 !== lastPropertyName).join(",")
|
|
306
|
+
);
|
|
269
307
|
}
|
|
270
308
|
if (!keys.includes(lastPropertyName)) {
|
|
271
|
-
const raws = import_DrThisProperty.DrThisProperty.append(
|
|
309
|
+
const raws = import_DrThisProperty.DrThisProperty.append(
|
|
310
|
+
this._domRender_proxy,
|
|
311
|
+
fullPathStr,
|
|
312
|
+
lastPropertyName,
|
|
313
|
+
it,
|
|
314
|
+
this._domRender_config
|
|
315
|
+
);
|
|
272
316
|
if (raws) {
|
|
273
317
|
rawSets.push(...raws);
|
|
274
318
|
}
|
|
@@ -288,10 +332,19 @@ class DomRenderProxy {
|
|
|
288
332
|
} else if (iterable) {
|
|
289
333
|
rData = await this.render(Array.from(iterable), fullPathStr);
|
|
290
334
|
}
|
|
335
|
+
const Node = this._domRender_config.window.Node;
|
|
291
336
|
this._targets.forEach((it) => {
|
|
292
337
|
if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {
|
|
293
|
-
const targets = this._domRender_config.eventManager.findAttrElements(
|
|
294
|
-
|
|
338
|
+
const targets = this._domRender_config.eventManager.findAttrElements(
|
|
339
|
+
it,
|
|
340
|
+
this._domRender_config
|
|
341
|
+
);
|
|
342
|
+
this._domRender_config.eventManager.changeVar(
|
|
343
|
+
this._domRender_proxy,
|
|
344
|
+
targets,
|
|
345
|
+
`this.${fullPathStr}`,
|
|
346
|
+
this._domRender_config
|
|
347
|
+
);
|
|
295
348
|
}
|
|
296
349
|
});
|
|
297
350
|
if (rData?.length > 0 && (0, import_OnChildRenderedByProperty.isOnChildRenderedByProperty)(data)) {
|
|
@@ -323,49 +376,64 @@ class DomRenderProxy {
|
|
|
323
376
|
fullPathInfo = this.root([[{ path: p, obj: this._domRender_proxy }]], value);
|
|
324
377
|
}
|
|
325
378
|
const rootElement = this._domRender_config.rootElement ?? this._domRender_config.window.document;
|
|
326
|
-
import_DocumentUtils.DocumentUtils.querySelectorAllByAttributeName(rootElement, import_EventManager.EventManager.normalAttrMapAttrName)?.forEach(
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
});
|
|
342
|
-
import_DocumentUtils.DocumentUtils.querySelectorAllByAttributeName(rootElement, import_EventManager.EventManager.linkTargetMapAttrName)?.forEach((elementInfo) => {
|
|
343
|
-
const targets = new Map(import_ScriptUtils.ScriptUtils.evaluateReturn(elementInfo.value));
|
|
344
|
-
Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(import_types.isDefined).flatMap(([key, valueScript]) => {
|
|
345
|
-
return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
|
|
346
|
-
}).forEach((info) => {
|
|
347
|
-
const value1 = import_ScriptUtils.ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);
|
|
348
|
-
const applyAttributeName = import_EventManager.EventManager.linkAttrs.find((it) => it.name === info.key);
|
|
349
|
-
if (applyAttributeName) {
|
|
379
|
+
import_DocumentUtils.DocumentUtils.querySelectorAllByAttributeName(rootElement, import_EventManager.EventManager.normalAttrMapAttrName)?.forEach(
|
|
380
|
+
(elementInfo) => {
|
|
381
|
+
const targets = new Map(
|
|
382
|
+
import_ObjectUtils.ObjectUtils.Script.evaluateReturn(elementInfo.value)
|
|
383
|
+
);
|
|
384
|
+
Array.from(targets.entries()).filter(import_types.isDefined).flatMap(([key, valueScript]) => {
|
|
385
|
+
return fullPathInfo.flat().filter((it) => valueScript.variablePaths?.some((vit) => vit.inner.includes(`this.${it.path}`))).flatMap((it) => ({ key, valueScript, pathInfo: it }));
|
|
386
|
+
}).forEach((it) => {
|
|
387
|
+
const variablePaths = it.valueScript.variablePaths;
|
|
388
|
+
let targetScript = it.valueScript.originalAttrValue;
|
|
389
|
+
variablePaths.forEach((it2) => {
|
|
390
|
+
let r = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(it2.inner);
|
|
391
|
+
targetScript = targetScript.replaceAll(it2.origin, `\${${r}}`);
|
|
392
|
+
});
|
|
393
|
+
const value1 = import_ObjectUtils.ObjectUtils.Script.evaluateReturn("`" + targetScript + "`", it.pathInfo.obj);
|
|
350
394
|
if (value1 === null) {
|
|
351
|
-
elementInfo.element.removeAttribute(
|
|
395
|
+
elementInfo.element.removeAttribute(it.key);
|
|
396
|
+
elementInfo.element[it.key] = null;
|
|
352
397
|
} else {
|
|
353
|
-
elementInfo.element.setAttribute(
|
|
398
|
+
elementInfo.element.setAttribute(it.key, value1);
|
|
399
|
+
elementInfo.element[it.key] = value1;
|
|
354
400
|
}
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
const
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
);
|
|
404
|
+
import_DocumentUtils.DocumentUtils.querySelectorAllByAttributeName(rootElement, import_EventManager.EventManager.linkTargetMapAttrName)?.forEach(
|
|
405
|
+
(elementInfo) => {
|
|
406
|
+
const targets = new Map(import_ScriptUtils.ScriptUtils.evaluateReturn(elementInfo.value));
|
|
407
|
+
Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(import_types.isDefined).flatMap(([key, valueScript]) => {
|
|
408
|
+
return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
|
|
409
|
+
}).forEach((info) => {
|
|
410
|
+
const value1 = import_ScriptUtils.ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);
|
|
411
|
+
const applyAttributeName = import_EventManager.EventManager.linkAttrs.find((it) => it.name === info.key);
|
|
412
|
+
if (applyAttributeName) {
|
|
413
|
+
if (value1 === null) {
|
|
414
|
+
elementInfo.element.removeAttribute(applyAttributeName.property);
|
|
415
|
+
} else {
|
|
416
|
+
elementInfo.element.setAttribute(applyAttributeName.property, value1);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
});
|
|
420
|
+
Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(import_types.isDefined).flatMap(([key, valueScript]) => {
|
|
421
|
+
return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
|
|
422
|
+
}).forEach((info) => {
|
|
423
|
+
const linkInfo = import_EventManager.EventManager.linkAttrs.find((it) => it.name === info.key);
|
|
424
|
+
if (linkInfo) {
|
|
425
|
+
elementInfo.element[linkInfo.property] = value;
|
|
426
|
+
}
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
);
|
|
366
430
|
if ("onBeforeReturnSet" in receiver && typeof p === "string" && !(this._domRender_config.proxyExcludeOnBeforeReturnSets ?? []).concat(excludeGetSetPropertys).includes(p)) {
|
|
367
431
|
if ((0, import_OnBeforeReturnSet.isOnBeforeReturnSet)(receiver)) {
|
|
368
|
-
receiver.onBeforeReturnSet?.(
|
|
432
|
+
receiver.onBeforeReturnSet?.(
|
|
433
|
+
p,
|
|
434
|
+
value,
|
|
435
|
+
fullPathInfo.map((it) => it.map((it2) => it2.path).join())
|
|
436
|
+
);
|
|
369
437
|
}
|
|
370
438
|
}
|
|
371
439
|
return true;
|
|
@@ -385,7 +453,11 @@ class DomRenderProxy {
|
|
|
385
453
|
it = it._DomRender_origin;
|
|
386
454
|
}
|
|
387
455
|
if ("onBeforeReturnGet" in receiver && typeof p === "string" && !(this._domRender_config.proxyExcludeOnBeforeReturnGets ?? []).concat(excludeGetSetPropertys).includes(p)) {
|
|
388
|
-
receiver?.onBeforeReturnGet?.(
|
|
456
|
+
receiver?.onBeforeReturnGet?.(
|
|
457
|
+
p,
|
|
458
|
+
it,
|
|
459
|
+
this.root([[{ path: p, obj: this._domRender_proxy }]], it, false)
|
|
460
|
+
);
|
|
389
461
|
}
|
|
390
462
|
return it;
|
|
391
463
|
}
|
|
@@ -408,7 +480,7 @@ class DomRenderProxy {
|
|
|
408
480
|
const isFinal = isObject && DomRenderProxy.isFinal(obj);
|
|
409
481
|
const isFrozen = Object.isFrozen(obj);
|
|
410
482
|
const isShield = obj instanceof import_Types.Shield;
|
|
411
|
-
if (isNoProxy || isExclude || import_ValidUtils.ValidUtils.isNullOrUndefined(obj) || !isObject || isFinal || isFrozen || isShield) {
|
|
483
|
+
if (obj === void 0 || obj === null || isNoProxy || isExclude || import_ValidUtils.ValidUtils.isNullOrUndefined(obj) || !isObject || isFinal || isFrozen || isShield) {
|
|
412
484
|
return obj;
|
|
413
485
|
}
|
|
414
486
|
} catch (e) {
|