]> git.proxmox.com Git - proxmox-backup.git/blob - www/SystemConfiguration.js
fix #5117: ui: node info: avoid invalid array access for certain foreign kernels
[proxmox-backup.git] / www / SystemConfiguration.js
1 Ext.define('PBS.SystemConfiguration', {
2 extend: 'Ext.tab.Panel',
3 xtype: 'pbsSystemConfiguration',
4
5 title: gettext('Configuration') + ': ' + gettext('System'),
6 border: true,
7 defaults: { border: false },
8 tools: [PBS.Utils.get_help_tool("sysadmin-network-configuration")],
9 items: [
10 {
11 xtype: 'panel',
12 title: gettext('Network/Time'),
13 itemId: 'network',
14 iconCls: 'fa fa-exchange',
15 layout: {
16 type: 'vbox',
17 align: 'stretch',
18 multi: true,
19 },
20 scrollable: true,
21 defaults: {
22 collapsible: true,
23 animCollapse: false,
24 margin: '7 10 3 10',
25 },
26 items: [
27 {
28 xtype: 'proxmoxNodeTimeView',
29 title: gettext('Time'),
30 nodename: 'localhost',
31 },
32 {
33 xtype: 'proxmoxNodeDNSView',
34 title: gettext('DNS'),
35 nodename: 'localhost',
36 },
37 {
38 xtype: 'proxmoxNodeNetworkView',
39 title: gettext('Network Interfaces'),
40 flex: 1,
41 minHeight: 200,
42 showApplyBtn: true,
43 types: ['bond', 'bridge'],
44 nodename: 'localhost',
45 },
46 ],
47 },
48 {
49 title: gettext('Metric Server'),
50 iconCls: 'fa fa-bar-chart',
51 xtype: 'pbsMetricServerView',
52 itemId: 'metrics',
53 },
54 {
55 xtype: 'panel',
56 title: gettext('Other'),
57 itemId: 'other-options',
58 iconCls: 'fa fa-sliders',
59 layout: {
60 type: 'vbox',
61 align: 'stretch',
62 multi: true,
63 },
64 scrollable: true,
65 defaults: {
66 collapsible: true,
67 animCollapse: false,
68 margin: '7 10 3 10',
69 },
70 items: [
71 {
72 title: gettext('General'),
73 xtype: 'pbsNodeOptionView',
74 },
75 {
76 title: gettext('WebAuthn TFA'),
77 xtype: 'pbsWebauthnConfigView',
78 },
79 ],
80 },
81 ],
82
83 initComponent: function() {
84 let me = this;
85
86 me.callParent();
87
88 let networktime = me.getComponent('network');
89 networktime.query()?.forEach(el => el.relayEvents(networktime, ['activate', 'deactivate', 'destroy']));
90
91 let options = me.getComponent('other-options');
92 options.query()?.forEach(el => el.relayEvents(options, ['activate', 'deactivate', 'destroy']));
93 },
94 });
95
96