vscroll 1.6.3 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/dist/bundles/vscroll.esm5.js +5854 -5705
  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 +5341 -5194
  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 +5858 -5710
  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/context.js +44 -43
  14. package/dist/esm2015/classes/adapter/context.js.map +1 -1
  15. package/dist/esm2015/classes/adapter/props.js +300 -300
  16. package/dist/esm2015/classes/adapter/props.js.map +1 -1
  17. package/dist/esm2015/classes/adapter/wanted.js +28 -28
  18. package/dist/esm2015/classes/adapter/wanted.js.map +1 -1
  19. package/dist/esm2015/classes/adapter.js +486 -487
  20. package/dist/esm2015/classes/adapter.js.map +1 -1
  21. package/dist/esm2015/classes/buffer/cache.js +249 -246
  22. package/dist/esm2015/classes/buffer/cache.js.map +1 -1
  23. package/dist/esm2015/classes/buffer/checkCall.js +47 -48
  24. package/dist/esm2015/classes/buffer/checkCall.js.map +1 -1
  25. package/dist/esm2015/classes/buffer/defaultSize.js +128 -127
  26. package/dist/esm2015/classes/buffer/defaultSize.js.map +1 -1
  27. package/dist/esm2015/classes/buffer.js +343 -342
  28. package/dist/esm2015/classes/buffer.js.map +1 -1
  29. package/dist/esm2015/classes/datasource.js +36 -24
  30. package/dist/esm2015/classes/datasource.js.map +1 -1
  31. package/dist/esm2015/classes/domRoutines.js +160 -160
  32. package/dist/esm2015/classes/domRoutines.js.map +1 -1
  33. package/dist/esm2015/classes/item.js +61 -61
  34. package/dist/esm2015/classes/item.js.map +1 -1
  35. package/dist/esm2015/classes/logger.js +229 -186
  36. package/dist/esm2015/classes/logger.js.map +1 -1
  37. package/dist/esm2015/classes/paddings.js +76 -72
  38. package/dist/esm2015/classes/paddings.js.map +1 -1
  39. package/dist/esm2015/classes/reactive.js +54 -54
  40. package/dist/esm2015/classes/reactive.js.map +1 -1
  41. package/dist/esm2015/classes/settings.js +39 -39
  42. package/dist/esm2015/classes/settings.js.map +1 -1
  43. package/dist/esm2015/classes/state/clip.js +16 -16
  44. package/dist/esm2015/classes/state/clip.js.map +1 -1
  45. package/dist/esm2015/classes/state/cycle.js +60 -60
  46. package/dist/esm2015/classes/state/cycle.js.map +1 -1
  47. package/dist/esm2015/classes/state/fetch.js +124 -122
  48. package/dist/esm2015/classes/state/fetch.js.map +1 -1
  49. package/dist/esm2015/classes/state/render.js +14 -14
  50. package/dist/esm2015/classes/state/render.js.map +1 -1
  51. package/dist/esm2015/classes/state/scroll.js +30 -30
  52. package/dist/esm2015/classes/state/scroll.js.map +1 -1
  53. package/dist/esm2015/classes/state.js +64 -62
  54. package/dist/esm2015/classes/state.js.map +1 -1
  55. package/dist/esm2015/classes/viewport.js +74 -72
  56. package/dist/esm2015/classes/viewport.js.map +1 -1
  57. package/dist/esm2015/index.js +9 -9
  58. package/dist/esm2015/index.js.map +1 -1
  59. package/dist/esm2015/inputs/adapter.js +262 -242
  60. package/dist/esm2015/inputs/adapter.js.map +1 -1
  61. package/dist/esm2015/inputs/common.js +11 -11
  62. package/dist/esm2015/inputs/common.js.map +1 -1
  63. package/dist/esm2015/inputs/datasource.js +20 -20
  64. package/dist/esm2015/inputs/datasource.js.map +1 -1
  65. package/dist/esm2015/inputs/index.js +7 -7
  66. package/dist/esm2015/inputs/index.js.map +1 -1
  67. package/dist/esm2015/inputs/settings.js +151 -146
  68. package/dist/esm2015/inputs/settings.js.map +1 -1
  69. package/dist/esm2015/inputs/validation.js +365 -374
  70. package/dist/esm2015/inputs/validation.js.map +1 -1
  71. package/dist/esm2015/inputs/workflow.js +30 -30
  72. package/dist/esm2015/inputs/workflow.js.map +1 -1
  73. package/dist/esm2015/interfaces/adapter.js +1 -1
  74. package/dist/esm2015/interfaces/adapter.js.map +1 -1
  75. package/dist/esm2015/interfaces/datasource.js +1 -1
  76. package/dist/esm2015/interfaces/datasource.js.map +1 -1
  77. package/dist/esm2015/interfaces/index.js +1 -1
  78. package/dist/esm2015/interfaces/index.js.map +1 -1
  79. package/dist/esm2015/interfaces/item.js +1 -1
  80. package/dist/esm2015/interfaces/item.js.map +1 -1
  81. package/dist/esm2015/interfaces/process.js +1 -1
  82. package/dist/esm2015/interfaces/process.js.map +1 -1
  83. package/dist/esm2015/interfaces/routines.js +1 -1
  84. package/dist/esm2015/interfaces/routines.js.map +1 -1
  85. package/dist/esm2015/interfaces/settings.js +1 -1
  86. package/dist/esm2015/interfaces/settings.js.map +1 -1
  87. package/dist/esm2015/interfaces/state.js +1 -1
  88. package/dist/esm2015/interfaces/state.js.map +1 -1
  89. package/dist/esm2015/interfaces/validation.js +1 -1
  90. package/dist/esm2015/interfaces/validation.js.map +1 -1
  91. package/dist/esm2015/interfaces/workflow.js +1 -1
  92. package/dist/esm2015/interfaces/workflow.js.map +1 -1
  93. package/dist/esm2015/processes/adapter/append.js +37 -36
  94. package/dist/esm2015/processes/adapter/append.js.map +1 -1
  95. package/dist/esm2015/processes/adapter/check.js +33 -32
  96. package/dist/esm2015/processes/adapter/check.js.map +1 -1
  97. package/dist/esm2015/processes/adapter/clip.js +12 -12
  98. package/dist/esm2015/processes/adapter/clip.js.map +1 -1
  99. package/dist/esm2015/processes/adapter/fix.js +79 -77
  100. package/dist/esm2015/processes/adapter/fix.js.map +1 -1
  101. package/dist/esm2015/processes/adapter/insert.js +74 -73
  102. package/dist/esm2015/processes/adapter/insert.js.map +1 -1
  103. package/dist/esm2015/processes/adapter/pause.js +22 -22
  104. package/dist/esm2015/processes/adapter/pause.js.map +1 -1
  105. package/dist/esm2015/processes/adapter/reload.js +19 -19
  106. package/dist/esm2015/processes/adapter/reload.js.map +1 -1
  107. package/dist/esm2015/processes/adapter/remove.js +105 -102
  108. package/dist/esm2015/processes/adapter/remove.js.map +1 -1
  109. package/dist/esm2015/processes/adapter/replace.js +39 -39
  110. package/dist/esm2015/processes/adapter/replace.js.map +1 -1
  111. package/dist/esm2015/processes/adapter/reset.js +35 -35
  112. package/dist/esm2015/processes/adapter/reset.js.map +1 -1
  113. package/dist/esm2015/processes/adapter/update.js +44 -43
  114. package/dist/esm2015/processes/adapter/update.js.map +1 -1
  115. package/dist/esm2015/processes/adjust.js +146 -141
  116. package/dist/esm2015/processes/adjust.js.map +1 -1
  117. package/dist/esm2015/processes/clip.js +49 -49
  118. package/dist/esm2015/processes/clip.js.map +1 -1
  119. package/dist/esm2015/processes/end.js +53 -52
  120. package/dist/esm2015/processes/end.js.map +1 -1
  121. package/dist/esm2015/processes/fetch.js +93 -91
  122. package/dist/esm2015/processes/fetch.js.map +1 -1
  123. package/dist/esm2015/processes/index.js +24 -24
  124. package/dist/esm2015/processes/index.js.map +1 -1
  125. package/dist/esm2015/processes/init.js +14 -14
  126. package/dist/esm2015/processes/init.js.map +1 -1
  127. package/dist/esm2015/processes/misc/base.js +29 -30
  128. package/dist/esm2015/processes/misc/base.js.map +1 -1
  129. package/dist/esm2015/processes/misc/enums.js +36 -36
  130. package/dist/esm2015/processes/misc/enums.js.map +1 -1
  131. package/dist/esm2015/processes/misc/index.js +2 -2
  132. package/dist/esm2015/processes/misc/index.js.map +1 -1
  133. package/dist/esm2015/processes/postFetch.js +66 -65
  134. package/dist/esm2015/processes/postFetch.js.map +1 -1
  135. package/dist/esm2015/processes/preClip.js +86 -85
  136. package/dist/esm2015/processes/preClip.js.map +1 -1
  137. package/dist/esm2015/processes/preFetch.js +253 -240
  138. package/dist/esm2015/processes/preFetch.js.map +1 -1
  139. package/dist/esm2015/processes/render.js +56 -54
  140. package/dist/esm2015/processes/render.js.map +1 -1
  141. package/dist/esm2015/processes/scroll.js +106 -97
  142. package/dist/esm2015/processes/scroll.js.map +1 -1
  143. package/dist/esm2015/processes/start.js +11 -11
  144. package/dist/esm2015/processes/start.js.map +1 -1
  145. package/dist/esm2015/scroller.js +91 -86
  146. package/dist/esm2015/scroller.js.map +1 -1
  147. package/dist/esm2015/version.js +4 -4
  148. package/dist/esm2015/version.js.map +1 -1
  149. package/dist/esm2015/workflow-transducer.js +219 -218
  150. package/dist/esm2015/workflow-transducer.js.map +1 -1
  151. package/dist/esm2015/workflow.js +185 -174
  152. package/dist/esm2015/workflow.js.map +1 -1
  153. package/dist/esm5/classes/adapter/context.js +51 -50
  154. package/dist/esm5/classes/adapter/context.js.map +1 -1
  155. package/dist/esm5/classes/adapter/props.js +300 -300
  156. package/dist/esm5/classes/adapter/props.js.map +1 -1
  157. package/dist/esm5/classes/adapter/wanted.js +29 -29
  158. package/dist/esm5/classes/adapter/wanted.js.map +1 -1
  159. package/dist/esm5/classes/adapter.js +538 -535
  160. package/dist/esm5/classes/adapter.js.map +1 -1
  161. package/dist/esm5/classes/buffer/cache.js +262 -260
  162. package/dist/esm5/classes/buffer/cache.js.map +1 -1
  163. package/dist/esm5/classes/buffer/checkCall.js +53 -56
  164. package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
  165. package/dist/esm5/classes/buffer/defaultSize.js +146 -145
  166. package/dist/esm5/classes/buffer/defaultSize.js.map +1 -1
  167. package/dist/esm5/classes/buffer.js +410 -409
  168. package/dist/esm5/classes/buffer.js.map +1 -1
  169. package/dist/esm5/classes/datasource.js +47 -31
  170. package/dist/esm5/classes/datasource.js.map +1 -1
  171. package/dist/esm5/classes/domRoutines.js +165 -165
  172. package/dist/esm5/classes/domRoutines.js.map +1 -1
  173. package/dist/esm5/classes/item.js +76 -76
  174. package/dist/esm5/classes/item.js.map +1 -1
  175. package/dist/esm5/classes/logger.js +251 -210
  176. package/dist/esm5/classes/logger.js.map +1 -1
  177. package/dist/esm5/classes/paddings.js +84 -80
  178. package/dist/esm5/classes/paddings.js.map +1 -1
  179. package/dist/esm5/classes/reactive.js +69 -69
  180. package/dist/esm5/classes/reactive.js.map +1 -1
  181. package/dist/esm5/classes/settings.js +47 -47
  182. package/dist/esm5/classes/settings.js.map +1 -1
  183. package/dist/esm5/classes/state/clip.js +22 -22
  184. package/dist/esm5/classes/state/clip.js.map +1 -1
  185. package/dist/esm5/classes/state/cycle.js +75 -75
  186. package/dist/esm5/classes/state/cycle.js.map +1 -1
  187. package/dist/esm5/classes/state/fetch.js +150 -148
  188. package/dist/esm5/classes/state/fetch.js.map +1 -1
  189. package/dist/esm5/classes/state/render.js +20 -20
  190. package/dist/esm5/classes/state/render.js.map +1 -1
  191. package/dist/esm5/classes/state/scroll.js +32 -32
  192. package/dist/esm5/classes/state/scroll.js.map +1 -1
  193. package/dist/esm5/classes/state.js +71 -69
  194. package/dist/esm5/classes/state.js.map +1 -1
  195. package/dist/esm5/classes/viewport.js +80 -79
  196. package/dist/esm5/classes/viewport.js.map +1 -1
  197. package/dist/esm5/index.js +9 -9
  198. package/dist/esm5/index.js.map +1 -1
  199. package/dist/esm5/inputs/adapter.js +263 -243
  200. package/dist/esm5/inputs/adapter.js.map +1 -1
  201. package/dist/esm5/inputs/common.js +11 -11
  202. package/dist/esm5/inputs/common.js.map +1 -1
  203. package/dist/esm5/inputs/datasource.js +21 -21
  204. package/dist/esm5/inputs/datasource.js.map +1 -1
  205. package/dist/esm5/inputs/index.js +7 -7
  206. package/dist/esm5/inputs/index.js.map +1 -1
  207. package/dist/esm5/inputs/settings.js +152 -147
  208. package/dist/esm5/inputs/settings.js.map +1 -1
  209. package/dist/esm5/inputs/validation.js +399 -396
  210. package/dist/esm5/inputs/validation.js.map +1 -1
  211. package/dist/esm5/inputs/workflow.js +31 -31
  212. package/dist/esm5/inputs/workflow.js.map +1 -1
  213. package/dist/esm5/interfaces/adapter.js +1 -1
  214. package/dist/esm5/interfaces/adapter.js.map +1 -1
  215. package/dist/esm5/interfaces/datasource.js +1 -1
  216. package/dist/esm5/interfaces/datasource.js.map +1 -1
  217. package/dist/esm5/interfaces/index.js +1 -1
  218. package/dist/esm5/interfaces/index.js.map +1 -1
  219. package/dist/esm5/interfaces/item.js +1 -1
  220. package/dist/esm5/interfaces/item.js.map +1 -1
  221. package/dist/esm5/interfaces/process.js +1 -1
  222. package/dist/esm5/interfaces/process.js.map +1 -1
  223. package/dist/esm5/interfaces/routines.js +1 -1
  224. package/dist/esm5/interfaces/routines.js.map +1 -1
  225. package/dist/esm5/interfaces/settings.js +1 -1
  226. package/dist/esm5/interfaces/settings.js.map +1 -1
  227. package/dist/esm5/interfaces/state.js +1 -1
  228. package/dist/esm5/interfaces/state.js.map +1 -1
  229. package/dist/esm5/interfaces/validation.js +1 -1
  230. package/dist/esm5/interfaces/validation.js.map +1 -1
  231. package/dist/esm5/interfaces/workflow.js +1 -1
  232. package/dist/esm5/interfaces/workflow.js.map +1 -1
  233. package/dist/esm5/processes/adapter/append.js +45 -44
  234. package/dist/esm5/processes/adapter/append.js.map +1 -1
  235. package/dist/esm5/processes/adapter/check.js +40 -39
  236. package/dist/esm5/processes/adapter/check.js.map +1 -1
  237. package/dist/esm5/processes/adapter/clip.js +19 -19
  238. package/dist/esm5/processes/adapter/clip.js.map +1 -1
  239. package/dist/esm5/processes/adapter/fix.js +91 -89
  240. package/dist/esm5/processes/adapter/fix.js.map +1 -1
  241. package/dist/esm5/processes/adapter/insert.js +82 -81
  242. package/dist/esm5/processes/adapter/insert.js.map +1 -1
  243. package/dist/esm5/processes/adapter/pause.js +29 -29
  244. package/dist/esm5/processes/adapter/pause.js.map +1 -1
  245. package/dist/esm5/processes/adapter/reload.js +26 -26
  246. package/dist/esm5/processes/adapter/reload.js.map +1 -1
  247. package/dist/esm5/processes/adapter/remove.js +116 -115
  248. package/dist/esm5/processes/adapter/remove.js.map +1 -1
  249. package/dist/esm5/processes/adapter/replace.js +47 -47
  250. package/dist/esm5/processes/adapter/replace.js.map +1 -1
  251. package/dist/esm5/processes/adapter/reset.js +42 -42
  252. package/dist/esm5/processes/adapter/reset.js.map +1 -1
  253. package/dist/esm5/processes/adapter/update.js +64 -59
  254. package/dist/esm5/processes/adapter/update.js.map +1 -1
  255. package/dist/esm5/processes/adjust.js +157 -152
  256. package/dist/esm5/processes/adjust.js.map +1 -1
  257. package/dist/esm5/processes/clip.js +60 -60
  258. package/dist/esm5/processes/clip.js.map +1 -1
  259. package/dist/esm5/processes/end.js +64 -63
  260. package/dist/esm5/processes/end.js.map +1 -1
  261. package/dist/esm5/processes/fetch.js +104 -102
  262. package/dist/esm5/processes/fetch.js.map +1 -1
  263. package/dist/esm5/processes/index.js +24 -24
  264. package/dist/esm5/processes/index.js.map +1 -1
  265. package/dist/esm5/processes/init.js +21 -21
  266. package/dist/esm5/processes/init.js.map +1 -1
  267. package/dist/esm5/processes/misc/base.js +43 -44
  268. package/dist/esm5/processes/misc/base.js.map +1 -1
  269. package/dist/esm5/processes/misc/enums.js +36 -36
  270. package/dist/esm5/processes/misc/enums.js.map +1 -1
  271. package/dist/esm5/processes/misc/index.js +2 -2
  272. package/dist/esm5/processes/misc/index.js.map +1 -1
  273. package/dist/esm5/processes/postFetch.js +73 -74
  274. package/dist/esm5/processes/postFetch.js.map +1 -1
  275. package/dist/esm5/processes/preClip.js +95 -94
  276. package/dist/esm5/processes/preClip.js.map +1 -1
  277. package/dist/esm5/processes/preFetch.js +259 -247
  278. package/dist/esm5/processes/preFetch.js.map +1 -1
  279. package/dist/esm5/processes/render.js +63 -63
  280. package/dist/esm5/processes/render.js.map +1 -1
  281. package/dist/esm5/processes/scroll.js +113 -107
  282. package/dist/esm5/processes/scroll.js.map +1 -1
  283. package/dist/esm5/processes/start.js +18 -18
  284. package/dist/esm5/processes/start.js.map +1 -1
  285. package/dist/esm5/scroller.js +104 -100
  286. package/dist/esm5/scroller.js.map +1 -1
  287. package/dist/esm5/version.js +4 -4
  288. package/dist/esm5/version.js.map +1 -1
  289. package/dist/esm5/workflow-transducer.js +221 -220
  290. package/dist/esm5/workflow-transducer.js.map +1 -1
  291. package/dist/esm5/workflow.js +204 -198
  292. package/dist/esm5/workflow.js.map +1 -1
  293. package/dist/typings/classes/adapter/context.d.ts +4 -4
  294. package/dist/typings/classes/adapter/props.d.ts +52 -52
  295. package/dist/typings/classes/adapter/wanted.d.ts +14 -14
  296. package/dist/typings/classes/adapter.d.ts +79 -79
  297. package/dist/typings/classes/buffer/cache.d.ts +94 -95
  298. package/dist/typings/classes/buffer/checkCall.d.ts +12 -12
  299. package/dist/typings/classes/buffer/defaultSize.d.ts +32 -32
  300. package/dist/typings/classes/buffer.d.ts +64 -64
  301. package/dist/typings/classes/datasource.d.ts +11 -11
  302. package/dist/typings/classes/domRoutines.d.ts +36 -36
  303. package/dist/typings/classes/item.d.ts +28 -28
  304. package/dist/typings/classes/logger.d.ts +32 -28
  305. package/dist/typings/classes/paddings.d.ts +22 -22
  306. package/dist/typings/classes/reactive.d.ts +21 -21
  307. package/dist/typings/classes/settings.d.ts +126 -119
  308. package/dist/typings/classes/state/clip.d.ts +9 -9
  309. package/dist/typings/classes/state/cycle.d.ts +29 -29
  310. package/dist/typings/classes/state/fetch.d.ts +62 -62
  311. package/dist/typings/classes/state/render.d.ts +9 -9
  312. package/dist/typings/classes/state/scroll.d.ts +16 -16
  313. package/dist/typings/classes/state.d.ts +29 -29
  314. package/dist/typings/classes/viewport.d.ts +32 -32
  315. package/dist/typings/index.d.ts +10 -10
  316. package/dist/typings/inputs/adapter.d.ts +5 -5
  317. package/dist/typings/inputs/common.d.ts +9 -9
  318. package/dist/typings/inputs/datasource.d.ts +7 -7
  319. package/dist/typings/inputs/index.d.ts +7 -7
  320. package/dist/typings/inputs/settings.d.ts +42 -41
  321. package/dist/typings/inputs/validation.d.ts +82 -83
  322. package/dist/typings/inputs/workflow.d.ts +9 -9
  323. package/dist/typings/interfaces/adapter.d.ts +164 -164
  324. package/dist/typings/interfaces/datasource.d.ts +28 -28
  325. package/dist/typings/interfaces/index.d.ts +10 -10
  326. package/dist/typings/interfaces/item.d.ts +8 -8
  327. package/dist/typings/interfaces/process.d.ts +35 -35
  328. package/dist/typings/interfaces/routines.d.ts +166 -166
  329. package/dist/typings/interfaces/settings.d.ts +32 -31
  330. package/dist/typings/interfaces/state.d.ts +24 -24
  331. package/dist/typings/interfaces/validation.d.ts +33 -33
  332. package/dist/typings/interfaces/workflow.d.ts +53 -53
  333. package/dist/typings/processes/adapter/append.d.ts +14 -14
  334. package/dist/typings/processes/adapter/check.d.ts +6 -6
  335. package/dist/typings/processes/adapter/clip.d.ts +7 -7
  336. package/dist/typings/processes/adapter/fix.d.ts +13 -13
  337. package/dist/typings/processes/adapter/insert.d.ts +11 -11
  338. package/dist/typings/processes/adapter/pause.d.ts +8 -8
  339. package/dist/typings/processes/adapter/reload.d.ts +6 -6
  340. package/dist/typings/processes/adapter/remove.d.ts +11 -11
  341. package/dist/typings/processes/adapter/replace.d.ts +8 -8
  342. package/dist/typings/processes/adapter/reset.d.ts +7 -7
  343. package/dist/typings/processes/adapter/update.d.ts +8 -8
  344. package/dist/typings/processes/adjust.d.ts +10 -10
  345. package/dist/typings/processes/clip.d.ts +7 -7
  346. package/dist/typings/processes/end.d.ts +10 -10
  347. package/dist/typings/processes/fetch.d.ts +18 -18
  348. package/dist/typings/processes/index.d.ts +24 -24
  349. package/dist/typings/processes/init.d.ts +7 -7
  350. package/dist/typings/processes/misc/base.d.ts +4 -4
  351. package/dist/typings/processes/misc/enums.d.ts +33 -33
  352. package/dist/typings/processes/misc/index.d.ts +2 -2
  353. package/dist/typings/processes/postFetch.d.ts +8 -8
  354. package/dist/typings/processes/preClip.d.ts +12 -12
  355. package/dist/typings/processes/preFetch.d.ts +17 -17
  356. package/dist/typings/processes/render.d.ts +9 -9
  357. package/dist/typings/processes/scroll.d.ts +13 -13
  358. package/dist/typings/processes/start.d.ts +6 -6
  359. package/dist/typings/scroller.d.ts +26 -26
  360. package/dist/typings/version.d.ts +5 -5
  361. package/dist/typings/workflow-transducer.d.ts +2 -2
  362. package/dist/typings/workflow.d.ts +30 -29
  363. package/package.json +72 -69
@@ -1,30 +1,30 @@
1
- import { __extends } from "tslib";
2
- import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
3
- var Pause = /** @class */ (function (_super) {
4
- __extends(Pause, _super);
5
- function Pause() {
6
- return _super !== null && _super.apply(this, arguments) || this;
7
- }
8
- Pause.run = function (scroller, options) {
9
- var resume = !!(options === null || options === void 0 ? void 0 : options.resume);
10
- // pause branch
11
- if (!resume && !scroller.state.paused.get()) {
12
- scroller.logger.log('pause scroller');
13
- scroller.state.paused.set(true);
14
- scroller.workflow.call({
15
- process: AdapterProcess.pause,
16
- status: ProcessStatus.done
17
- });
18
- return;
19
- }
20
- scroller.logger.log('resume scroller');
21
- scroller.state.paused.set(false);
22
- scroller.workflow.call({
23
- process: AdapterProcess.pause,
24
- status: ProcessStatus.next
25
- });
26
- };
27
- return Pause;
28
- }(BaseAdapterProcessFactory(AdapterProcess.pause)));
29
- export default Pause;
1
+ import { __extends } from "tslib";
2
+ import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
3
+ var Pause = /** @class */ (function (_super) {
4
+ __extends(Pause, _super);
5
+ function Pause() {
6
+ return _super !== null && _super.apply(this, arguments) || this;
7
+ }
8
+ Pause.run = function (scroller, options) {
9
+ var resume = !!(options === null || options === void 0 ? void 0 : options.resume);
10
+ // pause branch
11
+ if (!resume && !scroller.state.paused.get()) {
12
+ scroller.logger.log('pause scroller');
13
+ scroller.state.paused.set(true);
14
+ scroller.workflow.call({
15
+ process: AdapterProcess.pause,
16
+ status: ProcessStatus.done
17
+ });
18
+ return;
19
+ }
20
+ scroller.logger.log('resume scroller');
21
+ scroller.state.paused.set(false);
22
+ scroller.workflow.call({
23
+ process: AdapterProcess.pause,
24
+ status: ProcessStatus.next
25
+ });
26
+ };
27
+ return Pause;
28
+ }(BaseAdapterProcessFactory(AdapterProcess.pause)));
29
+ export default Pause;
30
30
  //# sourceMappingURL=pause.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pause.js","sourceRoot":"","sources":["../../../../src/processes/adapter/pause.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzF;IAAmC,yBAA+C;IAAlF;;IAwBA,CAAC;IAtBQ,SAAG,GAAV,UAAW,QAAkB,EAAE,OAA6B;QAC1D,IAAM,MAAM,GAAG,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,CAAC;QAEjC,eAAe;QACf,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;YAC3C,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACtC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACrB,OAAO,EAAE,cAAc,CAAC,KAAK;gBAC7B,MAAM,EAAE,aAAa,CAAC,IAAI;aAC3B,CAAC,CAAC;YACH,OAAO;SACR;QAED,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,cAAc,CAAC,KAAK;YAC7B,MAAM,EAAE,aAAa,CAAC,IAAI;SAC3B,CAAC,CAAC;IACL,CAAC;IAEH,YAAC;AAAD,CAAC,AAxBD,CAAmC,yBAAyB,CAAC,cAAc,CAAC,KAAK,CAAC,GAwBjF","sourcesContent":["import { Scroller } from '../../scroller';\r\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\r\n\r\nexport default class Pause extends BaseAdapterProcessFactory(AdapterProcess.pause) {\r\n\r\n static run(scroller: Scroller, options?: { resume: boolean }): void {\r\n const resume = !!options?.resume;\r\n\r\n // pause branch\r\n if (!resume && !scroller.state.paused.get()) {\r\n scroller.logger.log('pause scroller');\r\n scroller.state.paused.set(true);\r\n scroller.workflow.call({\r\n process: AdapterProcess.pause,\r\n status: ProcessStatus.done\r\n });\r\n return;\r\n }\r\n\r\n scroller.logger.log('resume scroller');\r\n scroller.state.paused.set(false);\r\n scroller.workflow.call({\r\n process: AdapterProcess.pause,\r\n status: ProcessStatus.next\r\n });\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"pause.js","sourceRoot":"","sources":["../../../../src/processes/adapter/pause.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzF;IAAmC,yBAA+C;IAAlF;;IAsBA,CAAC;IArBQ,SAAG,GAAV,UAAW,QAAkB,EAAE,OAA6B;QAC1D,IAAM,MAAM,GAAG,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,CAAC;QAEjC,eAAe;QACf,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;YAC5C,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACtC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACrB,OAAO,EAAE,cAAc,CAAC,KAAK;gBAC7B,MAAM,EAAE,aAAa,CAAC,IAAI;aAC3B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,cAAc,CAAC,KAAK;YAC7B,MAAM,EAAE,aAAa,CAAC,IAAI;SAC3B,CAAC,CAAC;IACL,CAAC;IACH,YAAC;AAAD,CAAC,AAtBD,CAAmC,yBAAyB,CAAC,cAAc,CAAC,KAAK,CAAC,GAsBjF","sourcesContent":["import { Scroller } from '../../scroller';\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\n\nexport default class Pause extends BaseAdapterProcessFactory(AdapterProcess.pause) {\n static run(scroller: Scroller, options?: { resume: boolean }): void {\n const resume = !!options?.resume;\n\n // pause branch\n if (!resume && !scroller.state.paused.get()) {\n scroller.logger.log('pause scroller');\n scroller.state.paused.set(true);\n scroller.workflow.call({\n process: AdapterProcess.pause,\n status: ProcessStatus.done\n });\n return;\n }\n\n scroller.logger.log('resume scroller');\n scroller.state.paused.set(false);\n scroller.workflow.call({\n process: AdapterProcess.pause,\n status: ProcessStatus.next\n });\n }\n}\n"]}
@@ -1,27 +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
- 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;
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;
27
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;;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"]}
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;;IAqBA,CAAC;IApBQ,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,CAAC;YAC3B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3C,CAAC;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;IACH,aAAC;AAAD,CAAC,AArBD,CAAoC,yBAAyB,CAAC,cAAc,CAAC,MAAM,CAAC,GAqBnF","sourcesContent":["import { Scroller } from '../../scroller';\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\nimport { ProcessPayload } from '../../interfaces/index';\n\nexport default class Reload extends BaseAdapterProcessFactory(AdapterProcess.reload) {\n static run(scroller: Scroller, reloadIndex: number): void {\n const { viewport, state, buffer } = scroller;\n\n const { params } = Reload.parseInput(scroller, { reloadIndex }, true);\n\n buffer.reset(false, params ? params.reloadIndex : void 0);\n viewport.reset(buffer.startIndex);\n\n const payload: ProcessPayload = {};\n if (state.cycle.busy.get()) {\n payload.finalize = true;\n state.cycle.interrupter = Reload.process;\n }\n\n scroller.workflow.call({\n process: Reload.process,\n status: ProcessStatus.next,\n payload\n });\n }\n}\n"]}
@@ -1,116 +1,117 @@
1
- import { __extends, __read, __spreadArray } from "tslib";
2
- import Update from './update';
3
- import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
4
- import { Direction } from '../../inputs/index';
5
- var Remove = /** @class */ (function (_super) {
6
- __extends(Remove, _super);
7
- function Remove() {
8
- return _super !== null && _super.apply(this, arguments) || this;
9
- }
10
- Remove.run = function (scroller, options) {
11
- var params = Remove.parseInput(scroller, options).params;
12
- if (!params) {
13
- return;
14
- }
15
- var shouldRemove = Remove.doRemove(scroller, params);
16
- scroller.workflow.call({
17
- process: Remove.process,
18
- status: shouldRemove ? ProcessStatus.next : ProcessStatus.done
19
- });
20
- };
21
- Remove.doRemove = function (scroller, params) {
22
- var fetch = scroller.state.fetch;
23
- fetch.firstVisible.index = NaN;
24
- var removed = Remove.removeBufferedItems(scroller, params);
25
- var shouldBuffered = removed.length > 0;
26
- if (shouldBuffered) {
27
- // exclude just removed in-buffer indexes
28
- if (params.indexes && params.indexes.length) {
29
- params.indexes = params.indexes.filter(function (i) { return !removed.includes(i); });
30
- }
31
- // shift virtual indexes that remain
32
- if (params.indexes && params.indexes.length) {
33
- var diffLeft_1 = (params.increase ? 1 : 0) * removed.length;
34
- var diffRight_1 = (params.increase ? 0 : -1) * removed.length;
35
- params.indexes = params.indexes.map(function (index) {
36
- return index + (index < removed[0] ? diffLeft_1 : diffRight_1);
37
- });
38
- }
39
- }
40
- var shouldVirtual = Remove.removeVirtualItems(scroller, params);
41
- if (!shouldBuffered && !shouldVirtual) {
42
- return false;
43
- }
44
- scroller.logger.stat('after remove');
45
- return true;
46
- };
47
- Remove.removeBufferedItems = function (scroller, options) {
48
- var predicate = options.predicate, indexes = options.indexes, increase = options.increase;
49
- if (!predicate && !indexes) {
50
- return [];
51
- }
52
- var newPredicate = function (item) {
53
- return (predicate && predicate(item)) ||
54
- (!!indexes && indexes.includes(item.$index));
55
- };
56
- var indexesToRemove = scroller.buffer.items.reduce(function (acc, item) {
57
- return newPredicate(item) ? __spreadArray(__spreadArray([], __read(acc), false), [item.$index], false) : acc;
58
- }, []);
59
- var updateOptions = {
60
- predicate: function (item) { return !newPredicate(item); },
61
- fixRight: increase
62
- };
63
- Update.doUpdate(scroller, updateOptions);
64
- return indexesToRemove;
65
- };
66
- Remove.removeVirtualItems = function (scroller, params) {
67
- var indexes = params.indexes, increase = params.increase;
68
- if (!indexes || !indexes.length) {
69
- return false;
70
- }
71
- var buffer = scroller.buffer, viewport = scroller.viewport, fetch = scroller.state.fetch;
72
- // get items to remove
73
- var finiteAbsMinIndex = buffer.finiteAbsMinIndex, firstIndex = buffer.firstIndex, finiteAbsMaxIndex = buffer.finiteAbsMaxIndex, lastIndex = buffer.lastIndex;
74
- var toRemove = [];
75
- for (var i = 0, len = indexes.length; i < len; i++) {
76
- var index = indexes[i];
77
- if (index >= finiteAbsMinIndex && !isNaN(firstIndex) && index < firstIndex) {
78
- toRemove.push(index); // backward;
79
- }
80
- else if (index <= finiteAbsMaxIndex && !isNaN(lastIndex) && index > lastIndex) {
81
- toRemove.push(index); // forward;
82
- }
83
- else {
84
- continue;
85
- }
86
- }
87
- if (!toRemove.length) {
88
- return false;
89
- }
90
- // what should be shown after remove; Buffer removal has priority
91
- if (isNaN(fetch.firstVisible.index)) {
92
- var _a = viewport.getEdgeVisibleItem(buffer.items, Direction.backward), index = _a.index, diff = _a.diff;
93
- fetch.firstVisible.index = index;
94
- if (!isNaN(index)) {
95
- fetch.firstVisible.delta = -buffer.getSizeByIndex(index) + diff;
96
- }
97
- }
98
- // virtual removal
99
- scroller.logger.log(function () { return "going to remove ".concat(toRemove.length, " item(s) virtually"); });
100
- buffer.removeVirtually(toRemove, !!increase);
101
- buffer.checkDefaultSize();
102
- Remove.shiftFirstVisibleIndex(scroller, toRemove, !!increase);
103
- return true;
104
- };
105
- Remove.shiftFirstVisibleIndex = function (scroller, listToRemove, increase) {
106
- var firstVisible = scroller.state.fetch.firstVisible;
107
- if (isNaN(firstVisible.index)) {
108
- return;
109
- }
110
- var shift = listToRemove.reduce(function (acc, index) { return acc + (((increase && index > firstVisible.index) || (!increase && index < firstVisible.index)) ? 1 : 0); }, 0);
111
- firstVisible.index = firstVisible.index + (increase ? shift : -shift);
112
- };
113
- return Remove;
114
- }(BaseAdapterProcessFactory(AdapterProcess.remove)));
115
- export default Remove;
1
+ import { __extends, __read, __spreadArray } from "tslib";
2
+ import Update from './update';
3
+ import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
4
+ import { Direction } from '../../inputs/index';
5
+ var Remove = /** @class */ (function (_super) {
6
+ __extends(Remove, _super);
7
+ function Remove() {
8
+ return _super !== null && _super.apply(this, arguments) || this;
9
+ }
10
+ Remove.run = function (scroller, options) {
11
+ var params = Remove.parseInput(scroller, options).params;
12
+ if (!params) {
13
+ return;
14
+ }
15
+ var shouldRemove = Remove.doRemove(scroller, params);
16
+ scroller.workflow.call({
17
+ process: Remove.process,
18
+ status: shouldRemove ? ProcessStatus.next : ProcessStatus.done
19
+ });
20
+ };
21
+ Remove.doRemove = function (scroller, params) {
22
+ var fetch = scroller.state.fetch;
23
+ fetch.firstVisible.index = NaN;
24
+ var removed = Remove.removeBufferedItems(scroller, params);
25
+ var shouldBuffered = removed.length > 0;
26
+ if (shouldBuffered) {
27
+ // exclude just removed in-buffer indexes
28
+ if (params.indexes && params.indexes.length) {
29
+ params.indexes = params.indexes.filter(function (i) { return !removed.includes(i); });
30
+ }
31
+ // shift virtual indexes that remain
32
+ if (params.indexes && params.indexes.length) {
33
+ var diffLeft_1 = (params.increase ? 1 : 0) * removed.length;
34
+ var diffRight_1 = (params.increase ? 0 : -1) * removed.length;
35
+ params.indexes = params.indexes.map(function (index) { return index + (index < removed[0] ? diffLeft_1 : diffRight_1); });
36
+ }
37
+ }
38
+ var shouldVirtual = Remove.removeVirtualItems(scroller, params);
39
+ if (!shouldBuffered && !shouldVirtual) {
40
+ return false;
41
+ }
42
+ scroller.logger.stat('after remove');
43
+ return true;
44
+ };
45
+ Remove.removeBufferedItems = function (scroller, options) {
46
+ var predicate = options.predicate, indexes = options.indexes, increase = options.increase;
47
+ if (!predicate && !indexes) {
48
+ return [];
49
+ }
50
+ var newPredicate = function (item) {
51
+ return (predicate && predicate(item)) || (!!indexes && indexes.includes(item.$index));
52
+ };
53
+ var indexesToRemove = scroller.buffer.items.reduce(function (acc, item) { return (newPredicate(item) ? __spreadArray(__spreadArray([], __read(acc), false), [item.$index], false) : acc); }, []);
54
+ var updateOptions = {
55
+ predicate: function (item) { return !newPredicate(item); },
56
+ fixRight: increase
57
+ };
58
+ Update.doUpdate(scroller, updateOptions);
59
+ return indexesToRemove;
60
+ };
61
+ Remove.removeVirtualItems = function (scroller, params) {
62
+ var indexes = params.indexes, increase = params.increase;
63
+ if (!indexes || !indexes.length) {
64
+ return false;
65
+ }
66
+ var buffer = scroller.buffer, viewport = scroller.viewport, state = scroller.state;
67
+ // get items to remove
68
+ var finiteAbsMinIndex = buffer.finiteAbsMinIndex, firstIndex = buffer.firstIndex, finiteAbsMaxIndex = buffer.finiteAbsMaxIndex, lastIndex = buffer.lastIndex;
69
+ var toRemove = [];
70
+ for (var i = 0, len = indexes.length; i < len; i++) {
71
+ var index = indexes[i];
72
+ if (index >= finiteAbsMinIndex && !isNaN(firstIndex) && index < firstIndex) {
73
+ toRemove.push(index); // backward;
74
+ }
75
+ else if (index <= finiteAbsMaxIndex && !isNaN(lastIndex) && index > lastIndex) {
76
+ toRemove.push(index); // forward;
77
+ }
78
+ else {
79
+ continue;
80
+ }
81
+ }
82
+ if (!toRemove.length) {
83
+ return false;
84
+ }
85
+ // what should be shown after remove; Buffer removal has priority
86
+ var fetch = state.fetch;
87
+ if (isNaN(fetch.firstVisible.index)) {
88
+ var _a = viewport.getEdgeVisibleItem(buffer.items, Direction.backward), index = _a.index, diff = _a.diff;
89
+ fetch.firstVisible.index = index;
90
+ if (!isNaN(index)) {
91
+ fetch.firstVisible.delta = -buffer.getSizeByIndex(index) + diff;
92
+ }
93
+ }
94
+ // virtual removal
95
+ scroller.logger.log(function () { return "going to remove ".concat(toRemove.length, " item(s) virtually"); });
96
+ buffer.removeVirtually(toRemove, !!increase);
97
+ buffer.checkDefaultSize();
98
+ Remove.shiftFirstVisibleIndex(scroller, toRemove, !!increase);
99
+ return true;
100
+ };
101
+ Remove.shiftFirstVisibleIndex = function (scroller, listToRemove, increase) {
102
+ var firstVisible = scroller.state.fetch.firstVisible;
103
+ if (isNaN(firstVisible.index)) {
104
+ return;
105
+ }
106
+ var shift = listToRemove.reduce(function (acc, index) {
107
+ return acc +
108
+ ((increase && index > firstVisible.index) || (!increase && index < firstVisible.index)
109
+ ? 1
110
+ : 0);
111
+ }, 0);
112
+ firstVisible.index = firstVisible.index + (increase ? shift : -shift);
113
+ };
114
+ return Remove;
115
+ }(BaseAdapterProcessFactory(AdapterProcess.remove)));
116
+ export default Remove;
116
117
  //# sourceMappingURL=remove.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/processes/adapter/remove.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 { Direction } from '../../inputs/index';\r\nimport { AdapterRemoveOptions, AdapterUpdateOptions, ItemsPredicate } from '../../interfaces/index';\r\n\r\nexport default class Remove extends BaseAdapterProcessFactory(AdapterProcess.remove) {\r\n\r\n static run(scroller: Scroller, options: AdapterRemoveOptions): void {\r\n const { params } = Remove.parseInput(scroller, options);\r\n if (!params) {\r\n return;\r\n }\r\n const shouldRemove = Remove.doRemove(scroller, params);\r\n\r\n scroller.workflow.call({\r\n process: Remove.process,\r\n status: shouldRemove ? ProcessStatus.next : ProcessStatus.done\r\n });\r\n }\r\n\r\n static doRemove(scroller: Scroller, params: AdapterRemoveOptions): boolean {\r\n const { fetch } = scroller.state;\r\n fetch.firstVisible.index = NaN;\r\n const removed = Remove.removeBufferedItems(scroller, params);\r\n const shouldBuffered = removed.length > 0;\r\n if (shouldBuffered) {\r\n // exclude just removed in-buffer indexes\r\n if (params.indexes && params.indexes.length) {\r\n params.indexes = params.indexes.filter(i => !removed.includes(i));\r\n }\r\n // shift virtual indexes that remain\r\n if (params.indexes && params.indexes.length) {\r\n const diffLeft = (params.increase ? 1 : 0) * removed.length;\r\n const diffRight = (params.increase ? 0 : -1) * removed.length;\r\n params.indexes = params.indexes.map(index =>\r\n index + (index < removed[0] ? diffLeft : diffRight)\r\n );\r\n }\r\n }\r\n const shouldVirtual = Remove.removeVirtualItems(scroller, params);\r\n if (!shouldBuffered && !shouldVirtual) {\r\n return false;\r\n }\r\n scroller.logger.stat('after remove');\r\n return true;\r\n }\r\n\r\n static removeBufferedItems(scroller: Scroller, options: AdapterRemoveOptions): number[] {\r\n const { predicate, indexes, increase } = options;\r\n if (!predicate && !indexes) {\r\n return [];\r\n }\r\n const newPredicate: ItemsPredicate = item =>\r\n (predicate && predicate(item)) ||\r\n (!!indexes && indexes.includes(item.$index));\r\n\r\n const indexesToRemove: number[] = scroller.buffer.items.reduce((acc, item) =>\r\n newPredicate(item) ? [...acc, item.$index] : acc, [] as number[]\r\n );\r\n const updateOptions: AdapterUpdateOptions = {\r\n predicate: item => !newPredicate(item),\r\n fixRight: increase\r\n };\r\n Update.doUpdate(scroller, updateOptions);\r\n return indexesToRemove;\r\n }\r\n\r\n static removeVirtualItems(scroller: Scroller, params: AdapterRemoveOptions): boolean {\r\n const { indexes, increase } = params;\r\n if (!indexes || !indexes.length) {\r\n return false;\r\n }\r\n const { buffer, viewport, state: { fetch } } = scroller;\r\n\r\n // get items to remove\r\n const { finiteAbsMinIndex, firstIndex, finiteAbsMaxIndex, lastIndex } = buffer;\r\n const toRemove = [];\r\n for (let i = 0, len = indexes.length; i < len; i++) {\r\n const index = indexes[i];\r\n if (index >= finiteAbsMinIndex && !isNaN(firstIndex) && index < firstIndex) {\r\n toRemove.push(index); // backward;\r\n } else if (index <= finiteAbsMaxIndex && !isNaN(lastIndex) && index > lastIndex) {\r\n toRemove.push(index); // forward;\r\n } else {\r\n continue;\r\n }\r\n }\r\n\r\n if (!toRemove.length) {\r\n return false;\r\n }\r\n\r\n // what should be shown after remove; Buffer removal has priority\r\n if (isNaN(fetch.firstVisible.index)) {\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.firstVisible.delta = - buffer.getSizeByIndex(index) + diff;\r\n }\r\n }\r\n\r\n // virtual removal\r\n scroller.logger.log(() => `going to remove ${toRemove.length} item(s) virtually`);\r\n buffer.removeVirtually(toRemove, !!increase);\r\n buffer.checkDefaultSize();\r\n Remove.shiftFirstVisibleIndex(scroller, toRemove, !!increase);\r\n\r\n return true;\r\n }\r\n\r\n static shiftFirstVisibleIndex(scroller: Scroller, listToRemove: number[], increase: boolean): void {\r\n const { firstVisible } = scroller.state.fetch;\r\n if (isNaN(firstVisible.index)) {\r\n return;\r\n }\r\n const shift = listToRemove.reduce((acc, index) => acc + (\r\n ((increase && index > firstVisible.index) || (!increase && index < firstVisible.index)) ? 1 : 0\r\n ), 0);\r\n firstVisible.index = firstVisible.index + (increase ? shift : -shift);\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/processes/adapter/remove.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scroller } from '../../scroller';\nimport Update from './update';\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\nimport { Direction } from '../../inputs/index';\nimport { AdapterRemoveOptions, AdapterUpdateOptions, ItemsPredicate } from '../../interfaces/index';\n\nexport default class Remove extends BaseAdapterProcessFactory(AdapterProcess.remove) {\n static run(scroller: Scroller, options: AdapterRemoveOptions): void {\n const { params } = Remove.parseInput(scroller, options);\n if (!params) {\n return;\n }\n const shouldRemove = Remove.doRemove(scroller, params);\n\n scroller.workflow.call({\n process: Remove.process,\n status: shouldRemove ? ProcessStatus.next : ProcessStatus.done\n });\n }\n\n static doRemove(scroller: Scroller, params: AdapterRemoveOptions): boolean {\n const { fetch } = scroller.state;\n fetch.firstVisible.index = NaN;\n const removed = Remove.removeBufferedItems(scroller, params);\n const shouldBuffered = removed.length > 0;\n if (shouldBuffered) {\n // exclude just removed in-buffer indexes\n if (params.indexes && params.indexes.length) {\n params.indexes = params.indexes.filter(i => !removed.includes(i));\n }\n // shift virtual indexes that remain\n if (params.indexes && params.indexes.length) {\n const diffLeft = (params.increase ? 1 : 0) * removed.length;\n const diffRight = (params.increase ? 0 : -1) * removed.length;\n params.indexes = params.indexes.map(\n index => index + (index < removed[0] ? diffLeft : diffRight)\n );\n }\n }\n const shouldVirtual = Remove.removeVirtualItems(scroller, params);\n if (!shouldBuffered && !shouldVirtual) {\n return false;\n }\n scroller.logger.stat('after remove');\n return true;\n }\n\n static removeBufferedItems(scroller: Scroller, options: AdapterRemoveOptions): number[] {\n const { predicate, indexes, increase } = options;\n if (!predicate && !indexes) {\n return [];\n }\n const newPredicate: ItemsPredicate = item =>\n (predicate && predicate(item)) || (!!indexes && indexes.includes(item.$index));\n\n const indexesToRemove: number[] = scroller.buffer.items.reduce(\n (acc, item) => (newPredicate(item) ? [...acc, item.$index] : acc),\n [] as number[]\n );\n const updateOptions: AdapterUpdateOptions = {\n predicate: item => !newPredicate(item),\n fixRight: increase\n };\n Update.doUpdate(scroller, updateOptions);\n return indexesToRemove;\n }\n\n static removeVirtualItems(scroller: Scroller, params: AdapterRemoveOptions): boolean {\n const { indexes, increase } = params;\n if (!indexes || !indexes.length) {\n return false;\n }\n const { buffer, viewport, state } = scroller;\n\n // get items to remove\n const { finiteAbsMinIndex, firstIndex, finiteAbsMaxIndex, lastIndex } = buffer;\n const toRemove = [];\n for (let i = 0, len = indexes.length; i < len; i++) {\n const index = indexes[i];\n if (index >= finiteAbsMinIndex && !isNaN(firstIndex) && index < firstIndex) {\n toRemove.push(index); // backward;\n } else if (index <= finiteAbsMaxIndex && !isNaN(lastIndex) && index > lastIndex) {\n toRemove.push(index); // forward;\n } else {\n continue;\n }\n }\n\n if (!toRemove.length) {\n return false;\n }\n\n // what should be shown after remove; Buffer removal has priority\n const { fetch } = state;\n if (isNaN(fetch.firstVisible.index)) {\n const { index, diff } = viewport.getEdgeVisibleItem(buffer.items, Direction.backward);\n fetch.firstVisible.index = index;\n if (!isNaN(index)) {\n fetch.firstVisible.delta = -buffer.getSizeByIndex(index) + diff;\n }\n }\n\n // virtual removal\n scroller.logger.log(() => `going to remove ${toRemove.length} item(s) virtually`);\n buffer.removeVirtually(toRemove, !!increase);\n buffer.checkDefaultSize();\n Remove.shiftFirstVisibleIndex(scroller, toRemove, !!increase);\n\n return true;\n }\n\n static shiftFirstVisibleIndex(\n scroller: Scroller,\n listToRemove: number[],\n increase: boolean\n ): void {\n const { firstVisible } = scroller.state.fetch;\n if (isNaN(firstVisible.index)) {\n return;\n }\n const shift = listToRemove.reduce(\n (acc, index) =>\n acc +\n ((increase && index > firstVisible.index) || (!increase && index < firstVisible.index)\n ? 1\n : 0),\n 0\n );\n firstVisible.index = firstVisible.index + (increase ? shift : -shift);\n }\n}\n"]}
@@ -1,48 +1,48 @@
1
- import { __extends } from "tslib";
2
- import Update from './update';
3
- import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
4
- var Replace = /** @class */ (function (_super) {
5
- __extends(Replace, _super);
6
- function Replace() {
7
- return _super !== null && _super.apply(this, arguments) || this;
8
- }
9
- Replace.run = function (scroller, options) {
10
- var params = Replace.parseInput(scroller, options).params;
11
- if (!params) {
12
- return;
13
- }
14
- var shouldReplace = Replace.doReplace(scroller, params);
15
- scroller.workflow.call({
16
- process: Replace.process,
17
- status: shouldReplace ? ProcessStatus.next : ProcessStatus.done,
18
- });
19
- };
20
- Replace.doReplace = function (scroller, params) {
21
- var toRemove = scroller.buffer.items
22
- .filter(function (item) { return params.predicate(item); })
23
- .map(function (item) { return item.$index; });
24
- if (!toRemove.length) {
25
- scroller.logger.log('no items to be replaced');
26
- return false;
27
- }
28
- var injected = false;
29
- var updateOptions = {
30
- predicate: function (_a) {
31
- var $index = _a.$index;
32
- if (!toRemove.includes($index)) {
33
- return true;
34
- }
35
- if (!injected) {
36
- injected = true;
37
- return params.items;
38
- }
39
- return false;
40
- },
41
- fixRight: params.fixRight
42
- };
43
- return Update.doUpdate(scroller, updateOptions);
44
- };
45
- return Replace;
46
- }(BaseAdapterProcessFactory(AdapterProcess.replace)));
47
- export default Replace;
1
+ import { __extends } from "tslib";
2
+ import Update from './update';
3
+ import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
4
+ var Replace = /** @class */ (function (_super) {
5
+ __extends(Replace, _super);
6
+ function Replace() {
7
+ return _super !== null && _super.apply(this, arguments) || this;
8
+ }
9
+ Replace.run = function (scroller, options) {
10
+ var params = Replace.parseInput(scroller, options).params;
11
+ if (!params) {
12
+ return;
13
+ }
14
+ var shouldReplace = Replace.doReplace(scroller, params);
15
+ scroller.workflow.call({
16
+ process: Replace.process,
17
+ status: shouldReplace ? ProcessStatus.next : ProcessStatus.done
18
+ });
19
+ };
20
+ Replace.doReplace = function (scroller, params) {
21
+ var toRemove = scroller.buffer.items
22
+ .filter(function (item) { return params.predicate(item); })
23
+ .map(function (item) { return item.$index; });
24
+ if (!toRemove.length) {
25
+ scroller.logger.log('no items to be replaced');
26
+ return false;
27
+ }
28
+ var injected = false;
29
+ var updateOptions = {
30
+ predicate: function (_a) {
31
+ var $index = _a.$index;
32
+ if (!toRemove.includes($index)) {
33
+ return true;
34
+ }
35
+ if (!injected) {
36
+ injected = true;
37
+ return params.items;
38
+ }
39
+ return false;
40
+ },
41
+ fixRight: params.fixRight
42
+ };
43
+ return Update.doUpdate(scroller, updateOptions);
44
+ };
45
+ return Replace;
46
+ }(BaseAdapterProcessFactory(AdapterProcess.replace)));
47
+ export default Replace;
48
48
  //# sourceMappingURL=replace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replace.js","sourceRoot":"","sources":["../../../../src/processes/adapter/replace.ts"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGzF;IAAqC,2BAAiD;IAAtF;;IA2CA,CAAC;IAzCQ,WAAG,GAAV,UAAW,QAAkB,EAAE,OAA8B;QACnD,IAAA,MAAM,GAAK,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,OAA1C,CAA2C;QACzD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,IAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE1D,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;SAChE,CAAC,CAAC;IACL,CAAC;IAEM,iBAAS,GAAhB,UAAiB,QAAkB,EAAE,MAA6B;QAChE,IAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK;aACnC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAtB,CAAsB,CAAC;aACtC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,EAAX,CAAW,CAAC,CAAC;QAE5B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC;SACd;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAM,aAAa,GAAyB;YAC1C,SAAS,EAAE,UAAC,EAAU;oBAAR,MAAM,YAAA;gBAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBAC9B,OAAO,IAAI,CAAC;iBACb;gBACD,IAAI,CAAC,QAAQ,EAAE;oBACb,QAAQ,GAAG,IAAI,CAAC;oBAChB,OAAO,MAAM,CAAC,KAAK,CAAC;iBACrB;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QAEF,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC;IAEH,cAAC;AAAD,CAAC,AA3CD,CAAqC,yBAAyB,CAAC,cAAc,CAAC,OAAO,CAAC,GA2CrF","sourcesContent":["import { Scroller } from '../../scroller';\r\nimport Update from './update';\r\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\r\nimport { AdapterReplaceOptions, AdapterUpdateOptions } from '../../interfaces/index';\r\n\r\nexport default class Replace extends BaseAdapterProcessFactory(AdapterProcess.replace) {\r\n\r\n static run(scroller: Scroller, options: AdapterReplaceOptions): void {\r\n const { params } = Replace.parseInput(scroller, options);\r\n if (!params) {\r\n return;\r\n }\r\n const shouldReplace = Replace.doReplace(scroller, params);\r\n\r\n scroller.workflow.call({\r\n process: Replace.process,\r\n status: shouldReplace ? ProcessStatus.next : ProcessStatus.done,\r\n });\r\n }\r\n\r\n static doReplace(scroller: Scroller, params: AdapterReplaceOptions): boolean {\r\n const toRemove = scroller.buffer.items\r\n .filter(item => params.predicate(item))\r\n .map(item => item.$index);\r\n\r\n if (!toRemove.length) {\r\n scroller.logger.log('no items to be replaced');\r\n return false;\r\n }\r\n\r\n let injected = false;\r\n const updateOptions: AdapterUpdateOptions = {\r\n predicate: ({ $index }) => {\r\n if (!toRemove.includes($index)) {\r\n return true;\r\n }\r\n if (!injected) {\r\n injected = true;\r\n return params.items;\r\n }\r\n return false;\r\n },\r\n fixRight: params.fixRight\r\n };\r\n\r\n return Update.doUpdate(scroller, updateOptions);\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"replace.js","sourceRoot":"","sources":["../../../../src/processes/adapter/replace.ts"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGzF;IAAqC,2BAAiD;IAAtF;;IAyCA,CAAC;IAxCQ,WAAG,GAAV,UAAW,QAAkB,EAAE,OAA8B;QACnD,IAAA,MAAM,GAAK,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,OAA1C,CAA2C;QACzD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,IAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE1D,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;SAChE,CAAC,CAAC;IACL,CAAC;IAEM,iBAAS,GAAhB,UAAiB,QAAkB,EAAE,MAA6B;QAChE,IAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK;aACnC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAtB,CAAsB,CAAC;aACtC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,EAAX,CAAW,CAAC,CAAC;QAE5B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAM,aAAa,GAAyB;YAC1C,SAAS,EAAE,UAAC,EAAU;oBAAR,MAAM,YAAA;gBAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,GAAG,IAAI,CAAC;oBAChB,OAAO,MAAM,CAAC,KAAK,CAAC;gBACtB,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QAEF,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC;IACH,cAAC;AAAD,CAAC,AAzCD,CAAqC,yBAAyB,CAAC,cAAc,CAAC,OAAO,CAAC,GAyCrF","sourcesContent":["import { Scroller } from '../../scroller';\nimport Update from './update';\nimport { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';\nimport { AdapterReplaceOptions, AdapterUpdateOptions } from '../../interfaces/index';\n\nexport default class Replace extends BaseAdapterProcessFactory(AdapterProcess.replace) {\n static run(scroller: Scroller, options: AdapterReplaceOptions): void {\n const { params } = Replace.parseInput(scroller, options);\n if (!params) {\n return;\n }\n const shouldReplace = Replace.doReplace(scroller, params);\n\n scroller.workflow.call({\n process: Replace.process,\n status: shouldReplace ? ProcessStatus.next : ProcessStatus.done\n });\n }\n\n static doReplace(scroller: Scroller, params: AdapterReplaceOptions): boolean {\n const toRemove = scroller.buffer.items\n .filter(item => params.predicate(item))\n .map(item => item.$index);\n\n if (!toRemove.length) {\n scroller.logger.log('no items to be replaced');\n return false;\n }\n\n let injected = false;\n const updateOptions: AdapterUpdateOptions = {\n predicate: ({ $index }) => {\n if (!toRemove.includes($index)) {\n return true;\n }\n if (!injected) {\n injected = true;\n return params.items;\n }\n return false;\n },\n fixRight: params.fixRight\n };\n\n return Update.doUpdate(scroller, updateOptions);\n }\n}\n"]}
@@ -1,43 +1,43 @@
1
- import { __extends } from "tslib";
2
- import { DatasourceProps } from '../../inputs/index';
3
- import { Datasource } from '../../classes/datasource';
4
- import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
5
- var Reset = /** @class */ (function (_super) {
6
- __extends(Reset, _super);
7
- function Reset() {
8
- return _super !== null && _super.apply(this, arguments) || this;
9
- }
10
- Reset.run = function (scroller, options) {
11
- var datasource = scroller.datasource, buffer = scroller.buffer, paddings = scroller.viewport.paddings, cycle = scroller.state.cycle;
12
- if (options) {
13
- var data_1 = Reset.parseInput(scroller, options).data;
14
- if (!data_1.isValid) {
15
- return;
16
- }
17
- var constructed_1 = options instanceof Datasource;
18
- Object.keys(DatasourceProps).forEach(function (key) {
19
- var param = data_1.params[key];
20
- var ds = datasource;
21
- if (param.isSet || (constructed_1 && ds[key])) {
22
- ds[key] = param.value;
23
- }
24
- });
25
- }
26
- buffer.reset(true);
27
- paddings.backward.reset();
28
- paddings.forward.reset();
29
- var payload = { datasource: datasource };
30
- if (cycle.busy.get()) {
31
- payload.finalize = true;
32
- cycle.interrupter = Reset.process;
33
- }
34
- scroller.workflow.call({
35
- process: Reset.process,
36
- status: ProcessStatus.next,
37
- payload: payload
38
- });
39
- };
40
- return Reset;
41
- }(BaseAdapterProcessFactory(AdapterProcess.reset)));
42
- export default Reset;
1
+ import { __extends } from "tslib";
2
+ import { DatasourceProps } from '../../inputs/index';
3
+ import { Datasource } from '../../classes/datasource';
4
+ import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
5
+ var Reset = /** @class */ (function (_super) {
6
+ __extends(Reset, _super);
7
+ function Reset() {
8
+ return _super !== null && _super.apply(this, arguments) || this;
9
+ }
10
+ Reset.run = function (scroller, options) {
11
+ var datasource = scroller.datasource, buffer = scroller.buffer, viewport = scroller.viewport, state = scroller.state;
12
+ if (options) {
13
+ var data_1 = Reset.parseInput(scroller, options).data;
14
+ if (!data_1.isValid) {
15
+ return;
16
+ }
17
+ var constructed_1 = options instanceof Datasource;
18
+ Object.keys(DatasourceProps).forEach(function (key) {
19
+ var param = data_1.params[key];
20
+ var ds = datasource;
21
+ if (param.isSet || (constructed_1 && ds[key])) {
22
+ ds[key] = param.value;
23
+ }
24
+ });
25
+ }
26
+ buffer.reset(true);
27
+ viewport.paddings.backward.reset();
28
+ viewport.paddings.forward.reset();
29
+ var payload = { datasource: datasource };
30
+ if (state.cycle.busy.get()) {
31
+ payload.finalize = true;
32
+ state.cycle.interrupter = Reset.process;
33
+ }
34
+ scroller.workflow.call({
35
+ process: Reset.process,
36
+ status: ProcessStatus.next,
37
+ payload: payload
38
+ });
39
+ };
40
+ return Reset;
41
+ }(BaseAdapterProcessFactory(AdapterProcess.reset)));
42
+ export default Reset;
43
43
  //# sourceMappingURL=reset.js.map