vscroll 1.6.3 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles/vscroll.esm5.js +5854 -5705
- package/dist/bundles/vscroll.esm5.js.map +1 -1
- package/dist/bundles/vscroll.esm5.min.js +2 -2
- package/dist/bundles/vscroll.esm5.min.js.map +1 -1
- package/dist/bundles/vscroll.esm6.js +5341 -5194
- package/dist/bundles/vscroll.esm6.js.map +1 -1
- package/dist/bundles/vscroll.esm6.min.js +2 -2
- package/dist/bundles/vscroll.esm6.min.js.map +1 -1
- package/dist/bundles/vscroll.umd.js +5858 -5710
- package/dist/bundles/vscroll.umd.js.map +1 -1
- package/dist/bundles/vscroll.umd.min.js +2 -2
- package/dist/bundles/vscroll.umd.min.js.map +1 -1
- package/dist/esm2015/classes/adapter/context.js +44 -43
- package/dist/esm2015/classes/adapter/context.js.map +1 -1
- package/dist/esm2015/classes/adapter/props.js +300 -300
- package/dist/esm2015/classes/adapter/props.js.map +1 -1
- package/dist/esm2015/classes/adapter/wanted.js +28 -28
- package/dist/esm2015/classes/adapter/wanted.js.map +1 -1
- package/dist/esm2015/classes/adapter.js +486 -487
- package/dist/esm2015/classes/adapter.js.map +1 -1
- package/dist/esm2015/classes/buffer/cache.js +249 -246
- package/dist/esm2015/classes/buffer/cache.js.map +1 -1
- package/dist/esm2015/classes/buffer/checkCall.js +47 -48
- package/dist/esm2015/classes/buffer/checkCall.js.map +1 -1
- package/dist/esm2015/classes/buffer/defaultSize.js +128 -127
- package/dist/esm2015/classes/buffer/defaultSize.js.map +1 -1
- package/dist/esm2015/classes/buffer.js +343 -342
- package/dist/esm2015/classes/buffer.js.map +1 -1
- package/dist/esm2015/classes/datasource.js +36 -24
- package/dist/esm2015/classes/datasource.js.map +1 -1
- package/dist/esm2015/classes/domRoutines.js +160 -160
- package/dist/esm2015/classes/domRoutines.js.map +1 -1
- package/dist/esm2015/classes/item.js +61 -61
- package/dist/esm2015/classes/item.js.map +1 -1
- package/dist/esm2015/classes/logger.js +229 -186
- package/dist/esm2015/classes/logger.js.map +1 -1
- package/dist/esm2015/classes/paddings.js +76 -72
- package/dist/esm2015/classes/paddings.js.map +1 -1
- package/dist/esm2015/classes/reactive.js +54 -54
- package/dist/esm2015/classes/reactive.js.map +1 -1
- package/dist/esm2015/classes/settings.js +39 -39
- package/dist/esm2015/classes/settings.js.map +1 -1
- package/dist/esm2015/classes/state/clip.js +16 -16
- package/dist/esm2015/classes/state/clip.js.map +1 -1
- package/dist/esm2015/classes/state/cycle.js +60 -60
- package/dist/esm2015/classes/state/cycle.js.map +1 -1
- package/dist/esm2015/classes/state/fetch.js +124 -122
- package/dist/esm2015/classes/state/fetch.js.map +1 -1
- package/dist/esm2015/classes/state/render.js +14 -14
- package/dist/esm2015/classes/state/render.js.map +1 -1
- package/dist/esm2015/classes/state/scroll.js +30 -30
- package/dist/esm2015/classes/state/scroll.js.map +1 -1
- package/dist/esm2015/classes/state.js +64 -62
- package/dist/esm2015/classes/state.js.map +1 -1
- package/dist/esm2015/classes/viewport.js +74 -72
- package/dist/esm2015/classes/viewport.js.map +1 -1
- package/dist/esm2015/index.js +9 -9
- package/dist/esm2015/index.js.map +1 -1
- package/dist/esm2015/inputs/adapter.js +262 -242
- package/dist/esm2015/inputs/adapter.js.map +1 -1
- package/dist/esm2015/inputs/common.js +11 -11
- package/dist/esm2015/inputs/common.js.map +1 -1
- package/dist/esm2015/inputs/datasource.js +20 -20
- package/dist/esm2015/inputs/datasource.js.map +1 -1
- package/dist/esm2015/inputs/index.js +7 -7
- package/dist/esm2015/inputs/index.js.map +1 -1
- package/dist/esm2015/inputs/settings.js +151 -146
- package/dist/esm2015/inputs/settings.js.map +1 -1
- package/dist/esm2015/inputs/validation.js +365 -374
- package/dist/esm2015/inputs/validation.js.map +1 -1
- package/dist/esm2015/inputs/workflow.js +30 -30
- package/dist/esm2015/inputs/workflow.js.map +1 -1
- package/dist/esm2015/interfaces/adapter.js +1 -1
- package/dist/esm2015/interfaces/adapter.js.map +1 -1
- package/dist/esm2015/interfaces/datasource.js +1 -1
- package/dist/esm2015/interfaces/datasource.js.map +1 -1
- package/dist/esm2015/interfaces/index.js +1 -1
- package/dist/esm2015/interfaces/index.js.map +1 -1
- package/dist/esm2015/interfaces/item.js +1 -1
- package/dist/esm2015/interfaces/item.js.map +1 -1
- package/dist/esm2015/interfaces/process.js +1 -1
- package/dist/esm2015/interfaces/process.js.map +1 -1
- package/dist/esm2015/interfaces/routines.js +1 -1
- package/dist/esm2015/interfaces/routines.js.map +1 -1
- package/dist/esm2015/interfaces/settings.js +1 -1
- package/dist/esm2015/interfaces/settings.js.map +1 -1
- package/dist/esm2015/interfaces/state.js +1 -1
- package/dist/esm2015/interfaces/state.js.map +1 -1
- package/dist/esm2015/interfaces/validation.js +1 -1
- package/dist/esm2015/interfaces/validation.js.map +1 -1
- package/dist/esm2015/interfaces/workflow.js +1 -1
- package/dist/esm2015/interfaces/workflow.js.map +1 -1
- package/dist/esm2015/processes/adapter/append.js +37 -36
- package/dist/esm2015/processes/adapter/append.js.map +1 -1
- package/dist/esm2015/processes/adapter/check.js +33 -32
- package/dist/esm2015/processes/adapter/check.js.map +1 -1
- package/dist/esm2015/processes/adapter/clip.js +12 -12
- package/dist/esm2015/processes/adapter/clip.js.map +1 -1
- package/dist/esm2015/processes/adapter/fix.js +79 -77
- package/dist/esm2015/processes/adapter/fix.js.map +1 -1
- package/dist/esm2015/processes/adapter/insert.js +74 -73
- package/dist/esm2015/processes/adapter/insert.js.map +1 -1
- package/dist/esm2015/processes/adapter/pause.js +22 -22
- package/dist/esm2015/processes/adapter/pause.js.map +1 -1
- package/dist/esm2015/processes/adapter/reload.js +19 -19
- package/dist/esm2015/processes/adapter/reload.js.map +1 -1
- package/dist/esm2015/processes/adapter/remove.js +105 -102
- package/dist/esm2015/processes/adapter/remove.js.map +1 -1
- package/dist/esm2015/processes/adapter/replace.js +39 -39
- package/dist/esm2015/processes/adapter/replace.js.map +1 -1
- package/dist/esm2015/processes/adapter/reset.js +35 -35
- package/dist/esm2015/processes/adapter/reset.js.map +1 -1
- package/dist/esm2015/processes/adapter/update.js +44 -43
- package/dist/esm2015/processes/adapter/update.js.map +1 -1
- package/dist/esm2015/processes/adjust.js +146 -141
- package/dist/esm2015/processes/adjust.js.map +1 -1
- package/dist/esm2015/processes/clip.js +49 -49
- package/dist/esm2015/processes/clip.js.map +1 -1
- package/dist/esm2015/processes/end.js +53 -52
- package/dist/esm2015/processes/end.js.map +1 -1
- package/dist/esm2015/processes/fetch.js +93 -91
- package/dist/esm2015/processes/fetch.js.map +1 -1
- package/dist/esm2015/processes/index.js +24 -24
- package/dist/esm2015/processes/index.js.map +1 -1
- package/dist/esm2015/processes/init.js +14 -14
- package/dist/esm2015/processes/init.js.map +1 -1
- package/dist/esm2015/processes/misc/base.js +29 -30
- package/dist/esm2015/processes/misc/base.js.map +1 -1
- package/dist/esm2015/processes/misc/enums.js +36 -36
- package/dist/esm2015/processes/misc/enums.js.map +1 -1
- package/dist/esm2015/processes/misc/index.js +2 -2
- package/dist/esm2015/processes/misc/index.js.map +1 -1
- package/dist/esm2015/processes/postFetch.js +66 -65
- package/dist/esm2015/processes/postFetch.js.map +1 -1
- package/dist/esm2015/processes/preClip.js +86 -85
- package/dist/esm2015/processes/preClip.js.map +1 -1
- package/dist/esm2015/processes/preFetch.js +253 -240
- package/dist/esm2015/processes/preFetch.js.map +1 -1
- package/dist/esm2015/processes/render.js +56 -54
- package/dist/esm2015/processes/render.js.map +1 -1
- package/dist/esm2015/processes/scroll.js +106 -97
- package/dist/esm2015/processes/scroll.js.map +1 -1
- package/dist/esm2015/processes/start.js +11 -11
- package/dist/esm2015/processes/start.js.map +1 -1
- package/dist/esm2015/scroller.js +91 -86
- package/dist/esm2015/scroller.js.map +1 -1
- package/dist/esm2015/version.js +4 -4
- package/dist/esm2015/version.js.map +1 -1
- package/dist/esm2015/workflow-transducer.js +219 -218
- package/dist/esm2015/workflow-transducer.js.map +1 -1
- package/dist/esm2015/workflow.js +185 -174
- package/dist/esm2015/workflow.js.map +1 -1
- package/dist/esm5/classes/adapter/context.js +51 -50
- package/dist/esm5/classes/adapter/context.js.map +1 -1
- package/dist/esm5/classes/adapter/props.js +300 -300
- package/dist/esm5/classes/adapter/props.js.map +1 -1
- package/dist/esm5/classes/adapter/wanted.js +29 -29
- package/dist/esm5/classes/adapter/wanted.js.map +1 -1
- package/dist/esm5/classes/adapter.js +538 -535
- package/dist/esm5/classes/adapter.js.map +1 -1
- package/dist/esm5/classes/buffer/cache.js +262 -260
- package/dist/esm5/classes/buffer/cache.js.map +1 -1
- package/dist/esm5/classes/buffer/checkCall.js +53 -56
- package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
- package/dist/esm5/classes/buffer/defaultSize.js +146 -145
- package/dist/esm5/classes/buffer/defaultSize.js.map +1 -1
- package/dist/esm5/classes/buffer.js +410 -409
- package/dist/esm5/classes/buffer.js.map +1 -1
- package/dist/esm5/classes/datasource.js +47 -31
- package/dist/esm5/classes/datasource.js.map +1 -1
- package/dist/esm5/classes/domRoutines.js +165 -165
- package/dist/esm5/classes/domRoutines.js.map +1 -1
- package/dist/esm5/classes/item.js +76 -76
- package/dist/esm5/classes/item.js.map +1 -1
- package/dist/esm5/classes/logger.js +251 -210
- package/dist/esm5/classes/logger.js.map +1 -1
- package/dist/esm5/classes/paddings.js +84 -80
- package/dist/esm5/classes/paddings.js.map +1 -1
- package/dist/esm5/classes/reactive.js +69 -69
- package/dist/esm5/classes/reactive.js.map +1 -1
- package/dist/esm5/classes/settings.js +47 -47
- package/dist/esm5/classes/settings.js.map +1 -1
- package/dist/esm5/classes/state/clip.js +22 -22
- package/dist/esm5/classes/state/clip.js.map +1 -1
- package/dist/esm5/classes/state/cycle.js +75 -75
- package/dist/esm5/classes/state/cycle.js.map +1 -1
- package/dist/esm5/classes/state/fetch.js +150 -148
- package/dist/esm5/classes/state/fetch.js.map +1 -1
- package/dist/esm5/classes/state/render.js +20 -20
- package/dist/esm5/classes/state/render.js.map +1 -1
- package/dist/esm5/classes/state/scroll.js +32 -32
- package/dist/esm5/classes/state/scroll.js.map +1 -1
- package/dist/esm5/classes/state.js +71 -69
- package/dist/esm5/classes/state.js.map +1 -1
- package/dist/esm5/classes/viewport.js +80 -79
- package/dist/esm5/classes/viewport.js.map +1 -1
- package/dist/esm5/index.js +9 -9
- package/dist/esm5/index.js.map +1 -1
- package/dist/esm5/inputs/adapter.js +263 -243
- package/dist/esm5/inputs/adapter.js.map +1 -1
- package/dist/esm5/inputs/common.js +11 -11
- package/dist/esm5/inputs/common.js.map +1 -1
- package/dist/esm5/inputs/datasource.js +21 -21
- package/dist/esm5/inputs/datasource.js.map +1 -1
- package/dist/esm5/inputs/index.js +7 -7
- package/dist/esm5/inputs/index.js.map +1 -1
- package/dist/esm5/inputs/settings.js +152 -147
- package/dist/esm5/inputs/settings.js.map +1 -1
- package/dist/esm5/inputs/validation.js +399 -396
- package/dist/esm5/inputs/validation.js.map +1 -1
- package/dist/esm5/inputs/workflow.js +31 -31
- package/dist/esm5/inputs/workflow.js.map +1 -1
- package/dist/esm5/interfaces/adapter.js +1 -1
- package/dist/esm5/interfaces/adapter.js.map +1 -1
- package/dist/esm5/interfaces/datasource.js +1 -1
- package/dist/esm5/interfaces/datasource.js.map +1 -1
- package/dist/esm5/interfaces/index.js +1 -1
- package/dist/esm5/interfaces/index.js.map +1 -1
- package/dist/esm5/interfaces/item.js +1 -1
- package/dist/esm5/interfaces/item.js.map +1 -1
- package/dist/esm5/interfaces/process.js +1 -1
- package/dist/esm5/interfaces/process.js.map +1 -1
- package/dist/esm5/interfaces/routines.js +1 -1
- package/dist/esm5/interfaces/routines.js.map +1 -1
- package/dist/esm5/interfaces/settings.js +1 -1
- package/dist/esm5/interfaces/settings.js.map +1 -1
- package/dist/esm5/interfaces/state.js +1 -1
- package/dist/esm5/interfaces/state.js.map +1 -1
- package/dist/esm5/interfaces/validation.js +1 -1
- package/dist/esm5/interfaces/validation.js.map +1 -1
- package/dist/esm5/interfaces/workflow.js +1 -1
- package/dist/esm5/interfaces/workflow.js.map +1 -1
- package/dist/esm5/processes/adapter/append.js +45 -44
- package/dist/esm5/processes/adapter/append.js.map +1 -1
- package/dist/esm5/processes/adapter/check.js +40 -39
- package/dist/esm5/processes/adapter/check.js.map +1 -1
- package/dist/esm5/processes/adapter/clip.js +19 -19
- package/dist/esm5/processes/adapter/clip.js.map +1 -1
- package/dist/esm5/processes/adapter/fix.js +91 -89
- package/dist/esm5/processes/adapter/fix.js.map +1 -1
- package/dist/esm5/processes/adapter/insert.js +82 -81
- package/dist/esm5/processes/adapter/insert.js.map +1 -1
- package/dist/esm5/processes/adapter/pause.js +29 -29
- package/dist/esm5/processes/adapter/pause.js.map +1 -1
- package/dist/esm5/processes/adapter/reload.js +26 -26
- package/dist/esm5/processes/adapter/reload.js.map +1 -1
- package/dist/esm5/processes/adapter/remove.js +116 -115
- package/dist/esm5/processes/adapter/remove.js.map +1 -1
- package/dist/esm5/processes/adapter/replace.js +47 -47
- package/dist/esm5/processes/adapter/replace.js.map +1 -1
- package/dist/esm5/processes/adapter/reset.js +42 -42
- package/dist/esm5/processes/adapter/reset.js.map +1 -1
- package/dist/esm5/processes/adapter/update.js +64 -59
- package/dist/esm5/processes/adapter/update.js.map +1 -1
- package/dist/esm5/processes/adjust.js +157 -152
- package/dist/esm5/processes/adjust.js.map +1 -1
- package/dist/esm5/processes/clip.js +60 -60
- package/dist/esm5/processes/clip.js.map +1 -1
- package/dist/esm5/processes/end.js +64 -63
- package/dist/esm5/processes/end.js.map +1 -1
- package/dist/esm5/processes/fetch.js +104 -102
- package/dist/esm5/processes/fetch.js.map +1 -1
- package/dist/esm5/processes/index.js +24 -24
- package/dist/esm5/processes/index.js.map +1 -1
- package/dist/esm5/processes/init.js +21 -21
- package/dist/esm5/processes/init.js.map +1 -1
- package/dist/esm5/processes/misc/base.js +43 -44
- package/dist/esm5/processes/misc/base.js.map +1 -1
- package/dist/esm5/processes/misc/enums.js +36 -36
- package/dist/esm5/processes/misc/enums.js.map +1 -1
- package/dist/esm5/processes/misc/index.js +2 -2
- package/dist/esm5/processes/misc/index.js.map +1 -1
- package/dist/esm5/processes/postFetch.js +73 -74
- package/dist/esm5/processes/postFetch.js.map +1 -1
- package/dist/esm5/processes/preClip.js +95 -94
- package/dist/esm5/processes/preClip.js.map +1 -1
- package/dist/esm5/processes/preFetch.js +259 -247
- package/dist/esm5/processes/preFetch.js.map +1 -1
- package/dist/esm5/processes/render.js +63 -63
- package/dist/esm5/processes/render.js.map +1 -1
- package/dist/esm5/processes/scroll.js +113 -107
- package/dist/esm5/processes/scroll.js.map +1 -1
- package/dist/esm5/processes/start.js +18 -18
- package/dist/esm5/processes/start.js.map +1 -1
- package/dist/esm5/scroller.js +104 -100
- package/dist/esm5/scroller.js.map +1 -1
- package/dist/esm5/version.js +4 -4
- package/dist/esm5/version.js.map +1 -1
- package/dist/esm5/workflow-transducer.js +221 -220
- package/dist/esm5/workflow-transducer.js.map +1 -1
- package/dist/esm5/workflow.js +204 -198
- package/dist/esm5/workflow.js.map +1 -1
- package/dist/typings/classes/adapter/context.d.ts +4 -4
- package/dist/typings/classes/adapter/props.d.ts +52 -52
- package/dist/typings/classes/adapter/wanted.d.ts +14 -14
- package/dist/typings/classes/adapter.d.ts +79 -79
- package/dist/typings/classes/buffer/cache.d.ts +94 -95
- package/dist/typings/classes/buffer/checkCall.d.ts +12 -12
- package/dist/typings/classes/buffer/defaultSize.d.ts +32 -32
- package/dist/typings/classes/buffer.d.ts +64 -64
- package/dist/typings/classes/datasource.d.ts +11 -11
- package/dist/typings/classes/domRoutines.d.ts +36 -36
- package/dist/typings/classes/item.d.ts +28 -28
- package/dist/typings/classes/logger.d.ts +32 -28
- package/dist/typings/classes/paddings.d.ts +22 -22
- package/dist/typings/classes/reactive.d.ts +21 -21
- package/dist/typings/classes/settings.d.ts +126 -119
- package/dist/typings/classes/state/clip.d.ts +9 -9
- package/dist/typings/classes/state/cycle.d.ts +29 -29
- package/dist/typings/classes/state/fetch.d.ts +62 -62
- package/dist/typings/classes/state/render.d.ts +9 -9
- package/dist/typings/classes/state/scroll.d.ts +16 -16
- package/dist/typings/classes/state.d.ts +29 -29
- package/dist/typings/classes/viewport.d.ts +32 -32
- package/dist/typings/index.d.ts +10 -10
- package/dist/typings/inputs/adapter.d.ts +5 -5
- package/dist/typings/inputs/common.d.ts +9 -9
- package/dist/typings/inputs/datasource.d.ts +7 -7
- package/dist/typings/inputs/index.d.ts +7 -7
- package/dist/typings/inputs/settings.d.ts +42 -41
- package/dist/typings/inputs/validation.d.ts +82 -83
- package/dist/typings/inputs/workflow.d.ts +9 -9
- package/dist/typings/interfaces/adapter.d.ts +164 -164
- package/dist/typings/interfaces/datasource.d.ts +28 -28
- package/dist/typings/interfaces/index.d.ts +10 -10
- package/dist/typings/interfaces/item.d.ts +8 -8
- package/dist/typings/interfaces/process.d.ts +35 -35
- package/dist/typings/interfaces/routines.d.ts +166 -166
- package/dist/typings/interfaces/settings.d.ts +32 -31
- package/dist/typings/interfaces/state.d.ts +24 -24
- package/dist/typings/interfaces/validation.d.ts +33 -33
- package/dist/typings/interfaces/workflow.d.ts +53 -53
- package/dist/typings/processes/adapter/append.d.ts +14 -14
- package/dist/typings/processes/adapter/check.d.ts +6 -6
- package/dist/typings/processes/adapter/clip.d.ts +7 -7
- package/dist/typings/processes/adapter/fix.d.ts +13 -13
- package/dist/typings/processes/adapter/insert.d.ts +11 -11
- package/dist/typings/processes/adapter/pause.d.ts +8 -8
- package/dist/typings/processes/adapter/reload.d.ts +6 -6
- package/dist/typings/processes/adapter/remove.d.ts +11 -11
- package/dist/typings/processes/adapter/replace.d.ts +8 -8
- package/dist/typings/processes/adapter/reset.d.ts +7 -7
- package/dist/typings/processes/adapter/update.d.ts +8 -8
- package/dist/typings/processes/adjust.d.ts +10 -10
- package/dist/typings/processes/clip.d.ts +7 -7
- package/dist/typings/processes/end.d.ts +10 -10
- package/dist/typings/processes/fetch.d.ts +18 -18
- package/dist/typings/processes/index.d.ts +24 -24
- package/dist/typings/processes/init.d.ts +7 -7
- package/dist/typings/processes/misc/base.d.ts +4 -4
- package/dist/typings/processes/misc/enums.d.ts +33 -33
- package/dist/typings/processes/misc/index.d.ts +2 -2
- package/dist/typings/processes/postFetch.d.ts +8 -8
- package/dist/typings/processes/preClip.d.ts +12 -12
- package/dist/typings/processes/preFetch.d.ts +17 -17
- package/dist/typings/processes/render.d.ts +9 -9
- package/dist/typings/processes/scroll.d.ts +13 -13
- package/dist/typings/processes/start.d.ts +6 -6
- package/dist/typings/scroller.d.ts +26 -26
- package/dist/typings/version.d.ts +5 -5
- package/dist/typings/workflow-transducer.d.ts +2 -2
- package/dist/typings/workflow.d.ts +30 -29
- package/package.json +72 -69
|
@@ -1,81 +1,85 @@
|
|
|
1
|
-
import { Direction } from '../inputs/index';
|
|
2
|
-
var Padding = /** @class */ (function () {
|
|
3
|
-
function Padding(direction, routines) {
|
|
4
|
-
var found = routines.findPaddingElement(direction);
|
|
5
|
-
routines.checkElement(found);
|
|
6
|
-
this.element = found;
|
|
7
|
-
this.direction = direction;
|
|
8
|
-
this.routines = routines;
|
|
9
|
-
}
|
|
10
|
-
Padding.prototype.reset = function (size) {
|
|
11
|
-
this.size = size || 0;
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(Padding.prototype, "size", {
|
|
14
|
-
get: function () {
|
|
15
|
-
return this.routines.getSizeStyle(this.element);
|
|
16
|
-
},
|
|
17
|
-
set: function (value) {
|
|
18
|
-
this.routines.setSizeStyle(this.element, value);
|
|
19
|
-
},
|
|
20
|
-
enumerable: false,
|
|
21
|
-
configurable: true
|
|
22
|
-
});
|
|
23
|
-
return Padding;
|
|
24
|
-
}());
|
|
25
|
-
export { Padding };
|
|
26
|
-
var Paddings = /** @class */ (function () {
|
|
27
|
-
function Paddings(routines, settings) {
|
|
28
|
-
this.settings = settings;
|
|
29
|
-
this.forward = new Padding(Direction.forward, routines);
|
|
30
|
-
this.backward = new Padding(Direction.backward, routines);
|
|
31
|
-
}
|
|
32
|
-
Paddings.prototype.byDirection = function (direction, opposite) {
|
|
33
|
-
return direction === Direction.backward
|
|
34
|
-
?
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
|
|
1
|
+
import { Direction } from '../inputs/index';
|
|
2
|
+
var Padding = /** @class */ (function () {
|
|
3
|
+
function Padding(direction, routines) {
|
|
4
|
+
var found = routines.findPaddingElement(direction);
|
|
5
|
+
routines.checkElement(found);
|
|
6
|
+
this.element = found;
|
|
7
|
+
this.direction = direction;
|
|
8
|
+
this.routines = routines;
|
|
9
|
+
}
|
|
10
|
+
Padding.prototype.reset = function (size) {
|
|
11
|
+
this.size = size || 0;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(Padding.prototype, "size", {
|
|
14
|
+
get: function () {
|
|
15
|
+
return this.routines.getSizeStyle(this.element);
|
|
16
|
+
},
|
|
17
|
+
set: function (value) {
|
|
18
|
+
this.routines.setSizeStyle(this.element, value);
|
|
19
|
+
},
|
|
20
|
+
enumerable: false,
|
|
21
|
+
configurable: true
|
|
22
|
+
});
|
|
23
|
+
return Padding;
|
|
24
|
+
}());
|
|
25
|
+
export { Padding };
|
|
26
|
+
var Paddings = /** @class */ (function () {
|
|
27
|
+
function Paddings(routines, settings) {
|
|
28
|
+
this.settings = settings;
|
|
29
|
+
this.forward = new Padding(Direction.forward, routines);
|
|
30
|
+
this.backward = new Padding(Direction.backward, routines);
|
|
31
|
+
}
|
|
32
|
+
Paddings.prototype.byDirection = function (direction, opposite) {
|
|
33
|
+
return direction === Direction.backward
|
|
34
|
+
? opposite
|
|
35
|
+
? this.forward
|
|
36
|
+
: this.backward
|
|
37
|
+
: opposite
|
|
38
|
+
? this.backward
|
|
39
|
+
: this.forward;
|
|
40
|
+
};
|
|
41
|
+
Paddings.prototype.reset = function (viewportSize, startIndex, offset) {
|
|
42
|
+
var positive = this.getPositiveSize(startIndex, viewportSize, offset);
|
|
43
|
+
var negative = this.getNegativeSize(startIndex);
|
|
44
|
+
if (this.settings.inverse) {
|
|
45
|
+
this.forward.reset(negative);
|
|
46
|
+
this.backward.reset(positive);
|
|
47
|
+
var diff = viewportSize - this.backward.size - offset;
|
|
48
|
+
if (diff > 0) {
|
|
49
|
+
this.backward.size += diff;
|
|
50
|
+
this.forward.size -= diff;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.forward.reset(positive);
|
|
55
|
+
this.backward.reset(negative);
|
|
56
|
+
var diff = viewportSize - this.forward.size - offset;
|
|
57
|
+
if (diff > 0) {
|
|
58
|
+
this.backward.size -= diff;
|
|
59
|
+
this.forward.size += diff;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
Paddings.prototype.getPositiveSize = function (startIndex, viewportSize, offset) {
|
|
64
|
+
var settings = this.settings;
|
|
65
|
+
var positiveSize = viewportSize;
|
|
66
|
+
if (isFinite(settings.maxIndex)) {
|
|
67
|
+
positiveSize = (settings.maxIndex - startIndex + 1) * settings.itemSize;
|
|
68
|
+
}
|
|
69
|
+
if (offset) {
|
|
70
|
+
positiveSize = Math.max(positiveSize - offset, 0);
|
|
71
|
+
}
|
|
72
|
+
return positiveSize;
|
|
73
|
+
};
|
|
74
|
+
Paddings.prototype.getNegativeSize = function (startIndex) {
|
|
75
|
+
var settings = this.settings;
|
|
76
|
+
var negativeSize = 0;
|
|
77
|
+
if (isFinite(settings.minIndex)) {
|
|
78
|
+
negativeSize = (startIndex - settings.minIndex) * settings.itemSize;
|
|
79
|
+
}
|
|
80
|
+
return negativeSize;
|
|
81
|
+
};
|
|
82
|
+
return Paddings;
|
|
83
|
+
}());
|
|
84
|
+
export { Paddings };
|
|
81
85
|
//# sourceMappingURL=paddings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paddings.js","sourceRoot":"","sources":["../../../src/classes/paddings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;
|
|
1
|
+
{"version":3,"file":"paddings.js","sourceRoot":"","sources":["../../../src/classes/paddings.ts"],"names":[],"mappings":"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","sourcesContent":["import { Routines } from './domRoutines';\nimport { Settings } from './settings';\nimport { Direction } from '../inputs/index';\n\nexport class Padding {\n element: HTMLElement;\n direction: Direction;\n routines: Routines;\n\n constructor(direction: Direction, routines: Routines) {\n const found = routines.findPaddingElement(direction);\n routines.checkElement(found as HTMLElement);\n this.element = found as HTMLElement;\n this.direction = direction;\n this.routines = routines;\n }\n\n reset(size?: number): void {\n this.size = size || 0;\n }\n\n get size(): number {\n return this.routines.getSizeStyle(this.element);\n }\n\n set size(value: number) {\n this.routines.setSizeStyle(this.element, value);\n }\n}\n\nexport class Paddings {\n settings: Settings;\n forward: Padding;\n backward: Padding;\n\n constructor(routines: Routines, settings: Settings) {\n this.settings = settings;\n this.forward = new Padding(Direction.forward, routines);\n this.backward = new Padding(Direction.backward, routines);\n }\n\n byDirection(direction: Direction, opposite?: boolean): Padding {\n return direction === Direction.backward\n ? opposite\n ? this.forward\n : this.backward\n : opposite\n ? this.backward\n : this.forward;\n }\n\n reset(viewportSize: number, startIndex: number, offset: number): void {\n const positive = this.getPositiveSize(startIndex, viewportSize, offset);\n const negative = this.getNegativeSize(startIndex);\n if (this.settings.inverse) {\n this.forward.reset(negative);\n this.backward.reset(positive);\n const diff = viewportSize - this.backward.size - offset;\n if (diff > 0) {\n this.backward.size += diff;\n this.forward.size -= diff;\n }\n } else {\n this.forward.reset(positive);\n this.backward.reset(negative);\n const diff = viewportSize - this.forward.size - offset;\n if (diff > 0) {\n this.backward.size -= diff;\n this.forward.size += diff;\n }\n }\n }\n\n getPositiveSize(startIndex: number, viewportSize: number, offset: number): number {\n const { settings } = this;\n let positiveSize = viewportSize;\n if (isFinite(settings.maxIndex)) {\n positiveSize = (settings.maxIndex - startIndex + 1) * settings.itemSize;\n }\n if (offset) {\n positiveSize = Math.max(positiveSize - offset, 0);\n }\n return positiveSize;\n }\n\n getNegativeSize(startIndex: number): number {\n const { settings } = this;\n let negativeSize = 0;\n if (isFinite(settings.minIndex)) {\n negativeSize = (startIndex - settings.minIndex) * settings.itemSize;\n }\n return negativeSize;\n }\n}\n"]}
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
import { __read, __values } from "tslib";
|
|
2
|
-
var Reactive = /** @class */ (function () {
|
|
3
|
-
function Reactive(value, options) {
|
|
4
|
-
this.id = 0;
|
|
5
|
-
if (value !== void 0) {
|
|
6
|
-
this.value = value;
|
|
7
|
-
this.initialValue = value;
|
|
8
|
-
}
|
|
9
|
-
this.options = options || {};
|
|
10
|
-
this.subscriptions = new Map();
|
|
11
|
-
}
|
|
12
|
-
Reactive.prototype.set = function (value) {
|
|
13
|
-
var e_1, _a;
|
|
14
|
-
if (this.value === value && !this.options.emitEqual) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
this.value = value;
|
|
18
|
-
try {
|
|
19
|
-
for (var _b = __values(this.subscriptions), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
20
|
-
var _d = __read(_c.value, 2), sub = _d[1];
|
|
21
|
-
sub.emit(value);
|
|
22
|
-
if (this.value !== value) {
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
28
|
-
finally {
|
|
29
|
-
try {
|
|
30
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
31
|
-
}
|
|
32
|
-
finally { if (e_1) throw e_1.error; }
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
Reactive.prototype.get = function () {
|
|
36
|
-
return this.value;
|
|
37
|
-
};
|
|
38
|
-
Reactive.prototype.on = function (func) {
|
|
39
|
-
var _this = this;
|
|
40
|
-
var id = this.id++;
|
|
41
|
-
var subscription = {
|
|
42
|
-
emit: func,
|
|
43
|
-
off: function () {
|
|
44
|
-
subscription.emit = function () { return null; };
|
|
45
|
-
_this.subscriptions.delete(id);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
this.subscriptions.set(id, subscription);
|
|
49
|
-
if (this.options.emitOnSubscribe) {
|
|
50
|
-
subscription.emit(this.value);
|
|
51
|
-
}
|
|
52
|
-
return function () { return subscription.off(); };
|
|
53
|
-
};
|
|
54
|
-
Reactive.prototype.once = function (func) {
|
|
55
|
-
var off = this.on(function (v) {
|
|
56
|
-
off();
|
|
57
|
-
func(v);
|
|
58
|
-
});
|
|
59
|
-
return off;
|
|
60
|
-
};
|
|
61
|
-
Reactive.prototype.reset = function () {
|
|
62
|
-
this.set(this.initialValue);
|
|
63
|
-
};
|
|
64
|
-
Reactive.prototype.dispose = function () {
|
|
65
|
-
this.subscriptions.forEach(function (sub) { return sub.off(); });
|
|
66
|
-
};
|
|
67
|
-
return Reactive;
|
|
68
|
-
}());
|
|
69
|
-
export { Reactive };
|
|
1
|
+
import { __read, __values } from "tslib";
|
|
2
|
+
var Reactive = /** @class */ (function () {
|
|
3
|
+
function Reactive(value, options) {
|
|
4
|
+
this.id = 0;
|
|
5
|
+
if (value !== void 0) {
|
|
6
|
+
this.value = value;
|
|
7
|
+
this.initialValue = value;
|
|
8
|
+
}
|
|
9
|
+
this.options = options || {};
|
|
10
|
+
this.subscriptions = new Map();
|
|
11
|
+
}
|
|
12
|
+
Reactive.prototype.set = function (value) {
|
|
13
|
+
var e_1, _a;
|
|
14
|
+
if (this.value === value && !this.options.emitEqual) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
this.value = value;
|
|
18
|
+
try {
|
|
19
|
+
for (var _b = __values(this.subscriptions), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
20
|
+
var _d = __read(_c.value, 2), sub = _d[1];
|
|
21
|
+
sub.emit(value);
|
|
22
|
+
if (this.value !== value) {
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
28
|
+
finally {
|
|
29
|
+
try {
|
|
30
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
31
|
+
}
|
|
32
|
+
finally { if (e_1) throw e_1.error; }
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
Reactive.prototype.get = function () {
|
|
36
|
+
return this.value;
|
|
37
|
+
};
|
|
38
|
+
Reactive.prototype.on = function (func) {
|
|
39
|
+
var _this = this;
|
|
40
|
+
var id = this.id++;
|
|
41
|
+
var subscription = {
|
|
42
|
+
emit: func,
|
|
43
|
+
off: function () {
|
|
44
|
+
subscription.emit = function () { return null; };
|
|
45
|
+
_this.subscriptions.delete(id);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
this.subscriptions.set(id, subscription);
|
|
49
|
+
if (this.options.emitOnSubscribe) {
|
|
50
|
+
subscription.emit(this.value);
|
|
51
|
+
}
|
|
52
|
+
return function () { return subscription.off(); };
|
|
53
|
+
};
|
|
54
|
+
Reactive.prototype.once = function (func) {
|
|
55
|
+
var off = this.on(function (v) {
|
|
56
|
+
off();
|
|
57
|
+
func(v);
|
|
58
|
+
});
|
|
59
|
+
return off;
|
|
60
|
+
};
|
|
61
|
+
Reactive.prototype.reset = function () {
|
|
62
|
+
this.set(this.initialValue);
|
|
63
|
+
};
|
|
64
|
+
Reactive.prototype.dispose = function () {
|
|
65
|
+
this.subscriptions.forEach(function (sub) { return sub.off(); });
|
|
66
|
+
};
|
|
67
|
+
return Reactive;
|
|
68
|
+
}());
|
|
69
|
+
export { Reactive };
|
|
70
70
|
//# sourceMappingURL=reactive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../../src/classes/reactive.ts"],"names":[],"mappings":";AAaA;
|
|
1
|
+
{"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../../src/classes/reactive.ts"],"names":[],"mappings":";AAaA;IAOE,kBAAY,KAAS,EAAE,OAAiB;QACtC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,sBAAG,GAAH,UAAI,KAAQ;;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;;YACnB,KAAsB,IAAA,KAAA,SAAA,IAAI,CAAC,aAAa,CAAA,gBAAA,4BAAE,CAAC;gBAAhC,IAAA,KAAA,mBAAO,EAAJ,GAAG,QAAA;gBACf,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;oBACzB,MAAM;gBACR,CAAC;YACH,CAAC;;;;;;;;;IACH,CAAC;IAED,sBAAG,GAAH;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,qBAAE,GAAF,UAAG,IAAW;QAAd,iBAcC;QAbC,IAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrB,IAAM,YAAY,GAAoB;YACpC,IAAI,EAAE,IAAI;YACV,GAAG,EAAE;gBACH,YAAY,CAAC,IAAI,GAAG,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;gBAC/B,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;SACF,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,cAAM,OAAA,YAAY,CAAC,GAAG,EAAE,EAAlB,CAAkB,CAAC;IAClC,CAAC;IAED,uBAAI,GAAJ,UAAK,IAAW;QACd,IAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,UAAA,CAAC;YACnB,GAAG,EAAE,CAAC;YACN,IAAI,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,wBAAK,GAAL;QACE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IAED,0BAAO,GAAP;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,GAAG,EAAE,EAAT,CAAS,CAAC,CAAC;IAC/C,CAAC;IACH,eAAC;AAAD,CAAC,AAjED,IAiEC","sourcesContent":["type On<T> = (value: T) => void;\ntype Off = () => void;\n\ninterface Subscription<T> {\n emit: On<T>;\n off: Off;\n}\n\ninterface Options {\n emitOnSubscribe?: boolean; // if set, emit right on subscribe (like rxjs BehaviorSubject)\n emitEqual?: boolean; // if set, emit when new value is equal to the old one\n}\n\nexport class Reactive<T> {\n private initialValue: T;\n private value: T;\n private id: number;\n private options: Options;\n private subscriptions: Map<number, Subscription<T>>;\n\n constructor(value?: T, options?: Options) {\n this.id = 0;\n if (value !== void 0) {\n this.value = value;\n this.initialValue = value;\n }\n this.options = options || {};\n this.subscriptions = new Map();\n }\n\n set(value: T): void {\n if (this.value === value && !this.options.emitEqual) {\n return;\n }\n this.value = value;\n for (const [, sub] of this.subscriptions) {\n sub.emit(value);\n if (this.value !== value) {\n break;\n }\n }\n }\n\n get(): T {\n return this.value;\n }\n\n on(func: On<T>): Off {\n const id = this.id++;\n const subscription: Subscription<T> = {\n emit: func,\n off: () => {\n subscription.emit = () => null;\n this.subscriptions.delete(id);\n }\n };\n this.subscriptions.set(id, subscription);\n if (this.options.emitOnSubscribe) {\n subscription.emit(this.value);\n }\n return () => subscription.off();\n }\n\n once(func: On<T>): Off {\n const off = this.on(v => {\n off();\n func(v);\n });\n return off;\n }\n\n reset(): void {\n this.set(this.initialValue);\n }\n\n dispose(): void {\n this.subscriptions.forEach(sub => sub.off());\n }\n}\n"]}
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
import { __read } from "tslib";
|
|
2
|
-
import { SETTINGS, DEV_SETTINGS, validate, validateOne, VALIDATORS } from '../inputs/index';
|
|
3
|
-
var Settings = /** @class */ (function () {
|
|
4
|
-
function Settings(settings, devSettings, instanceIndex) {
|
|
5
|
-
this.parseInput(settings, SETTINGS);
|
|
6
|
-
this.parseInput(devSettings, DEV_SETTINGS);
|
|
7
|
-
this.instanceIndex = instanceIndex;
|
|
8
|
-
this.initializeDelay = this.getInitializeDelay();
|
|
9
|
-
this.viewport = this.getViewport();
|
|
10
|
-
// todo: min/max indexes must be ignored if infinite mode is enabled ??
|
|
11
|
-
}
|
|
12
|
-
Settings.prototype.parseInput = function (input, props) {
|
|
13
|
-
var _this = this;
|
|
14
|
-
var result = validate(input, props);
|
|
15
|
-
if (!result.isValid) {
|
|
16
|
-
throw new Error('Invalid settings');
|
|
17
|
-
}
|
|
18
|
-
Object.entries(result.params).forEach(function (_a) {
|
|
19
|
-
var _b;
|
|
20
|
-
var _c = __read(_a, 2), key = _c[0], par = _c[1];
|
|
21
|
-
return Object.assign(_this, (_b = {}, _b[key] = par.value, _b));
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
Settings.prototype.getInitializeDelay = function () {
|
|
25
|
-
var result = 0;
|
|
26
|
-
if (this.windowViewport && this.initWindowDelay && !('scrollRestoration' in history)) {
|
|
27
|
-
result = this.initWindowDelay;
|
|
28
|
-
}
|
|
29
|
-
if (this.initDelay > 0) {
|
|
30
|
-
result = Math.max(result, this.initDelay);
|
|
31
|
-
}
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
Settings.prototype.getViewport = function () {
|
|
35
|
-
if (typeof this.viewportElement !== 'function') {
|
|
36
|
-
return this.viewportElement;
|
|
37
|
-
}
|
|
38
|
-
var value = this.viewportElement();
|
|
39
|
-
var result = validateOne({ value: value }, 'value', { validators: [VALIDATORS.ELEMENT] });
|
|
40
|
-
if (!result.isValid) {
|
|
41
|
-
return null; // fallback to default (null) if Function didn't return HTML element synchronously
|
|
42
|
-
}
|
|
43
|
-
return result.value;
|
|
44
|
-
};
|
|
45
|
-
return Settings;
|
|
46
|
-
}());
|
|
47
|
-
export { Settings };
|
|
1
|
+
import { __read } from "tslib";
|
|
2
|
+
import { SETTINGS, DEV_SETTINGS, validate, validateOne, VALIDATORS } from '../inputs/index';
|
|
3
|
+
var Settings = /** @class */ (function () {
|
|
4
|
+
function Settings(settings, devSettings, instanceIndex) {
|
|
5
|
+
this.parseInput(settings, SETTINGS);
|
|
6
|
+
this.parseInput(devSettings, DEV_SETTINGS);
|
|
7
|
+
this.instanceIndex = instanceIndex;
|
|
8
|
+
this.initializeDelay = this.getInitializeDelay();
|
|
9
|
+
this.viewport = this.getViewport();
|
|
10
|
+
// todo: min/max indexes must be ignored if infinite mode is enabled ??
|
|
11
|
+
}
|
|
12
|
+
Settings.prototype.parseInput = function (input, props) {
|
|
13
|
+
var _this = this;
|
|
14
|
+
var result = validate(input, props);
|
|
15
|
+
if (!result.isValid) {
|
|
16
|
+
throw new Error('Invalid settings');
|
|
17
|
+
}
|
|
18
|
+
Object.entries(result.params).forEach(function (_a) {
|
|
19
|
+
var _b;
|
|
20
|
+
var _c = __read(_a, 2), key = _c[0], par = _c[1];
|
|
21
|
+
return Object.assign(_this, (_b = {}, _b[key] = par.value, _b));
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
Settings.prototype.getInitializeDelay = function () {
|
|
25
|
+
var result = 0;
|
|
26
|
+
if (this.windowViewport && this.initWindowDelay && !('scrollRestoration' in history)) {
|
|
27
|
+
result = this.initWindowDelay;
|
|
28
|
+
}
|
|
29
|
+
if (this.initDelay > 0) {
|
|
30
|
+
result = Math.max(result, this.initDelay);
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
Settings.prototype.getViewport = function () {
|
|
35
|
+
if (typeof this.viewportElement !== 'function') {
|
|
36
|
+
return this.viewportElement;
|
|
37
|
+
}
|
|
38
|
+
var value = this.viewportElement();
|
|
39
|
+
var result = validateOne({ value: value }, 'value', { validators: [VALIDATORS.ELEMENT] });
|
|
40
|
+
if (!result.isValid) {
|
|
41
|
+
return null; // fallback to default (null) if Function didn't return HTML element synchronously
|
|
42
|
+
}
|
|
43
|
+
return result.value;
|
|
44
|
+
};
|
|
45
|
+
return Settings;
|
|
46
|
+
}());
|
|
47
|
+
export { Settings };
|
|
48
48
|
//# sourceMappingURL=settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/classes/settings.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/classes/settings.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,UAAU,EAGX,MAAM,iBAAiB,CAAC;AAQzB;IAwIE,kBACE,QAAqC,EACrC,WAAqC,EACrC,aAAqB;QAErB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,uEAAuE;IACzE,CAAC;IAED,6BAAU,GAAV,UACE,KAAiD,EACjD,KAAgC;QAFlC,iBAWC;QAPC,IAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,EAAU;;gBAAV,KAAA,aAAU,EAAT,GAAG,QAAA,EAAE,GAAG,QAAA;YAC9C,OAAA,MAAM,CAAC,MAAM,CAAC,KAAI,YAAI,GAAC,GAAG,IAAG,GAAG,CAAC,KAAK,MAAG;QAAzC,CAAyC,CAC1C,CAAC;IACJ,CAAC;IAED,qCAAkB,GAAlB;QACE,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,mBAAmB,IAAI,OAAO,CAAC,EAAE,CAAC;YACrF,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,8BAAW,GAAX;QACE,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;QACD,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,IAAM,MAAM,GAAG,WAAW,CAAC,EAAE,KAAK,OAAA,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,CAAC,kFAAkF;QACjG,CAAC;QACD,OAAO,MAAM,CAAC,KAAoB,CAAC;IACrC,CAAC;IACH,eAAC;AAAD,CAAC,AAxLD,IAwLC","sourcesContent":["import {\n SETTINGS,\n DEV_SETTINGS,\n validate,\n validateOne,\n VALIDATORS,\n SizeStrategy,\n Direction\n} from '../inputs/index';\nimport {\n Settings as ISettings,\n DevSettings as IDevSettings,\n ICommonProps,\n ItemsProcessor\n} from '../interfaces/index';\n\nexport class Settings<Data = unknown> implements ISettings, IDevSettings {\n // user settings\n adapter: boolean;\n startIndex: number;\n minIndex: number;\n maxIndex: number;\n itemSize: number;\n bufferSize: number;\n padding: number;\n infinite: boolean;\n horizontal: boolean;\n windowViewport: boolean;\n viewportElement: HTMLElement | (() => void) | null;\n inverse: boolean; // if true, bwd padding element will have a priority when filling the viewport (if lack of items)\n onBeforeClip: ItemsProcessor | null; // if set, it will be run before clipping items from Buffer after they are hidden\n sizeStrategy: SizeStrategy; // \"average\" | \"frequent\", determines behavior of unknown items\n\n /**\n * Development setting.\n * If true, logging is enabled.\n * Default value: false.\n * @type {boolean}\n */\n debug: boolean; // if true,\n\n /**\n * Development setting.\n * If false, in-memory logging is enabled, Adapter.showLog() method should be called to print the log.\n * Default value: true.\n * @type {boolean}\n */\n immediateLog: boolean;\n\n /**\n * Development setting.\n * If true, time differences will be logged.\n * Default value: false.\n * @type {boolean}\n */\n logTime: boolean;\n\n /**\n * Development setting.\n * If true, process fire/run info will be logged.\n * Default value: false.\n * @type {boolean}\n */\n logProcessRun: boolean;\n\n /**\n * Development setting.\n * If true, console color formatting will be used in logs.\n * Default value: true.\n * @type {boolean}\n */\n logColor: boolean;\n\n /**\n * Development setting.\n * If set, scroll event handling is throttled (ms).\n * Default value: 40. Minimal value: 0.\n * @type {number} ms\n */\n throttle: number;\n\n /**\n * Development setting.\n * If set, the Workflow initialization will be postponed (ms).\n * Default value: 1. Minimal value: 0.\n * @type {number} ms\n */\n initDelay: number;\n\n /**\n * Development setting.\n * If set and the entire window is scrollable, the Workflow initialization will be postponed (ms).\n * Default value: 40. Minimal value: 0.\n * @type {number} ms\n */\n initWindowDelay: number;\n\n /**\n * Development setting.\n * If true, item's data will be cached along with item's size and index.\n * Default value: false.\n * @type {boolean}\n */\n cacheData: boolean;\n\n /**\n * Development setting.\n * If true, cache will not be flushed on reload.\n * Default value: false.\n * @type {boolean}\n */\n cacheOnReload: boolean;\n\n /**\n * Development setting.\n * If true, the viewport will receive \"overflowAnchor: none\" css property.\n * Default value: false.\n * @type {boolean}\n */\n dismissOverflowAnchor: boolean;\n\n /**\n * Development setting.\n * Determines the strategy of fixing the difference between estimated and real (rendered) sizes\n * on scroll position adjustments. If set to 'backward', the difference is always resolved in favour of the\n * backward direction: top/left content is fixed and appears in accordance with pre-render expectations.\n * If set to 'forward', both directions could be used, and there is a case when bottom/right content is fixed:\n * new items are to the left of the previously rendered\n * and at least one previously rendered item remains.\n * Default value: 'backward'. Allowed values: 'backward', 'forward'.\n * @type {string}\n */\n directionPriority: Direction;\n\n /**\n * Internal setting. Stores the index of the Scroller instance.\n * @type {number}\n */\n instanceIndex: number;\n\n /**\n * Internal setting. Stores the Workflow initialization delay based on initDelay and initWindowDelay settings.\n * @type {number}\n */\n initializeDelay: number;\n\n /**\n * Internal setting. Stores the viewport based on viewportElement setting (which can be element or function).\n * @type {HTMLElement|null}\n */\n viewport: HTMLElement | null;\n\n constructor(\n settings: ISettings<Data> | undefined,\n devSettings: IDevSettings | undefined,\n instanceIndex: number\n ) {\n this.parseInput(settings, SETTINGS);\n this.parseInput(devSettings, DEV_SETTINGS);\n this.instanceIndex = instanceIndex;\n this.initializeDelay = this.getInitializeDelay();\n this.viewport = this.getViewport();\n // todo: min/max indexes must be ignored if infinite mode is enabled ??\n }\n\n parseInput(\n input: ISettings<Data> | IDevSettings | undefined,\n props: ICommonProps<PropertyKey>\n ): void {\n const result = validate(input, props);\n if (!result.isValid) {\n throw new Error('Invalid settings');\n }\n Object.entries(result.params).forEach(([key, par]) =>\n Object.assign(this, { [key]: par.value })\n );\n }\n\n getInitializeDelay(): number {\n let result = 0;\n if (this.windowViewport && this.initWindowDelay && !('scrollRestoration' in history)) {\n result = this.initWindowDelay;\n }\n if (this.initDelay > 0) {\n result = Math.max(result, this.initDelay);\n }\n return result;\n }\n\n getViewport(): HTMLElement | null {\n if (typeof this.viewportElement !== 'function') {\n return this.viewportElement;\n }\n const value = this.viewportElement();\n const result = validateOne({ value }, 'value', { validators: [VALIDATORS.ELEMENT] });\n if (!result.isValid) {\n return null; // fallback to default (null) if Function didn't return HTML element synchronously\n }\n return result.value as HTMLElement;\n }\n}\n"]}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
var ClipModel = /** @class */ (function () {
|
|
2
|
-
function ClipModel() {
|
|
3
|
-
this.callCount = 0;
|
|
4
|
-
this.reset();
|
|
5
|
-
}
|
|
6
|
-
Object.defineProperty(ClipModel.prototype, "force", {
|
|
7
|
-
get: function () {
|
|
8
|
-
return this.forceForward || this.forceBackward;
|
|
9
|
-
},
|
|
10
|
-
enumerable: false,
|
|
11
|
-
configurable: true
|
|
12
|
-
});
|
|
13
|
-
ClipModel.prototype.reset = function (force) {
|
|
14
|
-
this.doClip = false;
|
|
15
|
-
if (!force) {
|
|
16
|
-
this.forceForward = false;
|
|
17
|
-
this.forceBackward = false;
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
return ClipModel;
|
|
21
|
-
}());
|
|
22
|
-
export { ClipModel };
|
|
1
|
+
var ClipModel = /** @class */ (function () {
|
|
2
|
+
function ClipModel() {
|
|
3
|
+
this.callCount = 0;
|
|
4
|
+
this.reset();
|
|
5
|
+
}
|
|
6
|
+
Object.defineProperty(ClipModel.prototype, "force", {
|
|
7
|
+
get: function () {
|
|
8
|
+
return this.forceForward || this.forceBackward;
|
|
9
|
+
},
|
|
10
|
+
enumerable: false,
|
|
11
|
+
configurable: true
|
|
12
|
+
});
|
|
13
|
+
ClipModel.prototype.reset = function (force) {
|
|
14
|
+
this.doClip = false;
|
|
15
|
+
if (!force) {
|
|
16
|
+
this.forceForward = false;
|
|
17
|
+
this.forceBackward = false;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
return ClipModel;
|
|
21
|
+
}());
|
|
22
|
+
export { ClipModel };
|
|
23
23
|
//# sourceMappingURL=clip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clip.js","sourceRoot":"","sources":["../../../../src/classes/state/clip.ts"],"names":[],"mappings":"AAAA;IAUE;QACE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAPD,sBAAI,4BAAK;aAAT;YACE,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC;QACjD,CAAC;;;OAAA;IAOD,yBAAK,GAAL,UAAM,KAAe;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"clip.js","sourceRoot":"","sources":["../../../../src/classes/state/clip.ts"],"names":[],"mappings":"AAAA;IAUE;QACE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAPD,sBAAI,4BAAK;aAAT;YACE,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC;QACjD,CAAC;;;OAAA;IAOD,yBAAK,GAAL,UAAM,KAAe;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IACH,gBAAC;AAAD,CAAC,AAtBD,IAsBC","sourcesContent":["export class ClipModel {\n doClip: boolean;\n callCount: number;\n forceForward: boolean;\n forceBackward: boolean;\n\n get force(): boolean {\n return this.forceForward || this.forceBackward;\n }\n\n constructor() {\n this.callCount = 0;\n this.reset();\n }\n\n reset(force?: boolean): void {\n this.doClip = false;\n if (!force) {\n this.forceForward = false;\n this.forceBackward = false;\n }\n }\n}\n"]}
|