Sindbad~EG File Manager
{"version":3,"file":"static/js/540.061ae377.chunk.js","mappings":"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","sources":["features/product/productActions.js","pages/Products/EditProduct.js"],"sourcesContent":["import axios from 'axios';\nimport { createAsyncThunk } from '@reduxjs/toolkit';\nimport { baseURL } from 'src/constants/baseURL';\nimport secureLocalStorage from 'react-secure-storage';\n\nconst token = secureLocalStorage.getItem('userToken');\n\nexport const createProduct = createAsyncThunk(\n 'products/create',\n async (data, { rejectWithValue }) => {\n try {\n const config = {\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n Authorization: `Bearer ${token}`\n }\n };\n\n axios.post(`${baseURL}/product`, data, config).then((res) => {\n console.log('Product Action', res?.data);\n });\n } catch (error) {\n if (error.response && error.response.data.message) {\n return rejectWithValue(error.response.data.message);\n }\n }\n }\n);\n\nexport const getProductsForBrand = createAsyncThunk(\n 'products/get',\n async ({ id }, { rejectWithValue }) => {\n console.log('[getProductsForBrand]', id);\n try {\n const config = {\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n Authorization: `Bearer ${token}`\n }\n };\n\n const { data } = await axios.get(`${baseURL}/product/${id}`, config);\n if (data) {\n console.log('[getProductsForBrand]', data);\n return data;\n }\n } catch (error) {\n if (error.response && error.response.data.message) {\n return rejectWithValue(error.response.data.message);\n }\n }\n }\n);\n\nexport const getAllProducts = createAsyncThunk(\n 'products/getAll',\n async ({}, { rejectWithValue }) => {\n // console.log(\"Product Action\", data, new Date());\n try {\n const config = {\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n Authorization: `Bearer ${token}`\n }\n };\n\n const { data } = await axios.get(`${baseURL}/products`, config);\n if (data) {\n // console.log(\"[getAllProducts admin]\", data.products);\n return data.products;\n }\n } catch (error) {\n if (error.response && error.response.data.message) {\n return rejectWithValue(error.response.data.message);\n }\n }\n }\n);\n\nexport const editProduct = createAsyncThunk(\n 'product/edit',\n async ({ id, values }, { rejectWithValue }) => {\n try {\n const config = {\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n Authorization: `Bearer ${token}`\n }\n };\n console.log('Action', id, values);\n const res = await axios.put(`${baseURL}/product/${id}`, values, config);\n\n if (res?.data) {\n console.log('Product edit payload', res?.data);\n }\n return res?.data;\n } catch (error) {\n if (error.response) {\n return rejectWithValue(error?.response?.data?.error?.message);\n } else {\n return rejectWithValue(error.message);\n }\n }\n }\n);\n\nexport const deleteProduct = createAsyncThunk('product/delete', async (id, { rejectWithValue }) => {\n try {\n const config = {\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n Authorization: `Bearer ${token}`\n }\n };\n const { data } = await axios.delete(`${baseURL}/product/${id}`, config);\n\n if (data) {\n // console.log(\"Product delete payload\", data);\n return data;\n }\n } catch (error) {\n if (error.response) {\n return rejectWithValue(error?.response?.data?.error?.message);\n } else {\n return rejectWithValue(error.message);\n }\n }\n});\n\nexport const sortProducts = createAsyncThunk(\n 'product/sort',\n async ({ sortBy, sort }, { rejectWithValue }) => {\n try {\n let url = baseURL + '/product/filter';\n\n if (sortBy) {\n url = baseURL + `/product/filter?sortBy=${sortBy}&sort=${sort}`;\n }\n const config = {\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n Authorization: `Bearer ${token}`\n }\n };\n const { data } = await axios.get(`${url}`, config);\n\n if (data) {\n console.log('Product sort payload', data);\n return data;\n }\n } catch (error) {\n if (error.response) {\n return rejectWithValue(error?.response?.data?.error?.message);\n } else {\n return rejectWithValue(error.message);\n }\n }\n }\n);\n","import { useRef, useState, useEffect } from 'react';\nimport {\n ButtonGroup,\n Button,\n Container,\n Stack,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n Typography,\n FormControl,\n TextField,\n Card,\n CardContent,\n IconButton,\n Checkbox,\n FormControlLabel\n} from '@mui/material';\nimport { Form, Field } from 'react-final-form';\nimport { toast } from 'react-toastify';\nimport TextInput from '../../components/TextInput/TextInput';\nimport Iconify from '../../components/iconify';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createProduct, editProduct } from 'src/features/product/productActions';\n\nimport { baseURL } from 'src/constants/baseURL';\nimport axios from 'axios';\n\nwindow.Buffer = window.Buffer || require('buffer').Buffer;\n\n// const ReactS3Client = new S3(S3_BUCKET_CONFIG);\n\nconst sizeTypes = {\n upper: ['XS', 'S', 'M', 'L', 'XL'],\n lower: ['28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40'],\n feet: ['35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47']\n};\n\nconst EditProduct = () => {\n const navigate = useNavigate();\n const dispatch = useDispatch();\n const { state } = useLocation();\n\n const productId = state?.product?._id;\n\n console.log('State', state);\n console.log('productId', productId);\n\n const [brandData, setBrandData] = useState([]);\n const [categoryData, setCategoryData] = useState([]);\n const [sizeChartImage, setSizeChartImage] = useState();\n\n const { brandInfo, userInfo } = useSelector((state) => state.auth);\n\n const role = userInfo?.user_role;\n\n const brandId = brandInfo?.brand_id;\n\n const fileInput = useRef();\n const fileSizeChartInput = useRef();\n const [selectedImages, setSelectedImages] = useState([]);\n\n const onSubmit = () => {\n console.log('Submit');\n };\n\n const handleRemove = (item) => {\n const filter = selectedImages.filter((i) => i !== item);\n setSelectedImages(filter);\n };\n\n return (\n <Container>\n <Stack direction=\"row\" alignItems=\"center\" justifyContent=\"space-between\" mb={5}>\n <Typography variant=\"h4\" sx={{ mb: 5 }}>\n Edit Product\n </Typography>\n\n <Button\n variant=\"contained\"\n onClick={() =>\n navigate(`/dashboard/${role}/products`, {\n replace: true\n })\n }\n >\n Back To Product\n </Button>\n </Stack>\n\n <Form\n onSubmit={onSubmit}\n initialValues={{\n name: state?.product?.name,\n category: state?.product?.category?._id,\n brand: state?.product?.brand?._id,\n productCode: state?.product?.productCode,\n color: state?.product?.color,\n size: state?.product?.size,\n price: state?.product?.price,\n quantity: state?.product?.quantity,\n discount: state?.product?.discount,\n description: state?.product?.description,\n imgUrl: state?.product?.imgUrl\n }}\n validate={(values) => {\n console.log('[validate]', values.size);\n const errors = {};\n if (!values.name) {\n errors.name = 'Name is required!';\n }\n if (!values.category) {\n errors.category = 'Category is required!';\n }\n if (!values.brand && userInfo?.user_role !== 'brand') {\n errors.brand = 'Brand name is required!';\n }\n if (values.price === 0) {\n errors.price = 'Price is required!';\n }\n if (!values.description) {\n errors.description = 'Description is required!';\n }\n if (!values.quantity) {\n errors.quantity = 'Quantity is required!';\n }\n if (!values.productCode) {\n errors.productCode = 'ProductCode is required!';\n }\n if (!values.color) {\n errors.color = 'Color is required!';\n }\n console.log('ere', errors);\n\n return errors;\n }}\n mutators={{\n onChangeQuantity: (args, state, utils) => {\n const calculateQty = (prev) => {\n if (prev > 1 || (prev === 1 && args == 1)) {\n const qty = Number(prev ?? 1) + Number(args);\n\n return qty;\n }\n\n return 1;\n };\n utils.changeValue(state, 'quantity', (prev) => calculateQty(prev));\n },\n onChangeCheckBox: (args, state, utils) => {\n const sizeHandler = (values) =>\n values.indexOf(args[0]) !== -1\n ? values.filter((value) => value !== args[0])\n : [...values, args[0]];\n utils.changeValue(state, 'size', (prev) => sizeHandler(prev));\n }\n }}\n render={({ handleSubmit, errors, form }) => (\n <form onSubmit={handleSubmit}>\n <Grid container spacing={4}>\n <Grid item xs={6}>\n <Field fullWidth name=\"name\">\n {(props) => <TextInput label={'Product Name'} {...props} />}\n </Field>\n </Grid>\n\n {/* <Grid item xs={6}>\n <Field fullWidth name=\"category\">\n {(props) => (\n <TextInput\n label={\"Product Category\"}\n type={\"text\"}\n {...props}\n />\n )}\n </Field>\n </Grid> */}\n\n <Grid item xs={6}>\n <Field fullWidth component=\"select\" name=\"category\">\n {({ input, meta, options }) => (\n <FormControl fullWidth>\n <InputLabel id=\"brand-label\">Product Category</InputLabel>\n <Select\n labelId=\"brand-label\"\n name=\"category\"\n options={categoryData}\n MenuProps={{\n style: {\n maxHeight: 300\n }\n }}\n {...input}\n >\n {categoryData?.map((x, index) => {\n return (\n <MenuItem key={index} value={x._id}>\n {x.categoryName}\n </MenuItem>\n );\n })}\n </Select>\n </FormControl>\n )}\n </Field>\n </Grid>\n\n {userInfo?.user_role !== 'brand' && (\n <Grid item xs={4} mt={3}>\n <Field fullWidth name=\"brand\">\n {({ input, meta, options }) => (\n <FormControl fullWidth>\n <InputLabel id=\"brand-label\">Brand Name</InputLabel>\n <Select\n labelId=\"brand-label\"\n name=\"brand\"\n options={brandData}\n onChange={(val) => input.onChange(val)}\n MenuProps={{\n style: {\n maxHeight: 300\n }\n }}\n {...input}\n >\n {brandData?.brands?.map((x, index) => {\n return (\n <MenuItem key={index} value={x._id}>\n {x.brandName}\n </MenuItem>\n );\n })}\n </Select>\n </FormControl>\n )}\n </Field>\n </Grid>\n )}\n\n <Grid item xs={4} mt={3}>\n <Field fullWidth name=\"productCode\">\n {(props) => <TextInput label={'Product Code'} {...props} />}\n </Field>\n </Grid>\n\n <Grid item xs={4} mt={3}>\n <Field fullWidth name=\"color\">\n {(props) => <TextInput label={'Product Color'} {...props} />}\n </Field>\n </Grid>\n\n <Grid item xs={userInfo?.user_role !== 'brand' ? 4 : 6} mt={3}>\n <Field fullWidth name=\"price\">\n {(props) => (\n <TextInput\n label={'Price'}\n type={'number'}\n style={{ paddingRight: 0 }}\n InputProps={{\n inputProps: {\n min: 0\n }\n }}\n {...props}\n />\n )}\n </Field>\n </Grid>\n\n <Grid item xs={userInfo?.user_role !== 'brand' ? 4 : 6} mt={3}>\n <Field fullWidth name=\"quantity\">\n {(props) => (\n <TextInput\n label={'Available Quantity'}\n type={'number'}\n style={{ paddingRight: 0 }}\n InputProps={{\n inputProps: {\n max: 100,\n min: 0\n },\n endAdornment: (\n <ButtonGroup\n size=\"small\"\n aria-label=\"small button group\"\n orientation=\"vertical\"\n >\n <Button\n color=\"primary\"\n variant=\"text\"\n onClick={() => form.mutators.onChangeQuantity(1)}\n >\n <Iconify icon=\"eva:plus-fill\" />\n </Button>\n <Button\n color=\"error\"\n variant=\"text\"\n onClick={() => form.mutators.onChangeQuantity(-1)}\n >\n <Iconify icon=\"eva:minus-fill\" />\n </Button>\n </ButtonGroup>\n )\n }}\n {...props}\n />\n )}\n </Field>\n </Grid>\n\n <Grid item xs={userInfo?.user_role !== 'brand' ? 4 : 6} mt={3}>\n <Field fullWidth name=\"discount\">\n {(props) => (\n <TextInput\n label={'Discount'}\n type={'number'}\n style={{ paddingRight: 0 }}\n InputProps={{\n inputProps: {\n min: 0\n }\n }}\n {...props}\n />\n )}\n </Field>\n </Grid>\n\n {categoryData.find((item) => item._id === form.getState().values['category']) && (\n <Grid item xs={userInfo?.user_role !== 'brand' ? 12 : 6}>\n <Field fullWidth name=\"size\" type=\"checkbox\">\n {(props) => (\n <FormControl fullWidth>\n Available Size:\n <div\n style={{\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-evenly',\n padding: 10\n }}\n >\n {categoryData.find(\n (item) => item._id === form.getState().values['category']\n ) !== '' &&\n sizeTypes[\n categoryData.find(\n (item) => item._id === form.getState().values['category']\n )?.sizeType\n ]?.map((size, index) => (\n <FormControlLabel\n control={\n <Checkbox\n name={size}\n onChange={(event) => {\n form.mutators.onChangeCheckBox(size);\n }}\n // value={}\n checked={form.getState().values['size'].includes(size)}\n {...props}\n />\n }\n label={size}\n key={index}\n />\n ))}\n </div>\n </FormControl>\n )}\n </Field>\n </Grid>\n )}\n\n <Grid item xs={12}>\n <Field\n name=\"description\"\n render={({ input }) => (\n <TextField\n fullWidth\n {...input}\n label=\"Product Description\"\n multiline\n rows={6}\n />\n )}\n />\n </Grid>\n\n <Typography variant=\"h4\" sx={{ marginTop: 5, marginLeft: 5 }}>\n Upload Images:\n </Typography>\n <Grid\n item\n xs={12}\n style={{\n flexDirection: 'row',\n display: 'flex'\n }}\n >\n {selectedImages?.length > 0 &&\n selectedImages?.map((item) => (\n <>\n <Card\n sx={{\n width: 150,\n height: 150,\n justifyContent: 'center',\n alignContent: 'center',\n display: 'grid',\n marginRight: 5\n }}\n >\n <Iconify\n icon=\"mdi:close-circle-outline\"\n sx={{\n width: 25,\n height: 25,\n position: 'absolute',\n right: 5,\n top: 5,\n zIndex: 9999\n }}\n onClick={() => handleRemove(item)}\n />\n <CardContent>\n <img src={URL.createObjectURL(item)} alt=\"\" />\n </CardContent>\n </Card>\n </>\n ))}\n <Card\n sx={{\n width: 150,\n height: 150,\n justifyContent: 'center',\n alignContent: 'center'\n }}\n >\n <CardContent style={{ justifyContent: 'center' }}>\n <input\n ref={fileInput}\n style={{ display: 'none' }}\n type=\"file\"\n accept=\"image/*\"\n onChange={(e) => setSelectedImages((prev) => [...prev, e.target.files[0]])}\n multiple={true}\n />\n <IconButton onClick={() => fileInput.current.click()}>\n <Iconify icon=\"mdi:file-image-plus-outline\" sx={{ width: 80, height: 80 }} />\n </IconButton>\n </CardContent>\n </Card>\n </Grid>\n\n <Typography variant=\"h4\" sx={{ marginTop: 5, marginLeft: 5 }}>\n Upload Size Chart <span style={{ color: '#b2b2b2' }}>(optional)</span>:\n </Typography>\n <Grid\n item\n xs={12}\n style={{\n flexDirection: 'row',\n display: 'flex'\n }}\n >\n {sizeChartImage && (\n <Card\n sx={{\n width: 150,\n height: 150,\n justifyContent: 'center',\n alignContent: 'center',\n display: 'grid',\n marginRight: 5\n }}\n >\n <Iconify\n icon=\"mdi:close-circle-outline\"\n sx={{\n width: 25,\n height: 25,\n position: 'absolute',\n right: 5,\n top: 5,\n zIndex: 9999\n }}\n onClick={() => setSizeChartImage('')}\n />\n <CardContent>\n <img src={URL.createObjectURL(sizeChartImage)} />\n </CardContent>\n </Card>\n )}\n <Card\n sx={{\n width: 150,\n height: 150,\n justifyContent: 'center',\n alignContent: 'center'\n }}\n >\n <CardContent style={{ justifyContent: 'center' }}>\n <input\n ref={fileSizeChartInput}\n style={{ display: 'none' }}\n type=\"file\"\n accept=\"image/*\"\n onChange={(e) => setSizeChartImage(() => e.target.files[0])}\n />\n <IconButton onClick={() => fileSizeChartInput.current.click()}>\n <Iconify icon=\"mdi:file-image-plus-outline\" sx={{ width: 80, height: 80 }} />\n </IconButton>\n </CardContent>\n </Card>\n </Grid>\n </Grid>\n <Grid container direction=\"row\" justifyContent=\"center\" alignItems=\"center\" m={4}>\n <Button variant=\"contained\" size=\"large\" type=\"submit\">\n Save\n </Button>\n </Grid>\n </form>\n )}\n />\n </Container>\n );\n};\n\nexport default EditProduct;\n"],"names":["token","secureLocalStorage","createAsyncThunk","async","data","rejectWithValue","config","headers","Accept","Authorization","axios","baseURL","then","res","console","log","error","response","message","id","products","values","sortBy","sort","url","window","Buffer","require","sizeTypes","upper","lower","feet","navigate","useNavigate","state","useDispatch","useLocation","productId","product","_id","brandData","setBrandData","useState","categoryData","setCategoryData","sizeChartImage","setSizeChartImage","brandInfo","userInfo","useSelector","auth","role","user_role","fileInput","brand_id","useRef","fileSizeChartInput","selectedImages","setSelectedImages","direction","alignItems","justifyContent","mb","variant","sx","onClick","replace","onSubmit","initialValues","name","category","brand","productCode","color","size","price","quantity","discount","description","imgUrl","validate","errors","mutators","onChangeQuantity","args","utils","changeValue","prev","Number","calculateQty","onChangeCheckBox","sizeHandler","indexOf","filter","value","render","handleSubmit","form","container","spacing","item","xs","fullWidth","props","label","component","input","meta","options","labelId","MenuProps","style","maxHeight","map","x","index","categoryName","mt","onChange","val","brands","brandName","type","paddingRight","InputProps","inputProps","min","max","endAdornment","orientation","icon","find","getState","display","flexDirection","padding","sizeType","control","event","checked","includes","multiline","rows","marginTop","marginLeft","length","width","height","alignContent","marginRight","position","right","top","zIndex","i","handleRemove","src","URL","createObjectURL","alt","ref","accept","e","target","files","multiple","current","click","m"],"sourceRoot":""}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists