]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/window/ScheduleSimulator.js
104e93c9c6f51774044a3c4e35073af72cf9501d
1 Ext
.define('PVE.window.ScheduleSimulator', {
2 extend
: 'Ext.window.Window',
4 title
: gettext('Job Schedule Simulator'),
11 gridEmptyText
: get => get('simulatedOnce') ? Proxmox
.Utils
.NoneText
: gettext('No simulation done'),
16 xclass
: 'Ext.app.ViewController',
18 this.getView().close();
20 simulate: function() {
22 let schedule
= me
.lookup('schedule').getValue();
26 let iterations
= me
.lookup('iterations').getValue() || 10;
27 Proxmox
.Utils
.API2Request({
28 url
: '/cluster/jobs/schedule-analyze',
34 failure
: response
=> {
35 me
.getViewModel().set('simulatedOnce', true);
36 me
.lookup('grid').getStore().setData([]);
37 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
39 success: function(response
) {
40 let schedules
= response
.result
.data
;
41 me
.lookup('grid').getStore().setData(schedules
);
42 me
.getViewModel().set('simulatedOnce', true);
47 scheduleChanged: function(field
, value
) {
48 this.lookup('simulateBtn').setDisabled(!value
);
51 renderDate: function(value
) {
52 let date
= new Date(value
*1000);
53 return date
.toLocaleDateString();
56 renderTime: function(value
) {
57 let date
= new Date(value
*1000);
58 return date
.toLocaleTimeString();
61 init: function(view
) {
64 me
.lookup('schedule').setValue(view
.schedule
);
81 xtype
: 'pveCalendarEvent',
82 reference
: 'schedule',
83 fieldLabel
: gettext('Schedule'),
85 change
: 'scheduleChanged',
89 xtype
: 'proxmoxintegerfield',
90 reference
: 'iterations',
91 fieldLabel
: gettext('Iterations'),
106 reference
: 'simulateBtn',
107 text
: gettext('Simulate'),
120 emptyText
: '{gridEmptyText}',
126 text
: gettext('Date'),
127 renderer
: 'renderDate',
128 dataIndex
: 'timestamp',
132 text
: gettext('Time'),
133 renderer
: 'renderTime',
134 dataIndex
: 'timestamp',
140 fields
: ['timestamp'],
151 text
: gettext('Done'),