@dooboostore/dom-render 1.0.109 → 1.0.110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/DomRenderProxy.js +122 -57
- package/dist/cjs/DomRenderProxy.js.map +2 -2
- package/dist/cjs/components/ComponentBase.js +4 -4
- package/dist/cjs/components/ComponentBase.js.map +2 -2
- package/dist/cjs/components/appender/Appender.js +0 -3
- package/dist/cjs/components/appender/Appender.js.map +2 -2
- package/dist/cjs/components/checkbox/CheckBox.js.map +2 -2
- package/dist/cjs/components/choose/Choose.js +3 -1
- package/dist/cjs/components/choose/Choose.js.map +2 -2
- package/dist/cjs/components/details/Details.js +2 -2
- package/dist/cjs/components/details/Details.js.map +2 -2
- package/dist/cjs/components/forOf/ForOf.js.map +2 -2
- package/dist/cjs/components/if/If.js +2 -2
- package/dist/cjs/components/if/If.js.map +2 -2
- package/dist/cjs/components/input/Input.js +2 -2
- package/dist/cjs/components/input/Input.js.map +2 -2
- package/dist/cjs/components/promise/PromiseSwitch.js +6 -6
- package/dist/cjs/components/promise/PromiseSwitch.js.map +2 -2
- package/dist/cjs/components/radio/Radio.js.map +2 -2
- package/dist/cjs/components/router/Route.js +2 -2
- package/dist/cjs/components/router/Route.js.map +2 -2
- package/dist/cjs/components/router/RouterOutlet.js +2 -2
- package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
- package/dist/cjs/components/select/Select.js +6 -6
- package/dist/cjs/components/select/Select.js.map +2 -2
- package/dist/cjs/components/this/This.js +2 -2
- package/dist/cjs/components/this/This.js.map +2 -2
- package/dist/cjs/components/timer/Timer.js +2 -3
- package/dist/cjs/components/timer/Timer.js.map +2 -2
- package/dist/cjs/events/EventManager.js +9 -2
- package/dist/cjs/events/EventManager.js.map +2 -2
- package/dist/cjs/lifecycle/OnInitRender.js.map +1 -1
- package/dist/cjs/operators/DrForOf.js +24 -11
- package/dist/cjs/operators/DrForOf.js.map +2 -2
- package/dist/cjs/operators/DrIf.js +1 -2
- package/dist/cjs/operators/DrIf.js.map +2 -2
- package/dist/cjs/operators/DrInnerText.js +2 -2
- package/dist/cjs/operators/DrInnerText.js.map +2 -2
- package/dist/cjs/rawsets/RawSet.js +243 -46
- package/dist/cjs/rawsets/RawSet.js.map +3 -3
- package/dist/cjs/routers/PathRouter.js +13 -7
- package/dist/cjs/routers/PathRouter.js.map +2 -2
- package/dist/cjs/routers/Router.js +51 -27
- package/dist/cjs/routers/Router.js.map +2 -2
- package/dist/esm/DomRenderProxy.js +122 -57
- package/dist/esm/DomRenderProxy.js.map +2 -2
- package/dist/esm/components/ComponentBase.js +4 -4
- package/dist/esm/components/ComponentBase.js.map +2 -2
- package/dist/esm/components/appender/Appender.js +0 -3
- package/dist/esm/components/appender/Appender.js.map +2 -2
- package/dist/esm/components/checkbox/CheckBox.js.map +2 -2
- package/dist/esm/components/choose/Choose.js +3 -1
- package/dist/esm/components/choose/Choose.js.map +2 -2
- package/dist/esm/components/details/Details.js +2 -2
- package/dist/esm/components/details/Details.js.map +2 -2
- package/dist/esm/components/forOf/ForOf.js.map +2 -2
- package/dist/esm/components/if/If.js +2 -2
- package/dist/esm/components/if/If.js.map +2 -2
- package/dist/esm/components/input/Input.js +2 -2
- package/dist/esm/components/input/Input.js.map +2 -2
- package/dist/esm/components/promise/PromiseSwitch.js +6 -6
- package/dist/esm/components/promise/PromiseSwitch.js.map +2 -2
- package/dist/esm/components/radio/Radio.js.map +2 -2
- package/dist/esm/components/router/Route.js +2 -2
- package/dist/esm/components/router/Route.js.map +2 -2
- package/dist/esm/components/router/RouterOutlet.js +2 -2
- package/dist/esm/components/router/RouterOutlet.js.map +2 -2
- package/dist/esm/components/select/Select.js +6 -6
- package/dist/esm/components/select/Select.js.map +2 -2
- package/dist/esm/components/this/This.js +2 -2
- package/dist/esm/components/this/This.js.map +2 -2
- package/dist/esm/components/timer/Timer.js +2 -3
- package/dist/esm/components/timer/Timer.js.map +2 -2
- package/dist/esm/events/EventManager.js +9 -2
- package/dist/esm/events/EventManager.js.map +2 -2
- package/dist/esm/lifecycle/OnInitRender.js.map +1 -1
- package/dist/esm/operators/DrForOf.js +24 -11
- package/dist/esm/operators/DrForOf.js.map +2 -2
- package/dist/esm/operators/DrIf.js +1 -2
- package/dist/esm/operators/DrIf.js.map +2 -2
- package/dist/esm/operators/DrInnerText.js +2 -2
- package/dist/esm/operators/DrInnerText.js.map +2 -2
- package/dist/esm/rawsets/RawSet.js +243 -46
- package/dist/esm/rawsets/RawSet.js.map +3 -3
- package/dist/esm/routers/PathRouter.js +13 -7
- package/dist/esm/routers/PathRouter.js.map +2 -2
- package/dist/esm/routers/Router.js +51 -27
- package/dist/esm/routers/Router.js.map +2 -2
- package/dist/esm-bundle/dooboostore-dom-render.esm.js +1850 -319
- package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
- package/dist/types/DomRenderProxy.d.ts +2 -2
- package/dist/types/DomRenderProxy.d.ts.map +1 -1
- package/dist/types/components/ComponentBase.d.ts +1 -1
- package/dist/types/components/ComponentBase.d.ts.map +1 -1
- package/dist/types/components/appender/Appender.d.ts +0 -2
- package/dist/types/components/appender/Appender.d.ts.map +1 -1
- package/dist/types/components/checkbox/CheckBox.d.ts.map +1 -1
- package/dist/types/components/choose/Choose.d.ts.map +1 -1
- package/dist/types/components/details/Details.d.ts +1 -1
- package/dist/types/components/details/Details.d.ts.map +1 -1
- package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
- package/dist/types/components/if/If.d.ts +1 -1
- package/dist/types/components/if/If.d.ts.map +1 -1
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/input/Input.d.ts +1 -1
- package/dist/types/components/input/Input.d.ts.map +1 -1
- package/dist/types/components/promise/PromiseSwitch.d.ts +1 -1
- package/dist/types/components/promise/PromiseSwitch.d.ts.map +1 -1
- package/dist/types/components/radio/Radio.d.ts.map +1 -1
- package/dist/types/components/router/Route.d.ts +1 -1
- package/dist/types/components/router/Route.d.ts.map +1 -1
- package/dist/types/components/router/RouterOutlet.d.ts +1 -1
- package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
- package/dist/types/components/select/Select.d.ts +3 -3
- package/dist/types/components/select/Select.d.ts.map +1 -1
- package/dist/types/components/this/This.d.ts +1 -1
- package/dist/types/components/this/This.d.ts.map +1 -1
- package/dist/types/components/timer/Timer.d.ts +1 -1
- package/dist/types/components/timer/Timer.d.ts.map +1 -1
- package/dist/types/events/EventManager.d.ts +8 -0
- package/dist/types/events/EventManager.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -101
- package/dist/types/lifecycle/OnInitRender.d.ts +1 -1
- package/dist/types/lifecycle/OnInitRender.d.ts.map +1 -1
- package/dist/types/operators/DrForOf.d.ts.map +1 -1
- package/dist/types/operators/DrInnerText.d.ts.map +1 -1
- package/dist/types/rawsets/RawSet.d.ts +6 -5
- package/dist/types/rawsets/RawSet.d.ts.map +1 -1
- package/dist/types/routers/PathRouter.d.ts.map +1 -1
- package/dist/types/routers/Router.d.ts +9 -11
- package/dist/types/routers/Router.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-dom-render.umd.js +1850 -319
- package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
- package/package.json +7 -7
- package/src/DomRenderProxy.ts +258 -137
- package/src/components/ComponentBase.ts +4 -4
- package/src/components/appender/Appender.ts +0 -5
- package/src/components/checkbox/CheckBox.ts +22 -25
- package/src/components/choose/Choose.ts +16 -19
- package/src/components/details/Details.ts +40 -43
- package/src/components/forOf/ForOf.ts +6 -9
- package/src/components/if/If.ts +9 -11
- package/src/components/input/Input.ts +16 -22
- package/src/components/promise/PromiseSwitch.ts +67 -66
- package/src/components/radio/Radio.ts +23 -28
- package/src/components/router/Route.ts +10 -13
- package/src/components/router/RouterOutlet.ts +5 -4
- package/src/components/select/Select.ts +7 -7
- package/src/components/this/This.ts +13 -12
- package/src/components/timer/Timer.ts +12 -16
- package/src/events/EventManager.ts +15 -4
- package/src/lifecycle/OnInitRender.ts +1 -1
- package/src/node_modules/.bin/acorn +17 -0
- package/src/node_modules/.bin/browserslist +17 -0
- package/src/node_modules/.bin/eslint +17 -0
- package/src/node_modules/.bin/sbf +17 -0
- package/src/node_modules/.bin/ts-node +17 -0
- package/src/node_modules/.bin/ts-node-cwd +17 -0
- package/src/node_modules/.bin/ts-node-dev +17 -0
- package/src/node_modules/.bin/ts-node-esm +17 -0
- package/src/node_modules/.bin/ts-node-script +17 -0
- package/src/node_modules/.bin/ts-node-transpile-only +17 -0
- package/src/node_modules/.bin/ts-script +17 -0
- package/src/node_modules/.bin/tsc +17 -0
- package/src/node_modules/.bin/tsnd +17 -0
- package/src/node_modules/.bin/tsserver +17 -0
- package/src/node_modules/.bin/webpack +17 -0
- package/src/node_modules/.bin/webpack-cli +17 -0
- package/src/node_modules/.bin/webpack-dev-server +17 -0
- package/src/operators/DrForOf.ts +25 -10
- package/src/operators/DrIf.ts +1 -1
- package/src/operators/DrInnerText.ts +2 -1
- package/src/rawsets/RawSet.ts +387 -288
- package/src/routers/PathRouter.ts +14 -7
- package/src/routers/Router.ts +77 -48
- package/types.d.ts +0 -2873
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/operators/DrForOf.ts"],
|
|
4
|
-
"sourcesContent": ["import { OperatorExecuterAttrRequire } from './OperatorExecuterAttrRequire';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { RawSet } from '../rawsets/RawSet';\nimport { Render } from '../rawsets/Render';\nimport { AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source } from './OperatorExecuter';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\n\nexport class DrForOf extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n source.operatorAround = undefined;\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n // console.log('\uD0C0\uC9C0\uB3C4\uC54A\uB0D0?')\n const itRandom = RawSet.drItOtherEncoding(this.elementSource.element, 'DrForOf');\n const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? '');\n const newTemp = this.source.config.window.document.createElement('temp');\n // console.log('----!', this.elementSource.attrs)\n // ScriptUtils.evalReturn()\n
|
|
5
|
-
"mappings": "AAAA,SAAS,mCAAmC;
|
|
4
|
+
"sourcesContent": ["import { OperatorExecuterAttrRequire } from './OperatorExecuterAttrRequire';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { RawSet } from '../rawsets/RawSet';\nimport { Render } from '../rawsets/Render';\nimport { AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source } from './OperatorExecuter';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\n\nexport class DrForOf extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n source.operatorAround = undefined;\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n // console.log('\uD0C0\uC9C0\uB3C4\uC54A\uB0D0?')\n const itRandom = RawSet.drItOtherEncoding(this.elementSource.element, 'DrForOf');\n const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? '');\n const newTemp = this.source.config.window.document.createElement('temp');\n\n const variableName = this.elementSource.element.getAttribute(RawSet.DR_VARIABLE_NAME_OPTIONNAME);\n const itemVariableName = this.elementSource.element.getAttribute(RawSet.DR_ITEM_VARIABLE_NAME_OPTIONNAME);\n const itemIndexVariableName = this.elementSource.element.getAttribute(RawSet.DR_ITEM_INDEX_VARIABLE_NAME_OPTIONNAME);\n // console.log('----!', this.elementSource.attrs)\n // ScriptUtils.evalReturn()\n ObjectUtils.Script.evaluate(`\n ${this.render.bindScript}\n ${this.elementSource.attrs.drBeforeOption ?? ''}\n var i = -1; \n const forOf = ${ObjectUtils.Path.toOptionalChainPath(attr)};\n const forOfStr = \\`${attr}\\`.trim();\n // console.log('forOf---',forOf);\n if (forOf) {\n for(const it of forOf) {\n i++;\n var destIt = it;\n if (/\\\\[(.*,?)\\\\],/g.test(forOfStr)) {\n if (typeof it === 'string') {\n destIt = it;\n } else {\n destIt = forOfStr.substring(1, forOfStr.length-1).split(',')[i];\n }\n } else if (forOf.isRange) {\n destIt = it;\n } else {\n destIt = forOfStr + '[' + i +']'\n }\n const n = this.__render.element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drForOf' && k !== 'drNextOption' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\\\#it\\\\#/g, destIt).replace(/\\\\#nearForOfIt\\\\#/g, destIt).replace(/\\\\#it\\\\#/g, destIt).replace(/\\\\#nearForOfIndex\\\\#/g, i)))\n if ('${variableName}') {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replaceAll('#${variableName}#', forOfStr)));\n }\n if ('${itemVariableName}') {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replaceAll('#${itemVariableName}#', destIt)));\n }\n if ('${itemIndexVariableName}') {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replaceAll('#${itemIndexVariableName}#', i)));\n }\n \n const drOptionAttr = n.getAttribute('${RawSet.DR_DETECT_ATTR_OPTIONNAME}');\n if (drOptionAttr) {\n const drOptionAttrResult = $scriptUtils.evaluateReturn(drOptionAttr, this);\n Array.from(Object.entries(drOptionAttrResult??{})).forEach(([k,v])=>{\n if (v === null) {\n n.removeAttribute(k);\n } else {\n n.setAttribute(k,v);\n }\n })\n }\n \n const drOptionFilter = n.getAttribute('${RawSet.DR_DETECT_FILTER_OPTIONNAME}');\n if (drOptionFilter) {\n const drOptionFilterResult = $scriptUtils.evaluateReturn(drOptionFilter, this);\n // console.log('---drforof----', drOptionFilter, drOptionFilterResult)\n if (!drOptionFilterResult) {\n continue;\n }\n }\n\n n.innerHTML = n.innerHTML.replace(/\\\\#it\\\\#/g, destIt).replace(/\\\\#index\\\\#/g, i);\n if ('${variableName}') {\n n.innerHTML = n.innerHTML.replaceAll('#${variableName}#', forOfStr);\n }\n if ('${itemVariableName}') {\n n.innerHTML = n.innerHTML.replaceAll('#${itemVariableName}#', destIt);\n }\n if ('${itemIndexVariableName}') {\n n.innerHTML = n.innerHTML.replaceAll('#${itemIndexVariableName}#', i);\n }\n \n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n \n }\n \n if('${this.elementSource.attrs.drNextOption}' !== 'null') {\n const n = this.__render.element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drForOf' && k !== 'drNextOption' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n const [name, idx] = '${this.elementSource.attrs.drNextOption}'.split(',');\n n.setAttribute('${RawSet.DR_FOR_OF_NAME}', name + '[' + idx + ']');\n n.setAttribute('${RawSet.DR_NEXT_OPTIONNAME}', name + ',' + (Number(idx) + 1));\n this.__render.fag.append(n);\n }\n }\n ${this.elementSource.attrs.drAfterOption ?? ''}\n `, Object.assign(this.source.obj, {\n __render: Object.freeze({\n drStripOption: this.elementSource.attrs.drStripOption,\n drAttr: this.elementSource.attrs,\n drAttrsOriginName: RawSet.drAttrsOriginName,\n fag: newTemp,\n ...this.render\n // eslint-disable-next-line no-use-before-define\n } as Render)\n }));\n RawSet.drVarDecoding(newTemp, vars);\n RawSet.drItOtherDecoding(newTemp, itRandom);\n const tempalte = this.source.config.window.document.createElement('template');\n tempalte.innerHTML = newTemp.innerHTML;\n this.returnContainer.fag.append(tempalte.content)\n const rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);\n this.elementSource.element.parentNode?.replaceChild(this.returnContainer.fag, this.elementSource.element);\n // const rrr = rr.flatMap(it => it.render(obj, config));// .flat();\n this.returnContainer.raws.push(...rr)\n return ExecuteState.EXECUTE;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,mCAAmC;AAE5C,SAAS,cAAc;AAEvB,SAAuC,oBAA6C;AACpF,SAAS,mBAAmB;AAErB,MAAM,gBAAgB,4BAAoC;AAAA,EAC/D,YAAY,QAAgB,QAAgB,iBAAkC,eAA8B,QAAgB,eAA8B;AACxJ,WAAO,iBAAiB;AACxB,UAAM,QAAQ,QAAQ,iBAAiB,eAAe,QAAQ,eAAe,KAAK;AAAA,EACpF;AAAA,EAEA,MAAM,mBAAmB,MAAqC;AAE5D,UAAM,WAAW,OAAO,kBAAkB,KAAK,cAAc,SAAS,SAAS;AAC/E,UAAM,OAAO,OAAO,cAAc,KAAK,cAAc,SAAS,KAAK,cAAc,MAAM,eAAe,EAAE;AACxG,UAAM,UAAU,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,MAAM;AAEvE,UAAM,eAAe,KAAK,cAAc,QAAQ,aAAa,OAAO,2BAA2B;AAC/F,UAAM,mBAAmB,KAAK,cAAc,QAAQ,aAAa,OAAO,gCAAgC;AACxG,UAAM,wBAAwB,KAAK,cAAc,QAAQ,aAAa,OAAO,sCAAsC;AAGnH,gBAAY,OAAO,SAAS;AAAA,sBACV,KAAK,OAAO,UAAU;AAAA,sBACtB,KAAK,cAAc,MAAM,kBAAkB,EAAE;AAAA;AAAA,oCAE/B,YAAY,KAAK,oBAAoB,IAAI,CAAC;AAAA,yCACrC,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAoBV,YAAY;AAAA,uHACwE,YAAY;AAAA;AAAA,mCAEhG,gBAAgB;AAAA,uHACoE,gBAAgB;AAAA;AAAA,mCAEpG,qBAAqB;AAAA,uHAC+D,qBAAqB;AAAA;AAAA;AAAA,mEAGzE,OAAO,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qEAY9B,OAAO,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAUpE,YAAY;AAAA,uEACwB,YAAY;AAAA;AAAA,mCAEhD,gBAAgB;AAAA,uEACoB,gBAAgB;AAAA;AAAA,mCAEpD,qBAAqB;AAAA,uEACe,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAW9D,KAAK,cAAc,MAAM,YAAY;AAAA;AAAA;AAAA,mDAGhB,KAAK,cAAc,MAAM,YAAY;AAAA,8CAC1C,OAAO,cAAc;AAAA,8CACrB,OAAO,kBAAkB;AAAA;AAAA;AAAA;AAAA,sBAIjD,KAAK,cAAc,MAAM,iBAAiB,EAAE;AAAA,uBAC3C,OAAO,OAAO,KAAK,OAAO,KAAK;AAAA,MAChD,UAAU,OAAO,OAAO;AAAA,QACtB,eAAe,KAAK,cAAc,MAAM;AAAA,QACxC,QAAQ,KAAK,cAAc;AAAA,QAC3B,mBAAmB,OAAO;AAAA,QAC1B,KAAK;AAAA,QACL,GAAG,KAAK;AAAA;AAAA,MAEV,CAAW;AAAA,IACb,CAAC,CAAC;AACF,WAAO,cAAc,SAAS,IAAI;AAClC,WAAO,kBAAkB,SAAS,QAAQ;AAC1C,UAAM,WAAW,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,UAAU;AAC5E,aAAS,YAAY,QAAQ;AAC7B,SAAK,gBAAgB,IAAI,OAAO,SAAS,OAAO;AAChD,UAAM,KAAK,OAAO,kBAAkB,KAAK,gBAAgB,KAAK,KAAK,OAAO,KAAK,KAAK,OAAO,MAAM;AACjG,SAAK,cAAc,QAAQ,YAAY,aAAa,KAAK,gBAAgB,KAAK,KAAK,cAAc,OAAO;AAExG,SAAK,gBAAgB,KAAK,KAAK,GAAG,EAAE;AACpC,WAAO,aAAa;AAAA,EACtB;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { OperatorExecuterAttrRequire } from "./OperatorExecuterAttrRequire.js";
|
|
2
|
-
import { ScriptUtils } from "@dooboostore/core-web/script/ScriptUtils";
|
|
3
2
|
import { RawSet } from "../rawsets/RawSet.js";
|
|
4
3
|
import { ExecuteState } from "./OperatorExecuter.js";
|
|
5
4
|
import { ObjectUtils } from "@dooboostore/core/object/ObjectUtils";
|
|
@@ -12,7 +11,7 @@ class DrIf extends OperatorExecuterAttrRequire {
|
|
|
12
11
|
const itRandom = RawSet.drItOtherEncoding(this.elementSource.element, "DrIf");
|
|
13
12
|
const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? "");
|
|
14
13
|
const newTemp = this.source.config.window.document.createElement("temp");
|
|
15
|
-
const keepgoing =
|
|
14
|
+
const keepgoing = ObjectUtils.Script.evaluate(`
|
|
16
15
|
${this.render.bindScript}
|
|
17
16
|
${this.elementSource.attrs.drBeforeOption ?? ""}
|
|
18
17
|
if ($rawSet.data === (${ObjectUtils.Path.toOptionalChainPath(attr)})) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/operators/DrIf.ts"],
|
|
4
|
-
"sourcesContent": ["import { OperatorExecuterAttrRequire } from './OperatorExecuterAttrRequire';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { RawSet } from '../rawsets/RawSet';\nimport { Render } from '../rawsets/Render';\nimport { AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source } from './OperatorExecuter';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\n\nexport class DrIf extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n source.operatorAround = undefined;\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n const itRandom = RawSet.drItOtherEncoding(this.elementSource.element, 'DrIf');\n const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? '');\n const newTemp = this.source.config.window.document.createElement('temp');\n // Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v)); <-- \uC774\uBD80\uBD84\uC740 \uB2E4\uB978 attr\uC5D0\uB3C4 \uC801\uC6A9\uC744 \uD560\uC9C0\uB9D0\uC9C0 \uC0DD\uAC01\uD574\uC57C\uB428 \uC5D8\uB9AC\uBA3C\uD2B8 \uC874\uC7AC\uC720\uBB34\uC5D0 \uB530\uB77C\uC11C \uC801\uC6A9\uC744 \uD560\uC9C0\uB9D0\uC9C0 \uACB0\uC815\uD574\uC57C\uB428\n const keepgoing =
|
|
5
|
-
"mappings": "AAAA,SAAS,mCAAmC;
|
|
4
|
+
"sourcesContent": ["import { OperatorExecuterAttrRequire } from './OperatorExecuterAttrRequire';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { RawSet } from '../rawsets/RawSet';\nimport { Render } from '../rawsets/Render';\nimport { AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source } from './OperatorExecuter';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\n\nexport class DrIf extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n source.operatorAround = undefined;\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n const itRandom = RawSet.drItOtherEncoding(this.elementSource.element, 'DrIf');\n const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? '');\n const newTemp = this.source.config.window.document.createElement('temp');\n // Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v)); <-- \uC774\uBD80\uBD84\uC740 \uB2E4\uB978 attr\uC5D0\uB3C4 \uC801\uC6A9\uC744 \uD560\uC9C0\uB9D0\uC9C0 \uC0DD\uAC01\uD574\uC57C\uB428 \uC5D8\uB9AC\uBA3C\uD2B8 \uC874\uC7AC\uC720\uBB34\uC5D0 \uB530\uB77C\uC11C \uC801\uC6A9\uC744 \uD560\uC9C0\uB9D0\uC9C0 \uACB0\uC815\uD574\uC57C\uB428\n const keepgoing = ObjectUtils.Script.evaluate(`\n ${this.render.bindScript}\n ${this.elementSource.attrs.drBeforeOption ?? ''}\n if ($rawSet.data === (${ObjectUtils.Path.toOptionalChainPath(attr)})) {\n return false;\n }\n $rawSet.data = ${ObjectUtils.Path.toOptionalChainPath(attr)};\n if($rawSet.data) {\n const n = $element.cloneNode(true);\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\n var destIt = ${this.elementSource.attrs.drItOption};\n if (destIt !== undefined) {\n // \uC5EC\uAE30\uAC00 ..\uC544\uC8FC \uD5DB\uAC08\uB9AC\uB294\uB370...\n Array.from(n.getAttributeNames()).forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\\\#DrIFIt\\\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\\\#DrIFIt\\\\#/g, destIt);\n }\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }\n ${this.elementSource.attrs.drAfterOption ?? ''};\n return true;\n `, Object.assign(this.source.obj,\n {\n __render: Object.freeze({\n fag: newTemp,\n drAttr: this.elementSource.attrs,\n drAttrsOriginName: RawSet.drAttrsOriginName,\n drStripOption: this.elementSource.attrs.drStripOption,\n ...this.render\n } as Render)\n }\n ));\n // TODO: \uBB50\uC9C0?? \uC9C0\uC6CC\uC57C\uB418\uB294\uAC70 \uC544\uB2CC\uAC00?\n if (keepgoing === false) {\n return ExecuteState.STOP;\n }\n RawSet.drVarDecoding(newTemp, vars);\n RawSet.drItOtherDecoding(newTemp, itRandom);\n // const bypass = (newTemp.innerHTML ?? '').trim().length <= 0;\n const tempalte = this.source.config.window.document.createElement('template');\n tempalte.innerHTML = newTemp.innerHTML;\n this.returnContainer.fag.append(tempalte.content);\n const rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);\n this.elementSource.element.parentNode?.replaceChild(this.returnContainer.fag, this.elementSource.element);\n this.returnContainer.raws.push(...rr);\n return ExecuteState.EXECUTE;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,mCAAmC;AAE5C,SAAS,cAAc;AAEvB,SAAuC,oBAA6C;AACpF,SAAS,mBAAmB;AAErB,MAAM,aAAa,4BAAoC;AAAA,EAC5D,YAAY,QAAgB,QAAgB,iBAAkC,eAA8B,QAAgB,eAA8B;AACxJ,WAAO,iBAAiB;AACxB,UAAM,QAAQ,QAAQ,iBAAiB,eAAe,QAAQ,eAAe,KAAK;AAAA,EACpF;AAAA,EAEA,MAAM,mBAAmB,MAAqC;AAC5D,UAAM,WAAW,OAAO,kBAAkB,KAAK,cAAc,SAAS,MAAM;AAC5E,UAAM,OAAO,OAAO,cAAc,KAAK,cAAc,SAAS,KAAK,cAAc,MAAM,eAAe,EAAE;AACxG,UAAM,UAAU,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,MAAM;AAEvE,UAAM,YAAY,YAAY,OAAO,SAAS;AAAA,kBAChC,KAAK,OAAO,UAAU;AAAA,kBACtB,KAAK,cAAc,MAAM,kBAAkB,EAAE;AAAA,wCACvB,YAAY,KAAK,oBAAoB,IAAI,CAAC;AAAA;AAAA;AAAA,iCAGjD,YAAY,KAAK,oBAAoB,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,mCAIxC,KAAK,cAAc,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAYpD,KAAK,cAAc,MAAM,iBAAiB,EAAE;AAAA;AAAA,mBAE3C,OAAO;AAAA,MAAO,KAAK,OAAO;AAAA,MACvC;AAAA,QACE,UAAU,OAAO,OAAO;AAAA,UACtB,KAAK;AAAA,UACL,QAAQ,KAAK,cAAc;AAAA,UAC3B,mBAAmB,OAAO;AAAA,UAC1B,eAAe,KAAK,cAAc,MAAM;AAAA,UACxC,GAAG,KAAK;AAAA,QACV,CAAW;AAAA,MACb;AAAA,IACF,CAAC;AAED,QAAI,cAAc,OAAO;AACvB,aAAO,aAAa;AAAA,IACtB;AACA,WAAO,cAAc,SAAS,IAAI;AAClC,WAAO,kBAAkB,SAAS,QAAQ;AAE1C,UAAM,WAAW,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,UAAU;AAC5E,aAAS,YAAY,QAAQ;AAC7B,SAAK,gBAAgB,IAAI,OAAO,SAAS,OAAO;AAChD,UAAM,KAAK,OAAO,kBAAkB,KAAK,gBAAgB,KAAK,KAAK,OAAO,KAAK,KAAK,OAAO,MAAM;AACjG,SAAK,cAAc,QAAQ,YAAY,aAAa,KAAK,gBAAgB,KAAK,KAAK,cAAc,OAAO;AACxG,SAAK,gBAAgB,KAAK,KAAK,GAAG,EAAE;AACpC,WAAO,aAAa;AAAA,EACtB;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { OperatorExecuterAttrRequire } from "./OperatorExecuterAttrRequire.js";
|
|
2
|
-
import { ScriptUtils } from "@dooboostore/core-web/script/ScriptUtils";
|
|
3
2
|
import { RawSet } from "../rawsets/RawSet.js";
|
|
4
3
|
import { ExecuteState } from "./OperatorExecuter.js";
|
|
4
|
+
import { ObjectUtils } from "@dooboostore/core/object/ObjectUtils";
|
|
5
5
|
class DrInnerText extends OperatorExecuterAttrRequire {
|
|
6
6
|
constructor(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
|
|
7
7
|
super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);
|
|
8
8
|
}
|
|
9
9
|
async executeAttrRequire(attr) {
|
|
10
10
|
const newTemp = this.source.config.window.document.createElement("temp");
|
|
11
|
-
|
|
11
|
+
ObjectUtils.Script.evaluate(`
|
|
12
12
|
${this.render.bindScript}
|
|
13
13
|
const n = $element.cloneNode(true);
|
|
14
14
|
${this.elementSource.attrs.drBeforeOption ?? ""}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/operators/DrInnerText.ts"],
|
|
4
|
-
"sourcesContent": ["import {OperatorExecuterAttrRequire} from './OperatorExecuterAttrRequire';\nimport {ScriptUtils} from '@dooboostore/core-web/script/ScriptUtils';\nimport {RawSet} from '../rawsets/RawSet';\nimport {Render} from '../rawsets/Render';\nimport {AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source} from './OperatorExecuter';\n\nexport class DrInnerText extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n const newTemp = this.source.config.window.document.createElement('temp');\n
|
|
5
|
-
"mappings": "AAAA,SAAQ,mCAAkC;
|
|
4
|
+
"sourcesContent": ["import {OperatorExecuterAttrRequire} from './OperatorExecuterAttrRequire';\nimport {ScriptUtils} from '@dooboostore/core-web/script/ScriptUtils';\nimport {RawSet} from '../rawsets/RawSet';\nimport {Render} from '../rawsets/Render';\nimport {AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source} from './OperatorExecuter';\nimport {ObjectUtils} from '@dooboostore/core/object/ObjectUtils';\n\nexport class DrInnerText extends OperatorExecuterAttrRequire<string> {\n constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack) {\n super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);\n }\n\n async executeAttrRequire(attr: string): Promise<ExecuteState> {\n const newTemp = this.source.config.window.document.createElement('temp');\n ObjectUtils.Script.evaluate(` \n ${this.render.bindScript}\n const n = $element.cloneNode(true); \n ${this.elementSource.attrs.drBeforeOption ?? ''}\n n.innerText = ${attr};\n if (this.__render.drStripOption === 'true') {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n ${this.elementSource.attrs.drAfterOption ?? ''}\n `, Object.assign(this.source.obj, {\n __render: Object.freeze({\n drStripOption: this.elementSource.attrs.drStripOption,\n fag: newTemp,\n ...this.render\n } as Render)\n }));\n const tempalte = this.source.config.window.document.createElement('template');\n tempalte.innerHTML = newTemp.innerHTML;\n this.returnContainer.fag.append(tempalte.content);\n const rr = RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);\n this.elementSource.element.parentNode?.replaceChild(this.returnContainer.fag, this.elementSource.element);\n this.returnContainer.raws.push(...rr);\n return ExecuteState.EXECUTE;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAQ,mCAAkC;AAE1C,SAAQ,cAAa;AAErB,SAAsC,oBAA4C;AAClF,SAAQ,mBAAkB;AAEnB,MAAM,oBAAoB,4BAAoC;AAAA,EACjE,YAAY,QAAgB,QAAgB,iBAAkC,eAA8B,QAAgB,eAA8B;AACtJ,UAAM,QAAQ,QAAQ,iBAAiB,eAAe,QAAQ,eAAe,KAAK;AAAA,EACtF;AAAA,EAEA,MAAM,mBAAmB,MAAqC;AAC1D,UAAM,UAAU,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,MAAM;AACvE,gBAAY,OAAO,SAAS;AAAA,0BACV,KAAK,OAAO,UAAU;AAAA;AAAA,0BAEtB,KAAK,cAAc,MAAM,kBAAkB,EAAE;AAAA,wCAC/B,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAMlB,KAAK,cAAc,MAAM,iBAAiB,EAAE;AAAA,uBAC/C,OAAO,OAAO,KAAK,OAAO,KAAK;AAAA,MAC1C,UAAU,OAAO,OAAO;AAAA,QACpB,eAAe,KAAK,cAAc,MAAM;AAAA,QACxC,KAAK;AAAA,QACL,GAAG,KAAK;AAAA,MACZ,CAAW;AAAA,IACf,CAAC,CAAC;AACF,UAAM,WAAW,KAAK,OAAO,OAAO,OAAO,SAAS,cAAc,UAAU;AAC5E,aAAS,YAAY,QAAQ;AAC7B,SAAK,gBAAgB,IAAI,OAAO,SAAS,OAAO;AAChD,UAAM,KAAK,OAAO,kBAAkB,KAAK,gBAAgB,KAAK,KAAK,OAAO,KAAK,KAAK,OAAO,MAAM;AACjG,SAAK,cAAc,QAAQ,YAAY,aAAa,KAAK,gBAAgB,KAAK,KAAK,cAAc,OAAO;AACxG,SAAK,gBAAgB,KAAK,KAAK,GAAG,EAAE;AACpC,WAAO,aAAa;AAAA,EACxB;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -32,6 +32,7 @@ import { isOnDestroyRender } from "../lifecycle/OnDestroyRender.js";
|
|
|
32
32
|
import { DrTargetElementIsElement } from "../operators/DrTargetElementIsElement.js";
|
|
33
33
|
import { ObjectUtils } from "@dooboostore/core/object/ObjectUtils";
|
|
34
34
|
import { NodeUtils } from "@dooboostore/core-web/node/NodeUtils";
|
|
35
|
+
import { ConvertUtils } from "@dooboostore/core/convert/ConvertUtils";
|
|
35
36
|
const _RawSet = class _RawSet {
|
|
36
37
|
constructor(uuid, type, point, dataSet, detect) {
|
|
37
38
|
this.uuid = uuid;
|
|
@@ -102,7 +103,8 @@ const _RawSet = class _RawSet {
|
|
|
102
103
|
const targetAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);
|
|
103
104
|
if (targetAttrMap) {
|
|
104
105
|
new Map(JSON.parse(targetAttrMap)).forEach((v, k) => {
|
|
105
|
-
|
|
106
|
+
const variablePaths = v.variablePaths;
|
|
107
|
+
variablePaths.forEach((it) => targetScripts.push(`(${it.inner})`));
|
|
106
108
|
});
|
|
107
109
|
}
|
|
108
110
|
script = targetScripts.join(";");
|
|
@@ -163,12 +165,18 @@ const _RawSet = class _RawSet {
|
|
|
163
165
|
const runText = _RawSet.expressionGroups(textContent)[0][1];
|
|
164
166
|
let newNode;
|
|
165
167
|
if (textContent?.startsWith("#")) {
|
|
166
|
-
const r = ObjectUtils.Script.evaluate(
|
|
168
|
+
const r = ObjectUtils.Script.evaluate(
|
|
169
|
+
`${__render.bindScript} return ${runText}`,
|
|
170
|
+
Object.assign(obj, { __render })
|
|
171
|
+
);
|
|
167
172
|
const template = config.window.document.createElement("template");
|
|
168
173
|
template.innerHTML = r;
|
|
169
174
|
newNode = template.content;
|
|
170
175
|
} else {
|
|
171
|
-
const r = ObjectUtils.Script.evaluate(
|
|
176
|
+
const r = ObjectUtils.Script.evaluate(
|
|
177
|
+
`${__render.bindScript} return ${runText}`,
|
|
178
|
+
Object.assign(obj, { __render })
|
|
179
|
+
);
|
|
172
180
|
newNode = config.window.document.createTextNode(r);
|
|
173
181
|
}
|
|
174
182
|
cNode.parentNode?.replaceChild(newNode, cNode);
|
|
@@ -207,23 +215,140 @@ const _RawSet = class _RawSet {
|
|
|
207
215
|
};
|
|
208
216
|
drAttrs.push(drAttr);
|
|
209
217
|
const operators = [
|
|
210
|
-
new DrPre(
|
|
211
|
-
|
|
218
|
+
new DrPre(
|
|
219
|
+
this,
|
|
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
|
+
),
|
|
212
234
|
// new Dr(this, __render, {raws, fag}, {element, attrName: EventManager.onRenderedInitAttrName, attr: drAttr.dr, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.dr}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),
|
|
213
|
-
new DrIf(
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
new
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
235
|
+
new DrIf(
|
|
236
|
+
this,
|
|
237
|
+
__render,
|
|
238
|
+
{ raws, fag },
|
|
239
|
+
{ element, attrName: _RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr },
|
|
240
|
+
{ config, obj, operatorAround: config.operatorAround?.drIf },
|
|
241
|
+
{ onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
|
|
242
|
+
),
|
|
243
|
+
new DrStripElement(
|
|
244
|
+
this,
|
|
245
|
+
__render,
|
|
246
|
+
{ raws, fag },
|
|
247
|
+
{ element, attrName: _RawSet.DR_STRIP_NAME, attr: drAttr.drStripElement, attrs: drAttr },
|
|
248
|
+
{ config, obj, operatorAround: config.operatorAround?.drThis },
|
|
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
|
+
)
|
|
227
352
|
];
|
|
228
353
|
for (const operator of operators) {
|
|
229
354
|
const state = await operator.start();
|
|
@@ -263,12 +388,12 @@ const _RawSet = class _RawSet {
|
|
|
263
388
|
});
|
|
264
389
|
for (const it of onThisComponentSetCallBacks) {
|
|
265
390
|
if (isOnInitRender(it.obj)) {
|
|
266
|
-
it.obj?.onInitRender?.({}, this);
|
|
391
|
+
await it.obj?.onInitRender?.({}, this);
|
|
267
392
|
}
|
|
268
393
|
}
|
|
269
394
|
for (const it of onElementInitCallBacks) {
|
|
270
395
|
if (isOnInitRender(this.dataSet.render?.currentThis)) {
|
|
271
|
-
this.dataSet.render.currentThis.onInitRender({}, this);
|
|
396
|
+
await this.dataSet.render.currentThis.onInitRender({}, this);
|
|
272
397
|
}
|
|
273
398
|
config?.onElementInit?.(it.name, obj, this, it.targetElement);
|
|
274
399
|
}
|
|
@@ -370,7 +495,10 @@ const _RawSet = class _RawSet {
|
|
|
370
495
|
getDrAppendAttributeAndDelete(element, obj) {
|
|
371
496
|
let data = element.getAttribute(_RawSet.DR_APPENDER_NAME);
|
|
372
497
|
if (data && !/\[.+\]/g.test(data)) {
|
|
373
|
-
const currentIndex = ObjectUtils.Script.evaluateReturn(
|
|
498
|
+
const currentIndex = ObjectUtils.Script.evaluateReturn(
|
|
499
|
+
`${ObjectUtils.Path.toOptionalChainPath(data)}?.length -1`,
|
|
500
|
+
obj
|
|
501
|
+
);
|
|
374
502
|
data = `${data}[${currentIndex}]`;
|
|
375
503
|
element.setAttribute(_RawSet.DR_APPENDER_NAME, data);
|
|
376
504
|
}
|
|
@@ -416,22 +544,28 @@ const _RawSet = class _RawSet {
|
|
|
416
544
|
const normalAttrs = /* @__PURE__ */ new Map();
|
|
417
545
|
const linkVariables = /* @__PURE__ */ new Map();
|
|
418
546
|
const linkNames = EventManager.linkAttrs.map((it) => it.name);
|
|
419
|
-
const isAttr = element2.getAttributeNames().filter((it) => {
|
|
547
|
+
const isAttr = element2.getAttributeNames().filter((it) => !EventManager.noDetectAttr.includes(it)).filter((it) => {
|
|
420
548
|
const value = element2.getAttribute(it);
|
|
421
549
|
if (value && linkNames.includes(it)) {
|
|
422
550
|
linkVariables.set(it, value);
|
|
423
551
|
} else if (value && _RawSet.isExpression(value)) {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
552
|
+
const variablePaths = _RawSet.expressionGroups(value).map((it2) => ({
|
|
553
|
+
origin: it2[0],
|
|
554
|
+
inner: it2[1]
|
|
555
|
+
}));
|
|
556
|
+
let targetScript = value;
|
|
557
|
+
variablePaths.forEach((it2) => {
|
|
558
|
+
let r3 = it2.inner.replace(/#[^#]*#/g, "({})");
|
|
559
|
+
r3 = ObjectUtils.Path.toOptionalChainPath(r3);
|
|
560
|
+
targetScript = targetScript.replaceAll(it2.origin, `\${${r3}}`);
|
|
561
|
+
});
|
|
562
|
+
const cval = ObjectUtils.Script.evaluateReturn("`" + targetScript + "`", Object.assign(obj));
|
|
429
563
|
if (cval === null) {
|
|
430
564
|
element2.removeAttribute(it);
|
|
431
565
|
} else {
|
|
432
566
|
element2.setAttribute(it, cval);
|
|
433
567
|
}
|
|
434
|
-
normalAttrs.set(it,
|
|
568
|
+
normalAttrs.set(it, { originalAttrValue: value, variablePaths });
|
|
435
569
|
}
|
|
436
570
|
const isTargetAttr = targetAttrNames.includes(it.toLowerCase());
|
|
437
571
|
return isTargetAttr;
|
|
@@ -845,11 +979,33 @@ const _RawSet = class _RawSet {
|
|
|
845
979
|
targetElement.querySelectorAll(EventManager.attrNames.map((it) => `[${it}]`).join(",")).forEach((it) => {
|
|
846
980
|
it.setAttribute(EventManager.ownerVariablePathAttrName, "this");
|
|
847
981
|
});
|
|
848
|
-
const componentNameReplaceKey = RandomUtils.uuid();
|
|
849
982
|
rawSet.point.innerHTML = element.innerHTML;
|
|
850
|
-
const
|
|
983
|
+
const innerText = element.textContent?.trim() ?? "";
|
|
984
|
+
const escapedInnerHTML = ConvertUtils.escapeHTML(element.innerHTML);
|
|
985
|
+
const innerHTMLName = targetElement.getAttribute(_RawSet.DR_INNER_HTML_NAME_OPTIONNAME) ?? "innerHTML";
|
|
986
|
+
const innerTEXTName = targetElement.getAttribute(_RawSet.DR_INNER_TEXT_NAME_OPTIONNAME) ?? "innerTEXT";
|
|
987
|
+
const innerHTMLEscapedName = targetElement.getAttribute(_RawSet.DR_INNER_HTML_ESCAPED_NAME_OPTIONNAME) ?? "innerHTMLEscaped";
|
|
988
|
+
const templateReplacements = [];
|
|
851
989
|
if (innerHTMLName) {
|
|
852
|
-
|
|
990
|
+
templateReplacements.push({
|
|
991
|
+
regex: new RegExp(`#${innerHTMLName}#`, "g"),
|
|
992
|
+
callback: () => element.innerHTML
|
|
993
|
+
});
|
|
994
|
+
}
|
|
995
|
+
if (innerTEXTName) {
|
|
996
|
+
templateReplacements.push({
|
|
997
|
+
regex: new RegExp(`#${innerTEXTName}#`, "g"),
|
|
998
|
+
callback: () => innerText
|
|
999
|
+
});
|
|
1000
|
+
}
|
|
1001
|
+
if (innerHTMLEscapedName) {
|
|
1002
|
+
templateReplacements.push({
|
|
1003
|
+
regex: new RegExp(`#${innerHTMLEscapedName}#`, "g"),
|
|
1004
|
+
callback: () => escapedInnerHTML
|
|
1005
|
+
});
|
|
1006
|
+
}
|
|
1007
|
+
if (templateReplacements.length > 0) {
|
|
1008
|
+
targetElement.innerHTML = StringUtils.replaceSequentially(targetElement.innerHTML, templateReplacements);
|
|
853
1009
|
}
|
|
854
1010
|
const optionThisName = targetElement.getAttribute(_RawSet.DR_THIS_NAME_OPTIONNAME);
|
|
855
1011
|
targetElement.getAttributeNames().forEach((it) => targetElement.setAttribute(it, targetElement.getAttribute(it).replace(/#this#/g, drThis)));
|
|
@@ -926,7 +1082,6 @@ const _RawSet = class _RawSet {
|
|
|
926
1082
|
obj.__domrender_components ?? (obj.__domrender_components = {});
|
|
927
1083
|
const domrenderComponents = obj.__domrender_components;
|
|
928
1084
|
const renderScript = ` /*createComponentTargetElement*/
|
|
929
|
-
// console.log('-------------------',this.__render);
|
|
930
1085
|
var ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;
|
|
931
1086
|
var ${EventManager.COMPONENT_VARNAME} = this.__render.component;
|
|
932
1087
|
var ${EventManager.ELEMENT_VARNAME} = this.__render.element;
|
|
@@ -981,15 +1136,40 @@ const _RawSet = class _RawSet {
|
|
|
981
1136
|
rawSet.dataSet.render = render;
|
|
982
1137
|
instance.__rawSet = rawSet;
|
|
983
1138
|
let applayTemplate = element.innerHTML;
|
|
1139
|
+
let applayTemplateText = element.textContent?.trim() ?? "";
|
|
1140
|
+
let applayTemplateEscape = ConvertUtils.escapeHTML(element.innerHTML);
|
|
984
1141
|
let innerHTMLThisRandom;
|
|
985
|
-
const componentName = element.getAttribute(_RawSet.
|
|
986
|
-
const innerHTMLName = element.getAttribute(_RawSet.
|
|
1142
|
+
const componentName = element.getAttribute(_RawSet.DR_VARIABLE_NAME_OPTIONNAME) ?? "component";
|
|
1143
|
+
const innerHTMLName = element.getAttribute(_RawSet.DR_INNER_HTML_NAME_OPTIONNAME) ?? "innerHTML";
|
|
1144
|
+
const innerTEXTName = element.getAttribute(_RawSet.DR_INNER_TEXT_NAME_OPTIONNAME) ?? "innerTEXT";
|
|
1145
|
+
const innerHTMLEscapedName = element.getAttribute(_RawSet.DR_INNER_HTML_ESCAPED_NAME_OPTIONNAME) ?? "innerHTMLEscaped";
|
|
987
1146
|
if (applayTemplate) {
|
|
988
1147
|
innerHTMLThisRandom = RandomUtils.uuid();
|
|
989
|
-
applayTemplate =
|
|
990
|
-
|
|
1148
|
+
applayTemplate = StringUtils.replaceSequentially(applayTemplate, [
|
|
1149
|
+
{
|
|
1150
|
+
regex: /this\./g,
|
|
1151
|
+
callback: () => innerHTMLThisRandom
|
|
1152
|
+
},
|
|
1153
|
+
{
|
|
1154
|
+
regex: new RegExp(`#${componentName}#`, "g"),
|
|
1155
|
+
callback: () => nearThisPath
|
|
1156
|
+
}
|
|
1157
|
+
]);
|
|
991
1158
|
}
|
|
992
|
-
applayTemplate = (this.template ?? ""
|
|
1159
|
+
applayTemplate = StringUtils.replaceSequentially(this.template ?? "", [
|
|
1160
|
+
{
|
|
1161
|
+
regex: new RegExp(`#${innerHTMLName}#`, "g"),
|
|
1162
|
+
callback: () => applayTemplate
|
|
1163
|
+
},
|
|
1164
|
+
{
|
|
1165
|
+
regex: new RegExp(`#${innerTEXTName}#`, "g"),
|
|
1166
|
+
callback: () => applayTemplateText
|
|
1167
|
+
},
|
|
1168
|
+
{
|
|
1169
|
+
regex: new RegExp(`#${innerHTMLEscapedName}#`, "g"),
|
|
1170
|
+
callback: () => applayTemplateEscape
|
|
1171
|
+
}
|
|
1172
|
+
]);
|
|
993
1173
|
const style = _RawSet.generateStyleTransform(this.styles, rawSet.uuid, true);
|
|
994
1174
|
element.innerHTML = style + (applayTemplate ?? "");
|
|
995
1175
|
let data = await _RawSet.drThisCreate(
|
|
@@ -1003,8 +1183,8 @@ const _RawSet = class _RawSet {
|
|
|
1003
1183
|
);
|
|
1004
1184
|
if (data && innerHTMLThisRandom) {
|
|
1005
1185
|
const template2 = config.window.document.createElement("template");
|
|
1006
|
-
template2.
|
|
1007
|
-
|
|
1186
|
+
template2.innerHTML = ElementUtils.toInnerHTML(data, { document: config.window.document }).replace(RegExp(innerHTMLThisRandom, "g"), "this.");
|
|
1187
|
+
;
|
|
1008
1188
|
data = template2.content;
|
|
1009
1189
|
}
|
|
1010
1190
|
return data;
|
|
@@ -1041,8 +1221,24 @@ const _RawSet = class _RawSet {
|
|
|
1041
1221
|
const normalAttribute = attribute[EventManager.normalAttrMapAttrName];
|
|
1042
1222
|
if (normalAttribute) {
|
|
1043
1223
|
new Map(JSON.parse(normalAttribute)).forEach((v, k) => {
|
|
1224
|
+
const variablePaths = v.variablePaths;
|
|
1225
|
+
let targetScript = v.originalAttrValue.trim();
|
|
1226
|
+
let checktargetScript = v.originalAttrValue.trim();
|
|
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 {
|
|
1235
|
+
variablePaths.forEach((it) => {
|
|
1236
|
+
let r = ObjectUtils.Path.toOptionalChainPath(it.inner);
|
|
1237
|
+
targetScript = targetScript.replaceAll(it.origin, `\${${r}}`);
|
|
1238
|
+
});
|
|
1239
|
+
}
|
|
1044
1240
|
const cval = ObjectUtils.Script.evaluateReturn(
|
|
1045
|
-
{ bodyScript: config.script, returnScript:
|
|
1241
|
+
{ bodyScript: config.script, returnScript: isScriptValue ? targetScript : "`" + targetScript + "`" },
|
|
1046
1242
|
Object.assign(config.obj, config.renderData ? { __render: config.renderData } : void 0)
|
|
1047
1243
|
);
|
|
1048
1244
|
attribute[k] = cval;
|
|
@@ -1085,11 +1281,12 @@ _RawSet.DR_COMPLETE_OPTIONNAME = "dr-option-complete";
|
|
|
1085
1281
|
_RawSet.DR_STRIP_OPTIONNAME = "dr-option-strip";
|
|
1086
1282
|
_RawSet.DR_DESTROY_OPTIONNAME = "dr-option-destroy";
|
|
1087
1283
|
_RawSet.DR_THIS_NAME_OPTIONNAME = "dr-option-this-name";
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
_RawSet.
|
|
1092
|
-
_RawSet.
|
|
1284
|
+
_RawSet.DR_VARIABLE_NAME_OPTIONNAME = "dr-option-variable-name";
|
|
1285
|
+
_RawSet.DR_ITEM_VARIABLE_NAME_OPTIONNAME = "dr-option-item-variable-name";
|
|
1286
|
+
_RawSet.DR_ITEM_INDEX_VARIABLE_NAME_OPTIONNAME = "dr-option-item-index-variable-name";
|
|
1287
|
+
_RawSet.DR_INNER_HTML_NAME_OPTIONNAME = "dr-option-inner-html-name";
|
|
1288
|
+
_RawSet.DR_INNER_TEXT_NAME_OPTIONNAME = "dr-option-inner-text-name";
|
|
1289
|
+
_RawSet.DR_INNER_HTML_ESCAPED_NAME_OPTIONNAME = "dr-option-inner-html-escaped-name";
|
|
1093
1290
|
_RawSet.DR_KEY_OPTIONNAME = "dr-option-key";
|
|
1094
1291
|
_RawSet.DR_HAS_KEYS_OPTIONNAME = "dr-option-has-keys";
|
|
1095
1292
|
_RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME = "dr-on-create:arguments";
|