Skip to content
Snippets Groups Projects
Commit 28912183 authored by Hangzhi Yu's avatar Hangzhi Yu
Browse files

WIP: Work on language select form

parent eed7d322
No related branches found
No related tags found
2 merge requests!1046Draft: Resolve "[3.0] Meta-issue for GraphQL back-end and Vue.js frontend",!1045Introduce Vuetify and GraphQL
export default {
data: () => ({
items: JSON.parse(document.getElementById("language-info-list").textContent),
current_language: JSON.parse(document.getElementById("current-language").textContent),
csrf_name: document.getElementsByName('csrfmiddlewaretoken')[0].name,
csrf_value: document.getElementsByName('csrfmiddlewaretoken')[0].value,
current_language: JSON.parse(document.getElementById("language-info-list").textContent).find(t=>t.code === JSON.parse(document.getElementById("current-language").textContent)).name_local,
}),
methods: {
submit: function () {
this.$refs.form.submit()
},
},
props: ["action", "placeholder"],
props: ["action", "csrf_value", "next_url"],
name: "language-form",
template: `
<form method="post" ref="form" :action="action" id="language-form">
<v-text-field
v-show="false"
:name="csrf_name"
name="csrfmiddlewaretoken"
:value="csrf_value"
type="hidden"
></v-text-field>
<v-text-field
v-show="false"
name="next"
:value="next_url"
type="hidden"
></v-text-field>
<!-- fixme: language value is not passed -->
<v-select
name="language"
:items="items"
item-text="name_local"
item-value="code"
:label="placeholder"
:label="current_language"
color="white"
class="white--text"
@change="submit"
@input="submit"
></v-select>
</form>`
}
......@@ -174,8 +174,7 @@
<v-container>
<v-row>
<v-col cols="12" lg="6">
{% csrf_token %}
<language-form action="{% url "set_language" %}" placeholder="{% trans "Language" %}"></language-form>
<language-form action="{% url "set_language" %}" csrf_value={{ csrf_token }} next_url={{ request.get_full_path }}></language-form>
</v-col>
<v-col cols="12" lg="6">
{% include "core/partials/vue_footer_menu.html" %}
......@@ -219,10 +218,9 @@
{{ request.user.person.preferences.theme__design|json_script:"design-mode" }}
{{ request.site.preferences.theme__primary|json_script:"primary-color" }}
{{ request.site.preferences.theme__secondary|json_script:"secondary-color" }}
{{ get_current_language|json_script:"current-language" }}
{{ LANGUAGE_CODE|json_script:"current-language" }}
{% get_language_info_list for request.site.preferences.internationalisation__languages as languages %}
{{ languages|json_script:"language-info-list" }}
{% csrf_token %}
{#{{ request.site.preferences.all|json_script:"preferences" }}#}
<script type="text/javascript" src="{% static 'js/search.js' %}"></script>
<script type="text/javascript" src="{% static 'js/vue/main_vue.js' %}"></script>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment