%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/dopla/www/wp-content/plugins/ml-slider/extendify-sdk/src/hooks/
Upload File :
Create Path :
Current File : /home/dopla/www/wp-content/plugins/ml-slider/extendify-sdk/src/hooks/useTaxonomies.js

import { useEffect, useCallback } from '@wordpress/element'
import { Taxonomies as TaxonomiesApi } from '../api/Taxonomies'
import { useTaxonomyStore } from '../state/Taxonomies'
import { useTemplatesStore } from '../state/Templates'

export default function useTaxonomies(fetchImmediately = false) {
    const setupDefaultTaxonomies = useTemplatesStore(
        (state) => state.setupDefaultTaxonomies,
    )
    const setTaxonomies = useTaxonomyStore((state) => state.setTaxonomies)
    const fetchTaxonomies = useCallback(async () => {
        let tax = await TaxonomiesApi.get()
        // Only allow items that have the 'tax_' prefix
        tax = Object.keys(tax)
            .filter((t) => t.startsWith('tax_'))
            .reduce((taxFiltered, key) => {
                taxFiltered[key] = tax[key]
                return taxFiltered
            }, {})
        if (!Object.keys(tax)?.length) {
            return
        }
        setTaxonomies(tax)
        setupDefaultTaxonomies()
    }, [setTaxonomies, setupDefaultTaxonomies])

    useEffect(() => {
        fetchImmediately && fetchTaxonomies()
    }, [fetchTaxonomies, fetchImmediately])
}

Zerion Mini Shell 1.0