startOnlyServices: {},
initComponent: function() {
- var me = this;
+ let me = this;
if (!me.nodename) {
throw "no node name specified";
}
- var rstore = Ext.create('Proxmox.data.UpdateStore', {
+ let rstore = Ext.create('Proxmox.data.UpdateStore', {
interval: 1000,
storeid: 'proxmox-services' + me.nodename,
model: 'proxmox-services',
},
});
- var store = Ext.create('Proxmox.data.DiffStore', {
+ let store = Ext.create('Proxmox.data.DiffStore', {
rstore: rstore,
sortAfterUpdate: true,
sorters: [
],
});
- var view_service_log = function() {
- var sm = me.getSelectionModel();
- var rec = sm.getSelection()[0];
- var win = Ext.create('Ext.window.Window', {
+ let view_service_log = function() {
+ let sm = me.getSelectionModel();
+ let rec = sm.getSelection()[0];
+ let win = Ext.create('Ext.window.Window', {
title: gettext('Syslog') + ': ' + rec.data.service,
modal: true,
width: 800,
win.show();
};
- var service_cmd = function(cmd) {
- var sm = me.getSelectionModel();
- var rec = sm.getSelection()[0];
+ let service_cmd = function(cmd) {
+ let sm = me.getSelectionModel();
+ let rec = sm.getSelection()[0];
Proxmox.Utils.API2Request({
url: "/nodes/" + me.nodename + "/services/" + rec.data.service + "/" + cmd,
method: 'POST',
},
success: function(response, opts) {
rstore.startUpdate();
- var upid = response.result.data;
+ let upid = response.result.data;
- var win = Ext.create('Proxmox.window.TaskProgress', {
+ let win = Ext.create('Proxmox.window.TaskProgress', {
upid: upid,
});
win.show();
});
};
- var start_btn = new Ext.Button({
+ let start_btn = new Ext.Button({
text: gettext('Start'),
disabled: true,
handler: function() {
},
});
- var stop_btn = new Ext.Button({
+ let stop_btn = new Ext.Button({
text: gettext('Stop'),
disabled: true,
handler: function() {
},
});
- var restart_btn = new Ext.Button({
+ let restart_btn = new Ext.Button({
text: gettext('Restart'),
disabled: true,
handler: function() {
},
});
- var syslog_btn = new Ext.Button({
+ let syslog_btn = new Ext.Button({
text: gettext('Syslog'),
disabled: true,
handler: view_service_log,
});
- var set_button_status = function() {
- var sm = me.getSelectionModel();
- var rec = sm.getSelection()[0];
+ let set_button_status = function() {
+ let sm = me.getSelectionModel();
+ let rec = sm.getSelection()[0];
if (!rec) {
start_btn.disable();
syslog_btn.disable();
return;
}
- var service = rec.data.service;
- var state = rec.data.state;
+ let service = rec.data.service;
+ let state = rec.data.state;
syslog_btn.enable();
- if (me.startOnlyServices[service]) {
- if (state == 'running') {
- start_btn.disable();
- restart_btn.enable();
- } else {
- start_btn.enable();
- restart_btn.disable();
- }
- stop_btn.disable();
- } else if (state == 'running') {
- start_btn.disable();
- restart_btn.enable();
+ if (state === 'running') {
+ start_btn.disable();
+ restart_btn.enable();
+ } else {
+ start_btn.enable();
+ restart_btn.disable();
+ }
+ if (!me.startOnlyServices[service]) {
+ if (state === 'running') {
stop_btn.enable();
} else {
- start_btn.enable();
- restart_btn.disable();
stop_btn.disable();
}
+ }
};
me.mon(store, 'refresh', set_button_status);