]> git.proxmox.com Git - proxmox-widget-toolkit.git/blob - src/window/LanguageEdit.js
bump version to 4.2.3
[proxmox-widget-toolkit.git] / src / window / LanguageEdit.js
1 Ext.define('Proxmox.window.LanguageEditWindow', {
2 extend: 'Ext.window.Window',
3 alias: 'widget.pmxLanguageEditWindow',
4
5 viewModel: {
6 parent: null,
7 data: {
8 language: '__default__',
9 },
10 },
11 controller: {
12 xclass: 'Ext.app.ViewController',
13 init: function(view) {
14 let language = Ext.util.Cookies.get(view.cookieName) || '__default__';
15 if (language === 'kr') {
16 // fix-up wrongly used Korean code before FIXME: remove with trixie releases
17 language = 'ko';
18 let expire = Ext.Date.add(new Date(), Ext.Date.YEAR, 10);
19 Ext.util.Cookies.set(view.cookieName, language, expire);
20 }
21 this.getViewModel().set('language', language);
22 },
23 applyLanguage: function(button) {
24 let view = this.getView();
25 let vm = this.getViewModel();
26
27 let expire = Ext.Date.add(new Date(), Ext.Date.YEAR, 10);
28 Ext.util.Cookies.set(view.cookieName, vm.get('language'), expire);
29 view.mask(gettext('Please wait...'), 'x-mask-loading');
30 window.location.reload();
31 },
32 },
33
34 cookieName: 'PVELangCookie',
35
36 title: gettext('Language'),
37 modal: true,
38 bodyPadding: 10,
39 resizable: false,
40 items: [
41 {
42 xtype: 'proxmoxLanguageSelector',
43 fieldLabel: gettext('Language'),
44 labelWidth: 75,
45 bind: {
46 value: '{language}',
47 },
48 },
49 ],
50 buttons: [
51 {
52 text: gettext('Apply'),
53 handler: 'applyLanguage',
54 },
55 ],
56 });