Skip to content

Commit

Permalink
trilhas
Browse files Browse the repository at this point in the history
  • Loading branch information
GabrielMEsteves committed Nov 23, 2023
1 parent bc2f7b4 commit e9f3878
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 18 deletions.
4 changes: 3 additions & 1 deletion backend/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ const electiveRoute = require('./views/routes/Electives')
const learningPathRoute = require('./views/routes/LearningPaths')
const logoutRoutes = require('./views/routes/Users');
const sequelize = require('sequelize');
const deleteLearningPathsRoute = require('./views/routes/LearningPaths');

require("dotenv").config();
const app = express();
Expand All @@ -15,7 +16,8 @@ app.use(cors());

app.use('/auth', userRoute);
app.use('/elective', electiveRoute);
app.use('/learning_paths', learningPathRoute);
app.use('/learningpath', learningPathRoute);
app.use('/deleteLearningPaths', deleteLearningPathsRoute);
app.use('/api', logoutRoutes);

// sequelize
Expand Down
44 changes: 27 additions & 17 deletions frontend/src/pages/PathExclusion/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const TrilhasList = () => {
useEffect(() => {
async function fetchTrilhas() {
try {
const response = await axios.get('http://localhost:3000/api/trilhas'); // Endpoint para buscar trilhas
const response = await axios.get('http://localhost:3000/learningpath/learningpath'); // Endpoint para buscar trilhas
setTrilhas(response.data); // Define as trilhas na state 'trilhas'
} catch (error) {
console.error('Erro ao buscar trilhas:', error);
Expand All @@ -38,33 +38,43 @@ const TrilhasList = () => {
}, []);

// Função para marcar/desmarcar trilha selecionada
const toggleSelecionada = (id) => {
const handleCheckboxChange = (id) => {
const isSelected = trilhasSelecionadas.includes(id);

if (isSelected) {
const updatedSelection = trilhasSelecionadas.filter((trilhaId) => trilhaId !== id);
setTrilhasSelecionadas(updatedSelection);
// Se já estiver selecionado, remova da lista de selecionados
setTrilhasSelecionadas(trilhasSelecionadas.filter((eleId) => eleId !== id));
} else {
// Se não estiver selecionado, adicione à lista de selecionados
setTrilhasSelecionadas([...trilhasSelecionadas, id]);
}

console.log(trilhasSelecionadas)
};


// Função para excluir trilhas selecionadas
const handleExcluirTrilhas = async () => {
const handleExcluirClick = async () => {
try {
await axios.delete('http://localhost:3000/api/deleteLearningPaths', {
data: { id: trilhasSelecionadas }, // Envia os IDs das trilhas selecionadas para exclusão
});
// Atualiza a lista de trilhas após a exclusão
const updatedTrilhas = trilhas.filter((trilha) => !trilhasSelecionadas.includes(trilha.id));
setTrilhas(updatedTrilhas);
setTrilhasSelecionadas([]); // Limpa as trilhas selecionadas após a exclusão
alert('Trilhas excluídas com sucesso!');
// Enviar uma solicitação para excluir as eletivas selecionadas
trilhasSelecionadas.map(async (eletiva) => {
await axios.delete('http://localhost:3001/elective/deleteElective', {
data: { id: eletiva },
});
})

// Atualizar a lista de eletivas após a exclusão
const response = await axios.get('http://localhost:3000/learningpath/deleteLearningPaths');
setTrilhas(response.data);

// Limpar a lista de eletivas selecionadas
setTrilhasSelecionadas([]);
} catch (error) {
console.error('Erro ao excluir trilhas:', error);
}
};

const dados = [{"nomeTrilha": "teste", "anoTrilha": 2}]


return (
<ChakraProvider>
Expand All @@ -84,18 +94,18 @@ const TrilhasList = () => {
</Tr>
</Thead>
<Tbody>
{dados.map((linha, index) => (
{trilhas.map((linha, index) => (
<Tr key={index}>
<Td>{linha.nomeTrilha}</Td>
<Td>{linha.anoTrilha}</Td>
<Td><Checkbox colorScheme='red' defaultChecked></Checkbox></Td>
<Td><Checkbox colorScheme='red' onChange={() => handleCheckboxChange(linha.id)}></Checkbox></Td>
</Tr>
))}
</Tbody>
</Table>
</TableContainer>
<Box display="flex" justifyContent="center">
<Button color="#243A69" variant='solid' margin="2vh">Excluir</Button>
<Button color="#243A69" variant='solid' margin="2vh" onClick={handleExcluirClick}>Excluir trilha selecionadas</Button>
</Box>
</Box>
</Flex>
Expand Down

0 comments on commit e9f3878

Please sign in to comment.