@dooboostore/dom-render 1.0.110 → 1.0.112
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 +1 -2
- package/dist/cjs/DomRenderProxy.js +89 -48
- package/dist/cjs/DomRenderProxy.js.map +2 -2
- package/dist/cjs/components/ComponentBase.js +47 -1
- package/dist/cjs/components/ComponentBase.js.map +2 -2
- package/dist/cjs/components/a/A.js +22 -0
- package/dist/cjs/components/a/A.js.map +2 -2
- package/dist/cjs/components/appender/Appender.js +21 -4
- package/dist/cjs/components/appender/Appender.js.map +2 -2
- package/dist/cjs/components/details/Details.js +5 -0
- package/dist/cjs/components/details/Details.js.map +2 -2
- package/dist/cjs/components/forOf/ForOf.js +2 -2
- package/dist/cjs/components/forOf/ForOf.js.map +1 -1
- package/dist/cjs/components/if/If.js +1 -1
- package/dist/cjs/components/if/If.js.map +2 -2
- package/dist/cjs/components/index.js +3 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/components/router/RouterOutlet.js +41 -10
- package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
- package/dist/cjs/components/select/Select.js +39 -1
- package/dist/cjs/components/select/Select.js.map +2 -2
- package/dist/cjs/components/this/This.js +33 -5
- package/dist/cjs/components/this/This.js.map +2 -2
- package/dist/cjs/decorators/DomRenderNoProxy.js +3 -9
- package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
- package/dist/cjs/events/EventManager.js +103 -37
- package/dist/cjs/events/EventManager.js.map +2 -2
- package/dist/cjs/lifecycle/OnChangeAttrRender.js.map +1 -1
- package/dist/cjs/lifecycle/OnChildRawSetRendered.js +26 -0
- package/dist/cjs/lifecycle/OnChildRawSetRendered.js.map +7 -0
- package/dist/cjs/lifecycle/OnRawSetRendered.js.map +2 -2
- package/dist/cjs/operators/Appender.js +8 -1
- package/dist/cjs/operators/Appender.js.map +2 -2
- package/dist/cjs/operators/Dr.js +2 -2
- package/dist/cjs/operators/Dr.js.map +2 -2
- package/dist/cjs/operators/DrAppender.js +2 -2
- package/dist/cjs/operators/DrAppender.js.map +2 -2
- package/dist/cjs/operators/DrFor.js +2 -2
- package/dist/cjs/operators/DrFor.js.map +2 -2
- package/dist/cjs/operators/DrForOf.js +34 -6
- package/dist/cjs/operators/DrForOf.js.map +2 -2
- package/dist/cjs/operators/DrForm.js +6 -6
- package/dist/cjs/operators/DrForm.js.map +2 -2
- package/dist/cjs/operators/DrInnerHTML.js +2 -2
- package/dist/cjs/operators/DrInnerHTML.js.map +2 -2
- package/dist/cjs/operators/DrRepeat.js +2 -2
- package/dist/cjs/operators/DrRepeat.js.map +2 -2
- package/dist/cjs/operators/DrStripElement.js +2 -2
- package/dist/cjs/operators/DrStripElement.js.map +2 -2
- package/dist/cjs/operators/DrTargetElement.js +14 -5
- package/dist/cjs/operators/DrTargetElement.js.map +2 -2
- package/dist/cjs/operators/DrTargetElementIsElement.js +2 -2
- package/dist/cjs/operators/DrTargetElementIsElement.js.map +2 -2
- package/dist/cjs/operators/DrThis.js +2 -2
- package/dist/cjs/operators/DrThis.js.map +2 -2
- package/dist/cjs/operators/DrThisProperty.js +2 -1
- package/dist/cjs/operators/DrThisProperty.js.map +2 -2
- package/dist/cjs/rawsets/RawSet.js +87 -160
- package/dist/cjs/rawsets/RawSet.js.map +2 -2
- package/dist/cjs/routers/HashRouter.js +3 -0
- package/dist/cjs/routers/HashRouter.js.map +2 -2
- package/dist/cjs/routers/PathRouter.js +3 -0
- package/dist/cjs/routers/PathRouter.js.map +2 -2
- package/dist/cjs/routers/Router.js +25 -21
- package/dist/cjs/routers/Router.js.map +2 -2
- package/dist/esm/DomRenderProxy.js +89 -48
- package/dist/esm/DomRenderProxy.js.map +2 -2
- package/dist/esm/components/ComponentBase.js +47 -1
- package/dist/esm/components/ComponentBase.js.map +2 -2
- package/dist/esm/components/a/A.js +22 -0
- package/dist/esm/components/a/A.js.map +2 -2
- package/dist/esm/components/appender/Appender.js +22 -5
- package/dist/esm/components/appender/Appender.js.map +2 -2
- package/dist/esm/components/details/Details.js +5 -0
- package/dist/esm/components/details/Details.js.map +2 -2
- package/dist/esm/components/forOf/ForOf.js +2 -2
- package/dist/esm/components/forOf/ForOf.js.map +1 -1
- package/dist/esm/components/if/If.js +1 -1
- package/dist/esm/components/if/If.js.map +2 -2
- package/dist/esm/components/index.js +3 -1
- package/dist/esm/components/index.js.map +2 -2
- package/dist/esm/components/router/RouterOutlet.js +41 -10
- package/dist/esm/components/router/RouterOutlet.js.map +2 -2
- package/dist/esm/components/select/Select.js +39 -1
- package/dist/esm/components/select/Select.js.map +2 -2
- package/dist/esm/components/this/This.js +33 -5
- package/dist/esm/components/this/This.js.map +2 -2
- package/dist/esm/decorators/DomRenderNoProxy.js +3 -9
- package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
- package/dist/esm/events/EventManager.js +103 -37
- package/dist/esm/events/EventManager.js.map +2 -2
- package/dist/esm/lifecycle/OnChangeAttrRender.js.map +1 -1
- package/dist/esm/lifecycle/OnChildRawSetRendered.js +7 -0
- package/dist/esm/lifecycle/OnChildRawSetRendered.js.map +7 -0
- package/dist/esm/lifecycle/OnRawSetRendered.js.map +2 -2
- package/dist/esm/operators/Appender.js +8 -1
- package/dist/esm/operators/Appender.js.map +2 -2
- package/dist/esm/operators/Dr.js +2 -2
- package/dist/esm/operators/Dr.js.map +2 -2
- package/dist/esm/operators/DrAppender.js +2 -2
- package/dist/esm/operators/DrAppender.js.map +2 -2
- package/dist/esm/operators/DrFor.js +2 -2
- package/dist/esm/operators/DrFor.js.map +2 -2
- package/dist/esm/operators/DrForOf.js +34 -6
- package/dist/esm/operators/DrForOf.js.map +2 -2
- package/dist/esm/operators/DrForm.js +6 -6
- package/dist/esm/operators/DrForm.js.map +2 -2
- package/dist/esm/operators/DrInnerHTML.js +2 -2
- package/dist/esm/operators/DrInnerHTML.js.map +2 -2
- package/dist/esm/operators/DrRepeat.js +2 -2
- package/dist/esm/operators/DrRepeat.js.map +2 -2
- package/dist/esm/operators/DrStripElement.js +2 -2
- package/dist/esm/operators/DrStripElement.js.map +2 -2
- package/dist/esm/operators/DrTargetElement.js +14 -5
- package/dist/esm/operators/DrTargetElement.js.map +2 -2
- package/dist/esm/operators/DrTargetElementIsElement.js +2 -2
- package/dist/esm/operators/DrTargetElementIsElement.js.map +2 -2
- package/dist/esm/operators/DrThis.js +2 -2
- package/dist/esm/operators/DrThis.js.map +2 -2
- package/dist/esm/operators/DrThisProperty.js +2 -1
- package/dist/esm/operators/DrThisProperty.js.map +2 -2
- package/dist/esm/rawsets/RawSet.js +87 -160
- package/dist/esm/rawsets/RawSet.js.map +2 -2
- package/dist/esm/routers/HashRouter.js +3 -0
- package/dist/esm/routers/HashRouter.js.map +2 -2
- package/dist/esm/routers/PathRouter.js +3 -0
- package/dist/esm/routers/PathRouter.js.map +2 -2
- package/dist/esm/routers/Router.js +25 -21
- package/dist/esm/routers/Router.js.map +2 -2
- package/dist/esm-bundle/dooboostore-dom-render.esm.js +830 -1533
- package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
- package/dist/types/DomRenderProxy.d.ts.map +1 -1
- package/dist/types/components/ComponentBase.d.ts +12 -1
- package/dist/types/components/ComponentBase.d.ts.map +1 -1
- package/dist/types/components/a/A.d.ts +6 -0
- package/dist/types/components/a/A.d.ts.map +1 -1
- package/dist/types/components/appender/Appender.d.ts +1 -0
- package/dist/types/components/appender/Appender.d.ts.map +1 -1
- package/dist/types/components/details/Details.d.ts +2 -0
- package/dist/types/components/details/Details.d.ts.map +1 -1
- package/dist/types/components/forOf/ForOf.d.ts +1 -1
- package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
- package/dist/types/components/if/If.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/router/RouterOutlet.d.ts +6 -3
- package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
- package/dist/types/components/select/Select.d.ts +5 -3
- package/dist/types/components/select/Select.d.ts.map +1 -1
- package/dist/types/components/this/This.d.ts +5 -1
- package/dist/types/components/this/This.d.ts.map +1 -1
- package/dist/types/decorators/DomRenderNoProxy.d.ts.map +1 -1
- package/dist/types/events/EventManager.d.ts +1 -0
- package/dist/types/events/EventManager.d.ts.map +1 -1
- package/dist/types/lifecycle/OnChangeAttrRender.d.ts +1 -1
- package/dist/types/lifecycle/OnChangeAttrRender.d.ts.map +1 -1
- package/dist/types/lifecycle/OnChildRawSetRendered.d.ts +9 -0
- package/dist/types/lifecycle/OnChildRawSetRendered.d.ts.map +1 -0
- package/dist/types/lifecycle/OnRawSetRendered.d.ts +2 -0
- package/dist/types/lifecycle/OnRawSetRendered.d.ts.map +1 -1
- package/dist/types/operators/Appender.d.ts +1 -0
- package/dist/types/operators/Appender.d.ts.map +1 -1
- package/dist/types/operators/Dr.d.ts.map +1 -1
- package/dist/types/operators/DrAppender.d.ts.map +1 -1
- package/dist/types/operators/DrFor.d.ts.map +1 -1
- package/dist/types/operators/DrForOf.d.ts.map +1 -1
- package/dist/types/operators/DrForm.d.ts.map +1 -1
- package/dist/types/operators/DrInnerHTML.d.ts.map +1 -1
- package/dist/types/operators/DrRepeat.d.ts.map +1 -1
- package/dist/types/operators/DrStripElement.d.ts.map +1 -1
- package/dist/types/operators/DrTargetElement.d.ts.map +1 -1
- package/dist/types/operators/DrThisProperty.d.ts.map +1 -1
- package/dist/types/rawsets/RawSet.d.ts +4 -1
- package/dist/types/rawsets/RawSet.d.ts.map +1 -1
- package/dist/types/routers/HashRouter.d.ts +1 -0
- package/dist/types/routers/HashRouter.d.ts.map +1 -1
- package/dist/types/routers/PathRouter.d.ts +1 -0
- package/dist/types/routers/PathRouter.d.ts.map +1 -1
- package/dist/types/routers/Router.d.ts +3 -0
- package/dist/types/routers/Router.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-dom-render.umd.js +830 -1533
- package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
- package/package.json +4 -4
- package/src/DomRenderProxy.ts +169 -75
- package/src/DomRenderProxy.ts_cache_back +1031 -0
- package/src/components/ComponentBase.ts +61 -5
- package/src/components/a/A.ts +25 -0
- package/src/components/appender/Appender.ts +3 -3
- package/src/components/details/Details.ts +7 -0
- package/src/components/forOf/ForOf.ts +2 -2
- package/src/components/if/If.ts +3 -2
- package/src/components/index.ts +3 -0
- package/src/components/router/RouterOutlet.ts +60 -22
- package/src/components/select/Select.ts +69 -30
- package/src/components/this/This.ts +41 -6
- package/src/decorators/DomRenderNoProxy.ts +17 -14
- package/src/events/EventManager.ts +180 -77
- package/src/lifecycle/OnChangeAttrRender.ts +1 -1
- package/src/lifecycle/OnChildRawSetRendered.ts +13 -0
- package/src/lifecycle/OnRawSetRendered.ts +3 -1
- package/src/operators/Appender.ts +8 -1
- package/src/operators/Dr.ts +2 -1
- package/src/operators/DrAppender.ts +2 -1
- package/src/operators/DrFor.ts +2 -1
- package/src/operators/DrForOf.ts +36 -6
- package/src/operators/DrForm.ts +6 -5
- package/src/operators/DrInnerHTML.ts +2 -1
- package/src/operators/DrRepeat.ts +2 -1
- package/src/operators/DrStripElement.ts +2 -1
- package/src/operators/DrTargetElement.ts +17 -5
- package/src/operators/DrTargetElementIsElement.ts +2 -2
- package/src/operators/DrThis.ts +2 -2
- package/src/operators/DrThisProperty.ts +2 -1
- package/src/rawsets/RawSet.ts +161 -237
- package/src/routers/HashRouter.ts +4 -0
- package/src/routers/PathRouter.ts +5 -0
- package/src/routers/Router.ts +64 -47
- package/src/node_modules/.bin/acorn +0 -17
- package/src/node_modules/.bin/browserslist +0 -17
- package/src/node_modules/.bin/eslint +0 -17
- package/src/node_modules/.bin/sbf +0 -17
- package/src/node_modules/.bin/ts-node +0 -17
- package/src/node_modules/.bin/ts-node-cwd +0 -17
- package/src/node_modules/.bin/ts-node-dev +0 -17
- package/src/node_modules/.bin/ts-node-esm +0 -17
- package/src/node_modules/.bin/ts-node-script +0 -17
- package/src/node_modules/.bin/ts-node-transpile-only +0 -17
- package/src/node_modules/.bin/ts-script +0 -17
- package/src/node_modules/.bin/tsc +0 -17
- package/src/node_modules/.bin/tsnd +0 -17
- package/src/node_modules/.bin/tsserver +0 -17
- package/src/node_modules/.bin/webpack +0 -17
- package/src/node_modules/.bin/webpack-cli +0 -17
- package/src/node_modules/.bin/webpack-dev-server +0 -17
|
@@ -119,10 +119,49 @@ const _RawSet = class _RawSet {
|
|
|
119
119
|
});
|
|
120
120
|
return usingTriggerVariables;
|
|
121
121
|
}
|
|
122
|
-
// 중요 render 처리 부분
|
|
123
|
-
// public async render(obj: any, config: DomRenderConfig): Promise<RawSet[]> {
|
|
124
|
-
// }
|
|
125
122
|
async render(obj, config) {
|
|
123
|
+
if (this.dataSet.fragment.childNodes.length === 1 && this.dataSet.fragment.childNodes[0].nodeType === Node.TEXT_NODE) {
|
|
124
|
+
const textContent = this.dataSet.fragment.childNodes[0].textContent;
|
|
125
|
+
if (textContent) {
|
|
126
|
+
const runText = _RawSet.expressionGroups(textContent)[0][1];
|
|
127
|
+
const __render = {
|
|
128
|
+
rawSet: this,
|
|
129
|
+
scripts: EventManager.setBindProperty(config?.scripts, obj),
|
|
130
|
+
router: config?.router,
|
|
131
|
+
range: Range.range,
|
|
132
|
+
element: this.dataSet.fragment.childNodes[0],
|
|
133
|
+
attribute: {},
|
|
134
|
+
rootObject: obj,
|
|
135
|
+
scriptUtils: ObjectUtils.Script,
|
|
136
|
+
nearThis: this.findNearThis(obj),
|
|
137
|
+
parentThis: this.findParentThis(obj),
|
|
138
|
+
bindScript: ` /** render **/
|
|
139
|
+
const ${EventManager.SCRIPTS_VARNAME} = this.__render.scripts;
|
|
140
|
+
const ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;
|
|
141
|
+
const ${EventManager.ELEMENT_VARNAME} = this.__render.element;
|
|
142
|
+
const ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute;
|
|
143
|
+
const ${EventManager.RANGE_VARNAME} = this.__render.range;
|
|
144
|
+
const ${EventManager.ROUTER_VARNAME} = this.__render.router;
|
|
145
|
+
const ${EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis;
|
|
146
|
+
const ${EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis;
|
|
147
|
+
const ${EventManager.SCRIPT_UTILS_VARNAME} = this.__render.scriptUtils;
|
|
148
|
+
const ${EventManager.ROOT_OBJECT_VARNAME} = this.__render.rootObject;
|
|
149
|
+
`
|
|
150
|
+
};
|
|
151
|
+
try {
|
|
152
|
+
const newValue = ObjectUtils.Script.evaluateReturn({
|
|
153
|
+
bodyScript: __render.bindScript,
|
|
154
|
+
returnScript: runText
|
|
155
|
+
}, Object.assign(obj, { __render }));
|
|
156
|
+
const newValueStr = String(newValue);
|
|
157
|
+
if (this.lastRenderedValue === newValueStr) {
|
|
158
|
+
return { raws: [], executedOperators: [] };
|
|
159
|
+
}
|
|
160
|
+
this.lastRenderedValue = newValueStr;
|
|
161
|
+
} catch (e) {
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
126
165
|
const genNode = config.window.document.importNode(this.dataSet.fragment, true);
|
|
127
166
|
const raws = [];
|
|
128
167
|
const onAttrInitCallBacks = [];
|
|
@@ -165,18 +204,15 @@ const _RawSet = class _RawSet {
|
|
|
165
204
|
const runText = _RawSet.expressionGroups(textContent)[0][1];
|
|
166
205
|
let newNode;
|
|
167
206
|
if (textContent?.startsWith("#")) {
|
|
168
|
-
const r = ObjectUtils.Script.
|
|
169
|
-
|
|
207
|
+
const r = ObjectUtils.Script.evaluateReturn(
|
|
208
|
+
{ bodyScript: __render.bindScript, returnScript: runText },
|
|
170
209
|
Object.assign(obj, { __render })
|
|
171
210
|
);
|
|
172
211
|
const template = config.window.document.createElement("template");
|
|
173
212
|
template.innerHTML = r;
|
|
174
213
|
newNode = template.content;
|
|
175
214
|
} else {
|
|
176
|
-
const r = ObjectUtils.Script.
|
|
177
|
-
`${__render.bindScript} return ${runText}`,
|
|
178
|
-
Object.assign(obj, { __render })
|
|
179
|
-
);
|
|
215
|
+
const r = ObjectUtils.Script.evaluateReturn({ bodyScript: __render.bindScript, returnScript: runText }, Object.assign(obj, { __render }));
|
|
180
216
|
newNode = config.window.document.createTextNode(r);
|
|
181
217
|
}
|
|
182
218
|
cNode.parentNode?.replaceChild(newNode, cNode);
|
|
@@ -215,140 +251,23 @@ const _RawSet = class _RawSet {
|
|
|
215
251
|
};
|
|
216
252
|
drAttrs.push(drAttr);
|
|
217
253
|
const operators = [
|
|
218
|
-
new DrPre(
|
|
219
|
-
|
|
220
|
-
__render,
|
|
221
|
-
{ raws, fag },
|
|
222
|
-
{ element, attrName: _RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr },
|
|
223
|
-
{ config, obj, operatorAround: config.operatorAround?.drPre },
|
|
224
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
225
|
-
),
|
|
226
|
-
new Dr(
|
|
227
|
-
this,
|
|
228
|
-
__render,
|
|
229
|
-
{ raws, fag },
|
|
230
|
-
{ element, attrName: _RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr },
|
|
231
|
-
{ config, obj, operatorAround: config.operatorAround?.dr },
|
|
232
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
233
|
-
),
|
|
254
|
+
new DrPre(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drPre }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
255
|
+
new Dr(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.dr }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
234
256
|
// new Dr(this, __render, {raws, fag}, {element, attrName: EventManager.onRenderedInitAttrName, attr: drAttr.dr, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.dr}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),
|
|
235
|
-
new DrIf(
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
),
|
|
243
|
-
new
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
250
|
-
),
|
|
251
|
-
new DrThis(
|
|
252
|
-
this,
|
|
253
|
-
__render,
|
|
254
|
-
{ raws, fag },
|
|
255
|
-
{ element, attrName: _RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr },
|
|
256
|
-
{ config, obj, operatorAround: config.operatorAround?.drThis },
|
|
257
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
258
|
-
),
|
|
259
|
-
new DrForm(
|
|
260
|
-
this,
|
|
261
|
-
__render,
|
|
262
|
-
{ raws, fag },
|
|
263
|
-
{ element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr },
|
|
264
|
-
{ config, obj, operatorAround: config.operatorAround?.drForm },
|
|
265
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
266
|
-
),
|
|
267
|
-
new DrInnerText(
|
|
268
|
-
this,
|
|
269
|
-
__render,
|
|
270
|
-
{ raws, fag },
|
|
271
|
-
{ element, attrName: _RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr },
|
|
272
|
-
{ config, obj, operatorAround: config.operatorAround?.drInnerText },
|
|
273
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
274
|
-
),
|
|
275
|
-
new DrInnerHTML(
|
|
276
|
-
this,
|
|
277
|
-
__render,
|
|
278
|
-
{ raws, fag },
|
|
279
|
-
{ element, attrName: _RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr },
|
|
280
|
-
{ config, obj, operatorAround: config.operatorAround?.drInnerHTML },
|
|
281
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
282
|
-
),
|
|
283
|
-
new DrFor(
|
|
284
|
-
this,
|
|
285
|
-
__render,
|
|
286
|
-
{ raws, fag },
|
|
287
|
-
{ element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr },
|
|
288
|
-
{ config, obj, operatorAround: config.operatorAround?.drFor },
|
|
289
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
290
|
-
),
|
|
291
|
-
new DrForOf(
|
|
292
|
-
this,
|
|
293
|
-
__render,
|
|
294
|
-
{ raws, fag },
|
|
295
|
-
{ element, attrName: _RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr },
|
|
296
|
-
{ config, obj, operatorAround: config.operatorAround?.drForOf },
|
|
297
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
298
|
-
),
|
|
299
|
-
new DrThisProperty(
|
|
300
|
-
this,
|
|
301
|
-
__render,
|
|
302
|
-
{ raws, fag },
|
|
303
|
-
{ element, attrName: _RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr },
|
|
304
|
-
{ config, obj, operatorAround: config.operatorAround?.drThisProperty },
|
|
305
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
306
|
-
),
|
|
307
|
-
new DrAppender(
|
|
308
|
-
this,
|
|
309
|
-
__render,
|
|
310
|
-
{ raws, fag },
|
|
311
|
-
{ element, attrName: _RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr },
|
|
312
|
-
{ config, obj, operatorAround: config.operatorAround?.drAppender },
|
|
313
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
314
|
-
),
|
|
315
|
-
new DrRepeat(
|
|
316
|
-
this,
|
|
317
|
-
__render,
|
|
318
|
-
{ raws, fag },
|
|
319
|
-
{ element, attrName: _RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr },
|
|
320
|
-
{ config, obj, operatorAround: config.operatorAround?.drRepeat },
|
|
321
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
322
|
-
),
|
|
323
|
-
new DrTargetElementIsElement(
|
|
324
|
-
this,
|
|
325
|
-
__render,
|
|
326
|
-
{ raws, fag },
|
|
327
|
-
{
|
|
328
|
-
element,
|
|
329
|
-
attrName: _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME,
|
|
330
|
-
attr: drAttr.drReplaceTargetElementIs,
|
|
331
|
-
attrs: drAttr
|
|
332
|
-
},
|
|
333
|
-
{ config, obj },
|
|
334
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
335
|
-
),
|
|
336
|
-
new DrTargetElement(
|
|
337
|
-
this,
|
|
338
|
-
__render,
|
|
339
|
-
{ raws, fag },
|
|
340
|
-
{ element, attrs: drAttr },
|
|
341
|
-
{ config, obj },
|
|
342
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
343
|
-
),
|
|
344
|
-
new DrTargetAttr(
|
|
345
|
-
this,
|
|
346
|
-
__render,
|
|
347
|
-
{ raws, fag },
|
|
348
|
-
{ element, attrs: drAttr },
|
|
349
|
-
{ config, obj },
|
|
350
|
-
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
351
|
-
)
|
|
257
|
+
new DrIf(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drIf }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
258
|
+
new DrStripElement(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_STRIP_NAME, attr: drAttr.drStripElement, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThis }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
259
|
+
new DrThis(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThis }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
260
|
+
new DrForm(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drForm }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
261
|
+
new DrInnerText(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drInnerText }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
262
|
+
new DrInnerHTML(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drInnerHTML }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
263
|
+
new DrFor(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drFor }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
264
|
+
new DrForOf(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drForOf }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
265
|
+
new DrThisProperty(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThisProperty }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
266
|
+
new DrAppender(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drAppender }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
267
|
+
new DrRepeat(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drRepeat }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
268
|
+
new DrTargetElementIsElement(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME, attr: drAttr.drReplaceTargetElementIs, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
269
|
+
new DrTargetElement(this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
|
|
270
|
+
new DrTargetAttr(this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks })
|
|
352
271
|
];
|
|
353
272
|
for (const operator of operators) {
|
|
354
273
|
const state = await operator.start();
|
|
@@ -411,6 +330,7 @@ const _RawSet = class _RawSet {
|
|
|
411
330
|
}
|
|
412
331
|
});
|
|
413
332
|
}
|
|
333
|
+
console.groupEnd();
|
|
414
334
|
return { raws, executedOperators };
|
|
415
335
|
}
|
|
416
336
|
// 중요 스타일 적용 부분
|
|
@@ -529,7 +449,7 @@ const _RawSet = class _RawSet {
|
|
|
529
449
|
}
|
|
530
450
|
if (element2.hasAttribute(EventManager.attrAttrName)) {
|
|
531
451
|
const script = element2.getAttribute(EventManager.attrAttrName) ?? "";
|
|
532
|
-
const keyValuePairs = Array.from(script.matchAll(/(\w+)
|
|
452
|
+
const keyValuePairs = Array.from(script.matchAll(/['"]?([\w-_]+)['"]?:\s*([^,}]+)/g)).map((match) => ({
|
|
533
453
|
key: match[1],
|
|
534
454
|
value: match[2]
|
|
535
455
|
}));
|
|
@@ -539,20 +459,22 @@ const _RawSet = class _RawSet {
|
|
|
539
459
|
}
|
|
540
460
|
const targetElementIs = element2.getAttribute(_RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);
|
|
541
461
|
const targetElementNames = config.targetElements?.map((it) => it.name.toLowerCase()) ?? [];
|
|
462
|
+
targetElementNames.push(..._RawSet.DR_ELEMENTS);
|
|
542
463
|
const isElement = targetElementNames.includes(element2.tagName.toLowerCase()) || targetElementNames.includes(targetElementIs?.toLowerCase());
|
|
543
464
|
const targetAttrNames = (config.targetAttrs?.map((it) => it.name) ?? []).concat([..._RawSet.DR_ATTRIBUTES]);
|
|
544
465
|
const normalAttrs = /* @__PURE__ */ new Map();
|
|
545
466
|
const linkVariables = /* @__PURE__ */ new Map();
|
|
546
467
|
const linkNames = EventManager.linkAttrs.map((it) => it.name);
|
|
547
468
|
const isAttr = element2.getAttributeNames().filter((it) => !EventManager.noDetectAttr.includes(it)).filter((it) => {
|
|
548
|
-
const value = element2.getAttribute(it);
|
|
469
|
+
const value = element2.getAttribute(it)?.trim();
|
|
549
470
|
if (value && linkNames.includes(it)) {
|
|
550
471
|
linkVariables.set(it, value);
|
|
551
472
|
} else if (value && _RawSet.isExpression(value)) {
|
|
552
473
|
const variablePaths = _RawSet.expressionGroups(value).map((it2) => ({
|
|
553
|
-
origin: it2[0],
|
|
554
|
-
inner: it2[1]
|
|
474
|
+
origin: it2[0].trim(),
|
|
475
|
+
inner: it2[1].trim()
|
|
555
476
|
}));
|
|
477
|
+
const isStringTemplate = variablePaths.length > 1 || variablePaths[0] && variablePaths[0].origin !== value;
|
|
556
478
|
let targetScript = value;
|
|
557
479
|
variablePaths.forEach((it2) => {
|
|
558
480
|
let r3 = it2.inner.replace(/#[^#]*#/g, "({})");
|
|
@@ -565,7 +487,7 @@ const _RawSet = class _RawSet {
|
|
|
565
487
|
} else {
|
|
566
488
|
element2.setAttribute(it, cval);
|
|
567
489
|
}
|
|
568
|
-
normalAttrs.set(it, { originalAttrValue: value, variablePaths });
|
|
490
|
+
normalAttrs.set(it, { originalAttrValue: value, variablePaths, isStringTemplate });
|
|
569
491
|
}
|
|
570
492
|
const isTargetAttr = targetAttrNames.includes(it.toLowerCase());
|
|
571
493
|
return isTargetAttr;
|
|
@@ -636,7 +558,8 @@ const _RawSet = class _RawSet {
|
|
|
636
558
|
lasterIndex = regexArr.index + it.content.length;
|
|
637
559
|
}
|
|
638
560
|
template.content.append(config.window.document.createTextNode(text.substring(lasterIndex, text.length)));
|
|
639
|
-
currentNode2?.parentNode
|
|
561
|
+
const p = currentNode2?.parentNode;
|
|
562
|
+
p?.replaceChild(template.content, currentNode2);
|
|
640
563
|
} else if (currentNode2.nodeType === Node2.ELEMENT_NODE) {
|
|
641
564
|
const uuid = `${RandomUtils.alphabet(40)}`;
|
|
642
565
|
const element2 = currentNode2;
|
|
@@ -645,6 +568,7 @@ const _RawSet = class _RawSet {
|
|
|
645
568
|
const startEndPoint = _RawSet.createStartEndPoint({ node: element2, id: uuid, type: elementType }, config);
|
|
646
569
|
const targetElementIs = element2.getAttribute(_RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);
|
|
647
570
|
const targetElementNames = config.targetElements?.map((it) => it.name.toLowerCase()) ?? [];
|
|
571
|
+
targetElementNames.push(..._RawSet.DR_ELEMENTS);
|
|
648
572
|
const isElement = targetElementNames.includes(element2.tagName.toLowerCase()) || targetElementNames.includes(targetElementIs?.toLowerCase());
|
|
649
573
|
const targetAttrNames = (config.targetAttrs?.map((it) => it.name) ?? []).concat(_RawSet.DR_ATTRIBUTES);
|
|
650
574
|
const isAttr = element2.getAttributeNames().filter((it) => targetAttrNames.includes(it.toLowerCase())).length > 0;
|
|
@@ -1007,9 +931,11 @@ const _RawSet = class _RawSet {
|
|
|
1007
931
|
if (templateReplacements.length > 0) {
|
|
1008
932
|
targetElement.innerHTML = StringUtils.replaceSequentially(targetElement.innerHTML, templateReplacements);
|
|
1009
933
|
}
|
|
934
|
+
const componentName = targetElement.getAttribute(_RawSet.DR_VARIABLE_NAME_OPTIONNAME) ?? "component";
|
|
1010
935
|
const optionThisName = targetElement.getAttribute(_RawSet.DR_THIS_NAME_OPTIONNAME);
|
|
1011
936
|
targetElement.getAttributeNames().forEach((it) => targetElement.setAttribute(it, targetElement.getAttribute(it).replace(/#this#/g, drThis)));
|
|
1012
937
|
const thisRandom = this.drThisEncoding(targetElement, drThis, { asIs: /@this@/g });
|
|
938
|
+
targetElement.innerHTML = targetElement.innerHTML.replaceAll(`#${componentName}#`, drThis);
|
|
1013
939
|
if (optionThisName) {
|
|
1014
940
|
targetElement.innerHTML = targetElement.innerHTML.replaceAll(`@${optionThisName}@`, drThis);
|
|
1015
941
|
}
|
|
@@ -1183,7 +1109,8 @@ const _RawSet = class _RawSet {
|
|
|
1183
1109
|
);
|
|
1184
1110
|
if (data && innerHTMLThisRandom) {
|
|
1185
1111
|
const template2 = config.window.document.createElement("template");
|
|
1186
|
-
|
|
1112
|
+
let s = ElementUtils.toInnerHTML(data, { document: config.window.document });
|
|
1113
|
+
template2.innerHTML = s.replace(RegExp(innerHTMLThisRandom, "g"), "this.");
|
|
1187
1114
|
;
|
|
1188
1115
|
data = template2.content;
|
|
1189
1116
|
}
|
|
@@ -1223,22 +1150,17 @@ const _RawSet = class _RawSet {
|
|
|
1223
1150
|
new Map(JSON.parse(normalAttribute)).forEach((v, k) => {
|
|
1224
1151
|
const variablePaths = v.variablePaths;
|
|
1225
1152
|
let targetScript = v.originalAttrValue.trim();
|
|
1226
|
-
|
|
1227
|
-
variablePaths.forEach((it) => {
|
|
1228
|
-
checktargetScript = targetScript.replaceAll(it.origin, "");
|
|
1229
|
-
});
|
|
1230
|
-
let isScriptValue = checktargetScript.length === 0 && variablePaths.length === 1;
|
|
1231
|
-
if (isScriptValue) {
|
|
1232
|
-
let r = ObjectUtils.Path.toOptionalChainPath(variablePaths[0].inner);
|
|
1233
|
-
targetScript = targetScript.replaceAll(variablePaths[0].origin, r);
|
|
1234
|
-
} else {
|
|
1153
|
+
if (v.isStringTemplate) {
|
|
1235
1154
|
variablePaths.forEach((it) => {
|
|
1236
1155
|
let r = ObjectUtils.Path.toOptionalChainPath(it.inner);
|
|
1237
1156
|
targetScript = targetScript.replaceAll(it.origin, `\${${r}}`);
|
|
1238
1157
|
});
|
|
1158
|
+
} else {
|
|
1159
|
+
let r = ObjectUtils.Path.toOptionalChainPath(variablePaths[0].inner);
|
|
1160
|
+
targetScript = targetScript.replaceAll(variablePaths[0].origin, r);
|
|
1239
1161
|
}
|
|
1240
1162
|
const cval = ObjectUtils.Script.evaluateReturn(
|
|
1241
|
-
{ bodyScript: config.script, returnScript:
|
|
1163
|
+
{ bodyScript: config.script, returnScript: v.isStringTemplate ? "`" + targetScript + "`" : targetScript },
|
|
1242
1164
|
Object.assign(config.obj, config.renderData ? { __render: config.renderData } : void 0)
|
|
1243
1165
|
);
|
|
1244
1166
|
attribute[k] = cval;
|
|
@@ -1262,6 +1184,8 @@ _RawSet.DR_INNERTEXT_NAME = "dr-inner-text";
|
|
|
1262
1184
|
_RawSet.DR_DETECT_NAME = "dr-detect";
|
|
1263
1185
|
_RawSet.DR_STRIP_NAME = "dr-strip";
|
|
1264
1186
|
_RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME = "dr-replace-target-element-is";
|
|
1187
|
+
// elementName
|
|
1188
|
+
_RawSet.DR_TARGET_ELEMENT_ELEMENTNAME = "dr-target-element";
|
|
1265
1189
|
// 감지처리되는 옵션
|
|
1266
1190
|
_RawSet.DR_DETECT_IF_OPTIONNAME = "dr-detect-option-if";
|
|
1267
1191
|
_RawSet.DR_DETECT_FILTER_OPTIONNAME = "dr-detect-option-filter";
|
|
@@ -1328,6 +1252,9 @@ _RawSet.DR_TAGS = [];
|
|
|
1328
1252
|
// public static readonly DR_REPLACE_ACTION_ATTRIBUTES = [
|
|
1329
1253
|
// RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME
|
|
1330
1254
|
// ]
|
|
1255
|
+
_RawSet.DR_ELEMENTS = [
|
|
1256
|
+
_RawSet.DR_TARGET_ELEMENT_ELEMENTNAME
|
|
1257
|
+
];
|
|
1331
1258
|
_RawSet.DR_ATTRIBUTES = [
|
|
1332
1259
|
_RawSet.DR_NAME,
|
|
1333
1260
|
_RawSet.DR_APPENDER_NAME,
|
|
@@ -1341,7 +1268,7 @@ _RawSet.DR_ATTRIBUTES = [
|
|
|
1341
1268
|
_RawSet.DR_INNERHTML_NAME,
|
|
1342
1269
|
_RawSet.DR_INNERTEXT_NAME,
|
|
1343
1270
|
_RawSet.DR_REPEAT_NAME,
|
|
1344
|
-
|
|
1271
|
+
// RawSet.DR_DETECT_NAME, // TODO: DrDetect 오퍼레이터 구현 필요
|
|
1345
1272
|
_RawSet.DR_STRIP_NAME
|
|
1346
1273
|
];
|
|
1347
1274
|
let RawSet = _RawSet;
|