mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-25 03:38:11 +08:00
* type camera
* type reducer store
* type actionhelpers
* type catchErrorsWrap callsite
* missed camera member var
* type nameCreators
* type makeContinousDimensionName callsite
* type promise limit
* type quantile
* type range
* introduce TypedArray + NumericArray
* type range
* cleanup test
* fix call sites
* type plimit call site
* finish typing camera
* use our TypedArray
* type scientific and sigFig utils and callsites
* simple typings
* type catLabelSort
* type callsite
* type
* callsites
* type camera methods
* swap back to strings, set defaults accordingly
* partially type centroid
* explicit tuple and undefined check
* fix references to this
* call constructor with new and casting
* Revert "introduce TypedArray + NumericArray"
This reverts commit cf21538717.
* explicit tuple
* generics and import fixes
* add unsigned 8 clamped arrray
* back to literals
* use arraytypes
* fix return state
* type more actions
* Update client/src/util/actionHelpers.ts
Co-authored-by: Timmy Huang <tihuan@users.noreply.github.com>
* properly type dispatch
* properly type thunk
* use new dispatch
* remove nullish coallescer
* use AppDispatch
* generic jsonrequest
* use dispatch again
* lint
Co-authored-by: Timmy Huang <tihuan@users.noreply.github.com>
19 lines
705 B
TypeScript
19 lines
705 B
TypeScript
export default function renderThrottle<T>(
|
|
callback: (this: T) => void
|
|
): (this: T) => void {
|
|
/*
|
|
This wraps a call to requestAnimationFrame(), enforcing a single
|
|
render callback at any given time (ie, you can call this any number
|
|
of times, and it will coallesce multiple inter-frame calls into a
|
|
single render).
|
|
*/
|
|
let rafCurrentlyInProgress: number | null = null;
|
|
return function f(this: T) {
|
|
if (rafCurrentlyInProgress) return; // eslint-disable-next-line @typescript-eslint/no-this-alias --- required for functionality
|
|
rafCurrentlyInProgress = window.requestAnimationFrame(() => {
|
|
callback.call<T, never, void>(this);
|
|
rafCurrentlyInProgress = null;
|
|
});
|
|
};
|
|
}
|