Selected Actions Ok mais pas update des articles
This commit is contained in:
parent
aa62eaef6c
commit
92eb17769f
3 changed files with 79 additions and 5 deletions
|
@ -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)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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] ?
|
||||
|
|
Loading…
Reference in a new issue