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