Ext.define('PBS.SystemConfiguration', { extend: 'Ext.tab.Panel', xtype: 'pbsSystemConfiguration', title: gettext('Configuration') + ': ' + gettext('System'), border: true, scrollable: true, defaults: { border: false }, tools: [PBS.Utils.get_help_tool("sysadmin-network-configuration")], items: [ { title: gettext('Network/Time'), itemId: 'network', xtype: 'panel', layout: { type: 'vbox', align: 'stretch', multi: true, }, defaults: { collapsible: true, animCollapse: false, margin: '10 10 0 10', }, items: [ { title: gettext('Time'), xtype: 'proxmoxNodeTimeView', nodename: 'localhost', }, { title: gettext('DNS'), xtype: 'proxmoxNodeDNSView', nodename: 'localhost', }, { flex: 1, minHeight: 200, title: gettext('Network Interfaces'), xtype: 'proxmoxNodeNetworkView', showApplyBtn: true, types: ['bond', 'bridge'], nodename: 'localhost', }, ], }, { title: gettext('Authentication'), itemId: 'authentication', xtype: 'panel', layout: { type: 'vbox', align: 'stretch', multi: true, }, defaults: { collapsible: true, animCollapse: false, margin: '10 10 0 10', }, items: [ { title: gettext('Webauthn'), xtype: 'pbsWebauthnConfigView', }, { // FIXME: this is only a semi-OK place as long as there's only the http-proxy in there title: gettext('HTTP proxy'), xtype: 'pbsNodeOptionView', }, ], }, ], initComponent: function() { let me = this; me.callParent(); let networktime = me.getComponent('network'); Ext.Array.forEach(networktime.query(), function(item) { item.relayEvents(networktime, ['activate', 'deactivate', 'destroy']); }); let authentication = me.getComponent('authentication'); Ext.Array.forEach(authentication.query(), function(item) { item.relayEvents(authentication, ['activate', 'deactivate', 'destroy']); }); }, });