diff --git a/aleksis/core/assets/components/LanguageForm.vue b/aleksis/core/assets/components/LanguageForm.vue index a19ae796e6e54105734a51e213000fd383249434..1933293270fb060275b3a895a6ce3356cd560863 100644 --- a/aleksis/core/assets/components/LanguageForm.vue +++ b/aleksis/core/assets/components/LanguageForm.vue @@ -12,11 +12,12 @@ :value="next_url" type="hidden" ></v-text-field> - <input + <v-text-field + v-show="false" + v-model="language" name="language" - :value="current_language" type="hidden" - > + ></v-text-field> <v-menu offset-y> <template v-slot:activator="{ on, attrs }"> <v-btn @@ -26,16 +27,16 @@ color="primary" > <v-icon icon color="white">mdi-translate</v-icon> - {{ current_language }} + {{ language }} </v-btn> </template> <v-list id="language-dropdown" class="dropdown-content"> <v-list-item-group - v-model="current_language" + v-model="language" color="primary" > - <v-list-item v-for="language in items" :key="language[0]" :value="language[0]" @click="submit(language[0])"> - <v-list-item-title>{{ language[1] }}</v-list-item-title> + <v-list-item v-for="language_option in items" :key="language_option[0]" :value="language_option[0]" @click="submit(language_option[0])"> + <v-list-item-title>{{ language_option[1] }}</v-list-item-title> </v-list-item> </v-list-item-group> </v-list> @@ -47,12 +48,14 @@ export default { data: () => ({ items: JSON.parse(document.getElementById("language-info-list").textContent), - current_language: JSON.parse(document.getElementById("current-language").textContent), + language: JSON.parse(document.getElementById("current-language").textContent), }), methods: { - submit: function (language) { - this.current_language = language; - // this.$refs.form.submit() + submit: function (new_language) { + this.language = new_language; + this.$nextTick(() => { + this.$refs.form.submit(); + }); }, }, props: ["action", "csrf_value", "next_url"],