@dooboostore/dom-render 1.0.112 → 1.0.114
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 +475 -0
- package/dist/cjs/DomRender.js +6 -6
- package/dist/cjs/DomRender.js.map +3 -3
- package/dist/cjs/DomRenderProxy.js +124 -101
- package/dist/cjs/DomRenderProxy.js.map +3 -3
- package/dist/cjs/bundle-entry.js +4 -32
- package/dist/cjs/bundle-entry.js.map +2 -2
- package/dist/cjs/components/ComponentBase.js +49 -37
- package/dist/cjs/components/ComponentBase.js.map +3 -3
- package/dist/cjs/components/ComponentSet.js.map +2 -2
- package/dist/cjs/components/details/Details.js +6 -6
- package/dist/cjs/components/details/Details.js.map +3 -3
- package/dist/cjs/components/input/Input.js +12 -14
- package/dist/cjs/components/input/Input.js.map +3 -3
- package/dist/cjs/components/promise/PromiseSwitch.js +4 -4
- package/dist/cjs/components/promise/PromiseSwitch.js.map +3 -3
- package/dist/cjs/components/router/Route.js.map +1 -1
- package/dist/cjs/components/router/RouterOutlet.js +3 -0
- 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 +3 -3
- package/dist/cjs/components/this/This.js +3 -0
- package/dist/cjs/components/this/This.js.map +2 -2
- package/dist/cjs/configs/DomRenderConfig.js.map +1 -1
- package/dist/cjs/configs/TargetElement.js.map +1 -1
- package/dist/cjs/decorators/DomRenderNoProxy.js +5 -5
- package/dist/cjs/decorators/DomRenderNoProxy.js.map +3 -3
- package/dist/cjs/events/EventManager.js +153 -124
- package/dist/cjs/events/EventManager.js.map +3 -3
- package/dist/cjs/index.js +32 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/messenger/Messenger.js.map +1 -1
- package/dist/cjs/operators/Dr.js +2 -2
- package/dist/cjs/operators/Dr.js.map +2 -2
- package/dist/cjs/operators/DrAppender.js +98 -35
- 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 +98 -119
- package/dist/cjs/operators/DrForOf.js.map +2 -2
- package/dist/cjs/operators/DrForm.js +11 -11
- package/dist/cjs/operators/DrForm.js.map +3 -3
- package/dist/cjs/operators/DrIf.js +4 -4
- package/dist/cjs/operators/DrIf.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/DrInnerText.js +2 -2
- package/dist/cjs/operators/DrInnerText.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 +5 -4
- package/dist/cjs/operators/DrTargetElement.js.map +2 -2
- package/dist/cjs/operators/DrTargetElementIsElement.js +5 -4
- 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 +4 -4
- package/dist/cjs/operators/DrThisProperty.js.map +2 -2
- package/dist/cjs/operators/OperatorExecuter.js +3 -3
- package/dist/cjs/operators/OperatorExecuter.js.map +2 -2
- package/dist/cjs/rawsets/Attrs.js.map +1 -1
- package/dist/cjs/rawsets/CreatorMetaData.js.map +1 -1
- package/dist/cjs/rawsets/RawSet.js +237 -214
- package/dist/cjs/rawsets/RawSet.js.map +3 -3
- package/dist/cjs/rawsets/Render.js.map +1 -1
- package/dist/cjs/rawsets/index.js +30 -0
- package/dist/cjs/rawsets/index.js.map +3 -3
- package/dist/esm/DomRender.js +3 -3
- package/dist/esm/DomRender.js.map +1 -1
- package/dist/esm/DomRenderProxy.js +110 -87
- package/dist/esm/DomRenderProxy.js.map +3 -3
- package/dist/esm/bundle-entry.js +4 -32
- package/dist/esm/bundle-entry.js.map +2 -2
- package/dist/esm/components/ComponentBase.js +24 -12
- package/dist/esm/components/ComponentBase.js.map +2 -2
- package/dist/esm/components/ComponentSet.js.map +2 -2
- package/dist/esm/components/details/Details.js +2 -2
- package/dist/esm/components/details/Details.js.map +1 -1
- package/dist/esm/components/input/Input.js +3 -5
- package/dist/esm/components/input/Input.js.map +2 -2
- package/dist/esm/components/promise/PromiseSwitch.js +2 -2
- package/dist/esm/components/promise/PromiseSwitch.js.map +1 -1
- package/dist/esm/components/router/Route.js.map +1 -1
- package/dist/esm/components/router/RouterOutlet.js +3 -0
- package/dist/esm/components/router/RouterOutlet.js.map +2 -2
- package/dist/esm/components/select/Select.js +3 -3
- package/dist/esm/components/select/Select.js.map +1 -1
- package/dist/esm/components/this/This.js +3 -0
- package/dist/esm/components/this/This.js.map +2 -2
- package/dist/esm/decorators/DomRenderNoProxy.js +2 -2
- package/dist/esm/decorators/DomRenderNoProxy.js.map +1 -1
- package/dist/esm/events/EventManager.js +120 -91
- package/dist/esm/events/EventManager.js.map +2 -2
- package/dist/esm/index.js +51 -1
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/messenger/Messenger.js.map +1 -1
- package/dist/esm/operators/Dr.js +1 -1
- package/dist/esm/operators/Dr.js.map +2 -2
- package/dist/esm/operators/DrAppender.js +98 -35
- package/dist/esm/operators/DrAppender.js.map +2 -2
- package/dist/esm/operators/DrFor.js +1 -1
- package/dist/esm/operators/DrFor.js.map +2 -2
- package/dist/esm/operators/DrForOf.js +98 -119
- package/dist/esm/operators/DrForOf.js.map +2 -2
- package/dist/esm/operators/DrForm.js +3 -3
- package/dist/esm/operators/DrForm.js.map +2 -2
- package/dist/esm/operators/DrIf.js +1 -1
- package/dist/esm/operators/DrIf.js.map +2 -2
- package/dist/esm/operators/DrInnerHTML.js +1 -1
- package/dist/esm/operators/DrInnerHTML.js.map +2 -2
- package/dist/esm/operators/DrInnerText.js +1 -1
- package/dist/esm/operators/DrInnerText.js.map +2 -2
- package/dist/esm/operators/DrRepeat.js +1 -1
- package/dist/esm/operators/DrRepeat.js.map +2 -2
- package/dist/esm/operators/DrStripElement.js +1 -1
- package/dist/esm/operators/DrStripElement.js.map +2 -2
- package/dist/esm/operators/DrTargetElement.js +4 -3
- package/dist/esm/operators/DrTargetElement.js.map +2 -2
- package/dist/esm/operators/DrTargetElementIsElement.js +4 -3
- package/dist/esm/operators/DrTargetElementIsElement.js.map +2 -2
- package/dist/esm/operators/DrThis.js +1 -1
- package/dist/esm/operators/DrThis.js.map +1 -1
- package/dist/esm/operators/DrThisProperty.js +2 -2
- package/dist/esm/operators/DrThisProperty.js.map +1 -1
- package/dist/esm/operators/OperatorExecuter.js +1 -1
- package/dist/esm/operators/OperatorExecuter.js.map +1 -1
- package/dist/esm/rawsets/RawSet.js +195 -172
- package/dist/esm/rawsets/RawSet.js.map +2 -2
- package/dist/esm/rawsets/index.js +26 -0
- package/dist/esm/rawsets/index.js.map +3 -3
- package/dist/esm-bundle/dooboostore-dom-render.esm.js +16586 -14250
- package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
- package/dist/types/DomRender.d.ts +3 -3
- package/dist/types/DomRender.d.ts.map +1 -1
- package/dist/types/DomRenderProxy.d.ts +4 -0
- package/dist/types/DomRenderProxy.d.ts.map +1 -1
- package/dist/types/bundle-entry.d.ts +3 -16
- package/dist/types/bundle-entry.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/ComponentSet.d.ts +4 -4
- package/dist/types/components/ComponentSet.d.ts.map +1 -1
- package/dist/types/components/a/A.d.ts +1 -1
- package/dist/types/components/appender/Appender.d.ts +1 -1
- package/dist/types/components/checkbox/CheckBox.d.ts +3 -3
- package/dist/types/components/choose/Choose.d.ts +3 -3
- package/dist/types/components/details/Details.d.ts +4 -4
- package/dist/types/components/forOf/ForOf.d.ts +1 -1
- package/dist/types/components/if/If.d.ts +1 -1
- package/dist/types/components/index.d.ts +39 -39
- 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 +5 -5
- package/dist/types/components/radio/Radio.d.ts +3 -3
- package/dist/types/components/router/Route.d.ts +2 -2
- package/dist/types/components/router/RouterOutlet.d.ts +2 -1
- package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
- package/dist/types/components/select/Select.d.ts +10 -10
- package/dist/types/components/this/This.d.ts +2 -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/configs/DomRenderConfig.d.ts +2 -2
- package/dist/types/configs/DomRenderConfig.d.ts.map +1 -1
- package/dist/types/configs/TargetElement.d.ts +3 -3
- package/dist/types/configs/TargetElement.d.ts.map +1 -1
- package/dist/types/events/EventManager.d.ts +4 -0
- package/dist/types/events/EventManager.d.ts.map +1 -1
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/messenger/Messenger.d.ts +1 -1
- package/dist/types/messenger/Messenger.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/DrIf.d.ts.map +1 -1
- package/dist/types/operators/DrInnerHTML.d.ts.map +1 -1
- package/dist/types/operators/DrInnerText.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/DrTargetElementIsElement.d.ts.map +1 -1
- package/dist/types/rawsets/Attrs.d.ts +5 -0
- package/dist/types/rawsets/Attrs.d.ts.map +1 -1
- package/dist/types/rawsets/CreatorMetaData.d.ts +1 -1
- package/dist/types/rawsets/CreatorMetaData.d.ts.map +1 -1
- package/dist/types/rawsets/RawSet.d.ts +10 -8
- package/dist/types/rawsets/RawSet.d.ts.map +1 -1
- package/dist/types/rawsets/Render.d.ts +1 -1
- package/dist/types/rawsets/Render.d.ts.map +1 -1
- package/dist/types/rawsets/index.d.ts +20 -0
- package/dist/types/rawsets/index.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-dom-render.umd.js +16575 -14239
- package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
- package/package.json +13 -7
- package/src/DomRender.ts +5 -5
- package/src/DomRenderProxy.ts +195 -124
- package/src/bundle-entry.ts +7 -18
- package/src/components/ComponentBase.ts +33 -14
- package/src/components/ComponentSet.ts +3 -3
- package/src/components/details/Details.ts +3 -3
- package/src/components/dialog/example/ImageEditorDialog.ts +10 -10
- package/src/components/input/Input.ts +4 -6
- package/src/components/promise/PromiseSwitch.ts +2 -2
- package/src/components/router/Route.ts +1 -1
- package/src/components/router/RouterOutlet.ts +4 -0
- package/src/components/select/Select.ts +4 -4
- package/src/components/this/This.ts +3 -0
- package/src/configs/DomRenderConfig.ts +9 -9
- package/src/configs/TargetElement.ts +3 -3
- package/src/decorators/DomRenderNoProxy.ts +2 -2
- package/src/events/EventManager.ts +171 -101
- package/src/index.ts +33 -17
- package/src/messenger/Messenger.ts +1 -1
- package/src/operators/Dr.ts +1 -2
- package/src/operators/DrAppender.ts +121 -56
- package/src/operators/DrFor.ts +1 -2
- package/src/operators/DrForOf.ts +102 -128
- package/src/operators/DrForm.ts +3 -4
- package/src/operators/DrIf.ts +1 -2
- package/src/operators/DrInnerHTML.ts +1 -2
- package/src/operators/DrInnerText.ts +1 -2
- package/src/operators/DrRepeat.ts +1 -2
- package/src/operators/DrStripElement.ts +1 -2
- package/src/operators/DrTargetElement.ts +4 -4
- package/src/operators/DrTargetElementIsElement.ts +4 -3
- package/src/operators/DrThis.ts +1 -1
- package/src/operators/DrThisProperty.ts +2 -2
- package/src/operators/OperatorExecuter.ts +1 -1
- package/src/rawsets/Attrs.ts +32 -27
- package/src/rawsets/CreatorMetaData.ts +1 -1
- package/src/rawsets/RawSet.ts +226 -256
- package/src/rawsets/Render.ts +1 -1
- package/src/rawsets/index.ts +23 -0
- package/tsconfig.json +2 -1
- package/README.MD +0 -42
- package/dist/cjs/iterators/Range.js +0 -85
- package/dist/cjs/iterators/Range.js.map +0 -7
- package/dist/cjs/iterators/index.js +0 -18
- package/dist/cjs/iterators/index.js.map +0 -7
- package/dist/cjs/routers/HashRouter.js +0 -110
- package/dist/cjs/routers/HashRouter.js.map +0 -7
- package/dist/cjs/routers/PathRouter.js +0 -102
- package/dist/cjs/routers/PathRouter.js.map +0 -7
- package/dist/cjs/routers/Router.js +0 -192
- package/dist/cjs/routers/Router.js.map +0 -7
- package/dist/cjs/routers/index.js +0 -20
- package/dist/cjs/routers/index.js.map +0 -7
- package/dist/cjs/validators/AllCheckedValidatorArray.js +0 -32
- package/dist/cjs/validators/AllCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/AllUnCheckedValidatorArray.js +0 -32
- package/dist/cjs/validators/AllUnCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/CheckedValidator.js +0 -32
- package/dist/cjs/validators/CheckedValidator.js.map +0 -7
- package/dist/cjs/validators/CountEqualsCheckedValidatorArray.js +0 -33
- package/dist/cjs/validators/CountEqualsCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/CountEqualsUnCheckedValidatorArray.js +0 -33
- package/dist/cjs/validators/CountEqualsUnCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/CountGreaterThanCheckedValidatorArray.js +0 -33
- package/dist/cjs/validators/CountGreaterThanCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/CountGreaterThanEqualsCheckedValidatorArray.js +0 -33
- package/dist/cjs/validators/CountGreaterThanEqualsCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +0 -33
- package/dist/cjs/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/CountGreaterThanUnCheckedValidatorArray.js +0 -33
- package/dist/cjs/validators/CountGreaterThanUnCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/CountLessThanCheckedValidatorArray.js +0 -33
- package/dist/cjs/validators/CountLessThanCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/CountLessThanEqualsCheckedValidatorArray.js +0 -33
- package/dist/cjs/validators/CountLessThanEqualsCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/CountLessThanEqualsUnCheckedValidatorArray.js +0 -33
- package/dist/cjs/validators/CountLessThanEqualsUnCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/CountLessThanUnCheckedValidatorArray.js +0 -33
- package/dist/cjs/validators/CountLessThanUnCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/CountUnCheckedValidatorArray.js +0 -33
- package/dist/cjs/validators/CountUnCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/EmptyValidator.js +0 -33
- package/dist/cjs/validators/EmptyValidator.js.map +0 -7
- package/dist/cjs/validators/ExcludeCheckedValidatorArray.js +0 -36
- package/dist/cjs/validators/ExcludeCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/FormValidator.js +0 -38
- package/dist/cjs/validators/FormValidator.js.map +0 -7
- package/dist/cjs/validators/IncludeCheckedValidatorArray.js +0 -36
- package/dist/cjs/validators/IncludeCheckedValidatorArray.js.map +0 -7
- package/dist/cjs/validators/MultipleValidator.js +0 -46
- package/dist/cjs/validators/MultipleValidator.js.map +0 -7
- package/dist/cjs/validators/NonPassValidator.js +0 -32
- package/dist/cjs/validators/NonPassValidator.js.map +0 -7
- package/dist/cjs/validators/NotEmptyValidator.js +0 -33
- package/dist/cjs/validators/NotEmptyValidator.js.map +0 -7
- package/dist/cjs/validators/NotRegExpTestValidator.js +0 -40
- package/dist/cjs/validators/NotRegExpTestValidator.js.map +0 -7
- package/dist/cjs/validators/PassValidator.js +0 -32
- package/dist/cjs/validators/PassValidator.js.map +0 -7
- package/dist/cjs/validators/RegExpTestValidator.js +0 -40
- package/dist/cjs/validators/RegExpTestValidator.js.map +0 -7
- package/dist/cjs/validators/RequiredValidator.js +0 -33
- package/dist/cjs/validators/RequiredValidator.js.map +0 -7
- package/dist/cjs/validators/UnCheckedValidator.js +0 -32
- package/dist/cjs/validators/UnCheckedValidator.js.map +0 -7
- package/dist/cjs/validators/ValidMultipleValidator.js +0 -34
- package/dist/cjs/validators/ValidMultipleValidator.js.map +0 -7
- package/dist/cjs/validators/ValidValidator.js +0 -33
- package/dist/cjs/validators/ValidValidator.js.map +0 -7
- package/dist/cjs/validators/ValidValidatorArray.js +0 -33
- package/dist/cjs/validators/ValidValidatorArray.js.map +0 -7
- package/dist/cjs/validators/Validator.js +0 -206
- package/dist/cjs/validators/Validator.js.map +0 -7
- package/dist/cjs/validators/ValidatorArray.js +0 -91
- package/dist/cjs/validators/ValidatorArray.js.map +0 -7
- package/dist/cjs/validators/ValueEqualsValidator.js +0 -33
- package/dist/cjs/validators/ValueEqualsValidator.js.map +0 -7
- package/dist/cjs/validators/ValueNotEqualsValidator.js +0 -33
- package/dist/cjs/validators/ValueNotEqualsValidator.js.map +0 -7
- package/dist/cjs/validators/index.js +0 -48
- package/dist/cjs/validators/index.js.map +0 -7
- package/dist/esm/iterators/Range.js +0 -66
- package/dist/esm/iterators/Range.js.map +0 -7
- package/dist/esm/iterators/index.js +0 -2
- package/dist/esm/iterators/index.js.map +0 -7
- package/dist/esm/routers/HashRouter.js +0 -91
- package/dist/esm/routers/HashRouter.js.map +0 -7
- package/dist/esm/routers/PathRouter.js +0 -83
- package/dist/esm/routers/PathRouter.js.map +0 -7
- package/dist/esm/routers/Router.js +0 -173
- package/dist/esm/routers/Router.js.map +0 -7
- package/dist/esm/routers/index.js +0 -4
- package/dist/esm/routers/index.js.map +0 -7
- package/dist/esm/validators/AllCheckedValidatorArray.js +0 -13
- package/dist/esm/validators/AllCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/AllUnCheckedValidatorArray.js +0 -13
- package/dist/esm/validators/AllUnCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/CheckedValidator.js +0 -13
- package/dist/esm/validators/CheckedValidator.js.map +0 -7
- package/dist/esm/validators/CountEqualsCheckedValidatorArray.js +0 -14
- package/dist/esm/validators/CountEqualsCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/CountEqualsUnCheckedValidatorArray.js +0 -14
- package/dist/esm/validators/CountEqualsUnCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/CountGreaterThanCheckedValidatorArray.js +0 -14
- package/dist/esm/validators/CountGreaterThanCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/CountGreaterThanEqualsCheckedValidatorArray.js +0 -14
- package/dist/esm/validators/CountGreaterThanEqualsCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +0 -14
- package/dist/esm/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/CountGreaterThanUnCheckedValidatorArray.js +0 -14
- package/dist/esm/validators/CountGreaterThanUnCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/CountLessThanCheckedValidatorArray.js +0 -14
- package/dist/esm/validators/CountLessThanCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/CountLessThanEqualsCheckedValidatorArray.js +0 -14
- package/dist/esm/validators/CountLessThanEqualsCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/CountLessThanEqualsUnCheckedValidatorArray.js +0 -14
- package/dist/esm/validators/CountLessThanEqualsUnCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/CountLessThanUnCheckedValidatorArray.js +0 -14
- package/dist/esm/validators/CountLessThanUnCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/CountUnCheckedValidatorArray.js +0 -14
- package/dist/esm/validators/CountUnCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/EmptyValidator.js +0 -14
- package/dist/esm/validators/EmptyValidator.js.map +0 -7
- package/dist/esm/validators/ExcludeCheckedValidatorArray.js +0 -17
- package/dist/esm/validators/ExcludeCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/FormValidator.js +0 -19
- package/dist/esm/validators/FormValidator.js.map +0 -7
- package/dist/esm/validators/IncludeCheckedValidatorArray.js +0 -17
- package/dist/esm/validators/IncludeCheckedValidatorArray.js.map +0 -7
- package/dist/esm/validators/MultipleValidator.js +0 -27
- package/dist/esm/validators/MultipleValidator.js.map +0 -7
- package/dist/esm/validators/NonPassValidator.js +0 -13
- package/dist/esm/validators/NonPassValidator.js.map +0 -7
- package/dist/esm/validators/NotEmptyValidator.js +0 -14
- package/dist/esm/validators/NotEmptyValidator.js.map +0 -7
- package/dist/esm/validators/NotRegExpTestValidator.js +0 -21
- package/dist/esm/validators/NotRegExpTestValidator.js.map +0 -7
- package/dist/esm/validators/PassValidator.js +0 -13
- package/dist/esm/validators/PassValidator.js.map +0 -7
- package/dist/esm/validators/RegExpTestValidator.js +0 -21
- package/dist/esm/validators/RegExpTestValidator.js.map +0 -7
- package/dist/esm/validators/RequiredValidator.js +0 -14
- package/dist/esm/validators/RequiredValidator.js.map +0 -7
- package/dist/esm/validators/UnCheckedValidator.js +0 -13
- package/dist/esm/validators/UnCheckedValidator.js.map +0 -7
- package/dist/esm/validators/ValidMultipleValidator.js +0 -15
- package/dist/esm/validators/ValidMultipleValidator.js.map +0 -7
- package/dist/esm/validators/ValidValidator.js +0 -14
- package/dist/esm/validators/ValidValidator.js.map +0 -7
- package/dist/esm/validators/ValidValidatorArray.js +0 -14
- package/dist/esm/validators/ValidValidatorArray.js.map +0 -7
- package/dist/esm/validators/Validator.js +0 -187
- package/dist/esm/validators/Validator.js.map +0 -7
- package/dist/esm/validators/ValidatorArray.js +0 -72
- package/dist/esm/validators/ValidatorArray.js.map +0 -7
- package/dist/esm/validators/ValueEqualsValidator.js +0 -14
- package/dist/esm/validators/ValueEqualsValidator.js.map +0 -7
- package/dist/esm/validators/ValueNotEqualsValidator.js +0 -14
- package/dist/esm/validators/ValueNotEqualsValidator.js.map +0 -7
- package/dist/esm/validators/index.js +0 -32
- package/dist/esm/validators/index.js.map +0 -7
- package/dist/types/iterators/Range.d.ts +0 -24
- package/dist/types/iterators/Range.d.ts.map +0 -1
- package/dist/types/iterators/index.d.ts +0 -2
- package/dist/types/iterators/index.d.ts.map +0 -1
- package/dist/types/routers/HashRouter.d.ts +0 -26
- package/dist/types/routers/HashRouter.d.ts.map +0 -1
- package/dist/types/routers/PathRouter.d.ts +0 -25
- package/dist/types/routers/PathRouter.d.ts.map +0 -1
- package/dist/types/routers/Router.d.ts +0 -83
- package/dist/types/routers/Router.d.ts.map +0 -1
- package/dist/types/routers/index.d.ts +0 -4
- package/dist/types/routers/index.d.ts.map +0 -1
- package/dist/types/validators/AllCheckedValidatorArray.d.ts +0 -7
- package/dist/types/validators/AllCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/AllUnCheckedValidatorArray.d.ts +0 -7
- package/dist/types/validators/AllUnCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/CheckedValidator.d.ts +0 -6
- package/dist/types/validators/CheckedValidator.d.ts.map +0 -1
- package/dist/types/validators/CountEqualsCheckedValidatorArray.d.ts +0 -8
- package/dist/types/validators/CountEqualsCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/CountEqualsUnCheckedValidatorArray.d.ts +0 -8
- package/dist/types/validators/CountEqualsUnCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/CountGreaterThanCheckedValidatorArray.d.ts +0 -8
- package/dist/types/validators/CountGreaterThanCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts +0 -8
- package/dist/types/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts +0 -8
- package/dist/types/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/CountGreaterThanUnCheckedValidatorArray.d.ts +0 -8
- package/dist/types/validators/CountGreaterThanUnCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/CountLessThanCheckedValidatorArray.d.ts +0 -8
- package/dist/types/validators/CountLessThanCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/CountLessThanEqualsCheckedValidatorArray.d.ts +0 -8
- package/dist/types/validators/CountLessThanEqualsCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts +0 -8
- package/dist/types/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/CountLessThanUnCheckedValidatorArray.d.ts +0 -8
- package/dist/types/validators/CountLessThanUnCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/CountUnCheckedValidatorArray.d.ts +0 -8
- package/dist/types/validators/CountUnCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/EmptyValidator.d.ts +0 -6
- package/dist/types/validators/EmptyValidator.d.ts.map +0 -1
- package/dist/types/validators/ExcludeCheckedValidatorArray.d.ts +0 -9
- package/dist/types/validators/ExcludeCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/FormValidator.d.ts +0 -8
- package/dist/types/validators/FormValidator.d.ts.map +0 -1
- package/dist/types/validators/IncludeCheckedValidatorArray.d.ts +0 -9
- package/dist/types/validators/IncludeCheckedValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/MultipleValidator.d.ts +0 -9
- package/dist/types/validators/MultipleValidator.d.ts.map +0 -1
- package/dist/types/validators/NonPassValidator.d.ts +0 -6
- package/dist/types/validators/NonPassValidator.d.ts.map +0 -1
- package/dist/types/validators/NotEmptyValidator.d.ts +0 -6
- package/dist/types/validators/NotEmptyValidator.d.ts.map +0 -1
- package/dist/types/validators/NotRegExpTestValidator.d.ts +0 -7
- package/dist/types/validators/NotRegExpTestValidator.d.ts.map +0 -1
- package/dist/types/validators/PassValidator.d.ts +0 -6
- package/dist/types/validators/PassValidator.d.ts.map +0 -1
- package/dist/types/validators/RegExpTestValidator.d.ts +0 -7
- package/dist/types/validators/RegExpTestValidator.d.ts.map +0 -1
- package/dist/types/validators/RequiredValidator.d.ts +0 -6
- package/dist/types/validators/RequiredValidator.d.ts.map +0 -1
- package/dist/types/validators/UnCheckedValidator.d.ts +0 -6
- package/dist/types/validators/UnCheckedValidator.d.ts.map +0 -1
- package/dist/types/validators/ValidMultipleValidator.d.ts +0 -10
- package/dist/types/validators/ValidMultipleValidator.d.ts.map +0 -1
- package/dist/types/validators/ValidValidator.d.ts +0 -7
- package/dist/types/validators/ValidValidator.d.ts.map +0 -1
- package/dist/types/validators/ValidValidatorArray.d.ts +0 -8
- package/dist/types/validators/ValidValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/Validator.d.ts +0 -58
- package/dist/types/validators/Validator.d.ts.map +0 -1
- package/dist/types/validators/ValidatorArray.d.ts +0 -18
- package/dist/types/validators/ValidatorArray.d.ts.map +0 -1
- package/dist/types/validators/ValueEqualsValidator.d.ts +0 -7
- package/dist/types/validators/ValueEqualsValidator.d.ts.map +0 -1
- package/dist/types/validators/ValueNotEqualsValidator.d.ts +0 -7
- package/dist/types/validators/ValueNotEqualsValidator.d.ts.map +0 -1
- package/dist/types/validators/index.d.ts +0 -32
- package/dist/types/validators/index.d.ts.map +0 -1
- package/src/DomRenderProxy.ts_cache_back +0 -1031
- package/src/iterators/Range.ts +0 -73
- package/src/iterators/index.ts +0 -1
- package/src/routers/HashRouter.ts +0 -110
- package/src/routers/PathRouter.ts +0 -105
- package/src/routers/Router.ts +0 -278
- package/src/routers/index.ts +0 -3
- package/src/validators/AllCheckedValidatorArray.ts +0 -12
- package/src/validators/AllUnCheckedValidatorArray.ts +0 -12
- package/src/validators/CheckedValidator.ts +0 -11
- package/src/validators/CountEqualsCheckedValidatorArray.ts +0 -12
- package/src/validators/CountEqualsUnCheckedValidatorArray.ts +0 -12
- package/src/validators/CountGreaterThanCheckedValidatorArray.ts +0 -12
- package/src/validators/CountGreaterThanEqualsCheckedValidatorArray.ts +0 -12
- package/src/validators/CountGreaterThanEqualsUnCheckedValidatorArray.ts +0 -12
- package/src/validators/CountGreaterThanUnCheckedValidatorArray.ts +0 -12
- package/src/validators/CountLessThanCheckedValidatorArray.ts +0 -12
- package/src/validators/CountLessThanEqualsCheckedValidatorArray.ts +0 -12
- package/src/validators/CountLessThanEqualsUnCheckedValidatorArray.ts +0 -12
- package/src/validators/CountLessThanUnCheckedValidatorArray.ts +0 -12
- package/src/validators/CountUnCheckedValidatorArray.ts +0 -12
- package/src/validators/EmptyValidator.ts +0 -12
- package/src/validators/ExcludeCheckedValidatorArray.ts +0 -16
- package/src/validators/FormValidator.ts +0 -19
- package/src/validators/IncludeCheckedValidatorArray.ts +0 -16
- package/src/validators/MultipleValidator.ts +0 -29
- package/src/validators/NonPassValidator.ts +0 -11
- package/src/validators/NotEmptyValidator.ts +0 -13
- package/src/validators/NotRegExpTestValidator.ts +0 -20
- package/src/validators/PassValidator.ts +0 -11
- package/src/validators/RegExpTestValidator.ts +0 -21
- package/src/validators/RequiredValidator.ts +0 -13
- package/src/validators/UnCheckedValidator.ts +0 -11
- package/src/validators/ValidMultipleValidator.ts +0 -14
- package/src/validators/ValidValidator.ts +0 -11
- package/src/validators/ValidValidatorArray.ts +0 -12
- package/src/validators/Validator.ts +0 -245
- package/src/validators/ValidatorArray.ts +0 -83
- package/src/validators/ValueEqualsValidator.ts +0 -11
- package/src/validators/ValueNotEqualsValidator.ts +0 -11
- package/src/validators/index.ts +0 -31
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/ComponentBase.ts"],
|
|
4
|
-
"sourcesContent": ["import { ElementUtils } from '@dooboostore/core-web/element/ElementUtils';\nimport { OnChangeAttrRender, OtherData } from '../lifecycle/OnChangeAttrRender';\nimport { OnCreateRenderData, OnCreateRenderDataParams } from '../lifecycle/OnCreateRenderData';\nimport { RawSet } from '../rawsets/RawSet';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { OnCreatedThisChild } from '../lifecycle/OnCreatedThisChild';\nimport { DomRenderNoProxy } from '../decorators/DomRenderNoProxy';\nimport { OnInitRender } from '../lifecycle/OnInitRender';\nimport { ConvertUtils } from '@dooboostore/core/convert/ConvertUtils';\nimport { OnDestroyRender, OnDestroyRenderParams } from '../lifecycle/OnDestroyRender';\nimport { OnDrThisUnBind } from '../lifecycle/dr-this/OnDrThisUnBind';\nimport { OnDrThisBind } from '../lifecycle/dr-this/OnDrThisBind';\nimport type { Render } from '../rawsets/Render';\nimport { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\nimport { DomRenderConfig } from '../configs/DomRenderConfig';\nimport { Subject } from '@dooboostore/core/message/Subject';\nimport { debounceTime } from '@dooboostore/core/message/operators/debounceTime';\nimport type { Subscription } from '@dooboostore/core/message/Subscription';\nimport { OnRawSetRendered, OnRawSetRenderedOtherData } from \"../lifecycle/OnRawSetRendered\";\nimport {bufferTime} from \"@dooboostore/core/message/operators/bufferTime\";\nimport {OnChildRawSetRendered} from \"../lifecycle/OnChildRawSetRendered\";\n\n\nexport const ATTRIBUTE_METADATA_KEY = Symbol('attribute');\nexport const QUERY_METADATA_KEY = Symbol('query');\nexport const EVENT_METADATA_KEY = Symbol('event');\n\nexport interface AttributeMetadata {\n propertyKey: string | symbol;\n name: string;\n converter?: (value: any | string | null) => any;\n isMethod: boolean;\n}\n\nexport interface QueryMetadata {\n selector: string;\n propertyKey: string | symbol;\n isMethod: boolean;\n convert?: (e: Element) => any;\n onDestroy?: (componentInstance: any, element: Element) => void;\n refreshTime?: number; // milliseconds\n refreshRawSetRendered?: boolean;\n}\n\nexport interface EventMetadata {\n query: string;\n eventName: string;\n methodName: string | symbol;\n onDestroy?: (componentInstance: any, element: Element) => void;\n refreshTime?: number; // milliseconds\n refreshRawSetRendered?: boolean;\n}\n\nexport function attribute(nameOrOptions?: string | { name?: string, converter?: (value: any | string | null) => any }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void {\n return (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const attributes = ReflectUtils.getMetadata<AttributeMetadata[]>(ATTRIBUTE_METADATA_KEY, target.constructor) || [];\n \n let name: string;\n let converter: ((value: any | string | null) => any) | undefined;\n \n if (typeof nameOrOptions === 'string') {\n name = nameOrOptions;\n } else if (nameOrOptions) {\n name = nameOrOptions.name || String(propertyKey);\n converter = nameOrOptions.converter;\n } else {\n name = String(propertyKey);\n }\n \n const attributeMetadata: AttributeMetadata = {\n propertyKey: propertyKey,\n name: name,\n converter: converter,\n isMethod: !!descriptor\n };\n \n attributes.push(attributeMetadata);\n ReflectUtils.defineMetadata(ATTRIBUTE_METADATA_KEY, attributes, target.constructor);\n };\n}\n\nexport function query(selectorOrOptions: string | { selector: string, convert?: (e: Element) => any, onDestroy?: (componentInstance: any, element: Element) => void, refreshIntervalTime?: number, refreshRawSetRendered?: boolean }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void {\n return (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, target.constructor) || [];\n \n let selector: string;\n let convert: ((e: Element) => any) | undefined;\n let onDestroy: ((componentInstance: any, element: Element) => void) | undefined;\n let refreshTime: number | undefined;\n let refreshRawSetRendered: boolean | undefined;\n\n if (typeof selectorOrOptions === 'string') {\n selector = selectorOrOptions;\n } else {\n selector = selectorOrOptions.selector;\n convert = selectorOrOptions.convert;\n onDestroy = selectorOrOptions.onDestroy;\n refreshTime = selectorOrOptions.refreshIntervalTime;\n refreshRawSetRendered = selectorOrOptions.refreshRawSetRendered;\n }\n \n const queryMetadata: QueryMetadata = {\n selector: selector,\n propertyKey: propertyKey,\n isMethod: !!descriptor,\n convert: convert,\n onDestroy: onDestroy,\n refreshTime: refreshTime,\n refreshRawSetRendered\n };\n \n queries.push(queryMetadata);\n ReflectUtils.defineMetadata(QUERY_METADATA_KEY, queries, target.constructor);\n };\n}\n\nexport function event(options: { query: string, name: string, onDestroy?: (componentInstance: any, element: Element) => void, refreshTime?: number, refreshRawSetRendered?: boolean }): MethodDecorator {\n return (target: object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, target.constructor) || [];\n \n const eventMetadata: EventMetadata = {\n query: options.query,\n eventName: options.name,\n methodName: propertyKey,\n onDestroy: options.onDestroy,\n refreshTime: options.refreshTime,\n refreshRawSetRendered: options.refreshRawSetRendered\n };\n \n events.push(eventMetadata);\n ReflectUtils.defineMetadata(EVENT_METADATA_KEY, events, target.constructor);\n };\n}\n\n\nexport type ComponentBaseConfig = { onlyParentType?: ConstructorType<any>[] | ConstructorType<any>,\n createChildrenDebounce?: number,\n onRawSetRenderedOtherDataDebounce?: number\n onChildRawSetRenderedOtherDataDebounce?: number\n};\n\nexport type ChildrenSet = { instance: any, data: OnCreateRenderDataParams };\n\nexport class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBaseConfig> implements OnChangeAttrRender, OnCreateRenderData, OnCreatedThisChild, OnDrThisBind, OnDrThisUnBind, OnInitRender, OnDestroyRender, OnRawSetRendered, OnChildRawSetRendered {\n @DomRenderNoProxy\n private _rawSet?: RawSet;\n @DomRenderNoProxy\n private _children: ChildrenSet[] = [];\n @DomRenderNoProxy\n private _render: Render | undefined;\n @DomRenderNoProxy\n private _attribute?: T;\n @DomRenderNoProxy\n private _boundEventListeners: { element: Element, eventName: string, listener: (e: Event) => void }[] = [];\n @DomRenderNoProxy\n private _queryBindings: { element: Element, metadata: QueryMetadata }[] = [];\n @DomRenderNoProxy\n private _eventBindings: { element: Element, metadata: EventMetadata, listener: (e: Event) => void }[] = [];\n @DomRenderNoProxy\n private _refreshTimers: Map<QueryMetadata | EventMetadata, NodeJS.Timeout> = new Map();\n\n @DomRenderNoProxy\n private childrenSetSubject = new Subject<ChildrenSet[]>();\n @DomRenderNoProxy\n private createChildrenDebounceSubscription?: Subscription | undefined;\n @DomRenderNoProxy\n private onRawSetRenderedOtherDataSubject = new Subject<OnRawSetRenderedOtherData>();\n @DomRenderNoProxy\n private onChildRawSetRenderedOtherDataSubject = new Subject<void>();\n @DomRenderNoProxy\n private onRawSetRenderedOtherDataSubjectSubscription?: Subscription | undefined;\n @DomRenderNoProxy\n private onChildRawSetRenderedOtherDataSubjectSubscription?: Subscription | undefined;\n\n constructor(private _config?: C) {\n }\n get componentConfig(): C | undefined {\n return this._config;\n }\n get render(): Render | undefined {\n return this._render;\n }\n\n get rawSet(): RawSet | undefined {\n return this._rawSet;\n }\n\n get domRenderConfig(): DomRenderConfig | undefined {\n return this.rawSet?.dataSet.config;\n }\n\n private _queryElements(selector: string, rawSet:RawSet): Element[] {\n const e = this.getElement();\n // console.log('queryElement-->', e);\n if (e) {\n return ElementUtils.querySelectorAll(e, selector);\n } else {\n let startNode = rawSet.point?.start;\n let endNode = rawSet.point?.end;\n // console.log('-----', startNode, endNode)\n // console.log('-----', startNode?.isConnected, endNode?.isConnected)\n if (rawSet.point?.start && startNode && !startNode.isConnected && startNode instanceof HTMLElement && startNode.hasAttribute('id')) {\n rawSet.point.start = startNode = rawSet.dataSet.config.window.document.querySelector('#' + startNode.id) as HTMLMetaElement\n }\n if (rawSet.point?.end && endNode && !endNode.isConnected && endNode instanceof HTMLElement && endNode.hasAttribute('id')) {\n rawSet.point.end = endNode = rawSet.dataSet.config.window.document.querySelector('#' + endNode.id) as HTMLMetaElement\n }\n if (startNode && endNode) {\n // console.log('query!!', startNode, endNode);\n return ElementUtils.querySelectorAll({ start: startNode as Element, end: endNode as Element }, selector);\n }\n }\n return [];\n }\n\n private _cleanupEventListeners() {\n for (const { element, eventName, listener } of this._boundEventListeners) {\n element.removeEventListener(eventName, listener);\n }\n this._boundEventListeners = [];\n }\n\n private _cleanupQueryBindings() {\n for (const { element, metadata } of this._queryBindings) {\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n this._clearRefreshTimer(metadata);\n }\n this._queryBindings = [];\n }\n\n private _cleanupEventBindings() {\n for (const { element, metadata, listener } of this._eventBindings) {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n this._clearRefreshTimer(metadata);\n }\n this._eventBindings = [];\n }\n\n private _applyQueryBinding(queryInfo: QueryMetadata, elements: Element[], newElementsOnly: Element[] = elements) {\n const { propertyKey, isMethod, convert } = queryInfo;\n \n // Track bindings for cleanup\n elements.forEach(element => {\n this._queryBindings.push({ element, metadata: queryInfo });\n });\n \n // Apply convert function if provided\n const processedElements = convert ? elements.map(convert) : elements;\n const processedNewElements = convert ? newElementsOnly.map(convert) : newElementsOnly;\n \n if (isMethod) {\n const method = (this as any)[propertyKey];\n if (typeof method === 'function') {\n const paramTypes = ReflectUtils.getParameterTypes(this, propertyKey);\n if (paramTypes && paramTypes.length > 0 && paramTypes[0] === Array) {\n // For array methods, pass only new elements\n method.call(this, processedNewElements, {all: processedElements});\n } else {\n // For single element methods, pass first new element\n if (processedNewElements.length > 0) {\n method.call(this, processedNewElements[0], {all: processedElements, newAll: processedNewElements});\n }\n }\n }\n } else {\n // For properties, always set all elements (not just new ones)\n const propertyType = ReflectUtils.getType(this, propertyKey);\n if (propertyType === Array) {\n (this as any)[propertyKey] = processedElements;\n } else {\n (this as any)[propertyKey] = processedElements[0] || null;\n }\n }\n }\n\n private _setupQueryDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n // console.group('_setupQueryDecorators')\n // console.log('queries', queries);\n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n const elements = this._queryElements(queryInfo.selector, rawSet);\n // console.log('------elements', elements);\n this._applyQueryBinding(queryInfo, elements);\n \n // Setup refresh timer if specified\n this._setupRefreshTimer(queryInfo);\n }\n }\n // console.groupEnd();\n }\n\n private _updateQueryBinding(queryInfo: QueryMetadata, rawSet: RawSet, forceUpdate = false) {\n const newElements = this._queryElements(queryInfo.selector, rawSet);\n \n // Get current bindings for this query\n const currentBindings = this._queryBindings.filter(binding => binding.metadata === queryInfo);\n const currentElements = currentBindings.map(binding => binding.element);\n \n // Check if elements have changed\n const elementsChanged = forceUpdate || !this._arraysEqual(currentElements, newElements);\n \n if (elementsChanged) {\n let addedElements: Element[] = [];\n \n if (forceUpdate) {\n // Force update: cleanup all old bindings, treat all as new\n currentBindings.forEach(({ element, metadata }) => {\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n addedElements = newElements;\n } else {\n // Smart update: only cleanup removed elements, find added elements\n const removedElements = currentElements.filter(element => !newElements.includes(element));\n addedElements = newElements.filter(element => !currentElements.includes(element));\n \n removedElements.forEach(element => {\n if (queryInfo.onDestroy) {\n queryInfo.onDestroy(this, element);\n }\n });\n }\n \n // Remove old bindings\n this._queryBindings = this._queryBindings.filter(binding => binding.metadata !== queryInfo);\n \n // Apply new bindings, but pass only added elements to methods\n this._applyQueryBinding(queryInfo, newElements, addedElements);\n }\n }\n\n private _updateQueryDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n this._updateQueryBinding(queryInfo, rawSet);\n }\n }\n }\n\n private _arraysEqual(arr1: Element[], arr2: Element[]): boolean {\n if (arr1.length !== arr2.length) return false;\n return arr1.every((element, index) => element === arr2[index]);\n }\n\n private _setupRefreshTimer(metadata: QueryMetadata | EventMetadata) {\n if (!metadata.refreshTime || !this._rawSet) return;\n\n const timer = setInterval(() => {\n if (!this._rawSet) return;\n\n if ('selector' in metadata) {\n // QueryMetadata\n this._updateQueryBinding(metadata as QueryMetadata, this._rawSet);\n } else {\n // EventMetadata\n this._updateEventBinding(metadata as EventMetadata, this._rawSet);\n }\n }, metadata.refreshTime);\n\n this._refreshTimers.set(metadata, timer);\n }\n\n private _clearRefreshTimer(metadata: QueryMetadata | EventMetadata) {\n const timer = this._refreshTimers.get(metadata);\n if (timer) {\n clearInterval(timer);\n this._refreshTimers.delete(metadata);\n }\n }\n\n private _clearAllRefreshTimers() {\n for (const timer of Array.from(this._refreshTimers.values())) {\n clearInterval(timer);\n }\n this._refreshTimers.clear();\n }\n\n async onRawSetRendered(rawSet: RawSet, otherData: OnRawSetRenderedOtherData): Promise<void> {\n this.onRawSetRenderedOtherDataSubject.next(otherData);\n // this.onRawSetRenderedOtherDataSubjectSubscription = this.onRawSetRenderedOtherDataSubject.pipe(debounceTime(this.componentConfig?.onRawSetRenderedOtherDataDebounce??0)).subscribe(it => {\n // this.onRawSetRenderedDebounce(it);\n // });\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n if (queries) {\n queries.filter(it => it.refreshRawSetRendered).forEach(queryInfo => {\n this._updateQueryBinding(queryInfo, rawSet, true);\n });\n }\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events) {\n events.filter(it => it.refreshRawSetRendered).forEach(eventInfo => {\n this._updateEventBinding(eventInfo, rawSet, true);\n });\n }\n }\n\n async onChildRawSetRendered(): Promise<void> {\n this.onChildRawSetRenderedOtherDataSubject.next();\n }\n\n /**\n * Manually refresh all query and event decorators\n * Useful when DOM elements are dynamically added/removed and you want to update bindings\n */\n refreshDecorators(): void {\n if (this._rawSet) {\n this._updateQueryDecorators(this._rawSet);\n this._updateEventDecorators(this._rawSet);\n }\n }\n\n /**\n * Manually refresh specific query decorators by property key\n * @param propertyKeys - Array of property keys to refresh, or single property key\n */\n refreshQueryDecorators(propertyKeys: (string | symbol) | (string | symbol)[]): void {\n if (!this._rawSet) return;\n\n const keys = Array.isArray(propertyKeys) ? propertyKeys : [propertyKeys];\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n \n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n if (keys.includes(queryInfo.propertyKey)) {\n this._updateQueryBinding(queryInfo, this._rawSet, true); // Force update\n }\n }\n }\n }\n\n /**\n * Manually refresh specific event decorators by method name\n * @param methodNames - Array of method names to refresh, or single method name\n */\n refreshEventDecorators(methodNames: (string | symbol) | (string | symbol)[]): void {\n if (!this._rawSet) return;\n\n const names = Array.isArray(methodNames) ? methodNames : [methodNames];\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n \n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n if (names.includes(eventInfo.methodName)) {\n this._updateEventBinding(eventInfo, this._rawSet, true); // Force update\n }\n }\n }\n }\n\n private _applyEventBinding(eventInfo: EventMetadata, elements: Element[]) {\n elements.forEach(element => {\n const listener = (this as any)[eventInfo.methodName].bind(this);\n // console.log('bind?????', element);\n element.addEventListener(eventInfo.eventName, listener);\n \n // Track bindings for cleanup\n this._eventBindings.push({ element, metadata: eventInfo, listener });\n this._boundEventListeners.push({ element, eventName: eventInfo.eventName, listener });\n });\n }\n\n private _setupEventDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n const elements = this._queryElements(eventInfo.query, rawSet);\n this._applyEventBinding(eventInfo, elements);\n \n // Setup refresh timer if specified\n this._setupRefreshTimer(eventInfo);\n }\n }\n }\n\n private _updateEventBinding(eventInfo: EventMetadata, rawSet: RawSet, forceUpdate = false) {\n const newElements = this._queryElements(eventInfo.query, rawSet);\n \n // Get current bindings for this event\n const currentBindings = this._eventBindings.filter(binding => binding.metadata === eventInfo);\n const currentElements = currentBindings.map(binding => binding.element);\n \n // Check if elements have changed\n const elementsChanged = forceUpdate || !this._arraysEqual(currentElements, newElements);\n \n if (elementsChanged) {\n if (forceUpdate) {\n // Force update: cleanup all old bindings\n currentBindings.forEach(({ element, metadata, listener }) => {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n } else {\n // Smart update: only cleanup removed elements\n const removedElements = currentElements.filter(element => !newElements.includes(element));\n const removedBindings = currentBindings.filter(binding => removedElements.includes(binding.element));\n \n removedBindings.forEach(({ element, metadata, listener }) => {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n }\n \n // Remove old bindings from tracking arrays\n this._eventBindings = this._eventBindings.filter(binding => binding.metadata !== eventInfo);\n this._boundEventListeners = this._boundEventListeners.filter(binding => \n !currentBindings.some(cb => cb.element === binding.element && cb.metadata.eventName === binding.eventName)\n );\n \n // Apply new bindings\n this._applyEventBinding(eventInfo, newElements);\n }\n }\n\n private _updateEventDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n this._updateEventBinding(eventInfo, rawSet);\n }\n }\n }\ngetAttributeNames(attribute = this._attribute): string[] {\n const target = attribute as any;\n if (!target) return [];\n const keys = Object.keys(target);\n const names = new Set<string>();\n for (const k of keys) {\n names.add(k);\n // names.add(ConvertUtils.camelToSnakeCase(k));\n // names.add(ConvertUtils.snakeToCamelCase(k));\n // names.add(k.toLowerCase());\n // names.add(k.toUpperCase());\n }\n return Array.from(names);\n}\n getAttribute<K extends keyof T>(name: K, attribute = this._attribute): T[K] | null {\n const target = attribute as any;\n if (!target) {\n return null;\n }\n\n const nameString = String(name);\n let p = nameString;\n if (p in target) {\n return target[p];\n }\n p = ConvertUtils.snakeToCamelCase(nameString);\n if (p in target) {\n return target[p];\n }\n p = ConvertUtils.camelToSnakeCase(nameString);\n if (p in target) {\n return target[p];\n }\n p = nameString.toUpperCase()\n if (p in target) {\n return target[p];\n }\n p = nameString.toLowerCase()\n if (p in target) {\n return target[p];\n }\n return null;\n }\n\n hasAttribute(name: keyof T) {\n return this.getAttribute(name) !==null;\n }\n\n equalsAttributeName(n: string, name: keyof T) {\n return n === name ||\n ConvertUtils.snakeToCamelCase(n) === name ||\n ConvertUtils.camelToSnakeCase(n) === name ||\n n.toUpperCase() === (name as string).toUpperCase() ||\n n.toLowerCase() === (name as string).toLowerCase()\n ;\n }\n\n get uuid(): string | undefined {\n return this._rawSet?.uuid;\n }\n\n get childrenSet() {\n return this._children;\n }\n\n get children(): any[] {\n return this._children.map(it=>it.instance);\n }\n\n getElement<T extends Element>(): T | undefined {\n return (this.render ?? this.rawSet?.dataSet?.render)?.getElement?.();\n }\n\n getFirstChild<T>(type: ConstructorType<T>): T | undefined {\n return this._children.find(it => it.instance instanceof type)?.instance;\n }\n\n getParentThis<P>():P {\n return this.render?.parentThis as P;\n }\n\n getChildren<C extends ConstructorType<any>>(type: C): InstanceType<C>[];\n getChildren<C extends ConstructorType<any>[]>(types: C): InstanceType<C[number]>[];\n getChildren(typeOrTypes: ConstructorType<any> | ConstructorType<any>[]): any[] {\n const targets = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes];\n return this._children.filter(childSet =>\n targets.some(targetConstructor => childSet.instance instanceof targetConstructor)\n )?.map(it=>it.instance);\n }\n\n\n\n private setRawSet(rawSet: RawSet) {\n this._rawSet = rawSet;\n if (this._rawSet) {\n this.setAttribute(this._rawSet.dataSet?.render?.attribute as T);\n }\n }\n\n setAttribute(attribute: T) {\n this._attribute = attribute;\n }\n\n // TODO: rawSet isConnected로 체크해서 들어가있는것만 처리되도록 또는 이미들어가있는것도 뺴야될것같은데.. 적용하긴했음..지켜봐야될듯.\n onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n // console.log('onCreatedThisChild------------------------',child, data, data.render?.rawSet?.isConnected)\n const n = [...this._children];\n n.push({instance:child, data});\n this._children = n.filter(it=>it.data.render?.rawSet?.isConnected)\n this.childrenSetSubject.next(this._children);\n \n // Update decorators when children change (DOM might have changed)\n // Only update if elements actually changed\n if (this._rawSet) {\n this._updateQueryDecorators(this._rawSet);\n this._updateEventDecorators(this._rawSet);\n }\n }\n\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n }\n onRawSetRenderedDebounce(childrenSet: OnRawSetRenderedOtherData[]) {\n }\n onChildRawSetRenderedDebounce(){\n\n }\n\n onCreateRenderData(data: OnCreateRenderDataParams): void {\n this._render = data.render;\n if (data.render?.rawSet) {\n this.setRawSet(data.render.rawSet);\n }\n if (this._config?.onlyParentType) {\n const isOk = Array.isArray(this._config?.onlyParentType) ? this._config?.onlyParentType : [this._config?.onlyParentType].some(it => data.render?.parentThis instanceof it);\n if (!isOk) {\n throw new Error('only my parentThis ' + this._config?.onlyParentType);\n }\n }\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData): void {\n if (other?.rawSet) {\n this.setRawSet(other.rawSet);\n }\n\n const attributes = ReflectUtils.getMetadata<AttributeMetadata[]>(ATTRIBUTE_METADATA_KEY, this.constructor);\n if (attributes && Array.isArray(attributes)) {\n for (const attrInfo of attributes) {\n if (this.equalsAttributeName(name, attrInfo.name as any)) {\n const finalValue = attrInfo.converter ? attrInfo.converter(value) : value;\n if (attrInfo.isMethod) {\n const method = (this as any)[attrInfo.propertyKey];\n if (typeof method === 'function') {\n method.call(this, finalValue);\n }\n } else {\n (this as any)[attrInfo.propertyKey] = finalValue;\n }\n }\n }\n }\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n this.createChildrenDebounceSubscription = this.childrenSetSubject.pipe(\n debounceTime(this.componentConfig?.createChildrenDebounce??0)\n ).subscribe(it => {\n // console.log('call onCreatedThisChildDebounce', it);\n this.onCreatedThisChildDebounce(it);\n });\n this.onRawSetRenderedOtherDataSubjectSubscription = this.onRawSetRenderedOtherDataSubject.pipe(\n bufferTime(this.componentConfig?.onRawSetRenderedOtherDataDebounce??0)\n ).subscribe(it => {\n this.onRawSetRenderedDebounce(it);\n });\n this.onChildRawSetRenderedOtherDataSubjectSubscription = this.onChildRawSetRenderedOtherDataSubject.pipe(\n debounceTime(this.componentConfig?.onChildRawSetRenderedOtherDataDebounce??0)\n ).subscribe(it => {\n this.onChildRawSetRenderedDebounce();\n });\n if (rawSet) {\n this.setRawSet(rawSet);\n\n const e = this.getElement();\n if (e) {\n (e as any).component = this;\n }\n\n // Setup decorators\n this._setupQueryDecorators(rawSet);\n this._setupEventDecorators(rawSet);\n }\n }\n\n onDrThisBind() {\n // Logic moved to onInitRender for robustness\n }\n\n onDrThisUnBind() {\n this.onDestroy();\n }\n\n onDestroyRender(data?: OnDestroyRenderParams): void {\n this.onDestroy();\n }\n\n onDestroy() {\n this._cleanupEventListeners();\n this._cleanupQueryBindings();\n this._cleanupEventBindings();\n this._clearAllRefreshTimers();\n this.createChildrenDebounceSubscription?.unsubscribe();\n this.onRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();\n this.onChildRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();\n }\n\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { ElementUtils } from '@dooboostore/core-web';\nimport { OnChangeAttrRender, OtherData } from '../lifecycle/OnChangeAttrRender';\nimport { OnCreateRenderData, OnCreateRenderDataParams } from '../lifecycle/OnCreateRenderData';\nimport { RawSet } from '../rawsets/RawSet';\nimport { ConstructorType } from '@dooboostore/core';\nimport { OnCreatedThisChild } from '../lifecycle/OnCreatedThisChild';\nimport { DomRenderNoProxy } from '../decorators/DomRenderNoProxy';\nimport { OnInitRender } from '../lifecycle/OnInitRender';\nimport { ConvertUtils } from '@dooboostore/core';\nimport { OnDestroyRender, OnDestroyRenderParams } from '../lifecycle/OnDestroyRender';\nimport { OnDrThisUnBind } from '../lifecycle/dr-this/OnDrThisUnBind';\nimport { OnDrThisBind } from '../lifecycle/dr-this/OnDrThisBind';\nimport type { Render } from '../rawsets/Render';\nimport { ReflectUtils } from '@dooboostore/core';\nimport { DomRenderConfig } from '../configs/DomRenderConfig';\nimport { Subject } from '@dooboostore/core';\nimport { debounceTime, bufferTime } from '@dooboostore/core/message/operators';\nimport type { Subscription } from '@dooboostore/core';\nimport { OnRawSetRendered, OnRawSetRenderedOtherData } from \"../lifecycle/OnRawSetRendered\";\nimport {OnChildRawSetRendered} from \"../lifecycle/OnChildRawSetRendered\";\n\n\nexport const ATTRIBUTE_METADATA_KEY = Symbol.for('dom-render:attribute-metadata');\nexport const QUERY_METADATA_KEY = Symbol.for('dom-render:query-metadata');\nexport const EVENT_METADATA_KEY = Symbol.for('dom-render:event-metadata');\n\nexport interface AttributeMetadata {\n propertyKey: string | symbol;\n name: string;\n converter?: (value: any | string | null) => any;\n isMethod: boolean;\n}\n\nexport interface QueryMetadata {\n selector: string;\n propertyKey: string | symbol;\n isMethod: boolean;\n convert?: (e: Element) => any;\n onDestroy?: (componentInstance: any, element: Element) => void;\n refreshTime?: number; // milliseconds\n refreshRawSetRendered?: boolean;\n}\n\nexport interface EventMetadata {\n query: string;\n eventName: string;\n methodName: string | symbol;\n onDestroy?: (componentInstance: any, element: Element) => void;\n refreshTime?: number; // milliseconds\n refreshRawSetRendered?: boolean;\n}\n\nexport function attribute(nameOrOptions?: string | { name?: string, converter?: (value: any | string | null) => any }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void {\n return (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const attributes = ReflectUtils.getMetadata<AttributeMetadata[]>(ATTRIBUTE_METADATA_KEY, target.constructor) || [];\n \n let name: string;\n let converter: ((value: any | string | null) => any) | undefined;\n \n if (typeof nameOrOptions === 'string') {\n name = nameOrOptions;\n } else if (nameOrOptions) {\n name = nameOrOptions.name || String(propertyKey);\n converter = nameOrOptions.converter;\n } else {\n name = String(propertyKey);\n }\n \n const attributeMetadata: AttributeMetadata = {\n propertyKey: propertyKey,\n name: name,\n converter: converter,\n isMethod: !!descriptor\n };\n \n attributes.push(attributeMetadata);\n ReflectUtils.defineMetadata(ATTRIBUTE_METADATA_KEY, attributes, target.constructor);\n };\n}\n\nexport function query(selectorOrOptions: string | { selector: string, convert?: (e: Element) => any, onDestroy?: (componentInstance: any, element: Element) => void, refreshIntervalTime?: number, refreshRawSetRendered?: boolean }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void {\n return (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, target.constructor) || [];\n \n let selector: string;\n let convert: ((e: Element) => any) | undefined;\n let onDestroy: ((componentInstance: any, element: Element) => void) | undefined;\n let refreshTime: number | undefined;\n let refreshRawSetRendered: boolean | undefined;\n\n if (typeof selectorOrOptions === 'string') {\n selector = selectorOrOptions;\n } else {\n selector = selectorOrOptions.selector;\n convert = selectorOrOptions.convert;\n onDestroy = selectorOrOptions.onDestroy;\n refreshTime = selectorOrOptions.refreshIntervalTime;\n refreshRawSetRendered = selectorOrOptions.refreshRawSetRendered;\n }\n \n const queryMetadata: QueryMetadata = {\n selector: selector,\n propertyKey: propertyKey,\n isMethod: !!descriptor,\n convert: convert,\n onDestroy: onDestroy,\n refreshTime: refreshTime,\n refreshRawSetRendered\n };\n \n queries.push(queryMetadata);\n ReflectUtils.defineMetadata(QUERY_METADATA_KEY, queries, target.constructor);\n };\n}\n\nexport function event(options: { query: string, name: string, onDestroy?: (componentInstance: any, element: Element) => void, refreshTime?: number, refreshRawSetRendered?: boolean }): MethodDecorator {\n return (target: object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, target.constructor) || [];\n \n const eventMetadata: EventMetadata = {\n query: options.query,\n eventName: options.name,\n methodName: propertyKey,\n onDestroy: options.onDestroy,\n refreshTime: options.refreshTime,\n refreshRawSetRendered: options.refreshRawSetRendered\n };\n \n events.push(eventMetadata);\n ReflectUtils.defineMetadata(EVENT_METADATA_KEY, events, target.constructor);\n };\n}\n\n\nexport type ComponentBaseConfig = { onlyParentType?: ConstructorType<any>[] | ConstructorType<any>,\n createChildrenDebounce?: number,\n onRawSetRenderedOtherDataDebounce?: number\n onChildRawSetRenderedOtherDataDebounce?: number\n};\n\nexport type ChildrenSet = { instance: any, data: OnCreateRenderDataParams };\n\nexport class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBaseConfig> implements OnChangeAttrRender, OnCreateRenderData, OnCreatedThisChild, OnDrThisBind, OnDrThisUnBind, OnInitRender, OnDestroyRender, OnRawSetRendered, OnChildRawSetRendered {\n @DomRenderNoProxy\n private _rawSet?: RawSet;\n @DomRenderNoProxy\n private _children: ChildrenSet[] = [];\n @DomRenderNoProxy\n private _render: Render | undefined;\n @DomRenderNoProxy\n private _attribute?: T;\n @DomRenderNoProxy\n private _boundEventListeners: { element: Element, eventName: string, listener: (e: Event) => void }[] = [];\n @DomRenderNoProxy\n private _queryBindings: { element: Element, metadata: QueryMetadata }[] = [];\n @DomRenderNoProxy\n private _eventBindings: { element: Element, metadata: EventMetadata, listener: (e: Event) => void }[] = [];\n @DomRenderNoProxy\n private _refreshTimers: Map<QueryMetadata | EventMetadata, NodeJS.Timeout> = new Map();\n\n @DomRenderNoProxy\n private childrenSetSubject = new Subject<ChildrenSet[]>();\n @DomRenderNoProxy\n private createChildrenDebounceSubscription?: Subscription | undefined;\n @DomRenderNoProxy\n private onRawSetRenderedOtherDataSubject = new Subject<OnRawSetRenderedOtherData>();\n @DomRenderNoProxy\n private onChildRawSetRenderedOtherDataSubject = new Subject<void>();\n @DomRenderNoProxy\n private onRawSetRenderedOtherDataSubjectSubscription?: Subscription | undefined;\n @DomRenderNoProxy\n private onChildRawSetRenderedOtherDataSubjectSubscription?: Subscription | undefined;\n\n constructor(private _config?: C) {\n // console.log('ComponentBase created', this);\n // setTimeout(()=>{\n // console.log('ComponentBase created', this.constructor.name, this._rawSet?.uuid);\n // }, 1000)\n }\n get componentConfig(): C | undefined {\n return this._config;\n }\n get render(): Render | undefined {\n return this._render;\n }\n\n get rawSet(): RawSet | undefined {\n return this._rawSet;\n }\n\n get domRenderConfig(): DomRenderConfig | undefined {\n return this.rawSet?.dataSet.config;\n }\n\n private _queryElements(selector: string, rawSet:RawSet): Element[] {\n const e = this.getElement();\n // console.log('queryElement-->', e);\n if (e) {\n return ElementUtils.querySelectorAll(e, selector);\n } else {\n let startNode = rawSet.point?.start;\n let endNode = rawSet.point?.end;\n // console.log('-----', startNode, endNode)\n // console.log('-----', startNode?.isConnected, endNode?.isConnected)\n if (rawSet.point?.start && startNode && !startNode.isConnected && startNode instanceof HTMLElement && startNode.hasAttribute('id')) {\n rawSet.point.start = startNode = rawSet.dataSet.config.window.document.querySelector('#' + startNode.id) as HTMLMetaElement\n }\n if (rawSet.point?.end && endNode && !endNode.isConnected && endNode instanceof HTMLElement && endNode.hasAttribute('id')) {\n rawSet.point.end = endNode = rawSet.dataSet.config.window.document.querySelector('#' + endNode.id) as HTMLMetaElement\n }\n if (startNode && endNode) {\n // console.log('query!!', startNode, endNode);\n return ElementUtils.querySelectorAll({ start: startNode as Element, end: endNode as Element }, selector);\n }\n }\n return [];\n }\n\n private _cleanupEventListeners() {\n for (const { element, eventName, listener } of this._boundEventListeners) {\n element.removeEventListener(eventName, listener);\n }\n this._boundEventListeners = [];\n }\n\n private _cleanupQueryBindings() {\n for (const { element, metadata } of this._queryBindings) {\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n this._clearRefreshTimer(metadata);\n }\n this._queryBindings = [];\n }\n\n private _cleanupEventBindings() {\n for (const { element, metadata, listener } of this._eventBindings) {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n this._clearRefreshTimer(metadata);\n }\n this._eventBindings = [];\n }\n\n private _applyQueryBinding(queryInfo: QueryMetadata, elements: Element[], newElementsOnly: Element[] = elements) {\n const { propertyKey, isMethod, convert } = queryInfo;\n \n // Track bindings for cleanup\n elements.forEach(element => {\n this._queryBindings.push({ element, metadata: queryInfo });\n });\n \n // Apply convert function if provided\n const processedElements = convert ? elements.map(convert) : elements;\n const processedNewElements = convert ? newElementsOnly.map(convert) : newElementsOnly;\n \n if (isMethod) {\n const method = (this as any)[propertyKey];\n if (typeof method === 'function') {\n const paramTypes = ReflectUtils.getParameterTypes(this, propertyKey);\n if (paramTypes && paramTypes.length > 0 && paramTypes[0] === Array) {\n // For array methods, pass only new elements\n method.call(this, processedNewElements, {all: processedElements});\n } else {\n // For single element methods, pass first new element\n if (processedNewElements.length > 0) {\n method.call(this, processedNewElements[0], {all: processedElements, newAll: processedNewElements});\n }\n }\n }\n } else {\n // For properties, always set all elements (not just new ones)\n const propertyType = ReflectUtils.getType(this, propertyKey);\n if (propertyType === Array) {\n (this as any)[propertyKey] = processedElements;\n } else {\n (this as any)[propertyKey] = processedElements[0] || null;\n }\n }\n }\n\n private _setupQueryDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n // console.group('_setupQueryDecorators')\n // console.log('queries', queries);\n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n const elements = this._queryElements(queryInfo.selector, rawSet);\n // console.log('------elements', elements);\n this._applyQueryBinding(queryInfo, elements);\n \n // Setup refresh timer if specified\n this._setupRefreshTimer(queryInfo);\n }\n }\n // console.groupEnd();\n }\n\n private _updateQueryBinding(queryInfo: QueryMetadata, rawSet: RawSet, forceUpdate = false) {\n const newElements = this._queryElements(queryInfo.selector, rawSet);\n \n // Get current bindings for this query\n const currentBindings = this._queryBindings.filter(binding => binding.metadata === queryInfo);\n const currentElements = currentBindings.map(binding => binding.element);\n \n // Check if elements have changed\n const elementsChanged = forceUpdate || !this._arraysEqual(currentElements, newElements);\n \n if (elementsChanged) {\n let addedElements: Element[] = [];\n \n if (forceUpdate) {\n // Force update: cleanup all old bindings, treat all as new\n currentBindings.forEach(({ element, metadata }) => {\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n addedElements = newElements;\n } else {\n // Smart update: only cleanup removed elements, find added elements\n const removedElements = currentElements.filter(element => !newElements.includes(element));\n addedElements = newElements.filter(element => !currentElements.includes(element));\n \n removedElements.forEach(element => {\n if (queryInfo.onDestroy) {\n queryInfo.onDestroy(this, element);\n }\n });\n }\n \n // Remove old bindings\n this._queryBindings = this._queryBindings.filter(binding => binding.metadata !== queryInfo);\n \n // Apply new bindings, but pass only added elements to methods\n this._applyQueryBinding(queryInfo, newElements, addedElements);\n }\n }\n\n private _updateQueryDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n this._updateQueryBinding(queryInfo, rawSet);\n }\n }\n }\n\n private _arraysEqual(arr1: Element[], arr2: Element[]): boolean {\n if (arr1.length !== arr2.length) return false;\n return arr1.every((element, index) => element === arr2[index]);\n }\n\n private _setupRefreshTimer(metadata: QueryMetadata | EventMetadata) {\n if (!metadata.refreshTime || !this._rawSet) return;\n\n const timer = setInterval(() => {\n if (!this._rawSet) return;\n\n if ('selector' in metadata) {\n // QueryMetadata\n this._updateQueryBinding(metadata as QueryMetadata, this._rawSet);\n } else {\n // EventMetadata\n this._updateEventBinding(metadata as EventMetadata, this._rawSet);\n }\n }, metadata.refreshTime);\n\n this._refreshTimers.set(metadata, timer);\n }\n\n private _clearRefreshTimer(metadata: QueryMetadata | EventMetadata) {\n const timer = this._refreshTimers.get(metadata);\n if (timer) {\n clearInterval(timer);\n this._refreshTimers.delete(metadata);\n }\n }\n\n private _clearAllRefreshTimers() {\n for (const timer of Array.from(this._refreshTimers.values())) {\n clearInterval(timer);\n }\n this._refreshTimers.clear();\n }\n\n async onRawSetRendered(rawSet: RawSet, otherData: OnRawSetRenderedOtherData): Promise<void> {\n this.onRawSetRenderedOtherDataSubject.next(otherData);\n // this.onRawSetRenderedOtherDataSubjectSubscription = this.onRawSetRenderedOtherDataSubject.pipe(debounceTime(this.componentConfig?.onRawSetRenderedOtherDataDebounce??0)).subscribe(it => {\n // this.onRawSetRenderedDebounce(it);\n // });\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n if (queries) {\n queries.filter(it => it.refreshRawSetRendered).forEach(queryInfo => {\n this._updateQueryBinding(queryInfo, rawSet, true);\n });\n }\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events) {\n events.filter(it => it.refreshRawSetRendered).forEach(eventInfo => {\n this._updateEventBinding(eventInfo, rawSet, true);\n });\n }\n }\n\n async onChildRawSetRendered(): Promise<void> {\n this.onChildRawSetRenderedOtherDataSubject.next();\n }\n\n /**\n * Manually refresh all query and event decorators\n * Useful when DOM elements are dynamically added/removed and you want to update bindings\n */\n refreshDecorators(): void {\n if (this._rawSet) {\n this._updateQueryDecorators(this._rawSet);\n this._updateEventDecorators(this._rawSet);\n }\n }\n\n /**\n * Manually refresh specific query decorators by property key\n * @param propertyKeys - Array of property keys to refresh, or single property key\n */\n refreshQueryDecorators(propertyKeys: (string | symbol) | (string | symbol)[]): void {\n if (!this._rawSet) return;\n\n const keys = Array.isArray(propertyKeys) ? propertyKeys : [propertyKeys];\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n \n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n if (keys.includes(queryInfo.propertyKey)) {\n this._updateQueryBinding(queryInfo, this._rawSet, true); // Force update\n }\n }\n }\n }\n\n /**\n * Manually refresh specific event decorators by method name\n * @param methodNames - Array of method names to refresh, or single method name\n */\n refreshEventDecorators(methodNames: (string | symbol) | (string | symbol)[]): void {\n if (!this._rawSet) return;\n\n const names = Array.isArray(methodNames) ? methodNames : [methodNames];\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n \n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n if (names.includes(eventInfo.methodName)) {\n this._updateEventBinding(eventInfo, this._rawSet, true); // Force update\n }\n }\n }\n }\n\n private _applyEventBinding(eventInfo: EventMetadata, elements: Element[]) {\n elements.forEach(element => {\n const listener = (this as any)[eventInfo.methodName].bind(this);\n // console.log('bind?????', element);\n element.addEventListener(eventInfo.eventName, listener);\n \n // Track bindings for cleanup\n this._eventBindings.push({ element, metadata: eventInfo, listener });\n this._boundEventListeners.push({ element, eventName: eventInfo.eventName, listener });\n });\n }\n\n private _setupEventDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n const elements = this._queryElements(eventInfo.query, rawSet);\n this._applyEventBinding(eventInfo, elements);\n \n // Setup refresh timer if specified\n this._setupRefreshTimer(eventInfo);\n }\n }\n }\n\n private _updateEventBinding(eventInfo: EventMetadata, rawSet: RawSet, forceUpdate = false) {\n const newElements = this._queryElements(eventInfo.query, rawSet);\n \n // Get current bindings for this event\n const currentBindings = this._eventBindings.filter(binding => binding.metadata === eventInfo);\n const currentElements = currentBindings.map(binding => binding.element);\n \n // Check if elements have changed\n const elementsChanged = forceUpdate || !this._arraysEqual(currentElements, newElements);\n \n if (elementsChanged) {\n if (forceUpdate) {\n // Force update: cleanup all old bindings\n currentBindings.forEach(({ element, metadata, listener }) => {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n } else {\n // Smart update: only cleanup removed elements\n const removedElements = currentElements.filter(element => !newElements.includes(element));\n const removedBindings = currentBindings.filter(binding => removedElements.includes(binding.element));\n \n removedBindings.forEach(({ element, metadata, listener }) => {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n }\n \n // Remove old bindings from tracking arrays\n this._eventBindings = this._eventBindings.filter(binding => binding.metadata !== eventInfo);\n this._boundEventListeners = this._boundEventListeners.filter(binding => \n !currentBindings.some(cb => cb.element === binding.element && cb.metadata.eventName === binding.eventName)\n );\n \n // Apply new bindings\n this._applyEventBinding(eventInfo, newElements);\n }\n }\n\n private _updateEventDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n this._updateEventBinding(eventInfo, rawSet);\n }\n }\n }\ngetAttributeNames(attribute = this._attribute): string[] {\n const target = attribute as any;\n if (!target) return [];\n const keys = Object.keys(target);\n const names = new Set<string>();\n for (const k of keys) {\n names.add(k);\n // names.add(ConvertUtils.camelToSnakeCase(k));\n // names.add(ConvertUtils.snakeToCamelCase(k));\n // names.add(k.toLowerCase());\n // names.add(k.toUpperCase());\n }\n return Array.from(names);\n}\n getAttribute<K extends keyof T>(name: K, attribute = this._attribute): T[K] | null {\n const target = attribute as any;\n if (!target) {\n return null;\n }\n\n const nameString = String(name);\n let p = nameString;\n if (p in target) {\n return target[p];\n }\n p = ConvertUtils.snakeToCamelCase(nameString);\n if (p in target) {\n return target[p];\n }\n p = ConvertUtils.camelToSnakeCase(nameString);\n if (p in target) {\n return target[p];\n }\n p = nameString.toUpperCase()\n if (p in target) {\n return target[p];\n }\n p = nameString.toLowerCase()\n if (p in target) {\n return target[p];\n }\n return null;\n }\n\n hasAttribute(name: keyof T) {\n return this.getAttribute(name) !==null;\n }\n\n equalsAttributeName(n: string, name: keyof T) {\n return n === name ||\n ConvertUtils.snakeToCamelCase(n) === name ||\n ConvertUtils.camelToSnakeCase(n) === name ||\n n.toUpperCase() === (name as string).toUpperCase() ||\n n.toLowerCase() === (name as string).toLowerCase()\n ;\n }\n\n get uuid(): string | undefined {\n return this._rawSet?.uuid;\n }\n\n get childrenSet() {\n return this._children;\n }\n\n get children(): any[] {\n return this._children.map(it=>it.instance);\n }\n\n getElement<T extends Element>(): T | undefined {\n return (this.render ?? this.rawSet?.dataSet?.render)?.getElement?.();\n }\n\n getFirstChild<T>(type: ConstructorType<T>): T | undefined {\n return this._children.find(it => it.instance instanceof type)?.instance;\n }\n\n getParentThis<P>():P {\n return this.render?.parentThis as P;\n }\n\n getChildren<C extends ConstructorType<any>>(type: C): InstanceType<C>[];\n getChildren<C extends ConstructorType<any>[]>(types: C): InstanceType<C[number]>[];\n getChildren(typeOrTypes: ConstructorType<any> | ConstructorType<any>[]): any[] {\n const targets = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes];\n return this._children.filter(childSet =>\n targets.some(targetConstructor => childSet.instance instanceof targetConstructor)\n )?.map(it=>it.instance);\n }\n\n\n\n private setRawSet(rawSet: RawSet) {\n this._rawSet = rawSet;\n if (this._rawSet) {\n this.setAttribute(this._rawSet.dataSet?.render?.attribute as T);\n }\n }\n\n setAttribute(attribute: T) {\n this._attribute = attribute;\n }\n\n // TODO: rawSet isConnected로 체크해서 들어가있는것만 처리되도록 또는 이미들어가있는것도 뺴야될것같은데.. 적용하긴했음..지켜봐야될듯.\n onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n // console.log('onCreatedThisChild------------------------',child, data, data.render?.rawSet?.isConnected)\n const n = [...this._children];\n n.push({instance:child, data});\n this._children = n.filter(it=>it.data.render?.rawSet?.isConnected)\n this.childrenSetSubject.next(this._children);\n \n // Update decorators when children change (DOM might have changed)\n // Only update if elements actually changed\n if (this._rawSet) {\n this._updateQueryDecorators(this._rawSet);\n this._updateEventDecorators(this._rawSet);\n }\n }\n\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n }\n onRawSetRenderedDebounce(childrenSet: OnRawSetRenderedOtherData[]) {\n }\n onChildRawSetRenderedDebounce(){\n\n }\n\n onCreateRenderData(data: OnCreateRenderDataParams): void {\n this._render = data.render;\n if (data.render?.rawSet) {\n this.setRawSet(data.render.rawSet);\n }\n if (this._config?.onlyParentType) {\n const isOk = Array.isArray(this._config?.onlyParentType) ? this._config?.onlyParentType : [this._config?.onlyParentType].some(it => data.render?.parentThis instanceof it);\n if (!isOk) {\n throw new Error('only my parentThis ' + this._config?.onlyParentType);\n }\n }\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData): void {\n if (other?.rawSet) {\n this.setRawSet(other.rawSet);\n }\n\n const attributes = ReflectUtils.getMetadata<AttributeMetadata[]>(ATTRIBUTE_METADATA_KEY, this.constructor);\n if (attributes && Array.isArray(attributes)) {\n for (const attrInfo of attributes) {\n if (this.equalsAttributeName(name, attrInfo.name as any)) {\n const finalValue = attrInfo.converter ? attrInfo.converter(value) : value;\n if (attrInfo.isMethod) {\n const method = (this as any)[attrInfo.propertyKey];\n if (typeof method === 'function') {\n method.call(this, finalValue);\n }\n } else {\n (this as any)[attrInfo.propertyKey] = finalValue;\n }\n }\n }\n }\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n\n // console.log('onInitRender ComponentBase', this.constructor.name, rawSet?.uuid);\n const window = rawSet.dataSet?.config?.window;\n this.createChildrenDebounceSubscription = this.childrenSetSubject.pipe(\n debounceTime(this.componentConfig?.createChildrenDebounce??1, {\n setTimeout: window ? window.setTimeout.bind(window) : undefined,\n clearTimeout: window ? window.clearTimeout.bind(window) : undefined,\n })\n ).subscribe(it => {\n // console.log('call onCreatedThisChildDebounce', it);\n this.onCreatedThisChildDebounce(it);\n });\n this.onRawSetRenderedOtherDataSubjectSubscription = this.onRawSetRenderedOtherDataSubject.pipe(\n bufferTime(this.componentConfig?.onRawSetRenderedOtherDataDebounce??1, {\n skipEmpty: true,\n setInterval: window ? window.setInterval.bind(window) : undefined,\n clearInterval: window ? window.clearInterval.bind(window) : undefined,\n setTimeout: window ? window.setTimeout.bind(window) : undefined,\n clearTimeout: window ? window.clearTimeout.bind(window) : undefined,\n })\n ).subscribe(it => {\n this.onRawSetRenderedDebounce(it);\n });\n this.onChildRawSetRenderedOtherDataSubjectSubscription = this.onChildRawSetRenderedOtherDataSubject.pipe(\n debounceTime(this.componentConfig?.onChildRawSetRenderedOtherDataDebounce??10, {\n setTimeout: window ? window.setTimeout.bind(window) : undefined,\n clearTimeout: window ? window.clearTimeout.bind(window) : undefined,\n })\n ).subscribe(it => {\n this.onChildRawSetRenderedDebounce();\n });\n if (rawSet) {\n this.setRawSet(rawSet);\n\n const e = this.getElement();\n if (e) {\n (e as any).component = this;\n }\n\n // Setup decorators\n this._setupQueryDecorators(rawSet);\n this._setupEventDecorators(rawSet);\n }\n }\n\n onDrThisBind() {\n // Logic moved to onInitRender for robustness\n }\n\n onDrThisUnBind() {\n this.onDestroy();\n }\n\n onDestroyRender(data?: OnDestroyRenderParams): void {\n this.onDestroy();\n }\n\n onDestroy() {\n this._cleanupEventListeners();\n this._cleanupQueryBindings();\n this._cleanupEventBindings();\n this._clearAllRefreshTimers();\n this.createChildrenDebounceSubscription?.unsubscribe();\n this.onRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();\n this.onChildRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();\n // console.log('ComponentBase onDestroy', this.constructor.name, this.onRawSetRenderedOtherDataSubjectSubscription.closed);\n }\n\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["attribute"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/ComponentSet.ts"],
|
|
4
|
-
"sourcesContent": ["import { DomRenderFinalProxy } from '../types/Types';\n\nexport type ComponentSetConfig = {objPath?: string | null, beforeComponentSet?: ComponentSet};\nexport class ComponentSet<T = any> {\n private _config: ComponentSetConfig;\n private _template?: string;\n private _styles?: string[] | string;\n constructor(public obj: T, source: {template?: string, styles?: (string[]) | string}, config?: ComponentSetConfig) {\n this._template = source.template;\n this._styles = source.styles;\n this._config = DomRenderFinalProxy.final(Object.assign({objPath: 'obj'} as ComponentSetConfig, config))\n }\n get template() {\n return this._template;\n }\n get styles() {\n return this._styles;\n }\n get config() {\n return this._config;\n }\n public setTemplateStyle(set: {template?: string, styles?: string | (string[])}) {\n this._template = set.template;\n this._styles = set.styles;\n }\n}\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,2BAA2B;AAG7B,MAAM,aAAsB;AAAA,EAI/B,YAAmB,KAAQ,
|
|
4
|
+
"sourcesContent": ["import { DomRenderFinalProxy } from '../types/Types';\n\nexport type ComponentSetConfig = {objPath?: string | null, beforeComponentSet?: ComponentSet};\nexport class ComponentSet<T = any> {\n private _config: ComponentSetConfig;\n private _template?: string|(<T>(instance: T) => Promise<string>);\n private _styles?: string[] | string|(<T>(instance: T) => Promise<string>);\n constructor(public obj: T, source: {template?: string|(<T>(instance: T) => Promise<string>), styles?: (string[]) | string|(<T>(instance: T) => Promise<string>)}, config?: ComponentSetConfig) {\n this._template = source.template;\n this._styles = source.styles;\n this._config = DomRenderFinalProxy.final(Object.assign({objPath: 'obj'} as ComponentSetConfig, config))\n }\n get template() {\n return this._template;\n }\n get styles() {\n return this._styles;\n }\n get config() {\n return this._config;\n }\n public setTemplateStyle(set: {template?: string, styles?: string | (string[])}) {\n this._template = set.template;\n this._styles = set.styles;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,2BAA2B;AAG7B,MAAM,aAAsB;AAAA,EAI/B,YAAmB,KAAQ,QAAuI,QAA6B;AAA5K;AACf,SAAK,YAAY,OAAO;AACxB,SAAK,UAAU,OAAO;AACtB,SAAK,UAAU,oBAAoB,MAAM,OAAO,OAAO,EAAC,SAAS,MAAK,GAAyB,MAAM,CAAC;AAAA,EAC1G;AAAA,EACA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EACO,iBAAiB,KAAwD;AAC5E,SAAK,YAAY,IAAI;AACrB,SAAK,UAAU,IAAI;AAAA,EACvB;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ComponentBase } from "../ComponentBase.js";
|
|
2
2
|
import { DomRender } from "../../DomRender.js";
|
|
3
3
|
import { RawSet } from "../../rawsets/RawSet.js";
|
|
4
|
-
import { ValidUtils } from "@dooboostore/core-web
|
|
5
|
-
import { EventUtils } from "@dooboostore/core-web
|
|
4
|
+
import { ValidUtils } from "@dooboostore/core-web";
|
|
5
|
+
import { EventUtils } from "@dooboostore/core-web";
|
|
6
6
|
var Details;
|
|
7
7
|
((_Details) => {
|
|
8
8
|
_Details.selector = "dr-details";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/details/Details.ts"],
|
|
4
|
-
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';\nimport { OnCreateRender } from '../../lifecycle/OnCreateRender';\nimport { type Subscription } from '@dooboostore/core
|
|
4
|
+
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';\nimport { OnCreateRender } from '../../lifecycle/OnCreateRender';\nimport { type Subscription } from '@dooboostore/core';\nimport { ValidUtils } from '@dooboostore/core-web';\nimport { EventUtils } from '@dooboostore/core-web';\n\nexport namespace Details {\n export const selector = 'dr-details';\n\n export type Attribute = {\n class?: string;\n toggle_form_reset?: boolean;\n disableOtherClickClose?: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n toggle?: (open: boolean) => void;\n };\n export type BodyAttribute = {\n float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n } & Attribute;\n\n export type FormAttribute = {\n disabledSubmit?: null;\n submit?: (event: SubmitEvent, element: HTMLFormElement) => void;\n } & BodyAttribute;\n\n // @Component({\n // template: '<summary class=\"${`${@this@.getAttribute(\\'class\\')} details-summary-container`}$\">#innerHTML#</summary>',\n // styles: '',\n // selector: `${selector}.Summary`\n // })\n export class Summary extends ComponentBase<Attribute> {\n constructor() {\n super({ onlyParentType: [Details] });\n }\n }\n\n // @Component({\n // template: '<div class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container`}$\" dr-on-init=\"@this@.$element = $element;\">#innerHTML#</div>',\n // selector: `${selector}.Body`\n // })\n export class Body extends ComponentBase<BodyAttribute> {\n private $element?: HTMLDivElement;\n constructor() {\n super({ onlyParentType: [Details] });\n }\n }\n\n export const isBody = (instance: any): instance is Body => {\n return instance instanceof Body;\n };\n\n // @Component({\n // template: '<form class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container details-form-container`}$\" dr-on-init=\"@this@.$element = $element;\" dr-event-submit=\"@this@.submit($element,$event);\">#innerHTML#</form>',\n // styles: detailsFormStyle,\n // selector: `${selector}.Form`\n // })\n export class Form extends ComponentBase<FormAttribute> {\n private $element?: HTMLFormElement;\n constructor() {\n super({ onlyParentType: [Details] });\n }\n submit(element: HTMLFormElement, event: SubmitEvent) {\n if (this.hasAttribute('disabledSubmit')) {\n event.preventDefault();\n }\n if (this.hasAttribute('submit')) {\n this.getAttribute('submit')?.(event, element);\n }\n }\n reset() {\n this.$element?.reset();\n }\n }\n export const isForm = (instance: any): instance is Form => {\n return instance instanceof Form;\n };\n\n // @Component({\n // template: template,\n // styles: style,\n // // noStrip: true,\n // selector: `${selector}`\n // })\n export class Details extends ComponentBase<Attribute> implements OnCreateRender, OnInitRender {\n // private detailsElement?: HTMLDetailsElement;\n private documentClickSubscription?: Subscription;\n private toggleSubscription?: Subscription;\n private element?: HTMLDetailsElement;\n onCreateRenderData(data: OnCreateRenderDataParams) {\n super.onCreateRenderData(data);\n }\n\n onCreateRender(...param: any[]): void {}\n\n toggle(element: HTMLDetailsElement) {\n const toggleAttribute = this.getAttribute('toggle');\n if (toggleAttribute) {\n toggleAttribute?.(element.open);\n }\n if (element.open) {\n this.getAttribute('onOpen')?.();\n } else {\n this.getAttribute('onClose')?.();\n }\n }\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n\n if (ValidUtils.isBrowser() && this.rawSet?.dataSet.config.window) {\n const detailsElement = this.element;\n\n const document = this.rawSet.dataSet!.config!.window!.document!;\n this.documentClickSubscription = EventUtils.htmlElementEventObservable(document, 'click').subscribe(event => {\n if (this.getAttribute('disableOtherClickClose')) {\n return;\n }\n if (detailsElement && !detailsElement?.contains(event?.target as Node)) {\n detailsElement.open = false;\n }\n });\n if (detailsElement) {\n this.toggleSubscription = EventUtils.htmlElementEventObservable(detailsElement, 'toggle').subscribe(it => {\n if (ValidUtils.coreValidUtils.isNotNullUndefined(this.getAttribute('toggle_form_reset'))) {\n this.children?.filter(isForm).forEach(it => {\n it.reset();\n });\n }\n });\n }\n }\n // console.log('aaaaaaaaaaaaaaaaaaaaa', rawSet);\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n }\n\n onDestroyRender(...metaData: any[]): void {\n this.toggleSubscription?.unsubscribe();\n this.documentClickSubscription?.unsubscribe();\n // console.log('onDestroyRender', metaData);\n // if (ValidUtils.isBrowser()) {\n // document.removeEventListener('click', this.ccc)\n // }\n }\n\n // changeAttribute(attribute: { className: string } | undefined) {\n // }\n }\n}\n\nexport default {\n detailsSummary: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-summary`,\n template:\n '<summary class=\"${`${@this@.getAttribute(\\'class\\')} details-summary-container`}$\">#innerHTML#</summary>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Summary(), config: config });\n }\n });\n },\n detailsBody: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-body`,\n template:\n '<div class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container`}$\" dr-on-init=\"@this@.$element = $element;\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Body(), config: config });\n }\n });\n },\n detailsForm: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}-form`,\n template:\n '<form class=\"${`${@this@.getAttribute(\\'class\\')} details-body-container details-body-${@this@.getAttribute(\\'float\\')}-container details-form-container`}$\" dr-on-init=\"@this@.$element = $element;\" dr-event-submit=\"@this@.submit($element,$event);\">#innerHTML#</form>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Form(), config: config });\n }\n });\n },\n details: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Details.selector}`,\n styles: `\n .details-container {\n position: relative;\n }\n\n .details-container .details-body-container {\n position: absolute;\n }\n\n\n .details-container .details-body-bottom-left-container {\n position: absolute;\n left: 0;\n top: 100%;\n /*margin-top: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-bottom-right-container {\n position: absolute;\n right: 0;\n top: 100%;\n /*margin-top: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-top-left-container {\n position: absolute;\n left: 0;\n bottom: 100%;\n /*margin-bottom: 0px;*/\n /*width: max-content;*/\n }\n\n .details-container .details-body-top-right-container {\n position: absolute;\n right: 0;\n bottom: 100%;\n /*margin-bottom: 0px;*/\n }\n `,\n template:\n '<details class=\"${`${@this@.getAttribute(\\'class\\')} details-container`}$\" dr-on-init=\"@this@.element = $element;\" dr-event-toggle=\"@this@.toggle($element)\"> #innerHTML# </details>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Details.Details(...counstructorParam), config: config });\n }\n });\n }\n};"],
|
|
5
5
|
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,iBAAqC;AAC9C,SAAS,cAAc;AAMvB,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAEpB,IAAU;AAAA,CAAV,CAAU,aAAV;AACE,EAAM,oBAAW;AAAA,EAwBjB,MAAM,gBAAgB,cAAyB;AAAA,IACpD,cAAc;AACZ,YAAM,EAAE,gBAAgB,CAACA,QAAO,EAAE,CAAC;AAAA,IACrC;AAAA,EACF;AAJO,WAAM;AAAA,EAUN,MAAM,aAAa,cAA6B;AAAA,IAErD,cAAc;AACZ,YAAM,EAAE,gBAAgB,CAACA,QAAO,EAAE,CAAC;AAAA,IACrC;AAAA,EACF;AALO,WAAM;AAON,EAAM,kBAAS,CAAC,aAAoC;AACzD,WAAO,oBAAoB;AAAA,EAC7B;AAAA,EAOO,MAAM,aAAa,cAA6B;AAAA,IAErD,cAAc;AACZ,YAAM,EAAE,gBAAgB,CAACA,QAAO,EAAE,CAAC;AAAA,IACrC;AAAA,IACA,OAAO,SAA0B,OAAoB;AACnD,UAAI,KAAK,aAAa,gBAAgB,GAAG;AACvC,cAAM,eAAe;AAAA,MACvB;AACA,UAAI,KAAK,aAAa,QAAQ,GAAG;AAC/B,aAAK,aAAa,QAAQ,IAAI,OAAO,OAAO;AAAA,MAC9C;AAAA,IACF;AAAA,IACA,QAAQ;AACN,WAAK,UAAU,MAAM;AAAA,IACvB;AAAA,EACF;AAhBO,WAAM;AAiBN,EAAM,kBAAS,CAAC,aAAoC;AACzD,WAAO,oBAAoB;AAAA,EAC7B;AAAA,EAQO,MAAMA,iBAAgB,cAAiE;AAAA,IAK5F,mBAAmB,MAAgC;AACjD,YAAM,mBAAmB,IAAI;AAAA,IAC/B;AAAA,IAEA,kBAAkB,OAAoB;AAAA,IAAC;AAAA,IAEvC,OAAO,SAA6B;AAClC,YAAM,kBAAkB,KAAK,aAAa,QAAQ;AAClD,UAAI,iBAAiB;AACnB,0BAAkB,QAAQ,IAAI;AAAA,MAChC;AACA,UAAI,QAAQ,MAAM;AAChB,aAAK,aAAa,QAAQ,IAAI;AAAA,MAChC,OAAO;AACL,aAAK,aAAa,SAAS,IAAI;AAAA,MACjC;AAAA,IACF;AAAA,IACA,MAAM,aAAa,OAAY,QAAgB;AAC7C,YAAM,MAAM,aAAa,OAAO,MAAM;AAEtC,UAAI,WAAW,UAAU,KAAK,KAAK,QAAQ,QAAQ,OAAO,QAAQ;AAChE,cAAM,iBAAiB,KAAK;AAE5B,cAAM,WAAW,KAAK,OAAO,QAAS,OAAQ,OAAQ;AACtD,aAAK,4BAA4B,WAAW,2BAA2B,UAAU,OAAO,EAAE,UAAU,WAAS;AAC3G,cAAI,KAAK,aAAa,wBAAwB,GAAG;AAC/C;AAAA,UACF;AACA,cAAI,kBAAkB,CAAC,gBAAgB,SAAS,OAAO,MAAc,GAAG;AACtE,2BAAe,OAAO;AAAA,UACxB;AAAA,QACF,CAAC;AACD,YAAI,gBAAgB;AAClB,eAAK,qBAAqB,WAAW,2BAA2B,gBAAgB,QAAQ,EAAE,UAAU,QAAM;AACxG,gBAAI,WAAW,eAAe,mBAAmB,KAAK,aAAa,mBAAmB,CAAC,GAAG;AACxF,mBAAK,UAAU,OAAO,eAAM,EAAE,QAAQ,CAAAC,QAAM;AAC1C,gBAAAA,IAAG,MAAM;AAAA,cACX,CAAC;AAAA,YACH;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IAEF;AAAA,IAEA,mBAAmB,MAAc,OAAY,OAAkB;AAC7D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAAA,IAC7C;AAAA,IAEA,mBAAmB,UAAuB;AACxC,WAAK,oBAAoB,YAAY;AACrC,WAAK,2BAA2B,YAAY;AAAA,IAK9C;AAAA;AAAA;AAAA,EAIF;AAjEO,WAAM,UAAAD;AAAA,GA9EE;AAkJjB,IAAO,kBAAQ;AAAA,EACb,gBAAgB,CAAC,WAAgC;AAC/C,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG,QAAQ,QAAQ;AAAA,MACzB,UACE;AAAA,MACF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,QAAQ,QAAQ,GAAG,OAAe,CAAC;AAAA,MAC5E;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,aAAa,CAAC,WAAgC;AAC5C,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG,QAAQ,QAAQ;AAAA,MACzB,UACE;AAAA,MACF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,QAAQ,KAAK,GAAG,OAAe,CAAC;AAAA,MACzE;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,aAAa,CAAC,WAAgC;AAC5C,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG,QAAQ,QAAQ;AAAA,MACzB,UACE;AAAA,MACF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,QAAQ,KAAK,GAAG,OAAe,CAAC;AAAA,MACzE;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,SAAS,CAAC,WAAgC;AACxC,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG,QAAQ,QAAQ;AAAA,MACzB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAyCR,UACE;AAAA,MACF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,QAAQ,QAAQ,GAAG,iBAAiB,GAAG,OAAe,CAAC;AAAA,MAChG;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
6
6
|
"names": ["Details", "it"]
|
|
7
7
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { ComponentBase } from "../ComponentBase.js";
|
|
2
2
|
import { DomRender } from "../../DomRender.js";
|
|
3
3
|
import { RawSet } from "../../rawsets/RawSet.js";
|
|
4
|
-
import { ValidUtils } from "@dooboostore/core
|
|
5
|
-
import { map } from "@dooboostore/core/message/operators
|
|
6
|
-
import { EventUtils } from "@dooboostore/core-web
|
|
7
|
-
import { debounceTime } from "@dooboostore/core/message/operators/debounceTime";
|
|
8
|
-
import { distinctUntilChanged } from "@dooboostore/core/message/operators/distinctUntilChanged";
|
|
4
|
+
import { ValidUtils } from "@dooboostore/core";
|
|
5
|
+
import { map, debounceTime, distinctUntilChanged } from "@dooboostore/core/message/operators";
|
|
6
|
+
import { EventUtils } from "@dooboostore/core-web";
|
|
9
7
|
var Input;
|
|
10
8
|
((_Input) => {
|
|
11
9
|
_Input.selector = `dr-input`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/input/Input.ts"],
|
|
4
|
-
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { OnCreateRender } from '../../lifecycle/OnCreateRender';\nimport { OnDestroyRender, OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';\nimport { Subscription } from '@dooboostore/core
|
|
5
|
-
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,iBAAqC;AAC9C,SAAS,cAAc;AAKvB,SAAS,kBAAkB;AAC3B,SAAS,
|
|
4
|
+
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\nimport { OnCreateRender } from '../../lifecycle/OnCreateRender';\nimport { OnDestroyRender, OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';\nimport { Subscription } from '@dooboostore/core';\nimport { ValidUtils } from '@dooboostore/core';\nimport { map, debounceTime, distinctUntilChanged} from '@dooboostore/core/message/operators';\nimport { EventUtils } from '@dooboostore/core-web';\n\nexport namespace Input {\n export const selector = `dr-input`;\n export type Attribute = {\n name?: string;\n type?: string;\n id?: string;\n class?: string;\n debounceTime?: number;\n distinct?: boolean;\n input?: (value: string, element: Element) => void;\n };\n\n export class Base extends ComponentBase<any> {}\n\n // @Component({\n // selector: `${selector}`,\n // template,\n // styles,\n // })\n export class Input extends Base implements OnCreateRender, OnDestroyRender {\n private element?: HTMLInputElement;\n private inputSubscription?: Subscription;\n private resetSubscripton?: Subscription;\n\n onCreateRender(...param: any[]): void {}\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n // console.log('dr-input, rawSet', rawSet)\n const inputElement = this.element;\n const debounceTimeAttribute = this.getAttribute('debounceTime');\n const debounceTimeValue = ValidUtils.isNotNullUndefined(debounceTimeAttribute)\n ? Number(debounceTimeAttribute)\n : 0;\n const distinct = ValidUtils.isNotNullUndefined(this.getAttribute('distinct'));\n\n if (inputElement) {\n const makeDeboundceDistinctUtilChanged = () => {\n // let result$ = EventUtils.htmlElementEventObservable(inputElement,'input');\n\n let result$ = EventUtils.htmlElementEventObservable(inputElement, 'input').pipe(\n map((event: Event) => {\n const target = event.target;\n if (target instanceof HTMLInputElement) {\n return target.value.trim();\n }\n console.warn('Input event target is not an HTMLInputElement:', target);\n return '';\n })\n );\n\n if (ValidUtils.isNotNullUndefined(debounceTimeValue) && debounceTimeValue > 0) {\n result$ = result$.pipe(debounceTime(debounceTimeValue));\n }\n if (ValidUtils.isNotNullUndefined(distinct) && distinct === true) {\n result$ = result$.pipe(distinctUntilChanged());\n }\n return result$;\n };\n this.inputSubscription = makeDeboundceDistinctUtilChanged().subscribe(it => {\n // console.log('change?????????????', it);\n this.getAttribute('input')?.(it, inputElement);\n });\n\n if (inputElement.form) {\n this.resetSubscripton = EventUtils.htmlElementEventObservable(inputElement.form, 'reset').subscribe(it => {\n // console.log('rrrraaa?,', this.inputSubscription, it)\n this.inputSubscription?.unsubscribe();\n this.inputSubscription = makeDeboundceDistinctUtilChanged().subscribe(it => {\n // console.log('rrrr?')\n this.getAttribute('input')?.(it, inputElement);\n });\n });\n }\n }\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n // console.log('-------->',name, value)\n if (name === 'value') {\n // console.log('changeAttribu', name, value)\n // this.wow = {value: value};\n // this.name = value;\n }\n }\n\n onDestroyRender(metaData?: OnDestroyRenderParams): void {\n this.resetSubscripton?.unsubscribe();\n this.inputSubscription?.unsubscribe();\n }\n }\n}\n\nexport default {\n input: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Input.selector}`,\n template:\n '<Input type=\"${@this@.getAttribute(\\'type\\')}$\" class=\"${@this@.getAttribute(\\'class\\')}$\" id=\"${@this@.getAttribute(\\'id\\')}$\" name=\"${@this@.getAttribute(\\'name\\')}$\" dr-on-init=\"@this@.element=$element\" >#innerHTML#',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Input.Input(...counstructorParam), config: config });\n }\n });\n }\n};"],
|
|
5
|
+
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,iBAAqC;AAC9C,SAAS,cAAc;AAKvB,SAAS,kBAAkB;AAC3B,SAAS,KAAK,cAAc,4BAA2B;AACvD,SAAS,kBAAkB;AAEpB,IAAU;AAAA,CAAV,CAAU,WAAV;AACE,EAAM,kBAAW;AAAA,EAWjB,MAAM,aAAa,cAAmB;AAAA,EAAC;AAAvC,SAAM;AAAA,EAON,MAAMA,eAAc,KAAgD;AAAA,IAKzE,kBAAkB,OAAoB;AAAA,IAAC;AAAA,IAEvC,MAAM,aAAa,OAAY,QAAgB;AAC7C,YAAM,MAAM,aAAa,OAAO,MAAM;AAEtC,YAAM,eAAe,KAAK;AAC1B,YAAM,wBAAwB,KAAK,aAAa,cAAc;AAC9D,YAAM,oBAAoB,WAAW,mBAAmB,qBAAqB,IACzE,OAAO,qBAAqB,IAC5B;AACJ,YAAM,WAAW,WAAW,mBAAmB,KAAK,aAAa,UAAU,CAAC;AAE5E,UAAI,cAAc;AAChB,cAAM,mCAAmC,MAAM;AAG7C,cAAI,UAAU,WAAW,2BAA2B,cAAc,OAAO,EAAE;AAAA,YACzE,IAAI,CAAC,UAAiB;AACpB,oBAAM,SAAS,MAAM;AACrB,kBAAI,kBAAkB,kBAAkB;AACtC,uBAAO,OAAO,MAAM,KAAK;AAAA,cAC3B;AACA,sBAAQ,KAAK,kDAAkD,MAAM;AACrE,qBAAO;AAAA,YACT,CAAC;AAAA,UACH;AAEA,cAAI,WAAW,mBAAmB,iBAAiB,KAAK,oBAAoB,GAAG;AAC7E,sBAAU,QAAQ,KAAK,aAAa,iBAAiB,CAAC;AAAA,UACxD;AACA,cAAI,WAAW,mBAAmB,QAAQ,KAAK,aAAa,MAAM;AAChE,sBAAU,QAAQ,KAAK,qBAAqB,CAAC;AAAA,UAC/C;AACA,iBAAO;AAAA,QACT;AACA,aAAK,oBAAoB,iCAAiC,EAAE,UAAU,QAAM;AAE1E,eAAK,aAAa,OAAO,IAAI,IAAI,YAAY;AAAA,QAC/C,CAAC;AAED,YAAI,aAAa,MAAM;AACrB,eAAK,mBAAmB,WAAW,2BAA2B,aAAa,MAAM,OAAO,EAAE,UAAU,QAAM;AAExG,iBAAK,mBAAmB,YAAY;AACpC,iBAAK,oBAAoB,iCAAiC,EAAE,UAAU,CAAAC,QAAM;AAE1E,mBAAK,aAAa,OAAO,IAAIA,KAAI,YAAY;AAAA,YAC/C,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,IAEA,mBAAmB,MAAc,OAAY,OAAkB;AAC7D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAE3C,UAAI,SAAS,SAAS;AAAA,MAItB;AAAA,IACF;AAAA,IAEA,gBAAgB,UAAwC;AACtD,WAAK,kBAAkB,YAAY;AACnC,WAAK,mBAAmB,YAAY;AAAA,IACtC;AAAA,EACF;AAxEO,SAAM,QAAAD;AAAA,GAnBE;AA8FjB,IAAO,gBAAQ;AAAA,EACb,OAAO,CAAC,WAAgC;AACtC,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,GAAG,MAAM,QAAQ;AAAA,MACvB,UACE;AAAA,MACF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,MAAM,MAAM,GAAG,iBAAiB,GAAG,OAAe,CAAC;AAAA,MAC5F;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
6
6
|
"names": ["Input", "it"]
|
|
7
7
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ComponentBase } from "../ComponentBase.js";
|
|
2
2
|
import { DomRender } from "../../DomRender.js";
|
|
3
3
|
import { RawSet } from "../../rawsets/RawSet.js";
|
|
4
|
-
import { ValidUtils } from "@dooboostore/core
|
|
5
|
-
import { Promises } from "@dooboostore/core
|
|
4
|
+
import { ValidUtils } from "@dooboostore/core";
|
|
5
|
+
import { Promises } from "@dooboostore/core";
|
|
6
6
|
var PromiseSwitch;
|
|
7
7
|
((_PromiseSwitch) => {
|
|
8
8
|
_PromiseSwitch.selector = "dr-promise-switch";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/promise/PromiseSwitch.ts"],
|
|
4
|
-
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\n\nimport { ValidUtils } from '@dooboostore/core
|
|
4
|
+
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, DomRenderRunConfig } from '../../DomRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport { OtherData } from '../../lifecycle/OnChangeAttrRender';\n\nimport { ValidUtils } from '@dooboostore/core';\nimport { Promises } from '@dooboostore/core';\nimport { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';\n\nexport namespace PromiseSwitch {\n export const selector = 'dr-promise-switch';\n export type ChangeParams<T> =\n | { status: 'pending' }\n | { status: 'finally' }\n | { status: 'fulfilled'; data: T }\n | { status: 'rejected'; data: any };\n export type Attribute = {\n // trigger?: boolean;\n data: Promise<any> | (() => Promise<any>);\n change?: <T>(data: ChangeParams<T>) => void;\n };\n\n class ChildBase<T = any> extends ComponentBase<T> {\n public hidden = true;\n }\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Default`\n // })\n export class Default extends ChildBase {}\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Pending`\n // // selector: `System-PromiseSwitch.Pending`\n // })\n export class Pending extends ChildBase<{ defaultView?: null }> {\n // onChangeAttrRender(name: string, value: any, other: OtherData) {\n // super.onChangeAttrRender(name, value, other);\n // if (this.equalsAttributeName(name, 'defaultView')) {\n // // console.log('--------------', value)\n // if (value !== null) {\n // this.hidden = false;\n // } else {\n // this.hidden = true;\n // }\n // // console.log('--------------', this.hidden)\n // }\n // }\n }\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Fulfilled`\n // })\n export class Fulfilled<T = any> extends ChildBase {\n private data?: T;\n\n setData(data: T) {\n this.data = data;\n }\n }\n\n // @Component({\n // template: '<div dr-if=\"!@this@.hidden\" dr-strip=\"true\">#innerHTML#</div>',\n // selector: `${selector}.Rejected`\n // })\n export class Rejected<T = any> extends ChildBase {\n private data?: T;\n\n setData(data: T) {\n this.data = data;\n }\n }\n\n /*\n <dr-promise-switch data=\"${@this@.pickWorldPromise}$\">\n ${@nearThis@.promiseState.status}$\n <dr-promise-switch-default>\n <button class=\"random-world-button\" dr-event-click=\"@this@.pickWorld()\">\n <i class=\"fa-solid fa-dice\"></i>\n </button>\n </dr-promise-switch-default>\n <dr-promise-switch-pending>\n <button class=\"random-world-button disabled spin\" >\n <i class=\"fa-solid fa-dice\"></i>\n </button>\n </dr-promise-switch-pending>\n </dr-promise-switch>\n */\n // @Component({\n // template: '#innerHTML#',\n // selector: `${selector}`\n // })\n export class PromiseSwitch extends ComponentBase<Attribute> {\n // private promise?: {\n // state: 'reject' | 'resolve',\n //\n // }\n private promiseState?: Promises.Result.PromiseState<any, unknown>;\n private state?: Promises.Result.PromiseState<any, unknown>['status'];\n\n onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n super.onCreatedThisChild(child, data);\n this.childStateChange();\n }\n\n childStateChange() {\n const defaults = this.getChildren(Default);\n const pendings = this.getChildren(Pending);\n const fulfilleds = this.getChildren(Fulfilled);\n const rejecteds = this.getChildren(Rejected);\n const full = [...fulfilleds, ...rejecteds, ...pendings, ...defaults];\n // console.log('----!!!!!!-------', this.promiseState, full)\n if (this.promiseState === undefined) {\n this.state = undefined;\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n defaults.filter(it => it.hidden).forEach(it => (it.hidden = false));\n pendings.filter(it => it.getAttribute('defaultView') && it.hidden).forEach(it => (it.hidden = false));\n } else if (this.promiseState.status === 'pending') {\n this.state = 'pending';\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n pendings.filter(it => it.hidden).forEach(it => (it.hidden = false));\n } else if (this.promiseState.status === 'fulfilled') {\n this.state = 'fulfilled';\n const value = this.promiseState.value;\n // console.log('-----------fulfilled promises', value);\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n fulfilleds.forEach(it => {\n it.setData(value);\n });\n fulfilleds.filter(it => it.hidden).forEach(it => (it.hidden = false));\n } else if (this.promiseState.status === 'rejected') {\n this.state = 'rejected';\n const value = this.promiseState.reason;\n full.filter(it => !it.hidden).forEach(it => (it.hidden = true));\n rejecteds.forEach(it => {\n it.setData(value);\n });\n rejecteds.filter(it => it.hidden).forEach(it => (it.hidden = false));\n }\n return this.state;\n // console.log('----!!!!!!-end------', this.promiseState, full.map(it=>it.hidden))\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n // console.log('-----------changer promises', name, value, this.getChildren(Default));\n if (this.equalsAttributeName(name, 'data') && value) {\n // this.childStateChange();\n this.promiseState = undefined;\n this.state = undefined;\n this.promiseState = Promises.Result.wrap(typeof value === 'function' ? value() : (value as Promise<any>));\n this.getAttribute('change')?.({ status: 'pending' });\n this.childStateChange();\n // console.log('----?', this.promiseState)\n this.promiseState\n .then(data => {\n // console.log('------------then', data);\n this.childStateChange();\n this.getAttribute('change')?.({ status: 'fulfilled', data: data });\n return data;\n })\n .catch(e => {\n // console.log('catch', e)\n this.childStateChange();\n this.getAttribute('change')?.({ status: 'rejected', data: e });\n throw e;\n })\n .finally(() => {\n // console.log('-------------finally--------rrrrrrrrrrr', this.promiseState)\n // this.childStateChange();\n this.getAttribute('change')?.({ status: 'finally' });\n });\n // await this.promiseState;\n\n // console.log('---------------------rrrrrrrrrrr', this.promiseState)\n } else if (this.equalsAttributeName(name, 'data') && ValidUtils.isNullOrUndefined(value)) {\n this.promiseState = undefined;\n this.childStateChange();\n }\n }\n }\n}\n\nexport default {\n promiseDefault: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-default`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Default(...counstructorParam), config: config });\n }\n });\n },\n promisePending: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-pending`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Pending(...counstructorParam), config: config });\n }\n });\n },\n promiseFulfilled: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-fulfilled`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Fulfilled(...counstructorParam), config: config });\n }\n });\n },\n promiseRejected: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}-rejected`,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.Rejected(...counstructorParam), config: config });\n }\n });\n },\n promiseSwitch: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${PromiseSwitch.selector}`,\n template: '#innerHTML#',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new PromiseSwitch.PromiseSwitch(...counstructorParam), config: config });\n }\n });\n }\n};\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["PromiseSwitch"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/router/Route.ts"],
|
|
4
|
-
"sourcesContent": ["import { attribute, ComponentBase } from '../ComponentBase';\nimport { DomRender } from '../../DomRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport type { DomRenderConfig } from '../../configs/DomRenderConfig';\nimport { DomRenderNoProxy } from '../../decorators/DomRenderNoProxy';\nimport { OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';\nimport { Subscription } from '@dooboostore/core
|
|
4
|
+
"sourcesContent": ["import { attribute, ComponentBase } from '../ComponentBase';\nimport { DomRender } from '../../DomRender';\nimport { OnInitRender } from '../../lifecycle/OnInitRender';\nimport { RawSet } from '../../rawsets/RawSet';\nimport type { DomRenderConfig } from '../../configs/DomRenderConfig';\nimport { DomRenderNoProxy } from '../../decorators/DomRenderNoProxy';\nimport { OnDestroyRenderParams } from '../../lifecycle/OnDestroyRender';\nimport { Subscription } from '@dooboostore/core';\n\nexport namespace Route {\n export const selector = 'dr-route';\n export type Attribute<D> = {\n value?: null | string;\n };\n\n abstract class CheckerBase<D> extends ComponentBase<Attribute<D>> implements OnInitRender {\n protected sw: boolean = false;\n @attribute({ name: 'value' })\n value?: string;\n @DomRenderNoProxy\n private inputDomRenderConfig?: DomRenderConfig;\n private routerSubscription?: Subscription;\n\n constructor(domRenderConfig?: DomRenderConfig) {\n super();\n this.inputDomRenderConfig = domRenderConfig;\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n this.routerSubscription = this.inputDomRenderConfig?.router?.observable.subscribe(it => {\n if (this.value && this.inputDomRenderConfig) {\n this.sw = this.check(this.inputDomRenderConfig);\n } else {\n this.sw = false;\n }\n });\n }\n\n onDrThisBind() {\n super.onDrThisBind();\n }\n\n onDrThisUnBind() {\n super.onDrThisUnBind();\n }\n\n onDestroyRender(data?: OnDestroyRenderParams) {\n super.onDestroyRender(data);\n this.routerSubscription?.unsubscribe();\n }\n\n abstract check(config?: DomRenderConfig): boolean;\n }\n\n export class Match<D> extends CheckerBase<D> {\n check(config?: DomRenderConfig): boolean {\n return !!config?.router?.test(this.value);\n }\n }\n\n export class Regexp<D> extends CheckerBase<D> {\n check(config?: DomRenderConfig): boolean {\n return !!config?.router?.testRegexp(this.value);\n }\n }\n}\n\nexport default {\n match: (config?: DomRenderConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Route.selector}-match`,\n template: '<div dr-if=\"@this@.sw\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Route.Match(config), config: config });\n }\n });\n },\n regexp: (config?: DomRenderConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Route.selector}-regexp`,\n template: '<div dr-if=\"@this@.sw\" dr-option-strip=\"true\">#innerHTML#</div>',\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new Route.Regexp(config), config: config });\n }\n });\n }\n};\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;AAAA,SAAS,WAAW,qBAAqB;AACzC,SAAS,iBAAiB;AAE1B,SAAS,cAAc;AAEvB,SAAS,wBAAwB;AAI3B,IAAW;CAAjB,SAAiBA,QAAK;AACP,EAAAA,OAAA,WAAW;EAKxB,MAAe,oBAAuB,cAA2B;IAQ/D,YAAY,iBAAiC;AAC3C,YAAK;AARG,WAAA,KAAc;AAStB,WAAK,uBAAuB;IAC9B;IAEA,MAAM,aAAa,OAAY,QAAc;AAC3C,YAAM,MAAM,aAAa,OAAO,MAAM;AACtC,WAAK,qBAAqB,KAAK,sBAAsB,QAAQ,WAAW,UAAU,QAAK;AACrF,YAAI,KAAK,SAAS,KAAK,sBAAsB;AAC3C,eAAK,KAAK,KAAK,MAAM,KAAK,oBAAoB;QAChD,OAAO;AACL,eAAK,KAAK;QACZ;MACF,CAAC;IACH;IAEA,eAAY;AACV,YAAM,aAAY;IACpB;IAEA,iBAAc;AACZ,YAAM,eAAc;IACtB;IAEA,gBAAgB,MAA4B;AAC1C,YAAM,gBAAgB,IAAI;AAC1B,WAAK,oBAAoB,YAAW;IACtC;;AAhCA,aAAA;IADC,UAAU,EAAE,MAAM,QAAO,CAAE;;;AAGpB,aAAA;IADP;;;EAoCH,MAAa,cAAiB,YAAc;IAC1C,MAAM,QAAwB;AAC5B,aAAO,CAAC,CAAC,QAAQ,QAAQ,KAAK,KAAK,KAAK;IAC1C;;AAHW,EAAAA,OAAA,QAAK;EAMlB,MAAa,eAAkB,YAAc;IAC3C,MAAM,QAAwB;AAC5B,aAAO,CAAC,CAAC,QAAQ,QAAQ,WAAW,KAAK,KAAK;IAChD;;AAHW,EAAAA,OAAA,SAAM;AAKrB,GAzDiB,UAAA,QAAK,CAAA,EAAA;AA2DtB,IAAA,gBAAe;EACb,OAAO,CAAC,WAA4B;AAClC,WAAO,OAAO,6BAA6B;MACzC,MAAM,GAAG,MAAM,QAAQ;MACvB,UAAU;MACV,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAqB;AAC1C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,MAAM,MAAM,MAAM,GAAG,OAAc,CAAE;MAC9E;KACD;EACH;EACA,QAAQ,CAAC,WAA4B;AACnC,WAAO,OAAO,6BAA6B;MACzC,MAAM,GAAG,MAAM,QAAQ;MACvB,UAAU;MACV,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAqB;AAC1C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,MAAM,OAAO,MAAM,GAAG,OAAc,CAAE;MAC/E;KACD;EACH;;",
|
|
6
6
|
"names": ["Route"]
|
|
7
7
|
}
|
|
@@ -36,6 +36,9 @@ var RouterOutlet;
|
|
|
36
36
|
onDestroyRender(data) {
|
|
37
37
|
super.onDestroyRender(data);
|
|
38
38
|
}
|
|
39
|
+
onDestroy() {
|
|
40
|
+
super.onDestroy();
|
|
41
|
+
}
|
|
39
42
|
onChangeAttrRender(name, value, other) {
|
|
40
43
|
super.onChangeAttrRender(name, value, other);
|
|
41
44
|
if (this.equalsAttributeName(name, "value")) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/router/RouterOutlet.ts"],
|
|
4
|
-
"sourcesContent": ["import {ChildrenSet, ComponentBase} from '../ComponentBase';\nimport {DomRenderRunConfig} from '../../DomRender';\nimport {RawSet} from '../../rawsets/RawSet';\nimport {isOnChangeAttrRender, OtherData} from '../../lifecycle/OnChangeAttrRender';\nimport {OnInitRender} from '../../lifecycle/OnInitRender';\nimport {ComponentSet} from '../../components/ComponentSet';\nimport {OnDestroyRenderParams} from '../../lifecycle/OnDestroyRender';\nimport {ComponentRouterBase, isOnCreatedOutletDebounce} from '../../components/ComponentRouterBase';\nimport {OnCreateRenderDataParams} from '../../lifecycle';\n\nexport namespace RouterOutlet {\n export const selector = 'dr-router-outlet';\n export type Attribute = {\n value: ComponentSet | string;\n if: boolean | null;\n createArguments: any[];\n onCreated?: (value: any) => void;\n onCreatedDebounce?: (value: any) => void;\n onDestroyRender?: () => void;\n };\n\n export class RouterOutlet extends ComponentBase<Attribute> implements OnInitRender {\n private value?: ComponentSet;\n private if?: boolean | null = null;\n private createArguments?: any[];\n private childObject?: any;\n private childRawSet?: RawSet;\n private sw = false;\n\n setValue(value: ComponentSet) {\n this.sw = false;\n setTimeout(() => {\n this.value = value;\n }, 0)\n\n setTimeout(() => {\n this.sw = true;\n }, 0)\n // console.log('sssssssssss');\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n const c = this.getParentThis<any>();\n const userValue = this.getAttribute('value');\n if (typeof userValue === 'string') {\n this.setValue(c[userValue]);\n } else if (userValue instanceof ComponentSet) {\n this.setValue(userValue);\n } else if (!userValue && c instanceof ComponentRouterBase) {\n this.setValue(c.child);\n }\n // console.log('------',c);\n }\n\n onDestroyRender(data: OnDestroyRenderParams) {\n super.onDestroyRender(data);\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n // console.log('--------------', name, value);\n if (this.equalsAttributeName(name, 'value')) {\n this.setValue(value);\n }\n if (this.equalsAttributeName(name, 'if')) {\n this.if = value;\n }\n if (this.equalsAttributeName(name, 'createArguments')) {\n this.createArguments = value;\n }\n\n if (this.childObject && this.childRawSet && isOnChangeAttrRender(this.childObject)) {\n this.childObject.onChangeAttrRender(name, value, {rawSet: this.childRawSet});\n }\n }\n\n onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n super.onCreatedThisChild(child, data);\n // console.log('outlet--oncreatedThisChild',child);\n }\n\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n super.onCreatedThisChildDebounce(childrenSet);\n let parentThis = this.getParentThis();\n // console.log('---', parentThis);\n if (isOnCreatedOutletDebounce(parentThis)) {\n parentThis.onCreatedOutletDebounce(this.value?.obj);\n }\n this.getAttribute('onCreatedDebounce')?.(this.value?.obj);\n }\n\n\n onCreateDrThis($component: any, $rawSet: RawSet) {\n this.childObject = $component ??= this.value?.obj;\n this.childRawSet = $rawSet;\n if ($component) {\n this.getAttribute('onCreated')?.($component);\n // console.log('21222');\n if (isOnChangeAttrRender($component)) {\n this.getAttributeNames()\n .filter(it => it.startsWith('attribute-'))\n .forEach(it => {\n const attrName = it.replace(/^attribute-/, '');\n const attrValue = this.getAttribute(it as any);\n $rawSet.dataSet.render.attribute ??= {};\n $rawSet.dataSet.render.attribute[attrName] = attrValue;\n $component.onChangeAttrRender(attrName, attrValue, {rawSet: $rawSet});\n });\n }\n }\n }\n }\n}\n\nexport default {\n // TODO: \uC65C \uC774\uB188\uB9CC webpack\uC5D0\uC11C \uC21C\uD658\uCC38\uC870 \uC5D0\uB7EC\uB098\uB294\uC9C0\uBAA8\uB974\uACA0\uB2E4.. \uC65C \uC774\uB188\uB9CC.. \uADF8\uB798\uC11C \uC774\uB807\uAC8C \uD558\uAE34\uD568.\n routerOutlet: (config?: DomRenderRunConfig, executer?: { run: (...data: any[]) => any }) => {\n return RawSet.createComponentTargetElement({\n name: RouterOutlet.selector,\n template:\n `\n <dr-if value=\"\\${@this@.sw}$\">\n <div dr-this=\"@this@.value\" dr-detect-option-if=\"@this@?.value && @this@?.if\" dr-option-strip=\"true\" dr-on-create:arguments=\"@this@.createArguments\" dr-on-create:callback=\"@this@?.onCreateDrThis?.($component, $rawSet)\">#innerHTML#</div>\n </dr-if>\n `,\n objFactory: (e, o, r2, counstructorParam) => {\n return executer?.run({rootObject: new RouterOutlet.RouterOutlet(...counstructorParam), config: config});\n }\n });\n }\n};\n"],
|
|
5
|
-
"mappings": "AAAA,SAAqB,qBAAoB;AAEzC,SAAQ,cAAa;AACrB,SAAQ,4BAAsC;AAE9C,SAAQ,oBAAmB;AAE3B,SAAQ,qBAAqB,iCAAgC;AAGtD,IAAU;AAAA,CAAV,CAAU,kBAAV;AACE,EAAM,yBAAW;AAAA,EAUjB,MAAMA,sBAAqB,cAAiD;AAAA,IAA5E;AAAA;AAEL,WAAQ,KAAsB;AAI9B,WAAQ,KAAK;AAAA;AAAA,IAEb,SAAS,OAAqB;AAC5B,WAAK,KAAK;AACV,iBAAW,MAAM;AACf,aAAK,QAAQ;AAAA,MACf,GAAG,CAAC;AAEJ,iBAAW,MAAM;AACf,aAAK,KAAK;AAAA,MACZ,GAAG,CAAC;AAAA,IAEN;AAAA,IAEA,MAAM,aAAa,OAAY,QAAgB;AAC7C,YAAM,MAAM,aAAa,OAAO,MAAM;AACtC,YAAM,IAAI,KAAK,cAAmB;AAClC,YAAM,YAAY,KAAK,aAAa,OAAO;AAC3C,UAAI,OAAO,cAAc,UAAU;AACjC,aAAK,SAAS,EAAE,SAAS,CAAC;AAAA,MAC5B,WAAW,qBAAqB,cAAc;AAC5C,aAAK,SAAS,SAAS;AAAA,MACzB,WAAW,CAAC,aAAa,aAAa,qBAAqB;AACzD,aAAK,SAAS,EAAE,KAAK;AAAA,MACvB;AAAA,IAEF;AAAA,IAEA,gBAAgB,MAA6B;AAC3C,YAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IAEA,mBAAmB,MAAc,OAAY,OAAkB;AAC7D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAE3C,UAAI,KAAK,oBAAoB,MAAM,OAAO,GAAG;AAC3C,aAAK,SAAS,KAAK;AAAA,MACrB;AACA,UAAI,KAAK,oBAAoB,MAAM,IAAI,GAAG;AACxC,aAAK,KAAK;AAAA,MACZ;AACA,UAAI,KAAK,oBAAoB,MAAM,iBAAiB,GAAG;AACrD,aAAK,kBAAkB;AAAA,MACzB;AAEA,UAAI,KAAK,eAAe,KAAK,eAAe,qBAAqB,KAAK,WAAW,GAAG;AAClF,aAAK,YAAY,mBAAmB,MAAM,OAAO,EAAC,QAAQ,KAAK,YAAW,CAAC;AAAA,MAC7E;AAAA,IACF;AAAA,IAEA,mBAAmB,OAAY,MAAgC;AAC7D,YAAM,mBAAmB,OAAO,IAAI;AAAA,IAEtC;AAAA,IAEA,2BAA2B,aAA4B;AACrD,YAAM,2BAA2B,WAAW;AAC5C,UAAI,aAAa,KAAK,cAAc;AAEpC,UAAI,0BAA0B,UAAU,GAAG;AACzC,mBAAW,wBAAwB,KAAK,OAAO,GAAG;AAAA,MACpD;AACA,WAAK,aAAa,mBAAmB,IAAI,KAAK,OAAO,GAAG;AAAA,IAC1D;AAAA,IAGA,eAAe,YAAiB,SAAiB;AAC/C,WAAK,cAAc,4BAAe,KAAK,OAAO;AAC9C,WAAK,cAAc;AACnB,UAAI,YAAY;AACd,aAAK,aAAa,WAAW,IAAI,UAAU;AAE3C,YAAI,qBAAqB,UAAU,GAAG;AACpC,eAAK,kBAAkB,EACpB,OAAO,QAAM,GAAG,WAAW,YAAY,CAAC,EACxC,QAAQ,QAAM;
|
|
4
|
+
"sourcesContent": ["import {ChildrenSet, ComponentBase} from '../ComponentBase';\nimport {DomRenderRunConfig} from '../../DomRender';\nimport {RawSet} from '../../rawsets/RawSet';\nimport {isOnChangeAttrRender, OtherData} from '../../lifecycle/OnChangeAttrRender';\nimport {OnInitRender} from '../../lifecycle/OnInitRender';\nimport {ComponentSet} from '../../components/ComponentSet';\nimport {OnDestroyRenderParams} from '../../lifecycle/OnDestroyRender';\nimport {ComponentRouterBase, isOnCreatedOutletDebounce} from '../../components/ComponentRouterBase';\nimport {OnCreateRenderDataParams} from '../../lifecycle';\n\nexport namespace RouterOutlet {\n export const selector = 'dr-router-outlet';\n export type Attribute = {\n value: ComponentSet | string;\n if: boolean | null;\n createArguments: any[];\n onCreated?: (value: any) => void;\n onCreatedDebounce?: (value: any) => void;\n onDestroyRender?: () => void;\n };\n\n export class RouterOutlet extends ComponentBase<Attribute> implements OnInitRender {\n private value?: ComponentSet;\n private if?: boolean | null = null;\n private createArguments?: any[];\n private childObject?: any;\n private childRawSet?: RawSet;\n private sw = false;\n\n setValue(value: ComponentSet) {\n this.sw = false;\n setTimeout(() => {\n this.value = value;\n }, 0)\n\n setTimeout(() => {\n this.sw = true;\n }, 0)\n // console.log('sssssssssss');\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n const c = this.getParentThis<any>();\n const userValue = this.getAttribute('value');\n if (typeof userValue === 'string') {\n this.setValue(c[userValue]);\n } else if (userValue instanceof ComponentSet) {\n this.setValue(userValue);\n } else if (!userValue && c instanceof ComponentRouterBase) {\n this.setValue(c.child);\n }\n // console.log('------',c);\n }\n\n onDestroyRender(data: OnDestroyRenderParams) {\n super.onDestroyRender(data);\n }\n\n onDestroy() {\n super.onDestroy();\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\n // console.log('--------------', name, value);\n if (this.equalsAttributeName(name, 'value')) {\n this.setValue(value);\n }\n if (this.equalsAttributeName(name, 'if')) {\n this.if = value;\n }\n if (this.equalsAttributeName(name, 'createArguments')) {\n this.createArguments = value;\n }\n\n if (this.childObject && this.childRawSet && isOnChangeAttrRender(this.childObject)) {\n this.childObject.onChangeAttrRender(name, value, {rawSet: this.childRawSet});\n }\n }\n\n onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n super.onCreatedThisChild(child, data);\n // console.log('outlet--oncreatedThisChild',child);\n }\n\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n super.onCreatedThisChildDebounce(childrenSet);\n let parentThis = this.getParentThis();\n // console.log('---', parentThis);\n if (isOnCreatedOutletDebounce(parentThis)) {\n parentThis.onCreatedOutletDebounce(this.value?.obj);\n }\n this.getAttribute('onCreatedDebounce')?.(this.value?.obj);\n }\n\n\n onCreateDrThis($component: any, $rawSet: RawSet) {\n this.childObject = $component ??= this.value?.obj;\n this.childRawSet = $rawSet;\n if ($component) {\n this.getAttribute('onCreated')?.($component);\n // console.log('21222');\n if (isOnChangeAttrRender($component)) {\n this.getAttributeNames()\n .filter(it => it.startsWith('attribute-'))\n .forEach(it => {\n const attrName = it.replace(/^attribute-/, '');\n const attrValue = this.getAttribute(it as any);\n $rawSet.dataSet.render.attribute ??= {};\n $rawSet.dataSet.render.attribute[attrName] = attrValue;\n $component.onChangeAttrRender(attrName, attrValue, {rawSet: $rawSet});\n });\n }\n }\n }\n }\n}\n\nexport default {\n // TODO: \uC65C \uC774\uB188\uB9CC webpack\uC5D0\uC11C \uC21C\uD658\uCC38\uC870 \uC5D0\uB7EC\uB098\uB294\uC9C0\uBAA8\uB974\uACA0\uB2E4.. \uC65C \uC774\uB188\uB9CC.. \uADF8\uB798\uC11C \uC774\uB807\uAC8C \uD558\uAE34\uD568.\n routerOutlet: (config?: DomRenderRunConfig, executer?: { run: (...data: any[]) => any }) => {\n return RawSet.createComponentTargetElement({\n name: RouterOutlet.selector,\n template:\n `\n <dr-if value=\"\\${@this@.sw}$\">\n <div dr-this=\"@this@.value\" dr-detect-option-if=\"@this@?.value && @this@?.if\" dr-option-strip=\"true\" dr-on-create:arguments=\"@this@.createArguments\" dr-on-create:callback=\"@this@?.onCreateDrThis?.($component, $rawSet)\">#innerHTML#</div>\n </dr-if>\n `,\n objFactory: (e, o, r2, counstructorParam) => {\n return executer?.run({rootObject: new RouterOutlet.RouterOutlet(...counstructorParam), config: config});\n }\n });\n }\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["RouterOutlet"]
|
|
7
7
|
}
|
|
@@ -10,10 +10,10 @@ var __metadata = function(k, v) {
|
|
|
10
10
|
import { attribute, ComponentBase } from "../ComponentBase.js";
|
|
11
11
|
import { DomRender } from "../../DomRender.js";
|
|
12
12
|
import { RawSet } from "../../rawsets/RawSet.js";
|
|
13
|
-
import { EventUtils } from "@dooboostore/core-web
|
|
14
|
-
import { ValidUtils } from "@dooboostore/core-web
|
|
13
|
+
import { EventUtils } from "@dooboostore/core-web";
|
|
14
|
+
import { ValidUtils } from "@dooboostore/core-web";
|
|
15
15
|
import { DomRenderNoProxy } from "../../decorators/DomRenderNoProxy.js";
|
|
16
|
-
import { WindowUtils } from "@dooboostore/core-web
|
|
16
|
+
import { WindowUtils } from "@dooboostore/core-web";
|
|
17
17
|
var Select;
|
|
18
18
|
(function(Select_1) {
|
|
19
19
|
var _a;
|