opendash
Version:
open.DASH data visualization framework
24 lines • 996 B
JavaScript
import * as React from "react";
import { useOpenDashServices, useForceRender } from "..";
export function useDataItems(searchString) {
var DataService = useOpenDashServices().DataService;
var forceRender = useForceRender();
React.useEffect(function () {
return DataService.subscribeItemList(function () {
forceRender();
});
}, []);
return React.useMemo(function () {
if (searchString) {
var searchStrings_1 = searchString.toLowerCase().split(" ");
return DataService._listOrThrowSync().filter(function (item) {
var searchIndex = [item.id, item.name].join("~").toLowerCase();
return searchStrings_1.every(function (searchTerm) {
return searchIndex.includes(searchTerm);
});
});
}
return DataService._listOrThrowSync();
}, [forceRender, searchString]);
}
//# sourceMappingURL=useDataItems.js.map