]>
git.proxmox.com Git - pve-manager.git/blob - www/manager/node/ServiceView.js
1 Ext
.define('PVE.node.ServiceView', {
2 extend
: 'Ext.grid.GridPanel',
4 alias
: ['widget.pveNodeServiceView'],
6 initComponent : function() {
9 var nodename
= me
.pveSelNode
.data
.node
;
11 throw "no node name specified";
14 var rstore
= Ext
.create('PVE.data.UpdateStore', {
16 storeid
: 'pve-services',
17 model
: 'pve-services',
20 url
: "/api2/json/nodes/" + nodename
+ "/services"
24 var store
= Ext
.create('PVE.data.DiffStore', { rstore
: rstore
});
26 var service_cmd = function(cmd
) {
27 var sm
= me
.getSelectionModel();
28 var rec
= sm
.getSelection()[0];
29 PVE
.Utils
.API2Request({
30 url
: "/nodes/" + nodename
+ "/services/" + rec
.data
.service
+ "/" + cmd
,
32 failure: function(response
, opts
) {
33 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
36 success: function(response
, opts
) {
38 var upid
= response
.result
.data
;
40 var win
= Ext
.create('PVE.window.TaskViewer', {
48 var start_btn
= new Ext
.Button({
49 text
: gettext('Start'),
56 var stop_btn
= new Ext
.Button({
57 text
: gettext('Stop'),
64 var restart_btn
= new Ext
.Button({
65 text
: gettext('Restart'),
68 service_cmd("restart");
72 var set_button_status = function() {
73 var sm
= me
.getSelectionModel();
74 var rec
= sm
.getSelection()[0];
79 restart_btn
.disable();
82 var service
= rec
.data
.service
;
83 var state
= rec
.data
.state
;
84 if (service
== 'pveproxy' ||
85 service
== 'pvecluster' ||
86 service
== 'pvedaemon') {
87 if (state
== 'running') {
92 restart_btn
.disable();
96 if (state
== 'running') {
102 restart_btn
.disable();
108 me
.mon(store
, 'datachanged', set_button_status
);
110 PVE
.Utils
.monStoreErrors(me
, rstore
);
115 tbar
: [ start_btn
, stop_btn
, restart_btn
],
118 header
: gettext('Name'),
124 header
: gettext('Status'),
130 header
: gettext('Description'),
136 selectionchange
: set_button_status
,
137 show
: rstore
.startUpdate
,
138 hide
: rstore
.stopUpdate
,
139 destroy
: rstore
.stopUpdate
147 Ext
.define('pve-services', {
148 extend
: 'Ext.data.Model',
149 fields
: [ 'service', 'name', 'desc', 'state' ],
150 idProperty
: 'service'