TT#54658 Language selection on login page

Change-Id: I0eba60e7e9ccb9a600b360df59597bc4cad014e9
changes/70/36870/4
Nico Schedel 5 years ago committed by Hans-Peter Herzog
parent ab05c70bcf
commit c4639db585

@ -1,5 +1,29 @@
<template> <template>
<q-layout> <q-layout>
<q-toolbar
id="csc-header-toolbar"
color="primary"
inverted
slot="header"
>
<q-btn
class="csc-user-menu-button no-shadow"
icon="language"
color="tertiary"
round
small
>
<q-popover
ref="languagePopover"
>
<csc-language-menu
:language-label="languageLabel"
:language-labels="languageLabels"
@change-language="changeLanguage"
/>
</q-popover>
</q-btn>
</q-toolbar>
<div <div
id="csc-login" id="csc-login"
:class="loginClasses" :class="loginClasses"
@ -50,6 +74,18 @@
@keyup.enter="login()" @keyup.enter="login()"
/> />
</q-field> </q-field>
<!-- <q-field-->
<!-- dark-->
<!-- icon="language"-->
<!-- >-->
<!-- <q-select-->
<!-- dark-->
<!-- value=""-->
<!-- :options="languageLabels"-->
<!-- :float-label="languageLabel"-->
<!-- @change="changeLanguage"-->
<!-- />-->
<!-- </q-field>-->
</form> </form>
</q-card-main> </q-card-main>
<q-card-actions <q-card-actions
@ -85,6 +121,7 @@
showGlobalError showGlobalError
} from '../helpers/ui' } from '../helpers/ui'
import { import {
QSelect,
QLayout, QLayout,
QCard, QCard,
QCardTitle, QCardTitle,
@ -96,12 +133,18 @@
QBtn, QBtn,
QIcon, QIcon,
Platform, Platform,
QSpinnerDots QSpinnerDots,
QToolbar,
QPopover
} from 'quasar-framework' } from 'quasar-framework'
import {
getLanguageLabel
} from "../i18n";
import CscLanguageMenu from "./layouts/CscLanguageMenu";
export default { export default {
name: 'login', name: 'login',
components: { components: {
QSelect,
QLayout, QLayout,
QCard, QCard,
QCardTitle, QCardTitle,
@ -112,12 +155,15 @@
QCardActions, QCardActions,
QBtn, QBtn,
QIcon, QIcon,
QSpinnerDots QSpinnerDots,
QToolbar,
QPopover,
CscLanguageMenu
}, },
data () { data () {
return { return {
username: '', username: '',
password: '' password: '',
} }
}, },
computed: { computed: {
@ -134,8 +180,15 @@
...mapGetters('user', [ ...mapGetters('user', [
'loginRequesting', 'loginRequesting',
'loginSucceeded', 'loginSucceeded',
'loginError' 'loginError',
'locale',
'languageLabels'
]), ]),
languageLabel() {
return this.$t('language', {
language: getLanguageLabel(this.locale)
});
}
}, },
methods: { methods: {
login() { login() {
@ -143,6 +196,10 @@
username: this.username, username: this.username,
password: this.password password: this.password
}); });
},
changeLanguage(language) {
this.$refs.languagePopover.close();
this.$store.dispatch('user/changeSessionLanguage', language);
} }
}, },
watch: { watch: {

Loading…
Cancel
Save