From 694b627348a8386842814a7933beb7c36b581c77 Mon Sep 17 00:00:00 2001 From: Luis Felipe Risch <lfr20@inf.ufpr.br> Date: Mon, 14 Dec 2020 09:04:29 -0300 Subject: [PATCH] Fixing requests from server --- src/Pages/Search.js | 74 ++++++++++++++++++++++++++++----------------- 1 file changed, 47 insertions(+), 27 deletions(-) diff --git a/src/Pages/Search.js b/src/Pages/Search.js index c0ee400a..08f6f80b 100644 --- a/src/Pages/Search.js +++ b/src/Pages/Search.js @@ -38,6 +38,7 @@ import SearchExpansionPanel from "../Components/SearchExpansionPanel/SearchExpan import ResourceCardFunction from "../Components/ResourceCardFunction"; import CollectionCardFunction from "../Components/CollectionCardFunction"; import ContactCard from "../Components/ContactCard"; +import CircularProgress from '@material-ui/core/CircularProgress'; let order = "review_average"; let currFilter = ""; @@ -50,6 +51,8 @@ export default function Search(props) { const [currOrder, setCurrOrder] = useState(order); const [page] = useState(0); const [isloading, setIsLoading] = useState(false); + const [loadingMoreData, setLoadingMoreData] = useState(false); + const [isFiltering, setIsFiltering] = useState(false); const [resultsPerPage, setResultsPerPage] = useState(6); const [totalResults, setTotalResults] = useState(0); const [options] = React.useState([ @@ -70,15 +73,12 @@ export default function Search(props) { new URLSearchParams(window.location.search).get("search_class") ); const [optionResult, setOptionResult] = useState(option); - console.log(option); - console.log(state); const collectStuff = (tipoBusca, filtro) => { + currFilter = filtro; if(filtro) - currFilter = filtro; - else if (filtro = "") - currFilter = filtro; - if(!filtro) + setIsFiltering(true); + if(tipoBusca === "Collection" || tipoBusca === "User") setIsLoading(true); axios @@ -93,13 +93,15 @@ export default function Search(props) { dispatch({ type: "SAVE_SEARCH", newSearch: { - query: "*", + query: state.search.query, class: tipoBusca, }, }); - setOption(new URLSearchParams(window.location.search).get("search_class")) + console.log(res); setTotalResults(res.headers["x-total-count"]); setIsLoading(false); + setIsFiltering(false); + setLoadingMoreData(false); }); }; @@ -260,15 +262,15 @@ export default function Search(props) { <Grid container spacing={2}> {resultsCollection.map((card) => ( <Grid item md={4} xs={6} key={card.id}> - <CollectionCardFunction - name={card.name} - rating={card.score} - id={card.id} - author={card.owner.name} - description={card.description} - thumbnails={card.items_thumbnails} - avatar={card.owner.avatar} - /> + <CollectionCardFunction + name={card.name} + rating={card.score} + id={card.id} + author={card.owner.name} + description={card.description} + thumbnails={card.items_thumbnails} + avatar={card.owner.avatar} + /> </Grid> ))} </Grid> @@ -290,10 +292,16 @@ export default function Search(props) { borderRadius: 4, border: "none", }} - onClick={() => setResultsPerPage(resultsPerPage + 12)} + onClick={() => { + setLoadingMoreData(true); + setResultsPerPage(resultsPerPage + 12) + // collectStuff("Collection", ""); + }} > - Carregar mais 12 - </button> + { + loadingMoreData ? <CircularProgress size={24} color="inherit" /> : "Carregar mais 12" + } + </button> </div> </Grid> </GridBuscaCollection> @@ -303,7 +311,7 @@ export default function Search(props) { <GridBuscaResource container spacing={2}> <Grid item md={3} xs={12}> <Paper elevation={4} square> - <SearchExpansionPanel onChange={collectStuff} /> + <SearchExpansionPanel onChange={collectStuff} onFiltering={isFiltering}/> </Paper> </Grid> <Grid item md={9} xs={12}> @@ -346,10 +354,16 @@ export default function Search(props) { borderRadius: 4, border: "none", }} - onClick={() => setResultsPerPage(resultsPerPage + 12)} + onClick={() => { + setLoadingMoreData(true); + setResultsPerPage(resultsPerPage + 12) + // collectStuff("LearningObject", ""); + }} > - Carregar mais 12 - </button> + { + loadingMoreData ? <CircularProgress size={24} color="inherit" /> : "Carregar mais 12" + } + </button> </div> </Grid> </GridBuscaResource> @@ -392,10 +406,16 @@ export default function Search(props) { borderRadius: 4, border: "none", }} - onClick={() => setResultsPerPage(resultsPerPage + 6)} + onClick={() => { + setLoadingMoreData(true); + setResultsPerPage(resultsPerPage + 12) + // collectStuff("User", ""); + }} > - Carregar mais 6 - </button> + { + loadingMoreData ? <CircularProgress size={24} /> : "Carregar mais 12" + } + </button> </div> </Grid> </GridBuscaUser> -- GitLab