diff --git a/src/private/catalogs/products/AddOrEditProductCollectionForm.jsx b/src/private/catalogs/products/AddOrEditProductCollectionForm.jsx index 0b0cb47..63d57bd 100644 --- a/src/private/catalogs/products/AddOrEditProductCollectionForm.jsx +++ b/src/private/catalogs/products/AddOrEditProductCollectionForm.jsx @@ -19,7 +19,7 @@ const TYPE_NAMES = { origin: 'Origin', }; -export default function AddOrEditProductCollectionForm({ initialData, onAdd, onCancel }) { +export default function AddOrEditProductCollectionForm({ initialData, onAdd, onCancel, viewOnly = false }) { const { user } = useAuth(); const token = user?.thalosToken || localStorage.getItem('thalosToken'); @@ -205,6 +205,7 @@ export default function AddOrEditProductCollectionForm({ initialData, onAdd, onC value={form.name} onChange={(e) => setVal('name', e.target.value)} sx={{ mt: 1 }} + disabled={viewOnly} /> {/* Category / Provider */} @@ -215,6 +216,7 @@ export default function AddOrEditProductCollectionForm({ initialData, onAdd, onC value={form.categoryId} onChange={(e) => setVal('categoryId', e.target.value)} helperText="Se envía el tagName por ahora" + disabled={viewOnly} > {loadingTags && Cargando…} {!loadingTags && options.categories.filter(t => t.status !== 'Inactive').map(tag => ( @@ -227,6 +229,7 @@ export default function AddOrEditProductCollectionForm({ initialData, onAdd, onC fullWidth value={form.providerId} onChange={(e) => setVal('providerId', e.target.value)} + disabled={viewOnly} > {loadingTags && Cargando…} {!loadingTags && options.providers.filter(t => t.status !== 'Inactive').map(tag => ( @@ -243,6 +246,7 @@ export default function AddOrEditProductCollectionForm({ initialData, onAdd, onC fullWidth value={form.color} onChange={(e) => setVal('color', e.target.value)} + disabled={viewOnly} > {loadingTags && Cargando…} {!loadingTags && options.colors.filter(t => t.status !== 'Inactive').map(tag => ( @@ -258,6 +262,7 @@ export default function AddOrEditProductCollectionForm({ initialData, onAdd, onC fullWidth value={form.line} onChange={(e) => setVal('line', e.target.value)} + disabled={viewOnly} > {loadingTags && Cargando…} {!loadingTags && options.lines.filter(t => t.status !== 'Inactive').map(tag => ( @@ -273,6 +278,7 @@ export default function AddOrEditProductCollectionForm({ initialData, onAdd, onC fullWidth value={form.attributes.material} onChange={(e) => setVal('attributes.material', e.target.value)} + disabled={viewOnly} > {loadingTags && Cargando…} {!loadingTags && options.materials.filter(t => t.status !== 'Inactive').map(tag => ( @@ -285,11 +291,11 @@ export default function AddOrEditProductCollectionForm({ initialData, onAdd, onC {/* Price */} - setVal('price', e.target.value)} /> + setVal('price', e.target.value)} disabled={viewOnly} /> {/* Stock */} - setVal('stock', e.target.value)} /> + setVal('stock', e.target.value)} disabled={viewOnly} /> {/* Currency */} @@ -299,6 +305,7 @@ export default function AddOrEditProductCollectionForm({ initialData, onAdd, onC fullWidth value={form.currency} onChange={(e) => setVal('currency', e.target.value)} + disabled={viewOnly} > {loadingTags && Cargando…} {!loadingTags && options.currencies.filter(t => t.status !== 'Inactive').map(tag => ( @@ -315,6 +322,7 @@ export default function AddOrEditProductCollectionForm({ initialData, onAdd, onC fullWidth value={form.attributes.legs} onChange={(e) => setVal('attributes.legs', e.target.value)} + disabled={viewOnly} > {loadingTags && Cargando…} {!loadingTags && options.legs.filter(t => t.status !== 'Inactive').map(tag => ( @@ -327,6 +335,7 @@ export default function AddOrEditProductCollectionForm({ initialData, onAdd, onC fullWidth value={form.attributes.origin} onChange={(e) => setVal('attributes.origin', e.target.value)} + disabled={viewOnly} > {loadingTags && Cargando…} {!loadingTags && options.origins.filter(t => t.status !== 'Inactive').map(tag => ( @@ -335,15 +344,17 @@ export default function AddOrEditProductCollectionForm({ initialData, onAdd, onC {/* Status */} - setVal('status', e.target.value)}> + setVal('status', e.target.value)} disabled={viewOnly}> Active Inactive - - + + {!viewOnly && ( + + )} ); diff --git a/src/private/catalogs/products/ProductCollections.jsx b/src/private/catalogs/products/ProductCollections.jsx index b16b75c..6c1115b 100644 --- a/src/private/catalogs/products/ProductCollections.jsx +++ b/src/private/catalogs/products/ProductCollections.jsx @@ -8,6 +8,7 @@ import { import EditRoundedIcon from '@mui/icons-material/EditRounded'; import DeleteRoundedIcon from '@mui/icons-material/DeleteRounded'; import AddRoundedIcon from '@mui/icons-material/AddRounded'; +import VisibilityRoundedIcon from '@mui/icons-material/VisibilityRounded'; import AddOrEditProductCollectionForm from './AddOrEditProductCollectionForm'; import FurnitureVariantApi from '../../../api/ProductsApi'; import CategoriesApi from '../../../api/CategoriesApi'; @@ -52,6 +53,8 @@ export default function ProductCollections() { const [statusFilter, setStatusFilter] = useState('All'); + const [viewOnly, setViewOnly] = useState(false); + // Tags const [loadingTags, setLoadingTags] = useState(true); const [typeMap, setTypeMap] = useState({}); @@ -168,7 +171,7 @@ export default function ProductCollections() { { field: 'actions', headerName: '', - width: 130, + width: 190, sortable: false, filterable: false, disableExport: true, @@ -183,10 +186,23 @@ export default function ProductCollections() { borderRadius: 2, p: 1, }} - onClick={() => { setEditRow(params.row); setOpen(true); }} + onClick={() => { setEditRow(params.row); setViewOnly(false); setOpen(true); }} > + { setEditRow(params.row); setOpen(true); setViewOnly(true); }} + > + + handleDeleteClick(params?.row)} + onClick={() => { setEditRow(params.row); setViewOnly(false); handleDeleteClick(params?.row); }} > @@ -285,7 +301,7 @@ export default function ProductCollections() { All Inactive - @@ -323,10 +339,17 @@ export default function ProductCollections() { setOpen(false)} maxWidth="md" fullWidth> - {editRow ? 'Edit Product Collection' : 'Add Product Collection'} + + {viewOnly + ? 'View Product Collection' + : editRow + ? 'Edit Product Collection' + : 'Add Product Collection'} + { setOpen(false); if (editRow) {