':path:subpath': {
action: 'changePath',
before: 'beforeChangePath',
- conditions : {
- ':path' : '(?:([%a-zA-Z0-9\\-\\_\\s,\.]+))',
- ':subpath' : '(?:(?::)([%a-zA-Z0-9\\-\\_\\s,]+))?'
- }
- }
+ conditions: {
+ ':path': '(?:([%a-zA-Z0-9\\-\\_\\s,.]+))',
+ ':subpath': '(?:(?::)([%a-zA-Z0-9\\-\\_\\s,]+))?',
+ },
+ },
},
beforeChangePath: function(path, subpath, action) {
obj = contentpanel.add({
xtype: path,
nodename: 'localhost',
- border: false
+ border: false,
});
}
if (lastpanel) {
contentpanel.remove(lastpanel, { destroy: true });
}
-
},
logout: function() {
},
control: {
- 'button[reference=logoutButton]': {
- click: 'logout'
- }
+ '[reference=logoutButton]': {
+ click: 'logout',
+ },
},
init: function(view) {
var me = this;
PBS.data.RunningTasksStore.startUpdate();
- me.lookupReference('usernameinfo').update({username:Proxmox.UserName});
+ me.lookupReference('usernameinfo').setText(Proxmox.UserName);
// show login on requestexception
// fixme: what about other errors
Ext.Ajax.on('requestexception', function(conn, response, options) {
- if (response.status == 401) { // auth failure
+ if (response.status === 401 || response.status === '401') { // auth failure
me.logout();
}
});
Ext.Ajax.request({
params: {
username: Proxmox.UserName,
- password: ticket
+ password: ticket,
},
url: '/api2/json/access/ticket',
method: 'POST',
success: function(response, opts) {
var obj = Ext.decode(response.responseText);
PBS.Utils.updateLoginData(obj.data);
- }
+ },
});
},
- interval: 15*60*1000
+ interval: 15*60*1000,
});
// select treeitem and load page from url fragment, if set
let token = Ext.util.History.getToken() || 'pbsDashboard';
this.redirectTo(token, true);
- }
+ },
},
plugins: 'viewport',
xtype: 'container',
layout: {
type: 'hbox',
- align: 'middle'
+ align: 'middle',
},
- margin: '2 5 2 5',
+ margin: '2 0 2 5',
height: 38,
items: [
{
prefix: '',
},
{
- xtype: 'versioninfo'
+ padding: '0 0 0 5',
+ xtype: 'versioninfo',
},
{
padding: 5,
flex: 1,
baseCls: 'x-plain',
},
- {
- baseCls: 'x-plain',
- reference: 'usernameinfo',
- padding: '0 5',
- tpl: Ext.String.format(gettext("You are logged in as {0}"), "'{username}'")
- },
{
xtype: 'button',
baseCls: 'x-btn',
margin: '0 5 0 0',
},
{
- reference: 'logoutButton',
xtype: 'button',
- iconCls: 'fa fa-sign-out',
- text: gettext('Logout')
- }
- ]
+ reference: 'usernameinfo',
+ style: {
+ // proxmox dark grey p light grey as border
+ backgroundColor: '#464d4d',
+ borderColor: '#ABBABA',
+ },
+ margin: '0 5 0 0',
+ iconCls: 'fa fa-user',
+ menu: [
+ {
+ reference: 'logoutButton',
+ iconCls: 'fa fa-sign-out',
+ text: gettext('Logout'),
+ },
+ ],
+ },
+ ],
},
{
xtype: 'panel',
region: 'west',
layout: {
type: 'vbox',
- align: 'stretch'
+ align: 'stretch',
},
items: [{
xtype: 'navigationtree',
// because of a bug where a viewcontroller does not detect
// the selectionchange event of a treelist
listeners: {
- selectionchange: 'navigate'
- }
+ selectionchange: 'navigate',
+ },
}, {
xtype: 'box',
cls: 'x-treelist-nav',
- flex: 1
- }]
+ flex: 1,
+ }],
},
{
xtype: 'panel',
layout: { type: 'card' },
region: 'center',
border: false,
- reference: 'contentpanel'
- }
- ]
+ reference: 'contentpanel',
+ },
+ ],
});