// import { Button, Card, Col, Form, Input, Row } from "antd"
// import React, { useState } from "react"
// import { Link,useHistory } from "react-router-dom"
// import * as XLSX from 'xlsx'
// import Papa from 'papaparse'
// import { AlertMessages } from "@gtpl/shared-utils/alert-messages"
// import { RmCountPriceListService } from "@gtpl/shared-services/masters"
// import { FileExcelFilled } from "@ant-design/icons";
// import { Excel } from "antd-table-saveas-excel"
// import { RmCountPriceListDto } from "@gtpl/shared-models/masters"

// export interface RmCountPriceListFormProps {

//   reasonsData: RmCountPriceListDto;
//   updateReasons:(reasons:RmCountPriceListDto)=>void;
//  isUpdate:boolean;
// closeForm: () => void;
// }
// export function RmCountPriceListForm(
//   props: RmCountPriceListFormProps
// )
// {

//   const [selectedFile, setSelectedFile] = useState(null);
//     const [form] = Form.useForm();
//     const [data, setData] = useState()
//     const [columns, setColumns] = useState([]);
//     const [values, setValues] = useState([])
//     const service = new RmCountPriceListService()
//     const [loading, setLoading] = useState(false);
//     const [jsonData, setJsonData] = useState(null);
//     const history = useHistory()

//   const importExcel = (file: any[]) => {
//     var data = new Uint8Array(file);
//     var wb = XLSX.read(data, { type: 'array', cellDates: true });
//     let sheet: any[] = [];
//     for (const Sheet in wb.Sheets) {
//       if(Sheet){
//         if (wb.Sheets.hasOwnProperty(Sheet)) {
//             sheet.push(XLSX.utils.sheet_to_json(wb.Sheets[Sheet], { raw: true, header: 1 }));
//         }
//       }
//     }
//     return sheet;
// }
// const exceldata = [
//   { title: 'S No', dataIndex: 'sNo', render: (text, object, index) => { 
//     return index+1

//     },
//     width: 60, 
   
//   }, 

//   // { title: 'Min Value', dataIndex: 'minValue',width: 100,render:(text:any,record:any) => {return record.minValue ? record.minValue : '-'} },  
//   // { title: 'Max Value', dataIndex: 'maxValue',width: 100,render:(text:any,record:any) => {return record.maxValue ? record.maxValue : '-'} },
//   { title: 'Count', dataIndex: 'count',width: 500,render:(text:any,record:any) => {return record.count ? record.count : '-'} },     
//   { title: 'Price', dataIndex: 'price',width: 100,render:(text:any,record:any) => {return record.price ? record.price : '-'} },
  
// ]
// let createdUser = "";
//   if (props.isUpdate) {
//     createdUser = localStorage.getItem("createdUser");
//   }
// const exportExcel = () => {
//   const excel = new Excel();
//   excel
//     .addSheet('Rm Count Price List Excel')
//     .addColumns(exceldata)
//     .saveAs('Rm Count List format.xlsx');
// }
// const handleFileChange = (event) => {
//   const file = event.target.files[0];
//   if (file && file.type === 'text/csv') {
//     setSelectedFile(event.target.files[0]);
//     Papa.parse(event.target.files[0], {
//       header: true,
//       complete: function (result) {
//         {
//           const columnArray = [];
//           const valueArray = [];
          
//           result.data.map((d) => {
//                               columnArray.push(Object.keys(d))
//               valueArray.push(Object.values(d))
//                         });
//                       setData(result.data)
//           setColumns(columnArray[0])
//           setValues(valueArray)
//         }
//       },
//       skipEmptyLines: true,
//     });
//   } else if(file && file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'){
//     setSelectedFile(event.target.files[0]);
//     let csvData
//     var reader = new FileReader()
//     reader.readAsArrayBuffer(file)
//     reader.onload = async data => {
//       let csvData1: any = reader.result;
//       csvData = importExcel(csvData1);
//       // let headersRow = getHeaderArray(csvData[0][3]);
//       // csvData[0].shift()
//       // csvData[0].shift()
//       // csvData[0].shift()
//       // console.log(csvData[0],'????????')
//       const filteredNestedData = csvData.filter(innerData => innerData.some(row => row.length > 0));

//       const output = filteredNestedData.map(innerData => {
//         const header = innerData[0];
//         return innerData.slice(1).map(row => {
//           if (row.every(value => value === '')) {
//             return null; // Skip rows with all empty values
//           }
//           return row.reduce((acc, value, index) => {
//             acc[header[index]] = value;
//             return acc;
//           }, {});
//         }).filter(row => row !== null); // Remove rows with all empty values
//       });  
//          setData(output[0])   
//     }
//   }else {
//     alert('Please select a valid .csv file.');
//     setSelectedFile(null);
//   }
// };
// const handleUpload = async() => {
//   try{
//       form.validateFields().then(async () => {
//           const res = await service.saveRmCountPricelistInfo(data).then(res => {
//               setLoading(true);
//               if(res.status){
//                   AlertMessages.getSuccessMessage(res.internalMessage)
//                   history.push("/rm-count-pricelist-grid")

//               } else{
//                   AlertMessages.getErrorMessage(res.internalMessage)
//               }
//           })
//       })
//   } catch (error) {
//       AlertMessages.getErrorMessage(error.message);
//     }
// }
//   return(
//     <Card title='RM Count PriceList' extra={<Link to=
//     '/rm-count-pricelist-grid'><span><Button type={'primary'} >View</Button> </span></Link>}>
//         <Form>
//         <Form.Item style={{display:"none"}} name="createdUser"  initialValue={createdUser}>
//       <Input hidden/>
//       </Form.Item>
//             <Row gutter = {24}>
//                 <Col xs={{ span: 24 }} sm={{ span: 24 }} md={{ span: 6 }} lg={{ span: 6 }} xl={{ span: 6 }}>
//                 <Form.Item label = "">
//                 <input type="file" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" onChange={handleFileChange} />
//                 <label style={{color:'blue',whiteSpace: 'nowrap'}} >Only csv & excel files are allowed</label>
//               </Form.Item>
//                 </Col>
//             <Col xs={{ span: 24 }} sm={{ span: 24 }} md={{ span: 6 }} lg={{ span: 6 }} xl={{ span: 6 }}>
//             <Button type="primary"
//              onClick={handleUpload} 
//              loading={loading} disabled={!selectedFile}>Upload</Button>
//           </Col>
//           <Button
//               type="default"
//               style={{ color: "green" }}
//               onClick={exportExcel}
//               icon={<FileExcelFilled />}
//           >
//              Sample Format for Excel Upload
//           </Button>
//             </Row>
//             </Form>
//     </Card>
//   )
// }
// export default RmCountPriceListForm