]> git.proxmox.com Git - pmg-gui.git/blob - js/Application.js
node certificate: make parent panel scrollable
[pmg-gui.git] / js / Application.js
1 Ext.define('PMG.Application', {
2 extend: 'Ext.app.Application',
3
4 name: 'PMG',
5 appProperty: 'app',
6
7 stores: [
8 'NavigationStore',
9 ],
10
11 layout: 'fit',
12
13 realignWindows: function() {
14 var modalwindows = Ext.ComponentQuery.query('window[modal]');
15 Ext.Array.forEach(modalwindows, function(item) {
16 item.center();
17 });
18 },
19
20 logout: function() {
21 var me = this;
22 Proxmox.Utils.authClear();
23 me.changeView('loginview', true);
24 },
25
26 changeView: function(view, skipCheck) {
27 var me = this;
28 PMG.view = view;
29 me.view = view;
30 me.currentView.destroy();
31 me.currentView = Ext.create({
32 xtype: view,
33 targetview: me.targetview,
34 });
35 if (skipCheck !== true) {
36 Proxmox.Utils.checked_command(Ext.emptyFn); // display subscription status
37 }
38 },
39
40 view: 'loginview',
41 targetview: 'mainview',
42
43 launch: function() {
44 var me = this;
45 Ext.on('resize', me.realignWindows);
46
47 var provider = new Ext.state.LocalStorageProvider({ prefix: 'ext-pmg-' });
48 Ext.state.Manager.setProvider(provider);
49
50 // show login window if not loggedin
51 var loggedin = Proxmox.Utils.authOK();
52 var cookie = Ext.util.Cookies.get(Proxmox.Setup.auth_cookie_name);
53 var qs = Ext.Object.fromQueryString(location.search);
54
55 var pathname = location.pathname.replace(/\/+$/, '');
56
57 if (pathname === "/quarantine") {
58 me.targetview = 'quarantineview';
59
60 if (qs.ticket === undefined && loggedin) {
61 me.view = 'quarantineview';
62 }
63 } else if (loggedin && cookie.substr(0, 7) !== 'PMGQUAR') {
64 me.view = 'mainview';
65 }
66
67 PMG.view = me.view;
68 me.currentView = Ext.create({
69 xtype: me.view,
70 targetview: me.targetview,
71 });
72 },
73 });
74
75 Ext.application('PMG.Application');