@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
|
@@ -18,7 +18,21 @@ import { isOnChildRenderedByProperty } from "./lifecycle/OnChildRenderedByProper
|
|
|
18
18
|
import { ObjectUtils } from "@dooboostore/core/object/ObjectUtils";
|
|
19
19
|
import { ValidUtils } from "@dooboostore/core/valid/ValidUtils";
|
|
20
20
|
import { isOnProxyDomRender } from "./lifecycle/OnProxyDomRender.js";
|
|
21
|
-
|
|
21
|
+
import { isOnRawSetRendered } from "./lifecycle/OnRawSetRendered.js";
|
|
22
|
+
const excludeGetSetPropertys = [
|
|
23
|
+
"onBeforeReturnGet",
|
|
24
|
+
"onBeforeReturnSet",
|
|
25
|
+
"__domrender_components",
|
|
26
|
+
"__render",
|
|
27
|
+
"_DomRender_isFinal",
|
|
28
|
+
"_domRender_ref",
|
|
29
|
+
"_rawSets",
|
|
30
|
+
"_domRender_proxy",
|
|
31
|
+
"_targets",
|
|
32
|
+
"_DomRender_origin",
|
|
33
|
+
"_DomRender_ref",
|
|
34
|
+
"_DomRender_proxy"
|
|
35
|
+
];
|
|
22
36
|
const isWrapProxyDomRenderProxy = (obj) => {
|
|
23
37
|
return obj && typeof obj === "object" && "_DomRender_isProxy" in obj;
|
|
24
38
|
};
|
|
@@ -59,9 +73,9 @@ class DomRenderProxy {
|
|
|
59
73
|
return DomRenderFinalProxy.final(obj);
|
|
60
74
|
}
|
|
61
75
|
static isFinal(obj) {
|
|
62
|
-
return DomRenderFinalProxy.isFinal(obj);
|
|
76
|
+
return ValidUtils.isNull(obj) || DomRenderFinalProxy.isFinal(obj);
|
|
63
77
|
}
|
|
64
|
-
run(objProxy) {
|
|
78
|
+
async run(objProxy) {
|
|
65
79
|
this._domRender_proxy = objProxy;
|
|
66
80
|
if (isOnProxyDomRender(objProxy)) {
|
|
67
81
|
objProxy.onProxyDomRender(this._domRender_config);
|
|
@@ -86,18 +100,18 @@ class DomRenderProxy {
|
|
|
86
100
|
}
|
|
87
101
|
});
|
|
88
102
|
}
|
|
89
|
-
this._targets
|
|
90
|
-
this.initRender(target);
|
|
91
|
-
}
|
|
103
|
+
for (let target of this._targets) {
|
|
104
|
+
await this.initRender(target);
|
|
105
|
+
}
|
|
92
106
|
}
|
|
93
|
-
initRender(target, rawSet) {
|
|
107
|
+
async initRender(target, rawSet) {
|
|
94
108
|
if (target instanceof Element) {
|
|
95
109
|
target.innerHTML = target.innerHTML.replace(/@this@/g, "this");
|
|
96
110
|
}
|
|
97
111
|
const onCreate = target.getAttribute?.(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
|
|
98
112
|
let createParam = [];
|
|
99
113
|
if (onCreate) {
|
|
100
|
-
createParam =
|
|
114
|
+
createParam = ObjectUtils.Script.evaluateReturn(onCreate, this._domRender_proxy);
|
|
101
115
|
if (!Array.isArray(createParam)) {
|
|
102
116
|
createParam = [createParam];
|
|
103
117
|
}
|
|
@@ -110,7 +124,11 @@ class DomRenderProxy {
|
|
|
110
124
|
}
|
|
111
125
|
this._targets.add(target);
|
|
112
126
|
const rawSets = RawSet.checkPointCreates(target, this._domRender_proxy, this._domRender_config);
|
|
113
|
-
this._domRender_config.eventManager.applyEvent(
|
|
127
|
+
this._domRender_config.eventManager.applyEvent(
|
|
128
|
+
this._domRender_proxy,
|
|
129
|
+
this._domRender_config.eventManager.findAttrElements(target, this._domRender_config),
|
|
130
|
+
this._domRender_config
|
|
131
|
+
);
|
|
114
132
|
rawSets.forEach((it) => {
|
|
115
133
|
const variables = it.getUsingTriggerVariables(this._domRender_config);
|
|
116
134
|
if (variables.size <= 0) {
|
|
@@ -121,16 +139,20 @@ class DomRenderProxy {
|
|
|
121
139
|
});
|
|
122
140
|
}
|
|
123
141
|
});
|
|
124
|
-
this.render(this.getRawSets())
|
|
142
|
+
const targetRawSets = await this.render(this.getRawSets());
|
|
143
|
+
for (let targetRawSet of targetRawSets) {
|
|
125
144
|
const onInit = target.getAttribute?.(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);
|
|
126
145
|
let initParam;
|
|
127
146
|
if (onCreate) {
|
|
128
147
|
initParam = ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);
|
|
129
148
|
}
|
|
130
149
|
if (isOnInitRender(this._domRender_proxy)) {
|
|
131
|
-
this._domRender_proxy.onInitRender(
|
|
150
|
+
await this._domRender_proxy.onInitRender(
|
|
151
|
+
initParam,
|
|
152
|
+
rawSet ?? { dataSet: { config: this._domRender_config } }
|
|
153
|
+
);
|
|
132
154
|
}
|
|
133
|
-
}
|
|
155
|
+
}
|
|
134
156
|
}
|
|
135
157
|
getRawSets() {
|
|
136
158
|
const set = /* @__PURE__ */ new Set();
|
|
@@ -155,6 +177,7 @@ class DomRenderProxy {
|
|
|
155
177
|
it.getUsingTriggerVariables(this._domRender_config).forEach((path) => {
|
|
156
178
|
this.addRawSet(path, it);
|
|
157
179
|
});
|
|
180
|
+
let renderResult;
|
|
158
181
|
if (it.isConnected) {
|
|
159
182
|
const targetAttrMap = it.point.node?.getAttribute?.(EventManager.normalAttrMapAttrName);
|
|
160
183
|
if (it.detect?.action) {
|
|
@@ -162,9 +185,12 @@ class DomRenderProxy {
|
|
|
162
185
|
} else if (it.type === RawSetType.TARGET_ELEMENT && it.dataSet?.render?.currentThis && fullPathStr && targetAttrMap) {
|
|
163
186
|
new Map(JSON.parse(targetAttrMap)).forEach((v, k) => {
|
|
164
187
|
var _a;
|
|
165
|
-
const isUsing = EventManager.isUsingThisVar(
|
|
188
|
+
const isUsing = v.variablePaths.some((it2) => EventManager.isUsingThisVar(it2.inner, `this.${fullPathStr}`));
|
|
166
189
|
if (isUsing) {
|
|
167
|
-
const targetAttrObject = RawSet.getAttributeObject(it.point.node, {
|
|
190
|
+
const targetAttrObject = RawSet.getAttributeObject(it.point.node, {
|
|
191
|
+
script: it.dataSet?.render?.renderScript ?? "",
|
|
192
|
+
obj: Object.assign(this._domRender_proxy ?? {}, { __render: it.dataSet?.render })
|
|
193
|
+
});
|
|
168
194
|
(_a = it.dataSet).render ?? (_a.render = {});
|
|
169
195
|
it.dataSet.render.attribute = targetAttrObject;
|
|
170
196
|
if (isOnChangeAttrRender(it.dataSet?.render?.currentThis)) {
|
|
@@ -174,13 +200,18 @@ class DomRenderProxy {
|
|
|
174
200
|
});
|
|
175
201
|
} else {
|
|
176
202
|
const rawSets2 = await it.render(this._domRender_proxy, this._domRender_config);
|
|
177
|
-
|
|
178
|
-
|
|
203
|
+
renderResult = rawSets2;
|
|
204
|
+
if (rawSets2 && rawSets2.raws.length > 0) {
|
|
205
|
+
await this.render(rawSets2.raws);
|
|
179
206
|
}
|
|
180
207
|
}
|
|
181
208
|
} else {
|
|
182
209
|
removeRawSets.push(it);
|
|
183
210
|
}
|
|
211
|
+
const t = it.findNearThis(this._domRender_proxy);
|
|
212
|
+
if (isOnRawSetRendered(t)) {
|
|
213
|
+
await t.onRawSetRendered(it, { path: fullPathStr, renderResult });
|
|
214
|
+
}
|
|
184
215
|
}
|
|
185
216
|
if (removeRawSets.length > 0) {
|
|
186
217
|
this.removeRawSet(...removeRawSets);
|
|
@@ -203,7 +234,11 @@ class DomRenderProxy {
|
|
|
203
234
|
it.forEach((sit) => {
|
|
204
235
|
try {
|
|
205
236
|
const concat = pathInfos.concat([[{ path: sit, obj: key }]]);
|
|
206
|
-
const items = key._DomRender_proxy?.root(
|
|
237
|
+
const items = key._DomRender_proxy?.root(
|
|
238
|
+
concat,
|
|
239
|
+
value,
|
|
240
|
+
lastDoneExecute
|
|
241
|
+
);
|
|
207
242
|
fullPaths.push(items.flat());
|
|
208
243
|
} catch (e) {
|
|
209
244
|
}
|
|
@@ -225,7 +260,7 @@ class DomRenderProxy {
|
|
|
225
260
|
const firstTargets = this._rawSets.get(firstPathStr);
|
|
226
261
|
const firstTargetDictionary = [];
|
|
227
262
|
firstTargets?.forEach((it) => {
|
|
228
|
-
const type = it.point.start
|
|
263
|
+
const type = it.point.start?.getAttribute?.("type");
|
|
229
264
|
if (type === RawSetOperatorType.DR_THIS_PROPERTY) {
|
|
230
265
|
firstTargetDictionary.push(it);
|
|
231
266
|
}
|
|
@@ -239,10 +274,19 @@ class DomRenderProxy {
|
|
|
239
274
|
if (value === void 0) {
|
|
240
275
|
const rawSet = it.getHasRawSet(lastPropertyName);
|
|
241
276
|
rawSet?.remove();
|
|
242
|
-
startElement.setAttribute(
|
|
277
|
+
startElement.setAttribute(
|
|
278
|
+
RawSet.DR_HAS_KEYS_OPTIONNAME,
|
|
279
|
+
keys.filter((it2) => it2 !== lastPropertyName).join(",")
|
|
280
|
+
);
|
|
243
281
|
}
|
|
244
282
|
if (!keys.includes(lastPropertyName)) {
|
|
245
|
-
const raws = DrThisProperty.append(
|
|
283
|
+
const raws = DrThisProperty.append(
|
|
284
|
+
this._domRender_proxy,
|
|
285
|
+
fullPathStr,
|
|
286
|
+
lastPropertyName,
|
|
287
|
+
it,
|
|
288
|
+
this._domRender_config
|
|
289
|
+
);
|
|
246
290
|
if (raws) {
|
|
247
291
|
rawSets.push(...raws);
|
|
248
292
|
}
|
|
@@ -262,10 +306,19 @@ class DomRenderProxy {
|
|
|
262
306
|
} else if (iterable) {
|
|
263
307
|
rData = await this.render(Array.from(iterable), fullPathStr);
|
|
264
308
|
}
|
|
309
|
+
const Node = this._domRender_config.window.Node;
|
|
265
310
|
this._targets.forEach((it) => {
|
|
266
311
|
if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {
|
|
267
|
-
const targets = this._domRender_config.eventManager.findAttrElements(
|
|
268
|
-
|
|
312
|
+
const targets = this._domRender_config.eventManager.findAttrElements(
|
|
313
|
+
it,
|
|
314
|
+
this._domRender_config
|
|
315
|
+
);
|
|
316
|
+
this._domRender_config.eventManager.changeVar(
|
|
317
|
+
this._domRender_proxy,
|
|
318
|
+
targets,
|
|
319
|
+
`this.${fullPathStr}`,
|
|
320
|
+
this._domRender_config
|
|
321
|
+
);
|
|
269
322
|
}
|
|
270
323
|
});
|
|
271
324
|
if (rData?.length > 0 && isOnChildRenderedByProperty(data)) {
|
|
@@ -297,49 +350,64 @@ class DomRenderProxy {
|
|
|
297
350
|
fullPathInfo = this.root([[{ path: p, obj: this._domRender_proxy }]], value);
|
|
298
351
|
}
|
|
299
352
|
const rootElement = this._domRender_config.rootElement ?? this._domRender_config.window.document;
|
|
300
|
-
DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.normalAttrMapAttrName)?.forEach(
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
});
|
|
316
|
-
DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.linkTargetMapAttrName)?.forEach((elementInfo) => {
|
|
317
|
-
const targets = new Map(ScriptUtils.evaluateReturn(elementInfo.value));
|
|
318
|
-
Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(isDefined).flatMap(([key, valueScript]) => {
|
|
319
|
-
return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
|
|
320
|
-
}).forEach((info) => {
|
|
321
|
-
const value1 = ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);
|
|
322
|
-
const applyAttributeName = EventManager.linkAttrs.find((it) => it.name === info.key);
|
|
323
|
-
if (applyAttributeName) {
|
|
353
|
+
DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.normalAttrMapAttrName)?.forEach(
|
|
354
|
+
(elementInfo) => {
|
|
355
|
+
const targets = new Map(
|
|
356
|
+
ObjectUtils.Script.evaluateReturn(elementInfo.value)
|
|
357
|
+
);
|
|
358
|
+
Array.from(targets.entries()).filter(isDefined).flatMap(([key, valueScript]) => {
|
|
359
|
+
return fullPathInfo.flat().filter((it) => valueScript.variablePaths?.some((vit) => vit.inner.includes(`this.${it.path}`))).flatMap((it) => ({ key, valueScript, pathInfo: it }));
|
|
360
|
+
}).forEach((it) => {
|
|
361
|
+
const variablePaths = it.valueScript.variablePaths;
|
|
362
|
+
let targetScript = it.valueScript.originalAttrValue;
|
|
363
|
+
variablePaths.forEach((it2) => {
|
|
364
|
+
let r = ObjectUtils.Path.toOptionalChainPath(it2.inner);
|
|
365
|
+
targetScript = targetScript.replaceAll(it2.origin, `\${${r}}`);
|
|
366
|
+
});
|
|
367
|
+
const value1 = ObjectUtils.Script.evaluateReturn("`" + targetScript + "`", it.pathInfo.obj);
|
|
324
368
|
if (value1 === null) {
|
|
325
|
-
elementInfo.element.removeAttribute(
|
|
369
|
+
elementInfo.element.removeAttribute(it.key);
|
|
370
|
+
elementInfo.element[it.key] = null;
|
|
326
371
|
} else {
|
|
327
|
-
elementInfo.element.setAttribute(
|
|
372
|
+
elementInfo.element.setAttribute(it.key, value1);
|
|
373
|
+
elementInfo.element[it.key] = value1;
|
|
328
374
|
}
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
const
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
);
|
|
378
|
+
DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.linkTargetMapAttrName)?.forEach(
|
|
379
|
+
(elementInfo) => {
|
|
380
|
+
const targets = new Map(ScriptUtils.evaluateReturn(elementInfo.value));
|
|
381
|
+
Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(isDefined).flatMap(([key, valueScript]) => {
|
|
382
|
+
return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
|
|
383
|
+
}).forEach((info) => {
|
|
384
|
+
const value1 = ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);
|
|
385
|
+
const applyAttributeName = EventManager.linkAttrs.find((it) => it.name === info.key);
|
|
386
|
+
if (applyAttributeName) {
|
|
387
|
+
if (value1 === null) {
|
|
388
|
+
elementInfo.element.removeAttribute(applyAttributeName.property);
|
|
389
|
+
} else {
|
|
390
|
+
elementInfo.element.setAttribute(applyAttributeName.property, value1);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
});
|
|
394
|
+
Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(isDefined).flatMap(([key, valueScript]) => {
|
|
395
|
+
return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
|
|
396
|
+
}).forEach((info) => {
|
|
397
|
+
const linkInfo = EventManager.linkAttrs.find((it) => it.name === info.key);
|
|
398
|
+
if (linkInfo) {
|
|
399
|
+
elementInfo.element[linkInfo.property] = value;
|
|
400
|
+
}
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
);
|
|
340
404
|
if ("onBeforeReturnSet" in receiver && typeof p === "string" && !(this._domRender_config.proxyExcludeOnBeforeReturnSets ?? []).concat(excludeGetSetPropertys).includes(p)) {
|
|
341
405
|
if (isOnBeforeReturnSet(receiver)) {
|
|
342
|
-
receiver.onBeforeReturnSet?.(
|
|
406
|
+
receiver.onBeforeReturnSet?.(
|
|
407
|
+
p,
|
|
408
|
+
value,
|
|
409
|
+
fullPathInfo.map((it) => it.map((it2) => it2.path).join())
|
|
410
|
+
);
|
|
343
411
|
}
|
|
344
412
|
}
|
|
345
413
|
return true;
|
|
@@ -359,7 +427,11 @@ class DomRenderProxy {
|
|
|
359
427
|
it = it._DomRender_origin;
|
|
360
428
|
}
|
|
361
429
|
if ("onBeforeReturnGet" in receiver && typeof p === "string" && !(this._domRender_config.proxyExcludeOnBeforeReturnGets ?? []).concat(excludeGetSetPropertys).includes(p)) {
|
|
362
|
-
receiver?.onBeforeReturnGet?.(
|
|
430
|
+
receiver?.onBeforeReturnGet?.(
|
|
431
|
+
p,
|
|
432
|
+
it,
|
|
433
|
+
this.root([[{ path: p, obj: this._domRender_proxy }]], it, false)
|
|
434
|
+
);
|
|
363
435
|
}
|
|
364
436
|
return it;
|
|
365
437
|
}
|
|
@@ -382,7 +454,7 @@ class DomRenderProxy {
|
|
|
382
454
|
const isFinal = isObject && DomRenderProxy.isFinal(obj);
|
|
383
455
|
const isFrozen = Object.isFrozen(obj);
|
|
384
456
|
const isShield = obj instanceof Shield;
|
|
385
|
-
if (isNoProxy || isExclude || ValidUtils.isNullOrUndefined(obj) || !isObject || isFinal || isFrozen || isShield) {
|
|
457
|
+
if (obj === void 0 || obj === null || isNoProxy || isExclude || ValidUtils.isNullOrUndefined(obj) || !isObject || isFinal || isFrozen || isShield) {
|
|
386
458
|
return obj;
|
|
387
459
|
}
|
|
388
460
|
} catch (e) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DomRenderProxy.ts"],
|
|
4
|
-
"sourcesContent": ["import { RawSet } from './rawsets/RawSet';\nimport { EventManager } from './events/EventManager';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { DomRenderFinalProxy, Shield } from './types/Types';\nimport { RawSetType } from './rawsets/RawSetType';\nimport { DrThisProperty } from './operators/DrThisProperty';\nimport { RawSetOperatorType } from './rawsets/RawSetOperatorType';\nimport { ComponentSet } from './components/ComponentSet';\nimport { DomRenderNoProxyKey, isDomRenderNoProxy } from './decorators/DomRenderNoProxy';\nimport { isOnCreateRender } from './lifecycle/OnCreateRender';\nimport { isOnInitRender } from './lifecycle/OnInitRender';\nimport { isOnCreateRenderData } from './lifecycle/OnCreateRenderData';\nimport { isOnChangeAttrRender } from './lifecycle/OnChangeAttrRender';\nimport { DocumentUtils } from '@dooboostore/core-web/document/DocumentUtils';\nimport { isDefined } from '@dooboostore/core/types';\nimport { isOnBeforeReturnSet } from './lifecycle/OnBeforeReturnSet';\nimport { isOnChildRenderedByProperty } from './lifecycle/OnChildRenderedByProperty';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\nimport {ValidUtils} from '@dooboostore/core/valid/ValidUtils'\nimport { isOnProxyDomRender } from './lifecycle/OnProxyDomRender';\n\nconst excludeGetSetPropertys = ['onBeforeReturnGet', 'onBeforeReturnSet', '__domrender_components', '__render', '_DomRender_isFinal', '_domRender_ref', '_rawSets', '_domRender_proxy', '_targets', '_DomRender_origin', '_DomRender_ref', '_DomRender_proxy'];\nexport const isWrapProxyDomRenderProxy = <T>(obj: T): boolean => {\n return obj && typeof obj === 'object' && ('_DomRender_isProxy' in obj);\n};\nexport const getDomRenderOriginObject = <T>(obj: T):T => {\n if (isWrapProxyDomRenderProxy(obj)) {\n return (obj as any)._domRender_origin;\n }\n return obj;\n}\nexport const getDomRenderConfig = (obj: any): DomRenderConfig | undefined => {\n if (isWrapProxyDomRenderProxy(obj)) {\n return obj._domRender_config;\n }\n return undefined;\n}\n//@ts-ignore\nexport const getDomRenderProxy = <T>(obj: T): DomRenderProxy<T> | undefined => {\n if (isWrapProxyDomRenderProxy(obj)) {\n //@ts-ignore\n return (obj as any)._domRender_proxy as DomRenderProxy<T>;\n }\n return undefined;\n}\nexport class DomRenderProxy<T extends object> implements ProxyHandler<T> {\n public _domRender_ref = new Map<object, Set<string>>();\n public _rawSets = new Map<string, Set<RawSet>>();\n public _domRender_proxy?: T;\n // public _firstTarget: Node;\n public _targets = new Set<Node>();\n\n constructor(public _domRender_origin: T, target: Node | null | undefined, public _domRender_config: DomRenderConfig) {\n if (target) {\n this._targets.add(target);\n // this._firstTarget = target;\n }\n\n // setInterval(() => {\n // this._rawSets.forEach(it => {\n // Array.from(it).forEach(it => {\n // console.log(it, it.isConnected)\n // })\n // });\n // }, 1000)\n }\n\n public static unFinal<T = any>(obj: T): T {\n return DomRenderFinalProxy.unFinal(obj);\n }\n\n public static final<T = any>(obj: T): T {\n return DomRenderFinalProxy.final(obj);\n }\n\n public static isFinal<T = any>(obj: T) {\n return DomRenderFinalProxy.isFinal(obj);\n }\n\n public run(objProxy: T) {\n this._domRender_proxy = objProxy;\n if (isOnProxyDomRender(objProxy)) {\n objProxy.onProxyDomRender(this._domRender_config);\n }\n const obj = getDomRenderOriginObject<any>(objProxy);\n if (obj) {\n Object.keys(obj).forEach(it => {\n // Reflect \uBA54\uD0C0\uB370\uC774\uD130\uC5D0\uC11C domRender:NoProxy \uC5EC\uBD80 \uD655\uC778\n try {\n const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, obj, it) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n if (isNoProxy) {\n return obj;\n }\n } catch (e) {\n }\n const target = obj[it];\n if (target !== undefined && target !== null && typeof target === 'object' && !DomRenderProxy.isFinal(target) && !Object.isFrozen(target) && !(obj instanceof Shield)) {\n const isExcluded = this._domRender_config.proxyExcludeTyps?.some(it => target instanceof it) ?? false;\n // const filter = this._domRender_config.proxyExcludeTyps?.filter(it => target instanceof it) ?? [];\n if (!isExcluded) {\n const proxyAfter = this.proxy(objProxy, target, it);\n obj[it] = proxyAfter;\n }\n }\n });\n }\n // console.log('target', this._targets);\n this._targets.forEach(target => {\n this.initRender(target);\n });\n }\n\n public initRender(target: Node, rawSet?: RawSet) {\n\n // if (target instanceof Element) {\n // target.setAttribute('dr-this', 'this');\n // const rawSets = RawSet.checkPointCreates(target, this._domRender_proxy, this.config);\n // this.render(rawSets)\n // return;\n // }\n //\n if (target instanceof Element) {\n // \uC911\uC694: \uB098\uB97C\uD1B5\uD574 \uC774\uC5B4\uC9C4\uACF3\uC758 \uC704\uCE58\uB97C \uB0A8\uACA8\uC57C\uB41C\uB2E4 \uC548\uADF8\uB7EC\uBA74 TargetElement\uB294 \uC54C\uC218 \uC788\uB294 \uBC29\uBC95\uC774 \uC5C6\uB2E4. \uC5EC\uAE30\uC11C \uD754\uC801\uC744 \uB0A8\uACA8\uC918\uC57C \uD55C\uB2E4.\n // const targetElementNames = (this.config.targetElements?.map(it => it.name.toLowerCase().replaceAll('.', '\\\\.')) ?? []).join(',');\n // Array.from(target.querySelectorAll(targetElementNames)).forEach(it => it.setAttribute(EventManager.parentVariablePathAttrName, '@this@'));\n target.innerHTML = target.innerHTML.replace(/@this@/g, 'this');\n }\n // TODO: \uD55C\uACF3\uC5D0\uC11C \uCC98\uB9AC \uD544\uC694\uD560\uB4EF.. \uB108\uBB34 \uC0B0\uBC1C\uC801\uC73C\uB85C \uC788\uC74C.\n const onCreate = (target as any).getAttribute?.(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);\n let createParam: any[] = [];\n if (onCreate) {\n createParam = ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);\n if (!Array.isArray(createParam)) {\n createParam = [createParam];\n }\n }\n\n if (isOnCreateRenderData(this._domRender_proxy)) {\n this._domRender_proxy?.onCreateRenderData({ rootParent: this._domRender_proxy });\n }\n\n if (isOnCreateRender(this._domRender_proxy)) {\n this._domRender_proxy.onCreateRender(...createParam);\n }\n\n // const innerHTML = (target as any).innerHTML ?? '';\n this._targets.add(target);\n const rawSets = RawSet.checkPointCreates(target, this._domRender_proxy, this._domRender_config);\n // console.log('initRender -------rawSet', rawSets)\n // \uC911\uC694 \uCD08\uAE30\uC5D0 \uD55C\uBC88 \uD295\uACA8\uC918\uC57C\uD568.\n this._domRender_config.eventManager.applyEvent(this._domRender_proxy, this._domRender_config.eventManager.findAttrElements(target as Element, this._domRender_config), this._domRender_config);\n rawSets.forEach(it => {\n const variables = it.getUsingTriggerVariables(this._domRender_config);\n if (variables.size <= 0) {\n this.addRawSet('', it);\n } else {\n variables.forEach(sit => {\n this.addRawSet(sit, it);\n });\n }\n });\n this.render(this.getRawSets()).then(it => {\n // const render = {target} as Render;\n // const creatorMetaData = {\n // creator: this._domRender_proxy,\n // rootCreator: this._domRender_proxy,\n // innerHTML\n // } as CreatorMetaData;\n const onInit = (target as any).getAttribute?.(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);\n let initParam: any;\n if (onCreate) {\n initParam = ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);\n // if (!Array.isArray(initParam)) {\n // initParam = [initParam];\n // }\n }\n if (isOnInitRender(this._domRender_proxy)) {\n this._domRender_proxy.onInitRender(initParam, rawSet ?? {dataSet: {config: this._domRender_config}} as any);\n }\n });\n\n }\n\n public getRawSets() {\n const set = new Set<RawSet>();\n this._rawSets.forEach((v, k) => {\n v.forEach(it => set.add(it));\n });\n return Array.from(set);\n }\n\n // \uC911\uC694 important\n public async render(raws?: RawSet[] | string, fullPathStr?: string) {\n if (typeof raws === 'string') {\n const iter = this._rawSets.get(raws);\n if (iter) {\n raws = Array.from(iter);\n } else {\n raws = undefined;\n }\n }\n const removeRawSets: RawSet[] = [];\n const rawSets = raws ?? this.getRawSets();\n\n // console.log('----', rawSets);\n for (const it of rawSets as RawSet[]) {\n it.getUsingTriggerVariables(this._domRender_config).forEach(path => {\n // console.log('getUsingTriggerVariables->', path);\n this.addRawSet(path, it);\n });\n if (it.isConnected) {\n // \uC911\uC694 render\uB420\uB54C targetAttribute \uCCB4\uD06C \uD574\uC57C\uD568.\n const targetAttrMap = (it.point.node as Element)?.getAttribute?.(EventManager.normalAttrMapAttrName);\n // console.log('sssssssssSSS?',it, targetAttrMap)\n // console.log('----2', it, fullPathStr, targetAttrMap, (it.fragment as any).render, it.isConnected, this.getRawSets());\n if (it.detect?.action) {\n it.detect.action();\n // } else if (it.type === RawSetType.TARGET_ELEMENT && it.data && fullPathStr && targetAttrMap && (it.fragment as any).render) {\n } else if (it.type === RawSetType.TARGET_ELEMENT && it.dataSet?.render?.currentThis && fullPathStr && targetAttrMap) {\n new Map<string, string>(JSON.parse(targetAttrMap)).forEach((v, k) => {\n // it?.data.onChangeAttrRender(k, null, v);\n const isUsing = EventManager.isUsingThisVar(v, `this.${fullPathStr}`);\n if (isUsing) {\n const targetAttrObject = RawSet.getAttributeObject((it.point.node as Element), { script: it.dataSet?.render?.renderScript ?? '', obj: Object.assign(this._domRender_proxy ?? {}, { __render: it.dataSet?.render }) });\n it.dataSet.render??={};\n it.dataSet.render.attribute = targetAttrObject;\n // const render = it.dataSet?.render;\n // console.log('render-->!!!!!', it.dataSet.render);\n // const script = `${render.renderScript} return ${v} `;\n // const cval = ScriptUtils.eval(script, Object.assign(this._domRender_proxy ?? {}, { __render: render }));\n if (isOnChangeAttrRender(it.dataSet?.render?.currentThis)) {\n it.dataSet?.render?.currentThis?.onChangeAttrRender?.(k, targetAttrObject[k], { rawSet: it });\n }\n }\n // console.log('---?', v, fullPathStr, isUsing);\n });\n // ------------------->\n } else {\n const rawSets = await it.render(this._domRender_proxy, this._domRender_config);\n // \uADF8\uC678 \uC790\uC2DD\uB4E4 render\n if (rawSets && rawSets.length > 0) {\n await this.render(rawSets);\n }\n }\n } else {\n removeRawSets.push(it);\n }\n }\n\n if (removeRawSets.length > 0) {\n this.removeRawSet(...removeRawSets);\n }\n return this.getRawSets();\n }\n\n // domrender_ref\uB85C \uCC3E\uB294\uAC78\uB85C \uBC14\uAFC8\n // public findRootDomRenderProxy(): DomRenderProxy<any> {\n // let current:DomRenderProxy<any> = this;\n // while (current.parentProxy) {\n // current = current.parentProxy;\n // }\n // return current;\n // }\n\n public root(pathInfos: {path: string, obj: any}[][], value?: any, lastDoneExecute = true): {path: string, obj:any}[][] {\n // console.log('root--->', paths, value, this._domRender_ref, this._domRender_origin);\n const fullPaths: {path: string, obj:any}[][] = [];\n if (this._domRender_ref.size > 0) {\n this._domRender_ref.forEach((it, key) => {\n if ('_DomRender_isProxy' in key) {\n it.forEach(sit => {\n try {\n\n const concat = pathInfos.concat([[{path: sit, obj: key}]]);\n const items:{path: string, obj:any}[][] = (key as any)._DomRender_proxy?.root(concat, value, lastDoneExecute);\n\n fullPaths.push(items.flat());\n // fullPaths.push({path: items.map(it=>it.path).join(','), obj: this._domRender_proxy});\n // fullPaths.push({path: items.map(it=>it.path).join(','), obj: this._domRender_proxy});\n } catch (e) {\n // \uC624\uBE0C\uC81D\uD2B8\uB4E4 \uC5C6\uC5B4\uC84C\uC744\uC218\uB3C4\uC788\uB2E4 Destroy\uC2DC\uC810\uC5D0\uC11C \uC624\uB958\uB098\uB294\uACBD\uC6B0\uAC00 \uC788\uB2E4. \uB530\uB77C\uC11C \uCC38\uC870 \uD558\uB294\uBD80\uBD84 \uC5C6\uC5B4\uC838\uC57C\uD55C\uB2E4.\n // console.error(e)\n // it.delete(sit);\n }\n });\n }\n });\n } else {\n // const firstPathStr = paths.slice(1).reverse().join('.');\n const strings = pathInfos.reverse().map(it=>it.map(it=>it.path).join(','));\n // array\uAC19\uC740\uACBD\uC6B0\uB3C4 \uD0A4\uAC12\uC73C\uB85C \uC811\uADFC\uD558\uAE30\uB54C\uBB38\uC5D0 \uD2B9\uC815 \uC778\uB371\uC2A4\uB97C \uCC3E\uC544\uC11C \uADF8\uBD80\uBD84\uB9CC \uBC14\uAFD4\uC904\uC218 \uC788\uB2E4.\n const fullPathStr = strings.map(it => isNaN(Number(it)) ? '.' + it : `[${it}]`).join('').slice(1);\n // console.log('-------fullPathStr', fullPathStr, lastDoneExecute);\n if (lastDoneExecute) {\n // const firstData = ScriptUtils.evalReturn('this.' + firstPathStr, this._domRender_proxy);\n // console.log('-------', firstPathStr, firstData);\n // if (firstData instanceof Dictionary) {\n // }\n const iterable = this._rawSets.get(fullPathStr);\n // array check\n const front = strings.slice(0, strings.length - 1).map(it => isNaN(Number(it)) ? '.' + it : `[${it}]`).join('');\n const lastPropertyName = strings[strings.length - 1];\n const path = 'this' + front;\n const data = ScriptUtils.evaluateReturn(ObjectUtils.Path.toOptionalChainPath(path), this._domRender_proxy);\n // console.log('root-->', this._rawSets, path, data );\n // console.log('--!!!!', fullPathStr, iterable, data, front, last);\n // \uC65C\uC5EC\uAE30\uC11C promise\uB97C \uD588\uC744\uAE4C\uB97C \uC0DD\uAC01\uD574\uBCF4\uBA74......\uD6D4.. \uBCC0\uC218\uBCC0\uACBD\uACFC \uD654\uBA74 \uBFCC\uB824\uC8FC\uB294\uAC78 \uB3D9\uAE30\uB85C\uD558\uBA74 \uC131\uB2A5\uC774 \uC548\uB098\uC624\uACE0 \uBE44\uD604\uC2E4\uC801\uC774\uB2E4. \uADF8\uB798\uC11C promise\n new Promise<RawSet[]>(async resolve => {\n let rData: RawSet[] = [];\n const firstPathStr = front.slice(1);\n\n // check dictionary\n // console.log('-promise-------', firstPathStr, this)\n const firstTargets = this._rawSets.get(firstPathStr);\n const firstTargetDictionary: RawSet[] = [];\n firstTargets?.forEach(it => {\n // console.log('----forEach---', it);\n const type = (it.point.start as Element).getAttribute?.('type');\n if (type === RawSetOperatorType.DR_THIS_PROPERTY) {\n firstTargetDictionary.push(it);\n }\n });\n if (firstTargetDictionary.length > 0) {\n // console.log('ddddddddddd', firstTargetDictionary);\n const rawSets: RawSet[] = [];\n let skip = false;\n firstTargetDictionary.forEach(it => {\n const startElement = it.point.start as Element;\n const keys = startElement.getAttribute(RawSet.DR_HAS_KEYS_OPTIONNAME)?.split(',') ?? [];\n if (value === undefined) {\n const rawSet = it.getHasRawSet(lastPropertyName);\n rawSet?.remove();\n startElement.setAttribute(RawSet.DR_HAS_KEYS_OPTIONNAME, keys.filter(it => it !== lastPropertyName).join(','));\n }\n if (!keys.includes(lastPropertyName)) {\n const raws = DrThisProperty.append(this._domRender_proxy, fullPathStr, lastPropertyName, it, this._domRender_config);\n if (raws) {\n rawSets.push(...raws);\n }\n } else {\n skip = true;\n }\n });\n if (skip === false || rawSets.length > 0) {\n rData = await this.render(rawSets);\n }\n }\n\n if (lastPropertyName === 'length' && Array.isArray(data)) {\n const aIterable = this._rawSets.get(firstPathStr);\n if (aIterable) {\n rData = await this.render(Array.from(aIterable));\n }\n } else if (iterable) {\n // console.log('------------',iterable, fullPaths)\n rData = await this.render(Array.from(iterable), fullPathStr);\n }\n\n\n\n // console.log('-----------', this, lastPropertyName );\n // this._targets.forEach(it => {\n // // return;\n // if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {\n // const targets = eventManager.findAttrElements((it as DocumentFragment | Element), this.config);\n // eventManager.changeVar(this._domRender_proxy, targets, `this.${fullPathStr}`, this.config);\n // }\n // });\n\n\n this._targets.forEach(it => {\n // return;\n if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {\n const targets = this._domRender_config.eventManager.findAttrElements((it as DocumentFragment | Element), this._domRender_config);\n this._domRender_config.eventManager.changeVar(this._domRender_proxy, targets, `this.${fullPathStr}`, this._domRender_config);\n }\n });\n\n //\uB79C\uB354\uB300\uC0C1\uB41C\uAC8C\uC788\uC73C\uBA74\n if(rData?.length > 0 && isOnChildRenderedByProperty(data)) {\n const propertyValue = ScriptUtils.evaluateReturn(`this.${lastPropertyName}`, data)\n data.onChildRenderedByProperty(lastPropertyName, propertyValue);\n // data\n }\n resolve(rData);\n }).then(it => {\n // console.log('DonrenderProxy root RenderDone')\n });\n }\n fullPaths.push([{path:fullPathStr, obj: this._domRender_proxy}]);\n }\n\n // console.log('dddddd', fullPaths.flatMap(it=>it).map(it=>it.path))\n return fullPaths;\n }\n\n public set(target: T, p: string | symbol, value: any, receiver: T): boolean {\n // console.log('set------->', target, p, value, receiver, Date.now())\n // console.log('set------->', target, p, value, receiver, Date.now())\n // try {\n // const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, target, p) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n // if (isNoProxy) {\n // return obj;\n // }\n // }catch (e) {}\n\n // console.log('set-->', p, value, target, receiver, Reflect.getMetadata(DomRenderNoProxyKey, target, p) );\n\n if (\n (typeof p === 'string' && p !== '__domrender_components' && excludeGetSetPropertys.includes(p)) ||\n Reflect.getMetadata(DomRenderNoProxyKey, target, p)\n ) {\n (target as any)[p] = value;\n return true;\n }\n // const old = (target as any)[p];\n // console.log('set proxy-->', target, p, value, this._rawSets, this._domRender_ref);\n // if (typeof p === 'string' && '__render' === p) {\n // (target as any)[p] = value;\n // return true;\n // }\n // console.log('set--?', p, target, value);\n\n if (typeof p === 'string') {\n value = this.proxy(receiver, value, p);\n }\n\n // console.log('set typeChecked', (target as any)[p] instanceof ComponentSet, value instanceof ComponentSet);\n // if ((target as any)[p] instanceof ComponentSet) {\n // (target as any)[p]?.obj?.onDrThisUnBind?.();\n // }\n // is ComponentSet\n if ((value instanceof ComponentSet) && ((target as any)[p] instanceof ComponentSet)) {\n value.config.beforeComponentSet = (target as any)[p];\n }\n (target as any)[p] = value;\n let fullPathInfo: {path: string, obj:any}[][] = [];\n if (typeof p === 'string') {\n fullPathInfo = this.root([[{path:p, obj: this._domRender_proxy}]], value)\n }\n\n // console.log('setRooot', fullPathInfo);\n\n\n //normal attribute \uB610\uD55C \uB9C1\uD06C\uB791 \uAC19\uC740 \uC99D\uC138\uB77C\uC11C \uC774\uB807\uAC8C \uD574\uC918\uC57C\uD55C\uB2E4!!\n // const rootDomRenderProxy = this.findRootDomRenderProxy();\n // console.log('set!!!!!!!', fullPathInfo, rootDomRenderProxy)\n // console.log('--------rootDom',fullPathInfo, rootDomRenderProxy, rootDomRenderProxy._domRender_proxy)\n const rootElement = this._domRender_config.rootElement ?? this._domRender_config.window.document;\n DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.normalAttrMapAttrName)?.forEach(elementInfo => {\n // @ts-ignore\n // const optionalPath = ObjectUtils.Path.toOptionalChainPath(elementInfo.value);\n const targets = new Map<string,string>(ScriptUtils.evaluateReturn<[string, string][]>(elementInfo.value));\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(it=> {\n const optionalPath = ObjectUtils.Path.toOptionalChainPath(it.valueScript);\n const value1 = ScriptUtils.evaluateReturn(optionalPath, it.pathInfo.obj);\n // console.log('proxy set!Attribut======', it.key, value1)\n if (value1 === null) {\n elementInfo.element.removeAttribute(it.key);\n elementInfo.element[it.key] = null;\n } else {\n elementInfo.element.setAttribute(it.key, value1);\n elementInfo.element[it.key] = value1\n }\n })\n })\n\n //\uC5EC\uAE30\uC11C \uB9C1\uD06C \uAC19\uC740\uAC70 \uD574\uC918\uC57C\uD568 *-link\uB85C \uBCC0\uC218\uAC12\uC774 \uBCC0\uACBD\uB418\uBA74 \uADF8\uAC78 \uCC38\uACE0\uD558\uACE0\uC788\uB294 \uB2E4\uB978\uAC83\uB4E4\uC5D0\uB3C4 \uD574\uC918\uC57C\uD55C\uB2E4.\n DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.linkTargetMapAttrName)?.forEach(elementInfo => {\n // @ts-ignore\n const targets = new Map<string,string>(ScriptUtils.evaluateReturn<[string, string][]>(elementInfo.value));\n\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(info=> {\n const value1 = ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);\n const applyAttributeName = EventManager.linkAttrs.find(it => it.name === info.key);\n if (applyAttributeName) {\n if (value1 === null) {\n elementInfo.element.removeAttribute(applyAttributeName.property);\n } else {\n // console.log('ppppppppppppppppppppppp', applyAttributeName, elementInfo)\n elementInfo.element.setAttribute(applyAttributeName.property, value1);\n }\n }\n })\n\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(info=> {\n const linkInfo = EventManager.linkAttrs.find(it=>it.name === info.key)\n if (linkInfo) {\n elementInfo.element[linkInfo.property] = value\n }\n })\n })\n if (('onBeforeReturnSet' in receiver) && typeof p === 'string' && !(this._domRender_config.proxyExcludeOnBeforeReturnSets ?? []).concat(excludeGetSetPropertys).includes(p)) {\n if(isOnBeforeReturnSet(receiver)){\n receiver.onBeforeReturnSet?.(p, value, fullPathInfo.map(it => it.map(it=>it.path).join()));\n }\n }\n return true;\n }\n\n get(target: T, p: string | symbol, receiver: any): any {\n // console.log('get-->', target, p, receiver);\n if (p === '_DomRender_origin' || p === '_domRender_origin') {\n return this._domRender_origin;\n } else if (p === '_DomRender_ref' || p === '_domRender_ref') {\n return this._domRender_ref;\n } else if (p === '_DomRender_config' || p ==='_domRender_config') {\n return this._domRender_config;\n } else if (p === '_DomRender_proxy' || p ==='_domRender_proxy') {\n return this;\n } else {\n // Date\uB77C\uB358\uC9C0 \uC774\uB7F0\uB188\uB4E4\uC740-_-\uD504\uB85D\uC2DC\uAC00 \uC774\uC0C1\uD558\uAC8C \uB3D9\uC791\uD574\uC11C\n // console.log('--->', p, target, target.bind, 'bind' in target)\n // if ((p in target) && ('bind' in target)) {\n // try{\n // return (target as any)[p].bind(target);\n // }catch (e) {\n // console.error(e)\n // }\n // } else {\n // return (target as any)[p]\n // }\n // return (p in target) ? (target as any)[p].bind(target) : (target as any)[p]\n // console.log('-->', p, Object.prototype.toString.call((target as any)[p]), (target as any)[p])\n // return (target as any)[p]\n let it = (target as any)[p];\n if (it && typeof it === 'object' && ('_DomRender_isProxy' in it) && Object.prototype.toString.call(it._DomRender_origin) === '[object Date]') {\n it = it._DomRender_origin;\n }\n\n if (('onBeforeReturnGet' in receiver) && typeof p === 'string' && !(this._domRender_config.proxyExcludeOnBeforeReturnGets ?? []).concat(excludeGetSetPropertys).includes(p)) {\n (receiver as any)?.onBeforeReturnGet?.(p, it, this.root([[{path:p, obj: this._domRender_proxy}]], it, false));\n }\n return it;\n }\n }\n\n deleteProperty(target: T, p: string | symbol): boolean {\n delete (target as any)[p];\n if (typeof p === 'string') {\n this.root([[{path:p, obj: this._domRender_proxy}]]);\n }\n return true;\n }\n\n has(target: T, p: string | symbol): boolean {\n return p === '_DomRender_isProxy' || p in target;\n }\n\n proxy(parentProxy: T, obj: T | any, p: string) {\n\n\n try {\n // const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, obj, p) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n const isObject = typeof obj === 'object';\n const isNoProxy = isObject && isDomRenderNoProxy(obj,p)\n const isExclude = (this._domRender_config.proxyExcludeTyps?.some(it => obj instanceof it)) ?? false;\n const isFinal = isObject && DomRenderProxy.isFinal(obj);\n const isFrozen = Object.isFrozen(obj);\n const isShield = obj instanceof Shield;\n if (isNoProxy || isExclude || ValidUtils.isNullOrUndefined(obj) || !isObject || isFinal || isFrozen || isShield) {\n return obj;\n }\n } catch (e) {\n }\n\n\n/*\n const proxyTarget = (this._domRender_config.proxyExcludeTyps?.filter(it => obj instanceof it) ?? []).length <= 0;\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && !('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {\n const domRender = new DomRenderProxy(obj, undefined, this._domRender_config);\n domRender.addRef(parentProxy, p);\n const proxy = new Proxy(obj, domRender);\n domRender.run(proxy);\n return proxy;\n }\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && ('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {\n const d = (obj as any)._DomRender_proxy as DomRenderProxy<T>;\n d.addRef(this._domRender_proxy!, p);\n return obj;\n } else {\n return obj;\n }\n */\n if ( !isWrapProxyDomRenderProxy(obj)) {\n const domRender = new DomRenderProxy(obj, undefined, this._domRender_config);\n domRender.addRef(parentProxy, p);\n const proxy = new Proxy(obj, domRender);\n domRender.run(proxy);\n return proxy;\n }\n if (isWrapProxyDomRenderProxy(obj)) {\n const d = (obj as any)._DomRender_proxy as DomRenderProxy<T>;\n d.addRef(this._domRender_proxy!, p);\n return obj;\n } else {\n return obj;\n }\n }\n\n public addRef(parent: object, path: string) {\n if (!this._domRender_ref.get(parent)) {\n this._domRender_ref.set(parent, new Set<string>());\n }\n this._domRender_ref.get(parent)?.add(path);\n }\n\n public addRawSetAndRender(path: string, rawSet: RawSet) {\n this.addRawSet(path, rawSet);\n this.render([rawSet]);\n }\n\n public addRawSet(path: string, rawSet: RawSet) {\n // console.log('addRawSet--> path:', path, 'rawSet:', rawSet)\n if (!this._rawSets.get(path)) {\n this._rawSets.set(path, new Set<RawSet>());\n }\n this._rawSets.get(path)?.add(rawSet);\n }\n\n // public removeRawSet(...raws: RawSet[]) {\n // this._rawSets.forEach(it => {\n // raws.forEach(sit => it.delete(sit));\n // })\n // this.garbageRawSet();\n // }\n\n public removeRawSet(...raws: RawSet[]) {\n this._rawSets.forEach(it => {\n it.forEach(sit => {\n if (!sit.isConnected) {\n it.delete(sit);\n } else if (raws.includes(sit)) {\n it.delete(sit);\n }\n });\n });\n this.targetGarbageRawSet();\n }\n\n private targetGarbageRawSet() {\n this._targets.forEach(it => {\n if (!it.isConnected) {\n this._targets.delete(it);\n }\n });\n }\n\n private garbageRawSet() {\n this._targets.forEach(it => {\n if (!it.isConnected) {\n this._targets.delete(it);\n }\n });\n\n this._rawSets.forEach(it => {\n it.forEach(sit => {\n if (!sit.isConnected) {\n it.delete(sit);\n }\n });\n });\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { RawSet, RenderResult } from './rawsets/RawSet';\nimport { EventManager, NormalAttrDataType } from './events/EventManager';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { DomRenderFinalProxy, Shield } from './types/Types';\nimport { RawSetType } from './rawsets/RawSetType';\nimport { DrThisProperty } from './operators/DrThisProperty';\nimport { RawSetOperatorType } from './rawsets/RawSetOperatorType';\nimport { ComponentSet } from './components/ComponentSet';\nimport { DomRenderNoProxyKey, isDomRenderNoProxy } from './decorators/DomRenderNoProxy';\nimport { isOnCreateRender } from './lifecycle/OnCreateRender';\nimport { isOnInitRender } from './lifecycle/OnInitRender';\nimport { isOnCreateRenderData } from './lifecycle/OnCreateRenderData';\nimport { isOnChangeAttrRender } from './lifecycle/OnChangeAttrRender';\nimport { DocumentUtils } from '@dooboostore/core-web/document/DocumentUtils';\nimport { isDefined } from '@dooboostore/core/types';\nimport { isOnBeforeReturnSet } from './lifecycle/OnBeforeReturnSet';\nimport { isOnChildRenderedByProperty } from './lifecycle/OnChildRenderedByProperty';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\nimport { ValidUtils } from '@dooboostore/core/valid/ValidUtils';\nimport { isOnProxyDomRender } from './lifecycle/OnProxyDomRender';\nimport { isOnRawSetRendered } from './lifecycle/OnRawSetRendered';\n\nconst excludeGetSetPropertys = [\n 'onBeforeReturnGet',\n 'onBeforeReturnSet',\n '__domrender_components',\n '__render',\n '_DomRender_isFinal',\n '_domRender_ref',\n '_rawSets',\n '_domRender_proxy',\n '_targets',\n '_DomRender_origin',\n '_DomRender_ref',\n '_DomRender_proxy'\n];\nexport const isWrapProxyDomRenderProxy = <T>(obj: T): boolean => {\n return obj && typeof obj === 'object' && '_DomRender_isProxy' in obj;\n};\nexport const getDomRenderOriginObject = <T>(obj: T): T => {\n if (isWrapProxyDomRenderProxy(obj)) {\n return (obj as any)._domRender_origin;\n }\n return obj;\n};\nexport const getDomRenderConfig = (obj: any): DomRenderConfig | undefined => {\n if (isWrapProxyDomRenderProxy(obj)) {\n return obj._domRender_config;\n }\n return undefined;\n};\n//@ts-ignore\nexport const getDomRenderProxy = <T>(obj: T): DomRenderProxy<T> | undefined => {\n if (isWrapProxyDomRenderProxy(obj)) {\n //@ts-ignore\n return (obj as any)._domRender_proxy as DomRenderProxy<T>;\n }\n return undefined;\n};\nexport class DomRenderProxy<T extends object> implements ProxyHandler<T> {\n public _domRender_ref = new Map<object, Set<string>>();\n public _rawSets = new Map<string, Set<RawSet>>();\n public _domRender_proxy?: T;\n // public _firstTarget: Node;\n public _targets = new Set<Node>();\n\n constructor(\n public _domRender_origin: T,\n target: Node | null | undefined,\n public _domRender_config: DomRenderConfig\n ) {\n if (target) {\n this._targets.add(target);\n // this._firstTarget = target;\n }\n\n // setInterval(() => {\n // this._rawSets.forEach(it => {\n // Array.from(it).forEach(it => {\n // console.log(it, it.isConnected)\n // })\n // });\n // }, 1000)\n }\n\n public static unFinal<T = any>(obj: T): T {\n return DomRenderFinalProxy.unFinal(obj);\n }\n\n public static final<T = any>(obj: T): T {\n return DomRenderFinalProxy.final(obj);\n }\n\n public static isFinal<T = any>(obj: T) {\n return ValidUtils.isNull(obj) || DomRenderFinalProxy.isFinal(obj);\n }\n\n public async run(objProxy: T) {\n this._domRender_proxy = objProxy;\n if (isOnProxyDomRender(objProxy)) {\n objProxy.onProxyDomRender(this._domRender_config);\n }\n const obj = getDomRenderOriginObject<any>(objProxy);\n if (obj) {\n Object.keys(obj).forEach(it => {\n // Reflect \uBA54\uD0C0\uB370\uC774\uD130\uC5D0\uC11C domRender:NoProxy \uC5EC\uBD80 \uD655\uC778\n try {\n const isNoProxy =\n Reflect.getMetadata(DomRenderNoProxyKey, obj, it) ||\n Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n if (isNoProxy) {\n return obj;\n }\n } catch (e) {}\n const target = obj[it];\n if (\n target !== undefined &&\n target !== null &&\n typeof target === 'object' &&\n !DomRenderProxy.isFinal(target) &&\n !Object.isFrozen(target) &&\n !(obj instanceof Shield)\n ) {\n const isExcluded = this._domRender_config.proxyExcludeTyps?.some(it => target instanceof it) ?? false;\n // const filter = this._domRender_config.proxyExcludeTyps?.filter(it => target instanceof it) ?? [];\n if (!isExcluded) {\n const proxyAfter = this.proxy(objProxy, target, it);\n obj[it] = proxyAfter;\n }\n }\n });\n }\n // console.log('target', this._targets);\n for (let target of this._targets) {\n await this.initRender(target);\n }\n }\n\n public async initRender(target: Node, rawSet?: RawSet) {\n // if (target instanceof Element) {\n // target.setAttribute('dr-this', 'this');\n // const rawSets = RawSet.checkPointCreates(target, this._domRender_proxy, this.config);\n // this.render(rawSets)\n // return;\n // }\n //\n if (target instanceof Element) {\n // \uC911\uC694: \uB098\uB97C\uD1B5\uD574 \uC774\uC5B4\uC9C4\uACF3\uC758 \uC704\uCE58\uB97C \uB0A8\uACA8\uC57C\uB41C\uB2E4 \uC548\uADF8\uB7EC\uBA74 TargetElement\uB294 \uC54C\uC218 \uC788\uB294 \uBC29\uBC95\uC774 \uC5C6\uB2E4. \uC5EC\uAE30\uC11C \uD754\uC801\uC744 \uB0A8\uACA8\uC918\uC57C \uD55C\uB2E4.\n // const targetElementNames = (this.config.targetElements?.map(it => it.name.toLowerCase().replaceAll('.', '\\\\.')) ?? []).join(',');\n // Array.from(target.querySelectorAll(targetElementNames)).forEach(it => it.setAttribute(EventManager.parentVariablePathAttrName, '@this@'));\n target.innerHTML = target.innerHTML.replace(/@this@/g, 'this');\n }\n // TODO: \uD55C\uACF3\uC5D0\uC11C \uCC98\uB9AC \uD544\uC694\uD560\uB4EF.. \uB108\uBB34 \uC0B0\uBC1C\uC801\uC73C\uB85C \uC788\uC74C.\n const onCreate = (target as any).getAttribute?.(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);\n let createParam: any[] = [];\n if (onCreate) {\n createParam = ObjectUtils.Script.evaluateReturn(onCreate, this._domRender_proxy);\n if (!Array.isArray(createParam)) {\n createParam = [createParam];\n }\n }\n\n if (isOnCreateRenderData(this._domRender_proxy)) {\n this._domRender_proxy?.onCreateRenderData({ rootParent: this._domRender_proxy });\n }\n\n if (isOnCreateRender(this._domRender_proxy)) {\n this._domRender_proxy.onCreateRender(...createParam);\n }\n\n // const innerHTML = (target as any).innerHTML ?? '';\n this._targets.add(target);\n const rawSets = RawSet.checkPointCreates(target, this._domRender_proxy, this._domRender_config);\n // console.log('initRender -------rawSet', rawSets)\n // \uC911\uC694 \uCD08\uAE30\uC5D0 \uD55C\uBC88 \uD295\uACA8\uC918\uC57C\uD568.\n this._domRender_config.eventManager.applyEvent(\n this._domRender_proxy,\n this._domRender_config.eventManager.findAttrElements(target as Element, this._domRender_config),\n this._domRender_config\n );\n rawSets.forEach(it => {\n const variables = it.getUsingTriggerVariables(this._domRender_config);\n if (variables.size <= 0) {\n this.addRawSet('', it);\n } else {\n variables.forEach(sit => {\n this.addRawSet(sit, it);\n });\n }\n });\n\n const targetRawSets = await this.render(this.getRawSets());\n for (let targetRawSet of targetRawSets) {\n const onInit = (target as any).getAttribute?.(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);\n let initParam: any;\n if (onCreate) {\n initParam = ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);\n }\n if (isOnInitRender(this._domRender_proxy)) {\n await this._domRender_proxy.onInitRender(\n initParam,\n rawSet ?? ({ dataSet: { config: this._domRender_config } } as any)\n );\n }\n }\n }\n\n public getRawSets() {\n const set = new Set<RawSet>();\n this._rawSets.forEach((v, k) => {\n v.forEach(it => set.add(it));\n });\n return Array.from(set);\n }\n\n // \uC911\uC694 important\n public async render(raws?: RawSet[] | string, fullPathStr?: string) {\n if (typeof raws === 'string') {\n const iter = this._rawSets.get(raws);\n if (iter) {\n raws = Array.from(iter);\n } else {\n raws = undefined;\n }\n }\n const removeRawSets: RawSet[] = [];\n const rawSets = raws ?? this.getRawSets();\n\n // console.log('----', rawSets);\n for (const it of rawSets as RawSet[]) {\n it.getUsingTriggerVariables(this._domRender_config).forEach(path => {\n // console.log('getUsingTriggerVariables->', path);\n this.addRawSet(path, it);\n });\n\n let renderResult: RenderResult | undefined;\n if (it.isConnected) {\n // \uC911\uC694 render\uB420\uB54C targetAttribute \uCCB4\uD06C \uD574\uC57C\uD568.\n const targetAttrMap = (it.point.node as Element)?.getAttribute?.(EventManager.normalAttrMapAttrName);\n // console.log('sssssssssSSS?',it, targetAttrMap)\n // console.log('----2', it, fullPathStr, targetAttrMap, (it.fragment as any).render, it.isConnected, this.getRawSets());\n if (it.detect?.action) {\n it.detect.action();\n // } else if (it.type === RawSetType.TARGET_ELEMENT && it.data && fullPathStr && targetAttrMap && (it.fragment as any).render) {\n } else if (\n it.type === RawSetType.TARGET_ELEMENT &&\n it.dataSet?.render?.currentThis &&\n fullPathStr &&\n targetAttrMap\n ) {\n new Map<string, NormalAttrDataType>(JSON.parse(targetAttrMap)).forEach((v, k) => {\n // it?.data.onChangeAttrRender(k, null, v);\n // console.log('------->?',v,k);\n const isUsing = v.variablePaths.some(it => EventManager.isUsingThisVar(it.inner, `this.${fullPathStr}`))\n // console.log('------->?',v,k, isUsing);\n if (isUsing) {\n const targetAttrObject = RawSet.getAttributeObject(it.point.node as Element, {\n script: it.dataSet?.render?.renderScript ?? '',\n obj: Object.assign(this._domRender_proxy ?? {}, { __render: it.dataSet?.render })\n });\n it.dataSet.render ??= {};\n it.dataSet.render.attribute = targetAttrObject;\n // const render = it.dataSet?.render;\n // console.log('render-->!!!!!', it.dataSet.render);\n // const script = `${render.renderScript} return ${v} `;\n // const cval = ScriptUtils.eval(script, Object.assign(this._domRender_proxy ?? {}, { __render: render }));\n if (isOnChangeAttrRender(it.dataSet?.render?.currentThis)) {\n it.dataSet?.render?.currentThis?.onChangeAttrRender?.(k, targetAttrObject[k], { rawSet: it });\n }\n }\n // console.log('---?', v, fullPathStr, isUsing);\n });\n // ------------------->\n } else {\n const rawSets = await it.render(this._domRender_proxy, this._domRender_config);\n renderResult = rawSets;\n // \uADF8\uC678 \uC790\uC2DD\uB4E4 render\n if (rawSets && rawSets.raws.length > 0) {\n await this.render(rawSets.raws);\n }\n }\n } else {\n removeRawSets.push(it);\n }\n\n const t = it.findNearThis(this._domRender_proxy);\n // TODO: \uD638\uCD9C\uB41C\uACF3\uC5D0\uC11C \uB610 \uBCC0\uC218\uB97C \uC218\uC815\uD558\uAC8C\uB418\uBA74 \uBB34\uD55C\uB8E8\uD504\uB2C8\uAE50 \uC660\uB9CC\uD558\uBA74 \uC0AC\uC6A9\uBABB\uD558\uAC8C \uD574\uC57C\uD55C\uB2E4.\n if (isOnRawSetRendered(t)) {\n await t.onRawSetRendered(it, { path: fullPathStr, renderResult });\n }\n // console.log('----', it);\n }\n\n if (removeRawSets.length > 0) {\n this.removeRawSet(...removeRawSets);\n }\n return this.getRawSets();\n }\n\n // domrender_ref\uB85C \uCC3E\uB294\uAC78\uB85C \uBC14\uAFC8\n // public findRootDomRenderProxy(): DomRenderProxy<any> {\n // let current:DomRenderProxy<any> = this;\n // while (current.parentProxy) {\n // current = current.parentProxy;\n // }\n // return current;\n // }\n\n public root(\n pathInfos: { path: string; obj: any }[][],\n value?: any,\n lastDoneExecute = true\n ): { path: string; obj: any }[][] {\n // console.log('root--->', paths, value, this._domRender_ref, this._domRender_origin);\n const fullPaths: { path: string; obj: any }[][] = [];\n if (this._domRender_ref.size > 0) {\n this._domRender_ref.forEach((it, key) => {\n if ('_DomRender_isProxy' in key) {\n it.forEach(sit => {\n try {\n const concat = pathInfos.concat([[{ path: sit, obj: key }]]);\n const items: { path: string; obj: any }[][] = (key as any)._DomRender_proxy?.root(\n concat,\n value,\n lastDoneExecute\n );\n\n fullPaths.push(items.flat());\n // fullPaths.push({path: items.map(it=>it.path).join(','), obj: this._domRender_proxy});\n // fullPaths.push({path: items.map(it=>it.path).join(','), obj: this._domRender_proxy});\n } catch (e) {\n // \uC624\uBE0C\uC81D\uD2B8\uB4E4 \uC5C6\uC5B4\uC84C\uC744\uC218\uB3C4\uC788\uB2E4 Destroy\uC2DC\uC810\uC5D0\uC11C \uC624\uB958\uB098\uB294\uACBD\uC6B0\uAC00 \uC788\uB2E4. \uB530\uB77C\uC11C \uCC38\uC870 \uD558\uB294\uBD80\uBD84 \uC5C6\uC5B4\uC838\uC57C\uD55C\uB2E4.\n // console.error(e)\n // it.delete(sit);\n }\n });\n }\n });\n } else {\n // const firstPathStr = paths.slice(1).reverse().join('.');\n const strings = pathInfos.reverse().map(it => it.map(it => it.path).join(','));\n // array\uAC19\uC740\uACBD\uC6B0\uB3C4 \uD0A4\uAC12\uC73C\uB85C \uC811\uADFC\uD558\uAE30\uB54C\uBB38\uC5D0 \uD2B9\uC815 \uC778\uB371\uC2A4\uB97C \uCC3E\uC544\uC11C \uADF8\uBD80\uBD84\uB9CC \uBC14\uAFD4\uC904\uC218 \uC788\uB2E4.\n const fullPathStr = strings\n .map(it => (isNaN(Number(it)) ? '.' + it : `[${it}]`))\n .join('')\n .slice(1);\n // console.log('-------fullPathStr', fullPathStr, lastDoneExecute);\n if (lastDoneExecute) {\n // const firstData = ScriptUtils.evalReturn('this.' + firstPathStr, this._domRender_proxy);\n // console.log('-------', firstPathStr, firstData);\n // if (firstData instanceof Dictionary) {\n // }\n const iterable = this._rawSets.get(fullPathStr);\n // array check\n const front = strings\n .slice(0, strings.length - 1)\n .map(it => (isNaN(Number(it)) ? '.' + it : `[${it}]`))\n .join('');\n const lastPropertyName = strings[strings.length - 1];\n const path = 'this' + front;\n const data = ScriptUtils.evaluateReturn(ObjectUtils.Path.toOptionalChainPath(path), this._domRender_proxy);\n // console.log('root-->', this._rawSets, path, data );\n // console.log('--!!!!', fullPathStr, iterable, data, front, last);\n // \uC65C\uC5EC\uAE30\uC11C promise\uB97C \uD588\uC744\uAE4C\uB97C \uC0DD\uAC01\uD574\uBCF4\uBA74......\uD6D4.. \uBCC0\uC218\uBCC0\uACBD\uACFC \uD654\uBA74 \uBFCC\uB824\uC8FC\uB294\uAC78 \uB3D9\uAE30\uB85C\uD558\uBA74 \uC131\uB2A5\uC774 \uC548\uB098\uC624\uACE0 \uBE44\uD604\uC2E4\uC801\uC774\uB2E4. \uADF8\uB798\uC11C promise\n new Promise<RawSet[]>(async resolve => {\n let rData: RawSet[] = [];\n const firstPathStr = front.slice(1);\n\n // check dictionary\n // console.log('-promise-------', firstPathStr, this)\n const firstTargets = this._rawSets.get(firstPathStr);\n const firstTargetDictionary: RawSet[] = [];\n firstTargets?.forEach(it => {\n // console.log('----forEach---', it);\n const type = (it.point.start as Element)?.getAttribute?.('type');\n if (type === RawSetOperatorType.DR_THIS_PROPERTY) {\n firstTargetDictionary.push(it);\n }\n });\n if (firstTargetDictionary.length > 0) {\n // console.log('ddddddddddd', firstTargetDictionary);\n const rawSets: RawSet[] = [];\n let skip = false;\n firstTargetDictionary.forEach(it => {\n const startElement = it.point.start as Element;\n const keys = startElement.getAttribute(RawSet.DR_HAS_KEYS_OPTIONNAME)?.split(',') ?? [];\n if (value === undefined) {\n const rawSet = it.getHasRawSet(lastPropertyName);\n rawSet?.remove();\n startElement.setAttribute(\n RawSet.DR_HAS_KEYS_OPTIONNAME,\n keys.filter(it => it !== lastPropertyName).join(',')\n );\n }\n if (!keys.includes(lastPropertyName)) {\n const raws = DrThisProperty.append(\n this._domRender_proxy,\n fullPathStr,\n lastPropertyName,\n it,\n this._domRender_config\n );\n if (raws) {\n rawSets.push(...raws);\n }\n } else {\n skip = true;\n }\n });\n if (skip === false || rawSets.length > 0) {\n rData = await this.render(rawSets);\n }\n }\n\n if (lastPropertyName === 'length' && Array.isArray(data)) {\n const aIterable = this._rawSets.get(firstPathStr);\n if (aIterable) {\n rData = await this.render(Array.from(aIterable));\n }\n } else if (iterable) {\n // console.log('------------',iterable, fullPaths)\n rData = await this.render(Array.from(iterable), fullPathStr);\n }\n\n // console.log('-----------', this, lastPropertyName );\n // this._targets.forEach(it => {\n // // return;\n // if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {\n // const targets = eventManager.findAttrElements((it as DocumentFragment | Element), this.config);\n // eventManager.changeVar(this._domRender_proxy, targets, `this.${fullPathStr}`, this.config);\n // }\n // });\n\n const Node = ((this._domRender_config.window as any).Node)\n this._targets.forEach(it => {\n // return;\n if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {\n const targets = this._domRender_config.eventManager.findAttrElements(\n it as DocumentFragment | Element,\n this._domRender_config\n );\n this._domRender_config.eventManager.changeVar(\n this._domRender_proxy,\n targets,\n `this.${fullPathStr}`,\n this._domRender_config\n );\n }\n });\n\n //\uB79C\uB354\uB300\uC0C1\uB41C\uAC8C\uC788\uC73C\uBA74\n if (rData?.length > 0 && isOnChildRenderedByProperty(data)) {\n const propertyValue = ScriptUtils.evaluateReturn(`this.${lastPropertyName}`, data);\n data.onChildRenderedByProperty(lastPropertyName, propertyValue);\n // data\n }\n resolve(rData);\n }).then(it => {\n // console.log('DonrenderProxy root RenderDone')\n });\n }\n fullPaths.push([{ path: fullPathStr, obj: this._domRender_proxy }]);\n }\n\n // console.log('dddddd', fullPaths.flatMap(it=>it).map(it=>it.path))\n return fullPaths;\n }\n\n public set(target: T, p: string | symbol, value: any, receiver: T): boolean {\n // console.log('set------->', target, p, value, receiver, Date.now())\n // console.log('set------->', p,value)\n // console.log('set------->', target, p, value, receiver, Date.now())\n // try {\n // const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, target, p) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n // if (isNoProxy) {\n // return obj;\n // }\n // }catch (e) {}\n\n // console.log('set-->', p, value, target, receiver, Reflect.getMetadata(DomRenderNoProxyKey, target, p) );\n\n if (\n (typeof p === 'string' && p !== '__domrender_components' && excludeGetSetPropertys.includes(p)) ||\n Reflect.getMetadata(DomRenderNoProxyKey, target, p)\n ) {\n (target as any)[p] = value;\n return true;\n }\n // const old = (target as any)[p];\n // console.log('set proxy-->', target, p, value, this._rawSets, this._domRender_ref);\n // if (typeof p === 'string' && '__render' === p) {\n // (target as any)[p] = value;\n // return true;\n // }\n // console.log('set--?', p, target, value);\n\n if (typeof p === 'string') {\n value = this.proxy(receiver, value, p);\n }\n\n // console.log('set typeChecked', (target as any)[p] instanceof ComponentSet, value instanceof ComponentSet);\n // if ((target as any)[p] instanceof ComponentSet) {\n // (target as any)[p]?.obj?.onDrThisUnBind?.();\n // }\n // is ComponentSet\n if (value instanceof ComponentSet && (target as any)[p] instanceof ComponentSet) {\n value.config.beforeComponentSet = (target as any)[p];\n }\n (target as any)[p] = value;\n let fullPathInfo: { path: string; obj: any }[][] = [];\n if (typeof p === 'string') {\n fullPathInfo = this.root([[{ path: p, obj: this._domRender_proxy }]], value);\n }\n\n // console.log('setRooot', fullPathInfo);\n\n //normal attribute \uB610\uD55C \uB9C1\uD06C\uB791 \uAC19\uC740 \uC99D\uC138\uB77C\uC11C \uC774\uB807\uAC8C \uD574\uC918\uC57C\uD55C\uB2E4!!\n // const rootDomRenderProxy = this.findRootDomRenderProxy();\n // console.log('set!!!!!!!', fullPathInfo, rootDomRenderProxy)\n // console.log('--------rootDom',fullPathInfo, rootDomRenderProxy, rootDomRenderProxy._domRender_proxy)\n const rootElement = this._domRender_config.rootElement ?? this._domRender_config.window.document;\n DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.normalAttrMapAttrName)?.forEach(\n elementInfo => {\n // @ts-ignore\n // const optionalPath = ObjectUtils.Path.toOptionalChainPath(elementInfo.value);\n const targets = new Map<string, NormalAttrDataType>(\n ObjectUtils.Script.evaluateReturn<[string, NormalAttrDataType][]>(elementInfo.value)\n );\n Array.from(targets.entries())\n .filter(isDefined)\n .flatMap(([key, valueScript]) => {\n return fullPathInfo\n .flat()\n .filter(it => valueScript.variablePaths?.some(vit=> vit.inner.includes(`this.${it.path}`)))\n .flatMap(it => ({ key, valueScript: valueScript, pathInfo: it }));\n })\n .forEach(it => {\n // const optionalPaths = it.valueScript.variablePaths.map(it => ObjectUtils.Path.toOptionalChainPath(it))\n const variablePaths = it.valueScript.variablePaths;\n let targetScript = it.valueScript.originalAttrValue;\n variablePaths.forEach(it => {\n let r = ObjectUtils.Path.toOptionalChainPath(it.inner);\n targetScript = targetScript.replaceAll(it.origin,`\\${${r}}`);\n })\n const value1 = ObjectUtils.Script.evaluateReturn('`'+targetScript+'`', it.pathInfo.obj);\n // console.log('proxy set!Attribut======', it.key, value1)\n if (value1 === null) {\n elementInfo.element.removeAttribute(it.key);\n elementInfo.element[it.key] = null;\n } else {\n elementInfo.element.setAttribute(it.key, value1);\n elementInfo.element[it.key] = value1;\n }\n });\n }\n );\n\n //\uC5EC\uAE30\uC11C \uB9C1\uD06C \uAC19\uC740\uAC70 \uD574\uC918\uC57C\uD568 *-link\uB85C \uBCC0\uC218\uAC12\uC774 \uBCC0\uACBD\uB418\uBA74 \uADF8\uAC78 \uCC38\uACE0\uD558\uACE0\uC788\uB294 \uB2E4\uB978\uAC83\uB4E4\uC5D0\uB3C4 \uD574\uC918\uC57C\uD55C\uB2E4.\n DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.linkTargetMapAttrName)?.forEach(\n elementInfo => {\n // @ts-ignore\n const targets = new Map<string, string>(ScriptUtils.evaluateReturn<[string, string][]>(elementInfo.value));\n\n Array.from(targets.entries())\n .filter(([key, value]) => value.trim())\n .filter(isDefined)\n .flatMap(([key, valueScript]) => {\n return fullPathInfo\n .flat()\n .filter(it => valueScript.includes(`this.${it.path}`))\n .flatMap(it => ({ key, valueScript: valueScript, pathInfo: it }));\n })\n .forEach(info => {\n const value1 = ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);\n const applyAttributeName = EventManager.linkAttrs.find(it => it.name === info.key);\n if (applyAttributeName) {\n if (value1 === null) {\n elementInfo.element.removeAttribute(applyAttributeName.property);\n } else {\n // console.log('ppppppppppppppppppppppp', applyAttributeName, elementInfo)\n elementInfo.element.setAttribute(applyAttributeName.property, value1);\n }\n }\n });\n\n Array.from(targets.entries())\n .filter(([key, value]) => value.trim())\n .filter(isDefined)\n .flatMap(([key, valueScript]) => {\n return fullPathInfo\n .flat()\n .filter(it => valueScript.includes(`this.${it.path}`))\n .flatMap(it => ({ key, valueScript: valueScript, pathInfo: it }));\n })\n .forEach(info => {\n const linkInfo = EventManager.linkAttrs.find(it => it.name === info.key);\n if (linkInfo) {\n elementInfo.element[linkInfo.property] = value;\n }\n });\n }\n );\n\n // console.log('---end',receiver);\n if (\n 'onBeforeReturnSet' in receiver &&\n typeof p === 'string' &&\n !(this._domRender_config.proxyExcludeOnBeforeReturnSets ?? []).concat(excludeGetSetPropertys).includes(p)\n ) {\n if (isOnBeforeReturnSet(receiver)) {\n receiver.onBeforeReturnSet?.(\n p,\n value,\n fullPathInfo.map(it => it.map(it => it.path).join())\n );\n }\n }\n return true;\n }\n\n get(target: T, p: string | symbol, receiver: any): any {\n // console.log('get-->', target, p, receiver);\n if (p === '_DomRender_origin' || p === '_domRender_origin') {\n return this._domRender_origin;\n } else if (p === '_DomRender_ref' || p === '_domRender_ref') {\n return this._domRender_ref;\n } else if (p === '_DomRender_config' || p === '_domRender_config') {\n return this._domRender_config;\n } else if (p === '_DomRender_proxy' || p === '_domRender_proxy') {\n return this;\n } else {\n // Date\uB77C\uB358\uC9C0 \uC774\uB7F0\uB188\uB4E4\uC740-_-\uD504\uB85D\uC2DC\uAC00 \uC774\uC0C1\uD558\uAC8C \uB3D9\uC791\uD574\uC11C\n // console.log('--->', p, target, target.bind, 'bind' in target)\n // if ((p in target) && ('bind' in target)) {\n // try{\n // return (target as any)[p].bind(target);\n // }catch (e) {\n // console.error(e)\n // }\n // } else {\n // return (target as any)[p]\n // }\n // return (p in target) ? (target as any)[p].bind(target) : (target as any)[p]\n // console.log('-->', p, Object.prototype.toString.call((target as any)[p]), (target as any)[p])\n // return (target as any)[p]\n let it = (target as any)[p];\n if (\n it &&\n typeof it === 'object' &&\n '_DomRender_isProxy' in it &&\n Object.prototype.toString.call(it._DomRender_origin) === '[object Date]'\n ) {\n it = it._DomRender_origin;\n }\n\n if (\n 'onBeforeReturnGet' in receiver &&\n typeof p === 'string' &&\n !(this._domRender_config.proxyExcludeOnBeforeReturnGets ?? []).concat(excludeGetSetPropertys).includes(p)\n ) {\n (receiver as any)?.onBeforeReturnGet?.(\n p,\n it,\n this.root([[{ path: p, obj: this._domRender_proxy }]], it, false)\n );\n }\n return it;\n }\n }\n\n deleteProperty(target: T, p: string | symbol): boolean {\n delete (target as any)[p];\n if (typeof p === 'string') {\n this.root([[{ path: p, obj: this._domRender_proxy }]]);\n }\n return true;\n }\n\n has(target: T, p: string | symbol): boolean {\n return p === '_DomRender_isProxy' || p in target;\n }\n\n proxy(parentProxy: T, obj: T | any, p: string) {\n try {\n // const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, obj, p) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n const isObject = typeof obj === 'object';\n const isNoProxy = isObject && isDomRenderNoProxy(obj, p);\n const isExclude = this._domRender_config.proxyExcludeTyps?.some(it => obj instanceof it) ?? false;\n const isFinal = isObject && DomRenderProxy.isFinal(obj);\n const isFrozen = Object.isFrozen(obj);\n const isShield = obj instanceof Shield;\n if (\n obj === undefined ||\n obj === null ||\n isNoProxy ||\n isExclude ||\n ValidUtils.isNullOrUndefined(obj) ||\n !isObject ||\n isFinal ||\n isFrozen ||\n isShield\n ) {\n return obj;\n }\n } catch (e) {}\n\n /*\n const proxyTarget = (this._domRender_config.proxyExcludeTyps?.filter(it => obj instanceof it) ?? []).length <= 0;\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && !('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {\n const domRender = new DomRenderProxy(obj, undefined, this._domRender_config);\n domRender.addRef(parentProxy, p);\n const proxy = new Proxy(obj, domRender);\n domRender.run(proxy);\n return proxy;\n }\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && ('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {\n const d = (obj as any)._DomRender_proxy as DomRenderProxy<T>;\n d.addRef(this._domRender_proxy!, p);\n return obj;\n } else {\n return obj;\n }\n */\n if (!isWrapProxyDomRenderProxy(obj)) {\n const domRender = new DomRenderProxy(obj, undefined, this._domRender_config);\n domRender.addRef(parentProxy, p);\n const proxy = new Proxy(obj, domRender);\n domRender.run(proxy);\n return proxy;\n }\n if (isWrapProxyDomRenderProxy(obj)) {\n const d = (obj as any)._DomRender_proxy as DomRenderProxy<T>;\n d.addRef(this._domRender_proxy!, p);\n return obj;\n } else {\n return obj;\n }\n }\n\n public addRef(parent: object, path: string) {\n if (!this._domRender_ref.get(parent)) {\n this._domRender_ref.set(parent, new Set<string>());\n }\n this._domRender_ref.get(parent)?.add(path);\n }\n\n public addRawSetAndRender(path: string, rawSet: RawSet) {\n this.addRawSet(path, rawSet);\n this.render([rawSet]);\n }\n\n public addRawSet(path: string, rawSet: RawSet) {\n // console.log('addRawSet--> path:', path, 'rawSet:', rawSet)\n if (!this._rawSets.get(path)) {\n this._rawSets.set(path, new Set<RawSet>());\n }\n this._rawSets.get(path)?.add(rawSet);\n }\n\n // public removeRawSet(...raws: RawSet[]) {\n // this._rawSets.forEach(it => {\n // raws.forEach(sit => it.delete(sit));\n // })\n // this.garbageRawSet();\n // }\n\n public removeRawSet(...raws: RawSet[]) {\n this._rawSets.forEach(it => {\n it.forEach(sit => {\n if (!sit.isConnected) {\n it.delete(sit);\n } else if (raws.includes(sit)) {\n it.delete(sit);\n }\n });\n });\n this.targetGarbageRawSet();\n }\n\n private targetGarbageRawSet() {\n this._targets.forEach(it => {\n if (!it.isConnected) {\n this._targets.delete(it);\n }\n });\n }\n\n private garbageRawSet() {\n this._targets.forEach(it => {\n if (!it.isConnected) {\n this._targets.delete(it);\n }\n });\n\n this._rawSets.forEach(it => {\n it.forEach(sit => {\n if (!sit.isConnected) {\n it.delete(sit);\n }\n });\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["it", "rawSets", "value"]
|
|
7
7
|
}
|
package/dist/esm/bundle-entry.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import * as Core from "@dooboostore/core/bundle-entry";
|
|
3
|
+
import * as CoreWeb from "@dooboostore/core-web/bundle-entry";
|
|
1
4
|
export * from "./DomRender.js";
|
|
2
5
|
export * from "./DomRenderProxy.js";
|
|
3
6
|
export * from "./configs/index.js";
|
|
@@ -6,31 +9,29 @@ export * from "./events/index.js";
|
|
|
6
9
|
export * from "./iterators/index.js";
|
|
7
10
|
export * from "./lifecycle/index.js";
|
|
8
11
|
export * from "./messenger/index.js";
|
|
9
|
-
|
|
12
|
+
export * from "./operators/index.js";
|
|
10
13
|
export * from "./rawsets/index.js";
|
|
11
14
|
export * from "./routers/index.js";
|
|
12
15
|
export * from "./types/index.js";
|
|
13
16
|
export * from "./validators/index.js";
|
|
14
|
-
|
|
17
|
+
import { drComponent, If, This, Appender, PromiseSwitch, Choose, CheckBox, Radio, Select, Timer, Details, Input, Route, RouterOutlet, A } from "./components/index.js";
|
|
15
18
|
export {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
OperatorExecuter,
|
|
34
|
-
OperatorExecuterAttrRequire
|
|
19
|
+
A,
|
|
20
|
+
Appender as AppenderComponent,
|
|
21
|
+
CheckBox,
|
|
22
|
+
Choose,
|
|
23
|
+
Core,
|
|
24
|
+
CoreWeb,
|
|
25
|
+
Details,
|
|
26
|
+
If,
|
|
27
|
+
Input,
|
|
28
|
+
PromiseSwitch,
|
|
29
|
+
Radio,
|
|
30
|
+
Route,
|
|
31
|
+
RouterOutlet,
|
|
32
|
+
Select,
|
|
33
|
+
This,
|
|
34
|
+
Timer,
|
|
35
|
+
drComponent
|
|
35
36
|
};
|
|
36
37
|
//# sourceMappingURL=bundle-entry.js.map
|