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

Modification des titres partout

parent 323a0c4a
......@@ -3,7 +3,7 @@
<Volet_Base @rechercherNouvellesPublications="rechercherNouvellesPublications" @choix_variante="choixVariante"
@newContenu="newContenu" v-bind:nvoContenu="nvoContenu" v-bind:auteur="auteur"
v-bind:contenuAjoute="contenuAjoute" v-bind:majContenus="majContenus" v-bind:darktheme="darktheme"
v-bind:deconnexion="deconnexion" />
v-bind:deconnexion="deconnexion" @ChangerTitre="ChangerTitre" />
</div>
</template>
......@@ -40,6 +40,13 @@ export default {
*/
rechercherNouvellesPublications: function () {
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: {
......
......@@ -3,11 +3,14 @@
<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"
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"
@choix_variante="choixVariante" @newContenu="newContenu"
@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"
v-bind:contenuEnPublication="contenuEnPublication" @recalculerNotif="recalculerNotification"
@majNvoContenu="majNvoContenu" @majContenus="majContenus = !majContenus"
......@@ -51,7 +54,8 @@ export default {
majContenus: false,
errorMessage: 'Login ou mot de passe erroné',
darktheme: '',
deconnexion: false
deconnexion: false,
nouveauTitre: ''
}
},
methods: {
......@@ -146,6 +150,13 @@ export default {
*/
darkTheme: function (event) {
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 {
this.detailContenu = true
this.contenuChoisi = item
this.contenuCliqueProvenance = "maj"
this.$emit("ChangerTitre", {titre: "Consultation du contenu " + item.titre})
},
/**
* @vuese
......@@ -251,6 +252,7 @@ export default {
*/
retourArriere: function () {
this.detailContenu = false
this.$emit("ChangerTitre", {titre: ""})
},
/**
* @vuese
......
......@@ -52,7 +52,9 @@ export default {
// Auteur connecté
auteur: {},
// Booléen permettant le recalcul des notifications
recalculerNotif: {}
recalculerNotif: {},
// Variable permettant d'afficher un titre particulier en haut de la page
nouveauTitre: {}
},
methods: {
/**
......@@ -193,8 +195,24 @@ export default {
this.publicationsRecues()
this.changerStyle()
},
/**
* @vuese
* permet de récupérer l'activation / désactivation de la variante
*/
variante: function () {
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>
<div id="divPrincipale" >
<div id="principal" v-show="!modeModification">
<div id="principal" v-show="!modeModification && !modeConsultation">
<!-- width: 330px;
-->
<div id="ensemble" class="ensemble" :class="darktheme ? 'ensembledark' : ''" :style="isActif ? {width: '340px'} : {width: '40px'}">
<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>
<button id="boutonVolet" v-on:click="desactiverVolet" v-bind:style="{'margin-top': '0%'}"></button>
......@@ -18,7 +18,7 @@
</div>
<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>
<input type="checkbox" class="filtreTableau" id="filtrePerso" v-model="persoChecked"
v-on:click="persoChecked = !persoChecked" name="perso" value="tiers"/>
......@@ -93,7 +93,8 @@
</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>
<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>
......@@ -125,8 +126,8 @@
</div>
</div>
<!-- <Consulter_Contenu v-bind:auteur="auteur" @actionContenu="actionContenu" @retour_arriere="retourArriere" v-bind:contenuClique = "contenuClique"
v-bind:contenuCliqueProvenance = "contenuCliqueProvenance" v-show="modeConsultation && !modeModification"/>-->
<Consulter_Contenu v-bind:auteur="auteur" @actionContenu="actionContenu" @retour_arriere="retourArriere" v-bind:contenuClique = "contenuClique"
v-bind:contenuCliqueProvenance = "contenuCliqueProvenance" v-show="modeConsultation"/>
<Modifier_Contenu v-bind:auteur="auteur" v-bind:texteDuContenu = "texteDuContenu" v-bind:contenuCliqueProvenance = "contenuCliqueProvenance"
v-show="modeModification" @actionContenu="actionContenu" v-bind:contenuClique = "contenuClique"
@choixModif="choixModif" v-bind:titreContenu="titreContenu"/>
......@@ -144,6 +145,7 @@ import Volet_Menu from "./Volet_Menu";
import Volet_Contenu from "./Volet_Contenu";
import Service from '../../src/service/Service'
import Modifier_Contenu from "./Modifier_Contenu";
import Consulter_Contenu from "./Consulter_Contenu";
import Test from "../Test"
export default {
......@@ -151,6 +153,7 @@ export default {
components: {
Test,
Modifier_Contenu,
Consulter_Contenu,
Volet_Menu,
Volet_Contenu
},
......@@ -182,6 +185,7 @@ export default {
contenuCliqueProvenance: "",
modalOn: false,
modeModification: false,
modeConsultation: false,
persoChecked: true,
tiersChecked: true,
enCoursChecked: true,
......@@ -388,57 +392,65 @@ export default {
},
/**
* @vuese
* Charger un contenu (dans Consulter_Contenu)
* Charger un contenu (dans Modifier_Contenu)
*/
chargerContenu: function (item, provenance) {
this.panierChoisi = false
this.modeModification = true
this.contenuClique = item
this.contenuCliqueProvenance = provenance
// this.titreContenu = item.titre
//this.contenuCliqueVersion = item.version
if (item.source === "markdown") {
if (provenance === 'banque'){
let showdown = require('showdown'),
converter = new showdown.Converter()
this.modeConsultation = true
this.$emit("ChangerTitre", {titre: "Consultation du contenu " + this.contenuClique.titre})
this.texteDuContenu = converter.makeMarkdown(this.texteDuContenu)
} else if (item.source === "moodle"){
let that = this
Service.recupererTexteContenu(JSON.stringify(item._id)).then(
function (response) {
that.texteDuContenu = response.data
// alert(response.data)
}
)
}
} else {
this.modeModification = true
this.$emit("ChangerTitre", {titre: "Modification du contenu " + this.contenuClique.titre})
alert(this.texteDuContenu)
// Si markdown, on retransforme le texte affiché dans le popover pour récupérer du Markdown
if (item.source === "markdown") {
let showdown = require('showdown'),
converter = new showdown.Converter()
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"){
let that = this
Service.recupererTexteContenu(JSON.stringify(item._id)).then(
function (response) {
that.texteDuContenu = response.data
// alert(response.data)
}
)
}
}
},
/* /!**
* @vuese
* Retour de Consulter_Contenu à Volet_Base
*!/
retourArriere: function (event) {
/**
*
*/
retourArriere: function () {
this.modeConsultation = false
this.panierChoisi = event.panierChoisi
},*/
this.$emit("ChangerTitre", {titre: ""})
// this.panierChoisi = true
// this.razModeVariante = true
},
/**
* @vuese
* Récupération de lm'action choisie dans Consulter_Contenu,
* parmi les 4 possibilités : mettre en favori, modifier, supprimer et validerModification / Demander la Publication
* Récupération de lm'action choisie dans Modifier_Contenu et dans Consulter_Contenu,
* 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) {
alert("L'appel de la forêt")
this.modeModification = false
this.modeConsultation = false
let data = {}
let that = this
let auteur = ""
let version = 0;
switch (event.action) {
case "mettreFavori":
if (event.version === undefined){
......@@ -448,7 +460,6 @@ export default {
version = parseInt(event.version)
}
data = {auteur: this.auteur, id_tiers:JSON.stringify(event.contenu._id) , version: version}
Service.creerContenuTiers(data).then(
function (response) {
......@@ -598,6 +609,9 @@ export default {
choixModif: function (event) {
this.modeModification = false
this.panierChoisi = true
this.$emit("ChangerTitre", {titre: ""})
if(event.action === "valider") {
let nouveau_titre = event.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