Sindbad~EG File Manager

Current Path : /home/infinitibizsol/public_html/auction-flow.com/static/js/
Upload File :
Current File : /home/infinitibizsol/public_html/auction-flow.com/static/js/579.a7893775.chunk.js.map

{"version":3,"file":"static/js/579.a7893775.chunk.js","mappings":"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","sources":["pages/Products/AssignVehicleCard.js","pages/Products/AssignVehicleList.js","pages/Products/AssignVehiclePage.js"],"sourcesContent":["import PropTypes from 'prop-types';\r\n// @mui\r\nimport { makeStyles } from '@material-ui/core';\r\nimport { Card, CardActions, CardContent, Button, Typography } from '@material-ui/core';\r\nimport { styled } from '@mui/material';\r\nimport { Grid, Box, Styled, Link, Stack, Image, Modal, Checkbox } from '@mui/material';\r\n// utils\r\nimport { fCurrency } from 'src/utils/formatNumber';\r\n// components\r\nimport Label from 'src/components/label';\r\nimport { ColorPreview } from 'src/components/color-utils';\r\nimport EditIcon from '@mui/icons-material/Edit';\r\nimport DeleteForeverIcon from '@mui/icons-material/DeleteForever';\r\nimport { IconButton } from '@mui/material';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';\r\nimport { baseURL, imageURL } from 'src/constants/baseURL';\r\nimport trashIcon from '../../assets/trash.png';\r\nimport { useState } from 'react';\r\nimport { getInventoryVehicles } from 'src/features/inventory/inventoryActions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst StyledProductImg = styled('img')({\r\n  top: 0,\r\n  width: '100%',\r\n  height: '80%',\r\n  objectFit: 'contain',\r\n  position: 'absolute'\r\n});\r\n\r\nconst StyledTrashImg = styled('img')({\r\n  top: '100%', // Adjust the vertical positioning as needed\r\n  right: 0,\r\n  transform: 'translate(0%, -100%)', // Adjust the translation to center vertically\r\n  width: '100%',\r\n  height: '50%',\r\n  objectFit: 'contain',\r\n  position: 'absolute'\r\n});\r\n\r\nconst useStyles = makeStyles({\r\n  root: {\r\n    minWidth: 400,\r\n    height: 150\r\n  }\r\n});\r\n\r\nconst style = {\r\n  position: 'absolute',\r\n  top: '50%',\r\n  left: '50%',\r\n  transform: 'translate(-50%, -50%)',\r\n  width: 360,\r\n  bgcolor: 'background.paper',\r\n  border: '2px solid #1976D2', // Set border color to blue\r\n  borderRadius: 2, // Set border radius\r\n  boxShadow: 24,\r\n  p: 4\r\n};\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nAssignVehicleCard.propTypes = {\r\n  product: PropTypes.object\r\n};\r\n\r\nexport default function AssignVehicleCard({ product }) {\r\n  const navigate = useNavigate();\r\n  const {\r\n    make,\r\n    mileage,\r\n    model,\r\n    year,\r\n    sold_price,\r\n    imageUrl,\r\n    sale_status,\r\n    auction_name,\r\n    lane_name,\r\n    vin,\r\n    announcements,\r\n    auction_fee,\r\n    run_no,\r\n    condition_light,\r\n    vehicle_id\r\n  } = product;\r\n  console.log({ product });\r\n  const classes = useStyles();\r\n\r\n  const [open, setOpen] = useState(false);\r\n  const handleClose = () => setOpen(false);\r\n  const dispatch = useDispatch();\r\n  const { userInfo } = useSelector((state) => state.auth);\r\n  const [isChecked, setIsChecked] = useState(false);\r\n  const [selectedVehicles, setSelectedVehicles] = useState([]);\r\n\r\n  console.log('selectedVehicles', selectedVehicles);\r\n\r\n  const handleCheckboxChange = (vehicleId) => {\r\n    setSelectedVehicles((prevSelectedVehicles) => {\r\n      // If the vehicle is checked, add its ID to the selectedVehicles array\r\n      if (!prevSelectedVehicles.includes(vehicleId)) {\r\n        return [...prevSelectedVehicles, vehicleId];\r\n      } else {\r\n        // If the vehicle is unchecked, remove its ID from the selectedVehicles array\r\n        return prevSelectedVehicles.filter((id) => id !== vehicleId);\r\n      }\r\n    });\r\n  };\r\n\r\n  // const handleDeleteVehicle = async () => {\r\n  //     try {\r\n  //         const response = await api.delete(\r\n  //             `${baseURL}/vehicle/delete-inventory-vehicle/${product?.vehicle_id}`\r\n  //         );\r\n\r\n  //         console.log(\"Vehicle deleted\", response);\r\n\r\n  //         if (response.status === 200) {\r\n  //             toast.error(\"Vehicle deleted successfully\");\r\n  //             setOpen(false);\r\n  //             dispatch(\r\n  //                 getInventoryVehicles({\r\n  //                     timeRange: \"currentweek\",\r\n  //                     orderDirection: \"ASC\",\r\n  //                     sortBy: \"\",\r\n  //                     userId: userInfo?.user_id,\r\n  //                 })\r\n  //             );\r\n  //             // Add any additional logic or UI updates after successful deletion\r\n  //         } else {\r\n  //             console.log(\r\n  //                 `Failed to delete vehicle. Status: ${response.status}`\r\n  //             );\r\n  //             // Handle failure scenario, show an error message, etc.\r\n  //         }\r\n  //     } catch (err) {\r\n  //         console.error(\"Error deleting vehicle\", err);\r\n  //         // Handle other errors, show an error message, etc.\r\n  //     }\r\n  // };\r\n\r\n  return (\r\n    <Card className={classes.root}>\r\n      <Grid container sx={{ cursor: 'pointer' }}>\r\n        {/* Left side (image) */}\r\n        <Grid item xs={4} sm={4}>\r\n          <Box\r\n            sx={{\r\n              pt: '50%',\r\n              position: 'relative',\r\n              cursor: 'pointer'\r\n            }}\r\n          >\r\n            <StyledProductImg alt={make} src={`${imageURL}/${imageUrl}`} />\r\n          </Box>\r\n        </Grid>\r\n\r\n        {/* Right side (text content) */}\r\n        <Grid item xs={6} sm={6}>\r\n          <Stack spacing={4} p={3}>\r\n            <Stack\r\n              direction=\"row\"\r\n              alignItems=\"center\"\r\n              justifyContent=\"space-between\"\r\n              // paddingTop={7}\r\n            >\r\n              <Link color=\"inherit\" underline=\"hover\">\r\n                <Box\r\n                  sx={{\r\n                    fontWeight: 'bold',\r\n                    fontSize: '25px'\r\n                  }}\r\n                >\r\n                  {`${year} ${make} ${model}`}\r\n                </Box>\r\n              </Link>\r\n            </Stack>\r\n\r\n            <Stack direction=\"row\" alignItems=\"center\" justifyContent=\"space-between\">\r\n              <Typography noWrap>{vin}</Typography>\r\n\r\n              <Box sx={{ marginRight: '50px' }}>\r\n                <Typography noWrap>{mileage ? `${mileage} mi.` : ''}</Typography>\r\n              </Box>\r\n            </Stack>\r\n          </Stack>\r\n        </Grid>\r\n\r\n        <Grid item xs={2} sm={2}>\r\n          <Box\r\n            sx={{\r\n              pt: '20px',\r\n              pl: '30px',\r\n              position: 'relative',\r\n              cursor: 'pointer'\r\n            }}\r\n          >\r\n            <Checkbox\r\n              color=\"success\"\r\n              size=\"large\"\r\n              checked={selectedVehicles.includes(vehicle_id)}\r\n              onChange={() => handleCheckboxChange(vehicle_id)}\r\n            />\r\n          </Box>\r\n        </Grid>\r\n      </Grid>\r\n    </Card>\r\n  );\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport { useCallback, useEffect, useState } from 'react';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport AssignVehicleCard from './AssignVehicleCard';\r\nimport { makeStyles } from '@material-ui/core';\r\nimport { Card, Typography } from '@material-ui/core';\r\nimport { styled } from '@mui/material';\r\nimport { Grid, Box, Styled, Link, Stack, Image, Modal, Checkbox } from '@mui/material';\r\nimport { imageURL } from 'src/constants/baseURL';\r\nimport { LoadingButton } from '@mui/lab';\r\nimport { baseURL } from 'src/constants/baseURL';\r\nimport {\r\n  getAssignedVehiclestoAuctioneer,\r\n  getUserAuctioneerList\r\n} from 'src/features/users/userActions';\r\nimport api from 'src/features/auth/Api';\r\n\r\nAssignVehicleList.propTypes = {\r\n  products: PropTypes.array.isRequired\r\n};\r\n\r\nconst StyledProductImg = styled('img')({\r\n  top: 0,\r\n  width: '100%',\r\n  height: '60%',\r\n  objectFit: 'contain',\r\n  position: 'absolute'\r\n});\r\n\r\nconst useStyles = makeStyles({\r\n  root: {\r\n    minWidth: 400,\r\n    height: 100\r\n  }\r\n});\r\n\r\nconst style = {\r\n  position: 'absolute',\r\n  top: '50%',\r\n  left: '50%',\r\n  transform: 'translate(-50%, -50%)',\r\n  width: 360,\r\n  bgcolor: 'background.paper',\r\n  border: '2px solid #1976D2', // Set border color to blue\r\n  borderRadius: 2, // Set border radius\r\n  boxShadow: 24,\r\n  p: 4\r\n};\r\n\r\nexport default function AssignVehicleList({\r\n  allVehiclesWithStatus,\r\n  weekId,\r\n  auctioneerId,\r\n  opportunityId,\r\n  name,\r\n  totalUnits,\r\n  startDate,\r\n  endDate,\r\n  ...other\r\n}) {\r\n  const classes = useStyles();\r\n  const navigate = useNavigate();\r\n  const dispatch = useDispatch();\r\n  const [loading, setLoading] = useState(false);\r\n  const [selectedVehicles, setSelectedVehicles] = useState([]);\r\n  const { vehiclesData: assignedVehicles } = useSelector((state) => state.users);\r\n  const { userInfo } = useSelector((state) => state.auth);\r\n  const { state } = useLocation();\r\n\r\n  const isVehicleDisabled = (vehicleId) => {\r\n    return assignedVehicles.some((vehicle) => vehicle.vehicle_id === vehicleId);\r\n    // && allVehiclesWithStatus.some((vehicle) => vehicle.vehicle_id === vehicleId)\r\n  };\r\n\r\n  useEffect(() => {\r\n    let assignedVehiclesArray = [];\r\n    assignedVehicles?.map((i) => assignedVehiclesArray.push(i.vehicle_id));\r\n    console.log('🚀 ~ useEffect ~ assignedVehiclesArray:', assignedVehiclesArray);\r\n    setSelectedVehicles(assignedVehiclesArray);\r\n  }, [assignedVehicles]);\r\n\r\n  const handleClick = (vehicle_id, status, auctioneer_name, selected_date) => {\r\n    console.log('🚀 ~ handleClick ~ status:', status);\r\n    if (status === true) {\r\n      toast.warning(`This Vehicle has already assigned to ${state.name}, \r\n             on ${selected_date}. Please remove it first!`);\r\n    }\r\n    return;\r\n  };\r\n\r\n  const handleCheckboxChange = (vehicleId) => {\r\n    setSelectedVehicles((prevSelectedVehicles) => {\r\n      // If the vehicle is checked and not disabled, add its ID to the selectedVehicles array\r\n      if (!prevSelectedVehicles.includes(vehicleId) && !isVehicleDisabled(vehicleId)) {\r\n        return [...prevSelectedVehicles, vehicleId];\r\n      } else {\r\n        // If the vehicle is unchecked or disabled, remove its ID from the selectedVehicles array\r\n        return prevSelectedVehicles.filter((id) => id !== vehicleId);\r\n      }\r\n    });\r\n  };\r\n\r\n  const handleSubmit = async () => {\r\n    let filteredSelectedVehicles = selectedVehicles.filter(\r\n      (vehicleId) => !assignedVehicles.some((item) => item?.vehicle_id === vehicleId)\r\n    );\r\n    console.log('🚀 ~ handleSubmit ~ filteredSelectedVehicles:', filteredSelectedVehicles);\r\n\r\n    if (!filteredSelectedVehicles?.length > 0) {\r\n      return toast.error('Please select a vehicle');\r\n    }\r\n    setLoading(true);\r\n\r\n    try {\r\n      const response = await api.post(`${baseURL}/vehicle/assign-vehicle-to-auctioneer`, {\r\n        car_ids: filteredSelectedVehicles,\r\n        auctioneerId,\r\n        userId: userInfo?.user_id,\r\n        weekId\r\n      });\r\n      if (response?.status === 200) {\r\n        toast.success('Vehicle assigned successfully');\r\n        setLoading(false);\r\n        // dispatch(\r\n        //     getAssignedVehiclestoAuctioneer({\r\n        //         user_id: userInfo?.user_id,\r\n        //         opportunity_id: state?.opportunity,\r\n        //         weekId,\r\n        //     })\r\n        // );\r\n        dispatch(\r\n          getUserAuctioneerList({\r\n            userId: userInfo?.user_id,\r\n            weekId\r\n          })\r\n        );\r\n        navigate('/dashboard/opportunities/users/cars', {\r\n          state: {\r\n            name,\r\n            totalUnits,\r\n            startDate: startDate,\r\n            endDate: endDate,\r\n            weekId: weekId,\r\n            filterValue: 'auctioneer',\r\n            filterId: opportunityId,\r\n            opportunity_id: opportunityId,\r\n            auctioneerId\r\n          }\r\n        });\r\n      }\r\n    } catch (err) {\r\n      setLoading(false);\r\n      console.log('[Error]', err);\r\n    }\r\n  };\r\n\r\n  return (\r\n    <Grid container spacing={3} {...other}>\r\n      {allVehiclesWithStatus?.map((p, index) => (\r\n        <Grid key={index} item xs={12} sm={12} md={12}>\r\n          <Card className={classes.root}>\r\n            <Grid container sx={{ cursor: 'pointer' }}>\r\n              {/* Left side (image) */}\r\n              <Grid item xs={4} sm={4}>\r\n                <Box\r\n                  sx={{\r\n                    pt: '50%',\r\n                    position: 'relative',\r\n                    cursor: 'pointer'\r\n                  }}>\r\n                  <StyledProductImg alt={p.make} src={`${imageURL}/${p.imageUrl}`} />\r\n                </Box>\r\n              </Grid>\r\n\r\n              {/* Right side (text content) */}\r\n              <Grid item xs={6} sm={6}>\r\n                <Stack spacing={4} p={2}>\r\n                  <Stack\r\n                    direction=\"row\"\r\n                    alignItems=\"center\"\r\n                    justifyContent=\"space-between\"\r\n                    // paddingTop={7}\r\n                  >\r\n                    <Link color=\"inherit\" underline=\"hover\">\r\n                      <Box\r\n                        style={{\r\n                          display: '-webkit-box',\r\n                          WebkitLineClamp: '1',\r\n                          WebkitBoxOrient: 'vertical',\r\n                          overflow: 'hidden',\r\n                          fontWeight: 'bold',\r\n                          fontSize: '20px'\r\n                        }}>\r\n                        {`${p.year} ${p.make} ${p.model} ${p.trim}`}\r\n                      </Box>\r\n                    </Link>\r\n                  </Stack>\r\n\r\n                  <Stack\r\n                    direction=\"row\"\r\n                    alignItems=\"center\"\r\n                    justifyContent=\"space-between\"\r\n                    style={{ marginTop: '10px' }}>\r\n                    <Typography variant=\"subtitle2\" noWrap>\r\n                      {p.vin}\r\n                    </Typography>\r\n\r\n                    <Box sx={{ marginRight: '50px' }}>\r\n                      <Typography variant=\"subtitle2\" noWrap>\r\n                        {p.mileage ? `${p.mileage} mi.` : ''}\r\n                      </Typography>\r\n                    </Box>\r\n                  </Stack>\r\n                </Stack>\r\n              </Grid>\r\n\r\n              <Grid item xs={2} sm={2}>\r\n                <Box\r\n                  sx={{\r\n                    pt: '20px',\r\n                    pl: '30px',\r\n                    position: 'relative',\r\n                    cursor: 'pointer'\r\n                  }}>\r\n                  <span\r\n                    onClick={() =>\r\n                      handleClick(p?.vehicle_id, p?.status, p?.auctioneer_name, p?.selected_date)\r\n                    }>\r\n                    <Checkbox\r\n                      color=\"success\"\r\n                      size=\"large\"\r\n                      checked={selectedVehicles.includes(p.vehicle_id) || p.status}\r\n                      onChange={() => handleCheckboxChange(p.vehicle_id)}\r\n                      disabled={isVehicleDisabled(p.vehicle_id) || p.status}\r\n                    />\r\n                  </span>\r\n                </Box>\r\n              </Grid>\r\n            </Grid>\r\n          </Card>\r\n        </Grid>\r\n      ))}\r\n      <Grid container direction=\"row\" justifyContent=\"center\" alignItems=\"center\" m={4}>\r\n        <LoadingButton\r\n          loading={loading}\r\n          size=\"large\"\r\n          type=\"submit\"\r\n          variant=\"contained\"\r\n          onClick={handleSubmit}>\r\n          Update\r\n        </LoadingButton>\r\n      </Grid>\r\n    </Grid>\r\n  );\r\n}\r\n","import { useState, useEffect } from 'react';\r\nimport { Button, Container, Stack, Typography, MenuItem, Menu } from '@mui/material';\r\nimport { ProductSort, ProductFilterSidebar } from '../../sections/@dashboard/products';\r\nimport { useNavigate, useLocation } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport AssignVehicleList from './AssignVehicleList';\r\nimport { getInventoryVehicles } from 'src/features/inventory/inventoryActions';\r\nimport Iconify from 'src/components/iconify';\r\nimport { newAssignVehicleWithStatus } from 'src/features/users/userActions';\r\n\r\nconst SORT_BY_OPTIONS = [\r\n  { value: 'year', label: 'Year: Newest First', condition: 'DESC' },\r\n  { value: 'year', label: 'Year: Oldest First', condition: 'ASC' },\r\n  {\r\n    value: 'mileage',\r\n    label: 'Mileage: Highest First',\r\n    condition: 'DESC'\r\n  },\r\n  {\r\n    value: 'mileage',\r\n    label: 'Mileage: Lowest First',\r\n    condition: 'ASC'\r\n  }\r\n];\r\n\r\nexport default function ProductsPage() {\r\n  const navigate = useNavigate();\r\n  const dispatch = useDispatch();\r\n  const { state } = useLocation();\r\n  const [openFilter, setOpenFilter] = useState(false);\r\n  const [vehicles, setVehicles] = useState([]);\r\n  const [assign, setAssign] = useState(false);\r\n  const [open, setOpen] = useState(null);\r\n  const [sortBy, setSortBy] = useState('');\r\n\r\n  const { vehiclesData } = useSelector((state) => state.users);\r\n  const { assignVehicleWithStatus } = useSelector((state) => state.users);\r\n  const { userInfo } = useSelector((state) => state.auth);\r\n\r\n  useEffect(() => {\r\n    dispatch(\r\n      newAssignVehicleWithStatus({\r\n        user_id: userInfo?.user_id,\r\n        sortBy: 'year',\r\n        orderDirection: 'DESC'\r\n      })\r\n    );\r\n  }, []);\r\n\r\n  const handleOpen = (event) => {\r\n    setOpen(event.currentTarget);\r\n  };\r\n\r\n  const handleClose = () => {\r\n    setOpen(null);\r\n  };\r\n\r\n  const applySorting = (key, condition, label) => {\r\n    dispatch(\r\n      newAssignVehicleWithStatus({\r\n        user_id: userInfo?.user_id,\r\n        orderDirection: condition,\r\n        sortBy: key\r\n      })\r\n    );\r\n    setSortBy(label);\r\n    setOpen(null);\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <Container>\r\n        <Stack\r\n          direction=\"row\"\r\n          alignItems=\"center\"\r\n          justifyContent=\"space-between\"\r\n          fontWeight=\"bold\"\r\n          // borderBottom=\"2px solid gray\"\r\n          mb={0}\r\n        >\r\n          <Typography variant=\"h6\" pb={1}>\r\n            {state?.startDate} - {state?.endDate}{' '}\r\n          </Typography>\r\n          <Typography variant=\"h6\" pb={1}>\r\n            {state?.name}\r\n          </Typography>\r\n          <Typography variant=\"h6\" pb={1}>\r\n            {vehiclesData?.length} units\r\n          </Typography>\r\n        </Stack>\r\n\r\n        <Stack\r\n          direction=\"row\"\r\n          flexWrap=\"wrap-reverse\"\r\n          alignItems=\"center\"\r\n          justifyContent=\"space-between\"\r\n          // sx={{ mb: 2 }}\r\n        >\r\n          <Stack>\r\n            <Button\r\n              color=\"inherit\"\r\n              disableRipple\r\n              onClick={handleOpen}\r\n              py={0}\r\n              endIcon={<Iconify icon={open ? 'eva:chevron-up-fill' : 'eva:chevron-down-fill'} />}\r\n            >\r\n              Sort By:&nbsp;\r\n              <Typography\r\n                component=\"span\"\r\n                variant=\"subtitle2\"\r\n                sx={{\r\n                  color: 'text.secondary',\r\n                  borderBottom: '1px solid black'\r\n                }}\r\n              >\r\n                {sortBy}\r\n              </Typography>\r\n            </Button>\r\n            <Menu\r\n              keepMounted\r\n              anchorEl={open}\r\n              open={Boolean(open)}\r\n              onClose={handleClose}\r\n              anchorOrigin={{\r\n                vertical: 'bottom',\r\n                horizontal: 'right'\r\n              }}\r\n              transformOrigin={{\r\n                vertical: 'top',\r\n                horizontal: 'right'\r\n              }}\r\n            >\r\n              {SORT_BY_OPTIONS.map((option) => (\r\n                <MenuItem\r\n                  key={option.value + '_' + option.condition}\r\n                  selected={option.value}\r\n                  onClick={() => applySorting(option.value, option.condition, option.label)}\r\n                  sx={{ typography: 'body2' }}\r\n                >\r\n                  {option.label}\r\n                </MenuItem>\r\n              ))}\r\n            </Menu>\r\n          </Stack>\r\n        </Stack>\r\n\r\n        <AssignVehicleList\r\n          allVehiclesWithStatus={assignVehicleWithStatus}\r\n          weekId={state?.weekId}\r\n          auctioneerId={state?.auctioneerId}\r\n          opportunityId={state?.opportunity}\r\n          name={state?.name}\r\n          totalUnits={state?.totalUnits}\r\n          startDate={state?.startDate}\r\n          endDate={state?.endDate}\r\n        />\r\n      </Container>\r\n    </>\r\n  );\r\n}\r\n"],"names":["styled","top","width","height","objectFit","position","right","transform","makeStyles","root","minWidth","StyledProductImg","useStyles","AssignVehicleList","_ref","allVehiclesWithStatus","weekId","auctioneerId","opportunityId","name","totalUnits","startDate","endDate","other","classes","navigate","useNavigate","dispatch","useDispatch","loading","setLoading","useState","selectedVehicles","setSelectedVehicles","vehiclesData","assignedVehicles","useSelector","state","users","userInfo","auth","useLocation","isVehicleDisabled","vehicleId","some","vehicle","vehicle_id","useEffect","assignedVehiclesArray","map","i","push","console","log","_jsxs","Grid","container","spacing","children","p","index","_jsx","item","xs","sm","md","Card","className","sx","cursor","Box","pt","alt","make","src","concat","imageURL","imageUrl","Stack","direction","alignItems","justifyContent","Link","color","underline","style","display","WebkitLineClamp","WebkitBoxOrient","overflow","fontWeight","fontSize","year","model","trim","marginTop","Typography","variant","noWrap","vin","marginRight","mileage","pl","onClick","handleClick","status","auctioneer_name","selected_date","toast","warning","Checkbox","size","checked","includes","onChange","handleCheckboxChange","prevSelectedVehicles","filter","id","disabled","m","LoadingButton","type","async","filteredSelectedVehicles","length","error","response","api","post","baseURL","car_ids","userId","user_id","success","getUserAuctioneerList","filterValue","filterId","opportunity_id","err","SORT_BY_OPTIONS","value","label","condition","ProductsPage","openFilter","setOpenFilter","vehicles","setVehicles","assign","setAssign","open","setOpen","sortBy","setSortBy","assignVehicleWithStatus","newAssignVehicleWithStatus","orderDirection","_Fragment","Container","mb","pb","flexWrap","Button","disableRipple","event","currentTarget","py","endIcon","Iconify","icon","component","borderBottom","Menu","keepMounted","anchorEl","Boolean","onClose","handleClose","anchorOrigin","vertical","horizontal","transformOrigin","option","MenuItem","selected","applySorting","key","typography","opportunity"],"sourceRoot":""}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists