]> git.proxmox.com Git - pve-manager.git/commitdiff
use new button class
authorDietmar Maurer <dietmar@proxmox.com>
Fri, 4 Nov 2011 09:57:50 +0000 (10:57 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Fri, 4 Nov 2011 09:57:50 +0000 (10:57 +0100)
www/manager/storage/ContentView.js

index 363b8474fa8973ee297ab68e5d44ac05b197ef04..4b67d7cad44059fab2f37288691e1bb4eb0a3478 100644 (file)
@@ -203,6 +203,8 @@ Ext.define('PVE.storage.ContentView', {
            }
        });
 
+       var sm = Ext.create('Ext.selection.RowModel', {});
+
        var groupingFeature = Ext.create('Ext.grid.feature.Grouping',{
             groupHeaderTpl: 'ContentType: {name} ({rows.length} Item{[values.rows.length > 1 ? "s" : ""]})'
        });
@@ -211,53 +213,9 @@ Ext.define('PVE.storage.ContentView', {
            store.load();
        };
 
-       var remove_btn = new Ext.Button({
-           text: 'Delete',
-           disabled: true,
-           handler: function() {
-               var sm = me.getSelectionModel();
-               var rec = sm.getSelection()[0];
-               if (!rec) {
-                   return;
-               }
-
-               var volid = rec.data.volid;
-
-               var msg = 'Are you sure you want to delete volume "' + volid + '"';
-               Ext.Msg.confirm('Deletion Confirmation', msg, function(btn) {
-                   if (btn !== 'yes') {
-                       return;
-                   }
-
-                   PVE.Utils.API2Request({
-                       url: baseurl + '/' + volid,
-                       method: 'DELETE',
-                       waitMsgTarget: me,
-                       callback: function() {
-                           reload();
-                       },
-                       failure: function (response, opts) {
-                           Ext.Msg.alert('Error', response.htmlStatus);
-                       }
-                   });
-               });
-           }
-        });
-
-       var set_button_status = function() {
-           var sm = me.getSelectionModel();
-           var rec = sm.getSelection()[0];
-
-           if (!rec || rec.data.content === 'images') {
-               remove_btn.setDisabled(true);
-               return;
-           }
-
-           remove_btn.setDisabled(false);
-       };
-       Ext.apply(me, {
+       Ext.apply(me, {
            store: store,
+           selModel: sm,
            stateful: false,
            viewConfig: {
                trackOver: false
@@ -267,7 +225,31 @@ Ext.define('PVE.storage.ContentView', {
                {
                    text: 'Restore'
                },
-               remove_btn,
+               {
+                   xtype: 'pveButton',
+                   text: 'Delete',
+                   selModel: sm,
+                   disabled: true,
+                   confirmMsg: function(rec) {
+                       return 'Are you sure you want to delete volume "' + rec.data.volid + '"';
+                   },
+                   enableFn: function(rec) {
+                       return rec && rec.data.content !== 'images';
+                   },
+                   handler: function(b, e, rec) {
+                       PVE.Utils.API2Request({
+                           url: baseurl + '/' + rec.data.volid,
+                           method: 'DELETE',
+                           waitMsgTarget: me,
+                           callback: function() {
+                               reload();
+                           },
+                           failure: function (response, opts) {
+                               Ext.Msg.alert('Error', response.htmlStatus);
+                           }
+                       });
+                   }
+               },
                {
                    text: 'Upload',
                    handler: function() {
@@ -301,8 +283,7 @@ Ext.define('PVE.storage.ContentView', {
                }
            ],
            listeners: {
-               show: reload,
-               selectionchange: set_button_status
+               show: reload
            }
        });