]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/window/ScheduleSimulator.js
ui: add bulk suspend support
[pve-manager.git] / www / manager6 / window / ScheduleSimulator.js
index 6b02cbc98e5e4e016c221cf02cc5b5147889d4f6..104e93c9c6f51774044a3c4e35073af72cf9501d 100644 (file)
@@ -3,9 +3,20 @@ Ext.define('PVE.window.ScheduleSimulator', {
 
     title: gettext('Job Schedule Simulator'),
 
+    viewModel: {
+       data: {
+           simulatedOnce: false,
+       },
+       formulas: {
+           gridEmptyText: get => get('simulatedOnce') ? Proxmox.Utils.NoneText : gettext('No simulation done'),
+       },
+    },
+
     controller: {
        xclass: 'Ext.app.ViewController',
-       close: function() { this.getView().close(); },
+       close: function() {
+           this.getView().close();
+       },
        simulate: function() {
            let me = this;
            let schedule = me.lookup('schedule').getValue();
@@ -20,10 +31,15 @@ Ext.define('PVE.window.ScheduleSimulator', {
                    schedule,
                    iterations,
                },
-               failure: response => Ext.Msg.alert(gettext('Error'), response.htmlStatus),
+               failure: response => {
+                   me.getViewModel().set('simulatedOnce', true);
+                   me.lookup('grid').getStore().setData([]);
+                   Ext.Msg.alert(gettext('Error'), response.htmlStatus);
+               },
                success: function(response) {
                    let schedules = response.result.data;
                    me.lookup('grid').getStore().setData(schedules);
+                   me.getViewModel().set('simulatedOnce', true);
                },
            });
        },
@@ -71,11 +87,11 @@ Ext.define('PVE.window.ScheduleSimulator', {
                },
                {
                    xtype: 'proxmoxintegerfield',
+                   reference: 'iterations',
+                   fieldLabel: gettext('Iterations'),
                    minValue: 1,
                    maxValue: 100,
                    value: 10,
-                   reference: 'iterations',
-                   fieldLabel: gettext('Iterations'),
                },
                {
                    xtype: 'container',
@@ -100,7 +116,9 @@ Ext.define('PVE.window.ScheduleSimulator', {
                {
                    xtype: 'grid',
                    reference: 'grid',
-                   emptyText: Proxmox.Utils.NoneText,
+                   bind: {
+                       emptyText: '{gridEmptyText}',
+                   },
                    scrollable: true,
                    height: 300,
                    columns: [
@@ -130,7 +148,7 @@ Ext.define('PVE.window.ScheduleSimulator', {
 
     buttons: [
        {
-           text: gettext('OK'),
+           text: gettext('Done'),
            handler: 'close',
        },
     ],