@dooboostore/dom-render 1.0.112 → 1.0.113
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 +449 -15
- 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 +1 -3
- package/dist/cjs/bundle-entry.js.map +2 -2
- package/dist/cjs/components/ComponentBase.js +46 -34
- 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 +31 -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 +1 -3
- package/dist/esm/bundle-entry.js.map +2 -2
- package/dist/esm/components/ComponentBase.js +21 -9
- 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 +6 -8
- 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 +49 -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 +11429 -8895
- 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 +1 -3
- 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 +11491 -8957
- package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
- package/package.json +6 -10
- package/src/DomRender.ts +5 -5
- package/src/DomRenderProxy.ts +195 -124
- package/src/bundle-entry.ts +2 -4
- package/src/components/ComponentBase.ts +30 -11
- 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 +7 -9
- 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 +32 -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/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/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": "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",
|
|
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 {
|
|
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 { MessageOperator } from "@dooboostore/core";
|
|
6
|
+
import { EventUtils } from "@dooboostore/core-web";
|
|
9
7
|
var Input;
|
|
10
8
|
((_Input) => {
|
|
11
9
|
_Input.selector = `dr-input`;
|
|
@@ -24,7 +22,7 @@ var Input;
|
|
|
24
22
|
if (inputElement) {
|
|
25
23
|
const makeDeboundceDistinctUtilChanged = () => {
|
|
26
24
|
let result$ = EventUtils.htmlElementEventObservable(inputElement, "input").pipe(
|
|
27
|
-
map((event) => {
|
|
25
|
+
MessageOperator.map((event) => {
|
|
28
26
|
const target = event.target;
|
|
29
27
|
if (target instanceof HTMLInputElement) {
|
|
30
28
|
return target.value.trim();
|
|
@@ -34,10 +32,10 @@ var Input;
|
|
|
34
32
|
})
|
|
35
33
|
);
|
|
36
34
|
if (ValidUtils.isNotNullUndefined(debounceTimeValue) && debounceTimeValue > 0) {
|
|
37
|
-
result$ = result$.pipe(debounceTime(debounceTimeValue));
|
|
35
|
+
result$ = result$.pipe(MessageOperator.debounceTime(debounceTimeValue));
|
|
38
36
|
}
|
|
39
37
|
if (ValidUtils.isNotNullUndefined(distinct) && distinct === true) {
|
|
40
|
-
result$ = result$.pipe(distinctUntilChanged());
|
|
38
|
+
result$ = result$.pipe(MessageOperator.distinctUntilChanged());
|
|
41
39
|
}
|
|
42
40
|
return result$;
|
|
43
41
|
};
|
|
@@ -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 { MessageOperator } from '@dooboostore/core';\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 MessageOperator.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(MessageOperator.debounceTime(debounceTimeValue));\n }\n if (ValidUtils.isNotNullUndefined(distinct) && distinct === true) {\n result$ = result$.pipe(MessageOperator.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,uBAAuB;AAChC,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,gBAAgB,IAAI,CAAC,UAAiB;AACpC,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,gBAAgB,aAAa,iBAAiB,CAAC;AAAA,UACxE;AACA,cAAI,WAAW,mBAAmB,QAAQ,KAAK,aAAa,MAAM;AAChE,sBAAU,QAAQ,KAAK,gBAAgB,qBAAqB,CAAC;AAAA,UAC/D;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;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/select/Select.ts"],
|
|
4
|
-
"sourcesContent": ["import {attribute, ChildrenSet, ComponentBase} from '../ComponentBase';\nimport {DomRender, DomRenderRunConfig} from '../../DomRender';\nimport {RawSet} from '../../rawsets/RawSet';\nimport {OnCreateRenderData} from '../../lifecycle/OnCreateRenderData';\nimport {OnInitRender} from '../../lifecycle/OnInitRender';\nimport {OnDestroyRender} from '../../lifecycle/OnDestroyRender';\nimport {EventUtils} from '@dooboostore/core-web/event/EventUtils';\nimport {type Subscription} from '@dooboostore/core/message/Subscription';\nimport {ValidUtils} from '@dooboostore/core-web/valid/ValidUtils';\nimport {DomRenderNoProxy} from '../../decorators/DomRenderNoProxy';\nimport {OnCreateRender} from '../../lifecycle/OnCreateRender';\nimport {DomRenderConfig} from '../../configs/DomRenderConfig';\nimport {WindowUtils} from '@dooboostore/core-web/window/WindowUtils';\nimport {OnRawSetRenderedOtherData} from '../../lifecycle';\n\n/** 사용법\n <dr-select class=\"card-select-container\" changeSelected=\"${(data) => @this@.changeSelected(data)}$\"> <!-- multiple attribute optional-->\n <dr-select-summary class=\"card-select-summary-container\">\n <dr-select-summary-placeholder>\n <div class=\"card-select-summary-placeholder-container\">카드사별 사용처 안내 페이지 선택</div>\n </dr-select-summary-placeholder>\n <dr-select-summary-selected>\n <div dr-if=\"@this@.selectedCard\" class=\"card-select-summary-selected-container\">\n <img dr-attr=\"{src:@this@.selectedCard?.iconImg}\"> ${@this@.selectedCard?.name}$\n </div>\n </dr-select-summary-selected>\n </dr-select-summary>\n\n <dr-select-body float=\"bottom-left\" class=\"card-select-body-container\">\n <dr-select-option dr-for-of=\"@this@.cards\" value=\"${#it#.name}$\" selected=\"${#nearForOfIndex# === 0}$\" class=\"card-select-body-option-container\">\n <img dr-attr=\"{src:#it#.iconImg}\"> ${#it#.name}$\n </dr-select-option>\n </dr-select-body>\n </dr-select>\n */\n\nexport namespace Select {\n export const selector = 'dr-select';\n\n // Base for simple hide/show components\n class StateComponent extends ComponentBase {\n public hidden = true;\n public value: string | null = null;\n\n constructor(config: any) {\n super(config);\n }\n\n setValue(value: string | null) {\n this.value = value;\n }\n }\n\n // --- Option Child Components ---\n export class OptionSelected extends StateComponent {\n constructor() {\n super({onlyParentType: Option});\n }\n }\n\n export class OptionUnselected extends StateComponent {\n constructor() {\n super({onlyParentType: Option});\n }\n }\n\n export class OptionDisabled extends StateComponent {\n constructor() {\n super({onlyParentType: Option});\n }\n }\n\n // --- Summary Child Components ---\n export class SummaryPlaceholder extends StateComponent {\n constructor() {\n super({onlyParentType: Summary});\n }\n }\n\n export class SummarySelected extends StateComponent {\n private selectedOptions: Select.Option[] = [];\n\n constructor() {\n super({onlyParentType: Summary});\n }\n\n setOptions(options: Option[] = []) {\n this.selectedOptions = options.filter(it => it.selected);\n }\n }\n\n export class SummaryDisabled extends StateComponent {\n private selectedOptions: Select.Option[] = [];\n\n constructor() {\n super({onlyParentType: Summary});\n }\n\n setOptions(options: Option[] = []) {\n this.selectedOptions = options.filter(it => it.selected);\n }\n }\n\n // --- Select Body Component ---\n export type SelectBodyAttribute = {\n float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n class?: string;\n }\n // --- Option Component ---\n export type OptionAttribute = { value: string; selected?: boolean | null; disabled?: boolean | null; class?: string; };\n\n export class Option extends ComponentBase<OptionAttribute> implements OnInitRender {\n public hidden = true;\n @attribute({name: 'value'}) public value: string | null = null;\n @attribute({name: 'selected', converter: v => v !== null && v === true}) public selected = false;\n @attribute({name: 'disabled', converter: v => v !== null && v === true}) public disabled = false;\n @attribute({name: 'class', converter: v => (v ? v : null)}) public classAttr: string | null = null;\n\n // public status: 'selected' | 'unselected' | 'disabled' = 'unselected';\n\n constructor() {\n super({onlyParentType: SelectBody});\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n // console.log('-----', this.value, this.selected)\n // this.getElement()?.addEventListener('click', (e) => {\n // e.stopPropagation();\n // if (!this.disabled) {\n // this.getParentThis<Select>().handleOptionClick(this);\n // }\n // });\n this.updateStatus();\n }\n\n // onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n // super.onCreatedThisChild(child, data);\n // this.updateStatus();\n // }\n\n // async onRawSetRendered(rawSet:RawSet, otherData:OnRawSetRenderedOtherData):Promise<void>{\n // await super.onRawSetRendered(rawSet, otherData);\n // }\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n super.onCreatedThisChildDebounce(childrenSet);\n this.updateStatus();\n }\n\n toggleSelected(event: Event) {\n // console.log('isMultiple', this.isMultiple())\n if (!this.disabled) {\n this.selected = this.isMultiple() ? !this.selected : true;\n // this.selected = !this.selected;\n this.updateStatus();\n this.getParentThis<SelectBody>().changeOptionState(this);\n } else {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n isMultiple() {\n return this.getParentThis<Select.SelectBody>()?.getParentThis<Select.Select>().multiple;\n }\n\n updateStatus() {\n if (this.disabled) {\n this.getChildren(OptionSelected).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n this.getChildren(OptionUnselected).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n this.getChildren(OptionDisabled).forEach(c => {\n c.hidden = false;\n c.setValue(this.value)\n });\n return;\n }\n\n if (this.selected) {\n this.getChildren(OptionSelected).forEach(c => {\n c.hidden = false;\n c.setValue(this.value)\n });\n this.getChildren(OptionUnselected).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n this.getChildren(OptionDisabled).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n }\n\n if (!this.selected) {\n this.getChildren(OptionSelected).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n this.getChildren(OptionUnselected).forEach(c => {\n c.hidden = false;\n c.setValue(this.value)\n });\n this.getChildren(OptionDisabled).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n }\n }\n }\n\n // --- Summary Component ---\n export class Summary extends ComponentBase implements OnInitRender {\n @attribute({name: 'class', converter: v => (v === '' ? null : v)}) public classAttr: string | null = null;\n private options: Select.Option[] = [];\n private disabled: boolean = false;\n public element?: HTMLElement;\n\n // constructor() {\n // super({ onlyParentType: Select });\n // }\n\n setDisabled(disabled: boolean) {\n this.disabled = disabled;\n this.getChildren(SummaryPlaceholder).forEach(it => (it.hidden = true));\n this.getChildren(SummarySelected).forEach(it => (it.hidden = true));\n this.getChildren(SummaryDisabled).forEach(it => (it.hidden = false));\n }\n\n setOptions(options: Option[] = []): void {\n this.options = options;\n\n const selectedOptions = this.options.filter(it => it.selected && !it.disabled);\n if (!this.disabled) {\n if (selectedOptions.length > 0) {\n this.getChildren(SummaryPlaceholder).forEach(it => (it.hidden = true));\n this.getChildren(SummarySelected).forEach(c => {\n c.setOptions(options);\n c.hidden = false;\n });\n this.getChildren(SummaryDisabled).forEach(it => (it.hidden = true));\n } else {\n this.getChildren(SummaryDisabled).forEach(it => (it.hidden = true));\n this.getChildren(SummaryPlaceholder).forEach(it => (it.hidden = false));\n this.getChildren(SummarySelected).forEach(c => (c.hidden = true));\n }\n }\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n // this.getElement()?.addEventListener('click', (e) => {\n // e.stopPropagation();\n // this.getParentThis<Select>().toggle();\n // });\n }\n\n onInitSummaryElement(element: HTMLElement, event: Event) {\n this.element = element;\n }\n\n updateView(hasSelection: boolean) {\n this.getChildren(SummaryPlaceholder).forEach(c => (c.hidden = hasSelection));\n this.getChildren(SummarySelected).forEach(c => (c.hidden = !hasSelection));\n }\n\n // onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n // super.onCreatedThisChild(child, data);\n // }\n // async onRawSetRendered(rawSet: RawSet, otherData: OnRawSetRenderedOtherData): Promise<void> {\n // await super.onRawSetRendered(rawSet, otherData);\n // }\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n super.onCreatedThisChildDebounce(childrenSet);\n this.updateView(this.getParentThis<Select>()?.selectedValues?.length > 0);\n }\n\n onSummaryClick(element: HTMLElement, event: Event) {\n if (this.getParentThis<Select>()?.disabled) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n }\n }\n\n\n export class SelectBody extends ComponentBase<SelectBodyAttribute> {\n @attribute({name: 'class', converter: v => (v === '' ? null : v)}) public classAttr: string | null = null;\n @attribute({name: 'float'}) public float: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right' | null = null;\n\n constructor() {\n super({onlyParentType: Select});\n }\n\n async onRawSetRendered(rawSet: RawSet, otherData: OnRawSetRenderedOtherData): Promise<void> {\n await super.onRawSetRendered(rawSet, otherData);\n // }\n // onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n // super.onCreatedThisChildDebounce(childrenSet);\n this.changeOptionState();\n }\n\n changeOptionState(option?: Option) {\n const options = this.getChildren(Option);\n const select = this.getParentThis<Select>();\n // console.log('------opti',option, select);\n // // 멀티플이 아닐때에는 마지막 선택된값으로 처리\n if (!select.multiple) {\n // 내가 선택한게 있으면\n if (option && option.selected) {\n options.filter(it => it !== option).forEach(it => {\n it.selected = false;\n it.updateStatus();\n });\n } else {\n const selectedOptions = options.filter(it => it.selected && !it.disabled);\n selectedOptions.forEach((opt, idx) => {\n const isLast = idx === selectedOptions.length - 1;\n if (!isLast) {\n opt.selected = false;\n opt.updateStatus();\n }\n });\n }\n }\n // console.log('--------', options.map(it=>it.selected))\n select?.setOptions(options);\n }\n }\n\n\n // --- Main Select Component ---\n export type SelectAttribute = {\n multiple?: boolean | null; class?: string;\n onchange?: (value?: string) => void;\n onchangeValues?: (value: string[]) => void;\n name?: string;\n float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n disableOtherClickClose?: boolean;\n toggle?: (open: boolean) => void;\n disabled?: boolean | null;\n };\n\n export class Select extends ComponentBase<SelectAttribute> implements OnInitRender, OnCreateRender, OnCreateRenderData, OnDestroyRender {\n @attribute({name: 'multiple', converter: v => v !== null}) public multiple = false;\n @attribute({name: 'disabled', converter: v => v !== null}) public disabled = false;\n @attribute({name: 'class', converter: v => (v === '' ? null : v)}) public classAttr: string | null = null;\n @attribute({name: 'name', converter: v => (v === '' ? null : v)}) public name: string | null = null;\n\n // public isOpen = false;\n public selectedValues: (string | null)[] = [];\n public selectedOptions: Option[] = [];\n private value: string | (string | null)[] | null | undefined;\n\n @DomRenderNoProxy private element?: HTMLDetailsElement;\n @DomRenderNoProxy private documentClickSubscription?: Subscription;\n @DomRenderNoProxy private windowBlurSubscription?: Subscription;\n @DomRenderNoProxy public summaryComponent?: Summary;\n @DomRenderNoProxy public selectBodyComponent?: SelectBody;\n private options?: Select.Option[];\n\n constructor(config?: DomRenderConfig) {\n super();\n // console.log('----Select constructor')\n }\n\n // get value(): string | (string | null)[] | null | undefined {\n // return this._value;\n // }\n // set value(val: string | (string | null)[] | null | undefined) {\n // console.log('value set', val)\n // this._value = val;\n // }\n\n get optionComponents(): Option[] {\n return this.getChildren(Option);\n }\n\n onCreateRender() {\n\n }\n\n onCreateRenderData() {\n\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n // console.log('select onInitRender', this.multiple)\n\n if (ValidUtils.isBrowser() && this.rawSet?.dataSet.config.window) {\n const detailsElement = this.element;\n\n const window = this.rawSet.dataSet!.config!.window!;\n const document = window.document;\n this.documentClickSubscription = EventUtils.htmlElementEventObservable(document, 'click').subscribe(event => {\n const isSummaryClick = this.getChildren(Summary).some(it => event.target && it.element?.contains(event.target as Node) || it.element === event.target)\n if (!isSummaryClick && this.getAttribute('disableOtherClickClose')) {\n return;\n }\n if (!isSummaryClick && !this.multiple && detailsElement) {\n detailsElement.open = false;\n return;\n }\n if (!isSummaryClick && detailsElement && !detailsElement?.contains(event?.target as Node)) {\n detailsElement.open = false;\n }\n })\n\n this.windowBlurSubscription = WindowUtils.eventObservable(window, 'blur').subscribe(() => {\n if (detailsElement?.open && window.document.activeElement?.tagName === 'IFRAME') {\n detailsElement.open = false;\n }\n });\n }\n }\n\n\n toggle(element: HTMLDetailsElement, event: Event) {\n // console.log('------>', this.disabled, event)\n // if (this.disabled) {\n // event.stopPropagation();\n // event.preventDefault();\n // return;\n // }\n const toggleAttribute = this.getAttribute('toggle');\n if (toggleAttribute) {\n toggleAttribute?.(element.open);\n }\n }\n\n setOptions(options: Option[]) {\n const summaries = this.getChildren(Summary);\n\n this.options = options;\n\n const values = this.options.filter(it => it.selected && !it.disabled).map(it => it.value)\n summaries?.forEach(it => {\n it.setDisabled(this.disabled);\n if (!this.disabled) {\n it.setOptions(options);\n }\n });\n this.selectedValues = values;\n this.selectedOptions = this.options.filter(it => it.selected && !it.disabled);\n this.value = this.selectedValues[0];\n this.getAttribute('onchange')?.(this.value);\n this.getAttribute('onchangeValues')?.(values);\n }\n\n onInitDetailsElement(detailsElement: HTMLDetailsElement) {\n // console.log('detailsElement oninit', detailsElement);\n this.element = detailsElement;\n }\n\n onDrThisUnBind() {\n super.onDrThisUnBind();\n this.onDestroyRender();\n }\n\n onDestroyRender() {\n super.onDestroyRender();\n this.documentClickSubscription?.unsubscribe();\n this.windowBlurSubscription?.unsubscribe();\n }\n\n @attribute('value')\n setValue(value: string | null | undefined) {\n this.value = value;\n if (this.options) {\n\n // clear\n this.options.forEach(it=> {\n it.selected = false;\n it.updateStatus();\n });\n for (let option of this.options) {\n if (option.value === value) {\n option.selected = true;\n if (!this.multiple) {\n // 하나만 선택\n break;\n }\n } else {\n option.selected = false;\n }\n option.updateStatus()\n }\n }\n console.log('value set', value)\n }\n\n test() {\n console.log('tttttttt')\n }\n }\n}\n\nconst stateComponentFactory = (name: string, type: any) => {\n return (config?: DomRenderRunConfig) =>\n RawSet.createComponentTargetElement({\n name,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>\\n',\n objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new type(), config})\n });\n};\n\nexport default {\n select: (config?: DomRenderConfig) => {\n return RawSet.createComponentTargetElement({\n name: Select.selector,\n styles:\n '.dr-select-container {\\n' +\n ' position: relative;\\n' +\n '\\n' +\n '}\\n' +\n '.dr-select-options-container {\\n' +\n ' display: none;\\n' +\n ' position: absolute;\\n' +\n ' top: 100%;\\n' +\n ' left: 0;\\n' +\n ' right: 0;\\n' +\n ' z-index: 10;\\n' +\n '}\\n' +\n '.dr-select-container.is-open .dr-select-options-container {\\n' +\n ' display: block;\\n' +\n '}\\n' +\n 'summary::-webkit-details-marker {\\n' +\n ' display: none;\\n' +\n '}\\n' +\n '/* Floating styles for dr-select-body */\\n' +\n '.dr-select-body-container {\\n' +\n ' position: absolute;\\n' +\n '}\\n' +\n '\\n' +\n '.dr-select-body-bottom-left-container {\\n' +\n ' position: absolute;\\n' +\n ' left: 0;\\n' +\n ' top: 100%;\\n' +\n '}\\n' +\n '\\n' +\n '.dr-select-body-bottom-right-container {\\n' +\n ' position: absolute;\\n' +\n ' right: 0;\\n' +\n ' top: 100%;\\n' +\n '}\\n' +\n '\\n' +\n '.dr-select-body-top-left-container {\\n' +\n ' position: absolute;\\n' +\n ' left: 0;\\n' +\n ' bottom: 100%;\\n' +\n '}\\n' +\n '\\n' +\n '.dr-select-body-top-right-container {\\n' +\n ' position: absolute;\\n' +\n ' right: 0;\\n' +\n ' bottom: 100%;\\n' +\n '}\\n' +\n '\\n' +\n '/* Reset default details/summary styles */\\n' +\n '.dr-select-container details {\\n' +\n ' display: block; /* Ensure it behaves like a block element */\\n' +\n '}\\n' +\n '\\n' +\n '.dr-select-container summary {\\n' +\n ' display: block; /* Ensure it behaves like a block element */\\n' +\n ' list-style: none; /* Remove default marker */\\n' +\n \" cursor: pointer; /* Indicate it's clickable */\\n\" +\n '}\\n' +\n '\\n' +\n '.dr-select-container summary::-webkit-details-marker,\\n' +\n '.dr-select-container summary::marker {\\n' +\n ' display: none; /* Hide marker for Webkit and standard */\\n' +\n '}',\n template:\n '<details dr-class=\"{\\n' +\n \" 'dr-select-container': true,\\n\" +\n \" 'is-open': @this@.isOpen,\\n\" +\n ' [@this@.classAttr]: @this@.classAttr\\n' +\n ' }\" dr-on-init=\"@this@.onInitDetailsElement($element)\" dr-option-complete=\"@this@.test()\" dr-event-toggle=\"@this@.toggle($element, $event)\">\\n' +\n '\\n' +\n ' #innerHTML#\\n' +\n '</details>\\n' +\n '<select hidden=\"hidden\" name=\"${@this@.name}$\" disabled=\"${@this@.disabled ? \\'disabled\\' : null}$\" style=\"width: 1500px; height:500px\" multiple>\\n' +\n ' <option dr-for-of=\"@this@.options\" value=\"${#it#.value}$\" selected=\"${#it#.selected ? \\'selected\\' : null}$\">#it# ${#it#.value}$</option>\\n' +\n '</select>',\n objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new Select.Select(config), config})\n });\n },\n selectSummary: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Select.selector}-summary`,\n template:\n '<summary dr-class=\"{[@this@.classAttr]: @this@.classAttr}\"\\n' +\n ' dr-on-init=\"@this@.onInitSummaryElement($element, $event)\"\\n' +\n ' dr-event-click=\"@this@.onSummaryClick($element, $event)\"\\n' +\n '>\\n' +\n '#innerHTML#\\n' +\n '</summary>',\n objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new Select.Summary(), config})\n });\n },\n selectSummaryPlaceholder: stateComponentFactory(`${Select.selector}-summary-placeholder`, Select.SummaryPlaceholder),\n selectSummarySelected: stateComponentFactory(`${Select.selector}-summary-selected`, Select.SummarySelected),\n selectSummaryDisabled: stateComponentFactory(`${Select.selector}-summary-disabled`, Select.SummaryDisabled),\n\n selectBody: (config?: DomRenderRunConfig) => { // New export\n return RawSet.createComponentTargetElement({\n name: `${Select.selector}-body`,\n template: '<div dr-class=\"{[@this@.classAttr]: @this@.classAttr, \\'dr-select-body-container\\': true, [\\'dr-select-body-\\'+@this@.float+\\'-container\\']: @this@.float}\">#innerHTML#</div>',\n objFactory: (e, o, r2, constructorParam) => {\n return DomRender.run({rootObject: new Select.SelectBody(), config: config});\n }\n })\n },\n\n selectOption: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Select.selector}-option`,\n template:\n '<a dr-class=\"{[@this@.classAttr]: @this@.classAttr}\" dr-event-click=\"@this@.toggleSelected($event)\">#innerHTML#</a>\\n',\n objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new Select.Option(), config})\n });\n },\n selectOptionSelected: stateComponentFactory(`${Select.selector}-option-selected`, Select.OptionSelected),\n selectOptionUnselected: stateComponentFactory(`${Select.selector}-option-unselected`, Select.OptionUnselected),\n selectOptionDisabled: stateComponentFactory(`${Select.selector}-option-disabled`, Select.OptionDisabled),\n};"],
|
|
4
|
+
"sourcesContent": ["import {attribute, ChildrenSet, ComponentBase} from '../ComponentBase';\nimport {DomRender, DomRenderRunConfig} from '../../DomRender';\nimport {RawSet} from '../../rawsets/RawSet';\nimport {OnCreateRenderData} from '../../lifecycle/OnCreateRenderData';\nimport {OnInitRender} from '../../lifecycle/OnInitRender';\nimport {OnDestroyRender} from '../../lifecycle/OnDestroyRender';\nimport {EventUtils} from '@dooboostore/core-web';\nimport {type Subscription} from '@dooboostore/core';\nimport {ValidUtils} from '@dooboostore/core-web';\nimport {DomRenderNoProxy} from '../../decorators/DomRenderNoProxy';\nimport {OnCreateRender} from '../../lifecycle/OnCreateRender';\nimport {DomRenderConfig} from '../../configs/DomRenderConfig';\nimport {WindowUtils} from '@dooboostore/core-web';\nimport {OnRawSetRenderedOtherData} from '../../lifecycle';\n\n/** 사용법\n <dr-select class=\"card-select-container\" changeSelected=\"${(data) => @this@.changeSelected(data)}$\"> <!-- multiple attribute optional-->\n <dr-select-summary class=\"card-select-summary-container\">\n <dr-select-summary-placeholder>\n <div class=\"card-select-summary-placeholder-container\">카드사별 사용처 안내 페이지 선택</div>\n </dr-select-summary-placeholder>\n <dr-select-summary-selected>\n <div dr-if=\"@this@.selectedCard\" class=\"card-select-summary-selected-container\">\n <img dr-attr=\"{src:@this@.selectedCard?.iconImg}\"> ${@this@.selectedCard?.name}$\n </div>\n </dr-select-summary-selected>\n </dr-select-summary>\n\n <dr-select-body float=\"bottom-left\" class=\"card-select-body-container\">\n <dr-select-option dr-for-of=\"@this@.cards\" value=\"${#it#.name}$\" selected=\"${#nearForOfIndex# === 0}$\" class=\"card-select-body-option-container\">\n <img dr-attr=\"{src:#it#.iconImg}\"> ${#it#.name}$\n </dr-select-option>\n </dr-select-body>\n </dr-select>\n */\n\nexport namespace Select {\n export const selector = 'dr-select';\n\n // Base for simple hide/show components\n class StateComponent extends ComponentBase {\n public hidden = true;\n public value: string | null = null;\n\n constructor(config: any) {\n super(config);\n }\n\n setValue(value: string | null) {\n this.value = value;\n }\n }\n\n // --- Option Child Components ---\n export class OptionSelected extends StateComponent {\n constructor() {\n super({onlyParentType: Option});\n }\n }\n\n export class OptionUnselected extends StateComponent {\n constructor() {\n super({onlyParentType: Option});\n }\n }\n\n export class OptionDisabled extends StateComponent {\n constructor() {\n super({onlyParentType: Option});\n }\n }\n\n // --- Summary Child Components ---\n export class SummaryPlaceholder extends StateComponent {\n constructor() {\n super({onlyParentType: Summary});\n }\n }\n\n export class SummarySelected extends StateComponent {\n private selectedOptions: Select.Option[] = [];\n\n constructor() {\n super({onlyParentType: Summary});\n }\n\n setOptions(options: Option[] = []) {\n this.selectedOptions = options.filter(it => it.selected);\n }\n }\n\n export class SummaryDisabled extends StateComponent {\n private selectedOptions: Select.Option[] = [];\n\n constructor() {\n super({onlyParentType: Summary});\n }\n\n setOptions(options: Option[] = []) {\n this.selectedOptions = options.filter(it => it.selected);\n }\n }\n\n // --- Select Body Component ---\n export type SelectBodyAttribute = {\n float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n class?: string;\n }\n // --- Option Component ---\n export type OptionAttribute = { value: string; selected?: boolean | null; disabled?: boolean | null; class?: string; };\n\n export class Option extends ComponentBase<OptionAttribute> implements OnInitRender {\n public hidden = true;\n @attribute({name: 'value'}) public value: string | null = null;\n @attribute({name: 'selected', converter: v => v !== null && v === true}) public selected = false;\n @attribute({name: 'disabled', converter: v => v !== null && v === true}) public disabled = false;\n @attribute({name: 'class', converter: v => (v ? v : null)}) public classAttr: string | null = null;\n\n // public status: 'selected' | 'unselected' | 'disabled' = 'unselected';\n\n constructor() {\n super({onlyParentType: SelectBody});\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n // console.log('-----', this.value, this.selected)\n // this.getElement()?.addEventListener('click', (e) => {\n // e.stopPropagation();\n // if (!this.disabled) {\n // this.getParentThis<Select>().handleOptionClick(this);\n // }\n // });\n this.updateStatus();\n }\n\n // onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n // super.onCreatedThisChild(child, data);\n // this.updateStatus();\n // }\n\n // async onRawSetRendered(rawSet:RawSet, otherData:OnRawSetRenderedOtherData):Promise<void>{\n // await super.onRawSetRendered(rawSet, otherData);\n // }\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n super.onCreatedThisChildDebounce(childrenSet);\n this.updateStatus();\n }\n\n toggleSelected(event: Event) {\n // console.log('isMultiple', this.isMultiple())\n if (!this.disabled) {\n this.selected = this.isMultiple() ? !this.selected : true;\n // this.selected = !this.selected;\n this.updateStatus();\n this.getParentThis<SelectBody>().changeOptionState(this);\n } else {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n isMultiple() {\n return this.getParentThis<Select.SelectBody>()?.getParentThis<Select.Select>().multiple;\n }\n\n updateStatus() {\n if (this.disabled) {\n this.getChildren(OptionSelected).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n this.getChildren(OptionUnselected).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n this.getChildren(OptionDisabled).forEach(c => {\n c.hidden = false;\n c.setValue(this.value)\n });\n return;\n }\n\n if (this.selected) {\n this.getChildren(OptionSelected).forEach(c => {\n c.hidden = false;\n c.setValue(this.value)\n });\n this.getChildren(OptionUnselected).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n this.getChildren(OptionDisabled).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n }\n\n if (!this.selected) {\n this.getChildren(OptionSelected).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n this.getChildren(OptionUnselected).forEach(c => {\n c.hidden = false;\n c.setValue(this.value)\n });\n this.getChildren(OptionDisabled).forEach(c => {\n c.hidden = true;\n c.setValue(this.value)\n });\n }\n }\n }\n\n // --- Summary Component ---\n export class Summary extends ComponentBase implements OnInitRender {\n @attribute({name: 'class', converter: v => (v === '' ? null : v)}) public classAttr: string | null = null;\n private options: Select.Option[] = [];\n private disabled: boolean = false;\n public element?: HTMLElement;\n\n // constructor() {\n // super({ onlyParentType: Select });\n // }\n\n setDisabled(disabled: boolean) {\n this.disabled = disabled;\n this.getChildren(SummaryPlaceholder).forEach(it => (it.hidden = true));\n this.getChildren(SummarySelected).forEach(it => (it.hidden = true));\n this.getChildren(SummaryDisabled).forEach(it => (it.hidden = false));\n }\n\n setOptions(options: Option[] = []): void {\n this.options = options;\n\n const selectedOptions = this.options.filter(it => it.selected && !it.disabled);\n if (!this.disabled) {\n if (selectedOptions.length > 0) {\n this.getChildren(SummaryPlaceholder).forEach(it => (it.hidden = true));\n this.getChildren(SummarySelected).forEach(c => {\n c.setOptions(options);\n c.hidden = false;\n });\n this.getChildren(SummaryDisabled).forEach(it => (it.hidden = true));\n } else {\n this.getChildren(SummaryDisabled).forEach(it => (it.hidden = true));\n this.getChildren(SummaryPlaceholder).forEach(it => (it.hidden = false));\n this.getChildren(SummarySelected).forEach(c => (c.hidden = true));\n }\n }\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n // this.getElement()?.addEventListener('click', (e) => {\n // e.stopPropagation();\n // this.getParentThis<Select>().toggle();\n // });\n }\n\n onInitSummaryElement(element: HTMLElement, event: Event) {\n this.element = element;\n }\n\n updateView(hasSelection: boolean) {\n this.getChildren(SummaryPlaceholder).forEach(c => (c.hidden = hasSelection));\n this.getChildren(SummarySelected).forEach(c => (c.hidden = !hasSelection));\n }\n\n // onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n // super.onCreatedThisChild(child, data);\n // }\n // async onRawSetRendered(rawSet: RawSet, otherData: OnRawSetRenderedOtherData): Promise<void> {\n // await super.onRawSetRendered(rawSet, otherData);\n // }\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n super.onCreatedThisChildDebounce(childrenSet);\n this.updateView(this.getParentThis<Select>()?.selectedValues?.length > 0);\n }\n\n onSummaryClick(element: HTMLElement, event: Event) {\n if (this.getParentThis<Select>()?.disabled) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n }\n }\n\n\n export class SelectBody extends ComponentBase<SelectBodyAttribute> {\n @attribute({name: 'class', converter: v => (v === '' ? null : v)}) public classAttr: string | null = null;\n @attribute({name: 'float'}) public float: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right' | null = null;\n\n constructor() {\n super({onlyParentType: Select});\n }\n\n async onRawSetRendered(rawSet: RawSet, otherData: OnRawSetRenderedOtherData): Promise<void> {\n await super.onRawSetRendered(rawSet, otherData);\n // }\n // onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n // super.onCreatedThisChildDebounce(childrenSet);\n this.changeOptionState();\n }\n\n changeOptionState(option?: Option) {\n const options = this.getChildren(Option);\n const select = this.getParentThis<Select>();\n // console.log('------opti',option, select);\n // // 멀티플이 아닐때에는 마지막 선택된값으로 처리\n if (!select.multiple) {\n // 내가 선택한게 있으면\n if (option && option.selected) {\n options.filter(it => it !== option).forEach(it => {\n it.selected = false;\n it.updateStatus();\n });\n } else {\n const selectedOptions = options.filter(it => it.selected && !it.disabled);\n selectedOptions.forEach((opt, idx) => {\n const isLast = idx === selectedOptions.length - 1;\n if (!isLast) {\n opt.selected = false;\n opt.updateStatus();\n }\n });\n }\n }\n // console.log('--------', options.map(it=>it.selected))\n select?.setOptions(options);\n }\n }\n\n\n // --- Main Select Component ---\n export type SelectAttribute = {\n multiple?: boolean | null; class?: string;\n onchange?: (value?: string) => void;\n onchangeValues?: (value: string[]) => void;\n name?: string;\n float?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n disableOtherClickClose?: boolean;\n toggle?: (open: boolean) => void;\n disabled?: boolean | null;\n };\n\n export class Select extends ComponentBase<SelectAttribute> implements OnInitRender, OnCreateRender, OnCreateRenderData, OnDestroyRender {\n @attribute({name: 'multiple', converter: v => v !== null}) public multiple = false;\n @attribute({name: 'disabled', converter: v => v !== null}) public disabled = false;\n @attribute({name: 'class', converter: v => (v === '' ? null : v)}) public classAttr: string | null = null;\n @attribute({name: 'name', converter: v => (v === '' ? null : v)}) public name: string | null = null;\n\n // public isOpen = false;\n public selectedValues: (string | null)[] = [];\n public selectedOptions: Option[] = [];\n private value: string | (string | null)[] | null | undefined;\n\n @DomRenderNoProxy private element?: HTMLDetailsElement;\n @DomRenderNoProxy private documentClickSubscription?: Subscription;\n @DomRenderNoProxy private windowBlurSubscription?: Subscription;\n @DomRenderNoProxy public summaryComponent?: Summary;\n @DomRenderNoProxy public selectBodyComponent?: SelectBody;\n private options?: Select.Option[];\n\n constructor(config?: DomRenderConfig) {\n super();\n // console.log('----Select constructor')\n }\n\n // get value(): string | (string | null)[] | null | undefined {\n // return this._value;\n // }\n // set value(val: string | (string | null)[] | null | undefined) {\n // console.log('value set', val)\n // this._value = val;\n // }\n\n get optionComponents(): Option[] {\n return this.getChildren(Option);\n }\n\n onCreateRender() {\n\n }\n\n onCreateRenderData() {\n\n }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n // console.log('select onInitRender', this.multiple)\n\n if (ValidUtils.isBrowser() && this.rawSet?.dataSet.config.window) {\n const detailsElement = this.element;\n\n const window = this.rawSet.dataSet!.config!.window!;\n const document = window.document;\n this.documentClickSubscription = EventUtils.htmlElementEventObservable(document, 'click').subscribe(event => {\n const isSummaryClick = this.getChildren(Summary).some(it => event.target && it.element?.contains(event.target as Node) || it.element === event.target)\n if (!isSummaryClick && this.getAttribute('disableOtherClickClose')) {\n return;\n }\n if (!isSummaryClick && !this.multiple && detailsElement) {\n detailsElement.open = false;\n return;\n }\n if (!isSummaryClick && detailsElement && !detailsElement?.contains(event?.target as Node)) {\n detailsElement.open = false;\n }\n })\n\n this.windowBlurSubscription = WindowUtils.eventObservable(window, 'blur').subscribe(() => {\n if (detailsElement?.open && window.document.activeElement?.tagName === 'IFRAME') {\n detailsElement.open = false;\n }\n });\n }\n }\n\n\n toggle(element: HTMLDetailsElement, event: Event) {\n // console.log('------>', this.disabled, event)\n // if (this.disabled) {\n // event.stopPropagation();\n // event.preventDefault();\n // return;\n // }\n const toggleAttribute = this.getAttribute('toggle');\n if (toggleAttribute) {\n toggleAttribute?.(element.open);\n }\n }\n\n setOptions(options: Option[]) {\n const summaries = this.getChildren(Summary);\n\n this.options = options;\n\n const values = this.options.filter(it => it.selected && !it.disabled).map(it => it.value)\n summaries?.forEach(it => {\n it.setDisabled(this.disabled);\n if (!this.disabled) {\n it.setOptions(options);\n }\n });\n this.selectedValues = values;\n this.selectedOptions = this.options.filter(it => it.selected && !it.disabled);\n this.value = this.selectedValues[0];\n this.getAttribute('onchange')?.(this.value);\n this.getAttribute('onchangeValues')?.(values);\n }\n\n onInitDetailsElement(detailsElement: HTMLDetailsElement) {\n // console.log('detailsElement oninit', detailsElement);\n this.element = detailsElement;\n }\n\n onDrThisUnBind() {\n super.onDrThisUnBind();\n this.onDestroyRender();\n }\n\n onDestroyRender() {\n super.onDestroyRender();\n this.documentClickSubscription?.unsubscribe();\n this.windowBlurSubscription?.unsubscribe();\n }\n\n @attribute('value')\n setValue(value: string | null | undefined) {\n this.value = value;\n if (this.options) {\n\n // clear\n this.options.forEach(it=> {\n it.selected = false;\n it.updateStatus();\n });\n for (let option of this.options) {\n if (option.value === value) {\n option.selected = true;\n if (!this.multiple) {\n // 하나만 선택\n break;\n }\n } else {\n option.selected = false;\n }\n option.updateStatus()\n }\n }\n console.log('value set', value)\n }\n\n test() {\n console.log('tttttttt')\n }\n }\n}\n\nconst stateComponentFactory = (name: string, type: any) => {\n return (config?: DomRenderRunConfig) =>\n RawSet.createComponentTargetElement({\n name,\n template: '<div dr-if=\"!@this@.hidden\" dr-option-strip=\"true\">#innerHTML#</div>\\n',\n objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new type(), config})\n });\n};\n\nexport default {\n select: (config?: DomRenderConfig) => {\n return RawSet.createComponentTargetElement({\n name: Select.selector,\n styles:\n '.dr-select-container {\\n' +\n ' position: relative;\\n' +\n '\\n' +\n '}\\n' +\n '.dr-select-options-container {\\n' +\n ' display: none;\\n' +\n ' position: absolute;\\n' +\n ' top: 100%;\\n' +\n ' left: 0;\\n' +\n ' right: 0;\\n' +\n ' z-index: 10;\\n' +\n '}\\n' +\n '.dr-select-container.is-open .dr-select-options-container {\\n' +\n ' display: block;\\n' +\n '}\\n' +\n 'summary::-webkit-details-marker {\\n' +\n ' display: none;\\n' +\n '}\\n' +\n '/* Floating styles for dr-select-body */\\n' +\n '.dr-select-body-container {\\n' +\n ' position: absolute;\\n' +\n '}\\n' +\n '\\n' +\n '.dr-select-body-bottom-left-container {\\n' +\n ' position: absolute;\\n' +\n ' left: 0;\\n' +\n ' top: 100%;\\n' +\n '}\\n' +\n '\\n' +\n '.dr-select-body-bottom-right-container {\\n' +\n ' position: absolute;\\n' +\n ' right: 0;\\n' +\n ' top: 100%;\\n' +\n '}\\n' +\n '\\n' +\n '.dr-select-body-top-left-container {\\n' +\n ' position: absolute;\\n' +\n ' left: 0;\\n' +\n ' bottom: 100%;\\n' +\n '}\\n' +\n '\\n' +\n '.dr-select-body-top-right-container {\\n' +\n ' position: absolute;\\n' +\n ' right: 0;\\n' +\n ' bottom: 100%;\\n' +\n '}\\n' +\n '\\n' +\n '/* Reset default details/summary styles */\\n' +\n '.dr-select-container details {\\n' +\n ' display: block; /* Ensure it behaves like a block element */\\n' +\n '}\\n' +\n '\\n' +\n '.dr-select-container summary {\\n' +\n ' display: block; /* Ensure it behaves like a block element */\\n' +\n ' list-style: none; /* Remove default marker */\\n' +\n \" cursor: pointer; /* Indicate it's clickable */\\n\" +\n '}\\n' +\n '\\n' +\n '.dr-select-container summary::-webkit-details-marker,\\n' +\n '.dr-select-container summary::marker {\\n' +\n ' display: none; /* Hide marker for Webkit and standard */\\n' +\n '}',\n template:\n '<details dr-class=\"{\\n' +\n \" 'dr-select-container': true,\\n\" +\n \" 'is-open': @this@.isOpen,\\n\" +\n ' [@this@.classAttr]: @this@.classAttr\\n' +\n ' }\" dr-on-init=\"@this@.onInitDetailsElement($element)\" dr-option-complete=\"@this@.test()\" dr-event-toggle=\"@this@.toggle($element, $event)\">\\n' +\n '\\n' +\n ' #innerHTML#\\n' +\n '</details>\\n' +\n '<select hidden=\"hidden\" name=\"${@this@.name}$\" disabled=\"${@this@.disabled ? \\'disabled\\' : null}$\" style=\"width: 1500px; height:500px\" multiple>\\n' +\n ' <option dr-for-of=\"@this@.options\" value=\"${#it#.value}$\" selected=\"${#it#.selected ? \\'selected\\' : null}$\">#it# ${#it#.value}$</option>\\n' +\n '</select>',\n objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new Select.Select(config), config})\n });\n },\n selectSummary: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Select.selector}-summary`,\n template:\n '<summary dr-class=\"{[@this@.classAttr]: @this@.classAttr}\"\\n' +\n ' dr-on-init=\"@this@.onInitSummaryElement($element, $event)\"\\n' +\n ' dr-event-click=\"@this@.onSummaryClick($element, $event)\"\\n' +\n '>\\n' +\n '#innerHTML#\\n' +\n '</summary>',\n objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new Select.Summary(), config})\n });\n },\n selectSummaryPlaceholder: stateComponentFactory(`${Select.selector}-summary-placeholder`, Select.SummaryPlaceholder),\n selectSummarySelected: stateComponentFactory(`${Select.selector}-summary-selected`, Select.SummarySelected),\n selectSummaryDisabled: stateComponentFactory(`${Select.selector}-summary-disabled`, Select.SummaryDisabled),\n\n selectBody: (config?: DomRenderRunConfig) => { // New export\n return RawSet.createComponentTargetElement({\n name: `${Select.selector}-body`,\n template: '<div dr-class=\"{[@this@.classAttr]: @this@.classAttr, \\'dr-select-body-container\\': true, [\\'dr-select-body-\\'+@this@.float+\\'-container\\']: @this@.float}\">#innerHTML#</div>',\n objFactory: (e, o, r2, constructorParam) => {\n return DomRender.run({rootObject: new Select.SelectBody(), config: config});\n }\n })\n },\n\n selectOption: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: `${Select.selector}-option`,\n template:\n '<a dr-class=\"{[@this@.classAttr]: @this@.classAttr}\" dr-event-click=\"@this@.toggleSelected($event)\">#innerHTML#</a>\\n',\n objFactory: (e, o, r2, constructorParam) => DomRender.run({rootObject: new Select.Option(), config})\n });\n },\n selectOptionSelected: stateComponentFactory(`${Select.selector}-option-selected`, Select.OptionSelected),\n selectOptionUnselected: stateComponentFactory(`${Select.selector}-option-unselected`, Select.OptionUnselected),\n selectOptionDisabled: stateComponentFactory(`${Select.selector}-option-disabled`, Select.OptionDisabled),\n};"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["Select"]
|
|
7
7
|
}
|
|
@@ -26,6 +26,9 @@ var This;
|
|
|
26
26
|
onDestroyRender(data) {
|
|
27
27
|
super.onDestroyRender(data);
|
|
28
28
|
}
|
|
29
|
+
onDestroy() {
|
|
30
|
+
super.onDestroy();
|
|
31
|
+
}
|
|
29
32
|
onChangeAttrRender(name, value, other) {
|
|
30
33
|
super.onChangeAttrRender(name, value, other);
|
|
31
34
|
if (this.equalsAttributeName(name, "value")) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/this/This.ts"],
|
|
4
|
-
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, 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';\n\nexport namespace This {\n export const selector = 'dr-this';\n export type Attribute = {\n value: ComponentSet;\n if: boolean | null;\n createArguments: any[];\n onCreated?: (value: any) => void;\n onDestroyRender?: () => void;\n };\n\n export class This 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 }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\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 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\n created($component: any, $rawSet: RawSet) {\n this.childObject = $component ??= this.value?.obj;\n this.childRawSet = $rawSet;\n \n if ($component) {\n this.getAttribute('onCreated')?.($component);\n \n // attribute \uC804\uB2EC \uCC98\uB9AC\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 this: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: This.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@?.created?.($component, $rawSet)\">#innerHTML#</div>\n </dr-if>\n `,\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new This.This(...counstructorParam), config: config });\n }\n });\n }\n};\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,iBAAqC;AAC9C,SAAS,cAAc;AACvB,SAAS,4BAAuC;AAKzC,IAAU;AAAA,CAAV,CAAU,UAAV;AACE,EAAM,iBAAW;AAAA,EASjB,MAAMA,cAAa,cAAiD;AAAA,IAApE;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,IACN;AAAA,IAEA,MAAM,aAAa,OAAY,QAAgB;AAC7C,YAAM,MAAM,aAAa,OAAO,MAAM;AAAA,IACxC;AAAA,IAEA,gBAAgB,MAA6B;AAC3C,YAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IAEA,mBAAmB,MAAc,OAAY,OAAkB;AAC7D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAC3C,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;AAAA,IACF;AAAA,IAEA,QAAQ,YAAiB,SAAiB;AACxC,WAAK,cAAc,4BAAe,KAAK,OAAO;AAC9C,WAAK,cAAc;AAEnB,UAAI,YAAY;AACd,aAAK,aAAa,WAAW,IAAI,UAAU;AAG3C,YAAI,qBAAqB,UAAU,GAAG;AACpC,eAAK,kBAAkB,EACpB,OAAO,QAAM,GAAG,WAAW,YAAY,CAAC,EACxC,QAAQ,QAAM;
|
|
4
|
+
"sourcesContent": ["import { ComponentBase } from '../ComponentBase';\nimport { DomRender, 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';\n\nexport namespace This {\n export const selector = 'dr-this';\n export type Attribute = {\n value: ComponentSet;\n if: boolean | null;\n createArguments: any[];\n onCreated?: (value: any) => void;\n onDestroyRender?: () => void;\n };\n\n export class This 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 }\n\n async onInitRender(param: any, rawSet: RawSet) {\n await super.onInitRender(param, rawSet);\n }\n\n onDestroyRender(data: OnDestroyRenderParams) {\n super.onDestroyRender(data);\n }\n onDestroy() {\n super.onDestroy();\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData) {\n super.onChangeAttrRender(name, value, other);\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\n created($component: any, $rawSet: RawSet) {\n this.childObject = $component ??= this.value?.obj;\n this.childRawSet = $rawSet;\n \n if ($component) {\n this.getAttribute('onCreated')?.($component);\n \n // attribute \uC804\uB2EC \uCC98\uB9AC\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 this: (config?: DomRenderRunConfig) => {\n return RawSet.createComponentTargetElement({\n name: This.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@?.created?.($component, $rawSet)\">#innerHTML#</div>\n </dr-if>\n `,\n objFactory: (e, o, r2, counstructorParam) => {\n return DomRender.run({ rootObject: new This.This(...counstructorParam), config: config });\n }\n });\n }\n};\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,iBAAqC;AAC9C,SAAS,cAAc;AACvB,SAAS,4BAAuC;AAKzC,IAAU;AAAA,CAAV,CAAU,UAAV;AACE,EAAM,iBAAW;AAAA,EASjB,MAAMA,cAAa,cAAiD;AAAA,IAApE;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,IACN;AAAA,IAEA,MAAM,aAAa,OAAY,QAAgB;AAC7C,YAAM,MAAM,aAAa,OAAO,MAAM;AAAA,IACxC;AAAA,IAEA,gBAAgB,MAA6B;AAC3C,YAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IACA,YAAY;AACV,YAAM,UAAU;AAAA,IAClB;AAAA,IAEA,mBAAmB,MAAc,OAAY,OAAkB;AAC7D,YAAM,mBAAmB,MAAM,OAAO,KAAK;AAC3C,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;AAAA,IACF;AAAA,IAEA,QAAQ,YAAiB,SAAiB;AACxC,WAAK,cAAc,4BAAe,KAAK,OAAO;AAC9C,WAAK,cAAc;AAEnB,UAAI,YAAY;AACd,aAAK,aAAa,WAAW,IAAI,UAAU;AAG3C,YAAI,qBAAqB,UAAU,GAAG;AACpC,eAAK,kBAAkB,EACpB,OAAO,QAAM,GAAG,WAAW,YAAY,CAAC,EACxC,QAAQ,QAAM;AAxE3B;AAyEc,kBAAM,WAAW,GAAG,QAAQ,eAAe,EAAE;AAC7C,kBAAM,YAAY,KAAK,aAAa,EAAS;AAC7C,0BAAQ,QAAQ,QAAO,cAAvB,GAAuB,YAAc,CAAC;AACtC,oBAAQ,QAAQ,OAAO,UAAU,QAAQ,IAAI;AAC7C,uBAAW,mBAAmB,UAAU,WAAW,EAAC,QAAQ,QAAO,CAAC;AAAA,UACtE,CAAC;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAhEO,QAAM,OAAAA;AAAA,GAVE;AA6EjB,IAAO,eAAQ;AAAA,EACb,MAAM,CAAC,WAAgC;AACrC,WAAO,OAAO,6BAA6B;AAAA,MACzC,MAAM,KAAK;AAAA,MACX,UACE;AAAA;AAAA;AAAA;AAAA;AAAA,MAKF,YAAY,CAAC,GAAG,GAAG,IAAI,sBAAsB;AAC3C,eAAO,UAAU,IAAI,EAAE,YAAY,IAAI,KAAK,KAAK,GAAG,iBAAiB,GAAG,OAAe,CAAC;AAAA,MAC1F;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
6
6
|
"names": ["This"]
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ValidUtils } from "@dooboostore/core
|
|
2
|
-
import { ReflectUtils } from "@dooboostore/core
|
|
1
|
+
import { ValidUtils } from "@dooboostore/core";
|
|
2
|
+
import { ReflectUtils } from "@dooboostore/core";
|
|
3
3
|
const DomRenderNoProxyKey = "DomRender:NoProxy";
|
|
4
4
|
const DomRenderNoProxy = (target, propertyKey) => {
|
|
5
5
|
ReflectUtils.defineMetadata(DomRenderNoProxyKey, true, target, propertyKey);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/decorators/DomRenderNoProxy.ts"],
|
|
4
|
-
"sourcesContent": ["import { ValidUtils } from '@dooboostore/core
|
|
4
|
+
"sourcesContent": ["import { ValidUtils } from '@dooboostore/core';\nimport {ReflectUtils} from \"@dooboostore/core\";\n\nexport const DomRenderNoProxyKey = 'DomRender:NoProxy'\nexport const DomRenderNoProxy = (target: any, propertyKey?: string | symbol) => {\n ReflectUtils.defineMetadata(DomRenderNoProxyKey, true, target, propertyKey);\n // \uD074\uB798\uC2A4 \uB370\uCF54\uB808\uC774\uD130\uB85C \uC0AC\uC6A9\uB41C \uACBD\uC6B0\n // if (propertyKey === undefined) {\n // // target\uC740 \uD074\uB798\uC2A4 \uC0DD\uC131\uC790\n // Reflect.defineMetadata(DomRenderNoProxyKey, true, target);\n // return;\n // }\n //\n // // \uD504\uB85C\uD37C\uD2F0 \uB370\uCF54\uB808\uC774\uD130\uB85C \uC0AC\uC6A9\uB41C \uACBD\uC6B0\n // // target\uC740 \uD504\uB85C\uD1A0\uD0C0\uC785, propertyKey\uB294 \uD504\uB85C\uD37C\uD2F0 \uC774\uB984\n // Reflect.defineMetadata(DomRenderNoProxyKey, true, target, propertyKey);\n};\n\nexport const getDomRenderNoProxy = (target: any, propertyKey?: string | symbol) => {\n // if (ValidUtils.isNotNullUndefined(target)) {\n return ReflectUtils.getMetadata(DomRenderNoProxyKey, target, propertyKey);\n // \uD074\uB798\uC2A4 \uB370\uCF54\uB808\uC774\uD130\n // if (propertyKey === undefined) {\n // return Reflect.getMetadata(DomRenderNoProxyKey, target);\n // }\n // // \uD504\uB85C\uD37C\uD2F0 \uB370\uCF54\uB808\uC774\uD130\n // return Reflect.getMetadata(DomRenderNoProxyKey, target, propertyKey);\n // } else {\n // return undefined;\n // }\n}\n\nexport const isDomRenderNoProxy = (target: any, propertyKey?: string | symbol) => {\n return ValidUtils.isNullOrUndefined(target) || getDomRenderNoProxy(target, propertyKey) === true;\n}"],
|
|
5
5
|
"mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAQ,oBAAmB;AAEpB,MAAM,sBAAsB;AAC5B,MAAM,mBAAmB,CAAC,QAAa,gBAAkC;AAC5E,eAAa,eAAe,qBAAqB,MAAM,QAAQ,WAAW;AAW9E;AAEO,MAAM,sBAAsB,CAAC,QAAa,gBAAkC;AAE/E,SAAO,aAAa,YAAY,qBAAqB,QAAQ,WAAW;AAU5E;AAEO,MAAM,qBAAqB,CAAC,QAAa,gBAAkC;AAChF,SAAO,WAAW,kBAAkB,MAAM,KAAK,oBAAoB,QAAQ,WAAW,MAAM;AAC9F;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|