vscroll 1.6.0-beta.3 → 1.6.0-beta.4

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.
Files changed (62) hide show
  1. package/dist/bundles/vscroll.esm5.js +80 -2
  2. package/dist/bundles/vscroll.esm5.js.map +1 -1
  3. package/dist/bundles/vscroll.esm5.min.js +2 -2
  4. package/dist/bundles/vscroll.esm5.min.js.map +1 -1
  5. package/dist/bundles/vscroll.esm6.js +75 -2
  6. package/dist/bundles/vscroll.esm6.js.map +1 -1
  7. package/dist/bundles/vscroll.esm6.min.js +2 -2
  8. package/dist/bundles/vscroll.esm6.min.js.map +1 -1
  9. package/dist/bundles/vscroll.umd.js +81 -3
  10. package/dist/bundles/vscroll.umd.js.map +1 -1
  11. package/dist/bundles/vscroll.umd.min.js +2 -2
  12. package/dist/bundles/vscroll.umd.min.js.map +1 -1
  13. package/dist/esm2015/classes/adapter/props.js +12 -0
  14. package/dist/esm2015/classes/adapter/props.js.map +1 -1
  15. package/dist/esm2015/classes/adapter.js +17 -0
  16. package/dist/esm2015/classes/adapter.js.map +1 -1
  17. package/dist/esm2015/classes/state.js +3 -0
  18. package/dist/esm2015/classes/state.js.map +1 -1
  19. package/dist/esm2015/inputs/adapter.js +2 -0
  20. package/dist/esm2015/inputs/adapter.js.map +1 -1
  21. package/dist/esm2015/interfaces/adapter.js.map +1 -1
  22. package/dist/esm2015/processes/adapter/pause.js +27 -0
  23. package/dist/esm2015/processes/adapter/pause.js.map +1 -0
  24. package/dist/esm2015/processes/index.js +2 -1
  25. package/dist/esm2015/processes/index.js.map +1 -1
  26. package/dist/esm2015/processes/misc/enums.js +1 -0
  27. package/dist/esm2015/processes/misc/enums.js.map +1 -1
  28. package/dist/esm2015/version.js +1 -1
  29. package/dist/esm2015/version.js.map +1 -1
  30. package/dist/esm2015/workflow-transducer.js +9 -1
  31. package/dist/esm2015/workflow-transducer.js.map +1 -1
  32. package/dist/esm2015/workflow.js +6 -1
  33. package/dist/esm2015/workflow.js.map +1 -1
  34. package/dist/esm5/classes/adapter/props.js +12 -0
  35. package/dist/esm5/classes/adapter/props.js.map +1 -1
  36. package/dist/esm5/classes/adapter.js +17 -0
  37. package/dist/esm5/classes/adapter.js.map +1 -1
  38. package/dist/esm5/classes/state.js +3 -0
  39. package/dist/esm5/classes/state.js.map +1 -1
  40. package/dist/esm5/inputs/adapter.js +2 -0
  41. package/dist/esm5/inputs/adapter.js.map +1 -1
  42. package/dist/esm5/interfaces/adapter.js.map +1 -1
  43. package/dist/esm5/processes/adapter/pause.js +34 -0
  44. package/dist/esm5/processes/adapter/pause.js.map +1 -0
  45. package/dist/esm5/processes/index.js +2 -1
  46. package/dist/esm5/processes/index.js.map +1 -1
  47. package/dist/esm5/processes/misc/enums.js +1 -0
  48. package/dist/esm5/processes/misc/enums.js.map +1 -1
  49. package/dist/esm5/version.js +1 -1
  50. package/dist/esm5/version.js.map +1 -1
  51. package/dist/esm5/workflow-transducer.js +9 -1
  52. package/dist/esm5/workflow-transducer.js.map +1 -1
  53. package/dist/esm5/workflow.js +6 -1
  54. package/dist/esm5/workflow.js.map +1 -1
  55. package/dist/typings/classes/adapter/props.d.ts +2 -0
  56. package/dist/typings/classes/adapter.d.ts +2 -0
  57. package/dist/typings/classes/state.d.ts +2 -0
  58. package/dist/typings/interfaces/adapter.d.ts +2 -0
  59. package/dist/typings/processes/adapter/pause.d.ts +8 -0
  60. package/dist/typings/processes/index.d.ts +2 -1
  61. package/dist/typings/processes/misc/enums.d.ts +1 -0
  62. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * vscroll (https://github.com/dhilt/vscroll) FESM5
3
- * Version: 1.6.0-beta.3 (2023-12-02T17:54:42.827Z)
3
+ * Version: 1.6.0-beta.4 (2024-01-14T14:23:00.574Z)
4
4
  * Author: Denis Hilt
5
5
  * License: MIT
6
6
  */
@@ -108,6 +108,8 @@ var AdapterPropName;
108
108
  AdapterPropName["insert"] = "insert";
109
109
  AdapterPropName["replace"] = "replace";
110
110
  AdapterPropName["update"] = "update";
111
+ AdapterPropName["pause"] = "pause";
112
+ AdapterPropName["resume"] = "resume";
111
113
  AdapterPropName["fix"] = "fix";
112
114
  AdapterPropName["relax"] = "relax";
113
115
  AdapterPropName["showLog"] = "showLog";
@@ -288,6 +290,16 @@ var getDefaultAdapterProps = function () { return [
288
290
  name: Name.update,
289
291
  value: noopWF
290
292
  },
293
+ {
294
+ type: Type.WorkflowRunner,
295
+ name: Name.pause,
296
+ value: noopWF
297
+ },
298
+ {
299
+ type: Type.WorkflowRunner,
300
+ name: Name.resume,
301
+ value: noopWF
302
+ },
291
303
  {
292
304
  type: Type.WorkflowRunner,
293
305
  name: Name.fix,
@@ -345,7 +357,7 @@ var reactiveConfigStorage = new Map();
345
357
 
346
358
  var core = {
347
359
  name: 'vscroll',
348
- version: '1.6.0-beta.3'
360
+ version: '1.6.0-beta.4'
349
361
  };
350
362
 
351
363
  var getBox = function (id) {
@@ -1047,6 +1059,7 @@ var AdapterProcess;
1047
1059
  AdapterProcess["update"] = "adapter.update";
1048
1060
  AdapterProcess["clip"] = "adapter.clip";
1049
1061
  AdapterProcess["insert"] = "adapter.insert";
1062
+ AdapterProcess["pause"] = "adapter.pause";
1050
1063
  AdapterProcess["fix"] = "adapter.fix";
1051
1064
  })(AdapterProcess || (AdapterProcess = {}));
1052
1065
  var ProcessStatus;
@@ -1270,6 +1283,7 @@ var AdapterMethods = (_l = {},
1270
1283
  _l[AdapterProcess.insert] = AdapterInsertParams,
1271
1284
  _l[AdapterProcess.replace] = AdapterReplaceParams,
1272
1285
  _l[AdapterProcess.update] = AdapterUpdateParams,
1286
+ _l[AdapterProcess.pause] = AdapterNoParams,
1273
1287
  _l[AdapterProcess.fix] = AdapterFixParams,
1274
1288
  _l);
1275
1289
  var ADAPTER_METHODS = (_m = {},
@@ -1283,6 +1297,7 @@ var ADAPTER_METHODS = (_m = {},
1283
1297
  _m[AdapterProcess.insert] = INSERT_METHOD_PARAMS,
1284
1298
  _m[AdapterProcess.replace] = REPLACE_METHOD_PARAMS,
1285
1299
  _m[AdapterProcess.update] = UPDATE_METHOD_PARAMS,
1300
+ _m[AdapterProcess.pause] = NO_METHOD_PARAMS,
1286
1301
  _m[AdapterProcess.fix] = FIX_METHOD_PARAMS,
1287
1302
  _m);
1288
1303
 
@@ -2044,6 +2059,37 @@ var Replace = /** @class */ (function (_super) {
2044
2059
  return Replace;
2045
2060
  }(BaseAdapterProcessFactory(AdapterProcess.replace)));
2046
2061
 
2062
+ var Pause = /** @class */ (function (_super) {
2063
+ __extends(Pause, _super);
2064
+ function Pause() {
2065
+ return _super !== null && _super.apply(this, arguments) || this;
2066
+ }
2067
+ Pause.run = function (scroller, options) {
2068
+ var resume = !!(options === null || options === void 0 ? void 0 : options.resume);
2069
+ if (!resume) {
2070
+ if (!scroller.state.paused.get()) {
2071
+ scroller.state.paused.set(true);
2072
+ scroller.logger.log('pause scroller');
2073
+ }
2074
+ else {
2075
+ scroller.logger.log('pause scroller (cancelled)');
2076
+ }
2077
+ return;
2078
+ }
2079
+ if (!scroller.state.paused.get()) {
2080
+ scroller.logger.log('resume scroller (cancelled)');
2081
+ return;
2082
+ }
2083
+ scroller.state.paused.set(false);
2084
+ scroller.logger.log('resume scroller');
2085
+ scroller.workflow.call({
2086
+ process: AdapterProcess.pause,
2087
+ status: ProcessStatus.done
2088
+ });
2089
+ };
2090
+ return Pause;
2091
+ }(BaseAdapterProcessFactory(AdapterProcess.pause)));
2092
+
2047
2093
  var _a = AdapterMethods, _b = AdapterProcess.fix, FixParams = _a[_b];
2048
2094
  var Fix = /** @class */ (function (_super) {
2049
2095
  __extends(Fix, _super);
@@ -4664,6 +4710,7 @@ var State = /** @class */ (function () {
4664
4710
  this.packageInfo = packageInfo;
4665
4711
  this.settings = settings;
4666
4712
  this.initTime = Number(new Date());
4713
+ this.paused = new Reactive(false);
4667
4714
  this.cycle = new WorkflowCycleModel(this.settings.instanceIndex, state ? state.cycle : void 0);
4668
4715
  this.fetch = new FetchModel(settings.directionPriority);
4669
4716
  this.clip = new ClipModel();
@@ -4714,6 +4761,7 @@ var State = /** @class */ (function () {
4714
4761
  State.prototype.dispose = function () {
4715
4762
  this.scroll.stop();
4716
4763
  this.cycle.dispose();
4764
+ this.paused.dispose();
4717
4765
  this.endInnerLoop();
4718
4766
  };
4719
4767
  return State;
@@ -5155,6 +5203,23 @@ var Adapter = /** @class */ (function () {
5155
5203
  });
5156
5204
  };
5157
5205
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5206
+ Adapter.prototype.pause = function () {
5207
+ this.logger.logAdapterMethod('pause');
5208
+ this.workflow.call({
5209
+ process: AdapterProcess.pause,
5210
+ status: ProcessStatus.start
5211
+ });
5212
+ };
5213
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5214
+ Adapter.prototype.resume = function () {
5215
+ this.logger.logAdapterMethod('resume');
5216
+ this.workflow.call({
5217
+ process: AdapterProcess.pause,
5218
+ status: ProcessStatus.start,
5219
+ payload: { options: { resume: true } }
5220
+ });
5221
+ };
5222
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5158
5223
  Adapter.prototype.fix = function (options) {
5159
5224
  this.logger.logAdapterMethod('fix', options);
5160
5225
  this.workflow.call({
@@ -5410,6 +5475,14 @@ var runStateMachine = function (_a) {
5410
5475
  run(Init)(process);
5411
5476
  }
5412
5477
  break;
5478
+ case AdapterProcess.pause:
5479
+ if (status === ProcessStatus.start) {
5480
+ run(Pause)(options);
5481
+ }
5482
+ if (status === ProcessStatus.done) {
5483
+ run(Init)(process);
5484
+ }
5485
+ break;
5413
5486
  case AdapterProcess.fix:
5414
5487
  if (status === ProcessStatus.start) {
5415
5488
  run(Fix)(options);
@@ -5583,6 +5656,11 @@ var Workflow = /** @class */ (function () {
5583
5656
  return;
5584
5657
  }
5585
5658
  var process = processSubject.process, status = processSubject.status;
5659
+ // if the scroller is paused, any process other than "pause" and "reset" should be blocked
5660
+ if (this.scroller.state.paused.get() && process !== AdapterProcess.pause && process !== AdapterProcess.reset) {
5661
+ this.scroller.logger.log('scroller is paused: ' + process + ' process is ignored');
5662
+ return;
5663
+ }
5586
5664
  if (process && process.startsWith('adapter') && status !== ProcessStatus.next) {
5587
5665
  this.adapterRun$.set(processSubject);
5588
5666
  }