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,90 +1,90 @@
|
|
|
1
|
-
import { __extends, __read, __spreadArray } from "tslib";
|
|
2
|
-
import { AdapterMethods } from '../../inputs/index';
|
|
3
|
-
import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
|
|
4
|
-
var _a = AdapterMethods, _b = AdapterProcess.fix, FixParams = _a[_b];
|
|
5
|
-
var Fix = /** @class */ (function (_super) {
|
|
6
|
-
__extends(Fix, _super);
|
|
7
|
-
function Fix() {
|
|
8
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
9
|
-
}
|
|
10
|
-
Fix.run = function (scroller, options) {
|
|
11
|
-
var workflow = scroller.workflow;
|
|
12
|
-
var _a = Fix.parseInput(scroller, options), data = _a.data, params = _a.params;
|
|
13
|
-
if (!params) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
Object.entries(data.params).forEach(function (_a) {
|
|
17
|
-
var _b = __read(_a, 2), key = _b[0], value = _b[1];
|
|
18
|
-
if (value.isSet && value.isValid) {
|
|
19
|
-
Fix.runByType(scroller, key, value.value, data);
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
workflow.call({
|
|
23
|
-
process: Fix.process,
|
|
24
|
-
status: ProcessStatus.done
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
Fix.runByType = function (scroller, token, value, methodData) {
|
|
28
|
-
switch (token) {
|
|
29
|
-
case FixParams.scrollPosition:
|
|
30
|
-
return Fix.setScrollPosition(scroller, value);
|
|
31
|
-
case FixParams.minIndex:
|
|
32
|
-
return Fix.setMinIndex(scroller, value);
|
|
33
|
-
case FixParams.maxIndex:
|
|
34
|
-
return Fix.setMaxIndex(scroller, value);
|
|
35
|
-
case FixParams.updater:
|
|
36
|
-
return Fix.updateItems(scroller, value);
|
|
37
|
-
case FixParams.scrollToItem:
|
|
38
|
-
if (methodData.params) {
|
|
39
|
-
var scrollToItemOpt = methodData.params[FixParams.scrollToItemOpt];
|
|
40
|
-
var options = scrollToItemOpt ? scrollToItemOpt.value : void 0;
|
|
41
|
-
return Fix.scrollToItem(scroller, value, options);
|
|
42
|
-
}
|
|
43
|
-
return;
|
|
44
|
-
case FixParams.scrollToItemOpt:
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
Fix.setScrollPosition = function (_a, value) {
|
|
49
|
-
var viewport = _a.viewport;
|
|
50
|
-
var result = value;
|
|
51
|
-
if (value === -Infinity) {
|
|
52
|
-
result = 0;
|
|
53
|
-
}
|
|
54
|
-
else if (value === Infinity) {
|
|
55
|
-
result = viewport.getScrollableSize();
|
|
56
|
-
}
|
|
57
|
-
viewport.setPosition(result);
|
|
58
|
-
};
|
|
59
|
-
Fix.setMinIndex = function (_a, value) {
|
|
60
|
-
var buffer = _a.buffer, settings = _a.settings;
|
|
61
|
-
settings.minIndex = value;
|
|
62
|
-
buffer.absMinIndex = value;
|
|
63
|
-
};
|
|
64
|
-
Fix.setMaxIndex = function (_a, value) {
|
|
65
|
-
var buffer = _a.buffer, settings = _a.settings;
|
|
66
|
-
settings.maxIndex = value;
|
|
67
|
-
buffer.absMaxIndex = value;
|
|
68
|
-
};
|
|
69
|
-
Fix.updateItems = function (_a, value) {
|
|
70
|
-
var buffer = _a.buffer, logger = _a.logger;
|
|
71
|
-
var updateReference = false;
|
|
72
|
-
var updater = function () { return updateReference = true; };
|
|
73
|
-
buffer.items.forEach(function (item) { return value(item.get(), updater); });
|
|
74
|
-
if (updateReference) {
|
|
75
|
-
logger.log(function () { return 'update Buffer.items reference'; });
|
|
76
|
-
buffer.items = __spreadArray([], __read(buffer.items), false);
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
Fix.scrollToItem = function (scroller, value, options) {
|
|
80
|
-
var found = scroller.buffer.items.find(function (item) { return value(item.get()); });
|
|
81
|
-
if (!found) {
|
|
82
|
-
scroller.logger.log(function () { return 'scrollToItem cancelled, item not found'; });
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
found.scrollTo(options);
|
|
86
|
-
};
|
|
87
|
-
return Fix;
|
|
88
|
-
}(BaseAdapterProcessFactory(AdapterProcess.fix)));
|
|
89
|
-
export default Fix;
|
|
1
|
+
import { __extends, __read, __spreadArray } from "tslib";
|
|
2
|
+
import { AdapterMethods } from '../../inputs/index';
|
|
3
|
+
import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
|
|
4
|
+
var _a = AdapterMethods, _b = AdapterProcess.fix, FixParams = _a[_b];
|
|
5
|
+
var Fix = /** @class */ (function (_super) {
|
|
6
|
+
__extends(Fix, _super);
|
|
7
|
+
function Fix() {
|
|
8
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
9
|
+
}
|
|
10
|
+
Fix.run = function (scroller, options) {
|
|
11
|
+
var workflow = scroller.workflow;
|
|
12
|
+
var _a = Fix.parseInput(scroller, options), data = _a.data, params = _a.params;
|
|
13
|
+
if (!params) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
Object.entries(data.params).forEach(function (_a) {
|
|
17
|
+
var _b = __read(_a, 2), key = _b[0], value = _b[1];
|
|
18
|
+
if (value.isSet && value.isValid) {
|
|
19
|
+
Fix.runByType(scroller, key, value.value, data);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
workflow.call({
|
|
23
|
+
process: Fix.process,
|
|
24
|
+
status: ProcessStatus.done
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
Fix.runByType = function (scroller, token, value, methodData) {
|
|
28
|
+
switch (token) {
|
|
29
|
+
case FixParams.scrollPosition:
|
|
30
|
+
return Fix.setScrollPosition(scroller, value);
|
|
31
|
+
case FixParams.minIndex:
|
|
32
|
+
return Fix.setMinIndex(scroller, value);
|
|
33
|
+
case FixParams.maxIndex:
|
|
34
|
+
return Fix.setMaxIndex(scroller, value);
|
|
35
|
+
case FixParams.updater:
|
|
36
|
+
return Fix.updateItems(scroller, value);
|
|
37
|
+
case FixParams.scrollToItem:
|
|
38
|
+
if (methodData.params) {
|
|
39
|
+
var scrollToItemOpt = methodData.params[FixParams.scrollToItemOpt];
|
|
40
|
+
var options = scrollToItemOpt ? scrollToItemOpt.value : void 0;
|
|
41
|
+
return Fix.scrollToItem(scroller, value, options);
|
|
42
|
+
}
|
|
43
|
+
return;
|
|
44
|
+
case FixParams.scrollToItemOpt:
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
Fix.setScrollPosition = function (_a, value) {
|
|
49
|
+
var viewport = _a.viewport;
|
|
50
|
+
var result = value;
|
|
51
|
+
if (value === -Infinity) {
|
|
52
|
+
result = 0;
|
|
53
|
+
}
|
|
54
|
+
else if (value === Infinity) {
|
|
55
|
+
result = viewport.getScrollableSize();
|
|
56
|
+
}
|
|
57
|
+
viewport.setPosition(result);
|
|
58
|
+
};
|
|
59
|
+
Fix.setMinIndex = function (_a, value) {
|
|
60
|
+
var buffer = _a.buffer, settings = _a.settings;
|
|
61
|
+
settings.minIndex = value;
|
|
62
|
+
buffer.absMinIndex = value;
|
|
63
|
+
};
|
|
64
|
+
Fix.setMaxIndex = function (_a, value) {
|
|
65
|
+
var buffer = _a.buffer, settings = _a.settings;
|
|
66
|
+
settings.maxIndex = value;
|
|
67
|
+
buffer.absMaxIndex = value;
|
|
68
|
+
};
|
|
69
|
+
Fix.updateItems = function (_a, value) {
|
|
70
|
+
var buffer = _a.buffer, logger = _a.logger;
|
|
71
|
+
var updateReference = false;
|
|
72
|
+
var updater = function () { return updateReference = true; };
|
|
73
|
+
buffer.items.forEach(function (item) { return value(item.get(), updater); });
|
|
74
|
+
if (updateReference) {
|
|
75
|
+
logger.log(function () { return 'update Buffer.items reference'; });
|
|
76
|
+
buffer.items = __spreadArray([], __read(buffer.items), false);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
Fix.scrollToItem = function (scroller, value, options) {
|
|
80
|
+
var found = scroller.buffer.items.find(function (item) { return value(item.get()); });
|
|
81
|
+
if (!found) {
|
|
82
|
+
scroller.logger.log(function () { return 'scrollToItem cancelled, item not found'; });
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
found.scrollTo(options);
|
|
86
|
+
};
|
|
87
|
+
return Fix;
|
|
88
|
+
}(BaseAdapterProcessFactory(AdapterProcess.fix)));
|
|
89
|
+
export default Fix;
|
|
90
90
|
//# sourceMappingURL=fix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../../../src/processes/adapter/fix.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scroller } from '../../scroller';\nimport { AdapterMethods } from '../../inputs/index';\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\nimport {\n ItemsPredicate,\n ItemsUpdater,\n AdapterFixOptions,\n IValidatedData,\n} from '../../interfaces/index';\n\nconst { [AdapterProcess.fix]: FixParams } = AdapterMethods;\n\nexport default class Fix extends BaseAdapterProcessFactory(AdapterProcess.fix) {\n\n static run(scroller: Scroller, options: AdapterFixOptions): void {\n const { workflow } = scroller;\n\n const { data, params } = Fix.parseInput(scroller, options);\n if (!params) {\n return;\n }\n\n Object.entries(data.params).forEach(([key, value]) => {\n if (value.isSet && value.isValid) {\n Fix.runByType(scroller, key, value.value, data);\n }\n });\n\n workflow.call({\n process: Fix.process,\n status: ProcessStatus.done\n });\n }\n\n static runByType(scroller: Scroller, token: string, value: unknown, methodData: IValidatedData): void {\n switch (token) {\n case FixParams.scrollPosition:\n return Fix.setScrollPosition(scroller, value as number);\n case FixParams.minIndex:\n return Fix.setMinIndex(scroller, value as number);\n case FixParams.maxIndex:\n return Fix.setMaxIndex(scroller, value as number);\n case FixParams.updater:\n return Fix.updateItems(scroller, value as ItemsUpdater);\n case FixParams.scrollToItem:\n if (methodData.params) {\n const scrollToItemOpt = methodData.params[FixParams.scrollToItemOpt];\n const options = scrollToItemOpt ? scrollToItemOpt.value as AdapterFixOptions['scrollToItemOpt'] : void 0;\n return Fix.scrollToItem(scroller, value as ItemsPredicate, options);\n }\n return;\n case FixParams.scrollToItemOpt:\n return;\n }\n }\n\n static setScrollPosition({ viewport }: Scroller, value: number): void {\n let result = value;\n if (value === -Infinity) {\n result = 0;\n } else if (value === Infinity) {\n result = viewport.getScrollableSize();\n }\n viewport.setPosition(result);\n }\n\n static setMinIndex({ buffer, settings }: Scroller, value: number): void {\n settings.minIndex = value;\n buffer.absMinIndex = value;\n }\n\n static setMaxIndex({ buffer, settings }: Scroller, value: number): void {\n settings.maxIndex = value;\n buffer.absMaxIndex = value;\n }\n\n static updateItems({ buffer, logger }: Scroller, value: ItemsUpdater): void {\n let updateReference = false;\n const updater = () => updateReference = true;\n buffer.items.forEach(item => value(item.get(), updater));\n if (updateReference) {\n logger.log(() => 'update Buffer.items reference');\n buffer.items = [...buffer.items];\n }\n }\n\n static scrollToItem(scroller: Scroller, value: ItemsPredicate, options?: boolean | ScrollIntoViewOptions): void {\n const found = scroller.buffer.items.find(item => value(item.get()));\n if (!found) {\n scroller.logger.log(() => 'scrollToItem cancelled, item not found');\n return;\n }\n found.scrollTo(options);\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../../../src/processes/adapter/fix.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scroller } from '../../scroller';\r\nimport { AdapterMethods } from '../../inputs/index';\r\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\r\nimport {\r\n ItemsPredicate,\r\n ItemsUpdater,\r\n AdapterFixOptions,\r\n IValidatedData,\r\n} from '../../interfaces/index';\r\n\r\nconst { [AdapterProcess.fix]: FixParams } = AdapterMethods;\r\n\r\nexport default class Fix extends BaseAdapterProcessFactory(AdapterProcess.fix) {\r\n\r\n static run(scroller: Scroller, options: AdapterFixOptions): void {\r\n const { workflow } = scroller;\r\n\r\n const { data, params } = Fix.parseInput(scroller, options);\r\n if (!params) {\r\n return;\r\n }\r\n\r\n Object.entries(data.params).forEach(([key, value]) => {\r\n if (value.isSet && value.isValid) {\r\n Fix.runByType(scroller, key, value.value, data);\r\n }\r\n });\r\n\r\n workflow.call({\r\n process: Fix.process,\r\n status: ProcessStatus.done\r\n });\r\n }\r\n\r\n static runByType(scroller: Scroller, token: string, value: unknown, methodData: IValidatedData): void {\r\n switch (token) {\r\n case FixParams.scrollPosition:\r\n return Fix.setScrollPosition(scroller, value as number);\r\n case FixParams.minIndex:\r\n return Fix.setMinIndex(scroller, value as number);\r\n case FixParams.maxIndex:\r\n return Fix.setMaxIndex(scroller, value as number);\r\n case FixParams.updater:\r\n return Fix.updateItems(scroller, value as ItemsUpdater);\r\n case FixParams.scrollToItem:\r\n if (methodData.params) {\r\n const scrollToItemOpt = methodData.params[FixParams.scrollToItemOpt];\r\n const options = scrollToItemOpt ? scrollToItemOpt.value as AdapterFixOptions['scrollToItemOpt'] : void 0;\r\n return Fix.scrollToItem(scroller, value as ItemsPredicate, options);\r\n }\r\n return;\r\n case FixParams.scrollToItemOpt:\r\n return;\r\n }\r\n }\r\n\r\n static setScrollPosition({ viewport }: Scroller, value: number): void {\r\n let result = value;\r\n if (value === -Infinity) {\r\n result = 0;\r\n } else if (value === Infinity) {\r\n result = viewport.getScrollableSize();\r\n }\r\n viewport.setPosition(result);\r\n }\r\n\r\n static setMinIndex({ buffer, settings }: Scroller, value: number): void {\r\n settings.minIndex = value;\r\n buffer.absMinIndex = value;\r\n }\r\n\r\n static setMaxIndex({ buffer, settings }: Scroller, value: number): void {\r\n settings.maxIndex = value;\r\n buffer.absMaxIndex = value;\r\n }\r\n\r\n static updateItems({ buffer, logger }: Scroller, value: ItemsUpdater): void {\r\n let updateReference = false;\r\n const updater = () => updateReference = true;\r\n buffer.items.forEach(item => value(item.get(), updater));\r\n if (updateReference) {\r\n logger.log(() => 'update Buffer.items reference');\r\n buffer.items = [...buffer.items];\r\n }\r\n }\r\n\r\n static scrollToItem(scroller: Scroller, value: ItemsPredicate, options?: boolean | ScrollIntoViewOptions): void {\r\n const found = scroller.buffer.items.find(item => value(item.get()));\r\n if (!found) {\r\n scroller.logger.log(() => 'scrollToItem cancelled, item not found');\r\n return;\r\n }\r\n found.scrollTo(options);\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
import { __extends, __read, __spreadArray } from "tslib";
|
|
2
|
-
import Update from './update';
|
|
3
|
-
import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
|
|
4
|
-
import { Item } from '../../classes/item';
|
|
5
|
-
import { Direction } from '../../inputs/index';
|
|
6
|
-
var Insert = /** @class */ (function (_super) {
|
|
7
|
-
__extends(Insert, _super);
|
|
8
|
-
function Insert() {
|
|
9
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
10
|
-
}
|
|
11
|
-
Insert.run = function (scroller, options) {
|
|
12
|
-
var params = Insert.parseInput(scroller, options).params;
|
|
13
|
-
if (!params) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
var shouldInsert = Insert.doInsert(scroller, params);
|
|
17
|
-
scroller.workflow.call({
|
|
18
|
-
process: Insert.process,
|
|
19
|
-
status: shouldInsert ? ProcessStatus.next : ProcessStatus.done
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
Insert.doInsert = function (scroller, params) {
|
|
23
|
-
if (!Insert.insertEmpty(scroller, params)) {
|
|
24
|
-
if (!Insert.insertInBuffer(scroller, params)) {
|
|
25
|
-
if (!Insert.insertVirtually(scroller, params)) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return true;
|
|
31
|
-
};
|
|
32
|
-
Insert.insertEmpty = function (scroller, params) {
|
|
33
|
-
var buffer = scroller.buffer, routines = scroller.routines, fetch = scroller.state.fetch;
|
|
34
|
-
if (buffer.size) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
var beforeIndex = params.beforeIndex, afterIndex = params.afterIndex, items = params.items, decrease = params.decrease;
|
|
38
|
-
if (!buffer.fillEmpty(items, beforeIndex, afterIndex, !!decrease, function (index, data) { return new Item(index, data, routines); })) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
fetch.fill(buffer.items, buffer.startIndex);
|
|
42
|
-
return true;
|
|
43
|
-
};
|
|
44
|
-
Insert.insertInBuffer = function (scroller, params) {
|
|
45
|
-
var before = params.before, after = params.after, beforeIndex = params.beforeIndex, afterIndex = params.afterIndex, items = params.items, decrease = params.decrease;
|
|
46
|
-
var indexToInsert = scroller.buffer.getIndexToInsert(before || after, beforeIndex, afterIndex);
|
|
47
|
-
if (isNaN(indexToInsert)) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
var isBackward = Number.isInteger(beforeIndex) || before;
|
|
51
|
-
var updateOptions = {
|
|
52
|
-
predicate: function (_a) {
|
|
53
|
-
var $index = _a.$index, data = _a.data;
|
|
54
|
-
if (indexToInsert === $index) {
|
|
55
|
-
return isBackward ? __spreadArray(__spreadArray([], __read(items), false), [data], false) : __spreadArray([data], __read(items), false);
|
|
56
|
-
}
|
|
57
|
-
return true;
|
|
58
|
-
},
|
|
59
|
-
fixRight: decrease
|
|
60
|
-
};
|
|
61
|
-
return Update.doUpdate(scroller, updateOptions);
|
|
62
|
-
};
|
|
63
|
-
Insert.insertVirtually = function (scroller, params) {
|
|
64
|
-
var beforeIndex = params.beforeIndex, afterIndex = params.afterIndex, items = params.items, decrease = params.decrease;
|
|
65
|
-
var buffer = scroller.buffer, fetch = scroller.state.fetch, viewport = scroller.viewport;
|
|
66
|
-
var direction = Number.isInteger(beforeIndex) ? Direction.backward : Direction.forward;
|
|
67
|
-
var indexToInsert = (direction === Direction.backward ? beforeIndex : afterIndex);
|
|
68
|
-
if (!buffer.insertVirtually(items, indexToInsert, direction, !!decrease)) {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
var _a = viewport.getEdgeVisibleItem(buffer.items, Direction.backward), index = _a.index, diff = _a.diff;
|
|
72
|
-
fetch.firstVisible.index = index;
|
|
73
|
-
if (!isNaN(index)) {
|
|
74
|
-
fetch.simulate = true;
|
|
75
|
-
fetch.firstVisible.delta = -buffer.getSizeByIndex(index) + diff;
|
|
76
|
-
}
|
|
77
|
-
return true;
|
|
78
|
-
};
|
|
79
|
-
return Insert;
|
|
80
|
-
}(BaseAdapterProcessFactory(AdapterProcess.insert)));
|
|
81
|
-
export default Insert;
|
|
1
|
+
import { __extends, __read, __spreadArray } from "tslib";
|
|
2
|
+
import Update from './update';
|
|
3
|
+
import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
|
|
4
|
+
import { Item } from '../../classes/item';
|
|
5
|
+
import { Direction } from '../../inputs/index';
|
|
6
|
+
var Insert = /** @class */ (function (_super) {
|
|
7
|
+
__extends(Insert, _super);
|
|
8
|
+
function Insert() {
|
|
9
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
10
|
+
}
|
|
11
|
+
Insert.run = function (scroller, options) {
|
|
12
|
+
var params = Insert.parseInput(scroller, options).params;
|
|
13
|
+
if (!params) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
var shouldInsert = Insert.doInsert(scroller, params);
|
|
17
|
+
scroller.workflow.call({
|
|
18
|
+
process: Insert.process,
|
|
19
|
+
status: shouldInsert ? ProcessStatus.next : ProcessStatus.done
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
Insert.doInsert = function (scroller, params) {
|
|
23
|
+
if (!Insert.insertEmpty(scroller, params)) {
|
|
24
|
+
if (!Insert.insertInBuffer(scroller, params)) {
|
|
25
|
+
if (!Insert.insertVirtually(scroller, params)) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
31
|
+
};
|
|
32
|
+
Insert.insertEmpty = function (scroller, params) {
|
|
33
|
+
var buffer = scroller.buffer, routines = scroller.routines, fetch = scroller.state.fetch;
|
|
34
|
+
if (buffer.size) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
var beforeIndex = params.beforeIndex, afterIndex = params.afterIndex, items = params.items, decrease = params.decrease;
|
|
38
|
+
if (!buffer.fillEmpty(items, beforeIndex, afterIndex, !!decrease, function (index, data) { return new Item(index, data, routines); })) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
fetch.fill(buffer.items, buffer.startIndex);
|
|
42
|
+
return true;
|
|
43
|
+
};
|
|
44
|
+
Insert.insertInBuffer = function (scroller, params) {
|
|
45
|
+
var before = params.before, after = params.after, beforeIndex = params.beforeIndex, afterIndex = params.afterIndex, items = params.items, decrease = params.decrease;
|
|
46
|
+
var indexToInsert = scroller.buffer.getIndexToInsert(before || after, beforeIndex, afterIndex);
|
|
47
|
+
if (isNaN(indexToInsert)) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
var isBackward = Number.isInteger(beforeIndex) || before;
|
|
51
|
+
var updateOptions = {
|
|
52
|
+
predicate: function (_a) {
|
|
53
|
+
var $index = _a.$index, data = _a.data;
|
|
54
|
+
if (indexToInsert === $index) {
|
|
55
|
+
return isBackward ? __spreadArray(__spreadArray([], __read(items), false), [data], false) : __spreadArray([data], __read(items), false);
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
},
|
|
59
|
+
fixRight: decrease
|
|
60
|
+
};
|
|
61
|
+
return Update.doUpdate(scroller, updateOptions);
|
|
62
|
+
};
|
|
63
|
+
Insert.insertVirtually = function (scroller, params) {
|
|
64
|
+
var beforeIndex = params.beforeIndex, afterIndex = params.afterIndex, items = params.items, decrease = params.decrease;
|
|
65
|
+
var buffer = scroller.buffer, fetch = scroller.state.fetch, viewport = scroller.viewport;
|
|
66
|
+
var direction = Number.isInteger(beforeIndex) ? Direction.backward : Direction.forward;
|
|
67
|
+
var indexToInsert = (direction === Direction.backward ? beforeIndex : afterIndex);
|
|
68
|
+
if (!buffer.insertVirtually(items, indexToInsert, direction, !!decrease)) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
var _a = viewport.getEdgeVisibleItem(buffer.items, Direction.backward), index = _a.index, diff = _a.diff;
|
|
72
|
+
fetch.firstVisible.index = index;
|
|
73
|
+
if (!isNaN(index)) {
|
|
74
|
+
fetch.simulate = true;
|
|
75
|
+
fetch.firstVisible.delta = -buffer.getSizeByIndex(index) + diff;
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
};
|
|
79
|
+
return Insert;
|
|
80
|
+
}(BaseAdapterProcessFactory(AdapterProcess.insert)));
|
|
81
|
+
export default Insert;
|
|
82
82
|
//# sourceMappingURL=insert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../../src/processes/adapter/insert.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scroller } from '../../scroller';\nimport Update from './update';\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\nimport { Item } from '../../classes/item';\nimport { Direction } from '../../inputs/index';\nimport { AdapterInsertOptions, AdapterUpdateOptions } from '../../interfaces/index';\n\nexport default class Insert extends BaseAdapterProcessFactory(AdapterProcess.insert) {\n\n static run(scroller: Scroller, options: AdapterInsertOptions): void {\n const { params } = Insert.parseInput(scroller, options);\n if (!params) {\n return;\n }\n const shouldInsert = Insert.doInsert(scroller, params);\n\n scroller.workflow.call({\n process: Insert.process,\n status: shouldInsert ? ProcessStatus.next : ProcessStatus.done\n });\n }\n\n static doInsert(scroller: Scroller, params: AdapterInsertOptions): boolean {\n if (!Insert.insertEmpty(scroller, params)) {\n if (!Insert.insertInBuffer(scroller, params)) {\n if (!Insert.insertVirtually(scroller, params)) {\n return false;\n }\n }\n }\n return true;\n }\n\n static insertEmpty(scroller: Scroller, params: AdapterInsertOptions): boolean {\n const { buffer, routines, state: { fetch } } = scroller;\n if (buffer.size) {\n return false;\n }\n const { beforeIndex, afterIndex, items, decrease } = params;\n if (!buffer.fillEmpty(\n items, beforeIndex, afterIndex, !!decrease,\n (index, data) => new Item(index, data, routines)\n )) {\n return false;\n }\n fetch.fill(buffer.items, buffer.startIndex);\n\n return true;\n }\n\n static insertInBuffer(scroller: Scroller, params: AdapterInsertOptions): boolean {\n const { before, after, beforeIndex, afterIndex, items, decrease } = params;\n const indexToInsert = scroller.buffer.getIndexToInsert(before || after, beforeIndex, afterIndex);\n\n if (isNaN(indexToInsert)) {\n return false;\n }\n const isBackward = Number.isInteger(beforeIndex) || before;\n\n const updateOptions: AdapterUpdateOptions = {\n predicate: ({ $index, data }) => {\n if (indexToInsert === $index) {\n return isBackward ? [...items, data] : [data, ...items];\n }\n return true;\n },\n fixRight: decrease\n };\n\n return Update.doUpdate(scroller, updateOptions);\n }\n\n static insertVirtually(scroller: Scroller, params: AdapterInsertOptions): boolean {\n const { beforeIndex, afterIndex, items, decrease } = params;\n const { buffer, state: { fetch }, viewport } = scroller;\n const direction = Number.isInteger(beforeIndex) ? Direction.backward : Direction.forward;\n const indexToInsert = (direction === Direction.backward ? beforeIndex : afterIndex) as number;\n\n if (!buffer.insertVirtually(items, indexToInsert, direction, !!decrease)) {\n return false;\n }\n\n const { index, diff } = viewport.getEdgeVisibleItem(buffer.items, Direction.backward);\n fetch.firstVisible.index = index;\n if (!isNaN(index)) {\n fetch.simulate = true;\n fetch.firstVisible.delta = - buffer.getSizeByIndex(index) + diff;\n }\n\n return true;\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../../src/processes/adapter/insert.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scroller } from '../../scroller';\r\nimport Update from './update';\r\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\r\nimport { Item } from '../../classes/item';\r\nimport { Direction } from '../../inputs/index';\r\nimport { AdapterInsertOptions, AdapterUpdateOptions } from '../../interfaces/index';\r\n\r\nexport default class Insert extends BaseAdapterProcessFactory(AdapterProcess.insert) {\r\n\r\n static run(scroller: Scroller, options: AdapterInsertOptions): void {\r\n const { params } = Insert.parseInput(scroller, options);\r\n if (!params) {\r\n return;\r\n }\r\n const shouldInsert = Insert.doInsert(scroller, params);\r\n\r\n scroller.workflow.call({\r\n process: Insert.process,\r\n status: shouldInsert ? ProcessStatus.next : ProcessStatus.done\r\n });\r\n }\r\n\r\n static doInsert(scroller: Scroller, params: AdapterInsertOptions): boolean {\r\n if (!Insert.insertEmpty(scroller, params)) {\r\n if (!Insert.insertInBuffer(scroller, params)) {\r\n if (!Insert.insertVirtually(scroller, params)) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n static insertEmpty(scroller: Scroller, params: AdapterInsertOptions): boolean {\r\n const { buffer, routines, state: { fetch } } = scroller;\r\n if (buffer.size) {\r\n return false;\r\n }\r\n const { beforeIndex, afterIndex, items, decrease } = params;\r\n if (!buffer.fillEmpty(\r\n items, beforeIndex, afterIndex, !!decrease,\r\n (index, data) => new Item(index, data, routines)\r\n )) {\r\n return false;\r\n }\r\n fetch.fill(buffer.items, buffer.startIndex);\r\n\r\n return true;\r\n }\r\n\r\n static insertInBuffer(scroller: Scroller, params: AdapterInsertOptions): boolean {\r\n const { before, after, beforeIndex, afterIndex, items, decrease } = params;\r\n const indexToInsert = scroller.buffer.getIndexToInsert(before || after, beforeIndex, afterIndex);\r\n\r\n if (isNaN(indexToInsert)) {\r\n return false;\r\n }\r\n const isBackward = Number.isInteger(beforeIndex) || before;\r\n\r\n const updateOptions: AdapterUpdateOptions = {\r\n predicate: ({ $index, data }) => {\r\n if (indexToInsert === $index) {\r\n return isBackward ? [...items, data] : [data, ...items];\r\n }\r\n return true;\r\n },\r\n fixRight: decrease\r\n };\r\n\r\n return Update.doUpdate(scroller, updateOptions);\r\n }\r\n\r\n static insertVirtually(scroller: Scroller, params: AdapterInsertOptions): boolean {\r\n const { beforeIndex, afterIndex, items, decrease } = params;\r\n const { buffer, state: { fetch }, viewport } = scroller;\r\n const direction = Number.isInteger(beforeIndex) ? Direction.backward : Direction.forward;\r\n const indexToInsert = (direction === Direction.backward ? beforeIndex : afterIndex) as number;\r\n\r\n if (!buffer.insertVirtually(items, indexToInsert, direction, !!decrease)) {\r\n return false;\r\n }\r\n\r\n const { index, diff } = viewport.getEdgeVisibleItem(buffer.items, Direction.backward);\r\n fetch.firstVisible.index = index;\r\n if (!isNaN(index)) {\r\n fetch.simulate = true;\r\n fetch.firstVisible.delta = - buffer.getSizeByIndex(index) + diff;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
|
|
3
|
-
var Reload = /** @class */ (function (_super) {
|
|
4
|
-
__extends(Reload, _super);
|
|
5
|
-
function Reload() {
|
|
6
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
7
|
-
}
|
|
8
|
-
Reload.run = function (scroller, reloadIndex) {
|
|
9
|
-
var viewport = scroller.viewport, state = scroller.state, buffer = scroller.buffer;
|
|
10
|
-
var params = Reload.parseInput(scroller, { reloadIndex: reloadIndex }, true).params;
|
|
11
|
-
buffer.reset(false, params ? params.reloadIndex : void 0);
|
|
12
|
-
viewport.reset(buffer.startIndex);
|
|
13
|
-
var payload = {};
|
|
14
|
-
if (state.cycle.busy.get()) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
export default Reload;
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
|
|
3
|
+
var Reload = /** @class */ (function (_super) {
|
|
4
|
+
__extends(Reload, _super);
|
|
5
|
+
function Reload() {
|
|
6
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
7
|
+
}
|
|
8
|
+
Reload.run = function (scroller, reloadIndex) {
|
|
9
|
+
var viewport = scroller.viewport, state = scroller.state, buffer = scroller.buffer;
|
|
10
|
+
var params = Reload.parseInput(scroller, { reloadIndex: reloadIndex }, true).params;
|
|
11
|
+
buffer.reset(false, params ? params.reloadIndex : void 0);
|
|
12
|
+
viewport.reset(buffer.startIndex);
|
|
13
|
+
var payload = {};
|
|
14
|
+
if (state.cycle.busy.get()) {
|
|
15
|
+
payload.finalize = true;
|
|
16
|
+
state.cycle.interrupter = Reload.process;
|
|
17
|
+
}
|
|
18
|
+
scroller.workflow.call({
|
|
19
|
+
process: Reload.process,
|
|
20
|
+
status: ProcessStatus.next,
|
|
21
|
+
payload: payload
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
return Reload;
|
|
25
|
+
}(BaseAdapterProcessFactory(AdapterProcess.reload)));
|
|
26
|
+
export default Reload;
|
|
28
27
|
//# sourceMappingURL=reload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../../../../src/processes/adapter/reload.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGzF;IAAoC,0BAAgD;IAApF;;
|
|
1
|
+
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../../../../src/processes/adapter/reload.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGzF;IAAoC,0BAAgD;IAApF;;IAuBA,CAAC;IArBQ,UAAG,GAAV,UAAW,QAAkB,EAAE,WAAmB;QACxC,IAAA,QAAQ,GAAoB,QAAQ,SAA5B,EAAE,KAAK,GAAa,QAAQ,MAArB,EAAE,MAAM,GAAK,QAAQ,OAAb,CAAc;QAErC,IAAA,MAAM,GAAK,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,WAAW,aAAA,EAAE,EAAE,IAAI,CAAC,OAAvD,CAAwD;QAEtE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAElC,IAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE;YAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;SAC1C;QAED,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,aAAa,CAAC,IAAI;YAC1B,OAAO,SAAA;SACR,CAAC,CAAC;IACL,CAAC;IAEH,aAAC;AAAD,CAAC,AAvBD,CAAoC,yBAAyB,CAAC,cAAc,CAAC,MAAM,CAAC,GAuBnF","sourcesContent":["import { Scroller } from '../../scroller';\r\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\r\nimport { ProcessPayload } from '../../interfaces/index';\r\n\r\nexport default class Reload extends BaseAdapterProcessFactory(AdapterProcess.reload) {\r\n\r\n static run(scroller: Scroller, reloadIndex: number): void {\r\n const { viewport, state, buffer } = scroller;\r\n\r\n const { params } = Reload.parseInput(scroller, { reloadIndex }, true);\r\n\r\n buffer.reset(false, params ? params.reloadIndex : void 0);\r\n viewport.reset(buffer.startIndex);\r\n\r\n const payload: ProcessPayload = {};\r\n if (state.cycle.busy.get()) {\r\n payload.finalize = true;\r\n state.cycle.interrupter = Reload.process;\r\n }\r\n\r\n scroller.workflow.call({\r\n process: Reload.process,\r\n status: ProcessStatus.next,\r\n payload\r\n });\r\n }\r\n\r\n}\r\n"]}
|