ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
30 lines • 1.08 kB
JavaScript
import { useStore } from "../../store/useStore.js";
export const useSavedQueries = (resource) => {
return useStore(`${resource}.savedQueries`, []);
};
export const extractValidSavedQueries = (savedQueries) => {
if (Array.isArray(savedQueries)) {
return savedQueries.filter(query => isValidSavedQuery(query));
}
return [];
};
export const areValidSavedQueries = (savedQueries) => {
if (Array.isArray(savedQueries) &&
savedQueries.every(query => isValidSavedQuery(query))) {
return true;
}
};
export const isValidSavedQuery = (savedQuery) => {
if (savedQuery.label &&
typeof savedQuery.label === 'string' &&
savedQuery.value &&
typeof Array.isArray(savedQuery.value.displayedFilters) &&
typeof savedQuery.value.perPage === 'number' &&
typeof savedQuery.value.sort?.field === 'string' &&
typeof savedQuery.value.sort?.order === 'string' &&
typeof savedQuery.value.filter === 'object') {
return true;
}
return false;
};
//# sourceMappingURL=useSavedQueries.js.map