Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider 19dea49b rédigé par Lucas Chatteleyn's avatar Lucas Chatteleyn
Parcourir les fichiers

amélioration de l'éditions de cours

parent f6719bab
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!2amélioration de l'éditions de cours
...@@ -7,7 +7,9 @@ ...@@ -7,7 +7,9 @@
<select class="unwrapped" name="select" multiple size="6" v-if="!small" v-click-outside="$event => small = true" <select class="unwrapped" name="select" multiple size="6" v-if="!small" v-click-outside="$event => small = true"
v-model="selectedOptions" @change="$emit('value', selectedOptions)"> v-model="selectedOptions" @change="$emit('value', selectedOptions)">
<option disabled class="help">ctrl/cmd + clic</option> <option disabled class="help">ctrl/cmd + clic</option>
<option v-for="option in options" :key="option.id" :value="option.id">{{ option.name }}</option> <option v-for="option in options" :key="option.id" :value="option.id" :selected="option.id == 'a'">{{
option.name
}}</option>
</select> </select>
</div> </div>
</template> </template>
...@@ -15,10 +17,7 @@ ...@@ -15,10 +17,7 @@
<script> <script>
export default { export default {
name: 'MultipleInput', name: 'MultipleInput',
props: { props: ['label', 'options', 'edit'],
label: String,
options: Array
},
data() { data() {
return { return {
small: true, small: true,
...@@ -27,7 +26,8 @@ export default { ...@@ -27,7 +26,8 @@ export default {
}, },
methods: { methods: {
optionsToString() { optionsToString() {
return this.selectedOptions.map(id => this.options.find(o => o.id == id).name).join(", "); if (this.$parent.edit != -1 && this.$parent.savedCourses[this.$parent.edit][this.edit]) return this.$parent.savedCourses[this.$parent.edit][this.edit].map(id => this.options.find(o => o.id == id).name).join(", ")
else return this.selectedOptions.map(id => this.options.find(o => o.id == id).name).join(", ");
} }
} }
...@@ -36,8 +36,9 @@ export default { ...@@ -36,8 +36,9 @@ export default {
<style scoped> <style scoped>
div { div {
width:15rem; width: 15rem;
} }
.unwrapped { .unwrapped {
position: absolute; position: absolute;
width: 15rem; width: 15rem;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="background" /> <div class="background" />
<div class="window"> <div class="window">
<MainTitle value="Ajouter des cours" /> <MainTitle value="Ajouter des cours" />
<CloseButton @click.native="$parent.popupVisible = false" /> <CloseButton @click.native="$parent.popupVisible = false; edit = -1" />
<div class="container"> <div class="container">
<div v-if="homeScreen"> <div v-if="homeScreen">
<li v-for="(course, key) in savedCourses" :key="key" class="vertical-list"> <li v-for="(course, key) in savedCourses" :key="key" class="vertical-list">
...@@ -23,19 +23,19 @@ ...@@ -23,19 +23,19 @@
</li> </li>
</div> </div>
<div id="forms"> <div id="forms">
<SimpleInput class="form-element" label="Module" :options="modules" <SimpleInput class="form-element" label="Module" :options="modules" edit="module"
@value="v => $set(course, 'module', v)" /> @value="v => $set(course, 'module', v)" />
<MultipleInput class="form-element" label="Groupe(s)" :options="groups" <MultipleInput class="form-element" label="Groupe(s)" :options="groups" edit="groups"
@value="v => $set(course, 'groups', v)" /> @value="v => $set(course, 'groups', v)" />
<MultipleInput class="form-element" label="Professeur(s)" :options="teachers" <MultipleInput class="form-element" label="Professeur(s)" :options="teachers" edit="teachers"
@value="v => $set(course, 'teachers', v)" /> @value="v => $set(course, 'teachers', v)" />
<SimpleInput class="form-element" label="Type de cours" :options="courseTypes" <SimpleInput class="form-element" label="Type de cours" :options="courseTypes" edit="courseType"
@value="v => $set(course, 'courseType', v)" /> @value="v => $set(course, 'courseType', v)" />
<SimpleInput class="form-element" label="Type de salle" :options="roomTypes" <SimpleInput class="form-element" label="Type de salle" :options="roomTypes" edit="roomType"
@value="v => $set(course, 'roomType', v)" /> @value="v => $set(course, 'roomType', v)" />
</div> </div>
<div class="buttons"> <div class="buttons">
<SimpleButton value="Annuler" color="#E90B0B" @click.native="homeScreen = true" /> <SimpleButton value="Annuler" color="#E90B0B" @click.native="homeScreen = true; edit=-1" />
<SimpleButton value="Valider" color="#05B12B" @click.native="saveCourse" /> <SimpleButton value="Valider" color="#05B12B" @click.native="saveCourse" />
</div> </div>
</div> </div>
...@@ -90,7 +90,7 @@ export default { ...@@ -90,7 +90,7 @@ export default {
{ id: "c", name: "INFoO3-1" }, { id: "c", name: "INFoO3-1" },
{ id: "d", name: "INFO4-1" }, { id: "d", name: "INFO4-1" },
{ id: "e", name: "INFO4-2" }, { id: "e", name: "INFO4-2" },
{ id: "e", name: "INFO4-3" }, { id: "f", name: "INFO4-3" },
], ],
courseTypes: [ courseTypes: [
{ id: "cm", name: "CM" }, { id: "cm", name: "CM" },
......
...@@ -2,8 +2,9 @@ ...@@ -2,8 +2,9 @@
<div> <div>
<label for="select">{{ label }}</label> <label for="select">{{ label }}</label>
<select name="select" @change="$emit('value', $event.target.value)"> <select name="select" @change="$emit('value', $event.target.value)">
<option selected></option> <option :selected="$parent.edit == -1"></option>
<option v-for="option in options" :key="option.id" :value="option.id">{{ option.name }}</option> <option v-for="option in options" :key="option.id" :value="option.id"
:selected="$parent.edit != -1 && option.id == $parent.savedCourses[$parent.edit][edit]">{{ option.name }}</option>
</select> </select>
</div> </div>
</template> </template>
...@@ -11,7 +12,7 @@ ...@@ -11,7 +12,7 @@
<script> <script>
export default { export default {
name: 'SimpleInput', name: 'SimpleInput',
props: ['label', 'options'], props: ['label', 'options', 'edit'],
emits: ['value'] emits: ['value']
} }
</script> </script>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter