]>
git.proxmox.com Git - proxmox-widget-toolkit.git/blob - node/Tasks.js
1 Ext
.define('Proxmox.node.Tasks', {
2 extend
: 'Ext.grid.GridPanel',
4 alias
: ['widget.proxmoxNodeTasks'],
6 stateId
: 'grid-node-tasks',
8 sortableColumns
: false,
11 initComponent : function() {
15 throw "no node name specified";
18 var store
= Ext
.create('Ext.data.BufferedStore', {
22 model
: 'proxmox-tasks',
27 url
: "/api2/json/nodes/" + me
.nodename
+ "/tasks"
32 var filter_errors
= 0;
34 var updateProxyParams = function() {
39 params
.userfilter
= userfilter
;
42 params
.vmid
= me
.vmidFilter
;
44 store
.proxy
.extraParams
= params
;
49 var reload_task
= Ext
.create('Ext.util.DelayedTask',function() {
54 var run_task_viewer = function() {
55 var sm
= me
.getSelectionModel();
56 var rec
= sm
.getSelection()[0];
61 var win
= Ext
.create('Proxmox.window.TaskViewer', {
67 var view_btn
= new Ext
.Button({
68 text
: gettext('View'),
70 handler
: run_task_viewer
73 Proxmox
.Utils
.monStoreErrors(me
, store
, true);
79 stripeRows
: false, // does not work with getRowClass()
81 getRowClass: function(record
, index
) {
82 var status
= record
.get('status');
84 if (status
&& status
!= 'OK') {
85 return "proxmox-invalid-row";
90 view_btn
, '->', gettext('User name') +':', ' ',
95 enableKeyEvents
: true,
97 keyup: function(field
, e
) {
98 userfilter
= field
.getValue();
99 reload_task
.delay(500);
102 }, ' ', gettext('Only Errors') + ':', ' ',
106 checked
: filter_errors
,
108 change: function(field
, checked
) {
109 filter_errors
= checked
? 1 : 0;
110 reload_task
.delay(10);
117 header
: gettext("Start Time"),
118 dataIndex
: 'starttime',
120 renderer: function(value
) {
121 return Ext
.Date
.format(value
, "M d H:i:s");
125 header
: gettext("End Time"),
126 dataIndex
: 'endtime',
128 renderer: function(value
, metaData
, record
) {
129 return Ext
.Date
.format(value
,"M d H:i:s");
133 header
: gettext("Node"),
138 header
: gettext("User name"),
143 header
: gettext("Description"),
146 renderer
: Proxmox
.Utils
.render_upid
149 header
: gettext("Status"),
152 renderer: function(value
, metaData
, record
) {
156 // metaData.attr = 'style="color:red;"';
157 return "ERROR: " + value
;
162 itemdblclick
: run_task_viewer
,
163 selectionchange: function(v
, selections
) {
164 view_btn
.setDisabled(!(selections
&& selections
[0]));
166 show: function() { reload_task
.delay(10); },
167 destroy: function() { reload_task
.cancel(); }