]>
Commit | Line | Data |
---|---|---|
bb2948de DM |
1 | Ext.define('PVE.dc.HttpProxyEdit', { |
2 | extend: 'PVE.window.Edit', | |
3 | ||
4 | initComponent : function() { | |
5 | var me = this; | |
6 | ||
7 | Ext.applyIf(me, { | |
8 | subject: gettext('HTTP proxy'), | |
9 | items: { | |
10 | xtype: 'pvetextfield', | |
11 | name: 'http_proxy', | |
12 | vtype: 'HttpProxy', | |
e79d3eb5 | 13 | emptyText: PVE.Utils.noneText, |
bb2948de DM |
14 | deleteEmpty: true, |
15 | value: '', | |
16 | fieldLabel: gettext('HTTP proxy') | |
17 | } | |
18 | }); | |
19 | ||
20 | me.callParent(); | |
21 | ||
22 | me.load(); | |
23 | } | |
24 | }); | |
25 | ||
26 | Ext.define('PVE.dc.KeyboardEdit', { | |
27 | extend: 'PVE.window.Edit', | |
28 | ||
29 | initComponent : function() { | |
30 | var me = this; | |
31 | ||
32 | Ext.applyIf(me, { | |
33 | subject: gettext('Keyboard Layout'), | |
34 | items: { | |
35 | xtype: 'VNCKeyboardSelector', | |
36 | name: 'keyboard', | |
f2782813 | 37 | value: '__default__', |
bb2948de DM |
38 | fieldLabel: gettext('Keyboard Layout') |
39 | } | |
40 | }); | |
41 | ||
42 | me.callParent(); | |
43 | ||
44 | me.load(); | |
45 | } | |
46 | }); | |
47 | ||
48 | Ext.define('PVE.dc.ConsoleViewerEdit', { | |
49 | extend: 'PVE.window.Edit', | |
50 | ||
51 | initComponent : function() { | |
52 | var me = this; | |
53 | ||
54 | var data = []; | |
55 | ||
f2782813 | 56 | Ext.Array.each(['__default__','vv', 'html5'], function(value) { |
bb2948de DM |
57 | data.push([value, PVE.Utils.render_console_viewer(value)]); |
58 | }); | |
59 | ||
60 | Ext.applyIf(me, { | |
61 | subject: gettext('Console Viewer'), | |
62 | items: { | |
63 | xtype: 'pveKVComboBox', | |
64 | name: 'console', | |
f2782813 | 65 | value: '__default__', |
d5301f23 | 66 | fieldLabel: gettext('Console Viewer'), |
22f2f9d6 | 67 | comboItems: data |
bb2948de DM |
68 | } |
69 | }); | |
70 | ||
71 | me.callParent(); | |
72 | ||
73 | me.load(); | |
74 | } | |
75 | }); | |
76 | ||
77 | Ext.define('PVE.dc.EmailFromEdit', { | |
78 | extend: 'PVE.window.Edit', | |
79 | ||
80 | initComponent : function() { | |
81 | var me = this; | |
82 | ||
83 | Ext.applyIf(me, { | |
84 | subject: gettext('Email from address'), | |
85 | items: { | |
86 | xtype: 'pvetextfield', | |
87 | name: 'email_from', | |
8ca163bd | 88 | vtype: 'pveMail', |
185a77e5 | 89 | emptyText: 'root@$hostname', |
bb2948de DM |
90 | deleteEmpty: true, |
91 | value: '', | |
92 | fieldLabel: gettext('Email from address') | |
93 | } | |
94 | }); | |
95 | ||
96 | me.callParent(); | |
97 | ||
98 | me.load(); | |
99 | } | |
100 | }); | |
101 | ||
102 | Ext.define('PVE.dc.OptionView', { | |
103 | extend: 'PVE.grid.ObjectGrid', | |
104 | alias: ['widget.pveDcOptionView'], | |
105 | ||
bb2948de DM |
106 | initComponent : function() { |
107 | var me = this; | |
108 | ||
109 | var reload = function() { | |
110 | me.rstore.load(); | |
111 | }; | |
112 | ||
113 | var rows = { | |
114 | keyboard: { | |
115 | header: gettext('Keyboard Layout'), | |
116 | editor: 'PVE.dc.KeyboardEdit', | |
117 | renderer: PVE.Utils.render_kvm_language, | |
118 | required: true | |
119 | }, | |
120 | http_proxy: { | |
121 | header: gettext('HTTP proxy'), | |
122 | editor: 'PVE.dc.HttpProxyEdit', | |
123 | required: true, | |
124 | renderer: function(value) { | |
125 | if (!value) { | |
e79d3eb5 | 126 | return PVE.Utils.noneText; |
bb2948de DM |
127 | } |
128 | return value; | |
129 | } | |
130 | }, | |
131 | console: { | |
132 | header: gettext('Console Viewer'), | |
133 | editor: 'PVE.dc.ConsoleViewerEdit', | |
134 | required: true, | |
135 | renderer: PVE.Utils.render_console_viewer | |
136 | }, | |
137 | email_from: { | |
138 | header: gettext('Email from address'), | |
139 | editor: 'PVE.dc.EmailFromEdit', | |
140 | required: true, | |
141 | renderer: function(value) { | |
142 | if (!value) { | |
185a77e5 | 143 | return 'root@$hostname'; |
bb2948de DM |
144 | } |
145 | return value; | |
146 | } | |
147 | } | |
148 | }; | |
149 | ||
150 | var sm = Ext.create('Ext.selection.RowModel', {}); | |
151 | ||
152 | var run_editor = function() { | |
153 | var rec = sm.getSelection()[0]; | |
154 | if (!rec) { | |
155 | return; | |
156 | } | |
157 | ||
158 | var rowdef = rows[rec.data.key]; | |
159 | if (!rowdef.editor) { | |
160 | return; | |
161 | } | |
162 | ||
163 | var win = Ext.create(rowdef.editor, { | |
164 | url: "/api2/extjs/cluster/options", | |
165 | confid: rec.data.key | |
166 | }); | |
167 | win.show(); | |
168 | win.on('destroy', reload); | |
169 | }; | |
170 | ||
171 | var edit_btn = new PVE.button.Button({ | |
172 | text: gettext('Edit'), | |
173 | disabled: true, | |
174 | selModel: sm, | |
175 | handler: run_editor | |
176 | }); | |
177 | ||
bc5d0cf8 | 178 | Ext.apply(me, { |
bb2948de | 179 | url: "/api2/json/cluster/options", |
bb2948de DM |
180 | interval: 1000, |
181 | selModel: sm, | |
182 | tbar: [ edit_btn ], | |
183 | rows: rows, | |
184 | listeners: { | |
c0b3df6e EK |
185 | itemdblclick: run_editor, |
186 | activate: reload | |
bb2948de DM |
187 | } |
188 | }); | |
189 | ||
190 | me.callParent(); | |
bb2948de DM |
191 | } |
192 | }); |