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

Ajout de la variante du menu

parent e12ea175
<template> <template>
<div id="app"> <div id="app">
<Volet_Base/> <Volet_Base @choix_variante="choixVariante"/>
</div> </div>
</template> </template>
<script> <script>
import Volet_Base from "@/components/Volet_Base"; import Volet_Base from "@/components/Volet_Base";
export default { export default {
name: 'App', name: 'Contenu',
components: { components: {
Volet_Base Volet_Base
}, },
methods: {
choixVariante: function (event) {
this.$emit("choix_variante", {variante: event.variante})
}
}
} }
</script> </script>
......
<template> <template>
<div> <div>
<Login v-show="!userLogged" @user_logged="setLogged"></Login> <Login v-show="etat === 'unlogged'" @user_logged="setLogged"></Login>
<App v-show="userLogged" ></App> <Menu v-show="etat !== 'unlogged'" v-bind:etat="etat" v-bind:variante="variante" @menu_choisi="changerPage"></Menu>
<Contenu v-show="etat === 'Contenu'" @choix_variante="choixVariante"></Contenu>
<Maj v-show="etat === 'Mises à jour'" ></Maj>
<Profil v-show="etat === 'Profil'" ></Profil>
<Tags v-show="etat === 'Tags'" ></Tags>
</div>
</div>
</template> </template>
<script> <script>
import Login from "@/Login"; import Login from "@/Login";
import App from "@/App"; import Contenu from "@/Contenu";
import Menu from "@/Menu";
import Maj from "@/Maj";
import Profil from "@/Profil";
import Tags from "@/Tags";
export default { export default {
name: "Index.vue", name: "Index.vue",
data: function () { data: function () {
return { return {
userLogged: false etat: "unlogged",
variante: false
} }
}, },
methods: { methods: {
setLogged: function () { setLogged: function () {
//this.$cookies.set("isLogged", true) //this.$cookies.set("isLogged", true)
this.userLogged = true this.etat = "Contenu"
},
changerPage: function (event) {
if (event.choix === "Deconnexion")
this.etat = "unlogged"
else
this.etat = event.choix
},
choixVariante: function (event) {
this.variante = event.variante
} }
}, },
created() {
//this.userLogged = this.$cookies.get("isLogged")
},
components:{ components:{
Login, Login,
App Contenu,
Menu,
Maj,
Profil,
Tags
} }
} }
</script> </script>
......
<template> <template>
<div> <div id="loginForm">
<form>
<label for="identifiant">Identifiant</label> <label for="identifiant">Identifiant</label>
<br> <br>
<input type="text" id="identifiant" placeholder="identifiant" v-model="login" required="required"> <input type="text" id="identifiant" placeholder="identifiant" v-model="login" >
<br> <br>
<br> <br>
<label for="motdepasse">Mot de Passe</label> <label for="motdepasse">Mot de Passe</label>
<br> <br>
<input type="password" id="motdepasse" placeholder="mot de passe" v-model="password" required="required"> <input type="password" id="motdepasse" placeholder="mot de passe" v-model="password">
<br> <br>
<br> <br>
<button value="connexion" @click.prevent="logIn"/> <button @click.prevent="logIn">Connexion</button>
</form>
</div> </div>
</template> </template>
...@@ -42,16 +40,23 @@ export default { ...@@ -42,16 +40,23 @@ export default {
</script> </script>
<style scoped> <style scoped>
form { #loginForm {
width : 1000px; width : 1000px;
text-align: center; text-align: center;
align-content: center; align-content: center;
margin: 20% auto 0; margin: 20% auto 0;
} }
input.text, input.password{ input{
width: 350px; width: 350px;
text-align: center; text-align: center;
} }
button {
height: 20px;
width: auto;
text-align: center;
}
</style> </style>
\ No newline at end of file
<template>
<div>
Maj
</div>
</template>
<script>
export default {
name: "Maj"
}
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div id="menuHaut">
<Choix_Mode_Variante class="menuVariante" v-show="variante"></Choix_Mode_Variante>
<div class="circle" v-on:click="isAffiche = !isAffiche" v-bind:style="[!variante ? {'margin-left': '95%'} : {'margin-left': '36.75%'}]">
Auteur 1
</div>
<div class="menu" v-show="isAffiche">
<div class="sous_menu" v-on:click="choixMenuAnnexe">Profil</div>
<div v-if="etat !== 'Mises à jour'" class="sous_menu" v-on:click="choixMenuAnnexe">Mises à jour</div>
<div v-else class="sous_menu" v-on:click="choixMenuAnnexe">Contenu</div>
<div class="sous_menu" v-on:click="choixMenuAnnexe">Tags</div>
<div class="sous_menu" v-on:click="choixMenuAnnexe">Deconnexion</div>
</div>
</div>
</template>
<script>
import Choix_Mode_Variante from "@/components/Choix_Mode_Variante";
export default {
name: "Menu",
data: function () {
return {
isAffiche: false,
}
},
props: ['etat', 'variante'],
methods: {
choixMenuAnnexe: function (e) {
this.$emit("menu_choisi", {choix: e.target.innerText})
}
},
components:{
Choix_Mode_Variante
}
}
</script>
<style scoped>
#menuHaut{
display: flex;
}
.circle {
background: gold;
border: 1px solid yellow;
margin-top: 1%;
border-radius: 50%;
display: flex; /* or inline-flex */
align-items: center;
justify-content: center;
height: 75px;
width: 75px;
}
.menuVariante{
margin-top: 1%;
margin-left: 45%;
z-index: 1;
}
.menu{
height: 150px;
width: 100px;
background: white;
border: thin solid black;
margin-top: 1px;
margin-left: 93.5%;
position: absolute;
display: flex;
flex-direction: column;
text-align: center;
vertical-align: middle;
z-index: 1;
}
.sous_menu{
flex-basis: 25%;
border: thin solid black;
line-height: 36px;
}
</style>
\ No newline at end of file
<template>
<div>
Profil
</div>
</template>
<script>
export default {
name: "Profil"
}
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div>
Tags
</div>
</template>
<script>
export default {
name: "Tags"
}
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div>
<div id = "choixDuMode" class="contenusPersos" v-on:click="changerChoix">
<div id = "contenusPanier" v-bind:class="{'clicked': contenuPanier, 'nonClicked': !contenuPanier}">
<p>Panier</p>
</div>
<div id = "contenusBanque" v-bind:class="{'clicked': !contenuPanier, 'nonClicked': contenuPanier}">
<p>Banque</p>
</div>
</div>
</div>
</template>
<script>
export default {
name: "Choix_Mode_Variante",
data: function () {
return {
contenuPanier: true,
}
},
methods: {
changerChoix: function () {
this.contenuPanier = !this.contenuPanier
this.$emit("mode_choisi", {mode: this.contenuPanier})
},
}
}
</script>
<style scoped>
#choixDuMode {
border: 1px solid black;
width: 250px;
display: flex;
}
#contenusPanier, #contenusBanque {
width: 125px;
text-align: center;
}
.nonClicked {
outline: 1px solid black;
}
.clicked {
outline: 5px solid yellow;
}
</style>
\ No newline at end of file
<template> <template>
<div>
<button id="changerVariante" v-on:click="changerVariante">changer</button>
<div id="ensemble"> <div id="ensemble">
<button id="boutonVolet" v-on:click="desactiverVolet"></button> <button id="boutonVolet" v-on:click="desactiverVolet"></button>
<div class="full" id="volet" v-show="isActif"> <div class="full" id="volet" v-show="isActif">
<Volet_Menu v-bind:mode-choisi = "modeChoisi" @filtre_choisi="passerFiltre"/> <Volet_Menu v-bind:mode-choisi = "modeChoisi" @filtre_choisi="passerFiltre"/>
<Volet_Choix @mode_choisi="ajusterMode" v-bind:filtre_choisi="filtre_choisi"/> <Volet_Contenu @mode_choisi="ajusterMode" v-bind:filtre_choisi="filtre_choisi" v-bind:variante="variante"/>
</div> </div>
</div> </div>
</div>
</template> </template>
<script> <script>
import $ from 'jquery' import $ from 'jquery'
import 'jquery-ui-bundle' import 'jquery-ui-bundle'
import Volet_Menu from "@/components/Volet_Menu"; import Volet_Menu from "@/components/Volet_Menu";
import Volet_Choix from "@/components/Volet_Contenu"; import Volet_Contenu from "@/components/Volet_Contenu";
export default { export default {
name: "Volet_Base", name: "Volet_Base",
components: { components: {
Volet_Menu, Volet_Menu,
Volet_Choix Volet_Contenu
}, },
data: function () { data: function () {
return { return {
isActif: true, isActif: true,
modeChoisi: "Panier", modeChoisi: "Panier",
filtre_choisi: "" filtre_choisi: "",
variante: false
} }
}, },
mounted() { mounted() {
...@@ -44,6 +50,13 @@ export default { ...@@ -44,6 +50,13 @@ export default {
}, },
passerFiltre: function(event){ passerFiltre: function(event){
this.filtre_choisi = event.filtre this.filtre_choisi = event.filtre
},
changerVariante: function (){
this.variante = ! this.variante
this.$emit("choix_variante", {variante: this.variante})
} }
} }
} }
...@@ -61,9 +74,13 @@ export default { ...@@ -61,9 +74,13 @@ export default {
} }
#boutonVolet { #boutonVolet {
margin-top: 130px; margin-top: 75px;
margin-left: 10px; margin-left: 10px;
} }
#changerVariante {
width: auto;
}
</style> </style>
\ No newline at end of file
<template> <template>
<div id="contenu"> <div id="contenu">
<div id = "detailFiltre"> <div id = "detailFiltre">
<Detail_Filtre v-bind:nouveau_filtre="nouveau_filtre" /> <Detail_Filtre v-bind:nouveau_filtre="nouveau_filtre" />
</div> </div>
<div id = "detailContenu"> <div id = "detailContenu">
<Detail_Contenu v-bind:filtre_choisi="filtre_choisi" @creer_filtre="creer_filtre"/> <Detail_Contenu v-bind:filtre_choisi="filtre_choisi" @creer_filtre="creer_filtre"/>
</div> </div>
<Choix_Mode @mode_choisi="ajusterMode" /> <Choix_Mode v-show="!variante" @mode_choisi="ajusterMode" />
</div> </div>
</template> </template>
<script> <script>
...@@ -16,13 +19,13 @@ import Choix_Mode from "@/components/Choix_Mode"; ...@@ -16,13 +19,13 @@ import Choix_Mode from "@/components/Choix_Mode";
import Detail_Filtre from "@/components/Detail_Filtre"; import Detail_Filtre from "@/components/Detail_Filtre";
import Detail_Contenu from "@/components/Detail_Contenu"; import Detail_Contenu from "@/components/Detail_Contenu";
export default { export default {
name: "Volet_Choix", name: "Volet_Contenu",
components: { components: {
Choix_Mode, Choix_Mode,
Detail_Filtre, Detail_Filtre,
Detail_Contenu Detail_Contenu,
}, },
props: ['filtre_choisi'], props: ['filtre_choisi', 'variante'],
methods: { methods: {
ajusterMode: function (event) { ajusterMode: function (event) {
......
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