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":"update.js","sourceRoot":"","sources":["../../../../src/processes/adapter/update.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scroller } from '../../scroller';\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\nimport { Item } from '../../classes/item';\nimport { Direction } from '../../inputs/index';\nimport { AdapterUpdateOptions } from '../../interfaces/index';\n\nexport default class Update extends BaseAdapterProcessFactory(AdapterProcess.update) {\n\n static run(scroller: Scroller, options: AdapterUpdateOptions): void {\n const { params } = Update.parseInput(scroller, options);\n if (!params) {\n return;\n }\n\n const shouldUpdate = Update.doUpdate(scroller, params);\n\n scroller.workflow.call({\n process: Update.process,\n status: shouldUpdate ? ProcessStatus.next : ProcessStatus.done\n });\n }\n\n static doUpdate(scroller: Scroller, params: AdapterUpdateOptions): boolean {\n const { buffer, viewport, state: { fetch }, routines, logger } = scroller;\n if (!buffer.items) {\n logger.log(() => 'no items in Buffer');\n return false;\n }\n const { item: firstItem, index: firstIndex, diff: firstItemDiff } =\n viewport.getEdgeVisibleItem(buffer.items, Direction.backward);\n\n const { trackedIndex, toRemove } = buffer.updateItems(\n params.predicate,\n (index, data) => new Item(index, data, routines),\n firstIndex,\n !!params.fixRight\n );\n\n let delta = 0;\n const trackedItem = buffer.get(trackedIndex);\n if (firstItem && firstItem === trackedItem) {\n delta = - buffer.getSizeByIndex(trackedIndex) + firstItemDiff;\n }\n\n toRemove.forEach(item => item.hide());\n logger.log(() => toRemove.length\n ? 'items to remove: [' + toRemove.map(({ $index }) => $index).join(',') + ']'\n : 'no items to remove'\n );\n if (toRemove.length) { // insertions will be processed on render\n buffer.checkDefaultSize();\n }\n\n const toRender = buffer.items.filter(({ toInsert }) => toInsert);\n logger.log(() => toRender.length\n ? 'items to render: [' + toRender.map(({ $index }) => $index).join(',') + ']'\n : 'no items to render'\n );\n\n fetch.update(trackedIndex, delta, toRender, toRemove);\n return !!toRemove.length || !!toRender.length;\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/processes/adapter/update.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scroller } from '../../scroller';\r\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\r\nimport { Item } from '../../classes/item';\r\nimport { Direction } from '../../inputs/index';\r\nimport { AdapterUpdateOptions } from '../../interfaces/index';\r\n\r\nexport default class Update extends BaseAdapterProcessFactory(AdapterProcess.update) {\r\n\r\n static run(scroller: Scroller, options: AdapterUpdateOptions): void {\r\n const { params } = Update.parseInput(scroller, options);\r\n if (!params) {\r\n return;\r\n }\r\n\r\n const shouldUpdate = Update.doUpdate(scroller, params);\r\n\r\n scroller.workflow.call({\r\n process: Update.process,\r\n status: shouldUpdate ? ProcessStatus.next : ProcessStatus.done\r\n });\r\n }\r\n\r\n static doUpdate(scroller: Scroller, params: AdapterUpdateOptions): boolean {\r\n const { buffer, viewport, state: { fetch }, routines, logger } = scroller;\r\n if (!buffer.items) {\r\n logger.log(() => 'no items in Buffer');\r\n return false;\r\n }\r\n const { item: firstItem, index: firstIndex, diff: firstItemDiff } =\r\n viewport.getEdgeVisibleItem(buffer.items, Direction.backward);\r\n\r\n const { trackedIndex, toRemove } = buffer.updateItems(\r\n params.predicate,\r\n (index, data) => new Item(index, data, routines),\r\n firstIndex,\r\n !!params.fixRight\r\n );\r\n\r\n let delta = 0;\r\n const trackedItem = buffer.get(trackedIndex);\r\n if (firstItem && firstItem === trackedItem) {\r\n delta = - buffer.getSizeByIndex(trackedIndex) + firstItemDiff;\r\n }\r\n\r\n toRemove.forEach(item => item.hide());\r\n logger.log(() => toRemove.length\r\n ? 'items to remove: [' + toRemove.map(({ $index }) => $index).join(',') + ']'\r\n : 'no items to remove'\r\n );\r\n if (toRemove.length) { // insertions will be processed on render\r\n buffer.checkDefaultSize();\r\n }\r\n\r\n const toRender = buffer.items.filter(({ toInsert }) => toInsert);\r\n logger.log(() => toRender.length\r\n ? 'items to render: [' + toRender.map(({ $index }) => $index).join(',') + ']'\r\n : 'no items to render'\r\n );\r\n\r\n fetch.update(trackedIndex, delta, toRender, toRemove);\r\n return !!toRemove.length || !!toRender.length;\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -1,153 +1,153 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
3
|
-
import End from './end';
|
|
4
|
-
var Adjust = /** @class */ (function (_super) {
|
|
5
|
-
__extends(Adjust, _super);
|
|
6
|
-
function Adjust() {
|
|
7
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
8
|
-
}
|
|
9
|
-
Adjust.run = function (scroller) {
|
|
10
|
-
var workflow = scroller.workflow, viewport = scroller.viewport, scroll = scroller.state.scroll;
|
|
11
|
-
scroll.positionBeforeAdjust = viewport.scrollPosition;
|
|
12
|
-
Adjust.setPaddings(scroller);
|
|
13
|
-
scroll.positionAfterAdjust = viewport.scrollPosition;
|
|
14
|
-
// scroll position adjustments
|
|
15
|
-
var position = Adjust.calculatePosition(scroller);
|
|
16
|
-
// additional adjustment if the position can't be reached during the initial cycle
|
|
17
|
-
Adjust.setAdditionalForwardPadding(scroller, position);
|
|
18
|
-
// set new position using animation frame
|
|
19
|
-
Adjust.setPosition(scroller, position, function () {
|
|
20
|
-
return workflow.call({
|
|
21
|
-
process: Adjust.process,
|
|
22
|
-
status: ProcessStatus.done
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
Adjust.setPaddings = function (scroller) {
|
|
27
|
-
var viewport = scroller.viewport, buffer = scroller.buffer, inverse = scroller.settings.inverse, fetch = scroller.state.fetch;
|
|
28
|
-
var firstItem = buffer.getFirstVisibleItem();
|
|
29
|
-
var lastItem = buffer.getLastVisibleItem();
|
|
30
|
-
var first, last;
|
|
31
|
-
if (firstItem && lastItem) {
|
|
32
|
-
first = firstItem.$index;
|
|
33
|
-
last = lastItem.$index;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
first = !isNaN(fetch.firstVisible.index) ? fetch.firstVisible.index : buffer.startIndex;
|
|
37
|
-
last = first - 1;
|
|
38
|
-
}
|
|
39
|
-
var _a = viewport.paddings, forward = _a.forward, backward = _a.backward;
|
|
40
|
-
var index, bwdSize = 0, fwdSize = 0;
|
|
41
|
-
// new backward and forward paddings size
|
|
42
|
-
for (index = buffer.finiteAbsMinIndex; index < first; index++) {
|
|
43
|
-
bwdSize += buffer.getSizeByIndex(index);
|
|
44
|
-
}
|
|
45
|
-
for (index = last + 1; index <= buffer.finiteAbsMaxIndex; index++) {
|
|
46
|
-
fwdSize += buffer.getSizeByIndex(index);
|
|
47
|
-
}
|
|
48
|
-
// lack of items case
|
|
49
|
-
var bufferSize = viewport.getScrollableSize() - forward.size - backward.size;
|
|
50
|
-
var scrollSize = bwdSize + bufferSize + fwdSize;
|
|
51
|
-
var viewportSizeDiff = viewport.getSize() - scrollSize;
|
|
52
|
-
if (viewportSizeDiff > 0) {
|
|
53
|
-
if (inverse) {
|
|
54
|
-
bwdSize += viewportSizeDiff;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
fwdSize += viewportSizeDiff;
|
|
58
|
-
}
|
|
59
|
-
scroller.logger.log(function () {
|
|
60
|
-
return inverse ? 'backward' : 'forward' + " padding will be increased by ".concat(viewportSizeDiff, " to fill the viewport");
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
backward.size = bwdSize;
|
|
64
|
-
forward.size = fwdSize;
|
|
65
|
-
scroller.logger.stat('after paddings adjustments');
|
|
66
|
-
};
|
|
67
|
-
Adjust.calculatePosition = function (scroller) {
|
|
68
|
-
var viewport = scroller.viewport, buffer = scroller.buffer, _a = scroller.state, fetch = _a.fetch, render = _a.render, scroll = _a.scroll;
|
|
69
|
-
var position = viewport.paddings.backward.size;
|
|
70
|
-
// increase the position to meet the expectation of the first visible item
|
|
71
|
-
if (!isNaN(fetch.firstVisible.index) && !isNaN(buffer.firstIndex)) {
|
|
72
|
-
scroller.logger.log("first index = ".concat(fetch.firstVisible.index, ", delta = ").concat(fetch.firstVisible.delta));
|
|
73
|
-
var shouldCheckPreSizeExpectation_1 = fetch.shouldCheckPreSizeExpectation(buffer.lastIndex);
|
|
74
|
-
buffer.items.forEach(function (item) {
|
|
75
|
-
// 1) shift of the buffered items before the first visible item
|
|
76
|
-
if (item.$index < fetch.firstVisible.index) {
|
|
77
|
-
position += item.size;
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
// 2) delta of the first visible item
|
|
81
|
-
if (item.$index === fetch.firstVisible.index && fetch.firstVisible.delta) {
|
|
82
|
-
position -= fetch.firstVisible.delta;
|
|
83
|
-
}
|
|
84
|
-
// 3) difference between expected and real sizes of fetched items after the first visible
|
|
85
|
-
if (shouldCheckPreSizeExpectation_1 && item.preSize && fetch.items.includes(item)) {
|
|
86
|
-
position += item.size - item.preSize;
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
// slow fetch/render case
|
|
91
|
-
if (scroll.positionBeforeAsync !== null) {
|
|
92
|
-
var diff = render.positionBefore - scroll.positionBeforeAsync;
|
|
93
|
-
if (diff !== 0) {
|
|
94
|
-
scroller.logger.log("shift position due to fetch-render difference (".concat(diff, ")"));
|
|
95
|
-
position += diff;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
// increase the position due to viewport's offset
|
|
99
|
-
if (viewport.offset > 0 && (position || fetch.positions.before)) {
|
|
100
|
-
position += viewport.offset;
|
|
101
|
-
}
|
|
102
|
-
return Math.round(position);
|
|
103
|
-
};
|
|
104
|
-
Adjust.setAdditionalForwardPadding = function (scroller, position) {
|
|
105
|
-
var viewport = scroller.viewport, buffer = scroller.buffer, cycle = scroller.state.cycle;
|
|
106
|
-
if (!cycle.isInitial || !End.shouldContinueRun(scroller, null)) {
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
var diff = position - viewport.getMaxScrollPosition();
|
|
110
|
-
if (diff <= 0) {
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
var last = buffer.getLastVisibleItem();
|
|
114
|
-
if (!last) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
var size = 0;
|
|
118
|
-
var index = last.$index + 1;
|
|
119
|
-
while (size <= diff && index <= buffer.absMaxIndex) {
|
|
120
|
-
size += buffer.getSizeByIndex(index++);
|
|
121
|
-
}
|
|
122
|
-
var shift = Math.min(size, diff);
|
|
123
|
-
if (shift) {
|
|
124
|
-
viewport.paddings.forward.size += shift;
|
|
125
|
-
scroller.logger.log("increase fwd padding due to lack of items (".concat(diff, " -> ").concat(shift, ")"));
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
Adjust.setPosition = function (scroller, position, done) {
|
|
129
|
-
var scroll = scroller.state.scroll, viewport = scroller.viewport, routines = scroller.routines;
|
|
130
|
-
if (!scroll.hasPositionChanged(position)) {
|
|
131
|
-
return done();
|
|
132
|
-
}
|
|
133
|
-
scroll.syntheticPosition = position;
|
|
134
|
-
scroll.syntheticFulfill = false;
|
|
135
|
-
scroll.cancelAnimation = routines.animate(function () {
|
|
136
|
-
scroll.cancelAnimation = null;
|
|
137
|
-
var inertiaDiff = scroll.positionAfterAdjust - viewport.scrollPosition;
|
|
138
|
-
var diffLog = '';
|
|
139
|
-
if (inertiaDiff > 0) {
|
|
140
|
-
position -= inertiaDiff;
|
|
141
|
-
scroll.syntheticPosition = position;
|
|
142
|
-
diffLog = " (-".concat(inertiaDiff, ")");
|
|
143
|
-
}
|
|
144
|
-
scroll.syntheticFulfill = true;
|
|
145
|
-
viewport.scrollPosition = position;
|
|
146
|
-
scroller.logger.stat('after scroll adjustment' + diffLog);
|
|
147
|
-
done();
|
|
148
|
-
});
|
|
149
|
-
};
|
|
150
|
-
return Adjust;
|
|
151
|
-
}(BaseProcessFactory(CommonProcess.adjust)));
|
|
152
|
-
export default Adjust;
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
3
|
+
import End from './end';
|
|
4
|
+
var Adjust = /** @class */ (function (_super) {
|
|
5
|
+
__extends(Adjust, _super);
|
|
6
|
+
function Adjust() {
|
|
7
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
8
|
+
}
|
|
9
|
+
Adjust.run = function (scroller) {
|
|
10
|
+
var workflow = scroller.workflow, viewport = scroller.viewport, scroll = scroller.state.scroll;
|
|
11
|
+
scroll.positionBeforeAdjust = viewport.scrollPosition;
|
|
12
|
+
Adjust.setPaddings(scroller);
|
|
13
|
+
scroll.positionAfterAdjust = viewport.scrollPosition;
|
|
14
|
+
// scroll position adjustments
|
|
15
|
+
var position = Adjust.calculatePosition(scroller);
|
|
16
|
+
// additional adjustment if the position can't be reached during the initial cycle
|
|
17
|
+
Adjust.setAdditionalForwardPadding(scroller, position);
|
|
18
|
+
// set new position using animation frame
|
|
19
|
+
Adjust.setPosition(scroller, position, function () {
|
|
20
|
+
return workflow.call({
|
|
21
|
+
process: Adjust.process,
|
|
22
|
+
status: ProcessStatus.done
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
Adjust.setPaddings = function (scroller) {
|
|
27
|
+
var viewport = scroller.viewport, buffer = scroller.buffer, inverse = scroller.settings.inverse, fetch = scroller.state.fetch;
|
|
28
|
+
var firstItem = buffer.getFirstVisibleItem();
|
|
29
|
+
var lastItem = buffer.getLastVisibleItem();
|
|
30
|
+
var first, last;
|
|
31
|
+
if (firstItem && lastItem) {
|
|
32
|
+
first = firstItem.$index;
|
|
33
|
+
last = lastItem.$index;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
first = !isNaN(fetch.firstVisible.index) ? fetch.firstVisible.index : buffer.startIndex;
|
|
37
|
+
last = first - 1;
|
|
38
|
+
}
|
|
39
|
+
var _a = viewport.paddings, forward = _a.forward, backward = _a.backward;
|
|
40
|
+
var index, bwdSize = 0, fwdSize = 0;
|
|
41
|
+
// new backward and forward paddings size
|
|
42
|
+
for (index = buffer.finiteAbsMinIndex; index < first; index++) {
|
|
43
|
+
bwdSize += buffer.getSizeByIndex(index);
|
|
44
|
+
}
|
|
45
|
+
for (index = last + 1; index <= buffer.finiteAbsMaxIndex; index++) {
|
|
46
|
+
fwdSize += buffer.getSizeByIndex(index);
|
|
47
|
+
}
|
|
48
|
+
// lack of items case
|
|
49
|
+
var bufferSize = viewport.getScrollableSize() - forward.size - backward.size;
|
|
50
|
+
var scrollSize = bwdSize + bufferSize + fwdSize;
|
|
51
|
+
var viewportSizeDiff = viewport.getSize() - scrollSize;
|
|
52
|
+
if (viewportSizeDiff > 0) {
|
|
53
|
+
if (inverse) {
|
|
54
|
+
bwdSize += viewportSizeDiff;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
fwdSize += viewportSizeDiff;
|
|
58
|
+
}
|
|
59
|
+
scroller.logger.log(function () {
|
|
60
|
+
return inverse ? 'backward' : 'forward' + " padding will be increased by ".concat(viewportSizeDiff, " to fill the viewport");
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
backward.size = bwdSize;
|
|
64
|
+
forward.size = fwdSize;
|
|
65
|
+
scroller.logger.stat('after paddings adjustments');
|
|
66
|
+
};
|
|
67
|
+
Adjust.calculatePosition = function (scroller) {
|
|
68
|
+
var viewport = scroller.viewport, buffer = scroller.buffer, _a = scroller.state, fetch = _a.fetch, render = _a.render, scroll = _a.scroll;
|
|
69
|
+
var position = viewport.paddings.backward.size;
|
|
70
|
+
// increase the position to meet the expectation of the first visible item
|
|
71
|
+
if (!isNaN(fetch.firstVisible.index) && !isNaN(buffer.firstIndex)) {
|
|
72
|
+
scroller.logger.log("first index = ".concat(fetch.firstVisible.index, ", delta = ").concat(fetch.firstVisible.delta));
|
|
73
|
+
var shouldCheckPreSizeExpectation_1 = fetch.shouldCheckPreSizeExpectation(buffer.lastIndex);
|
|
74
|
+
buffer.items.forEach(function (item) {
|
|
75
|
+
// 1) shift of the buffered items before the first visible item
|
|
76
|
+
if (item.$index < fetch.firstVisible.index) {
|
|
77
|
+
position += item.size;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
// 2) delta of the first visible item
|
|
81
|
+
if (item.$index === fetch.firstVisible.index && fetch.firstVisible.delta) {
|
|
82
|
+
position -= fetch.firstVisible.delta;
|
|
83
|
+
}
|
|
84
|
+
// 3) difference between expected and real sizes of fetched items after the first visible
|
|
85
|
+
if (shouldCheckPreSizeExpectation_1 && item.preSize && fetch.items.includes(item)) {
|
|
86
|
+
position += item.size - item.preSize;
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
// slow fetch/render case
|
|
91
|
+
if (scroll.positionBeforeAsync !== null) {
|
|
92
|
+
var diff = render.positionBefore - scroll.positionBeforeAsync;
|
|
93
|
+
if (diff !== 0) {
|
|
94
|
+
scroller.logger.log("shift position due to fetch-render difference (".concat(diff, ")"));
|
|
95
|
+
position += diff;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// increase the position due to viewport's offset
|
|
99
|
+
if (viewport.offset > 0 && (position || fetch.positions.before)) {
|
|
100
|
+
position += viewport.offset;
|
|
101
|
+
}
|
|
102
|
+
return Math.round(position);
|
|
103
|
+
};
|
|
104
|
+
Adjust.setAdditionalForwardPadding = function (scroller, position) {
|
|
105
|
+
var viewport = scroller.viewport, buffer = scroller.buffer, cycle = scroller.state.cycle;
|
|
106
|
+
if (!cycle.isInitial || !End.shouldContinueRun(scroller, null)) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
var diff = position - viewport.getMaxScrollPosition();
|
|
110
|
+
if (diff <= 0) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
var last = buffer.getLastVisibleItem();
|
|
114
|
+
if (!last) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
var size = 0;
|
|
118
|
+
var index = last.$index + 1;
|
|
119
|
+
while (size <= diff && index <= buffer.absMaxIndex) {
|
|
120
|
+
size += buffer.getSizeByIndex(index++);
|
|
121
|
+
}
|
|
122
|
+
var shift = Math.min(size, diff);
|
|
123
|
+
if (shift) {
|
|
124
|
+
viewport.paddings.forward.size += shift;
|
|
125
|
+
scroller.logger.log("increase fwd padding due to lack of items (".concat(diff, " -> ").concat(shift, ")"));
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
Adjust.setPosition = function (scroller, position, done) {
|
|
129
|
+
var scroll = scroller.state.scroll, viewport = scroller.viewport, routines = scroller.routines;
|
|
130
|
+
if (!scroll.hasPositionChanged(position)) {
|
|
131
|
+
return done();
|
|
132
|
+
}
|
|
133
|
+
scroll.syntheticPosition = position;
|
|
134
|
+
scroll.syntheticFulfill = false;
|
|
135
|
+
scroll.cancelAnimation = routines.animate(function () {
|
|
136
|
+
scroll.cancelAnimation = null;
|
|
137
|
+
var inertiaDiff = scroll.positionAfterAdjust - viewport.scrollPosition;
|
|
138
|
+
var diffLog = '';
|
|
139
|
+
if (inertiaDiff > 0) {
|
|
140
|
+
position -= inertiaDiff;
|
|
141
|
+
scroll.syntheticPosition = position;
|
|
142
|
+
diffLog = " (-".concat(inertiaDiff, ")");
|
|
143
|
+
}
|
|
144
|
+
scroll.syntheticFulfill = true;
|
|
145
|
+
viewport.scrollPosition = position;
|
|
146
|
+
scroller.logger.stat('after scroll adjustment' + diffLog);
|
|
147
|
+
done();
|
|
148
|
+
});
|
|
149
|
+
};
|
|
150
|
+
return Adjust;
|
|
151
|
+
}(BaseProcessFactory(CommonProcess.adjust)));
|
|
152
|
+
export default Adjust;
|
|
153
153
|
//# sourceMappingURL=adjust.js.map
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
3
|
-
import { Direction } from '../inputs/index';
|
|
4
|
-
var Clip = /** @class */ (function (_super) {
|
|
5
|
-
__extends(Clip, _super);
|
|
6
|
-
function Clip() {
|
|
7
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
8
|
-
}
|
|
9
|
-
Clip.run = function (scroller) {
|
|
10
|
-
var workflow = scroller.workflow;
|
|
11
|
-
Clip.doClip(scroller);
|
|
12
|
-
workflow.call({
|
|
13
|
-
process: Clip.process,
|
|
14
|
-
status: ProcessStatus.next
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
Clip.doClip = function (scroller) {
|
|
18
|
-
var _a;
|
|
19
|
-
var buffer = scroller.buffer, paddings = scroller.viewport.paddings, clip = scroller.state.clip, logger = scroller.logger;
|
|
20
|
-
var size = (_a = {}, _a[Direction.backward] = 0, _a[Direction.forward] = 0, _a);
|
|
21
|
-
logger.stat("before clip (".concat(++clip.callCount, ")"));
|
|
22
|
-
var itemsToRemove = buffer.items.filter(function (item) {
|
|
23
|
-
if (!item.toRemove) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
item.hide();
|
|
27
|
-
size[item.removeDirection] += item.size;
|
|
28
|
-
return true;
|
|
29
|
-
});
|
|
30
|
-
if (itemsToRemove.length) {
|
|
31
|
-
if (size[Direction.backward]) {
|
|
32
|
-
paddings.byDirection(Direction.backward).size += size[Direction.backward];
|
|
33
|
-
}
|
|
34
|
-
if (size[Direction.forward]) {
|
|
35
|
-
paddings.byDirection(Direction.forward).size += size[Direction.forward];
|
|
36
|
-
}
|
|
37
|
-
if (scroller.settings.onBeforeClip) {
|
|
38
|
-
scroller.settings.onBeforeClip(itemsToRemove.map(function (item) { return item.get(); }));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
buffer.clip();
|
|
42
|
-
logger.log(function () {
|
|
43
|
-
var list = itemsToRemove.map(function (_a) {
|
|
44
|
-
var $index = _a.$index;
|
|
45
|
-
return $index;
|
|
46
|
-
});
|
|
47
|
-
return list.length
|
|
48
|
-
? [
|
|
49
|
-
"clipped ".concat(list.length, " item(s) from Buffer") +
|
|
50
|
-
(size.backward ? ", +".concat(size.backward, " fwd px") : '') +
|
|
51
|
-
(size.forward ? ", +".concat(size.forward, " bwd px") : '') +
|
|
52
|
-
", range: [".concat(list[0], "..").concat(list[list.length - 1], "]")
|
|
53
|
-
]
|
|
54
|
-
: 'clipped 0 items from Buffer';
|
|
55
|
-
});
|
|
56
|
-
logger.stat('after clip');
|
|
57
|
-
};
|
|
58
|
-
return Clip;
|
|
59
|
-
}(BaseProcessFactory(CommonProcess.clip)));
|
|
60
|
-
export default Clip;
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
3
|
+
import { Direction } from '../inputs/index';
|
|
4
|
+
var Clip = /** @class */ (function (_super) {
|
|
5
|
+
__extends(Clip, _super);
|
|
6
|
+
function Clip() {
|
|
7
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
8
|
+
}
|
|
9
|
+
Clip.run = function (scroller) {
|
|
10
|
+
var workflow = scroller.workflow;
|
|
11
|
+
Clip.doClip(scroller);
|
|
12
|
+
workflow.call({
|
|
13
|
+
process: Clip.process,
|
|
14
|
+
status: ProcessStatus.next
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
Clip.doClip = function (scroller) {
|
|
18
|
+
var _a;
|
|
19
|
+
var buffer = scroller.buffer, paddings = scroller.viewport.paddings, clip = scroller.state.clip, logger = scroller.logger;
|
|
20
|
+
var size = (_a = {}, _a[Direction.backward] = 0, _a[Direction.forward] = 0, _a);
|
|
21
|
+
logger.stat("before clip (".concat(++clip.callCount, ")"));
|
|
22
|
+
var itemsToRemove = buffer.items.filter(function (item) {
|
|
23
|
+
if (!item.toRemove) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
item.hide();
|
|
27
|
+
size[item.removeDirection] += item.size;
|
|
28
|
+
return true;
|
|
29
|
+
});
|
|
30
|
+
if (itemsToRemove.length) {
|
|
31
|
+
if (size[Direction.backward]) {
|
|
32
|
+
paddings.byDirection(Direction.backward).size += size[Direction.backward];
|
|
33
|
+
}
|
|
34
|
+
if (size[Direction.forward]) {
|
|
35
|
+
paddings.byDirection(Direction.forward).size += size[Direction.forward];
|
|
36
|
+
}
|
|
37
|
+
if (scroller.settings.onBeforeClip) {
|
|
38
|
+
scroller.settings.onBeforeClip(itemsToRemove.map(function (item) { return item.get(); }));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
buffer.clip();
|
|
42
|
+
logger.log(function () {
|
|
43
|
+
var list = itemsToRemove.map(function (_a) {
|
|
44
|
+
var $index = _a.$index;
|
|
45
|
+
return $index;
|
|
46
|
+
});
|
|
47
|
+
return list.length
|
|
48
|
+
? [
|
|
49
|
+
"clipped ".concat(list.length, " item(s) from Buffer") +
|
|
50
|
+
(size.backward ? ", +".concat(size.backward, " fwd px") : '') +
|
|
51
|
+
(size.forward ? ", +".concat(size.forward, " bwd px") : '') +
|
|
52
|
+
", range: [".concat(list[0], "..").concat(list[list.length - 1], "]")
|
|
53
|
+
]
|
|
54
|
+
: 'clipped 0 items from Buffer';
|
|
55
|
+
});
|
|
56
|
+
logger.stat('after clip');
|
|
57
|
+
};
|
|
58
|
+
return Clip;
|
|
59
|
+
}(BaseProcessFactory(CommonProcess.clip)));
|
|
60
|
+
export default Clip;
|
|
61
61
|
//# sourceMappingURL=clip.js.map
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
import { __assign, __extends } from "tslib";
|
|
2
|
-
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
3
|
-
var isInterrupted = function (_a) {
|
|
4
|
-
var call = _a.call;
|
|
5
|
-
return !!call.interrupted;
|
|
6
|
-
};
|
|
7
|
-
var End = /** @class */ (function (_super) {
|
|
8
|
-
__extends(End, _super);
|
|
9
|
-
function End() {
|
|
10
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
11
|
-
}
|
|
12
|
-
End.run = function (scroller, _a) {
|
|
13
|
-
var _b = _a === void 0 ? {} : _a, error = _b.error;
|
|
14
|
-
var workflow = scroller.workflow, interrupter = scroller.state.cycle.interrupter;
|
|
15
|
-
if (!error && !interrupter) {
|
|
16
|
-
// set out params accessible via Adapter
|
|
17
|
-
End.calculateParams(scroller);
|
|
18
|
-
}
|
|
19
|
-
// explicit interruption for we don't want to go through the inner loop finalizing
|
|
20
|
-
if (isInterrupted(workflow)) {
|
|
21
|
-
workflow.call({ process: End.process, status: ProcessStatus.done });
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
var next = End.shouldContinueRun(scroller, error);
|
|
25
|
-
scroller.state.endInnerLoop();
|
|
26
|
-
workflow.call({
|
|
27
|
-
process: End.process,
|
|
28
|
-
status: next ? ProcessStatus.next : ProcessStatus.done,
|
|
29
|
-
payload: __assign({}, (interrupter ? { process: interrupter } : {}))
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
End.calculateParams = function (scroller) {
|
|
33
|
-
var adapter = scroller.adapter, workflow = scroller.workflow;
|
|
34
|
-
adapter.setFirstOrLastVisible({ first: true, workflow: workflow });
|
|
35
|
-
adapter.setFirstOrLastVisible({ last: true, workflow: workflow });
|
|
36
|
-
};
|
|
37
|
-
End.shouldContinueRun = function (scroller, error) {
|
|
38
|
-
var _a = scroller.state, cycle = _a.cycle, fetch = _a.fetch, render = _a.render;
|
|
39
|
-
// Adapter.reload or Adapter.reset
|
|
40
|
-
if (cycle.interrupter) {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
// critical error
|
|
44
|
-
if (error) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
// Adapter.check
|
|
48
|
-
if (fetch.simulate && fetch.isCheck && !render.noSize) {
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
// Adapter.remove or Adapter.update with clip
|
|
52
|
-
if (fetch.simulate && fetch.doRemove) {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
// common inner loop (App start, scroll, Adapter.clip) with full fetch
|
|
56
|
-
if (!fetch.simulate && ((fetch.hasNewItems && !render.noSize) || fetch.hasAnotherPack)) {
|
|
57
|
-
return true;
|
|
58
|
-
}
|
|
59
|
-
return false;
|
|
60
|
-
};
|
|
61
|
-
return End;
|
|
62
|
-
}(BaseProcessFactory(CommonProcess.end)));
|
|
63
|
-
export default End;
|
|
1
|
+
import { __assign, __extends } from "tslib";
|
|
2
|
+
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
3
|
+
var isInterrupted = function (_a) {
|
|
4
|
+
var call = _a.call;
|
|
5
|
+
return !!call.interrupted;
|
|
6
|
+
};
|
|
7
|
+
var End = /** @class */ (function (_super) {
|
|
8
|
+
__extends(End, _super);
|
|
9
|
+
function End() {
|
|
10
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
11
|
+
}
|
|
12
|
+
End.run = function (scroller, _a) {
|
|
13
|
+
var _b = _a === void 0 ? {} : _a, error = _b.error;
|
|
14
|
+
var workflow = scroller.workflow, interrupter = scroller.state.cycle.interrupter;
|
|
15
|
+
if (!error && !interrupter) {
|
|
16
|
+
// set out params accessible via Adapter
|
|
17
|
+
End.calculateParams(scroller);
|
|
18
|
+
}
|
|
19
|
+
// explicit interruption for we don't want to go through the inner loop finalizing
|
|
20
|
+
if (isInterrupted(workflow)) {
|
|
21
|
+
workflow.call({ process: End.process, status: ProcessStatus.done });
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
var next = End.shouldContinueRun(scroller, error);
|
|
25
|
+
scroller.state.endInnerLoop();
|
|
26
|
+
workflow.call({
|
|
27
|
+
process: End.process,
|
|
28
|
+
status: next ? ProcessStatus.next : ProcessStatus.done,
|
|
29
|
+
payload: __assign({}, (interrupter ? { process: interrupter } : {}))
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
End.calculateParams = function (scroller) {
|
|
33
|
+
var adapter = scroller.adapter, workflow = scroller.workflow;
|
|
34
|
+
adapter.setFirstOrLastVisible({ first: true, workflow: workflow });
|
|
35
|
+
adapter.setFirstOrLastVisible({ last: true, workflow: workflow });
|
|
36
|
+
};
|
|
37
|
+
End.shouldContinueRun = function (scroller, error) {
|
|
38
|
+
var _a = scroller.state, cycle = _a.cycle, fetch = _a.fetch, render = _a.render;
|
|
39
|
+
// Adapter.reload or Adapter.reset
|
|
40
|
+
if (cycle.interrupter) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
// critical error
|
|
44
|
+
if (error) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
// Adapter.check
|
|
48
|
+
if (fetch.simulate && fetch.isCheck && !render.noSize) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
// Adapter.remove or Adapter.update with clip
|
|
52
|
+
if (fetch.simulate && fetch.doRemove) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
// common inner loop (App start, scroll, Adapter.clip) with full fetch
|
|
56
|
+
if (!fetch.simulate && ((fetch.hasNewItems && !render.noSize) || fetch.hasAnotherPack)) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
};
|
|
61
|
+
return End;
|
|
62
|
+
}(BaseProcessFactory(CommonProcess.end)));
|
|
63
|
+
export default End;
|
|
64
64
|
//# sourceMappingURL=end.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"end.js","sourceRoot":"","sources":["../../../src/processes/end.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIhF,IAAM,aAAa,GAAG,UAAC,EAA0B;QAAxB,IAAI,UAAA;IAAkC,OAAA,CAAC,CAAC,IAAI,CAAC,WAAW;AAAlB,CAAkB,CAAC;AAElF;IAAiC,uBAAqC;IAAtE;;IA0DA,CAAC;IAxDQ,OAAG,GAAV,UAAW,QAAkB,EAAE,EAAmC;YAAnC,qBAAiC,EAAE,KAAA,EAAjC,KAAK,WAAA;QAC5B,IAAA,QAAQ,GAAwC,QAAQ,SAAhD,EAAoB,WAAW,GAAS,QAAQ,wBAAjB,CAAkB;QAEjE,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;YAC1B,wCAAwC;YACxC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAC/B;QAED,kFAAkF;QAClF,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;YAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO;SACR;QAED,IAAM,IAAI,GAAG,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpD,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAE9B,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;YACtD,OAAO,eAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAEM,mBAAe,GAAtB,UAAuB,QAAkB;QAC/B,IAAA,OAAO,GAAe,QAAQ,QAAvB,EAAE,QAAQ,GAAK,QAAQ,SAAb,CAAc;QAEvC,OAAO,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEM,qBAAiB,GAAxB,UAAyB,QAAkB,EAAE,KAAc;QACnD,IAAA,KAA2B,QAAQ,CAAC,KAAK,EAAvC,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAmB,CAAC;QAChD,kCAAkC;QAClC,IAAI,KAAK,CAAC,WAAW,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QACD,iBAAiB;QACjB,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QACD,gBAAgB;QAChB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACrD,OAAO,IAAI,CAAC;SACb;QACD,6CAA6C;QAC7C,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;YACpC,OAAO,IAAI,CAAC;SACb;QACD,sEAAsE;QACtE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE;YACtF,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEH,UAAC;AAAD,CAAC,AA1DD,CAAiC,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,GA0DrE","sourcesContent":["import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';\nimport { Scroller } from '../scroller';\nimport { ScrollerWorkflow } from '../interfaces/index';\n\nconst isInterrupted = ({ call }: ScrollerWorkflow): boolean => !!call.interrupted;\n\nexport default class End extends BaseProcessFactory(CommonProcess.end) {\n\n static run(scroller: Scroller, { error }: { error?: unknown } = {}): void {\n const { workflow, state: { cycle: { interrupter } } } = scroller;\n\n if (!error && !interrupter) {\n // set out params accessible via Adapter\n End.calculateParams(scroller);\n }\n\n // explicit interruption for we don't want to go through the inner loop finalizing\n if (isInterrupted(workflow)) {\n workflow.call({ process: End.process, status: ProcessStatus.done });\n return;\n }\n\n const next = End.shouldContinueRun(scroller, error);\n scroller.state.endInnerLoop();\n\n workflow.call({\n process: End.process,\n status: next ? ProcessStatus.next : ProcessStatus.done,\n payload: { ...(interrupter ? { process: interrupter } : {}) }\n });\n }\n\n static calculateParams(scroller: Scroller): void {\n const { adapter, workflow } = scroller;\n\n adapter.setFirstOrLastVisible({ first: true, workflow });\n adapter.setFirstOrLastVisible({ last: true, workflow });\n }\n\n static shouldContinueRun(scroller: Scroller, error: unknown): boolean {\n const { cycle, fetch, render } = scroller.state;\n // Adapter.reload or Adapter.reset\n if (cycle.interrupter) {\n return true;\n }\n // critical error\n if (error) {\n return false;\n }\n // Adapter.check\n if (fetch.simulate && fetch.isCheck && !render.noSize) {\n return true;\n }\n // Adapter.remove or Adapter.update with clip\n if (fetch.simulate && fetch.doRemove) {\n return true;\n }\n // common inner loop (App start, scroll, Adapter.clip) with full fetch\n if (!fetch.simulate && ((fetch.hasNewItems && !render.noSize) || fetch.hasAnotherPack)) {\n return true;\n }\n return false;\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"end.js","sourceRoot":"","sources":["../../../src/processes/end.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIhF,IAAM,aAAa,GAAG,UAAC,EAA0B;QAAxB,IAAI,UAAA;IAAkC,OAAA,CAAC,CAAC,IAAI,CAAC,WAAW;AAAlB,CAAkB,CAAC;AAElF;IAAiC,uBAAqC;IAAtE;;IA0DA,CAAC;IAxDQ,OAAG,GAAV,UAAW,QAAkB,EAAE,EAAmC;YAAnC,qBAAiC,EAAE,KAAA,EAAjC,KAAK,WAAA;QAC5B,IAAA,QAAQ,GAAwC,QAAQ,SAAhD,EAAoB,WAAW,GAAS,QAAQ,wBAAjB,CAAkB;QAEjE,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;YAC1B,wCAAwC;YACxC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAC/B;QAED,kFAAkF;QAClF,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;YAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO;SACR;QAED,IAAM,IAAI,GAAG,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpD,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAE9B,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;YACtD,OAAO,eAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAEM,mBAAe,GAAtB,UAAuB,QAAkB;QAC/B,IAAA,OAAO,GAAe,QAAQ,QAAvB,EAAE,QAAQ,GAAK,QAAQ,SAAb,CAAc;QAEvC,OAAO,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEM,qBAAiB,GAAxB,UAAyB,QAAkB,EAAE,KAAc;QACnD,IAAA,KAA2B,QAAQ,CAAC,KAAK,EAAvC,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAmB,CAAC;QAChD,kCAAkC;QAClC,IAAI,KAAK,CAAC,WAAW,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QACD,iBAAiB;QACjB,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QACD,gBAAgB;QAChB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACrD,OAAO,IAAI,CAAC;SACb;QACD,6CAA6C;QAC7C,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;YACpC,OAAO,IAAI,CAAC;SACb;QACD,sEAAsE;QACtE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE;YACtF,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEH,UAAC;AAAD,CAAC,AA1DD,CAAiC,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,GA0DrE","sourcesContent":["import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';\r\nimport { Scroller } from '../scroller';\r\nimport { ScrollerWorkflow } from '../interfaces/index';\r\n\r\nconst isInterrupted = ({ call }: ScrollerWorkflow): boolean => !!call.interrupted;\r\n\r\nexport default class End extends BaseProcessFactory(CommonProcess.end) {\r\n\r\n static run(scroller: Scroller, { error }: { error?: unknown } = {}): void {\r\n const { workflow, state: { cycle: { interrupter } } } = scroller;\r\n\r\n if (!error && !interrupter) {\r\n // set out params accessible via Adapter\r\n End.calculateParams(scroller);\r\n }\r\n\r\n // explicit interruption for we don't want to go through the inner loop finalizing\r\n if (isInterrupted(workflow)) {\r\n workflow.call({ process: End.process, status: ProcessStatus.done });\r\n return;\r\n }\r\n\r\n const next = End.shouldContinueRun(scroller, error);\r\n scroller.state.endInnerLoop();\r\n\r\n workflow.call({\r\n process: End.process,\r\n status: next ? ProcessStatus.next : ProcessStatus.done,\r\n payload: { ...(interrupter ? { process: interrupter } : {}) }\r\n });\r\n }\r\n\r\n static calculateParams(scroller: Scroller): void {\r\n const { adapter, workflow } = scroller;\r\n\r\n adapter.setFirstOrLastVisible({ first: true, workflow });\r\n adapter.setFirstOrLastVisible({ last: true, workflow });\r\n }\r\n\r\n static shouldContinueRun(scroller: Scroller, error: unknown): boolean {\r\n const { cycle, fetch, render } = scroller.state;\r\n // Adapter.reload or Adapter.reset\r\n if (cycle.interrupter) {\r\n return true;\r\n }\r\n // critical error\r\n if (error) {\r\n return false;\r\n }\r\n // Adapter.check\r\n if (fetch.simulate && fetch.isCheck && !render.noSize) {\r\n return true;\r\n }\r\n // Adapter.remove or Adapter.update with clip\r\n if (fetch.simulate && fetch.doRemove) {\r\n return true;\r\n }\r\n // common inner loop (App start, scroll, Adapter.clip) with full fetch\r\n if (!fetch.simulate && ((fetch.hasNewItems && !render.noSize) || fetch.hasAnotherPack)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n"]}
|