UNPKG

fastapi-rtk

Version:

A React component library for FastAPI in combination with FastAPI React Toolkit backend, built with Mantine, JsonForms, and Zustand.

30 lines (29 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const React = require("react"); const postBulkAction = require("../utils/bulkActions/postBulkAction.cjs"); const defaultBulk = { postBulk: postBulkAction.postBulk }; const useProvideBulk = ({ path }, bulk = defaultBulk) => { const [selectedIds, setSelectedIds] = React.useState([]); const [error, setError] = React.useState(); const resetError = React.useCallback(() => setError(void 0), []); const dispatchBulkActions = React.useCallback( async (handler, data) => { try { resetError(); if (data === void 0) { data = selectedIds; } const response = await bulk.postBulk(path, handler, data); return response; } catch (error2) { setError({ message: `Could not perform bulk action`, originalError: error2 }); } }, [bulk, path, resetError, selectedIds] ); const bulkActions = React.useMemo(() => ({ selectedIds, setSelectedIds }), [selectedIds, setSelectedIds]); return { bulkActions, dispatchBulkActions, error, resetError }; }; exports.defaultBulk = defaultBulk; exports.useProvideBulk = useProvideBulk;