table-reuse
Version:
Common, reusable React UI components
34 lines • 1 kB
JavaScript
import { useCallback, useState } from "react";
export function useDrawerController() {
const [drawerVisible, setDrawerVisible] = useState(false);
const [editingItem, setEditingItem] = useState(undefined);
const openDrawer = useCallback((data) => {
if (data !== undefined) {
setEditingItem(data);
}
setDrawerVisible(true);
}, []);
const closeDrawer = useCallback(() => {
setDrawerVisible(false);
}, []);
const clearEditingItem = useCallback(() => {
setEditingItem(undefined);
}, []);
const onAdd = useCallback(() => {
clearEditingItem();
openDrawer();
}, [clearEditingItem, openDrawer]);
const onEdit = useCallback((record) => {
openDrawer(record);
}, [openDrawer]);
return {
drawerVisible,
editingItem,
openDrawer,
closeDrawer,
clearEditingItem,
onAdd,
onEdit,
};
}
//# sourceMappingURL=useDrawerController.js.map