]>
git.proxmox.com Git - proxmox-widget-toolkit.git/blob - node/ServiceView.js
1 Ext
.define('proxmox-services', {
2 extend
: 'Ext.data.Model',
3 fields
: [ 'service', 'name', 'desc', 'state' ],
7 Ext
.define('Proxmox.node.ServiceView', {
8 extend
: 'Ext.grid.GridPanel',
10 alias
: ['widget.proxmoxNodeServiceView'],
12 startOnlyServices
: {},
14 initComponent : function() {
18 throw "no node name specified";
21 var rstore
= Ext
.create('Proxmox.data.UpdateStore', {
23 storeid
: 'proxmox-services' + me
.nodename
,
24 model
: 'proxmox-services',
27 url
: "/api2/json/nodes/" + me
.nodename
+ "/services"
31 var store
= Ext
.create('Proxmox.data.DiffStore', {
33 sortAfterUpdate
: true,
42 var service_cmd = function(cmd
) {
43 var sm
= me
.getSelectionModel();
44 var rec
= sm
.getSelection()[0];
45 Proxmox
.Utils
.API2Request({
46 url
: "/nodes/" + me
.nodename
+ "/services/" + rec
.data
.service
+ "/" + cmd
,
48 failure: function(response
, opts
) {
49 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
52 success: function(response
, opts
) {
54 var upid
= response
.result
.data
;
56 var win
= Ext
.create('Proxmox.window.TaskProgress', {
64 var start_btn
= new Ext
.Button({
65 text
: gettext('Start'),
72 var stop_btn
= new Ext
.Button({
73 text
: gettext('Stop'),
80 var restart_btn
= new Ext
.Button({
81 text
: gettext('Restart'),
84 service_cmd("restart");
88 var set_button_status = function() {
89 var sm
= me
.getSelectionModel();
90 var rec
= sm
.getSelection()[0];
95 restart_btn
.disable();
98 var service
= rec
.data
.service
;
99 var state
= rec
.data
.state
;
101 if (me
.startOnlyServices
[service
]) {
102 if (state
== 'running') {
104 restart_btn
.enable();
107 restart_btn
.disable();
111 if (state
== 'running') {
113 restart_btn
.enable();
117 restart_btn
.disable();
123 me
.mon(store
, 'refresh', set_button_status
);
125 Proxmox
.Utils
.monStoreErrors(me
, rstore
);
130 tbar
: [ start_btn
, stop_btn
, restart_btn
],
133 header
: gettext('Name'),
139 header
: gettext('Status'),
145 header
: gettext('Description'),
146 renderer
: Ext
.String
.htmlEncode
,
152 selectionchange
: set_button_status
,
153 activate
: rstore
.startUpdate
,
154 destroy
: rstore
.stopUpdate