$81 GRAYBYTE WORDPRESS FILE MANAGER $83

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.157
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/home/bravrvjk/itiministry.org/wp-content/plugins/give/src/Views/Components/ListTable/

HOME
Current File : /home/bravrvjk/itiministry.org/wp-content/plugins/give/src/Views/Components/ListTable//api.ts
import useSWR from 'swr';
import lagData from './hooks/lagData';
import useFallbackAsInitial from '@givewp/components/ListTable/hooks/useFallbackAsInitial';

export default class ListTableApi {
    private readonly apiRoot: string;
    private controller: AbortController | null;
    private readonly headers: {'X-WP-Nonce': string; 'Content-Type': string};
    private readonly swrOptions;

    constructor({apiNonce, apiRoot, preload = null, swrConfig = {}}) {
        this.controller = null;
        this.apiRoot = apiRoot;
        this.headers = {
            'Content-Type': 'application/json',
            'X-WP-Nonce': apiNonce,
        };
        this.swrOptions = {
            use: [lagData],
            ...swrConfig,
            onErrorRetry: (error, key, config, revalidate, {retryCount}) => {
                //don't retry if we cancelled the initial request
                if (error.name == 'AbortError') return;
                if (retryCount >= 5) return;
                const retryAfter = (retryCount + 1) * 500;
                setTimeout(() => revalidate({retryCount}), retryAfter);
            },
        };
        if (preload) {
            this.swrOptions.fallbackData = preload;
            this.swrOptions.use.push(useFallbackAsInitial);
        }
    }

    fetchWithArgs = (endpoint, args, method = 'GET', signal = null) => {
        const url = new URL(this.apiRoot + endpoint);
        for (const [param, value] of Object.entries(args)) {
            value !== '' && url.searchParams.set(param, value as string);
        }
        return fetch(url.href, {
            method: method,
            signal: signal,
            headers: this.headers,
        }).then((res) => {
            if (!res.ok) {
                return res.text().then((errorMessage) => {
                    throw new Error(errorMessage);
                });
            }
            return res.json();
        });
    };

    fetcher = (params) => {
        if (this.controller instanceof AbortController) this.controller.abort();
        this.controller = new AbortController();
        return this.fetchWithArgs('', params, 'GET', this.controller.signal);
    };

    // SWR Fetcher
    useListTable = ({page, perPage, sortColumn, sortDirection, locale, testMode, ...filters}) => {
        const {data, error, mutate, isValidating} = useSWR(
            {
                page,
                perPage,
                sortColumn,
                sortDirection,
                locale,
                testMode,
                ...filters,
            },
            this.fetcher,
            this.swrOptions
        );
        return {data, error, mutate, isValidating};
    };

    useStats = (testMode) => {
        const {data, error, mutate, isValidating} = useSWR(
            {testMode},
            (params) => this.fetchWithArgs('/stats', params, 'GET'),
            this.swrOptions
        );
        return {data, error, mutate, isValidating};
    };
}


Current_dir [ WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
BlankSlate
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
BulkActions
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
CustomFilter
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
FilterBy
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Filters
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Input
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
InterweaveSSR
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
ListTable
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
ListTableHeaders
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
ListTablePage
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
ListTableRows
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
ListTableStats
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Pagination
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
ProductRecommendations
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
RowAction
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Select
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
TableCell
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
ToggleSwitch
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
hooks
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
README.MD
12.054 KB
19 Jan 2023 12.19 AM
bravrvjk / bravrvjk
0644
api.ts
2.902 KB
1 Oct 2025 3.37 PM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF