UNPKG

opendash

Version:

open.DASH data visualization framework

34 lines (27 loc) 709 B
import * as React from "react"; import { useOpenDashServices, useForceRender, SourceInterface } from ".."; type useSourceResult = [ SourceInterface, (input: string) => void, SourceInterface[], boolean, boolean ]; export function useSource(): useSourceResult { const { SourceService } = useOpenDashServices(); const forceRender = useForceRender(); React.useEffect(() => { return SourceService.subscribe(() => { forceRender(); }); }, []); return [ SourceService.getCurrent(), React.useCallback((input: string) => { SourceService.setCurrent(input); }, []), SourceService.getAll(), SourceService.isLoading(), SourceService.isEnabled(), ]; }