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

Modification des titres partout

parent 323a0c4a
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<Volet_Base @rechercherNouvellesPublications="rechercherNouvellesPublications" @choix_variante="choixVariante" <Volet_Base @rechercherNouvellesPublications="rechercherNouvellesPublications" @choix_variante="choixVariante"
@newContenu="newContenu" v-bind:nvoContenu="nvoContenu" v-bind:auteur="auteur" @newContenu="newContenu" v-bind:nvoContenu="nvoContenu" v-bind:auteur="auteur"
v-bind:contenuAjoute="contenuAjoute" v-bind:majContenus="majContenus" v-bind:darktheme="darktheme" v-bind:contenuAjoute="contenuAjoute" v-bind:majContenus="majContenus" v-bind:darktheme="darktheme"
v-bind:deconnexion="deconnexion" /> v-bind:deconnexion="deconnexion" @ChangerTitre="ChangerTitre" />
</div> </div>
</template> </template>
...@@ -40,6 +40,13 @@ export default { ...@@ -40,6 +40,13 @@ export default {
*/ */
rechercherNouvellesPublications: function () { rechercherNouvellesPublications: function () {
this.$emit("rechercherNouvellesPublications") this.$emit("rechercherNouvellesPublications")
},
/**
* @vuese
* Signal de changement d'un titre (consultation d'un contenu panier, banque ou maj)
*/
ChangerTitre: function (event) {
this.$emit("ChangerTitre", {titre: event.titre})
} }
}, },
props: { props: {
......
...@@ -3,11 +3,14 @@ ...@@ -3,11 +3,14 @@
<Login v-show="etat === 'unlogged'" @user_logged="setLogged"></Login> <Login v-show="etat === 'unlogged'" @user_logged="setLogged"></Login>
<Menu v-show="etat !== 'unlogged'" v-bind:auteur="auteur" v-bind:etat="etat" v-bind:variante="variante" <Menu v-show="etat !== 'unlogged'" v-bind:auteur="auteur" v-bind:etat="etat" v-bind:variante="variante"
v-bind:recalculerNotif="recalculerNotif" @menu_choisi="changerPage" @darkTheme="darkTheme"></Menu> v-bind:recalculerNotif="recalculerNotif" @menu_choisi="changerPage" @darkTheme="darkTheme"
v-bind:nouveauTitre="nouveauTitre">
</Menu>
<Contenu v-show="etat === 'Contenu'" v-bind:auteur="auteur" v-bind:nvoContenu="nvoContenu" v-bind:contenuAjoute="contenuAjoute" <Contenu v-show="etat === 'Contenu'" v-bind:auteur="auteur" v-bind:nvoContenu="nvoContenu" v-bind:contenuAjoute="contenuAjoute"
@choix_variante="choixVariante" @newContenu="newContenu" @choix_variante="choixVariante" @newContenu="newContenu"
@rechercherNouvellesPublications="rechercherPublications = !rechercherPublications" @rechercherNouvellesPublications="rechercherPublications = !rechercherPublications"
v-bind:majContenus="majContenus" v-bind:darktheme="darktheme" v-bind:deconnexion="deconnexion"></Contenu> v-bind:majContenus="majContenus" v-bind:darktheme="darktheme" v-bind:deconnexion="deconnexion"
@ChangerTitre="ChangerTitre"></Contenu>
<Maj v-show="etat === 'Mises à jour'" v-bind:auteur="auteur" v-bind:isRecu="isRecu" v-bind:isPropose="isPropose" <Maj v-show="etat === 'Mises à jour'" v-bind:auteur="auteur" v-bind:isRecu="isRecu" v-bind:isPropose="isPropose"
v-bind:contenuEnPublication="contenuEnPublication" @recalculerNotif="recalculerNotification" v-bind:contenuEnPublication="contenuEnPublication" @recalculerNotif="recalculerNotification"
@majNvoContenu="majNvoContenu" @majContenus="majContenus = !majContenus" @majNvoContenu="majNvoContenu" @majContenus="majContenus = !majContenus"
...@@ -51,7 +54,8 @@ export default { ...@@ -51,7 +54,8 @@ export default {
majContenus: false, majContenus: false,
errorMessage: 'Login ou mot de passe erroné', errorMessage: 'Login ou mot de passe erroné',
darktheme: '', darktheme: '',
deconnexion: false deconnexion: false,
nouveauTitre: ''
} }
}, },
methods: { methods: {
...@@ -146,6 +150,13 @@ export default { ...@@ -146,6 +150,13 @@ export default {
*/ */
darkTheme: function (event) { darkTheme: function (event) {
this.darktheme = event.active this.darktheme = event.active
},
/**
* @vuese
* Signal de changement d'un titre (consultation d'un contenu panier, banque ou maj)
*/
ChangerTitre: function (event) {
this.nouveauTitre = event.titre
} }
}, },
......
...@@ -244,6 +244,7 @@ export default { ...@@ -244,6 +244,7 @@ export default {
this.detailContenu = true this.detailContenu = true
this.contenuChoisi = item this.contenuChoisi = item
this.contenuCliqueProvenance = "maj" this.contenuCliqueProvenance = "maj"
this.$emit("ChangerTitre", {titre: "Consultation du contenu " + item.titre})
}, },
/** /**
* @vuese * @vuese
...@@ -251,6 +252,7 @@ export default { ...@@ -251,6 +252,7 @@ export default {
*/ */
retourArriere: function () { retourArriere: function () {
this.detailContenu = false this.detailContenu = false
this.$emit("ChangerTitre", {titre: ""})
}, },
/** /**
* @vuese * @vuese
......
...@@ -52,7 +52,9 @@ export default { ...@@ -52,7 +52,9 @@ export default {
// Auteur connecté // Auteur connecté
auteur: {}, auteur: {},
// Booléen permettant le recalcul des notifications // Booléen permettant le recalcul des notifications
recalculerNotif: {} recalculerNotif: {},
// Variable permettant d'afficher un titre particulier en haut de la page
nouveauTitre: {}
}, },
methods: { methods: {
/** /**
...@@ -193,8 +195,24 @@ export default { ...@@ -193,8 +195,24 @@ export default {
this.publicationsRecues() this.publicationsRecues()
this.changerStyle() this.changerStyle()
}, },
/**
* @vuese
* permet de récupérer l'activation / désactivation de la variante
*/
variante: function () { variante: function () {
this.changerStyle() this.changerStyle()
},
/**
* @vuese
* Si besoin, change le titre de la page
*/
nouveauTitre: function () {
if (this.nouveauTitre === ""){
this.titrePage = "OpenQuizz - Bienvenue " + this.auteur
} else {
this.titrePage = this.nouveauTitre
}
} }
} }
} }
......
<template> <template>
<div id="divPrincipale" > <div id="divPrincipale" >
<div id="principal" v-show="!modeModification"> <div id="principal" v-show="!modeModification && !modeConsultation">
<!-- width: 330px; <!-- width: 330px;
--> -->
<div id="ensemble" class="ensemble" :class="darktheme ? 'ensembledark' : ''" :style="isActif ? {width: '340px'} : {width: '40px'}"> <div id="ensemble" class="ensemble" :class="darktheme ? 'ensembledark' : ''" :style="isActif ? {width: '340px'} : {width: '40px'}">
<button id="changerVariante" :style="isActif ? {width: 'auto'} : {width: '20px'}" <button id="changerVariante" :style="isActif ? {width: 'auto'} : {width: '20px'}"
v-show="!modeModification" v-on:click="changerVariante">{{ texteBoutonvariante }}</button> v-show="!modeModification && !modeConsultation" v-on:click="changerVariante">{{ texteBoutonvariante }}</button>
<br> <br>
<button id="boutonVolet" v-on:click="desactiverVolet" v-bind:style="{'margin-top': '0%'}"></button> <button id="boutonVolet" v-on:click="desactiverVolet" v-bind:style="{'margin-top': '0%'}"></button>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</div> </div>
<div id="tableau" :class="darktheme ? 'tableaudark' : ''" :style="isActif ? {width: '90%'} : {width: '98%'}" > <div id="tableau" :class="darktheme ? 'tableaudark' : ''" :style="isActif ? {width: '90%'} : {width: '98%'}" >
<div class="choixPanier" v-show="panierChoisi && !modeModification"> <div class="choixPanier" v-show="panierChoisi && (!modeModification && !modeConsultation)">
<label id="labelPerso" :style="isActif ? {'margin-left': '-5px'} : {'margin-left': '148px'}">Perso </label> <label id="labelPerso" :style="isActif ? {'margin-left': '-5px'} : {'margin-left': '148px'}">Perso </label>
<input type="checkbox" class="filtreTableau" id="filtrePerso" v-model="persoChecked" <input type="checkbox" class="filtreTableau" id="filtrePerso" v-model="persoChecked"
v-on:click="persoChecked = !persoChecked" name="perso" value="tiers"/> v-on:click="persoChecked = !persoChecked" name="perso" value="tiers"/>
...@@ -93,7 +93,8 @@ ...@@ -93,7 +93,8 @@
</tr> </tr>
<tr v-show="!panierChoisi" v-for="item in contenusbanque" :key="item.titre"> <tr v-show="!panierChoisi && (!modeModification && !modeConsultation)" v-for="item in contenusbanque" :key="item.titre"
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)" triggers="hover" placement="bottom">
<p v-html="texteDuContenu" v-if="!isMoodle"></p> <p v-html="texteDuContenu" v-if="!isMoodle"></p>
...@@ -125,8 +126,8 @@ ...@@ -125,8 +126,8 @@
</div> </div>
</div> </div>
<!-- <Consulter_Contenu v-bind:auteur="auteur" @actionContenu="actionContenu" @retour_arriere="retourArriere" v-bind:contenuClique = "contenuClique" <Consulter_Contenu v-bind:auteur="auteur" @actionContenu="actionContenu" @retour_arriere="retourArriere" v-bind:contenuClique = "contenuClique"
v-bind:contenuCliqueProvenance = "contenuCliqueProvenance" v-show="modeConsultation && !modeModification"/>--> v-bind:contenuCliqueProvenance = "contenuCliqueProvenance" v-show="modeConsultation"/>
<Modifier_Contenu v-bind:auteur="auteur" v-bind:texteDuContenu = "texteDuContenu" v-bind:contenuCliqueProvenance = "contenuCliqueProvenance" <Modifier_Contenu v-bind:auteur="auteur" v-bind:texteDuContenu = "texteDuContenu" v-bind:contenuCliqueProvenance = "contenuCliqueProvenance"
v-show="modeModification" @actionContenu="actionContenu" v-bind:contenuClique = "contenuClique" v-show="modeModification" @actionContenu="actionContenu" v-bind:contenuClique = "contenuClique"
@choixModif="choixModif" v-bind:titreContenu="titreContenu"/> @choixModif="choixModif" v-bind:titreContenu="titreContenu"/>
...@@ -144,6 +145,7 @@ import Volet_Menu from "./Volet_Menu"; ...@@ -144,6 +145,7 @@ import Volet_Menu from "./Volet_Menu";
import Volet_Contenu from "./Volet_Contenu"; import Volet_Contenu from "./Volet_Contenu";
import Service from '../../src/service/Service' import Service from '../../src/service/Service'
import Modifier_Contenu from "./Modifier_Contenu"; import Modifier_Contenu from "./Modifier_Contenu";
import Consulter_Contenu from "./Consulter_Contenu";
import Test from "../Test" import Test from "../Test"
export default { export default {
...@@ -151,6 +153,7 @@ export default { ...@@ -151,6 +153,7 @@ export default {
components: { components: {
Test, Test,
Modifier_Contenu, Modifier_Contenu,
Consulter_Contenu,
Volet_Menu, Volet_Menu,
Volet_Contenu Volet_Contenu
}, },
...@@ -182,6 +185,7 @@ export default { ...@@ -182,6 +185,7 @@ export default {
contenuCliqueProvenance: "", contenuCliqueProvenance: "",
modalOn: false, modalOn: false,
modeModification: false, modeModification: false,
modeConsultation: false,
persoChecked: true, persoChecked: true,
tiersChecked: true, tiersChecked: true,
enCoursChecked: true, enCoursChecked: true,
...@@ -388,22 +392,30 @@ export default { ...@@ -388,22 +392,30 @@ export default {
}, },
/** /**
* @vuese * @vuese
* Charger un contenu (dans Consulter_Contenu) * Charger un contenu (dans Modifier_Contenu)
*/ */
chargerContenu: function (item, provenance) { chargerContenu: function (item, provenance) {
this.panierChoisi = false this.panierChoisi = false
this.modeModification = true
this.contenuClique = item this.contenuClique = item
this.contenuCliqueProvenance = provenance this.contenuCliqueProvenance = provenance
// this.titreContenu = item.titre
//this.contenuCliqueVersion = item.version
if (provenance === 'banque'){
this.modeConsultation = true
this.$emit("ChangerTitre", {titre: "Consultation du contenu " + this.contenuClique.titre})
} else {
this.modeModification = true
this.$emit("ChangerTitre", {titre: "Modification du contenu " + this.contenuClique.titre})
// Si markdown, on retransforme le texte affiché dans le popover pour récupérer du Markdown
if (item.source === "markdown") { if (item.source === "markdown") {
let showdown = require('showdown'), let showdown = require('showdown'),
converter = new showdown.Converter() converter = new showdown.Converter()
this.texteDuContenu = converter.makeMarkdown(this.texteDuContenu) this.texteDuContenu = converter.makeMarkdown(this.texteDuContenu)
// Si Moodle, on refait (pour l'instant) un appel au WS pour récupérer le texte
} else if (item.source === "moodle"){ } else if (item.source === "moodle"){
let that = this let that = this
Service.recupererTexteContenu(JSON.stringify(item._id)).then( Service.recupererTexteContenu(JSON.stringify(item._id)).then(
...@@ -413,32 +425,32 @@ export default { ...@@ -413,32 +425,32 @@ export default {
} }
) )
} }
}
alert(this.texteDuContenu)
}, },
/* /!** /**
* @vuese *
* Retour de Consulter_Contenu à Volet_Base */
*!/ retourArriere: function () {
retourArriere: function (event) {
this.modeConsultation = false this.modeConsultation = false
this.panierChoisi = event.panierChoisi this.$emit("ChangerTitre", {titre: ""})
},*/ // this.panierChoisi = true
// this.razModeVariante = true
},
/** /**
* @vuese * @vuese
* Récupération de lm'action choisie dans Consulter_Contenu, * Récupération de lm'action choisie dans Modifier_Contenu et dans Consulter_Contenu,
* parmi les 4 possibilités : mettre en favori, modifier, supprimer et validerModification / Demander la Publication * parmi les 4 possibilités : ̶m̶e̶t̶t̶r̶e̶ ̶e̶n̶ ̶f̶a̶v̶o̶r̶i̶, modifier, supprimer et validerModification / Demander la Publication
*/ */
actionContenu: function (event) { actionContenu: function (event) {
alert("L'appel de la forêt")
this.modeModification = false this.modeModification = false
this.modeConsultation = false
let data = {} let data = {}
let that = this let that = this
let auteur = "" let auteur = ""
let version = 0; let version = 0;
switch (event.action) { switch (event.action) {
case "mettreFavori": case "mettreFavori":
if (event.version === undefined){ if (event.version === undefined){
...@@ -448,7 +460,6 @@ export default { ...@@ -448,7 +460,6 @@ export default {
version = parseInt(event.version) version = parseInt(event.version)
} }
data = {auteur: this.auteur, id_tiers:JSON.stringify(event.contenu._id) , version: version} data = {auteur: this.auteur, id_tiers:JSON.stringify(event.contenu._id) , version: version}
Service.creerContenuTiers(data).then( Service.creerContenuTiers(data).then(
function (response) { function (response) {
...@@ -598,6 +609,9 @@ export default { ...@@ -598,6 +609,9 @@ export default {
choixModif: function (event) { choixModif: function (event) {
this.modeModification = false this.modeModification = false
this.panierChoisi = true this.panierChoisi = true
this.$emit("ChangerTitre", {titre: ""})
if(event.action === "valider") { if(event.action === "valider") {
let nouveau_titre = event.titre let nouveau_titre = event.titre
let data = {nouveau_texte: event.nouveauTexte, nouveau_titre: nouveau_titre} let data = {nouveau_texte: event.nouveauTexte, nouveau_titre: nouveau_titre}
......
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