This commit is contained in:
parent
f1197d6ba0
commit
73a56357d9
8 changed files with 153 additions and 267 deletions
|
@ -1,24 +1,15 @@
|
|||
import {
|
||||
createEffect,
|
||||
createRenderEffect,
|
||||
createSignal,
|
||||
onCleanup,
|
||||
Show,
|
||||
untrack,
|
||||
type Component,
|
||||
type Signal,
|
||||
} from "solid-js";
|
||||
import { css } from "solid-styled";
|
||||
import { Refresh as RefreshIcon } from "@suid/icons-material";
|
||||
import { CircularProgress } from "@suid/material";
|
||||
import {
|
||||
createEventListener,
|
||||
makeEventListener,
|
||||
} from "@solid-primitives/event-listener";
|
||||
import {
|
||||
createViewportObserver,
|
||||
createVisibilityObserver,
|
||||
} from "@solid-primitives/intersection-observer";
|
||||
import { makeEventListener } from "@solid-primitives/event-listener";
|
||||
import { createVisibilityObserver } from "@solid-primitives/intersection-observer";
|
||||
|
||||
const PullDownToRefresh: Component<{
|
||||
loading?: boolean;
|
||||
|
@ -114,14 +105,13 @@ const PullDownToRefresh: Component<{
|
|||
}
|
||||
};
|
||||
|
||||
createEffect((cleanup?: () => void) => {
|
||||
createEffect(() => {
|
||||
if (!rootVisible()) {
|
||||
return;
|
||||
}
|
||||
cleanup?.();
|
||||
const element = props.linkedElement;
|
||||
if (!element) return;
|
||||
return makeEventListener(element, "wheel", handleLinkedWheel);
|
||||
makeEventListener(element, "wheel", handleLinkedWheel);
|
||||
});
|
||||
|
||||
let lastTouchId: number | undefined = undefined;
|
||||
|
@ -165,16 +155,14 @@ const PullDownToRefresh: Component<{
|
|||
}
|
||||
};
|
||||
|
||||
createEffect((cleanup?: () => void) => {
|
||||
createEffect(() => {
|
||||
if (!rootVisible()) {
|
||||
return;
|
||||
}
|
||||
cleanup?.();
|
||||
const element = props.linkedElement;
|
||||
if (!element) return;
|
||||
const cleanup0 = makeEventListener(element, "touchmove", handleTouch);
|
||||
const cleanup1 = makeEventListener(element, "touchend", handleTouchEnd);
|
||||
return () => (cleanup0(), cleanup1());
|
||||
makeEventListener(element, "touchmove", handleTouch);
|
||||
makeEventListener(element, "touchend", handleTouchEnd);
|
||||
});
|
||||
|
||||
css`
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue