Signed-off-by: Alexandre Derumier <aderum...@odiso.com>
---
 www/manager/Makefile                 |    1 +
 www/manager/form/SnapshotSelector.js |   64 ++++++++++++++++++++++++++++++++++
 2 files changed, 65 insertions(+)
 create mode 100644 www/manager/form/SnapshotSelector.js

diff --git a/www/manager/Makefile b/www/manager/Makefile
index 9e84ef1..7da2234 100644
--- a/www/manager/Makefile
+++ b/www/manager/Makefile
@@ -45,6 +45,7 @@ JSSRC=                                                        
\
        form/LanguageSelector.js                        \
        form/DisplaySelector.js                         \
        form/CacheTypeSelector.js                       \
+       form/SnapshotSelector.js                        \
        form/ContentTypeSelector.js                     \
        form/DayOfWeekSelector.js                       \
        form/BackupModeSelector.js                      \
diff --git a/www/manager/form/SnapshotSelector.js 
b/www/manager/form/SnapshotSelector.js
new file mode 100644
index 0000000..15eb65a
--- /dev/null
+++ b/www/manager/form/SnapshotSelector.js
@@ -0,0 +1,64 @@
+Ext.define('PVE.form.SnapshotSelector', {
+    extend: 'PVE.form.ComboGrid',
+    alias: ['widget.PVE.form.SnapshotSelector'],
+
+    loadStore: function(nodename, vmid) {
+       var me = this;
+
+       if (!nodename) {
+           return;
+       }
+
+       me.nodename = nodename;
+
+        if (!vmid) {
+           return
+        }
+
+       me.vmid = vmid;
+
+       me.store.setProxy({
+           type: 'pve',
+           url: '/api2/json/nodes/' + me.nodename + '/qemu/' + me.vmid 
+'/snapshot'
+       });
+
+       me.store.load();
+    },
+
+    initComponent: function() {
+       var me = this;
+
+        if (!me.nodename) {
+            throw "no node name specified";
+        }
+
+        if (!me.vmid) {
+            throw "no VM ID specified";
+        }
+
+       var store = Ext.create('Ext.data.Store', {
+           fields: [ 'name'],
+           filterOnLoad: true,
+       });
+
+       Ext.apply(me, {
+           store: store,
+           valueField: 'name',
+           displayField: 'name',
+            listConfig: {
+               columns: [
+                   {
+                       header: 'Snapshot',
+                       dataIndex: 'name',
+                       hideable: false,
+                       flex: 1
+                   },
+               ]
+           }
+       });
+
+        me.callParent();
+
+       me.loadStore(me.nodename, me.vmid);
+    }
+});
-- 
1.7.10.4

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

Reply via email to