]>
git.proxmox.com Git - proxmox-backup.git/blob - www/dashboard/LongestTasks.js
1 Ext
.define('PBS.LongestTasks', {
2 extend
: 'Ext.grid.Panel',
3 alias
: 'widget.pbsLongestTasks',
5 title
: gettext('Longest Tasks (last Month)'),
10 emptyText
: gettext('No Tasks'),
13 xclass
: 'Ext.app.ViewController',
15 openTask: function(record
) {
17 Ext
.create('Proxmox.window.TaskViewer', {
18 upid
: record
.data
.upid
,
19 endtime
: record
.data
.endtime
,
23 openTaskItemDblClick: function(grid
, record
) {
24 this.openTask(record
);
27 openTaskActionColumn: function(grid
, rowIndex
) {
28 this.openTask(grid
.getStore().getAt(rowIndex
));
31 render_status: function(value
) {
32 let cls
= 'times-circle critical';
34 cls
= 'check-circle good';
35 } else if (value
.startsWith('WARNINGS:')) {
36 cls
= 'exclamation-circle warning';
37 } else if (value
=== 'unknown') {
38 cls
= 'question-circle faded';
41 return `<i class="fa fa-${cls}"></i>`;
45 updateTasks: function(data
) {
47 me
.getStore().setData(data
);
51 itemdblclick
: 'openTaskItemDblClick',
57 autoDestroyRstore
: true,
69 storeid
: 'proxmox-tasks-dash',
71 model
: 'proxmox-tasks',
80 text
: gettext('Task'),
82 renderer
: Proxmox
.Utils
.render_upid
,
86 text
: gettext('Duration'),
87 dataIndex
: 'duration',
88 renderer
: Proxmox
.Utils
.format_duration_human
,
91 text
: gettext('Status'),
95 renderer
: 'render_status',
98 xtype
: 'actioncolumn',
102 iconCls
: 'fa fa-chevron-right',
103 tooltip
: gettext('Open Task'),
104 handler
: 'openTaskActionColumn',