UNPKG

inegicomponentes-grafica

Version:

Componentes de visualizacion 2023 - Graficas

59 lines (53 loc) 1.58 kB
/**============================================== * ! CONTEXTO DEL ESTADO GLOBAL * * @descripcion: config, dataset y columnas del componente * * columnas: [ * { * nombre:"string", * alinear:"c|i|d" // c= centrar, d=derecha, i=izquierda * resaltar:true // texto en negritas * } * ] * * * *=============================================**/ import React, {createContext, useRef, useContext} from 'react'; import Highcharts from 'highcharts'; import HC_exporting from 'highcharts/modules/exporting' import { create, createStore, useStore } from 'zustand'; import { useShallow } from 'zustand/react/shallow' export const StoreContexto = createContext(); const useStoreInContext = (selector) => { const store = useContext(StoreContexto) if (!store) { throw new Error('Missing StoreProvider') } return useStore(store, selector) } const StoreProvider = ({children}) => { let store = useRef() if(!store.current){ store.current = createStore((set, get) => ({ config:{}, inicializaStore:(p) => { set((state) =>({config:p})) }, updateConfig:(p) => { let configLocal = get().config; set((state) =>({config:{...configLocal,...p}})) } })) } return ( <StoreContexto.Provider value={store.current}> {children} </StoreContexto.Provider> ) } export { useStoreInContext, StoreProvider }