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

Correction bugs finale

parent a95add21
...@@ -51,6 +51,7 @@ export default { ...@@ -51,6 +51,7 @@ export default {
// @arg booléen indiquant que la connexion est ok // @arg booléen indiquant que la connexion est ok
// @arg nom de l'auteur connecté // @arg nom de l'auteur connecté
if (response.status === 200){ if (response.status === 200){
that.errorLogin = false
localStorage.token = response.data.access_token localStorage.token = response.data.access_token
//console.log(response.data.access_token) //console.log(response.data.access_token)
......
...@@ -193,6 +193,11 @@ export default { ...@@ -193,6 +193,11 @@ export default {
// @arg contenu le contenu cliqué // @arg contenu le contenu cliqué
// @arg le texte associé au contenu (sert potentiellement à rien) // @arg le texte associé au contenu (sert potentiellement à rien)
if (action === "supprimer"){
this.notePresente = false
this.noteContenu = 0
}
this.$emit("actionContenu", {action: action, contenu: this.contenuClique, texte: this.texteDuContenu}) this.$emit("actionContenu", {action: action, contenu: this.contenuClique, texte: this.texteDuContenu})
}, },
/** /**
......
...@@ -72,10 +72,10 @@ isActif ? {'margin-left': '1vw', 'margin-right': '1vw'} : {'margin-left': '0.6vw ...@@ -72,10 +72,10 @@ isActif ? {'margin-left': '1vw', 'margin-right': '1vw'} : {'margin-left': '0.6vw
{{ item._id }}</div></td> {{ item._id }}</div></td>
<b-popover style="height: 700px; width: 700px" class="non" v-on:show="rechercherTexte(item._id, item.provenance, item.source, item.descriptif)" :target="JSON.stringify(item._id)" <b-popover style="height: 700px; width: 700px" class="non" v-on:show="rechercherTexte(item._id, item.provenance, item.source, item.descriptif)" :target="JSON.stringify(item._id)"
triggers="hover" placement="bottom"> triggers="hover" placement="bottom">
<p id="beautiful" v-html="texteDuContenu" v-if="!isMoodle && !isAutre"></p> <p id="chameau" v-html="textePrevisualise" v-if="!isMoodle"></p>
<p v-if="isAutre">{{ descriptifContenu }}</p> <!--<p v-if="!isMoodle && isAutre">{{ descriptifContenu }}</p>-->
<Previsualiser_Moodle v-bind:id="item._id" v-bind:provenance="item.provenance" v-bind:source="item.source" <Previsualiser_Moodle v-bind:id="item._id" v-bind:provenance="item.provenance" v-bind:source="item.source" v-else></Previsualiser_Moodle>
v-if="isMoodle && !isAutre"></Previsualiser_Moodle>
</b-popover> </b-popover>
<!-- auteur --> <!-- auteur -->
<td>{{item.auteur}}</td> <td>{{item.auteur}}</td>
...@@ -107,9 +107,10 @@ isActif ? {'margin-left': '1vw', 'margin-right': '1vw'} : {'margin-left': '0.6vw ...@@ -107,9 +107,10 @@ isActif ? {'margin-left': '1vw', 'margin-right': '1vw'} : {'margin-left': '0.6vw
<tr v-show="!panierChoisi && (!modeModification && !modeConsultation)" v-for="item in contenusBanque" :key="JSON.stringify(item._id)" <tr v-show="!panierChoisi && (!modeModification && !modeConsultation)" v-for="item in contenusBanque" :key="JSON.stringify(item._id)"
v-bind:style="{'background-color': 'white'}" > v-bind:style="{'background-color': 'white'}" >
<td :id="'a' + JSON.stringify(item._id)" v-on:click="chargerContenu(item, 'banque')">{{ item.titre }}</td> <td :id="'a' + JSON.stringify(item._id)" v-on:click="chargerContenu(item, 'banque')">{{ item.titre }}</td>
<b-popover :target="'a' + JSON.stringify(item._id)" v-on:show="rechercherTexte(item._id, 'banque', item.source)" triggers="hover" placement="bottom"> <b-popover :target="'a' + JSON.stringify(item._id)" v-on:show="rechercherTexte(item._id, 'banque', item.source, item.descriptif)" triggers="hover" placement="bottom">
<p v-html="texteDuContenu" v-if="!isMoodle"></p> <p id="chameau" v-html="textePrevisualise" v-if="!isMoodle"></p>
<Previsualiser_Moodle v-bind:id="item._id" v-bind:provenance="'banque'" v-bind:source="item.source" v-else></Previsualiser_Moodle> <!--<p v-if="!isMoodle && isAutre">{{ descriptifContenu }}</p>-->
<Previsualiser_Moodle v-bind:id="item._id" v-bind:provenance="item.provenance" v-bind:source="item.source" v-else></Previsualiser_Moodle>
</b-popover> </b-popover>
<td>{{ item.auteur }}</td> <td>{{ item.auteur }}</td>
<td>{{item.versionEnCours.numero}}</td> <td>{{item.versionEnCours.numero}}</td>
...@@ -197,6 +198,9 @@ export default { ...@@ -197,6 +198,9 @@ export default {
return { return {
isActif: true, isActif: true,
panierChoisi: true, panierChoisi: true,
chargerMarkdown: false,
chargerAutre: false,
chargerMoodle: false,
filtre_choisi: "", filtre_choisi: "",
variante: false, variante: false,
contenus: [], contenus: [],
...@@ -215,13 +219,14 @@ export default { ...@@ -215,13 +219,14 @@ export default {
checkes: [], checkes: [],
nouveauContenu: false, nouveauContenu: false,
texteDuContenu: '', texteDuContenu: '',
textePrevisualise: '',
descriptifContenu: '', descriptifContenu: '',
titreContenu: '', titreContenu: '',
token: '', token: '',
razModeVariante: false, razModeVariante: false,
//modeFiltre: false, //modeFiltre: false,
isMoodle: false, isMoodle: false,
isAutre: true, isAutre: false,
texteBoutonvariante: "changer", texteBoutonvariante: "changer",
// booléens pour le tri des colonnes du tableau // booléens pour le tri des colonnes du tableau
titreTrie: false, titreTrie: false,
...@@ -621,7 +626,7 @@ export default { ...@@ -621,7 +626,7 @@ export default {
} }
) )
} else if (this.contenuCliqueProvenance === "tiers"){ } else if (this.contenuCliqueProvenance === "tiers"){
Service.supprimerTiers(this.auteur, JSON.stringify(event.contenu._id)).then( Service.supprimerTiers(this.auteur, JSON.stringify(event.contenu._id), event.contenu.note_perso).then(
function () { function () {
let contenuSupprime = that.contenus.filter(contenu => contenu._id === event.contenu._id) let contenuSupprime = that.contenus.filter(contenu => contenu._id === event.contenu._id)
that.contenus = that.contenus.filter(contenu => contenu._id !== event.contenu._id) that.contenus = that.contenus.filter(contenu => contenu._id !== event.contenu._id)
...@@ -735,22 +740,25 @@ export default { ...@@ -735,22 +740,25 @@ export default {
* Récupération du texte d'un contenu * Récupération du texte d'un contenu
*/ */
rechercherTexte: function (id, provenance, source, description) { rechercherTexte: function (id, provenance, source, description) {
if (id === undefined) if (id === undefined)
return return
let that = this let that = this
this.isMoodle = false
this.isAutre = false
if (source === "moodle"){ if (source === "moodle"){
this.isMoodle = true this.isMoodle = true
this.isAutre = false //this.isAutre = false
// this.chargerMoodle = true
console.log("moodle")
} else if (source === "autre"){ } else if (source === "autre"){
this.isMoodle = false //this.chargerAutre = true
//this.isMoodle = false
this.isAutre = true this.isAutre = true
this.descriptifContenu = description this.textePrevisualise = description
if (provenance !== 'en-cours') { if (provenance !== 'en-cours') {
Service.recupererTexteContenu(JSON.stringify(id)).then(function (reponse) { Service.recupererTexteContenu(JSON.stringify(id)).then(function (reponse) {
that.texteDuContenu = reponse.data that.texteDuContenu = reponse.data
// alert("Je le arrive ici " + that.texteDuContenu)
}) })
} else{ } else{
Service.recupererTexteContenuEnCours(JSON.stringify(id)).then(function (reponse) { Service.recupererTexteContenuEnCours(JSON.stringify(id)).then(function (reponse) {
...@@ -758,9 +766,9 @@ export default { ...@@ -758,9 +766,9 @@ export default {
}) })
} }
} else { } else {
this.isMoodle = false //this.isMoodle = false
this.isAutre = false // this.isAutre = false
//this.chargerMarkdown = true
if (provenance === 'en-cours') { if (provenance === 'en-cours') {
Service.recupererTexteContenuEnCours(JSON.stringify(id)).then( Service.recupererTexteContenuEnCours(JSON.stringify(id)).then(
...@@ -769,6 +777,7 @@ export default { ...@@ -769,6 +777,7 @@ export default {
converter = new showdown.Converter() converter = new showdown.Converter()
that.texteDuContenu = converter.makeHtml(response.data) that.texteDuContenu = converter.makeHtml(response.data)
that.textePrevisualise = that.texteDuContenu
} }
) )
} else if (provenance === 'banque') { } else if (provenance === 'banque') {
...@@ -778,6 +787,7 @@ export default { ...@@ -778,6 +787,7 @@ export default {
converter = new showdown.Converter() converter = new showdown.Converter()
that.texteDuContenu = converter.makeHtml(response.data) that.texteDuContenu = converter.makeHtml(response.data)
that.textePrevisualise = that.texteDuContenu
} }
) )
} else { } else {
...@@ -786,6 +796,8 @@ export default { ...@@ -786,6 +796,8 @@ export default {
let showdown = require('showdown'), let showdown = require('showdown'),
converter = new showdown.Converter() converter = new showdown.Converter()
that.texteDuContenu = converter.makeHtml(response.data) that.texteDuContenu = converter.makeHtml(response.data)
that.textePrevisualise = that.texteDuContenu
console.log("texte previsualise : ", that.textePrevisualise)
} }
) )
// } // }
...@@ -917,7 +929,6 @@ export default { ...@@ -917,7 +929,6 @@ export default {
} }
if (event.filtres.filter(contenu => contenu.type === 'tags libres').length > 0) { if (event.filtres.filter(contenu => contenu.type === 'tags libres').length > 0) {
// tags libres // tags libres
let filtre_tags_libres = (event.filtres.filter(contenu => contenu.type === 'tags libres').map(contenu => contenu.filtre)) let filtre_tags_libres = (event.filtres.filter(contenu => contenu.type === 'tags libres').map(contenu => contenu.filtre))
// contenusFiltres.forEach(contenu => console.log(contenu.tags_libres.length)) // contenusFiltres.forEach(contenu => console.log(contenu.tags_libres.length))
...@@ -932,6 +943,7 @@ export default { ...@@ -932,6 +943,7 @@ export default {
} }
if (event.filtres.filter(contenu => contenu.type === 'tags officiels').length > 0) { if (event.filtres.filter(contenu => contenu.type === 'tags officiels').length > 0) {
// tags officiels // tags officiels
alert('puuu')
let filtre_tags_fixes = (event.filtres.filter(contenu => contenu.type === 'tags officiels').map(contenu => contenu.filtre)) let filtre_tags_fixes = (event.filtres.filter(contenu => contenu.type === 'tags officiels').map(contenu => contenu.filtre))
for (let i = 0; i < filtre_tags_fixes.length; i++) { for (let i = 0; i < filtre_tags_fixes.length; i++) {
contenusFiltres = contenusFiltres.filter(contenu => contenu.tags_fixes.includes(filtre_tags_fixes[i])) contenusFiltres = contenusFiltres.filter(contenu => contenu.tags_fixes.includes(filtre_tags_fixes[i]))
...@@ -953,7 +965,7 @@ export default { ...@@ -953,7 +965,7 @@ export default {
for(let filtre in filtre_source){ for(let filtre in filtre_source){
let filtre_min = parseFloat(filtre_source[filtre].substring(1)) let filtre_min = parseFloat(filtre_source[filtre].substring(1))
contenusFiltres = contenusFiltres.filter(contenu => this.calculerNote(contenu) > filtre_min) contenusFiltres = contenusFiltres.filter(contenu => parseFloat(this.calculerNote(contenu)) > filtre_min)
} }
} }
...@@ -961,7 +973,7 @@ export default { ...@@ -961,7 +973,7 @@ export default {
let filtre_source = (event.filtres.filter(contenu => contenu.type === 'noteMax').map(contenu => contenu.filtre)) let filtre_source = (event.filtres.filter(contenu => contenu.type === 'noteMax').map(contenu => contenu.filtre))
for(let filtre in filtre_source){ for(let filtre in filtre_source){
let filtre_max = parseFloat(filtre_source[filtre].substring(1)) let filtre_max = parseFloat(filtre_source[filtre].substring(1))
console.log('filtre_max ' + filtre_max + 'type' + typeof filtre_max + "filtre" + filtre)
contenusFiltres = contenusFiltres.filter(contenu => this.calculerNote(contenu) < filtre_max) contenusFiltres = contenusFiltres.filter(contenu => this.calculerNote(contenu) < filtre_max)
//contenusFiltres = contenusFiltres.filter(contenu => contenu.versionEnCours.date <= filtre_max) //contenusFiltres = contenusFiltres.filter(contenu => contenu.versionEnCours.date <= filtre_max)
...@@ -974,8 +986,8 @@ export default { ...@@ -974,8 +986,8 @@ export default {
let borne_min = parseInt(filtre_source[filtre].substring(0, 1)) let borne_min = parseInt(filtre_source[filtre].substring(0, 1))
let borme_max = parseInt(filtre_source[filtre].substring(filtre_source[filtre].indexOf("-")+1).trim()) let borme_max = parseInt(filtre_source[filtre].substring(filtre_source[filtre].indexOf("-")+1).trim())
contenusFiltres = contenusFiltres.filter(contenu => this.calculerNote(contenu) > borne_min) contenusFiltres = contenusFiltres.filter(contenu => this.calculerNote(contenu) >= borne_min)
contenusFiltres = contenusFiltres.filter(contenu => this.calculerNote(contenu) < borme_max) contenusFiltres = contenusFiltres.filter(contenu => this.calculerNote(contenu) <= borme_max)
} }
} }
...@@ -1098,6 +1110,13 @@ export default { ...@@ -1098,6 +1110,13 @@ export default {
* Fonction de calcul de la note d'un contenu * Fonction de calcul de la note d'un contenu
*/ */
calculerNote: function(item) { calculerNote: function(item) {
console.log("item")
console.log(item)
if (item.moyenne !== undefined){
console.log("Je le ai un item pas undefined")
return item.moyenne
}
if (item.version !== undefined && item.version !== item.versionEnCours.numero){ if (item.version !== undefined && item.version !== item.versionEnCours.numero){
for (let it in item.historique){ for (let it in item.historique){
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<div id="selectionnerAuteur"> <div id="selectionnerAuteur">
<span>selectionner un auteur : </span><br><br> <span>selectionner un auteur : </span><br><br>
<select id="auteur" name="auteur" size="1" v-model="auteur" v-on:change="choixAuteur()"> <select id="auteur" name="auteur" size="1" v-model="auteurSelectionne" v-on:change="choixAuteur()">
<option v-for="item in filteredList" v-bind:key="item.id">{{ item.nom }}</option> <option v-for="item in filteredList()" v-bind:key="item.id">{{ item.nom }}</option>
</select> </select>
</div> </div>
...@@ -23,29 +23,26 @@ export default { ...@@ -23,29 +23,26 @@ export default {
*/ */
choixAuteur: function () { choixAuteur: function () {
if (this.auteur !== undefined) if (this.auteur !== undefined)
this.$emit("creer_filtre", {filtre: this.auteur, type: 'auteur'}) this.$emit("creer_filtre", {filtre: this.auteurSelectionne, type: 'auteur'})
}
},
props: {
// l'auteur en cours
auteur: {},
// le mode panier est-il activé ou non?
panierChoisi: {}
}, },
computed: {
/** /**
* @vuese * @vuese
* Filtrer la liste des auteurs pour virer (ou non) celui de l'auteur actuellement connecté * Filtrer la liste des auteurs pour virer (ou non) celui de l'auteur actuellement connecté
*/ */
filteredList: function () { filteredList: function () {
this.auteurSelectionne = ''
if (!this.panierChoisi){ if (!this.panierChoisi){
return this.listeAuteurs.filter(auteur => auteur.nom !== this.auteur) return this.listeAuteurs.filter(auteur => auteur.nom !== this.auteur)
} }
else { return this.listeAuteurs} else { return this.listeAuteurs}
} }
}, },
props: {
// l'auteur en cours
auteur: {},
// le mode panier est-il activé ou non?
panierChoisi: {},
},
watch:{ watch:{
/** /**
* @vuese * @vuese
...@@ -60,7 +57,8 @@ export default { ...@@ -60,7 +57,8 @@ export default {
}, },
data: function () { data: function () {
return { return {
listeAuteurs: [] listeAuteurs: [],
auteurSelectionne: '',
} }
} }
......
This diff is collapsed.
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
<span>selectionner un type</span><br><br> <span>selectionner un type</span><br><br>
<select id="type" name="type" size="1" v-model="type" v-on:change="choixType()"> <select id="type" name="type" size="1" v-model="type" v-on:change="choixType()">
<option>quiz</option> <option>quiz</option>
<option>text/plain</option>
<option>application/pdf</option>
</select> </select>
</div> </div>
...@@ -13,6 +15,7 @@ ...@@ -13,6 +15,7 @@
<select id="source" name="source" size="1" v-model="source" v-on:change="choixSource()"> <select id="source" name="source" size="1" v-model="source" v-on:change="choixSource()">
<option>markdown</option> <option>markdown</option>
<option>moodle</option> <option>moodle</option>
<option>autre</option>
</select> </select>
</div> </div>
......
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