import React, { memo, useState, useEffect } from 'react'; import { Space, Tag, ConfigProvider, Button, Row, Col, Card, Input, Segmented } from 'antd'; import { PlusOutlined, EditOutlined, DeleteOutlined, EyeOutlined, SearchOutlined, AppstoreOutlined, TableOutlined, } from '@ant-design/icons'; import { NotifAlert, NotifOk, NotifConfirmDialog } from '../../../../components/Global/ToastNotif'; import { useNavigate } from 'react-router-dom'; import { deleteSparepart, getAllSparepart } from '../../../../api/sparepart'; import TableList from '../../../../components/Global/TableList'; import SparepartCardList from './SparepartCardList'; // Import the new custom card component const columns = (showPreviewModal, showEditModal, showDeleteDialog) => [ { title: 'No', key: 'no', width: '5%', align: 'center', render: (_, __, index) => index + 1, }, { title: 'ID', dataIndex: 'sparepart_id', key: 'sparepart_id', width: '5%', hidden: 'true', }, { title: 'Sparepart Name', dataIndex: 'sparepart_name', key: 'sparepart_name', width: '20%', }, { title: 'Sparepart Number', dataIndex: 'sparepart_number', key: 'sparepart_number', width: '20%', }, { title: 'Description', dataIndex: 'sparepart_description', key: 'sparepart_description', width: '20%', render: (sparepart_description) => sparepart_description || '-' }, { title: 'Model', dataIndex: 'sparepart_model', key: 'sparepart_model', width: '10%', render: (sparepart_model) => sparepart_model || '-' }, { title: 'Item Type', dataIndex: 'sparepart_item_type', key: 'sparepart_item_type', width: '10%', render: (sparepart_item_type) => sparepart_item_type || '-' }, { title: 'Unit', dataIndex: 'sparepart_unit', key: 'sparepart_unit', width: '8%', render: (sparepart_unit) => sparepart_unit || '-' }, { title: 'Merk', dataIndex: 'sparepart_merk', key: 'sparepart_merk', width: '12%', render: (sparepart_merk) => sparepart_merk || '-' }, { title: 'Qty', dataIndex: 'sparepart_qty', key: 'sparepart_qty', width: '8%', render: (sparepart_qty) => sparepart_qty || '0' }, { title: 'Status', dataIndex: 'sparepart_stok', key: 'sparepart_stok', width: '8%', render: (sparepart_stok) => sparepart_stok || 'Not Available' }, { title: 'Action', key: 'aksi', align: 'center', width: '12%', render: (_, record) => ( } size="large" /> { if(data && data.length > 0) { // console.log('Sample sparepart data from API:', data[0]); // console.log('Available fields:', Object.keys(data[0] || {})); } }} // Log untuk debugging field-field yang tersedia /> ); }); export default ListSparepart;