do not display an obstrusive popup on top of a modal window,
but display a hint under the combo box
---
 www/manager6/qemu/QemuBiosEdit.js | 43 +++++++++++++++++++++++++++++++++++----
 1 file changed, 39 insertions(+), 4 deletions(-)

diff --git a/www/manager6/qemu/QemuBiosEdit.js 
b/www/manager6/qemu/QemuBiosEdit.js
index 1dbaab3..623ec7e 100644
--- a/www/manager6/qemu/QemuBiosEdit.js
+++ b/www/manager6/qemu/QemuBiosEdit.js
@@ -1,22 +1,57 @@
 Ext.define('PVE.qemu.BiosEdit', {
     extend: 'PVE.window.Edit',
+    alias: 'widget.pveQemuBiosEdit',
 
     initComponent : function() {
        var me = this;
 
+       var EFIHint = Ext.createWidget({
+           xtype: 'displayfield', //submitValue is false, so we don't get 
submitted
+           fieldStyle: 'background-color: LightYellow;',
+           value: gettext('You need to add an EFI disk for storing the ' +
+           'EFI settings. See the online help for details.'),
+           hidden: true,
+       });
+
        Ext.applyIf(me, {
            subject: 'BIOS',
-           items: {
+           items: [ {
                xtype: 'pveQemuBiosSelector',
                onlineHelp: 'chapter-qm.html#_bios_and_uefi',
                name: 'bios',
                value: '__default__',
-               fieldLabel: 'BIOS'
-           }
-       });
+               fieldLabel: 'BIOS',
+               listeners: {
+                   'change' : function(field, newValue) {
+                       if (newValue == 'ovmf') {
+                           PVE.Utils.API2Request({
+                               url : me.url,
+                               method : 'GET',
+                               failure : function(response, opts) {
+                                   Ext.Msg.alert(gettext('Error'), 
response.htmlStatus);
+                               },
+                               success : function(response, opts) {
+                                   var vmConfig = response.result.data;
+                                   // there can be only one
+                                   if (!vmConfig.efidisk0) {
+                                       EFIHint.setVisible(true);
+                                   }
+                               }
+                           });
+                       } else {
+                           if (EFIHint.isVisible()) {
+                               EFIHint.setVisible(false);
+                           }
+                       }
+                   }
+               }
+           },
+           EFIHint
+           ] });
 
        me.callParent();
 
        me.load();
+
     }
 });
-- 
2.1.4


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to