opendash
Version:
open.DASH data visualization framework
33 lines • 1.25 kB
JavaScript
import * as React from "react";
import { useDataItems } from "..";
export function useDataItemDimensions(searchString) {
var items = useDataItems();
var itemsFormatted = React.useMemo(function () {
return items.flatMap(function (item) {
return item.valueTypes.map(function (valueType, dimension) { return ({
id: item.id,
name: item.name,
source: item.source,
dimension: dimension,
valueType: valueType,
}); });
});
}, [items]);
var result = React.useMemo(function () {
if (!searchString) {
return itemsFormatted;
}
var searchStrings = searchString.toLowerCase().split(" ");
var result = itemsFormatted.filter(function (item) {
var searchIndex = [item.id, item.name, item.valueType.name]
.join("~")
.toLowerCase();
return searchStrings.every(function (searchTerm) {
return searchIndex.includes(searchTerm);
});
});
return result;
}, [searchString, itemsFormatted]);
return result;
}
//# sourceMappingURL=useDataItemDimensions.js.map