Params object contains query parameters to filter or fetch submissions:
projectId: The ID of the project to which the submissions belong.schemaId: The ID of the schema used for filtering submissions.state: The state(s) of the submissions to filter by. Can be a single state or an array of states.ownerId: The ID of the owner to filter submissions by.limit: The maximum number of submissions to fetch in a single query. Useful for pagination.page: The page number to fetch when paginating through submissions. Typically used alongside limit.The returning object contains:
submissions: The filtered list of submissions, which includes only submissions that match the specified params.approveAll: Fucntion to approve all submissions in the current list.refresh: Function to refresh the list of submissions by re-fetching them from the
backend. Pass quiet to suppress loading indicators.rejectAll: Function to reject all submissions in the current list.fetchMore: Function to fetch additional submissions beyond the current list.
Pass refresh to indicate whether to refresh the existing list.fetched: Boolean indicating whether the list of submissions has been fetched from the
backend.hasMore: Boolean indicating whether there are more submissions available to fetch.currentPage: The current page of submissions that has been fetched.params to fetch submissions that match
specific criteria (e.g., state, schemaId, ownerId, etc.).useSubmissions: Delegates the functionality to useSubmissions,
passing an empty initial list and the params object for filtered fetching.useSubmissions hook, including pagination (fetchMore), refreshing (refresh), and bulk
actions (approveAll, rejectAll).useSubmissions and can
be handled or surfaced as needed.import { useSubmissionsByParams } from 'react-playmakers';
const SubmissionsList = () => {
const params = {
state: "published",
ownerId: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
schemaId: "sXXXXXXXX",
limit: 10,
};
const { submissions, fetchMore, refresh, fetched } = useSubmissionsByParams(params);
if (!fetched) {
return <div>Loading submissions...</div>;
}
return (
<div>
{submissions.map(submission => (
<div key={submission.id}>{submission.name}</div>
))}
<button onClick={() => fetchMore()}>Load More</button>
<button onClick={() => refresh(false)}>Refresh</button>
</div>
);
};
Generated using TypeDoc
Custom React hook to fetch and manage submissions based on specified parameters.
This hook is a wrapper around the useSubmissions hook, allowing submissions to be filtered or fetched directly based on the provided params.