PullDownToRefresh: adpats useMaybeIsFrameSuspended
This commit is contained in:
		
							parent
							
								
									169aa91e73
								
							
						
					
					
						commit
						3c50f150dc
					
				
					 1 changed files with 8 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -10,6 +10,7 @@ import { Refresh as RefreshIcon } from "@suid/icons-material";
 | 
			
		|||
import { CircularProgress } from "@suid/material";
 | 
			
		||||
import { makeEventListener } from "@solid-primitives/event-listener";
 | 
			
		||||
import { createVisibilityObserver } from "@solid-primitives/intersection-observer";
 | 
			
		||||
import { useMaybeIsFrameSuspended } from "../platform/StackedRouter";
 | 
			
		||||
 | 
			
		||||
const PullDownToRefresh: Component<{
 | 
			
		||||
  loading?: boolean;
 | 
			
		||||
| 
						 | 
				
			
			@ -33,6 +34,7 @@ const PullDownToRefresh: Component<{
 | 
			
		|||
  });
 | 
			
		||||
 | 
			
		||||
  const rootVisible = obvx(() => rootElement);
 | 
			
		||||
  const isFrameSuspended = useMaybeIsFrameSuspended()
 | 
			
		||||
 | 
			
		||||
  createEffect(() => {
 | 
			
		||||
    if (!rootVisible()) setPullDown(0);
 | 
			
		||||
| 
						 | 
				
			
			@ -109,6 +111,9 @@ const PullDownToRefresh: Component<{
 | 
			
		|||
    if (!rootVisible()) {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    if (isFrameSuspended()) {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    const element = props.linkedElement;
 | 
			
		||||
    if (!element) return;
 | 
			
		||||
    makeEventListener(element, "wheel", handleLinkedWheel);
 | 
			
		||||
| 
						 | 
				
			
			@ -159,6 +164,9 @@ const PullDownToRefresh: Component<{
 | 
			
		|||
    if (!rootVisible()) {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    if (isFrameSuspended()) {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    const element = props.linkedElement;
 | 
			
		||||
    if (!element) return;
 | 
			
		||||
    makeEventListener(element, "touchmove", handleTouch);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue