opendash
Version:
open.DASH data visualization framework
23 lines (18 loc) • 544 B
text/typescript
import * as React from "react";
import { DataItemInterface, useOpenDashServices, useForceRender } from "..";
export function useDataItem(source: string, id: string): DataItemInterface {
const { DataService } = useOpenDashServices();
const forceRender = useForceRender();
React.useEffect(() => {
if (id) {
// @ts-ignore
return DataService.subscribeItem({ source, id }, () => {
forceRender();
});
}
}, [id]);
if (!id) {
return undefined;
}
return DataService._getOrThrowSync(source, id);
}