Commit b2c8f6a4 authored by Jérémie Passerat's avatar Jérémie Passerat

Ajout suppression en cours ok

parent be9c10a9
......@@ -20,7 +20,6 @@ export default {
},
publication: function (event) {
this.$emit("publication", {document: event.document})
}
},
props: ['auteur']
......
<template>
<div>
<p>Bonjour, je suis l'intérieur de {{contenuClique}}</p>
<p>Bonjour, je suis l'intérieur de {{contenuClique.versionEnCours}}</p>
<p>(Dans le futur, ces actions varieront en fonction du type de contenu cliqué dans la 'fenetre principale')</p>
<div id="actionsContenu">
......@@ -24,7 +24,14 @@ export default {
props: ['contenuClique', 'contenuCliqueProvenance'],
methods: {
actionContenu: function (action) {
this.$emit("actionContenu", {action: action})
if (this.contenuCliqueProvenance === 'en-cours'){
this.$emit("actionContenu", {action: action, id_contenu: this.contenuClique.reference, version: this.contenuClique.version})
} else {
this.$emit("actionContenu", {action: action, id_contenu: this.contenuClique._id, version: this.contenuClique.versionEnCours["numero"]})
}
},
revenirArriere: function () {
this.$emit("retour_arriere", {panierChoisi: this.contenuCliqueProvenance !== 'banque'})
......
......@@ -48,7 +48,7 @@
v-bind:style="{
'background-color': item.provenance === 'perso' ? 'white' : item.provenance === 'tiers' ? 'red' : 'blue'
}" >
<td class="modal titreContenu" v-on:click="chargerContenu($event, item.provenance)" v-popover:tooltip="'prévisualisation'">{{ item.titre }}</td>
<td class="modal titreContenu" v-on:click="chargerContenu(item, item.provenance)" v-popover:tooltip="'prévisualisation'">{{ item._id }}</td>
<td>{{item.auteur}}</td>
<td>with two columns</td>
<td>The table body</td>
......@@ -56,12 +56,13 @@
<td>with two columns</td>
<td class="modal tagContenu" v-popover:tooltip="'tags'">with two columns</td>
<td class="boutonSupprimer"> <input type="checkbox" id="horns" name="horns"/></td>
<td class="boutonSupprimer" v-if="item.provenance !== 'en-cours'"> <input type="checkbox" v-on:change="ajouterCoche(item._id, item.provenance)" class="horns" name="horns"/></td>
<td class="boutonSupprimer" v-else> <input type="checkbox" v-on:change="ajouterCoche(item.reference, item.provenance)" class="horns" name="horns"/></td>
</tr>
<tr v-show="!panierChoisi" v-for="item in contenusbanque" :key="item.titre">
<td class="modal titreContenu" v-on:click="chargerContenu($event, 'banque')" v-popover:tooltip="'prévisualisation'">{{ item.titre }}</td>
<td class="modal titreContenu" v-on:click="chargerContenu(item, 'banque')" v-popover:tooltip="'prévisualisation'">{{ item._id }}</td>
<td>{{ item.auteur }}</td>
<td>The table body</td>
<td>with two columns</td>
......@@ -69,7 +70,7 @@
<td>with two columns</td>
<td class="modal tagContenu" v-popover:tooltip="'tags'">with two columns</td>
<td class="boutonSupprimer"> <input type="checkbox" id="cca" name="horns"/></td>
<td class="boutonSupprimer"> <input type="checkbox" v-on:change="ajouterCoche(item._id, item.versionEnCours)" class="horns" name="horns"/></td>
</tr>
......@@ -122,6 +123,8 @@ export default {
tiersChecked: true,
enCoursChecked: true,
oui: 0,
checkes: [],
nouveauContenu: false,
imgEtoile: "https://previews.123rf.com/images/ylivdesign/ylivdesign1612/ylivdesign161208906/67933171-ic%C3%B4ne-%C3%A9toile-%C3%A0-cinq-branches-jaunes-illustration-de-dessin-anim%C3%A9-d-ic%C3%B4ne-de-vecteur-%C3%A9toile-jaune-%C3%A0-cinq-branches-.jpg",
imgPoubelle: "data:image/png;base64,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"
}
......@@ -138,22 +141,29 @@ export default {
auteur: function () {
let that = this
// Dès que l'auteur est connu, on charge tous ses contenus
Service.getPanierAuteur(this.auteur).then(function (response) {
that.contenus = response.data
alert('test')
alert(that.contenus.length)
})
Service.getBanqueAuteur(this.auteur).then(function (response) {
that.contenusbanque = response.data
console.log("banque : " + response.data)
})
},
nouveauContenu: function () {
let that = this
Service.getPanierAuteur(this.auteur).then(function (response) {
that.contenus = response.data
})
Service.getBanqueAuteur(this.auteur).then(function (response) {
that.contenusbanque = response.data
})
}
},
mounted() {
this.modeConsultation = false
$('#ensemble').draggable()
/* this.contenus = Service.getPanierAuteur(this.auteur).then(function (response) {
console.log(response.data)
})*/
},
methods: {
desactiverVolet: function () {
......@@ -161,56 +171,59 @@ export default {
},
ajusterMode: function () {
this.panierChoisi = !this.panierChoisi
this.checkes = []
},
passerFiltre: function(event){
this.filtre_choisi = event.filtre
},
changerVariante: function (){
this.variante = ! this.variante
this.$emit("choix_variante", {variante: this.variante})
},
supprimerContenus: function () {
let inputs = document.querySelectorAll("input[type='checkbox']")
// alert(inputs.length)
for(let i = 0; i < inputs.length; i++) {
let titre = inputs[i].parentElement.parentElement.innerText
titre = titre.split('\t')
let contenusTmp = this.contenusbanque
if ( inputs[i].checked && inputs[i].className !== "filtreTableau")
if (!this.panierChoisi ){
alert ("titre " + inputs[i].className)
//this.contenus.push(titre[0])
this.contenus.push(({titre: titre[0] , provenance: "tiers"}))
for (let i = 0; i < contenusTmp.length; i++){
if (contenusTmp[i].titre === titre[i]){
console.log("Je veux dégager l'auteur n° : " + i)
this.contenusbanque.splice(i, 1)
if (this.panierChoisi){
for(let i = 0; i < this.checkes.length; i++) {
if(this.checkes[i][1] === "perso"){
Service.supprimerContenu(JSON.stringify(this.checkes[i][0]))
} else if (this.checkes[i][1] === "tiers"){
//let data = {auteur: this.auteur, id_tiers:JSON.stringify(this.checkes[i][0])}
Service.supprimerTiers(this.auteur, JSON.stringify(this.checkes[i][0]))
} else {
Service.supprimerEnCours(JSON.stringify(this.checkes[i][0]))
}
}
}
else {
inputs[i].parentElement.parentElement.style.display='none'
for(let i = 0; i < this.checkes.length; i++) {
let data = {auteur: this.auteur, id_tiers:JSON.stringify(this.checkes[i][0]) , version: this.checkes[i][1]["numero"]}
Service.creerContenuTiers(data)
}
}
this.checkes = []
$(".horns").prop( "checked", false );
let that = this
Service.getPanierAuteur(this.auteur).then(function (response) {
that.contenus = response.data
that.nouveauContenu = !that.nouveauContenu
})
},
ajouterContenu: function () {
ajouterContenu: async function () {
let data = {auteur: this.auteur, nom_fichier: "Contenu1", commit: ""}
Service.creerContenuPerso(data)
/* alert ("Je veux créer un contenu")
this.contenus.push(({titre: "nouveau contenu" , provenance: "perso"}))
// A titre purement indicatif car un auteur ne voit pas ses publications en banque
this.contenusbanque.push(({ auteur: "Auteur_1", titre: "nouveau contenu" }))*/
let that = this
Service.getPanierAuteur(this.auteur).then(function (response) {
that.contenus = response.data
that.nouveauContenu = !that.nouveauContenu
})
},
chargerContenu: function (e, provenance){
chargerContenu: function (item, provenance){
alert(item.provenance)
this.modeConsultation = true;
this.contenuClique = e.target.innerText
this.contenuClique = item
this.contenuCliqueProvenance = provenance
},
retourArriere: function (event) {
......@@ -225,15 +238,22 @@ export default {
this.contenus.push(({titre: this.contenuClique , provenance: "tiers"}))
break
case "modifier":
alert("let's go step by step")
this.panierChoisi = true
if (this.contenuCliqueProvenance !== 'en-cours'){
this.contenus.push(({titre: this.contenuClique , provenance: "en-cours"}))
let that = this
let data = {auteur: this.auteur, id_contenu: JSON.stringify(event.id_contenu), version: event.version}
Service.creerEnCours(data).then( function() {
Service.getPanierAuteur(that.auteur).then(function (response) {
that.contenus = response.data
that.nouveauContenu = !that.nouveauContenu
})})
}
break
case "supprimer":
this.panierChoisi = true
// 3 cas : suppression perso, suppression tiers et suppression en cours
// 3 cas : suppression perso, suppression tiers et suppression en cours
if (this.contenuCliqueProvenance !== 'perso'){
for (let i = 0; i < this.contenus.length; i++){
if (this.contenus[i].titre === this.contenuClique){
......@@ -246,37 +266,47 @@ export default {
this.contenus[i].auteur = "Aucun"
}
}
}
break
case "publier":
this.panierChoisi = true
this.$emit("publication", {document: this.contenuClique})
break
}
},
ajouterCoche: function (idContenu, provenance) {
let existant = false
for (let i = 0; i < this.checkes.length; i++){
if (this.checkes[i][0] === idContenu){
existant = true
}
}
if (existant){
this.checkes.splice(this.checkes.indexOf([idContenu, provenance]), 1)
}
else {
this.checkes.push([idContenu, provenance])
}
}
}
}
</script>
<style scoped>
#principal {
display: flex;
}
.choixPanier{
margin-left: 335px;
margin-top: 0px;
}
table {
margin-left: 20px;
width: 1550px;
}
......@@ -284,7 +314,6 @@ table {
th,
td {
border: 1px solid #333;
}
td {
......
......@@ -26,7 +26,7 @@ export default {
return axios.get(urlBase + "getContenu/" + idContenu)
},
mettreContenuTiers(data){
creerContenuTiers(data){
axios.patch(urlBase + "ajouterTiers", data)
},
......@@ -36,7 +36,7 @@ export default {
creerEnCours(data){
axios.post(urlBase + "newEnCours", data)
return axios.post(urlBase + "newEnCours", data)
},
supprimerEnCours(idEnCours){
......@@ -49,11 +49,11 @@ export default {
},
supprimerContenu(idContenu){
axios.delete(urlBase + "demandePublication/" + idContenu)
axios.delete(urlBase + "deletePerso/" + idContenu)
},
supprimerTiers(idTiers){
axios.delete(urlBase + "deleteTiers/" + idTiers)
supprimerTiers(auteur, id_tiers){
axios.delete(urlBase + "deleteTiers?auteur=" + auteur + "&id_tiers=" + id_tiers)
},
getPublications(auteur, emise){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment