Handle Selected Colors

This commit is contained in:
Kongzibapt 2021-02-15 09:17:13 +01:00
parent c684a6a388
commit 29846cb38c
8 changed files with 35 additions and 13 deletions

View file

@ -65,7 +65,7 @@ class ArticleDetails extends React.Component {
// SQUARE // SQUARE
<div onClick={(e) => this.props.selectArticles(e,this.props.id)} id="bulle" onMouseEnter={this.handleDesc} onMouseLeave={this.handlePhoto}> <div title={this.props.id} onClick={(e) => this.props.selectArticles(e,this.props.id)} id="bulle" onMouseEnter={this.handleDesc} onMouseLeave={this.handlePhoto}>
{this.state.redcrossPressed ? {this.state.redcrossPressed ?
<div id="confirmation"> <div id="confirmation">
<div id="confirmationTxt">Tu veux vraiment supprimer cet article ?</div> <div id="confirmationTxt">Tu veux vraiment supprimer cet article ?</div>

View file

@ -30,7 +30,7 @@ class Articles extends React.Component {
<div id="articles"> <div id="articles">
{ {
this.props.articles.map((article) => this.props.articles.map((article) =>
<ArticleDetails selectArticles={this.props.selectArticles} colorArticle={this.props.colorArticle} plus={this.props.plus} minus={this.props.minus} colorArticle={this.colorArticle} squaredBubble={true} deselect={this.props.deselect} select={this.props.select} handleCategories={this.props.handleCategories} editArticle={this.props.editionArticle} key={article.id} id={article.id} name={article.name} img={article.image} desc={article.description} price={article.price} quantity={article.quantity} code={article.code} category={article.category}/> <ArticleDetails selectArticles={this.props.selectArticles} colorArticle={this.props.colorArticle} plus={this.props.plus} minus={this.props.minus} squaredBubble={true} deselect={this.props.deselect} select={this.props.select} handleCategories={this.props.handleCategories} editArticle={this.props.editionArticle} key={article.id} id={article.id} name={article.name} img={article.image} desc={article.description} price={article.price} quantity={article.quantity} code={article.code} category={article.category}/>
)} )}
</div> </div>
</div> </div>

View file

@ -30,7 +30,7 @@ class ArticlesByCategory extends React.Component {
<div id="articles"> <div id="articles">
{this.props.articles[0][0] && {this.props.articles[0][0] &&
this.props.articles.map((divided) => this.props.articles.map((divided) =>
<div id="categoryBlock"> <div key={divided[0].id} id="categoryBlock">
<p id="categoryName">{divided[0].category.name}</p> <p id="categoryName">{divided[0].category.name}</p>
<div id="underlinment"></div> <div id="underlinment"></div>
<div id="bulles"> <div id="bulles">

View file

@ -1,5 +1,4 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import '../../css/Components/money.css' import '../../css/Components/money.css'
class Money extends Component { class Money extends Component {

View file

@ -4,7 +4,6 @@ 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 {

View file

@ -103,7 +103,7 @@ class Sort extends Component {
</div> </div>
<p id="sortOrder" onClick={this.handleChangeSortOrder} hidden={this.props.orderIsHidden}> <p id="sortOrder" onClick={this.handleChangeSortOrder} hidden={this.props.orderIsHidden}>
{this.state.orderText.split("").map((l) => {this.state.orderText.split("").map((l) =>
<span className="letter">{l}</span> <span key={l} className="letter">{l}</span>
)} )}
</p> </p>
</div> </div>

View file

@ -15,7 +15,7 @@ import AppLoader from '../Components/AppLoader';
import Categories from '../Components/Categories'; import Categories from '../Components/Categories';
import EditCategory from '../Components/EditCategory'; import EditCategory from '../Components/EditCategory';
import Sort from '../Components/Sort'; import Sort from '../Components/Sort';
import { Link, Redirect } from 'react-router-dom'; import { Link } from 'react-router-dom';
import Selected from '../Components/Selected'; import Selected from '../Components/Selected';
export default class Stock extends React.Component { export default class Stock extends React.Component {
@ -129,6 +129,8 @@ export default class Stock extends React.Component {
case "red&white" : case "red&white" :
element.style.cssText = "background-color:rgba(255, 107, 107, 0.28);" element.style.cssText = "background-color:rgba(255, 107, 107, 0.28);"
break; break;
default :
break;
} }
} }
@ -169,17 +171,30 @@ minusQuantity = (element,id) => {
} }
} }
getBulleById = (id) => {
let element;
let articles = document.getElementById("articles")
for (let i = 0; i < articles.childElementCount ; i++){
if (id == articles.children[i].title){
element = articles.children[i]
}
}
return element
}
updateSelectedArticles = (value) => { updateSelectedArticles = (value) => {
let articles = this.state.selectedArticles; let articles = this.state.selectedArticles;
for (let i = 0 ; i < this.state.selectedArticles.length ; i++) { for (let i = 0 ; i < this.state.selectedArticles.length ; i++) {
if (articles[i].quantity >= 0){ if ((value !== -1) || articles[i].quantity !== 0){
articles[i].quantity+=value; articles[i].quantity+=value;
}
// implémenter une fonction pour récupérer l'élément correspondant à l'id
this.setState({selectedArticles:articles},() => { this.setState({selectedArticles:articles},() => {
axios.put(`https://etud.insa-toulouse.fr/~proximo/v2/api/articles/${this.state.selectedArticles[i].id}`, axios.put(`https://etud.insa-toulouse.fr/~proximo/v2/api/articles/${this.state.selectedArticles[i].id}`,
@ -194,7 +209,13 @@ updateSelectedArticles = (value) => {
) )
.then(res => { .then(res => {
console.log(res.data) let element = this.getBulleById(this.state.selectedArticles[i].id)
if (this.state.selectedArticles[i].quantity > 0){
this.colorArticle("white",element)
} else {
this.colorArticle("red&white",element)
}
}) })
.catch(error => { .catch(error => {
console.log(error.response) console.log(error.response)
@ -202,6 +223,7 @@ updateSelectedArticles = (value) => {
}) })
}
} }
@ -417,12 +439,12 @@ updateArticle = (index,id) => {
} }
} }
this.setState({dividedArticles:divided},()=>{ this.setState({dividedArticles:divided},()=>{
this.getElementandColor() this.getElementandColorSplit()
}) })
} }
getElementandColor () { getElementandColorSplit = () => {
let articles = document.getElementById("articles") let articles = document.getElementById("articles")
for (let i = 0; i<articles.childElementCount;i++){ for (let i = 0; i<articles.childElementCount;i++){
for (let j = 0; j<articles.children[i].children[2].childElementCount; j++){ for (let j = 0; j<articles.children[i].children[2].childElementCount; j++){

View file

@ -140,6 +140,8 @@ export default class Stock extends React.Component {
case "red&white" : case "red&white" :
element.style.cssText = "background-color:rgba(255, 107, 107, 0.28);" element.style.cssText = "background-color:rgba(255, 107, 107, 0.28);"
break; break;
default :
break;
} }
} }