Selected Actions Ok mais pas update des articles

This commit is contained in:
Kongzibapt 2021-02-07 11:56:41 +01:00
parent aa62eaef6c
commit 92eb17769f
3 changed files with 79 additions and 5 deletions

View file

@ -90,7 +90,7 @@ class ArticleDetails extends React.Component {
if (this.state.selected){
this.props.select(this.props.id)
} else {
this.props.deselect()
this.props.deselect(this.props.id)
}
})
}

View file

@ -4,16 +4,67 @@ import { Icon} from '@iconify/react';
import minusIcon from '@iconify/icons-fa-solid/minus';
import plusIcon from '@iconify/icons-fa-solid/plus';
import { Tooltip, Zoom } from '@material-ui/core';
import axios from 'axios';
class Selected extends Component {
constructor(props){
super(props)
this.state = {
redirect:false
}
}
minusQuantitySelected = () => {
this.updateArticle(-1)
}
plusQuantitySelected = () => {
this.updateArticle(1)
}
updateArticle = (value) => {
for (let i = 0 ; i < this.props.selectedArticles.length ; i++) {
axios.put(`https://etud.insa-toulouse.fr/~proximo/v2/api/articles/${this.props.selectedArticles[i].id}`,
{
'name':this.props.selectedArticles[i].name,
'description':this.props.selectedArticles[i].description,
'quantity':this.props.selectedArticles[i].quantity+value,
'price':this.props.selectedArticles[i].price,
'code':this.props.selectedArticles[i].code,
'category_id':this.props.selectedArticles[i].category.id
}
)
.then(res => {
console.log(res.data)
})
.catch(error => {
console.log(error.response)
})
}
}
deleteSelectedArticles = () => {
for (let i = 0 ; i < this.props.selectedArticles.length ; i++) {
axios.delete(`https://etud.insa-toulouse.fr/~proximo/v2/api/articles/${this.props.selectedArticles[i].id}`)
.then(res => {
console.log(res.data)
})
.catch(error => {
console.log(error.response)
})
}
}
render() {
return (
<div id="selectedBox">
@ -33,7 +84,7 @@ class Selected extends Component {
</Tooltip>
<Tooltip title="Supprimer" TransitionComponent={Zoom} aria-label="Supprimer">
<div>
<Icon icon={plusIcon} style={{transform : 'rotate(-45deg)', color: '#ffffff', fontSize: '2vw',cursor:'pointer',margin:'0 1vw 0 1vw'}} />
<Icon onClick={this.deleteSelectedArticles} icon={plusIcon} style={{transform : 'rotate(-45deg)', color: '#ffffff', fontSize: '2vw',cursor:'pointer',margin:'0 1vw 0 1vw'}} />
</div>
</Tooltip>
</div>

View file

@ -46,18 +46,39 @@ export default class Stock extends React.Component {
this.getArticles()
}
select = (id) => {
console.log(id)
this.setState({counter:this.state.counter+1},()=>{
console.log(this.state.counter)
this.state.selectedArticles.push(this.getArticleById(id))
console.log(this.state.selectedArticles)
})
}
deselect = () => {
// RECHERCHE DE L'ARTICLE
getArticleById(id) {
let i=0;
let current = this.state.articles[i];
let trouve = current.id === id ? true : false;
while(!trouve) {
i++;
current = this.state.articles[i];
if (current.id === id) {
trouve = !trouve;
}
}
return(current);
}
deselect = (id) => {
this.setState({counter:this.state.counter-1},()=>{
console.log(this.state.counter)
this.setState({selectedArticles: this.state.selectedArticles.filter((item) => item !== this.getArticleById(id))},()=>{
console.log(this.state.selectedArticles)
})
})
}
@ -241,7 +262,9 @@ export default class Stock extends React.Component {
}
}
render() {
console.log("rendered");
if (!sessionStorage.getItem('token')){
return (<div id="errorRouteBlock"><div id="errorRouteTitle">ERREUR </div><br/><div id="errorRouteTxt">Vous n'êtes pas connecté</div><br/><Link id="link" to='/'>Retourner à l'Accueil</Link></div>)
} else {
@ -257,7 +280,7 @@ export default class Stock extends React.Component {
<Sort handleChangeSortType={this.handleChangeSortType} handleChangeSortOrder={this.handleChangeSortOrder} orderIsHidden={this.state.orderIsHidden} lowToHigh={this.state.lowToHigh}/>
</div>
<div id="selectedBlock">
<Selected counter={this.state.counter}/>
<Selected selectedArticles={this.state.selectedArticles} counter={this.state.counter}/>
</div>
<div id="articleBlock">
{this.state.articles && this.state.articles[0] ?