From a663f5276cd7f03078f37eda810a6c032efea7fd Mon Sep 17 00:00:00 2001 From: Sonika Date: Fri, 15 Dec 2023 20:30:57 +0530 Subject: [PATCH] both filter and API changes --- axiosConfig.js | 5 + .../ProjectScreenAPIs/getLinkedProject.tsx | 18 +- src/APIs/ProjectScreenAPIs/getProject.tsx | 5 +- .../ProjectScreenAPIs/getPublishedProject.tsx | 18 +- .../ProjectScreenAPIs/getUnlinkedProject.tsx | 18 +- src/APIs/getLinkedProjects.js | 20 --- src/APIs/getProject.tsx | 1 + src/APIs/getUnlinkedProjects.js | 20 --- src/components/projects/Projects.tsx | 162 ++++-------------- 9 files changed, 55 insertions(+), 212 deletions(-) create mode 100644 axiosConfig.js delete mode 100644 src/APIs/getLinkedProjects.js delete mode 100644 src/APIs/getUnlinkedProjects.js diff --git a/axiosConfig.js b/axiosConfig.js new file mode 100644 index 0000000..6a8d0d3 --- /dev/null +++ b/axiosConfig.js @@ -0,0 +1,5 @@ +import axios from 'axios'; +const instance = axios.create({ + baseURL: 'http://localhost:8080/SonyMusicRights' +}); +export default instance; \ No newline at end of file diff --git a/src/APIs/ProjectScreenAPIs/getLinkedProject.tsx b/src/APIs/ProjectScreenAPIs/getLinkedProject.tsx index 929f701..bf7c32e 100644 --- a/src/APIs/ProjectScreenAPIs/getLinkedProject.tsx +++ b/src/APIs/ProjectScreenAPIs/getLinkedProject.tsx @@ -1,13 +1,7 @@ -import { useQuery } from '@tanstack/react-query'; -import axios from 'axios'; +import {useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; -export const fetchLinkedProjects = (searchBy:any, config:any) => { - const fetchData = async () => { - const response = await axios.get(`${config.apiUrl}/linked-project`, { - params: { - searchBy - } - }); - return response.data; - }; -}; \ No newline at end of file +export const getLinkedProjectListCopy = async(searchBy:any)=>{ + const response = await fetch(`http://localhost:8080/SonyMusicRights/linked-project?searchBy=${searchBy}`); + const projectListData = await response.json() + return projectListData; +} diff --git a/src/APIs/ProjectScreenAPIs/getProject.tsx b/src/APIs/ProjectScreenAPIs/getProject.tsx index 3deb70c..4381050 100644 --- a/src/APIs/ProjectScreenAPIs/getProject.tsx +++ b/src/APIs/ProjectScreenAPIs/getProject.tsx @@ -1,10 +1,7 @@ import {useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; export const getProjectListCopy = async(searchBy:any)=>{ - const response = await fetch(`/project-list?searchBy=${searchBy}`); - if (!response.ok) { - throw new Error('Failed to get project list data'); - } + const response = await fetch(`http://localhost:8080/SonyMusicRights/project-list?searchBy=`); const projectListData = await response.json() return projectListData; } diff --git a/src/APIs/ProjectScreenAPIs/getPublishedProject.tsx b/src/APIs/ProjectScreenAPIs/getPublishedProject.tsx index f528a36..8cb21eb 100644 --- a/src/APIs/ProjectScreenAPIs/getPublishedProject.tsx +++ b/src/APIs/ProjectScreenAPIs/getPublishedProject.tsx @@ -1,13 +1,7 @@ -import { useQuery } from '@tanstack/react-query'; -import axios from 'axios'; +import {useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; -export const fetchPublishedProjects = (searchBy:any, config:any) => { - const fetchData = async () => { - const response = await axios.get(`${config.apiUrl}/published-project`, { - params: { - searchBy - } - }); - return response.data; - }; -}; \ No newline at end of file +export const getPublishedProjects = async(searchBy:any)=>{ + const response = await fetch(`http://localhost:8080/SonyMusicRights/published-project?searchBy=${searchBy}`); + const projectListData = await response.json() + return projectListData; +} diff --git a/src/APIs/ProjectScreenAPIs/getUnlinkedProject.tsx b/src/APIs/ProjectScreenAPIs/getUnlinkedProject.tsx index 8389f8f..750344d 100644 --- a/src/APIs/ProjectScreenAPIs/getUnlinkedProject.tsx +++ b/src/APIs/ProjectScreenAPIs/getUnlinkedProject.tsx @@ -1,13 +1,7 @@ -import { useQuery } from '@tanstack/react-query'; -import axios from 'axios'; +import {useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; -export const fetchUnlinkedProjects = (searchBy:any, config:any) => { - const fetchData = async () => { - const response = await axios.get(`${config.apiUrl}/unlinked-project`, { - params: { - searchBy - } - }); - return response.data; - }; -}; \ No newline at end of file +export const getUnlinkedProjects = async(searchBy:any)=>{ + const response = await fetch(`http://localhost:8080/SonyMusicRights/unlinked-project?searchBy=${searchBy}`); + const projectListData = await response.json() + return projectListData; +} diff --git a/src/APIs/getLinkedProjects.js b/src/APIs/getLinkedProjects.js deleted file mode 100644 index 9b2d0e0..0000000 --- a/src/APIs/getLinkedProjects.js +++ /dev/null @@ -1,20 +0,0 @@ -import { useQuery } from "@tanstack/react-query"; - -export const getLinkedProjects = async () => { - const response = await fetch('http://localhost:8080/SonyMusicRights/linked-project?searchBy='); - if (!response.ok) { - throw new Error('Failed to get UploadStatus data'); - } - const LinkedProjectsdata = await response.json(); - return LinkedProjectsdata; - }; - - export const useGetLinkedProjects = () => { - return useQuery({ - queryKey: ['LnikedProject-list'], - queryFn: getLinkedProjects, - }); - }; - - - diff --git a/src/APIs/getProject.tsx b/src/APIs/getProject.tsx index 49cc9f8..a9858b1 100644 --- a/src/APIs/getProject.tsx +++ b/src/APIs/getProject.tsx @@ -1,5 +1,6 @@ import {useQuery} from '@tanstack/react-query' + export const getProjectList = async()=>{ const response = await fetch('http://localhost:8080/SonyMusicRights/project-list?searchBy='); if (!response.ok) { diff --git a/src/APIs/getUnlinkedProjects.js b/src/APIs/getUnlinkedProjects.js deleted file mode 100644 index 580b6f5..0000000 --- a/src/APIs/getUnlinkedProjects.js +++ /dev/null @@ -1,20 +0,0 @@ -import { useQuery } from "@tanstack/react-query"; - -export const getUnlinkedProjects = async () => { - const response = await fetch('http://localhost:8080/SonyMusicRights/unlinked-project?searchBy='); - if (!response.ok) { - throw new Error('Failed to get unlinkedProjects data'); - } - const UnlinkedProjectsdata = await response.json(); - return UnlinkedProjectsdata; - }; - - export const useGetUnlinkedProjects = () => { - return useQuery({ - queryKey: ['UnlinkedProject-list'], - queryFn: getUnlinkedProjects, - }); - }; - - - diff --git a/src/components/projects/Projects.tsx b/src/components/projects/Projects.tsx index 3d58978..6a8c933 100644 --- a/src/components/projects/Projects.tsx +++ b/src/components/projects/Projects.tsx @@ -2,146 +2,40 @@ import React from "react"; import ProjectList from "./ProjectsList"; import { useGetProjectData } from "../../APIs/getProject"; import { getProjectListCopy } from "../../APIs/ProjectScreenAPIs/getProject"; -// import ProjectFilter from "./ProjectFilter"; import { useState } from "react"; import { useEffect } from "react"; +import { getLinkedProjectListCopy } from "../../APIs/ProjectScreenAPIs/getLinkedProject"; import { Box, Card, CardContent, FormControl, Grid, InputLabel, MenuItem, Paper, Select, TextField } from "@mui/material"; -import { useMutation } from "@tanstack/react-query"; -// import { fetchProjects } from "APIs/ProjectScreenAPIs/getProject"; -// import { useGetProjectData } from 'APIs/getProject'; - +import { getPublishedProjects } from "../../APIs/ProjectScreenAPIs/getPublishedProject"; +import { getUnlinkedProjects } from "../../APIs/ProjectScreenAPIs/getUnlinkedProject"; export default function Projects(){ const { data: getProjectDataList, isLoading, isError } = useGetProjectData(); - // getProjectListCopy('Doo'); const [selectedContractFilter, setSelectedContractFilter] = useState('All'); - const [searchBy, setSearchBy] = useState(''); - // const { data:letsseethishsit } = getProjectListCopy('Doo'); - // console.log(letsseethishsit,"skdfgsdgf") + const [ContractFilterResponseData, setContractFilterResponseData] = useState(); + const [searchByFilter, setSearchByFilter] = useState(''); + + useEffect(()=>{ + if(selectedContractFilter=='All'){ + setContractFilterResponseData(getProjectListCopy(searchByFilter)) + } + else if (selectedContractFilter=='linked'){ + setContractFilterResponseData(getLinkedProjectListCopy(searchByFilter)) + } + else if (selectedContractFilter=='unlinked'){ + setContractFilterResponseData(getUnlinkedProjects(searchByFilter)) + } + else if (selectedContractFilter=='published'){ + setContractFilterResponseData(getPublishedProjects(searchByFilter)) + } + },[selectedContractFilter,searchByFilter]) + + // console.log(ContractFilterResponseData,"sdkhhskdjgh",selectedContractFilter) if (isLoading){ return

Loading...

} - // if(isError){ - //

isError

- // } - // if(error){ - //

error

- // } - // const { mutate } = useMutation(fetchProjects, { - // onSuccess: (data) => { - // }, - // onError: () => { - // alert('There was an error'); - // }, - // onSettled: () => {}, - // }); - // useEffect(()=>{ - - // }) - // useEffect(() => { - // setSelectedContractFilter(props.location.state ? props.location.state.type : 'All'); - // setSearchBy(''); - // try { - // switch (props.location.state.type) { - // case 'linked': - // props.fetchLinkedProject(searchBy, props.config); - // break; - // case 'unlinked': - // props.fetchUnLinkedProject(searchBy, props.config); - // break; - // case 'published': - // props.fetchPublishedProject(searchBy, props.config); - // break; - // case 'autolinked': - // props.fetchAutoLinkedProjectAssets(searchBy, props.config); - // break; - // default: - // props.fetchProjects(searchBy, props.config); - // break; - // } - // } catch (e) { - // props.fetchProjects(searchBy, props.config); - // } - // }, [props.location.state, searchBy, props.config, props]); - - // const handleContractFilterChange = (event) => { - // setSelectedContractFilter(event.target.value); - // setSearchBy(''); - // try { - // switch (event.target.value) { - // case 'linked': - // props.fetchLinkedProject(searchBy, props.config); - // break; - // case 'unlinked': - // props.fetchUnLinkedProject(searchBy, props.config); - // break; - // case 'published': - // props.fetchPublishedProject(searchBy, props.config); - // break; - // case 'autolinked': - // props.fetchAutoLinkedProjectAssets(searchBy, props.config); - // break; - // default: - // props.fetchProjects(searchBy, props.config); - // break; - // } - // } catch (e) { - // props.fetchProjects(searchBy, props.config); - // } - // }; - - // const handleSearchByChange = (event) => { - // setSearchBy(event.target.value); - // try { - // switch (selectedContractFilter) { - // case 'linked': - // props.fetchLinkedProject(searchBy, props.config); - // break; - // case 'unlinked': - // props.fetchUnLinkedProject(searchBy, props.config); - // break; - // case 'published': - // props.fetchPublishedProject(searchBy, props.config); - // break; - // case 'autolinked': - // props.fetchAutoLinkedProjectAssets(searchBy, props.config); - // break; - // default: - // props.fetchProjects(searchBy, props.config); - // break; - // } - // } catch (e) { - // props.fetchProjects(searchBy, props.config); - // } - // }; - - // let projects = []; - // console.log("Console in Props List :", props); - // try { - // switch (selectedContractFilter) { - // case 'linked': - // projects = props.linkedProjects ? props.linkedProjects : []; - // break; - // case 'unlinked': - // projects = props.unLinkedProjects ? props.unLinkedProjects : []; - // break; - // case 'published': - // projects = props.publishedProjects ? props.publishedProjects : []; - // break; - // case 'autolinked': - // projects = props.autoLinkedProjects ? props.autoLinkedProjects : []; - // break; - // default: - // projects = props.projects ? props.projects : []; - // break; - // } - // } catch (e) { - // projects = props.projects ? props.projects : []; - // } - - return( <> @@ -150,12 +44,14 @@ export default function Projects(){ Select Contract