Thursday, February 1, 2024

UserType Get Data

February 01, 2024 0

 UserType Get Data 

with Get Api


import { FormControl, InputLabel, MenuItem, Select } from "@mui/material";
import { useEffect, useState } from "react";

export default function Selectbox(props) {

    const [data, setData] = useState([]);
    const [showuser, setShowUser] = useState('');
    const GetApiData = window.apiGetData;

    useEffect(() => {

        const handleFetchCharacter = async () => {
            try {
                // const jsonData = await fetApi();
                const jsonData = await GetApiData(`http://surevih.in/api/allusertype`);
                const result = jsonData['usertypes'];
                console.log("Re;-", result);
                setData(result);
            } catch (error) {
                // Handle error, e.g., show an error message
                console.error('Error fetching character:', error);
            }
        };

        handleFetchCharacter();
    }, [GetApiData]);

    const handleChange = (event) => {
        // console.log("data  :" , jsonvalue);
        console.log("Target Value :- ", event.target.value);
        setShowUser(event.target.value);
    };

    // console.log("All types data", data)

    return (
        <FormControl fullWidth>
            <InputLabel id="demo-simple-select-label">User Type</InputLabel>
            <Select
                labelId="demo-simple-select-label"
                id="demo-simple-select"
                value={showuser}
                label="Show User Type"
                onChange={handleChange}
            >
                // all list show
                {
                    data.map((item) =>
                        <MenuItem key={item.id} value={item.id}>{item.usertype}</MenuItem>
                    )
                }

                // Admin element not show in List
                
                   {
                    data.map((item, index) =>
                        index !== 0 && (
                            <MenuItem key={item.id} value={item.id}>{item.usertype}</MenuItem>
                        )
                    )
                }
            </Select>

        </FormControl>
    );
}

Email Id Before @ (print Name) in Java Script

February 01, 2024 0

 Email Id Before @ (print Name) in Java Script

Email Shorting


ex:     avisinghone@gmail.com

sol :     avisinghone


export default function Homepage() {
const length = user.email.length;
    let name = '';
   
    for (let i = 0; i < length; i++) {
        if (user.email[i] === "@") {
            name = user.email.substring(0, i)
            break;
        }
    }
    console.log(name)

return (
        <>
            <Box sx={{ paddingTop: '1px' }}>
                <h1>Hello {name}</h1>

            </Box>

        </>
    );

Sunday, January 14, 2024

Context Api With Stepper with Form Data

January 14, 2024 0

 Context Api With Stepper with Form Data


// App.js

import { Step, StepLabel, Stepper } from "@mui/material";
import BasicDetails from "./Page/Property Registration/Basicdetails";
import LocationDetails from "./Page/Property Registration/Locationdetails";
import PropertyDetails from "./Page/Property Registration/Propertydetails";
import { multiStepContext } from "./StepContext";
import { useContext } from "react";
import DisplayData from "./Page/Property Registration/Displaydata";

function App() {

  const { currentStep, finalData } = useContext(multiStepContext);
  function showStep(step) {
    switch (step) {
      case 1:
        return <BasicDetails />
      case 2:
        return <LocationDetails />
      case 3:
        return <PropertyDetails />
    }
  }
  return (
    <div style={{ textAlign: "center" }}>
      <h1>Hello Print</h1>
      <Stepper style={{ width: '80%', paddingLeft: '10%' }} activeStep={currentStep - 1} orientation="horizontal" >
        <Step>
          <StepLabel>Basic Details</StepLabel>
        </Step>
        <Step>
          <StepLabel>Location Details</StepLabel>
        </Step>
        <Step>
          <StepLabel>Property Details</StepLabel>
        </Step>
      </Stepper>

      {showStep(currentStep)}
      {
        finalData.length > 0 ? <DisplayData /> : ''
      }
    </div>

  );
}

export default App;

// index.js

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import StepContext from './StepContext';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <StepContext>
    <React.StrictMode>
      <App />
    </React.StrictMode>
  </StepContext>

);

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

// StepContext.js

import React, { useState } from "react";
import App from './App';

export const multiStepContext = React.createContext();

const StepContext = () => {
    const [currentStep, setStep] = useState(1);
    const [userData, setUserData] = useState([]);
    const [finalData, setFinalData] = useState([]);

    function submitData() {
        setFinalData(finalData => [...finalData, userData]);
        setUserData('');
        setStep(1);
        console.log("User All Data :- ", userData);
    }
    return (
        <div>
            <multiStepContext.Provider value={{ currentStep, setStep, userData, setUserData, finalData, setFinalData, submitData }} >
                <App />
            </multiStepContext.Provider>
        </div>
    );
}

export default StepContext;


//Create Page  using Stepper

Page :- 1 ( Basicdetails.jsx)


import { Box, Button, TextField } from "@mui/material";
import { multiStepContext } from "../../StepContext";
import { useContext } from "react";


export default function BasicDetails() {
    const { setStep, userData, setUserData } = useContext(multiStepContext);
    return (
        <>
            <h1>Basic Details</h1>
            <Box>
                <TextField label="First Name" variant="outlined" value={userData['firstname']} color="secondary"
                    onChange={(e) => setUserData({ ...userData, "firstname": e.target.value })} />
            </Box>
            <Box>
                <TextField label="Last Name" variant="outlined" value={userData['lastname']} color="secondary"
                    onChange={(e) => setUserData({ ...userData, "lastname": e.target.value })} />
            </Box>
            <Box>
                <TextField label="Contact Number" variant="outlined" value={userData['contactno']} color="secondary"
                    onChange={(e) => setUserData({ ...userData, "contactno": e.target.value })} />
            </Box>

            <Box>
                <Button variant="contained" color="primary" onClick={() => setStep(2)}>Next</Button>
            </Box>
        </>
    );
}


                                             Page :- 2 ( Locationdetails.jsx)

import { Box, Button, TextField } from "@mui/material";
import { useContext } from "react";
import { multiStepContext } from "../../StepContext";

export default function LocationDetails() {
    const { setStep, userData, setUserData } = useContext(multiStepContext);
    return (
        <>
            <h1>Location Details</h1>
            <Box>
                <TextField label="Location" variant="outlined" value={userData['location']} color="secondary"
                    onChange={(e) => setUserData({ ...userData, "location": e.target.value })} />
            </Box>
            <Box>
                <TextField label="City" variant="outlined" value={userData['city']} color="secondary"
                    onChange={(e) => setUserData({ ...userData, "city": e.target.value })} />
            </Box>
            <Box>
                <TextField label="State" variant="outlined" value={userData['state']} color="secondary"
                    onChange={(e) => setUserData({ ...userData, "state": e.target.value })} />
            </Box>

            <Box>
                <Button variant="contained" color="secondary" onClick={() => setStep(1)}>Back</Button>
                <span> </span>
                <Button variant="contained" color="primary" onClick={() => setStep(3)}>Next</Button>
            </Box>

        </>
    );
}

Page :- 3 ( Propertydetails.jsx)

import { Box, Button, TextField } from "@mui/material";
import { useContext } from "react";
import { multiStepContext } from "../../StepContext";

export default function PropertyDetails() {
    const { setStep, userData, setUserData, submitData } = useContext(multiStepContext);
    return (
        <>
            <h1>Property Details</h1>
            <Box>
                <TextField label="Property Name" variant="outlined" value={userData['propertyname']} color="secondary"
                    onChange={(e) => setUserData({ ...userData, "propertyname": e.target.value })} />
            </Box>
            <Box>
                <TextField label="Property type" variant="outlined" value={userData['propertytype']} color="secondary"
                    onChange={(e) => setUserData({ ...userData, "propertytype": e.target.value })} />
            </Box>
            <Box>
                <TextField label="Price" variant="outlined" value={userData['price']} color="secondary"
                    onChange={(e) => setUserData({ ...userData, "price": e.target.value })} />
            </Box>

            <Box>
                <Button variant="contained" color="secondary" onClick={() => setStep(2)}>Back</Button>
                <span> </span>
                <Button variant="contained" color="primary" onClick={submitData}>Submit</Button>
            </Box>
        </>
    );
}


//Display page
                                                Displaydata.jsx


import { useContext } from "react";
import { multiStepContext } from "../../StepContext";
import { Table, TableBody, TableCell, TableContainer, TableRow, TableHead } from "@mui/material";


export default function DisplayData() {
    const { finalData } = useContext(multiStepContext);
    return (
        <>
            <h1>Display All Data from ContextApi</h1>

            <TableContainer>
                <Table>
                    <TableHead>
                        <TableRow>
                            <TableCell>First Name</TableCell>
                            <TableCell>Last Name</TableCell>
                            <TableCell>Contact</TableCell>
                            <TableCell>Location</TableCell>
                            <TableCell>City</TableCell>
                            <TableCell>State</TableCell>
                            <TableCell>Property Name</TableCell>
                            <TableCell>Property Type</TableCell>
                            <TableCell>Price</TableCell>
                        </TableRow>
                    </TableHead>
                    <TableBody>
                        {
                            finalData.map((data) => (
                                <TableRow key={data.firstname}>
                                    <TableCell>{data.firstname}</TableCell>
                                    <TableCell>{data.lastname}</TableCell>
                                    <TableCell>{data.contact}</TableCell>
                                    <TableCell>{data.location}</TableCell>
                                    <TableCell>{data.city}</TableCell>
                                    <TableCell>{data.state}</TableCell>
                                    <TableCell>{data.propertyname}</TableCell>
                                    <TableCell>{data.propertytype}</TableCell>
                                    <TableCell>{data.price}</TableCell>
                                </TableRow>

                            ))
                        }
                    </TableBody>
                </Table>
            </TableContainer>
        </>
    );
}





Friday, January 12, 2024

Json Data Sender in body : JSON.stringify(data)

January 12, 2024 0

 Json Data Sender in body : JSON.stringify(data)


// in Form

const [formData, setFormData] = useState({
        workername: "",
        workertype: "",
    });

calling : -
        body: JSON.stringify(formData),


// Without Form : - input field Direct

Type 1

const [workername, setWorkername] = useState();
const [workertype, setWorkertype] = useState();

console.log(workername, workertype);

calling : -

body: JSON.stringify({ "workername": workername, "workertype": workertype }),

<TextField
                required
                label="Worker Name"
                id='workername'
                type='text'
                value={workername}
                onChange={(e) => setWorkername(e.target.value)}
            />

Type 2

const [workername, setWorkername] = useState();
const [workertype, setWorkertype] = useState();

const data = {
            workername,
            workertype
            // Add more properties as needed
        };

calling : -

body: JSON.stringify(data),

<TextField
                required
                label="Worker Name"
                id='workername'
                type='text'
                value={workername}
                onChange={(e) => setWorkername(e.target.value)}
            />