vscroll 1.5.3 → 1.5.5
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/LICENSE +21 -21
- package/README.md +283 -273
- package/dist/bundles/vscroll.esm5.js +5558 -5525
- 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 +5045 -5015
- 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 +5559 -5526
- 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 +43 -43
- package/dist/esm2015/classes/adapter/context.js.map +1 -1
- package/dist/esm2015/classes/adapter/props.js +268 -268
- 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 +455 -442
- package/dist/esm2015/classes/adapter.js.map +1 -1
- package/dist/esm2015/classes/buffer/cache.js +246 -246
- package/dist/esm2015/classes/buffer/cache.js.map +1 -1
- package/dist/esm2015/classes/buffer/checkCall.js +48 -48
- package/dist/esm2015/classes/buffer/checkCall.js.map +1 -1
- package/dist/esm2015/classes/buffer/defaultSize.js +127 -127
- package/dist/esm2015/classes/buffer/defaultSize.js.map +1 -1
- package/dist/esm2015/classes/buffer.js +342 -342
- package/dist/esm2015/classes/buffer.js.map +1 -1
- package/dist/esm2015/classes/datasource.js +28 -28
- package/dist/esm2015/classes/domRoutines.js +166 -166
- 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 +186 -186
- package/dist/esm2015/classes/logger.js.map +1 -1
- package/dist/esm2015/classes/paddings.js +72 -72
- 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 +122 -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 +59 -59
- package/dist/esm2015/classes/viewport.js +72 -72
- package/dist/esm2015/classes/viewport.js.map +1 -1
- package/dist/esm2015/index.js +8 -8
- package/dist/esm2015/index.js.map +1 -1
- package/dist/esm2015/inputs/adapter.js +230 -230
- 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 +6 -6
- package/dist/esm2015/inputs/index.js.map +1 -1
- package/dist/esm2015/inputs/settings.js +146 -146
- package/dist/esm2015/inputs/settings.js.map +1 -1
- package/dist/esm2015/inputs/validation.js +374 -374
- package/dist/esm2015/inputs/validation.js.map +1 -1
- package/dist/esm2015/interfaces/adapter.js +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/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/state.js +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 +35 -35
- package/dist/esm2015/processes/adapter/append.js.map +1 -1
- package/dist/esm2015/processes/adapter/check.js +32 -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 +77 -77
- package/dist/esm2015/processes/adapter/fix.js.map +1 -1
- package/dist/esm2015/processes/adapter/insert.js +73 -73
- package/dist/esm2015/processes/adapter/insert.js.map +1 -1
- package/dist/esm2015/processes/adapter/reload.js +19 -20
- package/dist/esm2015/processes/adapter/reload.js.map +1 -1
- package/dist/esm2015/processes/adapter/remove.js +102 -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 +43 -43
- package/dist/esm2015/processes/adapter/update.js.map +1 -1
- package/dist/esm2015/processes/adjust.js +141 -141
- package/dist/esm2015/processes/clip.js +49 -49
- package/dist/esm2015/processes/end.js +52 -52
- package/dist/esm2015/processes/end.js.map +1 -1
- package/dist/esm2015/processes/fetch.js +91 -90
- package/dist/esm2015/processes/fetch.js.map +1 -1
- package/dist/esm2015/processes/index.js +23 -23
- package/dist/esm2015/processes/init.js +14 -14
- package/dist/esm2015/processes/init.js.map +1 -1
- package/dist/esm2015/processes/misc/base.js +30 -30
- package/dist/esm2015/processes/misc/base.js.map +1 -1
- package/dist/esm2015/processes/misc/enums.js +35 -35
- 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 +64 -64
- package/dist/esm2015/processes/postFetch.js.map +1 -1
- package/dist/esm2015/processes/preClip.js +85 -85
- package/dist/esm2015/processes/preClip.js.map +1 -1
- package/dist/esm2015/processes/preFetch.js +240 -240
- package/dist/esm2015/processes/preFetch.js.map +1 -1
- package/dist/esm2015/processes/render.js +54 -54
- package/dist/esm2015/processes/render.js.map +1 -1
- package/dist/esm2015/processes/scroll.js +97 -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 +76 -69
- 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 +210 -210
- package/dist/esm2015/workflow-transducer.js.map +1 -1
- package/dist/esm2015/workflow.js +161 -151
- package/dist/esm2015/workflow.js.map +1 -1
- package/dist/esm5/classes/adapter/context.js +50 -50
- package/dist/esm5/classes/adapter/context.js.map +1 -1
- package/dist/esm5/classes/adapter/props.js +268 -268
- 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 +504 -490
- package/dist/esm5/classes/adapter.js.map +1 -1
- package/dist/esm5/classes/buffer/cache.js +260 -260
- package/dist/esm5/classes/buffer/cache.js.map +1 -1
- package/dist/esm5/classes/buffer/checkCall.js +56 -56
- package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
- package/dist/esm5/classes/buffer/defaultSize.js +145 -145
- package/dist/esm5/classes/buffer/defaultSize.js.map +1 -1
- package/dist/esm5/classes/buffer.js +409 -409
- package/dist/esm5/classes/buffer.js.map +1 -1
- package/dist/esm5/classes/datasource.js +37 -37
- package/dist/esm5/classes/domRoutines.js +182 -182
- 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 +210 -210
- package/dist/esm5/classes/logger.js.map +1 -1
- package/dist/esm5/classes/paddings.js +80 -80
- 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 +148 -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 +66 -66
- package/dist/esm5/classes/viewport.js +79 -79
- package/dist/esm5/classes/viewport.js.map +1 -1
- package/dist/esm5/index.js +8 -8
- package/dist/esm5/index.js.map +1 -1
- package/dist/esm5/inputs/adapter.js +231 -231
- 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 +6 -6
- package/dist/esm5/inputs/index.js.map +1 -1
- package/dist/esm5/inputs/settings.js +147 -147
- package/dist/esm5/inputs/settings.js.map +1 -1
- package/dist/esm5/inputs/validation.js +396 -396
- package/dist/esm5/inputs/validation.js.map +1 -1
- package/dist/esm5/interfaces/adapter.js +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/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/state.js +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 +43 -43
- package/dist/esm5/processes/adapter/append.js.map +1 -1
- package/dist/esm5/processes/adapter/check.js +39 -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 +89 -89
- package/dist/esm5/processes/adapter/fix.js.map +1 -1
- package/dist/esm5/processes/adapter/insert.js +81 -81
- package/dist/esm5/processes/adapter/insert.js.map +1 -1
- package/dist/esm5/processes/adapter/reload.js +26 -27
- package/dist/esm5/processes/adapter/reload.js.map +1 -1
- package/dist/esm5/processes/adapter/remove.js +115 -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 +59 -59
- package/dist/esm5/processes/adapter/update.js.map +1 -1
- package/dist/esm5/processes/adjust.js +152 -152
- package/dist/esm5/processes/clip.js +60 -60
- package/dist/esm5/processes/end.js +63 -63
- package/dist/esm5/processes/end.js.map +1 -1
- package/dist/esm5/processes/fetch.js +102 -101
- package/dist/esm5/processes/fetch.js.map +1 -1
- package/dist/esm5/processes/index.js +23 -23
- package/dist/esm5/processes/init.js +21 -21
- package/dist/esm5/processes/init.js.map +1 -1
- package/dist/esm5/processes/misc/base.js +44 -44
- package/dist/esm5/processes/misc/base.js.map +1 -1
- package/dist/esm5/processes/misc/enums.js +35 -35
- 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 -73
- package/dist/esm5/processes/postFetch.js.map +1 -1
- package/dist/esm5/processes/preClip.js +94 -94
- package/dist/esm5/processes/preClip.js.map +1 -1
- package/dist/esm5/processes/preFetch.js +247 -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 +107 -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 +82 -73
- 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 +212 -212
- package/dist/esm5/workflow-transducer.js.map +1 -1
- package/dist/esm5/workflow.js +186 -176
- 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 +47 -47
- package/dist/typings/classes/adapter/wanted.d.ts +14 -14
- package/dist/typings/classes/adapter.d.ts +74 -64
- package/dist/typings/classes/buffer/cache.d.ts +95 -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 +27 -27
- package/dist/typings/classes/domRoutines.d.ts +33 -33
- package/dist/typings/classes/item.d.ts +28 -28
- package/dist/typings/classes/logger.d.ts +28 -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 +119 -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 +27 -27
- package/dist/typings/classes/viewport.d.ts +32 -32
- package/dist/typings/index.d.ts +9 -9
- 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 +6 -6
- package/dist/typings/inputs/settings.d.ts +41 -41
- package/dist/typings/inputs/validation.d.ts +83 -83
- package/dist/typings/interfaces/adapter.d.ts +156 -156
- package/dist/typings/interfaces/datasource.d.ts +26 -26
- 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 +157 -157
- package/dist/typings/interfaces/settings.d.ts +31 -31
- package/dist/typings/interfaces/state.d.ts +22 -22
- 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/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 +23 -23
- 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 +32 -32
- 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 +29 -28
- package/package.json +68 -68
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domRoutines.js","sourceRoot":"","sources":["../../../src/classes/domRoutines.ts"],"names":[],"mappings":"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","sourcesContent":["import { Settings } from './settings';\nimport { Direction } from '../inputs/index';\nimport { IRoutines, CustomRoutinesClass } from '../interfaces/index';\n\ntype MethodContainer = { [key: string]: (...args: unknown[]) => void };\n\nexport class Routines implements IRoutines {\n\n readonly settings: IRoutines['settings'];\n readonly element: HTMLElement;\n readonly viewport: HTMLElement;\n\n constructor(element: HTMLElement, settings: Settings, CustomRoutines?: CustomRoutinesClass) {\n this.element = element;\n this.settings = {\n viewport: settings.viewport,\n horizontal: settings.horizontal,\n window: settings.windowViewport\n };\n // provide custom overrides for IRoutines methods\n if (CustomRoutines) {\n const self = (this as unknown as MethodContainer);\n const routines = new CustomRoutines(element, this.settings) as MethodContainer;\n Object.getOwnPropertyNames(Object.getPrototypeOf(routines))\n .filter(method =>\n method !== 'constructor' &&\n typeof routines[method] === 'function' &&\n typeof self[method] === 'function'\n )\n .forEach(method =>\n self[method] = (...args: unknown[]) =>\n routines[method].apply(this, args)\n );\n }\n // initialization\n this.viewport = this.getViewportElement();\n this.onInit(settings);\n }\n\n checkElement(element: HTMLElement): void {\n if (!element) {\n throw new Error('HTML element is not defined');\n }\n }\n\n getViewportElement(): HTMLElement {\n if (this.settings.window) {\n return document.documentElement;\n }\n if (this.settings.viewport) {\n return this.settings.viewport;\n }\n this.checkElement(this.element);\n const parent = this.element.parentElement as HTMLElement;\n this.checkElement(parent);\n return parent;\n }\n\n onInit(settings: Settings): void {\n if (settings.windowViewport) {\n if ('scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n }\n if (settings.dismissOverflowAnchor) {\n this.viewport.style.overflowAnchor = 'none';\n }\n }\n\n findElementBySelector(element: HTMLElement, selector: string): HTMLElement | null {\n this.checkElement(element);\n return element.querySelector(selector);\n }\n\n findPaddingElement(direction: Direction): HTMLElement | null {\n return this.findElementBySelector(this.element, `[data-padding-${direction}]`);\n }\n\n findItemElement(id: string): HTMLElement | null {\n return this.findElementBySelector(this.element, `[data-sid=\"${id}\"]`);\n }\n\n getScrollPosition(): number {\n if (this.settings.window) {\n return this.settings.horizontal ? window.pageXOffset : window.pageYOffset;\n }\n return this.viewport[this.settings.horizontal ? 'scrollLeft' : 'scrollTop'];\n }\n\n setScrollPosition(value: number): void {\n value = Math.max(0, value);\n if (this.settings.window) {\n if (this.settings.horizontal) {\n window.scrollTo(value, window.scrollY);\n } else {\n window.scrollTo(window.scrollX, value);\n }\n return;\n }\n this.viewport[this.settings.horizontal ? 'scrollLeft' : 'scrollTop'] = value;\n }\n\n getElementParams(element: HTMLElement): DOMRect {\n this.checkElement(element);\n return element.getBoundingClientRect();\n }\n\n getWindowParams(): DOMRect {\n const { clientWidth, clientHeight, clientLeft, clientTop } = this.viewport;\n return {\n 'height': clientHeight,\n 'width': clientWidth,\n 'top': clientTop,\n 'bottom': clientTop + clientHeight,\n 'left': clientLeft,\n 'right': clientLeft + clientWidth,\n 'x': clientLeft,\n 'y': clientTop,\n 'toJSON': () => null,\n };\n }\n\n getSize(element: HTMLElement): number {\n return this.getElementParams(element)[this.settings.horizontal ? 'width' : 'height'];\n }\n\n getScrollerSize(): number {\n return this.getElementParams(this.element)[this.settings.horizontal ? 'width' : 'height'];\n }\n\n getViewportSize(): number {\n if (this.settings.window) {\n return this.getWindowParams()[this.settings.horizontal ? 'width' : 'height'];\n }\n return this.getSize(this.viewport);\n }\n\n getSizeStyle(element: HTMLElement): number {\n this.checkElement(element);\n const size = element.style[this.settings.horizontal ? 'width' : 'height'];\n return parseFloat(size as string) || 0;\n }\n\n setSizeStyle(element: HTMLElement, value: number): void {\n this.checkElement(element);\n value = Math.max(0, Math.round(value));\n element.style[this.settings.horizontal ? 'width' : 'height'] = `${value}px`;\n }\n\n getEdge(element: HTMLElement, direction: Direction): number {\n const { horizontal } = this.settings;\n const params = this.getElementParams(element);\n const isFwd = direction === Direction.forward;\n return params[isFwd ? (horizontal ? 'right' : 'bottom') : (horizontal ? 'left' : 'top')];\n }\n\n getViewportEdge(direction: Direction): number {\n const { window, horizontal } = this.settings;\n if (window) {\n const params = this.getWindowParams();\n const isFwd = direction === Direction.forward;\n return params[isFwd ? (horizontal ? 'right' : 'bottom') : (horizontal ? 'left' : 'top')];\n }\n return this.getEdge(this.viewport, direction);\n }\n\n makeElementVisible(element: HTMLElement): void {\n this.checkElement(element);\n element.style.left = '';\n element.style.top = '';\n element.style.position = '';\n }\n\n hideElement(element: HTMLElement): void {\n this.checkElement(element);\n element.style.display = 'none';\n }\n\n getOffset(): number {\n const get = (element: HTMLElement) =>\n (this.settings.horizontal ? element.offsetLeft : element.offsetTop) || 0;\n return get(this.element) - (!this.settings.window ? get(this.viewport) : 0);\n }\n\n scrollTo(element: HTMLElement, argument?: boolean | ScrollIntoViewOptions): void {\n this.checkElement(element);\n element.scrollIntoView(argument);\n }\n\n render(cb: () => void): () => void {\n const timeoutId = setTimeout(() => cb());\n return () => clearTimeout(timeoutId);\n }\n\n animate(cb: () => void): () => void {\n const animationFrameId = requestAnimationFrame(() => cb());\n return () => cancelAnimationFrame(animationFrameId);\n }\n\n onScroll(handler: EventListener): () => void {\n const eventReceiver = this.settings.window ? window : this.viewport;\n eventReceiver.addEventListener('scroll', handler);\n return () => eventReceiver.removeEventListener('scroll', handler);\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"domRoutines.js","sourceRoot":"","sources":["../../../src/classes/domRoutines.ts"],"names":[],"mappings":"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","sourcesContent":["import { Settings } from './settings';\r\nimport { Direction } from '../inputs/index';\r\nimport { IRoutines, CustomRoutinesClass } from '../interfaces/index';\r\n\r\ntype MethodContainer = { [key: string]: (...args: unknown[]) => void };\r\n\r\nexport class Routines implements IRoutines {\r\n\r\n readonly settings: IRoutines['settings'];\r\n readonly element: HTMLElement;\r\n readonly viewport: HTMLElement;\r\n\r\n constructor(element: HTMLElement, settings: Settings, CustomRoutines?: CustomRoutinesClass) {\r\n this.element = element;\r\n this.settings = {\r\n viewport: settings.viewport,\r\n horizontal: settings.horizontal,\r\n window: settings.windowViewport\r\n };\r\n // provide custom overrides for IRoutines methods\r\n if (CustomRoutines) {\r\n const self = (this as unknown as MethodContainer);\r\n const routines = new CustomRoutines(element, this.settings) as MethodContainer;\r\n Object.getOwnPropertyNames(Object.getPrototypeOf(routines))\r\n .filter(method =>\r\n method !== 'constructor' &&\r\n typeof routines[method] === 'function' &&\r\n typeof self[method] === 'function'\r\n )\r\n .forEach(method =>\r\n self[method] = (...args: unknown[]) =>\r\n routines[method].apply(this, args)\r\n );\r\n }\r\n // initialization\r\n this.viewport = this.getViewportElement();\r\n this.onInit(settings);\r\n }\r\n\r\n checkElement(element: HTMLElement): void {\r\n if (!element) {\r\n throw new Error('HTML element is not defined');\r\n }\r\n }\r\n\r\n getViewportElement(): HTMLElement {\r\n if (this.settings.window) {\r\n return document.documentElement;\r\n }\r\n if (this.settings.viewport) {\r\n return this.settings.viewport;\r\n }\r\n this.checkElement(this.element);\r\n const parent = this.element.parentElement as HTMLElement;\r\n this.checkElement(parent);\r\n return parent;\r\n }\r\n\r\n onInit(settings: Settings): void {\r\n if (settings.windowViewport) {\r\n if ('scrollRestoration' in history) {\r\n history.scrollRestoration = 'manual';\r\n }\r\n }\r\n if (settings.dismissOverflowAnchor) {\r\n this.viewport.style.overflowAnchor = 'none';\r\n }\r\n }\r\n\r\n findElementBySelector(element: HTMLElement, selector: string): HTMLElement | null {\r\n this.checkElement(element);\r\n return element.querySelector(selector);\r\n }\r\n\r\n findPaddingElement(direction: Direction): HTMLElement | null {\r\n return this.findElementBySelector(this.element, `[data-padding-${direction}]`);\r\n }\r\n\r\n findItemElement(id: string): HTMLElement | null {\r\n return this.findElementBySelector(this.element, `[data-sid=\"${id}\"]`);\r\n }\r\n\r\n getScrollPosition(): number {\r\n if (this.settings.window) {\r\n return this.settings.horizontal ? window.pageXOffset : window.pageYOffset;\r\n }\r\n return this.viewport[this.settings.horizontal ? 'scrollLeft' : 'scrollTop'];\r\n }\r\n\r\n setScrollPosition(value: number): void {\r\n value = Math.max(0, value);\r\n if (this.settings.window) {\r\n if (this.settings.horizontal) {\r\n window.scrollTo(value, window.scrollY);\r\n } else {\r\n window.scrollTo(window.scrollX, value);\r\n }\r\n return;\r\n }\r\n this.viewport[this.settings.horizontal ? 'scrollLeft' : 'scrollTop'] = value;\r\n }\r\n\r\n getElementParams(element: HTMLElement): DOMRect {\r\n this.checkElement(element);\r\n return element.getBoundingClientRect();\r\n }\r\n\r\n getWindowParams(): DOMRect {\r\n const { clientWidth, clientHeight, clientLeft, clientTop } = this.viewport;\r\n return {\r\n 'height': clientHeight,\r\n 'width': clientWidth,\r\n 'top': clientTop,\r\n 'bottom': clientTop + clientHeight,\r\n 'left': clientLeft,\r\n 'right': clientLeft + clientWidth,\r\n 'x': clientLeft,\r\n 'y': clientTop,\r\n 'toJSON': () => null,\r\n };\r\n }\r\n\r\n getSize(element: HTMLElement): number {\r\n return this.getElementParams(element)[this.settings.horizontal ? 'width' : 'height'];\r\n }\r\n\r\n getScrollerSize(): number {\r\n return this.getElementParams(this.element)[this.settings.horizontal ? 'width' : 'height'];\r\n }\r\n\r\n getViewportSize(): number {\r\n if (this.settings.window) {\r\n return this.getWindowParams()[this.settings.horizontal ? 'width' : 'height'];\r\n }\r\n return this.getSize(this.viewport);\r\n }\r\n\r\n getSizeStyle(element: HTMLElement): number {\r\n this.checkElement(element);\r\n const size = element.style[this.settings.horizontal ? 'width' : 'height'];\r\n return parseFloat(size as string) || 0;\r\n }\r\n\r\n setSizeStyle(element: HTMLElement, value: number): void {\r\n this.checkElement(element);\r\n value = Math.max(0, Math.round(value));\r\n element.style[this.settings.horizontal ? 'width' : 'height'] = `${value}px`;\r\n }\r\n\r\n getEdge(element: HTMLElement, direction: Direction): number {\r\n const { horizontal } = this.settings;\r\n const params = this.getElementParams(element);\r\n const isFwd = direction === Direction.forward;\r\n return params[isFwd ? (horizontal ? 'right' : 'bottom') : (horizontal ? 'left' : 'top')];\r\n }\r\n\r\n getViewportEdge(direction: Direction): number {\r\n const { window, horizontal } = this.settings;\r\n if (window) {\r\n const params = this.getWindowParams();\r\n const isFwd = direction === Direction.forward;\r\n return params[isFwd ? (horizontal ? 'right' : 'bottom') : (horizontal ? 'left' : 'top')];\r\n }\r\n return this.getEdge(this.viewport, direction);\r\n }\r\n\r\n makeElementVisible(element: HTMLElement): void {\r\n this.checkElement(element);\r\n element.style.left = '';\r\n element.style.top = '';\r\n element.style.position = '';\r\n }\r\n\r\n hideElement(element: HTMLElement): void {\r\n this.checkElement(element);\r\n element.style.display = 'none';\r\n }\r\n\r\n getOffset(): number {\r\n const get = (element: HTMLElement) =>\r\n (this.settings.horizontal ? element.offsetLeft : element.offsetTop) || 0;\r\n return get(this.element) - (!this.settings.window ? get(this.viewport) : 0);\r\n }\r\n\r\n scrollTo(element: HTMLElement, argument?: boolean | ScrollIntoViewOptions): void {\r\n this.checkElement(element);\r\n element.scrollIntoView(argument);\r\n }\r\n\r\n render(cb: () => void): () => void {\r\n const timeoutId = setTimeout(() => cb());\r\n return () => clearTimeout(timeoutId);\r\n }\r\n\r\n animate(cb: () => void): () => void {\r\n const animationFrameId = requestAnimationFrame(() => cb());\r\n return () => cancelAnimationFrame(animationFrameId);\r\n }\r\n\r\n onScroll(handler: EventListener): () => void {\r\n const eventReceiver = this.settings.window ? window : this.viewport;\r\n eventReceiver.addEventListener('scroll', handler);\r\n return () => eventReceiver.removeEventListener('scroll', handler);\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
var Item = /** @class */ (function () {
|
|
2
|
-
function Item($index, data, routines) {
|
|
3
|
-
this.container = {
|
|
4
|
-
$index: $index,
|
|
5
|
-
data: data
|
|
6
|
-
};
|
|
7
|
-
this.nodeId = String($index);
|
|
8
|
-
this.routines = routines;
|
|
9
|
-
this.invisible = true;
|
|
10
|
-
this.toRemove = false;
|
|
11
|
-
this.toInsert = false;
|
|
12
|
-
}
|
|
13
|
-
Object.defineProperty(Item.prototype, "$index", {
|
|
14
|
-
get: function () {
|
|
15
|
-
return this.container.$index;
|
|
16
|
-
},
|
|
17
|
-
set: function (value) {
|
|
18
|
-
this.container.$index = value;
|
|
19
|
-
},
|
|
20
|
-
enumerable: false,
|
|
21
|
-
configurable: true
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(Item.prototype, "data", {
|
|
24
|
-
get: function () {
|
|
25
|
-
return this.container.data;
|
|
26
|
-
},
|
|
27
|
-
set: function (value) {
|
|
28
|
-
this.container.data = value;
|
|
29
|
-
},
|
|
30
|
-
enumerable: false,
|
|
31
|
-
configurable: true
|
|
32
|
-
});
|
|
33
|
-
Object.defineProperty(Item.prototype, "element", {
|
|
34
|
-
get: function () {
|
|
35
|
-
return this.container.element;
|
|
36
|
-
},
|
|
37
|
-
set: function (value) {
|
|
38
|
-
this.container.element = value;
|
|
39
|
-
},
|
|
40
|
-
enumerable: false,
|
|
41
|
-
configurable: true
|
|
42
|
-
});
|
|
43
|
-
Item.prototype.dispose = function () {
|
|
44
|
-
delete this.container.element;
|
|
45
|
-
};
|
|
46
|
-
Item.prototype.setSize = function (preSize) {
|
|
47
|
-
if (preSize === void 0) { preSize = 0; }
|
|
48
|
-
this.preSize = preSize;
|
|
49
|
-
if (this.element) {
|
|
50
|
-
this.size = this.routines.getSize(this.element);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
Item.prototype.makeVisible = function () {
|
|
54
|
-
this.routines.makeElementVisible(this.element);
|
|
55
|
-
this.invisible = false;
|
|
56
|
-
};
|
|
57
|
-
Item.prototype.hide = function () {
|
|
58
|
-
if (this.element) {
|
|
59
|
-
this.routines.hideElement(this.element);
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
Item.prototype.scrollTo = function (argument) {
|
|
63
|
-
if (this.element) {
|
|
64
|
-
this.routines.scrollTo(this.element, argument);
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
Item.prototype.updateIndex = function (index) {
|
|
68
|
-
this.$index = index;
|
|
69
|
-
this.nodeId = String(index);
|
|
70
|
-
};
|
|
71
|
-
Item.prototype.get = function () {
|
|
72
|
-
return this.container;
|
|
73
|
-
};
|
|
74
|
-
return Item;
|
|
75
|
-
}());
|
|
76
|
-
export { Item };
|
|
1
|
+
var Item = /** @class */ (function () {
|
|
2
|
+
function Item($index, data, routines) {
|
|
3
|
+
this.container = {
|
|
4
|
+
$index: $index,
|
|
5
|
+
data: data
|
|
6
|
+
};
|
|
7
|
+
this.nodeId = String($index);
|
|
8
|
+
this.routines = routines;
|
|
9
|
+
this.invisible = true;
|
|
10
|
+
this.toRemove = false;
|
|
11
|
+
this.toInsert = false;
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(Item.prototype, "$index", {
|
|
14
|
+
get: function () {
|
|
15
|
+
return this.container.$index;
|
|
16
|
+
},
|
|
17
|
+
set: function (value) {
|
|
18
|
+
this.container.$index = value;
|
|
19
|
+
},
|
|
20
|
+
enumerable: false,
|
|
21
|
+
configurable: true
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(Item.prototype, "data", {
|
|
24
|
+
get: function () {
|
|
25
|
+
return this.container.data;
|
|
26
|
+
},
|
|
27
|
+
set: function (value) {
|
|
28
|
+
this.container.data = value;
|
|
29
|
+
},
|
|
30
|
+
enumerable: false,
|
|
31
|
+
configurable: true
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(Item.prototype, "element", {
|
|
34
|
+
get: function () {
|
|
35
|
+
return this.container.element;
|
|
36
|
+
},
|
|
37
|
+
set: function (value) {
|
|
38
|
+
this.container.element = value;
|
|
39
|
+
},
|
|
40
|
+
enumerable: false,
|
|
41
|
+
configurable: true
|
|
42
|
+
});
|
|
43
|
+
Item.prototype.dispose = function () {
|
|
44
|
+
delete this.container.element;
|
|
45
|
+
};
|
|
46
|
+
Item.prototype.setSize = function (preSize) {
|
|
47
|
+
if (preSize === void 0) { preSize = 0; }
|
|
48
|
+
this.preSize = preSize;
|
|
49
|
+
if (this.element) {
|
|
50
|
+
this.size = this.routines.getSize(this.element);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
Item.prototype.makeVisible = function () {
|
|
54
|
+
this.routines.makeElementVisible(this.element);
|
|
55
|
+
this.invisible = false;
|
|
56
|
+
};
|
|
57
|
+
Item.prototype.hide = function () {
|
|
58
|
+
if (this.element) {
|
|
59
|
+
this.routines.hideElement(this.element);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
Item.prototype.scrollTo = function (argument) {
|
|
63
|
+
if (this.element) {
|
|
64
|
+
this.routines.scrollTo(this.element, argument);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
Item.prototype.updateIndex = function (index) {
|
|
68
|
+
this.$index = index;
|
|
69
|
+
this.nodeId = String(index);
|
|
70
|
+
};
|
|
71
|
+
Item.prototype.get = function () {
|
|
72
|
+
return this.container;
|
|
73
|
+
};
|
|
74
|
+
return Item;
|
|
75
|
+
}());
|
|
76
|
+
export { Item };
|
|
77
77
|
//# sourceMappingURL=item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/classes/item.ts"],"names":[],"mappings":"AAIA;IAiCE,cAAY,MAAc,EAAE,IAAU,EAAE,QAAkB;QACxD,IAAI,CAAC,SAAS,GAAG;YACf,MAAM,QAAA;YACN,IAAI,MAAA;SACL,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IA/BD,sBAAI,wBAAM;aAAV;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/B,CAAC;aACD,UAAW,KAAa;YACtB,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;QAChC,CAAC;;;OAHA;IAKD,sBAAI,sBAAI;aAAR;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC7B,CAAC;aACD,UAAS,KAAW;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC;QAC9B,CAAC;;;OAHA;IAKD,sBAAI,yBAAO;aAAX;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAsB,CAAC;QAC/C,CAAC;aACD,UAAY,KAAkB;YAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,CAAC;;;OAHA;IAiBD,sBAAO,GAAP;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,sBAAO,GAAP,UAAQ,OAAW;QAAX,wBAAA,EAAA,WAAW;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjD;IACH,CAAC;IAED,0BAAW,GAAX;QACE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,mBAAI,GAAJ;QACE,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzC;IACH,CAAC;IAED,uBAAQ,GAAR,UAAS,QAA0C;QACjD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SAChD;IACH,CAAC;IAED,0BAAW,GAAX,UAAY,KAAa;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,kBAAG,GAAH;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACH,WAAC;AAAD,CAAC,AAjFD,IAiFC","sourcesContent":["import { Routines } from './domRoutines';\nimport { Direction } from '../inputs/index';\nimport { Item as _Item, ItemAdapter } from '../interfaces/index';\n\nexport class Item<Data = unknown> implements _Item<Data> {\n nodeId: string;\n routines: Routines;\n preSize: number; // estimated size\n size: number; // real size\n invisible: boolean;\n toRemove: boolean;\n toInsert: boolean;\n removeDirection: Direction;\n\n private container: ItemAdapter<Data>;\n\n get $index(): number {\n return this.container.$index;\n }\n set $index(value: number) {\n this.container.$index = value;\n }\n\n get data(): Data {\n return this.container.data;\n }\n set data(value: Data) {\n this.container.data = value;\n }\n\n get element(): HTMLElement {\n return this.container.element as HTMLElement;\n }\n set element(value: HTMLElement) {\n this.container.element = value;\n }\n\n constructor($index: number, data: Data, routines: Routines) {\n this.container = {\n $index,\n data\n };\n this.nodeId = String($index);\n this.routines = routines;\n this.invisible = true;\n this.toRemove = false;\n this.toInsert = false;\n }\n\n dispose(): void {\n delete this.container.element;\n }\n\n setSize(preSize = 0): void {\n this.preSize = preSize;\n if (this.element) {\n this.size = this.routines.getSize(this.element);\n }\n }\n\n makeVisible(): void {\n this.routines.makeElementVisible(this.element);\n this.invisible = false;\n }\n\n hide(): void {\n if (this.element) {\n this.routines.hideElement(this.element);\n }\n }\n\n scrollTo(argument?: boolean | ScrollIntoViewOptions): void {\n if (this.element) {\n this.routines.scrollTo(this.element, argument);\n }\n }\n\n updateIndex(index: number): void {\n this.$index = index;\n this.nodeId = String(index);\n }\n\n get(): ItemAdapter<Data> {\n return this.container;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/classes/item.ts"],"names":[],"mappings":"AAIA;IAiCE,cAAY,MAAc,EAAE,IAAU,EAAE,QAAkB;QACxD,IAAI,CAAC,SAAS,GAAG;YACf,MAAM,QAAA;YACN,IAAI,MAAA;SACL,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IA/BD,sBAAI,wBAAM;aAAV;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/B,CAAC;aACD,UAAW,KAAa;YACtB,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;QAChC,CAAC;;;OAHA;IAKD,sBAAI,sBAAI;aAAR;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC7B,CAAC;aACD,UAAS,KAAW;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC;QAC9B,CAAC;;;OAHA;IAKD,sBAAI,yBAAO;aAAX;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAsB,CAAC;QAC/C,CAAC;aACD,UAAY,KAAkB;YAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,CAAC;;;OAHA;IAiBD,sBAAO,GAAP;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,sBAAO,GAAP,UAAQ,OAAW;QAAX,wBAAA,EAAA,WAAW;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjD;IACH,CAAC;IAED,0BAAW,GAAX;QACE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,mBAAI,GAAJ;QACE,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzC;IACH,CAAC;IAED,uBAAQ,GAAR,UAAS,QAA0C;QACjD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SAChD;IACH,CAAC;IAED,0BAAW,GAAX,UAAY,KAAa;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,kBAAG,GAAH;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACH,WAAC;AAAD,CAAC,AAjFD,IAiFC","sourcesContent":["import { Routines } from './domRoutines';\r\nimport { Direction } from '../inputs/index';\r\nimport { Item as _Item, ItemAdapter } from '../interfaces/index';\r\n\r\nexport class Item<Data = unknown> implements _Item<Data> {\r\n nodeId: string;\r\n routines: Routines;\r\n preSize: number; // estimated size\r\n size: number; // real size\r\n invisible: boolean;\r\n toRemove: boolean;\r\n toInsert: boolean;\r\n removeDirection: Direction;\r\n\r\n private container: ItemAdapter<Data>;\r\n\r\n get $index(): number {\r\n return this.container.$index;\r\n }\r\n set $index(value: number) {\r\n this.container.$index = value;\r\n }\r\n\r\n get data(): Data {\r\n return this.container.data;\r\n }\r\n set data(value: Data) {\r\n this.container.data = value;\r\n }\r\n\r\n get element(): HTMLElement {\r\n return this.container.element as HTMLElement;\r\n }\r\n set element(value: HTMLElement) {\r\n this.container.element = value;\r\n }\r\n\r\n constructor($index: number, data: Data, routines: Routines) {\r\n this.container = {\r\n $index,\r\n data\r\n };\r\n this.nodeId = String($index);\r\n this.routines = routines;\r\n this.invisible = true;\r\n this.toRemove = false;\r\n this.toInsert = false;\r\n }\r\n\r\n dispose(): void {\r\n delete this.container.element;\r\n }\r\n\r\n setSize(preSize = 0): void {\r\n this.preSize = preSize;\r\n if (this.element) {\r\n this.size = this.routines.getSize(this.element);\r\n }\r\n }\r\n\r\n makeVisible(): void {\r\n this.routines.makeElementVisible(this.element);\r\n this.invisible = false;\r\n }\r\n\r\n hide(): void {\r\n if (this.element) {\r\n this.routines.hideElement(this.element);\r\n }\r\n }\r\n\r\n scrollTo(argument?: boolean | ScrollIntoViewOptions): void {\r\n if (this.element) {\r\n this.routines.scrollTo(this.element, argument);\r\n }\r\n }\r\n\r\n updateIndex(index: number): void {\r\n this.$index = index;\r\n this.nodeId = String(index);\r\n }\r\n\r\n get(): ItemAdapter<Data> {\r\n return this.container;\r\n }\r\n}\r\n"]}
|