Files
authsec_reactbootstrapnew/src/components/Dashboard/Codeextension.js

237 lines
8.2 KiB
JavaScript
Raw Normal View History

2025-04-01 20:28:04 +05:30
// import React, { useState, useEffect, useRef } from 'react';
// import { Box, Button, Modal, TextField, Typography, FormControl, FormControlLabel, Checkbox, Radio, RadioGroup, Autocomplete } from '@mui/material';
// import { DataGrid, GridToolbarContainer } from '@mui/x-data-grid';
// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
// import { faEllipsisV } from '@fortawesome/free-solid-svg-icons';
// import AirplanemodeActiveIcon from '@mui/icons-material/AirplanemodeActive';
// import { Link } from 'react-router-dom';
// import Extension from './Extension';
// function CustomToolbar({ handleModal }) {
// return (
// <GridToolbarContainer>
// <Button onClick={handleModal}>+</Button>
// </GridToolbarContainer>
// );
// }
// function CodeExtension() {
// const [menuItems, setMenuItems] = useState([]);
// const [selectedMenuItem, setSelectedMenuItem] = useState(null);
// const [isModalOpen, setIsModalOpen] = useState(false);
// const [formData, setFormData] = useState({
// name: '',
// email: '',
// testing: '',
// dataType: ''
// });
// useEffect(() => {
// const fetchData = async () => {
// try {
2025-05-28 16:33:02 +05:30
// const response = await fetch('http://157.66.191.31:33266/api/extension');
2025-04-01 20:28:04 +05:30
// const data = await response.json();
// setMenuItems(data);
// } catch (error) {
// console.error('Error fetching data:', error);
// }
// };
// fetchData();
// }, []);
// const handleThreeDotsClick = (menuItemId) => {
// setSelectedMenuItem(menuItemId === selectedMenuItem ? null : menuItemId);
// };
// const handleModalOpen = () => {
// setIsModalOpen(true);
// };
// const handleModalClose = () => {
// setIsModalOpen(false);
// // Reset form data after closing modal
// setFormData({
// name: '',
// email: '',
// testing: '',
// dataType: ''
// });
// };
// const handleChange = (e) => {
// const { name, value } = e.target;
// setFormData({ ...formData, [name]: value });
// };
// const handleFormSubmit = (submittedDataType) => {
// setFormData({ ...formData, dataType: submittedDataType });
// handleModalOpen();
// };
// const columns = [
// { field: 'goto', headerName: 'Goto', width: 200, headerClassName: 'custom-header', cellClassName: 'custom-cell' },
// { field: 'field_name', headerName: 'Field Name', width: 250, headerClassName: 'custom-header', cellClassName: 'custom-cell' },
// { field: 'mapping', headerName: 'Mapping', width: 200, headerClassName: 'custom-header', cellClassName: 'custom-cell' },
// { field: 'data_type', headerName: 'Data Type', width: 200, headerClassName: 'custom-header', cellClassName: 'custom-cell' },
// {
// field: 'actions',
// headerName: 'Actions',
// width: 150,
// renderCell: ({ row }) => (
// <div>
// <div className="three-dots" onClick={() => handleThreeDotsClick(row.id)}>
// <FontAwesomeIcon icon={faEllipsisV} />
// </div>
// {selectedMenuItem === row.id && (
// <div className="popover">
// {/* Implement your actions buttons here */}
// </div>
// )}
// </div>
// ),
// },
// ];
// const renderInputField = () => {
// switch (formData.dataType) {
// case 'date':
// return (
// <TextField
// label="Date"
// name="date"
// type="date"
// value={formData.date}
// onChange={handleChange}
// fullWidth
// />
// );
// case 'textfield':
// return (
// <TextField
// label="Text Field"
// name="textfield"
// value={formData.textfield}
// onChange={handleChange}
// fullWidth
// />
// );
// case 'longtext':
// return (
// <TextField
// label="Long Text"
// name="longtext"
// value={formData.longtext}
// onChange={handleChange}
// multiline
// rows={4}
// fullWidth
// />
// );
// case 'checkbox':
// return (
// <FormControlLabel
// control={
// <Checkbox
// checked={formData.checkbox || false}
// onChange={(e) => setFormData({ ...formData, checkbox: e.target.checked })}
// />
// }
// label="Checkbox"
// />
// );
// case 'radiobutton':
// return (
// <FormControl component="fieldset">
// <RadioGroup
// name="radiobutton"
// value={formData.radiobutton || ''}
// onChange={(e) => setFormData({ ...formData, radiobutton: e.target.value })}
// >
// <FormControlLabel value="option1" control={<Radio />} label="Option 1" />
// <FormControlLabel value="option2" control={<Radio />} label="Option 2" />
// </RadioGroup>
// </FormControl>
// );
// case 'autocomplete':
// return (
// <Autocomplete
// options={['Option 1', 'Option 2', 'Option 3']}
// renderInput={(params) => <TextField {...params} label="Autocomplete" />}
// value={formData.autocomplete || ''}
// onChange={(e, newValue) => setFormData({ ...formData, autocomplete: newValue })}
// fullWidth
// />
// );
// default:
// return null;
// }
// };
// return (
// <>
// <Box sx={{ position: 'fixed', top: 0, left: 0, width: '100%', zIndex: 1 }}>
// {/* Your header content here */}
// </Box>
// <Box sx={{ display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100vh' }}>
// <Box sx={{ width: '80%', maxWidth: 1200, marginTop: '100px' }}>
// <DataGrid
// rows={menuItems}
// columns={columns}
// pageSize={10}
// components={{
// Toolbar: () => (
// <CustomToolbar
// handleModal={handleModalOpen}
// />
// ),
// }}
// />
// <Modal open={isModalOpen} onClose={handleModalClose} centered>
// <Box sx={{ width: 400, bgcolor: 'background.paper', p: 4, position: 'absolute', top: '50%', left: '50%', transform: 'translate(-50%, -50%)' }}>
// <Extension onSubmit={handleFormSubmit} />
// <Typography variant="h5" gutterBottom sx={{ display: 'flex', alignItems: 'center' }}>
// <Link to="/Extension"><AirplanemodeActiveIcon sx={{ mr: 1 }} /></Link> Add Item
// </Typography>
// <form onSubmit={(e) => { e.preventDefault(); handleFormSubmit(formData.dataType); }}>
// <div>
// <TextField
// label="Name"
// name="name"
// value={formData.name}
// onChange={handleChange}
// fullWidth
// />
// </div>
// <div>
// <TextField
// label="Email"
// name="email"
// value={formData.email}
// onChange={handleChange}
// fullWidth
// />
// </div>
// <div>
// <TextField
// label="Testing"
// name="testing"
// value={formData.testing}
// onChange={handleChange}
// fullWidth
// />
// </div>
// {renderInputField()}
// <Button type="submit" variant="contained" sx={{ mt: 2, mr: 1 }}>Submit</Button>
// <Button variant="outlined" onClick={handleModalClose} sx={{ mt: 2 }}>Cancel</Button>
// </form>
// </Box>
// </Modal>
// </Box>
// </Box>
// </>
// );
// }
// export default CodeExtension;