both filter and API changes

This commit is contained in:
Sonika 2023-12-15 20:30:57 +05:30
parent 4db1601504
commit a663f5276c
9 changed files with 55 additions and 212 deletions

5
axiosConfig.js Normal file
View File

@ -0,0 +1,5 @@
import axios from 'axios';
const instance = axios.create({
baseURL: 'http://localhost:8080/SonyMusicRights'
});
export default instance;

View File

@ -1,13 +1,7 @@
import { useQuery } from '@tanstack/react-query'; import {useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
import axios from 'axios';
export const fetchLinkedProjects = (searchBy:any, config:any) => { export const getLinkedProjectListCopy = async(searchBy:any)=>{
const fetchData = async () => { const response = await fetch(`http://localhost:8080/SonyMusicRights/linked-project?searchBy=${searchBy}`);
const response = await axios.get(`${config.apiUrl}/linked-project`, { const projectListData = await response.json()
params: { return projectListData;
searchBy
} }
});
return response.data;
};
};

View File

@ -1,10 +1,7 @@
import {useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; import {useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
export const getProjectListCopy = async(searchBy:any)=>{ export const getProjectListCopy = async(searchBy:any)=>{
const response = await fetch(`/project-list?searchBy=${searchBy}`); const response = await fetch(`http://localhost:8080/SonyMusicRights/project-list?searchBy=`);
if (!response.ok) {
throw new Error('Failed to get project list data');
}
const projectListData = await response.json() const projectListData = await response.json()
return projectListData; return projectListData;
} }

View File

@ -1,13 +1,7 @@
import { useQuery } from '@tanstack/react-query'; import {useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
import axios from 'axios';
export const fetchPublishedProjects = (searchBy:any, config:any) => { export const getPublishedProjects = async(searchBy:any)=>{
const fetchData = async () => { const response = await fetch(`http://localhost:8080/SonyMusicRights/published-project?searchBy=${searchBy}`);
const response = await axios.get(`${config.apiUrl}/published-project`, { const projectListData = await response.json()
params: { return projectListData;
searchBy
} }
});
return response.data;
};
};

View File

@ -1,13 +1,7 @@
import { useQuery } from '@tanstack/react-query'; import {useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
import axios from 'axios';
export const fetchUnlinkedProjects = (searchBy:any, config:any) => { export const getUnlinkedProjects = async(searchBy:any)=>{
const fetchData = async () => { const response = await fetch(`http://localhost:8080/SonyMusicRights/unlinked-project?searchBy=${searchBy}`);
const response = await axios.get(`${config.apiUrl}/unlinked-project`, { const projectListData = await response.json()
params: { return projectListData;
searchBy
} }
});
return response.data;
};
};

View File

@ -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,
});
};

View File

@ -1,5 +1,6 @@
import {useQuery} from '@tanstack/react-query' import {useQuery} from '@tanstack/react-query'
export const getProjectList = async()=>{ export const getProjectList = async()=>{
const response = await fetch('http://localhost:8080/SonyMusicRights/project-list?searchBy='); const response = await fetch('http://localhost:8080/SonyMusicRights/project-list?searchBy=');
if (!response.ok) { if (!response.ok) {

View File

@ -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,
});
};

View File

@ -2,145 +2,39 @@ import React from "react";
import ProjectList from "./ProjectsList"; import ProjectList from "./ProjectsList";
import { useGetProjectData } from "../../APIs/getProject"; import { useGetProjectData } from "../../APIs/getProject";
import { getProjectListCopy } from "../../APIs/ProjectScreenAPIs/getProject"; import { getProjectListCopy } from "../../APIs/ProjectScreenAPIs/getProject";
// import ProjectFilter from "./ProjectFilter";
import { useState } from "react"; import { useState } from "react";
import { useEffect } 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 { Box, Card, CardContent, FormControl, Grid, InputLabel, MenuItem, Paper, Select, TextField } from "@mui/material";
import { useMutation } from "@tanstack/react-query"; import { getPublishedProjects } from "../../APIs/ProjectScreenAPIs/getPublishedProject";
// import { fetchProjects } from "APIs/ProjectScreenAPIs/getProject"; import { getUnlinkedProjects } from "../../APIs/ProjectScreenAPIs/getUnlinkedProject";
// import { useGetProjectData } from 'APIs/getProject';
export default function Projects(){ export default function Projects(){
const { data: getProjectDataList, isLoading, isError } = useGetProjectData(); const { data: getProjectDataList, isLoading, isError } = useGetProjectData();
// getProjectListCopy('Doo');
const [selectedContractFilter, setSelectedContractFilter] = useState<any>('All'); const [selectedContractFilter, setSelectedContractFilter] = useState<any>('All');
const [searchBy, setSearchBy] = useState(''); const [ContractFilterResponseData, setContractFilterResponseData] = useState<any>();
// const { data:letsseethishsit } = getProjectListCopy('Doo'); const [searchByFilter, setSearchByFilter] = useState('');
// console.log(letsseethishsit,"skdfgsdgf")
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){ if (isLoading){
return <h2>Loading...</h2> return <h2>Loading...</h2>
} }
// if(isError){
// <h2>isError</h2>
// }
// if(error){
// <h2>error</h2>
// }
// 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( return(
<> <>
@ -150,12 +44,14 @@ export default function Projects(){
<InputLabel htmlFor="contract-list" >Select Contract</InputLabel> <InputLabel htmlFor="contract-list" >Select Contract</InputLabel>
<Select <Select
sx={{input: { color: 'white' }}} sx={{input: { color: 'white' }}}
value={''} value={selectedContractFilter}
// onChange={props.handleContractFilterChange}
inputProps={{ inputProps={{
name: 'contracts', name: 'contracts',
id: 'contract-type', id: 'contract-type',
}} }}
onChange={(e)=>{
setSelectedContractFilter(e.target.value)
}}
> >
<MenuItem value="All">All</MenuItem> <MenuItem value="All">All</MenuItem>
<MenuItem value="unlinked">Contract Pending</MenuItem> <MenuItem value="unlinked">Contract Pending</MenuItem>
@ -167,10 +63,12 @@ export default function Projects(){
id="standard-name" id="standard-name"
variant="standard" variant="standard"
label="Search By" label="Search By"
value={''} value={searchByFilter}
onChange={(e)=>{
setSearchByFilter(e.target.value);
}}
sx={{input: { color: 'white' }}} sx={{input: { color: 'white' }}}
placeholder="Search By Title, Project Title, Contract No, Asset Title, Track Grid, ISRC" placeholder="Search By Title, Project Title, Contract No, Asset Title, Track Grid, ISRC"
// onChange={props.handleSearchByChange}
style={{marginLeft: '10%', width: '45%'}} style={{marginLeft: '10%', width: '45%'}}
margin="normal" margin="normal"
/> />