]> git.proxmox.com Git - pve-manager.git/commitdiff
ui: refactor pool edit window
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 22 May 2020 15:16:04 +0000 (17:16 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 22 May 2020 15:16:04 +0000 (17:16 +0200)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
www/manager6/dc/PoolEdit.js

index b17d0b8a1818bea721633a0bb7d166140b84f588..d55756e72ac9baf605f1315d4c72a935c11b20c8 100644 (file)
@@ -1,59 +1,37 @@
 Ext.define('PVE.dc.PoolEdit', {
     extend: 'Proxmox.window.Edit',
     alias: ['widget.pveDcPoolEdit'],
+    mixins: ['Proxmox.Mixin.CBind'],
 
-    initComponent : function() {
-        var me = this;
+    subject: gettext('Pool'),
 
-        me.isCreate = !me.poolid;
+    cbindData: {
+       poolid: '',
+       isCreate: (cfg) => !cfg.poolid,
+    },
 
-        var url;
-        var method;
+    cbind: {
+       autoLoad: get => !get('isCreate'),
+       url: get => `/api2/extjs/pools/${get('poolid')}`,
+       method: get => get('isCreate') ? 'POST' : 'PUT',
+    },
 
-        if (me.isCreate) {
-            url = '/api2/extjs/pools';
-            method = 'POST';
-        } else {
-            url = '/api2/extjs/pools/' + me.poolid;
-            method = 'PUT';
-        }
-
-        Ext.applyIf(me, {
-            subject: gettext('Pool'),
-            url: url,
-            method: method,
-            items: [
-                {
-                   xtype: me.isCreate ? 'proxmoxtextfield' : 'displayfield',
-                   fieldLabel: gettext('Name'),
-                   name: 'poolid',
-                   value: me.poolid,
-                   allowBlank: false
-               },
-                {
-                   xtype: 'textfield',
-                   fieldLabel: gettext('Comment'),
-                   name: 'comment',
-                   allowBlank: true
-               }
-            ]
-        });
-
-        me.callParent();
-
-        if (!me.isCreate) {
-            me.load();
-        } else {
-           me.type = 'vnet'
-/*
-                    for (i = 0; i < 100; i++) {
-                        confid = 'net' + i.toString();
-                        if (!Ext.isDefined(me.vmconfig[confid])) {
-                            me.confid = confid;
-                            break;
-                        }
-                    }
-*/
-       }
-    }
+    items: [
+       {
+           xtype: 'pmxDisplayEditField',
+           fieldLabel: gettext('Name'),
+           cbind: {
+               editable: '{isCreate}',
+               value: '{poolid}',
+           },
+           name: 'poolid',
+           allowBlank: false,
+       },
+       {
+           xtype: 'textfield',
+           fieldLabel: gettext('Comment'),
+           name: 'comment',
+           allowBlank: true,
+       },
+    ],
 });