]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
edit window: add extraParams config
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 28 Oct 2020 11:54:25 +0000 (12:54 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 28 Oct 2020 12:12:03 +0000 (13:12 +0100)
For passing some default params which are passed along automatically
when calling load and doing the submit.

Useful in PBS, as there we often have the snapshot ID in multiple
parameters, not included in the request path, required for various
API call.

The params take low precendence, and are overwritten by values in
form fields with the same name for submit, or explicit params passed
to load calls

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
src/window/Edit.js

index bc8c50abaf7c0daa1a64297b18d08aefd4c9a921..f548196ba26ed4d095be5cbceaa4c66292077968 100644 (file)
@@ -7,6 +7,10 @@ Ext.define('Proxmox.window.Edit', {
     // set extra options like params for the load request
     autoLoadOptions: undefined,
 
+    // to submit extra params on load and submit, useful, e.g., if not all ID
+    // parameters are included in the URL
+    extraRequestParams: {},
+
     resizable: false,
 
     // use this to atimatically generate a title like `Create: <subject>`
@@ -62,6 +66,8 @@ Ext.define('Proxmox.window.Edit', {
        let me = this;
 
        let values = {};
+       Ext.apply(values, me.extraRequestParams);
+
        let form = me.formPanel.getForm();
 
        form.getFields().each(function(field) {
@@ -187,6 +193,12 @@ Ext.define('Proxmox.window.Edit', {
            waitMsgTarget: me,
        }, options);
 
+       if (Object.keys(me.extraRequestParams).length > 0) {
+           let params = newopts.params || {};
+           Ext.applyIf(params, me.extraRequestParams);
+           newopts.params = params;
+       }
+
        let createWrapper = function(successFn) {
            Ext.apply(newopts, {
                url: me.url,