]> git.proxmox.com Git - proxmox-backup.git/commitdiff
ui: move remote target datastore/ns selectors to own file
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 11 May 2022 15:34:34 +0000 (17:34 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 12 May 2022 07:40:43 +0000 (09:40 +0200)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
www/Makefile
www/form/RemoteTargetSelector.js [new file with mode: 0644]
www/window/SyncJobEdit.js

index e9cfaf622544057f63551e9c2eb6038a63afd482..e95345f1737cf91eaf373ab0b350a3eb8937220f 100644 (file)
@@ -39,6 +39,7 @@ JSSRC=                                                        \
        form/TokenSelector.js                           \
        form/AuthidSelector.js                          \
        form/RemoteSelector.js                          \
+       form/RemoteTargetSelector.js                    \
        form/DataStoreSelector.js                       \
        form/NamespaceSelector.js                       \
        form/NamespaceMaxDepth.js                       \
diff --git a/www/form/RemoteTargetSelector.js b/www/form/RemoteTargetSelector.js
new file mode 100644 (file)
index 0000000..25937a5
--- /dev/null
@@ -0,0 +1,188 @@
+Ext.define('PBS.form.RemoteStoreSelector', {
+    extend: 'Proxmox.form.ComboGrid',
+    alias: 'widget.pbsRemoteStoreSelector',
+
+    queryMode: 'local',
+
+    valueField: 'store',
+    displayField: 'store',
+    notFoundIsValid: true,
+
+    matchFieldWidth: false,
+    listConfig: {
+       loadingText: gettext('Scanning...'),
+       width: 350,
+       columns: [
+           {
+               header: gettext('Datastore'),
+               sortable: true,
+               dataIndex: 'store',
+               renderer: Ext.String.htmlEncode,
+               flex: 1,
+           },
+           {
+               header: gettext('Comment'),
+               dataIndex: 'comment',
+               renderer: Ext.String.htmlEncode,
+               flex: 1,
+           },
+       ],
+    },
+
+    doRawQuery: function() {
+       // do nothing.
+    },
+
+    setRemote: function(remote) {
+       let me = this;
+
+       if (me.remote === remote) {
+           return;
+       }
+
+       me.remote = remote;
+
+       let store = me.store;
+       store.removeAll();
+
+       if (me.remote) {
+           me.setDisabled(false);
+           if (!me.firstLoad) {
+               me.clearValue();
+           }
+
+           store.proxy.url = '/api2/json/config/remote/' + encodeURIComponent(me.remote) + '/scan';
+           store.load();
+
+           me.firstLoad = false;
+       } else {
+           me.setDisabled(true);
+           me.clearValue();
+       }
+    },
+
+    initComponent: function() {
+       let me = this;
+
+       me.firstLoad = true;
+
+       let store = Ext.create('Ext.data.Store', {
+           fields: ['store', 'comment'],
+           proxy: {
+               type: 'proxmox',
+               url: '/api2/json/config/remote/' + encodeURIComponent(me.remote) + '/scan',
+           },
+       });
+
+       store.sort('store', 'ASC');
+
+       Ext.apply(me, {
+           store: store,
+       });
+
+       me.callParent();
+    },
+});
+
+Ext.define('PBS.form.RemoteNamespaceSelector', {
+    extend: 'Proxmox.form.ComboGrid',
+    alias: 'widget.pbsRemoteNamespaceSelector',
+
+    queryMode: 'local',
+
+    valueField: 'ns',
+    displayField: 'ns',
+    emptyText: PBS.Utils.render_optional_namespace(''),
+    notFoundIsValid: true,
+
+    matchFieldWidth: false,
+    listConfig: {
+       loadingText: gettext('Scanning...'),
+       width: 350,
+       columns: [
+           {
+               header: gettext('Namespace'),
+               sortable: true,
+               dataIndex: 'ns',
+               renderer: PBS.Utils.render_optional_namespace, // FIXME proper root-aware renderer
+               flex: 1,
+           },
+           {
+               header: gettext('Comment'),
+               dataIndex: 'comment',
+               renderer: Ext.String.htmlEncode,
+               flex: 1,
+           },
+       ],
+    },
+
+    doRawQuery: function() {
+       // do nothing.
+    },
+
+    setRemote: function(remote) {
+       let me = this;
+
+       if (me.remote === remote) {
+           return;
+       }
+
+       me.remote = remote;
+
+       let store = me.store;
+       store.removeAll();
+
+       me.setDisabled(true);
+       me.clearValue();
+    },
+
+    setRemoteStore: function(remoteStore) {
+       let me = this;
+
+       if (me.remoteStore === remoteStore) {
+           return;
+       }
+
+       me.remoteStore = remoteStore;
+
+       let store = me.store;
+       store.removeAll();
+
+       if (me.remote && me.remoteStore) {
+           me.setDisabled(false);
+           if (!me.firstLoad) {
+               me.clearValue();
+           }
+
+           store.proxy.url = '/api2/json/config/remote/' + encodeURIComponent(me.remote) + '/scan/' + encodeURIComponent(me.remoteStore) + '/namespaces';
+           store.load();
+
+           me.firstLoad = false;
+       } else {
+           me.setDisabled(true);
+           me.clearValue();
+       }
+    },
+
+    initComponent: function() {
+       let me = this;
+
+       me.firstLoad = true;
+
+       let store = Ext.create('Ext.data.Store', {
+           fields: ['ns', 'comment'],
+           proxy: {
+               type: 'proxmox',
+               url: '/api2/json/config/remote/' + encodeURIComponent(me.remote) + '/scan',
+           },
+       });
+
+       store.sort('store', 'ASC');
+
+       Ext.apply(me, {
+           store: store,
+       });
+
+       me.callParent();
+    },
+});
index 571398e32db9e16a09d894177ba8fd856ada18a6..60f81a1dcf346979611e5ee6c1188993537587b4 100644 (file)
@@ -1,193 +1,3 @@
-Ext.define('PBS.form.RemoteStoreSelector', {
-    extend: 'Proxmox.form.ComboGrid',
-    alias: 'widget.pbsRemoteStoreSelector',
-
-    queryMode: 'local',
-
-    valueField: 'store',
-    displayField: 'store',
-    notFoundIsValid: true,
-
-    matchFieldWidth: false,
-    listConfig: {
-       loadingText: gettext('Scanning...'),
-       width: 350,
-       columns: [
-           {
-               header: gettext('Datastore'),
-               sortable: true,
-               dataIndex: 'store',
-               renderer: Ext.String.htmlEncode,
-               flex: 1,
-           },
-           {
-               header: gettext('Comment'),
-               dataIndex: 'comment',
-               renderer: Ext.String.htmlEncode,
-               flex: 1,
-           },
-       ],
-    },
-
-    doRawQuery: function() {
-       // do nothing.
-    },
-
-    setRemote: function(remote) {
-       let me = this;
-
-       if (me.remote === remote) {
-           return;
-       }
-
-       me.remote = remote;
-
-       let store = me.store;
-       store.removeAll();
-
-       if (me.remote) {
-           me.setDisabled(false);
-           if (!me.firstLoad) {
-               me.clearValue();
-           }
-
-           store.proxy.url = '/api2/json/config/remote/' + encodeURIComponent(me.remote) + '/scan';
-           store.load();
-
-           me.firstLoad = false;
-       } else {
-           me.setDisabled(true);
-           me.clearValue();
-       }
-    },
-
-    initComponent: function() {
-       let me = this;
-
-       me.firstLoad = true;
-
-       let store = Ext.create('Ext.data.Store', {
-           fields: ['store', 'comment'],
-           proxy: {
-               type: 'proxmox',
-               url: '/api2/json/config/remote/' + encodeURIComponent(me.remote) + '/scan',
-           },
-       });
-
-       store.sort('store', 'ASC');
-
-       Ext.apply(me, {
-           store: store,
-       });
-
-       me.callParent();
-    },
-});
-
-Ext.define('PBS.form.RemoteNamespaceSelector', {
-    extend: 'Proxmox.form.ComboGrid',
-    alias: 'widget.pbsRemoteNamespaceSelector',
-
-    queryMode: 'local',
-
-    valueField: 'ns',
-    displayField: 'ns',
-    emptyText: PBS.Utils.render_optional_namespace(''),
-    notFoundIsValid: true,
-
-    matchFieldWidth: false,
-    listConfig: {
-       loadingText: gettext('Scanning...'),
-       width: 350,
-       columns: [
-           {
-               header: gettext('Namespace'),
-               sortable: true,
-               dataIndex: 'ns',
-               renderer: PBS.Utils.render_optional_namespace, // FIXME proper root-aware renderer
-               flex: 1,
-           },
-           {
-               header: gettext('Comment'),
-               dataIndex: 'comment',
-               renderer: Ext.String.htmlEncode,
-               flex: 1,
-           },
-       ],
-    },
-
-    doRawQuery: function() {
-       // do nothing.
-    },
-
-    setRemote: function(remote) {
-       let me = this;
-
-       if (me.remote === remote) {
-           return;
-       }
-
-       me.remote = remote;
-
-       let store = me.store;
-       store.removeAll();
-
-       me.setDisabled(true);
-       me.clearValue();
-    },
-
-    setRemoteStore: function(remoteStore) {
-       let me = this;
-
-       if (me.remoteStore === remoteStore) {
-           return;
-       }
-
-       me.remoteStore = remoteStore;
-
-       let store = me.store;
-       store.removeAll();
-
-       if (me.remote && me.remoteStore) {
-           me.setDisabled(false);
-           if (!me.firstLoad) {
-               me.clearValue();
-           }
-
-           store.proxy.url = '/api2/json/config/remote/' + encodeURIComponent(me.remote) + '/scan/' + encodeURIComponent(me.remoteStore) + '/namespaces';
-           store.load();
-
-           me.firstLoad = false;
-       } else {
-           me.setDisabled(true);
-           me.clearValue();
-       }
-    },
-
-    initComponent: function() {
-       let me = this;
-
-       me.firstLoad = true;
-
-       let store = Ext.create('Ext.data.Store', {
-           fields: ['ns', 'comment'],
-           proxy: {
-               type: 'proxmox',
-               url: '/api2/json/config/remote/' + encodeURIComponent(me.remote) + '/scan',
-           },
-       });
-
-       store.sort('store', 'ASC');
-
-       Ext.apply(me, {
-           store: store,
-       });
-
-       me.callParent();
-    },
-});
-
-
 Ext.define('PBS.window.SyncJobEdit', {
     extend: 'Proxmox.window.Edit',
     alias: 'widget.pbsSyncJobEdit',