All files / src/pages/suppliers/components SuppliersDialogs.tsx

100% Statements 102/102
100% Branches 1/1
100% Functions 1/1
100% Lines 102/102

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 1031x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x  
/**
 * @file SuppliersDialogs.tsx
 * @module pages/suppliers/components/SuppliersDialogs
 *
 * @summary
 * Dialog container component for suppliers board.
 * Renders all supplier-related dialogs (Create, Edit, Delete).
 *
 * @enterprise
 * - Pure presentational component for dialog composition
 * - Centralizes all dialog rendering
 * - Delegates logic to dialog components
 * - Keeps orchestrator clean and focused
 */
 
import * as React from 'react';
import { CreateSupplierDialog } from '../dialogs/CreateSupplierDialog';
import { EditSupplierDialog } from '../dialogs/EditSupplierDialog';
import { DeleteSupplierDialog } from '../dialogs/DeleteSupplierDialog';
 
/**
 * Suppliers Dialogs component props.
 *
 * @interface SuppliersDialogsProps
 */
export interface SuppliersDialogsProps {
  // Create dialog
  openCreate: boolean;
  onCloseCreate: () => void;
  onCreated: () => void;
 
  // Edit dialog
  openEdit: boolean;
  onCloseEdit: () => void;
  onUpdated: () => void;
 
  // Delete dialog
  openDelete: boolean;
  onCloseDelete: () => void;
  onDeleted: () => void;
}
 
/**
 * Dialogs container for suppliers board.
 *
 * Renders:
 * - Create Supplier Dialog
 * - Edit Supplier Dialog
 * - Delete Supplier Dialog
 *
 * @component
 * @example
 * ```tsx
 * <SuppliersDialogs
 *   openCreate={createOpen}
 *   onCloseCreate={closeCreate}
 *   onCreated={handleCreated}
 *   openEdit={editOpen}
 *   onCloseEdit={closeEdit}
 *   onUpdated={handleUpdated}
 *   openDelete={deleteOpen}
 *   onCloseDelete={closeDelete}
 *   onDeleted={handleDeleted}
 * />
 * ```
 */
export const SuppliersDialogs: React.FC<SuppliersDialogsProps> = ({
  openCreate,
  onCloseCreate,
  onCreated,
  openEdit,
  onCloseEdit,
  onUpdated,
  openDelete,
  onCloseDelete,
  onDeleted,
}) => {
  return (
    <>
      {/* Create Supplier Dialog */}
      <CreateSupplierDialog
        open={openCreate}
        onClose={onCloseCreate}
        onCreated={onCreated}
      />
 
      {/* Edit Supplier Dialog */}
      <EditSupplierDialog
        open={openEdit}
        onClose={onCloseEdit}
        onSupplierUpdated={onUpdated}
      />
 
      {/* Delete Supplier Dialog */}
      <DeleteSupplierDialog
        open={openDelete}
        onClose={onCloseDelete}
        onSupplierDeleted={onDeleted}
      />
    </>
  );
};