]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/window/ScheduleSimulator.js
1 Ext
.define('PVE.window.ScheduleSimulator', {
2 extend
: 'Ext.window.Window',
4 title
: gettext('Job Schedule Simulator'),
7 xclass
: 'Ext.app.ViewController',
8 close: function() { this.getView().close(); },
11 let schedule
= me
.lookup('schedule').getValue();
15 let iterations
= me
.lookup('iterations').getValue() || 10;
16 Proxmox
.Utils
.API2Request({
17 url
: '/cluster/jobs/schedule-analyze',
23 failure
: response
=> Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
),
24 success: function(response
) {
25 let schedules
= response
.result
.data
;
26 me
.lookup('grid').getStore().setData(schedules
);
31 scheduleChanged: function(field
, value
) {
32 this.lookup('simulateBtn').setDisabled(!value
);
35 renderDate: function(value
) {
36 let date
= new Date(value
*1000);
37 return date
.toLocaleDateString();
40 renderTime: function(value
) {
41 let date
= new Date(value
*1000);
42 return date
.toLocaleTimeString();
45 init: function(view
) {
48 me
.lookup('schedule').setValue(view
.schedule
);
65 xtype
: 'pveCalendarEvent',
66 reference
: 'schedule',
67 fieldLabel
: gettext('Schedule'),
69 change
: 'scheduleChanged',
73 xtype
: 'proxmoxintegerfield',
77 reference
: 'iterations',
78 fieldLabel
: gettext('Iterations'),
90 reference
: 'simulateBtn',
91 text
: gettext('Simulate'),
103 emptyText
: Proxmox
.Utils
.NoneText
,
108 text
: gettext('Date'),
109 renderer
: 'renderDate',
110 dataIndex
: 'timestamp',
114 text
: gettext('Time'),
115 renderer
: 'renderTime',
116 dataIndex
: 'timestamp',
122 fields
: ['timestamp'],