decide.nolog.cz/app/components/language-select.js

30 lines
709 B
JavaScript
Raw Normal View History

2015-11-20 02:18:19 +01:00
import Ember from 'ember';
2016-06-20 19:28:10 +02:00
import localesMeta from 'croodle/locales/meta';
2015-11-20 02:18:19 +01:00
const { Component, computed, inject } = Ember;
export default Component.extend({
2015-11-20 02:18:19 +01:00
tagName: 'select',
classNames: [ 'language-select' ],
i18n: inject.service(),
moment: inject.service(),
current: computed.readOnly('i18n.locale'),
2015-11-20 02:18:19 +01:00
locales: computed('i18n.locales', function() {
let currentLocale = this.get('i18n.locale');
2015-12-07 22:21:38 +01:00
return this.get('i18n.locales').map(function(locale) {
2015-12-07 22:21:38 +01:00
return {
id: locale,
selected: locale === currentLocale,
2016-06-20 19:28:10 +02:00
text: localesMeta[locale]
2015-12-07 22:21:38 +01:00
};
2015-11-20 02:18:19 +01:00
});
}),
change() {
let locale = this.$().val();
this.get('i18n').set('locale', locale);
2015-11-20 02:18:19 +01:00
}
});