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){
|
if (this.state.selected){
|
||||||
this.props.select(this.props.id)
|
this.props.select(this.props.id)
|
||||||
} else {
|
} 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 minusIcon from '@iconify/icons-fa-solid/minus';
|
||||||
import plusIcon from '@iconify/icons-fa-solid/plus';
|
import plusIcon from '@iconify/icons-fa-solid/plus';
|
||||||
import { Tooltip, Zoom } from '@material-ui/core';
|
import { Tooltip, Zoom } from '@material-ui/core';
|
||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
class Selected extends Component {
|
class Selected extends Component {
|
||||||
|
|
||||||
constructor(props){
|
constructor(props){
|
||||||
super(props)
|
super(props)
|
||||||
this.state = {
|
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() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<div id="selectedBox">
|
<div id="selectedBox">
|
||||||
|
@ -33,7 +84,7 @@ class Selected extends Component {
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<Tooltip title="Supprimer" TransitionComponent={Zoom} aria-label="Supprimer">
|
<Tooltip title="Supprimer" TransitionComponent={Zoom} aria-label="Supprimer">
|
||||||
<div>
|
<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>
|
</div>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -46,18 +46,39 @@ export default class Stock extends React.Component {
|
||||||
this.getArticles()
|
this.getArticles()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
select = (id) => {
|
select = (id) => {
|
||||||
console.log(id)
|
console.log(id)
|
||||||
this.setState({counter:this.state.counter+1},()=>{
|
this.setState({counter:this.state.counter+1},()=>{
|
||||||
console.log(this.state.counter)
|
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},()=>{
|
this.setState({counter:this.state.counter-1},()=>{
|
||||||
console.log(this.state.counter)
|
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() {
|
render() {
|
||||||
|
console.log("rendered");
|
||||||
if (!sessionStorage.getItem('token')){
|
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>)
|
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 {
|
} 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}/>
|
<Sort handleChangeSortType={this.handleChangeSortType} handleChangeSortOrder={this.handleChangeSortOrder} orderIsHidden={this.state.orderIsHidden} lowToHigh={this.state.lowToHigh}/>
|
||||||
</div>
|
</div>
|
||||||
<div id="selectedBlock">
|
<div id="selectedBlock">
|
||||||
<Selected counter={this.state.counter}/>
|
<Selected selectedArticles={this.state.selectedArticles} counter={this.state.counter}/>
|
||||||
</div>
|
</div>
|
||||||
<div id="articleBlock">
|
<div id="articleBlock">
|
||||||
{this.state.articles && this.state.articles[0] ?
|
{this.state.articles && this.state.articles[0] ?
|
||||||
|
|
Loading…
Reference in a new issue