UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

37 lines 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isValidSavedQuery = exports.areValidSavedQueries = exports.extractValidSavedQueries = exports.useSavedQueries = void 0; const useStore_1 = require("../../store/useStore.cjs"); const useSavedQueries = (resource) => { return (0, useStore_1.useStore)(`${resource}.savedQueries`, []); }; exports.useSavedQueries = useSavedQueries; const extractValidSavedQueries = (savedQueries) => { if (Array.isArray(savedQueries)) { return savedQueries.filter(query => (0, exports.isValidSavedQuery)(query)); } return []; }; exports.extractValidSavedQueries = extractValidSavedQueries; const areValidSavedQueries = (savedQueries) => { if (Array.isArray(savedQueries) && savedQueries.every(query => (0, exports.isValidSavedQuery)(query))) { return true; } }; exports.areValidSavedQueries = areValidSavedQueries; 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; }; exports.isValidSavedQuery = isValidSavedQuery; //# sourceMappingURL=useSavedQueries.js.map