diff options
author | Allan Wang <me@allanwang.ca> | 2020-11-07 21:16:07 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-07 21:16:07 -0800 |
commit | a6add7ed6b6a58971c5a439b81d6527d3ee196b9 (patch) | |
tree | 6de6bbd1da40fad926a15c12958e5ec808ec2367 /app/src/web/ts/scroll_stop.ts | |
parent | 8cac4ce54358f23a30a762bbb960309914507bb8 (diff) | |
parent | be1132c6df6ca1a664bc557dd02094b36195cc76 (diff) | |
download | frost-a6add7ed6b6a58971c5a439b81d6527d3ee196b9.tar.gz frost-a6add7ed6b6a58971c5a439b81d6527d3ee196b9.tar.bz2 frost-a6add7ed6b6a58971c5a439b81d6527d3ee196b9.zip |
Merge pull request #1729 from AllanWang/feature-scrolling-aware
Diffstat (limited to 'app/src/web/ts/scroll_stop.ts')
-rw-r--r-- | app/src/web/ts/scroll_stop.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/src/web/ts/scroll_stop.ts b/app/src/web/ts/scroll_stop.ts new file mode 100644 index 00000000..1ec6d30b --- /dev/null +++ b/app/src/web/ts/scroll_stop.ts @@ -0,0 +1,25 @@ +// Listen when scrolling events stop +(function () { + let scrollTimeout: number | undefined = undefined; + let scrolling: boolean = false; + + window.addEventListener('scroll', function (event) { + + if (!scrolling) { + Frost.setScrolling(true); + scrolling = true; + } + + window.clearTimeout(scrollTimeout); + + scrollTimeout = setTimeout(function () { + if (scrolling) { + Frost.setScrolling(false); + scrolling = false; + } + }, 600); + // For our specific use case, we want to release other features pretty far after scrolling stops + // For general scrolling use cases, the delta can be much smaller + // My assumption for context menus is that the long press is 500ms + }, false); +}).call(undefined);
\ No newline at end of file |