From f1baefa5f6b94364bd62a68db4a8032cbca3bbe6 Mon Sep 17 00:00:00 2001 From: Tim Chamberlain Date: Thu, 16 Mar 2023 11:37:45 -0500 Subject: [PATCH] fix for double params in dashboard widget request urls --- .../components/widgets/DashboardWidgets.tsx | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/qqq/components/widgets/DashboardWidgets.tsx b/src/qqq/components/widgets/DashboardWidgets.tsx index 5f0c9a7..c3d883e 100644 --- a/src/qqq/components/widgets/DashboardWidgets.tsx +++ b/src/qqq/components/widgets/DashboardWidgets.tsx @@ -119,6 +119,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, omit { let ampersand = ""; let params = ""; + if(entityPrimaryKey) { params += `${ampersand}id=${entityPrimaryKey}`; @@ -134,30 +135,28 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, omit params += `${ampersand}${extraParams}`; ampersand = "&"; } - if(childUrlParams) - { - params += `${ampersand}${childUrlParams}`; - ampersand = "&"; - } ///////////////////////////////////////////////////////////////////////////// // see if local storage is used for any widget dropdowns, if so, look them // // up and append to the query string // ///////////////////////////////////////////////////////////////////////////// - let thisWidgetHasDropdowns = widgetMetaData && widgetMetaData.storeDropdownSelections && widgetMetaData.dropdowns; - let parentWidgetHasDropdowns = parentWidgetMetaData && parentWidgetMetaData.storeDropdownSelections && parentWidgetMetaData.dropdowns; - if(thisWidgetHasDropdowns || parentWidgetHasDropdowns) + if(params === "") { - const metaDataToUse = (thisWidgetHasDropdowns) ? widgetMetaData : parentWidgetMetaData; - for(let i = 0; i< metaDataToUse.dropdowns.length; i++) + let thisWidgetHasDropdowns = widgetMetaData && widgetMetaData.storeDropdownSelections && widgetMetaData.dropdowns; + let parentWidgetHasDropdowns = parentWidgetMetaData && parentWidgetMetaData.storeDropdownSelections && parentWidgetMetaData.dropdowns; + if (thisWidgetHasDropdowns || parentWidgetHasDropdowns) { - const dropdownName = metaDataToUse.dropdowns[i].possibleValueSourceName; - const localStorageKey = `${WIDGET_DROPDOWN_SELECTION_LOCAL_STORAGE_KEY_ROOT}.${metaDataToUse.name}.${dropdownName}`; - const json = JSON.parse(localStorage.getItem(localStorageKey)); - if(json) + const metaDataToUse = (thisWidgetHasDropdowns) ? widgetMetaData : parentWidgetMetaData; + for (let i = 0; i < metaDataToUse.dropdowns.length; i++) { - params += `${ampersand}${dropdownName}=${json.id}`; - ampersand = "&"; + const dropdownName = metaDataToUse.dropdowns[i].possibleValueSourceName; + const localStorageKey = `${WIDGET_DROPDOWN_SELECTION_LOCAL_STORAGE_KEY_ROOT}.${metaDataToUse.name}.${dropdownName}`; + const json = JSON.parse(localStorage.getItem(localStorageKey)); + if (json) + { + params += `${ampersand}${dropdownName}=${json.id}`; + ampersand = "&"; + } } } }