Commit 2b064be2 authored by Jérémie Passerat's avatar Jérémie Passerat

Tri colonnes tableau 'theoriquement' complet

parent 1f56a98d
...@@ -108,6 +108,10 @@ export default { ...@@ -108,6 +108,10 @@ export default {
} }
) )
}, },
/**
* @vuese
* Fonction qui permet de calculer la note du contenu (en fonction de la version sélectionnée)
*/
calculerNoteDetailContenu: function() { calculerNoteDetailContenu: function() {
if(this.versionMax !== 0){ if(this.versionMax !== 0){
...@@ -212,6 +216,10 @@ export default { ...@@ -212,6 +216,10 @@ export default {
) )
} }
}, },
/**
* @vuese
* Si la version sélectionnée par l'utilisateur change, on modifie la note du contenu
*/
versionChoisie: function () { versionChoisie: function () {
this.noteContenu = this.calculerNoteDetailContenu() this.noteContenu = this.calculerNoteDetailContenu()
} }
......
...@@ -112,6 +112,10 @@ export default { ...@@ -112,6 +112,10 @@ export default {
this.$emit("choixModif", {action: actionChoisie}) this.$emit("choixModif", {action: actionChoisie})
} }
}, },
/**
* @vuese
* Si on change de version on recharge le texte du contenu
*/
changerVersion: function () { changerVersion: function () {
let that = this let that = this
Service.recupererTexteVersionContenu(JSON.stringify(this.contenuClique._id), this.versionChoisie).then( Service.recupererTexteVersionContenu(JSON.stringify(this.contenuClique._id), this.versionChoisie).then(
...@@ -120,6 +124,10 @@ export default { ...@@ -120,6 +124,10 @@ export default {
} }
) )
}, },
/**
* @vuese
* Dès qu'une action est sélectionnée, la renvoie à Volet_Base
*/
actionContenu: function (action) { actionContenu: function (action) {
// Dès qu'une action est sélectionnée, la renvoie à Volet_Base // Dès qu'une action est sélectionnée, la renvoie à Volet_Base
// @arg action l'action choisie // @arg action l'action choisie
...@@ -128,6 +136,10 @@ export default { ...@@ -128,6 +136,10 @@ export default {
this.$emit("actionContenu", {action: action, contenu: this.contenuClique, texte: this.texteDuContenu}) this.$emit("actionContenu", {action: action, contenu: this.contenuClique, texte: this.texteDuContenu})
}, },
/**
* @vuese
* Fonction de récupération de la note mise par l'utilisateur
*/
setRating: function () { setRating: function () {
let that = this let that = this
let data={id_contenu: JSON.stringify(this.contenuClique._id), note: this.rating, auteur: this.auteur, version: this.contenuClique.version} let data={id_contenu: JSON.stringify(this.contenuClique._id), note: this.rating, auteur: this.auteur, version: this.contenuClique.version}
...@@ -144,16 +156,11 @@ export default { ...@@ -144,16 +156,11 @@ export default {
} }
},/*, },computed: {
watch: { /**
/!**
* @vuese * @vuese
* Permet de changer le texte du contenu à chaque fois qu'un contenu est cliqué en 'mode modification' * Fonction de calcul de la note globale d'un contenu (en fonction de sa version)
*!/ */
texteDuContenu: function () {
// this.titreContenu
}
}*/computed: {
calculerNoteContenu: function() { calculerNoteContenu: function() {
if (parseInt(this.versionChoisie) !== this.versionMax){ if (parseInt(this.versionChoisie) !== this.versionMax){
...@@ -175,6 +182,10 @@ export default { ...@@ -175,6 +182,10 @@ export default {
} }
}, },
watch: { watch: {
/**
* @vuese
* Dès qu'un contenu est chargé on l'analyse pour "habiller" la page
*/
contenuClique: function () { contenuClique: function () {
this.titreContenu = this.contenuClique.titre this.titreContenu = this.contenuClique.titre
...@@ -198,6 +209,10 @@ export default { ...@@ -198,6 +209,10 @@ export default {
} }
}) })
}, },
/**
* @vuese
* Si on change de version on recalcule la note
*/
versionChoisie: function () { versionChoisie: function () {
this.noteContenu = this.calculerNoteContenu this.noteContenu = this.calculerNoteContenu
} }
......
...@@ -212,7 +212,7 @@ export default { ...@@ -212,7 +212,7 @@ export default {
noteTriee: false, noteTriee: false,
notePersoTriee: false, notePersoTriee: false,
typeTrie: false, typeTrie: false,
sourceTrie: false, sourceTriee: false,
notePersonnelle: "-", notePersonnelle: "-",
chocolat: '<h1 id="hellomarkdown">hello, markdown!</h1>', chocolat: '<h1 id="hellomarkdown">hello, markdown!</h1>',
isDeconnecte: false, isDeconnecte: false,
...@@ -805,6 +805,10 @@ export default { ...@@ -805,6 +805,10 @@ export default {
basculeRechercheFiltre: function (event) { basculeRechercheFiltre: function (event) {
this.modeFiltre = event.choix this.modeFiltre = event.choix
}, },
/**
* @vuese
* FOnction qui permet de trier une colonne (ordre croissant nombre clicks impairs, ordre décroissant clicks pairs)
*/
trierColonne: function (event) { trierColonne: function (event) {
let titreColonne = event.target.innerHTML let titreColonne = event.target.innerHTML
if (this.panierChoisi){ if (this.panierChoisi){
...@@ -818,19 +822,63 @@ export default { ...@@ -818,19 +822,63 @@ export default {
break break
case "Auteur": case "Auteur":
this.contenus.sort((a,b) => (a.auteur > b.auteur) ? 1 : ((b.auteur > a.auteur) ? -1 : 0)) this.auteurTrie = !this.auteurTrie
if (this.auteurTrie)
this.contenus.sort((a,b) => (a.auteur > b.auteur) ? 1 : ((b.auteur > a.auteur) ? -1 : 0))
else
this.contenus.sort((b,a) => (a.auteur > b.auteur) ? 1 : ((b.auteur > a.auteur) ? -1 : 0))
break break
case "Version Actuelle": case "Version actuelle":
this.versionTriee = !this.versionTriee
if (this.versionTriee)
this.contenus.sort((a,b) => (a.versionEnCours.numero > b.versionEnCours.numero) ? 1 :
((b.versionEnCours.numero > a.versionEnCours.numero) ? -1 : 0))
else
this.contenus.sort((b,a) => (a.versionEnCours.numero > b.versionEnCours.numero) ? 1 :
((b.versionEnCours.numero > a.versionEnCours.numero) ? -1 : 0))
break break
case "Date version actuelle": case "Date Version actuelle":
this.dateTriee = !this.dateTriee
alert("Mais oui")
if (this.dateTriee)
this.contenus.sort((a,b) => (a.versionEnCours.date > b.versionEnCours.date) ? 1 : ((b.versionEnCours.date > a.versionEnCours.date) ? -1 : 0))
else
this.contenus.sort((b,a) => (a.versionEnCours.date > b.versionEnCours.date) ? 1 : ((b.versionEnCours.date > a.versionEnCours.date) ? -1 : 0))
break break
case "Nbre d'utilisations": case "Nbre d'Utilisations":
this.populariteTriee = !this.populariteTriee
if (this.populariteTriee)
this.contenus.sort((a,b) => (a.popularite > b.popularite) ? 1 : ((b.popularite > a.popularite) ? -1 : 0))
else
this.contenus.sort((b,a) => (a.popularite > b.popularite) ? 1 : ((b.popularite > a.popularite) ? -1 : 0))
break break
case "Note": case "Note":
this.noteTriee = !this.noteTriee
if (this.noteTriee)
this.contenus.sort((a,b) => (this.calculerNote(a) > this.calculerNote(b)) ? 1 : ((this.calculerNote(b) > this.calculerNote(a)) ? -1 : 0))
else
this.contenus.sort((b,a) => (this.calculerNote(a) > this.calculerNote(b)) ? 1 : ((this.calculerNote(b) > this.calculerNote(a)) ? -1 : 0))
break
case "Note Perso":
this.notePersoTriee = !this.notePersoTriee
if (this.notePersoTriee)
this.contenus.sort((a,b) => (a.note_perso > b.note_perso) ? 1 : ((b.note_perso > a.note_perso) ? -1 : 0))
else
this.contenus.sort((b,a) => (a.note_perso > b.note_perso) ? 1 : ((b.note_perso > a.note_perso) ? -1 : 0))
break break
case "Type": case "Type":
this.typeTrie = !this.typeTrie
if (this.typeTrie)
this.contenus.sort((a,b) => (a.type > b.type) ? 1 : ((b.type > a.type) ? -1 : 0))
else
this.contenus.sort((b,a) => (a.type > b.type) ? 1 : ((b.type > a.type) ? -1 : 0))
break break
case "Source": case "Source":
this.sourceTriee = !this.sourceTriee
if (this.sourceTriee)
this.contenus.sort((a,b) => (a.source > b.source) ? 1 : ((b.source > a.source) ? -1 : 0))
else
this.contenus.sort((b,a) => (a.source > b.source) ? 1 : ((b.source > a.source) ? -1 : 0))
break break
default: default:
...@@ -843,9 +891,15 @@ export default { ...@@ -843,9 +891,15 @@ export default {
console.log(titreColonne) console.log(titreColonne)
} }
}, },
/**
* @vuese
* Fonction de calcul de la note d'un contenu
*/
calculerNote: function(item) { calculerNote: function(item) {
if (item.version !== undefined){ if (item.version !== undefined && item.version !== item.versionEnCours.numero){
for (let it in item.historique){ for (let it in item.historique){
alert(item.historique[it].numero + " " + item.version)
if (item.historique[it].numero === item.version){ if (item.historique[it].numero === item.version){
if (item.historique[it].note === 0){ if (item.historique[it].note === 0){
return 0 return 0
...@@ -861,17 +915,10 @@ export default { ...@@ -861,17 +915,10 @@ export default {
return (item.versionEnCours.note / item.versionEnCours.nbreNotes).toFixed(2) return (item.versionEnCours.note / item.versionEnCours.nbreNotes).toFixed(2)
} }
}, },
recupererNotePerso: async function (item) { /**
if (item.provenance) * @vuese
await Service.recupererNoteContenu(JSON.stringify(item._id), this.auteur, item.version).then(function (result) { * Si une note a été mise sur un contenu on recalcule la moyenne globale de ce contenu
let nombre = JSON.parse(result.data) */
if (nombre !== '-1') {
return nombre.note
} else {
return "-"
}
})
},
majMoyenne: function(event){ majMoyenne: function(event){
for (let elt in this.contenus){ for (let elt in this.contenus){
......
...@@ -30,6 +30,10 @@ export default { ...@@ -30,6 +30,10 @@ export default {
panierChoisi: {} panierChoisi: {}
}, },
computed: { computed: {
/**
* @vuese
* Filtrer la liste des auteurs pour virer (ou non) celui de l'auteur actuellement connecté
*/
filteredList: function () { filteredList: function () {
if (!this.panierChoisi){ if (!this.panierChoisi){
......
...@@ -29,11 +29,19 @@ export default { ...@@ -29,11 +29,19 @@ export default {
} }
}, },
methods: { methods: {
/**
* @vuese
* Fonction de sélection d'un type
*/
choixType: function () { choixType: function () {
this.$emit("creer_filtre", {filtre: this.type, type: 'type'}) this.$emit("creer_filtre", {filtre: this.type, type: 'type'})
this.type = "" this.type = ""
}, },
/**
* @vuese
* Fonction de sélection d'une source
*/
choixSource: function () { choixSource: function () {
this.$emit("creer_filtre", {filtre: this.source, type: 'source'}) this.$emit("creer_filtre", {filtre: this.source, type: 'source'})
this.source = "" this.source = ""
...@@ -46,6 +54,10 @@ export default { ...@@ -46,6 +54,10 @@ export default {
deconnexion: {} deconnexion: {}
}, },
watch: { watch: {
/**
* @vuese
* Quand l'utilisateur se deconnecte on "vide" les deux select
*/
deconnexion: function () { deconnexion: function () {
this.type = "" this.type = ""
this.source = "" this.source = ""
......
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