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

Ajout de la documentation avec le plugin vuese

parent 072443eb
...@@ -13,17 +13,33 @@ export default { ...@@ -13,17 +13,33 @@ export default {
Volet_Base Volet_Base
}, },
methods: { methods: {
/**
* @vuese
* Transmission du choix concernant la variante (à destination du composant Menu)
*/
choixVariante: function (event) { choixVariante: function (event) {
// Transmission du booléen concernant la variante
// @arg True si variante active, False sinon
this.$emit("choix_variante", {variante: event.variante}) this.$emit("choix_variante", {variante: event.variante})
}, },
/**
* @vuese
* Transmission de l'information concernant la création d'un nouveau contenu
*/
newContenu: function () { newContenu: function () {
// Evenement à destination de Volet_Base
this.$emit("newContenu") this.$emit("newContenu")
} }
}, },
props: ['auteur', 'contenuAjoute', 'nvoContenu'] props: {
// L'auteur connecté
auteur: {},
// Variable contenant un contenu ajouté, à destination de Volet_Base
contenuAjoute: {},
// Variable contenant un "nouveau contenu", créé à partir d'une demande de publication, à destination de Volet_Base
nvoContenu: {}
}
} }
</script> </script>
......
...@@ -44,6 +44,10 @@ export default { ...@@ -44,6 +44,10 @@ export default {
} }
}, },
methods: { methods: {
/**
* @vuese
* Changement de l'affichage si l'authentification de l'utilsateur est validée
*/
setLogged: function (event) { setLogged: function (event) {
//this.$cookies.set("isLogged", true) //this.$cookies.set("isLogged", true)
if (event.isLogged){ if (event.isLogged){
...@@ -55,6 +59,10 @@ export default { ...@@ -55,6 +59,10 @@ export default {
this.errorLogin = true this.errorLogin = true
} }
}, },
/**
* @vuese
* Récupération d'un click sur le menu 'auteur' (en haut à droite)
*/
changerPage: function (event) { changerPage: function (event) {
if (event.choix === "Deconnexion"){ if (event.choix === "Deconnexion"){
this.etat = "unlogged" this.etat = "unlogged"
...@@ -66,22 +74,46 @@ export default { ...@@ -66,22 +74,46 @@ export default {
this.isPropose = event.isPropose this.isPropose = event.isPropose
} }
}, },
/**
* @vuese
* Récupération du booléen lié à la variante pour passage au composant Maj
*/
choixVariante: function (event) { choixVariante: function (event) {
this.variante = event.variante this.variante = event.variante
}, },
/**
* @vuese
* Changement de l'affichage pour passer en mode de création de contenu
*/
newContenu: function () { newContenu: function () {
this.etat = "newContenu" this.etat = "newContenu"
}, },
/**
* @vuese
* Récupération d'un contenu ajotué à destination de Volet_Base
*/
ajouterUnContenu:function (event) { ajouterUnContenu:function (event) {
this.contenuAjoute = event.contenu this.contenuAjoute = event.contenu
}, },
/**
* @vuese
* Changement de l'affichage pour passer en mode contenu (le mode principal de l'application)
*/
retourArriere: function () { retourArriere: function () {
this.etat= "Contenu" this.etat= "Contenu"
}, },
/**
* @vuese
* Booléen permettant de redéclencher l'affichage de l'icone de notification de maj
*/
recalculerNotification: function () { recalculerNotification: function () {
this.recalculerNotif = !this.recalculerNotif this.recalculerNotif = !this.recalculerNotif
}, },
/**
* @vuese
* Passage d'information concernant la maj d'un contenu
*/
majNvoContenu: function (event) { majNvoContenu: function (event) {
this.nvoContenu = event.contenu this.nvoContenu = event.contenu
} }
......
...@@ -28,14 +28,27 @@ export default { ...@@ -28,14 +28,27 @@ export default {
methods: { methods: {
logIn: function () { logIn: function () {
let that = this let that = this
/**
* @vuese
* Appel au WS pour tester la validité de la saisie mdp/login de l'utilisateur
*/
Service.login([this.login, this.password]).then(function (response) { Service.login([this.login, this.password]).then(function (response) {
// SI connexion réussie, on emet un booléen a true et le nom de l'auteur connecté
// @arg booléen indiquant que la connexion est ok
// @arg nom de l'auteur connecté
if (response.data === "True"){ if (response.data === "True"){
that.$emit("user_logged", {"isLogged" : true, "auteur": that.login}) that.$emit("user_logged", {"isLogged" : true, "auteur": that.login})
} else { } else {
// SI connexion refusée, on emet un booléen a false et le nom de l'auteur connecté
// @arg booléen indiquant que la connexion est pas ok
that.$emit("user_logged", {"isLogged" : false}) that.$emit("user_logged", {"isLogged" : false})
} }
}) })
}, },
/**
* @vuese
* Appel au WS pour tester la validité de la saisie mdp/login de l'utilisateur
*/
keymonitor: function(event) { keymonitor: function(event) {
if (event.key === "Enter") { if (event.key === "Enter") {
this.logIn() this.logIn()
......
...@@ -94,10 +94,18 @@ export default { ...@@ -94,10 +94,18 @@ export default {
}, },
props: ['contenuEnPublication', 'auteur', 'isRecu', 'isPropose'], props: ['contenuEnPublication', 'auteur', 'isRecu', 'isPropose'],
methods: { methods: {
/**
* @vuese
* Navigation ascendante et descendante dans les sous arborescences des tags
*/
naviguer: function (e) { naviguer: function (e) {
e.target.classList.toggle("niveau-down") e.target.classList.toggle("niveau-down")
document.getElementById("detail" + e.target.id[0].toUpperCase() + e.target.id.substring(1)).classList.toggle('affiche') document.getElementById("detail" + e.target.id[0].toUpperCase() + e.target.id.substring(1)).classList.toggle('affiche')
}, },
/**
* @vuese
* Conservation du contenu en cours, qui passe en mode 'refusé', après refus d'une demande de publication
*/
conserver: function (item) { conserver: function (item) {
let that = this let that = this
let data = {id_contenu_en_cours: JSON.stringify(item.idContenuEnCours)} let data = {id_contenu_en_cours: JSON.stringify(item.idContenuEnCours)}
...@@ -109,6 +117,10 @@ export default { ...@@ -109,6 +117,10 @@ export default {
} }
) )
}, },
/**
* @vuese
* Création d'un nouveau contenu après refus d'une demande de publication
*/
creerNouveau: function(item) { creerNouveau: function(item) {
let that = this let that = this
let data = {id_demande_pub : JSON.stringify(item._id), auteur: this.auteur} let data = {id_demande_pub : JSON.stringify(item._id), auteur: this.auteur}
...@@ -121,12 +133,21 @@ export default { ...@@ -121,12 +133,21 @@ export default {
} }
) )
}, },
/**
* @vuese
* Suppression d'une demande de publication acceptée ou refusée
*/
supprimer: function (item) { supprimer: function (item) {
let that = this let that = this
Service.supprimerDemandePublication(JSON.stringify(item._id)).then(function () { Service.supprimerDemandePublication(JSON.stringify(item._id)).then(function () {
that.contenusPropose = that.contenusPropose.filter(contenu => contenu._id !== item._id) that.contenusPropose = that.contenusPropose.filter(contenu => contenu._id !== item._id)
}) })
}, },
/**
* @vuese
* Gestion d'une réponse à une demande de publication recue.
* @arg reponse = 'o' ou 'n' selon le choix de l'auteur d'origine
*/
gererPublication: function (item, reponse) { gererPublication: function (item, reponse) {
let that = this let that = this
let data = "" let data = ""
...@@ -149,9 +170,13 @@ export default { ...@@ -149,9 +170,13 @@ export default {
}) })
} }
// évènement pour recalculer les notifications de l'auteur en cours (et potentiellement faire disparaitre l'icone)
this.$emit("recalculerNotif") this.$emit("recalculerNotif")
}, },
/**
* @vuese
* Récupération des publications recues (perso et tiers)
*/
publicationsRecues: function () { publicationsRecues: function () {
let that = this let that = this
// Dès que l'auteur est connu, on charge tous ses contenus // Dès que l'auteur est connu, on charge tous ses contenus
...@@ -172,10 +197,11 @@ export default { ...@@ -172,10 +197,11 @@ export default {
that.contenusRecu.push(response.data) that.contenusRecu.push(response.data)
}) })
}) })
}, },
/**
* @vuese
* Récupération des publications proposées par l'auteur
*/
publicationsProposees: function () { publicationsProposees: function () {
let that = this let that = this
// Dès que l'auteur est connu, on charge tous ses contenus // Dès que l'auteur est connu, on charge tous ses contenus
...@@ -185,14 +211,26 @@ export default { ...@@ -185,14 +211,26 @@ export default {
that.contenusPropose = response.data that.contenusPropose = response.data
}) })
}, },
/**
* @vuese
* Consulter le contenu cliqué en détail
*/
consulterContenuMaj: function (item) { consulterContenuMaj: function (item) {
this.detailContenu = true this.detailContenu = true
this.contenuChoisi = item this.contenuChoisi = item
this.contenuCliqueProvenance = "maj" this.contenuCliqueProvenance = "maj"
}, },
/**
* @vuese
* Gestion du retour de Consulter_Contenu
*/
retourArriere: function () { retourArriere: function () {
this.detailContenu = false this.detailContenu = false
}, },
/**
* @vuese
* Récupération et mise en forme du texte associé au contenu
*/
rechercherTexte(id){ rechercherTexte(id){
let that = this let that = this
Service.recupererTexteContenuEnCours(JSON.stringify(id)).then( Service.recupererTexteContenuEnCours(JSON.stringify(id)).then(
...@@ -221,8 +259,11 @@ export default { ...@@ -221,8 +259,11 @@ export default {
} }
}, },
watch: { watch: {
/**
* @vuese
* appel initial au WS pour récupérer les demandes de publication
*/
auteur: function () { auteur: function () {
// appel initial au WS pour récupérer les demandes de publication
this.publicationsRecues() this.publicationsRecues()
this.publicationsProposees() this.publicationsProposees()
} }
......
...@@ -30,19 +30,44 @@ export default { ...@@ -30,19 +30,44 @@ export default {
isPropose: false isPropose: false
} }
}, },
props: ['etat', 'variante', 'auteur', 'recalculerNotif'], props: {
// Permet de déterminer si on est dans le mode mise à jour ou pas
etat: {},
// Booléen pour savoir si la variante du menu Banque/Panier est active ou pas
variante: {},
// Auteur connecté
auteur: {},
// Booléen permettant le recalcul des notifications
recalculerNotif: {}
},
methods: { methods: {
/**
* @vuese
* Gestion du clic sur un des éléments du menu 'auteur' (en haut à droite)
*/
choixMenuAnnexe: function (e) { choixMenuAnnexe: function (e) {
this.$emit("menu_choisi", {choix: e.target.innerText}) this.$emit("menu_choisi", {choix: e.target.innerText})
this.isAffiche = false this.isAffiche = false
}, },
/**
* @vuese
* Gestion du clic sur le menu des évaluations. Sera, a terme, intégré dans choisMenuAnnexe.
*/
evaluations: function () { evaluations: function () {
alert("Gestion des évaluations (a venir)") alert("Gestion des évaluations (a venir)")
}, },
/**
* @vuese
* Gestion du clic sur l'icone de notification
*/
choixIconeNotification: function () { choixIconeNotification: function () {
this.$emit("menu_choisi", {choix: "Mises à jour", isRecu: this.isRecu, isPropose: this.isPropose}) this.$emit("menu_choisi", {choix: "Mises à jour", isRecu: this.isRecu, isPropose: this.isPropose})
this.isAffiche = false this.isAffiche = false
}, },
/**
* @vuese
* Fonction de calcul de présence de notification dans le cadre des mises à jour recues (de contenu perso ou de contenu tiers)
*/
publicationsRecues: function () { publicationsRecues: function () {
let that = this let that = this
Service.getPublicationsRecues(this.auteur).then(function (response) { Service.getPublicationsRecues(this.auteur).then(function (response) {
...@@ -58,6 +83,10 @@ export default { ...@@ -58,6 +83,10 @@ export default {
that.majTiers() that.majTiers()
}) })
}, },
/**
* @vuese
* Fonction de calcul de présence de notification dans le cadre des mises à jour proposées (dont l'état n'est plus en cours)
*/
publicationsProposees: function () { publicationsProposees: function () {
let that = this let that = this
Service.getPublicationsProposees(this.auteur).then(function (response) { Service.getPublicationsProposees(this.auteur).then(function (response) {
...@@ -72,6 +101,10 @@ export default { ...@@ -72,6 +101,10 @@ export default {
} }
}) })
}, },
/**
* @vuese
* (A construire) Fonction de calcul du nombre de maj tiers disponibles
*/
majTiers: function () { majTiers: function () {
let that = this let that = this
Service.isMajTiersDisponible(this.auteur).then(function (response) { Service.isMajTiersDisponible(this.auteur).then(function (response) {
...@@ -87,11 +120,19 @@ export default { ...@@ -87,11 +120,19 @@ export default {
Choix_Mode_Variante Choix_Mode_Variante
}, },
watch: { watch: {
/**
* @vuese
* Dès que l'auteur est trasmis à cette page, on calcule ses opportunités de maj et on configure la notification en fonction
*/
auteur: function () { auteur: function () {
this.isNotif = false this.isNotif = false
this.publicationsRecues() this.publicationsRecues()
this.publicationsProposees() this.publicationsProposees()
}, },
/**
* @vuese
* Recalcul des opportunités de maj et on configure la notification en fonction après action dans le menu maj (fonctionne actuellement pas)
*/
recalculerNotif: function () { recalculerNotif: function () {
this.isNotif = false this.isNotif = false
this.publicationsRecues() this.publicationsRecues()
......
...@@ -28,7 +28,10 @@ import Service from "@/service/Service"; ...@@ -28,7 +28,10 @@ import Service from "@/service/Service";
export default { export default {
name: "NewContenu", name: "NewContenu",
props: ['auteur'], props: {
// l'auteur connecté
auteur: {}
},
data() { data() {
return { return {
contenuSaisi: '', contenuSaisi: '',
...@@ -53,7 +56,12 @@ export default { ...@@ -53,7 +56,12 @@ export default {
} }
) )
}, },
/**
* @vuese
* (A construire) Fonction de changement du mot de passe utilisateur
*/
retourArriere: function () { retourArriere: function () {
// evenement pour retourner vers le volet Contenu_Base
this.$emit("retourArriere") this.$emit("retourArriere")
} }
} }
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<p> Ecole : </p> <p> Ecole : </p>
<p> "Note" : </p> <p> "Note" : </p>
<p> "Publications" : </p> <p> "Publications" : </p>
<button class="changermdp" v-on:click="modeEdition">ChangerMdp</button> <button class="changermdp" v-on:click="this.editMode = ! this.editMode">ChangerMdp</button>
<div id="editMode" v-show="editMode"> <div id="editMode" v-show="editMode">
<label for="mdp1">Entrer le nouveau mdp</label> <label for="mdp1">Entrer le nouveau mdp</label>
<input type="password" id="mdp1"> <br> <input type="password" id="mdp1"> <br>
...@@ -28,9 +28,17 @@ export default { ...@@ -28,9 +28,17 @@ export default {
} }
}, },
methods: { methods: {
/* /!**
* @vuese
* Activation / Désactivation du mode édition
*!/
modeEdition: function () { modeEdition: function () {
this.editMode = ! this.editMode this.editMode = ! this.editMode
}, },*/
/**
* @vuese
* (A construire) Fonction de changement du mot de passe
*/
validerChangement: function (){ validerChangement: function (){
alert ('mot de passe changé') alert ('mot de passe changé')
this.editMode = ! this.editMode this.editMode = ! this.editMode
......
...@@ -17,9 +17,20 @@ ...@@ -17,9 +17,20 @@
<script> <script>
export default { export default {
name: "Barre_Filtre", name: "Barre_Filtre",
props: ['panierChoisi'], props: {
// Variable indicative du fait de savoir si le mode panier est activé ou pas (change l'affichage des filtres disponibles)
panierChoisi : {
type: Boolean
}
},
methods: { methods: {
/**
* @vuese
* Renvoie le filtre choisi au composant Volet_Menu
*/
a: function (){ a: function (){
// dès qu'un filtre est choisi
// @arg Le nom du filtre choisi
this.$emit("filtre_choisi", {filtre: this.selected}) } this.$emit("filtre_choisi", {filtre: this.selected}) }
}, },
data: function () { data: function () {
......
...@@ -22,8 +22,14 @@ export default { ...@@ -22,8 +22,14 @@ export default {
} }
}, },
methods: { methods: {
/**
* @vuese
* Permet de basculer entre le 'mode panier' et le 'mode banque'
*/
changerChoix: function () { changerChoix: function () {
this.contenuPanier = !this.contenuPanier this.contenuPanier = !this.contenuPanier
// dès qu'un filtre est choisi
// @arg True si le mode panier est actif, False sinon
this.$emit("mode_choisi", {mode: this.contenuPanier}) this.$emit("mode_choisi", {mode: this.contenuPanier})
}, },
} }
......
...@@ -24,8 +24,14 @@ export default { ...@@ -24,8 +24,14 @@ export default {
} }
}, },
methods: { methods: {
/**
* @vuese
* Permet de basculer entre le 'mode panier' et le 'mode banque', mais dans l'état variante (menu détaché du volet latéral)
*/
changerChoix: function () { changerChoix: function () {
this.contenuPanier = !this.contenuPanier this.contenuPanier = !this.contenuPanier
// dès qu'un filtre est choisi
// @arg True si le mode panier est actif, False sinon
this.$emit("mode_choisi", {mode: this.contenuPanier}) this.$emit("mode_choisi", {mode: this.contenuPanier})
}, },
} }
......
...@@ -31,23 +31,52 @@ import Service from "@/service/Service"; ...@@ -31,23 +31,52 @@ import Service from "@/service/Service";
export default { export default {
name: "Consulter_Contenu", name: "Consulter_Contenu",
props: ['contenuClique', 'contenuCliqueProvenance', 'auteur'], props: {
// Le contenu cliqué
contenuClique: {},
// La provenance du contenu cliqué (perso / tiers / en-cours / banque)
contenuCliqueProvenance: {},
// L'auteur du contenu cliqué
auteur: {}
},
methods: { methods: {
/**
* @vuese
* Permet de convertir le markdown d'un contenu en du html lisible
*/
formatterMarkdown: function () { formatterMarkdown: function () {
let showdown = require('showdown'), let showdown = require('showdown'),
converter = new showdown.Converter() converter = new showdown.Converter()
return converter.makeHtml(this.contenu) return converter.makeHtml(this.contenu)
}, },
/**
* @vuese
* Permet de renvoyer l'action choisie au composant Volet_Base pour traitement
*/
actionContenu: function (action) { actionContenu: function (action) {
// Dès qu'une action est sélectionnée, la renvoie à Volet_Base
// @arg action l'action choisie
// @arg contenu le contenu cliqué
// @arg le texte associé au contenu (sert potentiellement à rien)
this.$emit("actionContenu", {action: action, contenu: this.contenuClique, texte: this.contenu}) this.$emit("actionContenu", {action: action, contenu: this.contenuClique, texte: this.contenu})
}, },
/**
* @vuese
* Permet de revenir au composant Volet_Base ou au menu des Maj
*/
revenirArriere: function () { revenirArriere: function () {
if (this.contenuCliqueProvenance === 'maj'){ if (this.contenuCliqueProvenance === 'maj'){
// Permet de revenir au Menu des Maj
this.$emit("retour_arriere") this.$emit("retour_arriere")
} else { } else {
// Permet de revenir à Volet_Base
this.$emit("retour_arriere", {panierChoisi: this.contenuCliqueProvenance !== 'banque'}) this.$emit("retour_arriere", {panierChoisi: this.contenuCliqueProvenance !== 'banque'})
} }
}, },
/**
* @vuese
* Permet de charger une version spécifique du texte d'un 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(
...@@ -67,6 +96,10 @@ export default { ...@@ -67,6 +96,10 @@ export default {
} }
}, },
watch: { watch: {
/**
* @vuese
* Dès qu'un contenu est cliqué, permet d'en récupérer l'intérieur
*/
contenuClique: function () { contenuClique: function () {
let that = this let that = this
......
...@@ -31,7 +31,13 @@ export default { ...@@ -31,7 +31,13 @@ export default {
}, },
props: ['filtre_choisi', 'auteur', 'panierChoisi'], props: ['filtre_choisi', 'auteur', 'panierChoisi'],
methods: { methods: {
/**
* @vuese
* Chaine de transmission d'un filtre créé
*/
creer_filtre: function (event) { creer_filtre: function (event) {
// Transmet la création d'un filtre
// @arg filtre le filtre créé
this.$emit("creer_filtre", {filtre: event}) this.$emit("creer_filtre", {filtre: event})
} }
......
...@@ -11,27 +11,51 @@ ...@@ -11,27 +11,51 @@
<script> <script>
export default { export default {
name: "Detail_Filtre", name: "Detail_Filtre",
props: ['nouveau_filtre'], props: {
// Variable de stockage des nouveaux filtres
nouveau_filtre: {}
},
methods: { methods: {
/**
* @vuese
* Supprimer un filtre (en l'enlevant de l'array filtres_choisis)
*/
supprimer: function (e, index) { supprimer: function (e, index) {
e.target.parentElement.remove() e.target.parentElement.remove()
this.filtres_Choisis = this.filtres_Choisis.filter(filtre => filtre !== index) this.filtres_Choisis = this.filtres_Choisis.filter(filtre => filtre !== index)
// On transmet la liste des filtres maj (à destination finale de Volet_Base, pour mise à jour des contenus)
this.$emit("filtresChoisis", {filtres: this.filtres_Choisis}) this.$emit("filtresChoisis", {filtres: this.filtres_Choisis})
}, },
/**
* @vuese
* Dégage tous les filtres choisis
*/
effacer_Filtres: function () { effacer_Filtres: function () {
this.filtres_Choisis = [] this.filtres_Choisis = []
// On transmet la liste des filtres maj (à destination finale de Volet_Base, pour mise à jour des contenus)
this.$emit("filtresChoisis", {filtres: this.filtres_Choisis})
}, },
/**
* @vuese
* Le filtre date n'étant présent (au maximum) qu'en un seul exemplaire à chaque fois, une fonction pour le supprimer de la liste (pour le remettre par la suite)
*/
changer_filtre_date: function() { changer_filtre_date: function() {
console.log(this.filtres_Choisis)
this.filtres_Choisis = this.filtres_Choisis.filter(filtre => filtre.type !== 'date') this.filtres_Choisis = this.filtres_Choisis.filter(filtre => filtre.type !== 'date')
}, },
/**
* @vuese
* Permet de détecter un éventuel doublon dans les filtres (ce qu'on veut éviter)
*/
filtreDejaPresent: function(nomFiltre) { filtreDejaPresent: function(nomFiltre) {
return this.filtres_Choisis.filter(filtre => filtre.filtre === nomFiltre).length > 0 return this.filtres_Choisis.filter(filtre => filtre.filtre === nomFiltre).length > 0
} }
}, },
watch: { watch: {
/**
* @vuese
* Fonction de traitement dès qu'on réceptionne un nouveau filtre
*/
nouveau_filtre: function(newVal) { // watch it nouveau_filtre: function(newVal) { // watch it
if (this.filtres_Choisis.length > 0){ if (this.filtres_Choisis.length > 0){
if (this.filtreDejaPresent(newVal.filtre.filtre)){ if (this.filtreDejaPresent(newVal.filtre.filtre)){
...@@ -46,6 +70,7 @@ export default { ...@@ -46,6 +70,7 @@ export default {
} }
} }
this.filtres_Choisis.push(newVal.filtre) this.filtres_Choisis.push(newVal.filtre)
// si les écueils ci dessus sont évités, on ajoute le filtre et on envoie l'array maj à Volet_Base, qui gère l'affichage des contenus
this.$emit("filtresChoisis", {filtres: this.filtres_Choisis}) this.$emit("filtresChoisis", {filtres: this.filtres_Choisis})
} }
......
<template> <template>
<div > <div >
<p id="modifTitre"> Modification du contenu </p> <p id="modifTitre"> Modification du contenu </p>
<div class="mavonEditor"> <div class="mavonEditor">
<mavon-editor :language="'fr'" style="min-height: 700px" v-model="contenu"/> <mavon-editor :language="'fr'" style="min-height: 700px" v-model="contenu"/>
</div> </div>
<div class="markdown"> <div class="markdown">
<br> <br>
<button id="validerModif" v-on:click="action('valider')">modifier </button> <button id="validerModif" v-on:click="action('valider')">modifier </button>
<button v-on:click="action('arriere')"> revenir en arrière</button> <button v-on:click="action('arriere')"> revenir en arrière</button>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: "Modifier_Contenu", name: "Modifier_Contenu",
props: ['texteDuContenu', 'auteur', 'contenuCliqueProvenance'], props: {
// le texte du contenu cliqué
texteDuContenu: {},
// l'auteur qui effectue la modification (l'auteur du contenu en cours)
auteur: {},
// la provenance (perso, tiers, en-cours)
contenuCliqueProvenance: {}
},
data: function () { data: function () {
return { return {
contenu: '' contenu: ''
} }
}, },
methods: { methods: {
/**
* @vuese
* Gestion de l'action choisie par l'utilisateur : soit valider une modification de l'intérieur du contenu, soit revenir en arrière
*/
action: function (actionChoisie) { action: function (actionChoisie) {
if (actionChoisie === 'valider'){ if (actionChoisie === 'valider'){
this.$emit("choixModif", {action: actionChoisie, nouveauTexte: this.contenu}) // evenement de modification du texte d'un contenu
// @arg l'action choisie, ici 'valider'
// @arg le texte modifié
this.$emit("choixModif", {action: actionChoisie, nouveauTexte: this.contenu})
} else { } else {
// evenement de retour en arrière vers Consulter_COntenu
// @arg l'action choisie, ici 'arriere'
this.$emit("choixModif", {action: actionChoisie}) this.$emit("choixModif", {action: actionChoisie})
} }
// Modification du contenu en cours (au niveau de l'intérieur du fichier) }
}
}, },
watch: { watch: {
/**
* @vuese
* Permet de changer le texte du contenu à chaque fois qu'un contenu est cliqué en 'mode modification'
*/
texteDuContenu: function () { texteDuContenu: function () {
this.contenu = this.texteDuContenu this.contenu = this.texteDuContenu
} }
}, },
} }
/* this.panierChoisi = true
if (this.contenuCliqueProvenance !== 'en-cours'){
data = {auteur: this.auteur, id_contenu: JSON.stringify(event.contenu._id), version: event.contenu.versionEnCours["numero"]}
Service.creerEnCours(data).then(
function () {
that.contenusDuPanier()
}
)
}*/
</script> </script>
<style scoped> <style scoped>
......
...@@ -121,7 +121,14 @@ export default { ...@@ -121,7 +121,14 @@ export default {
Volet_Contenu, Volet_Contenu,
Consulter_Contenu Consulter_Contenu
}, },
props: ['auteur', 'contenuAjoute', 'nvoContenu'], props: {
// L'auteur connecté
auteur: {},
// Permet de stocker un contenu ajouté
contenuAjoute: {},
// Permet de stocker un 'nouveau contenu' ajouté
nvoContenu: {}
},
data: function () { data: function () {
return { return {
isActif: true, isActif: true,
...@@ -150,32 +157,54 @@ export default { ...@@ -150,32 +157,54 @@ export default {
} }
}, },
computed:{ computed:{
/**
* @vuese
* Permet de ne pas afficher les contenus en cours ayant fait l'objet d'une demande de publication
*/
filterContenu: function () { filterContenu: function () {
return this.contenus.filter(item => item.isPublie !== 'oui') return this.contenus.filter(item => item.isPublie !== 'oui')
} }
}, },
watch: { watch: {
/**
* @vuese
* Dès que l'auteur est connu, on charge tous les contenus auxquels il pourrait s'intéresser
*/
auteur: function () { auteur: function () {
this.contenusDuPanier() this.contenusDuPanier()
this.contenusDeLaBanque() this.contenusDeLaBanque()
}, },
/**
* @vuese
* Mise à jour de l'array des contenus en cas de création de contenu
*/
contenuAjoute: function(){ contenuAjoute: function(){
this.contenus.push(this.contenuAjoute) this.contenus.push(this.contenuAjoute)
}, },
/**
* @vuese
* Mise à jour de l'array des contenus en cas de création de 'nouveau contenu' (sur les cendres d'une demande de publication refusée)
*/
nvoContenu: function () { nvoContenu: function () {
// Fonction retour du menu des maj // Fonction retour du menu des maj
this.contenus.push(this.nvoContenu) this.contenus.push(this.nvoContenu)
} }
}, },
mounted() { mounted() {
/**
* @vuese
* Permet de rendre le volet latéral bougeable à la souris
*/
this.modeConsultation = false this.modeConsultation = false
$('#ensemble').draggable() $('#ensemble').draggable()
}, },
methods: { methods: {
/**
* @vuese
* Charger les contenus du panier de l'auteur connecté
*/
contenusDuPanier: function(){ contenusDuPanier: function(){
let that = this let that = this
// Dès que l'auteur est connu, on charge tous ses contenus // Dès que l'auteur est connu, on charge tous ses contenus
...@@ -185,6 +214,10 @@ export default { ...@@ -185,6 +214,10 @@ export default {
that.contenus = that.contenusTotal that.contenus = that.contenusTotal
}) })
}, },
/**
* @vuese
* Charger les contenus de la banque (adaptés à l'auteur connecté)
*/
contenusDeLaBanque: function(){ contenusDeLaBanque: function(){
let that = this let that = this
...@@ -193,20 +226,40 @@ export default { ...@@ -193,20 +226,40 @@ export default {
that.contenusbanque = that.contenusTotalBanque that.contenusbanque = that.contenusTotalBanque
}) })
}, },
/**
* @vuese
* Masquer ou afficher le volet latéral
*/
desactiverVolet: function () { desactiverVolet: function () {
this.isActif = !this.isActif this.isActif = !this.isActif
}, },
/**
* @vuese
* Bascule entre le mode panier et le mode banque
*/
ajusterMode: function () { ajusterMode: function () {
this.panierChoisi = !this.panierChoisi this.panierChoisi = !this.panierChoisi
this.checkes = [] this.checkes = []
}, },
/**
* @vuese
* Passer le filtre choisi (pour Volet_Contenu)
*/
passerFiltre: function(event){ passerFiltre: function(event){
this.filtre_choisi = event.filtre this.filtre_choisi = event.filtre
}, },
/**
* @vuese
* Changer variante (à destination du composant Menu)
*/
changerVariante: function (){ changerVariante: function (){
this.variante = ! this.variante this.variante = ! this.variante
this.$emit("choix_variante", {variante: this.variante}) this.$emit("choix_variante", {variante: this.variante})
}, },
/**
* @vuese
* Supprimer des contenus ou mettre des contenus en tiers
*/
supprimerContenus: function () { supprimerContenus: function () {
let that = this let that = this
...@@ -259,19 +312,37 @@ export default { ...@@ -259,19 +312,37 @@ export default {
this.checkes = [] this.checkes = []
$(".horns").prop( "checked", false ); $(".horns").prop( "checked", false );
}, },
/**
* @vuese
* Evenement pour lancer le composant de création de contenu
*/
ajouterContenu: function () { ajouterContenu: function () {
// Evenement pour lancer le composant de création de contenu
this.$emit("newContenu") this.$emit("newContenu")
}, },
/**
* @vuese
* Charger un contenu (dans Consulter_COntenu)
*/
chargerContenu: function (item, provenance){ chargerContenu: function (item, provenance){
this.panierChoisi = false this.panierChoisi = false
this.modeConsultation = true this.modeConsultation = true
this.contenuClique = item this.contenuClique = item
this.contenuCliqueProvenance = provenance this.contenuCliqueProvenance = provenance
}, },
/**
* @vuese
* Retour de Consulter_Contenu à Volet_Base
*/
retourArriere: function (event) { retourArriere: function (event) {
this.modeConsultation = false this.modeConsultation = false
this.panierChoisi = event.panierChoisi this.panierChoisi = event.panierChoisi
}, },
/**
* @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
*/
actionContenu: function (event) { actionContenu: function (event) {
this.modeConsultation = false this.modeConsultation = false
let data = {} let data = {}
...@@ -349,6 +420,10 @@ export default { ...@@ -349,6 +420,10 @@ export default {
break break
} }
}, },
/**
* @vuese
* Sauvegarde des éléments cochés. Pour suppression (en mode banque) ou mise en tiers (en mode
*/
ajouterCoche: function (idContenu, provenance) { ajouterCoche: function (idContenu, provenance) {
let existant = false let existant = false
for (let i = 0; i < this.checkes.length; i++){ for (let i = 0; i < this.checkes.length; i++){
...@@ -365,6 +440,10 @@ export default { ...@@ -365,6 +440,10 @@ export default {
this.checkes.push([idContenu, provenance]) this.checkes.push([idContenu, provenance])
} }
}, },
/**
* @vuese
* Récupération du texte d'un contenu
*/
rechercherTexte: function (id, provenance) { rechercherTexte: function (id, provenance) {
let that = this let that = this
...@@ -400,6 +479,10 @@ export default { ...@@ -400,6 +479,10 @@ export default {
) )
} }
}, },
/**
* @vuese
* Retour du composant Modifier_Contenu : soit retour direct, soit modification du contenu à faire
*/
choixModif: function (event) { choixModif: function (event) {
this.modeModification = false this.modeModification = false
this.panierChoisi = true this.panierChoisi = true
...@@ -424,6 +507,10 @@ export default { ...@@ -424,6 +507,10 @@ export default {
} }
}, },
/**
* @vuese
* Application des filtres choisis au contenu affiché (mode Banque et Panier)
*/
filtresChoisis(event) { filtresChoisis(event) {
let contenusFiltres = [] let contenusFiltres = []
// on récupère les contenus à filtrer // on récupère les contenus à filtrer
......
...@@ -24,19 +24,43 @@ export default { ...@@ -24,19 +24,43 @@ export default {
Detail_Filtre, Detail_Filtre,
Detail_Contenu, Detail_Contenu,
}, },
props: ['filtre_choisi', 'variante', 'auteur'], props: {
// variable de stockage du filtre choisi, à destination de Detail_Contenu
filtre_choisi: {},
// Variable de stocka de l'affichage ou non de la variante du menu Banque / Panier
variante: {},
// Stockage de l'auteur connecté
auteur:{}
},
methods: { methods: {
/**
* @vuese
* Transmission du mode choisi (banque/panier) à destination de Volet Base
*/
ajusterMode: function (event) { ajusterMode: function (event) {
this.panierChoisi = event.mode this.panierChoisi = event.mode
// on 'passe' le mode choisi à Bolet_Base
// @arg le mode choisi
this.$emit("mode_choisi", {mode: event.mode}) this.$emit("mode_choisi", {mode: event.mode})
}, },
/**
* @vuese
* On récupère un filtre créé que l'on met dans une variable, a destination de Detail_Filtre
*/
creer_filtre: function (event) { creer_filtre: function (event) {
this.nouveau_filtre = event this.nouveau_filtre = event
}, },
/**
* @vuese
* Transmission des filtres choisis (banque/panier) à destination de Volet Base
*/
filtresChoisis: function (event) { filtresChoisis: function (event) {
// on 'passe' les filtres choisis à Bolet_Base
// @arg les filtres choisis
this.$emit("filtresChoisis", {filtres: event.filtres}) this.$emit("filtresChoisis", {filtres: event.filtres})
} }
......
...@@ -17,17 +17,31 @@ export default { ...@@ -17,17 +17,31 @@ export default {
Barre_Recherche, Barre_Recherche,
Barre_Filtre Barre_Filtre
}, },
props: ['panierChoisi'], props: {
// Variable permettant de déterminer si on est en mode panier ou en mode banque
panierChoisi: {}
},
data: function () { data: function () {
return { return {
modeFiltre: true modeFiltre: true
} }
}, },
methods: { methods: {
/**
* @vuese
* Permet de basculer du mode filtre au mode recherche, dans le volet latéral.
*/
changerModeMenu: function (){ changerModeMenu: function (){
this.modeFiltre = !this.modeFiltre this.modeFiltre = !this.modeFiltre
}, },
/**
* @vuese
* Transmission de la catégorie du filtre choisi à Volet_Base
*/
passerFiltre: function(event){ passerFiltre: function(event){
// récupère l'event de la catégorie du filtre choisi et le transmet à VOlet_Base
// @arg la catégorie du filtre choisi
this.$emit("filtre_choisi", {filtre: event.filtre}) this.$emit("filtre_choisi", {filtre: event.filtre})
} }
}, },
......
# Barre_Filtre
## Props
<!-- @vuese:Barre_Filtre:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|panierChoisi|Variable indicative du fait de savoir si le mode panier est activé ou pas (change l'affichage des filtres disponibles)|`Boolean`|`false`|-|
<!-- @vuese:Barre_Filtre:props:end -->
## Events
<!-- @vuese:Barre_Filtre:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|filtre_choisi|dès qu'un filtre est choisi|Le nom du filtre choisi|
<!-- @vuese:Barre_Filtre:events:end -->
## Methods
<!-- @vuese:Barre_Filtre:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|a|Renvoie le filtre choisi au composant Volet_Menu|-|
<!-- @vuese:Barre_Filtre:methods:end -->
# Choix_Mode
## Events
<!-- @vuese:Choix_Mode:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|mode_choisi|dès qu'un filtre est choisi|True si le mode panier est actif, False sinon|
<!-- @vuese:Choix_Mode:events:end -->
## Methods
<!-- @vuese:Choix_Mode:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|changerChoix|Permet de basculer entre le 'mode panier' et le 'mode banque'|-|
<!-- @vuese:Choix_Mode:methods:end -->
# Choix_Mode_Variante
## Events
<!-- @vuese:Choix_Mode_Variante:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|mode_choisi|dès qu'un filtre est choisi|True si le mode panier est actif, False sinon|
<!-- @vuese:Choix_Mode_Variante:events:end -->
## Methods
<!-- @vuese:Choix_Mode_Variante:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|changerChoix|Permet de basculer entre le 'mode panier' et le 'mode banque', mais dans l'état variante (menu détaché du volet latéral)|-|
<!-- @vuese:Choix_Mode_Variante:methods:end -->
# Consulter_Contenu
## Props
<!-- @vuese:Consulter_Contenu:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|contenuClique|Le contenu cliqué|—|`false`|-|
|contenuCliqueProvenance|La provenance du contenu cliqué (perso / tiers / en-cours / banque)|—|`false`|-|
|auteur|L'auteur du contenu cliqué|—|`false`|-|
<!-- @vuese:Consulter_Contenu:props:end -->
## Events
<!-- @vuese:Consulter_Contenu:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|actionContenu|Dès qu'une action est sélectionnée, la renvoie à Volet_Base|action l'action choisie contenu le contenu cliqué le texte associé au contenu (sert potentiellement à rien)|
|retour_arriere|Permet de revenir au Menu des Maj|-|
<!-- @vuese:Consulter_Contenu:events:end -->
## Methods
<!-- @vuese:Consulter_Contenu:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|formatterMarkdown|Permet de convertir le markdown d'un contenu en du html lisible|-|
|actionContenu|Permet de renvoyer l'action choisie au composant Volet_Base pour traitement|-|
|revenirArriere|Permet de revenir au composant Volet_Base ou au menu des Maj|-|
|changerVersion|Permet de charger une version spécifique du texte d'un contenu|-|
<!-- @vuese:Consulter_Contenu:methods:end -->
## Watch
<!-- @vuese:Consulter_Contenu:watch:start -->
|Name|Description|Parameters|
|---|---|---|
|contenuClique|Dès qu'un contenu est cliqué, permet d'en récupérer l'intérieur|-|
<!-- @vuese:Consulter_Contenu:watch:end -->
# Contenu
## Props
<!-- @vuese:Contenu:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|auteur|L'auteur connecté|—|`false`|-|
|contenuAjoute|Variable contenant un contenu ajouté, à destination de Volet_Base|—|`false`|-|
|nvoContenu|Variable contenant un "nouveau contenu", créé à partir d'une demande de publication, à destination de Volet_Base|—|`false`|-|
<!-- @vuese:Contenu:props:end -->
## Events
<!-- @vuese:Contenu:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|choix_variante|Transmission du booléen concernant la variante|True si variante active, False sinon|
|newContenu|Evenement à destination de Volet_Base|-|
<!-- @vuese:Contenu:events:end -->
## Methods
<!-- @vuese:Contenu:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|choixVariante|Transmission du choix concernant la variante (à destination du composant Menu)|-|
|newContenu|Transmission de l'information concernant la création d'un nouveau contenu|-|
<!-- @vuese:Contenu:methods:end -->
# Detail_Contenu
## Props
<!-- @vuese:Detail_Contenu:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|filtre_choisi|-|—|`false`|-|
|auteur|-|—|`false`|-|
|panierChoisi|-|—|`false`|-|
<!-- @vuese:Detail_Contenu:props:end -->
## Events
<!-- @vuese:Detail_Contenu:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|creer_filtre|Transmet la création d'un filtre|filtre le filtre créé|
<!-- @vuese:Detail_Contenu:events:end -->
## Methods
<!-- @vuese:Detail_Contenu:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|creer_filtre|Chaine de transmission d'un filtre créé|-|
<!-- @vuese:Detail_Contenu:methods:end -->
# Detail_Filtre
## Props
<!-- @vuese:Detail_Filtre:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|nouveau_filtre|Variable de stockage des nouveaux filtres|—|`false`|-|
<!-- @vuese:Detail_Filtre:props:end -->
## Events
<!-- @vuese:Detail_Filtre:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|filtresChoisis|On transmet la liste des filtres maj (à destination finale de Volet_Base, pour mise à jour des contenus)|-|
<!-- @vuese:Detail_Filtre:events:end -->
## Methods
<!-- @vuese:Detail_Filtre:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|supprimer|Supprimer un filtre (en l'enlevant de l'array filtres_choisis)|-|
|effacer_Filtres|Dégage tous les filtres choisis|-|
|changer_filtre_date|Le filtre date n'étant présent (au maximum) qu'en un seul exemplaire à chaque fois, une fonction pour le supprimer de la liste (pour le remettre par la suite)|-|
|filtreDejaPresent|Permet de détecter un éventuel doublon dans les filtres (ce qu'on veut éviter)|-|
<!-- @vuese:Detail_Filtre:methods:end -->
## Watch
<!-- @vuese:Detail_Filtre:watch:start -->
|Name|Description|Parameters|
|---|---|---|
|nouveau_filtre|Fonction de traitement dès qu'on réceptionne un nouveau filtre|-|
<!-- @vuese:Detail_Filtre:watch:end -->
# Filtre_Auteur
## Props
<!-- @vuese:Filtre_Auteur:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|auteur|-|—|`false`|-|
|panierChoisi|-|—|`false`|-|
<!-- @vuese:Filtre_Auteur:props:end -->
## Events
<!-- @vuese:Filtre_Auteur:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|creer_filtre|alert(this.auteur)|-|
<!-- @vuese:Filtre_Auteur:events:end -->
# Filtre_Date
## Events
<!-- @vuese:Filtre_Date:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|creer_filtre|-|-|
<!-- @vuese:Filtre_Date:events:end -->
# Filtre_Tag
import $ from 'jquery'
## Props
<!-- @vuese:Filtre_Tag:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|filtreChoisi|-|—|`false`|-|
<!-- @vuese:Filtre_Tag:props:end -->
## Events
<!-- @vuese:Filtre_Tag:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|creer_filtre|alert(e.target.text()) alert("Je veux mettre" + e.target.innerText + "en filtre")|-|
<!-- @vuese:Filtre_Tag:events:end -->
# Filtre_Type_Source
## Events
<!-- @vuese:Filtre_Type_Source:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|creer_filtre|-|-|
<!-- @vuese:Filtre_Type_Source:events:end -->
# Index.vue
import showdown from "showdown"
## Methods
<!-- @vuese:Index.vue:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|setLogged|Changement de l'affichage si l'authentification de l'utilsateur est validée|-|
|changerPage|Récupération d'un click sur le menu 'auteur' (en haut à droite)|-|
|choixVariante|Récupération du booléen lié à la variante pour passage au composant Maj|-|
|newContenu|Changement de l'affichage pour passer en mode de création de contenu|-|
|ajouterUnContenu|Récupération d'un contenu ajotué à destination de Volet_Base|-|
|retourArriere|Changement de l'affichage pour passer en mode contenu (le mode principal de l'application)|-|
|recalculerNotification|Booléen permettant de redéclencher l'affichage de l'icone de notification de maj|-|
|majNvoContenu|Passage d'information concernant la maj d'un contenu|-|
<!-- @vuese:Index.vue:methods:end -->
# Login
## Events
<!-- @vuese:Login:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|user_logged|-|-|
<!-- @vuese:Login:events:end -->
## Methods
<!-- @vuese:Login:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|keymonitor|Appel au WS pour tester la validité de la saisie mdp/login de l'utilisateur|-|
<!-- @vuese:Login:methods:end -->
# Maj
## Props
<!-- @vuese:Maj:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|contenuEnPublication|-|—|`false`|-|
|auteur|-|—|`false`|-|
|isRecu|-|—|`false`|-|
|isPropose|-|—|`false`|-|
<!-- @vuese:Maj:props:end -->
## Events
<!-- @vuese:Maj:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|majNvoContenu|-|-|
|recalculerNotif|évènement pour recalculer les notifications de l'auteur en cours (et potentiellement faire disparaitre l'icone)|-|
<!-- @vuese:Maj:events:end -->
## Methods
<!-- @vuese:Maj:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|naviguer|Navigation ascendante et descendante dans les sous arborescences des tags|-|
|conserver|Conservation du contenu en cours, qui passe en mode 'refusé', après refus d'une demande de publication|-|
|creerNouveau|Création d'un nouveau contenu après refus d'une demande de publication|-|
|supprimer|Suppression d'une demande de publication acceptée ou refusée|-|
|gererPublication|Gestion d'une réponse à une demande de publication recue.|reponse = 'o' ou 'n' selon le choix de l'auteur d'origine|
|publicationsRecues|Récupération des publications recues (perso et tiers)|-|
|publicationsProposees|Récupération des publications proposées par l'auteur|-|
|consulterContenuMaj|Consulter le contenu cliqué en détail|-|
|retourArriere|Gestion du retour de Consulter_Contenu|-|
|rechercherTexte|Récupération et mise en forme du texte associé au contenu|-|
<!-- @vuese:Maj:methods:end -->
## Watch
<!-- @vuese:Maj:watch:start -->
|Name|Description|Parameters|
|---|---|---|
|auteur|appel initial au WS pour récupérer les demandes de publication|-|
<!-- @vuese:Maj:watch:end -->
# Menu
## Props
<!-- @vuese:Menu:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|etat|Permet de déterminer si on est dans le mode mise à jour ou pas|—|`false`|-|
|variante|Booléen pour savoir si la variante du menu Banque/Panier est active ou pas|—|`false`|-|
|auteur|Auteur connecté|—|`false`|-|
|recalculerNotif|Booléen permettant le recalcul des notifications|—|`false`|-|
<!-- @vuese:Menu:props:end -->
## Events
<!-- @vuese:Menu:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|menu_choisi|-|-|
<!-- @vuese:Menu:events:end -->
## Methods
<!-- @vuese:Menu:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|choixMenuAnnexe|Gestion du clic sur un des éléments du menu 'auteur' (en haut à droite)|-|
|evaluations|Gestion du clic sur le menu des évaluations. Sera, a terme, intégré dans choisMenuAnnexe.|-|
|choixIconeNotification|Gestion du clic sur l'icone de notification|-|
|publicationsRecues|Fonction de calcul de présence de notification dans le cadre des mises à jour recues (de contenu perso ou de contenu tiers)|-|
|publicationsProposees|Fonction de calcul de présence de notification dans le cadre des mises à jour proposées (dont l'état n'est plus en cours)|-|
|majTiers|(A construire) Fonction de calcul du nombre de maj tiers disponibles|-|
<!-- @vuese:Menu:methods:end -->
## Watch
<!-- @vuese:Menu:watch:start -->
|Name|Description|Parameters|
|---|---|---|
|auteur|Dès que l'auteur est trasmis à cette page, on calcule ses opportunités de maj et on configure la notification en fonction|-|
|recalculerNotif|Recalcul des opportunités de maj et on configure la notification en fonction après action dans le menu maj (fonctionne actuellement pas)|-|
<!-- @vuese:Menu:watch:end -->
# Modifier_Contenu
## Props
<!-- @vuese:Modifier_Contenu:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|texteDuContenu|le texte du contenu cliqué|—|`false`|-|
|auteur|l'auteur qui effectue la modification (l'auteur du contenu en cours)|—|`false`|-|
|contenuCliqueProvenance|la provenance (perso, tiers, en-cours)|—|`false`|-|
<!-- @vuese:Modifier_Contenu:props:end -->
## Events
<!-- @vuese:Modifier_Contenu:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|choixModif|evenement de modification du texte d'un contenu|l'action choisie, ici 'valider' le texte modifié|
<!-- @vuese:Modifier_Contenu:events:end -->
## Methods
<!-- @vuese:Modifier_Contenu:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|action|Gestion de l'action choisie par l'utilisateur : soit valider une modification de l'intérieur du contenu, soit revenir en arrière|-|
<!-- @vuese:Modifier_Contenu:methods:end -->
## Watch
<!-- @vuese:Modifier_Contenu:watch:start -->
|Name|Description|Parameters|
|---|---|---|
|texteDuContenu|Permet de changer le texte du contenu à chaque fois qu'un contenu est cliqué en 'mode modification'|-|
<!-- @vuese:Modifier_Contenu:watch:end -->
# NewContenu
## Props
<!-- @vuese:NewContenu:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|auteur|l'auteur connecté|—|`false`|-|
<!-- @vuese:NewContenu:props:end -->
## Events
<!-- @vuese:NewContenu:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|contenuAjoute|-|-|
|retourArriere|evenement pour retourner vers le volet Contenu_Base|-|
<!-- @vuese:NewContenu:events:end -->
## Methods
<!-- @vuese:NewContenu:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|retourArriere|(A construire) Fonction de changement du mot de passe utilisateur|-|
<!-- @vuese:NewContenu:methods:end -->
# Profil
## Methods
<!-- @vuese:Profil:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|validerChangement|/!* Activation / Désactivation du mode édition *!/ modeEdition: function () { this.editMode = ! this.editMode }, (A construire) Fonction de changement du mot de passe|-|
<!-- @vuese:Profil:methods:end -->
# Volet_Base
## Props
<!-- @vuese:Volet_Base:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|auteur|L'auteur connecté|—|`false`|-|
|contenuAjoute|Permet de stocker un contenu ajouté|—|`false`|-|
|nvoContenu|Permet de stocker un 'nouveau contenu' ajouté|—|`false`|-|
<!-- @vuese:Volet_Base:props:end -->
## Events
<!-- @vuese:Volet_Base:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|choix_variante|-|-|
|newContenu|Evenement pour lancer le composant de création de contenu|-|
<!-- @vuese:Volet_Base:events:end -->
## Methods
<!-- @vuese:Volet_Base:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|contenusDuPanier|Charger les contenus du panier de l'auteur connecté|-|
|contenusDeLaBanque|Charger les contenus de la banque (adaptés à l'auteur connecté)|-|
|desactiverVolet|Masquer ou afficher le volet latéral|-|
|ajusterMode|Bascule entre le mode panier et le mode banque|-|
|passerFiltre|Passer le filtre choisi (pour Volet_Contenu)|-|
|changerVariante|Changer variante (à destination du composant Menu)|-|
|supprimerContenus|Supprimer des contenus ou mettre des contenus en tiers|-|
|ajouterContenu|Evenement pour lancer le composant de création de contenu|-|
|chargerContenu|Charger un contenu (dans Consulter_COntenu)|-|
|retourArriere|Retour de Consulter_Contenu à Volet_Base|-|
|actionContenu|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|-|
|ajouterCoche|Sauvegarde des éléments cochés. Pour suppression (en mode banque) ou mise en tiers (en mode|-|
|rechercherTexte|Récupération du texte d'un contenu|-|
|choixModif|Retour du composant Modifier_Contenu : soit retour direct, soit modification du contenu à faire|-|
|filtresChoisis|Application des filtres choisis au contenu affiché (mode Banque et Panier)|-|
<!-- @vuese:Volet_Base:methods:end -->
## Computed
<!-- @vuese:Volet_Base:computed:start -->
|Computed|Type|Description|From Store|
|---|---|---|---|
|filterContenu|-|Permet de ne pas afficher les contenus en cours ayant fait l'objet d'une demande de publication|No|
<!-- @vuese:Volet_Base:computed:end -->
## Watch
<!-- @vuese:Volet_Base:watch:start -->
|Name|Description|Parameters|
|---|---|---|
|auteur|Dès que l'auteur est connu, on charge tous les contenus auxquels il pourrait s'intéresser|-|
|contenuAjoute|Mise à jour de l'array des contenus en cas de création de contenu|-|
|nvoContenu|Mise à jour de l'array des contenus en cas de création de 'nouveau contenu' (sur les cendres d'une demande de publication refusée)|-|
<!-- @vuese:Volet_Base:watch:end -->
# Volet_Contenu
## Props
<!-- @vuese:Volet_Contenu:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|filtre_choisi|variable de stockage du filtre choisi, à destination de Detail_Contenu|—|`false`|-|
|variante|Variable de stocka de l'affichage ou non de la variante du menu Banque / Panier|—|`false`|-|
|auteur|Stockage de l'auteur connecté|—|`false`|-|
<!-- @vuese:Volet_Contenu:props:end -->
## Events
<!-- @vuese:Volet_Contenu:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|mode_choisi|on 'passe' le mode choisi à Bolet_Base|le mode choisi|
|filtresChoisis|on 'passe' les filtres choisis à Bolet_Base|les filtres choisis|
<!-- @vuese:Volet_Contenu:events:end -->
## Methods
<!-- @vuese:Volet_Contenu:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|ajusterMode|Transmission du mode choisi (banque/panier) à destination de Volet Base|-|
|creer_filtre|On récupère un filtre créé que l'on met dans une variable, a destination de Detail_Filtre|-|
|filtresChoisis|Transmission des filtres choisis (banque/panier) à destination de Volet Base|-|
<!-- @vuese:Volet_Contenu:methods:end -->
# Volet_Menu
## Props
<!-- @vuese:Volet_Menu:props:start -->
|Name|Description|Type|Required|Default|
|---|---|---|---|---|
|panierChoisi|Variable permettant de déterminer si on est en mode panier ou en mode banque|—|`false`|-|
<!-- @vuese:Volet_Menu:props:end -->
## Events
<!-- @vuese:Volet_Menu:events:start -->
|Event Name|Description|Parameters|
|---|---|---|
|filtre_choisi|récupère l'event de la catégorie du filtre choisi et le transmet à VOlet_Base|la catégorie du filtre choisi|
<!-- @vuese:Volet_Menu:events:end -->
## Methods
<!-- @vuese:Volet_Menu:methods:start -->
|Method|Description|Parameters|
|---|---|---|
|changerModeMenu|Permet de basculer du mode filtre au mode recherche, dans le volet latéral.|-|
|passerFiltre|Transmission de la catégorie du filtre choisi à Volet_Base|-|
<!-- @vuese:Volet_Menu:methods:end -->
<!DOCTYPE>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Components</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docute@4/dist/docute.css">
</head>
<body>
<div id="docute"></div>
<script src="https://cdn.jsdelivr.net/npm/docute@4/dist/docute.js"></script>
<script>
new Docute({
target: '#docute',
sidebar: JSON.parse('[{&#34;title&#34;:&#34;BASIC&#34;,&#34;links&#34;:[{&#34;title&#34;:&#34;Barre_Filtre&#34;,&#34;link&#34;:&#34;/components/Barre_Filtre&#34;},{&#34;title&#34;:&#34;Choix_Mode&#34;,&#34;link&#34;:&#34;/components/Choix_Mode&#34;},{&#34;title&#34;:&#34;Choix_Mode_Variante&#34;,&#34;link&#34;:&#34;/components/Choix_Mode_Variante&#34;},{&#34;title&#34;:&#34;Consulter_Contenu&#34;,&#34;link&#34;:&#34;/components/Consulter_Contenu&#34;},{&#34;title&#34;:&#34;Contenu&#34;,&#34;link&#34;:&#34;/components/Contenu&#34;},{&#34;title&#34;:&#34;Detail_Contenu&#34;,&#34;link&#34;:&#34;/components/Detail_Contenu&#34;},{&#34;title&#34;:&#34;Detail_Filtre&#34;,&#34;link&#34;:&#34;/components/Detail_Filtre&#34;},{&#34;title&#34;:&#34;Filtre_Auteur&#34;,&#34;link&#34;:&#34;/components/Filtre_Auteur&#34;},{&#34;title&#34;:&#34;Filtre_Date&#34;,&#34;link&#34;:&#34;/components/Filtre_Date&#34;},{&#34;title&#34;:&#34;Filtre_Tag&#34;,&#34;link&#34;:&#34;/components/Filtre_Tag&#34;},{&#34;title&#34;:&#34;Filtre_Type_Source&#34;,&#34;link&#34;:&#34;/components/Filtre_Type_Source&#34;},{&#34;title&#34;:&#34;Index.vue&#34;,&#34;link&#34;:&#34;/components/Index.vue&#34;},{&#34;title&#34;:&#34;Login&#34;,&#34;link&#34;:&#34;/components/Login&#34;},{&#34;title&#34;:&#34;Maj&#34;,&#34;link&#34;:&#34;/components/Maj&#34;},{&#34;title&#34;:&#34;Menu&#34;,&#34;link&#34;:&#34;/components/Menu&#34;},{&#34;title&#34;:&#34;Modifier_Contenu&#34;,&#34;link&#34;:&#34;/components/Modifier_Contenu&#34;},{&#34;title&#34;:&#34;NewContenu&#34;,&#34;link&#34;:&#34;/components/NewContenu&#34;},{&#34;title&#34;:&#34;Profil&#34;,&#34;link&#34;:&#34;/components/Profil&#34;},{&#34;title&#34;:&#34;Volet_Base&#34;,&#34;link&#34;:&#34;/components/Volet_Base&#34;},{&#34;title&#34;:&#34;Volet_Contenu&#34;,&#34;link&#34;:&#34;/components/Volet_Contenu&#34;},{&#34;title&#34;:&#34;Volet_Menu&#34;,&#34;link&#34;:&#34;/components/Volet_Menu&#34;}]}]'.replace(/\&\#34\;/g, '"'))
})
</script>
</body>
</html>
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