fix for double params in dashboard widget request urls

This commit is contained in:
Tim Chamberlain
2023-03-16 11:37:45 -05:00
parent c812dea8ea
commit f1baefa5f6

View File

@ -119,6 +119,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, omit
{ {
let ampersand = ""; let ampersand = "";
let params = ""; let params = "";
if(entityPrimaryKey) if(entityPrimaryKey)
{ {
params += `${ampersand}id=${entityPrimaryKey}`; params += `${ampersand}id=${entityPrimaryKey}`;
@ -134,33 +135,31 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, omit
params += `${ampersand}${extraParams}`; params += `${ampersand}${extraParams}`;
ampersand = "&"; ampersand = "&";
} }
if(childUrlParams)
{
params += `${ampersand}${childUrlParams}`;
ampersand = "&";
}
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// see if local storage is used for any widget dropdowns, if so, look them // // see if local storage is used for any widget dropdowns, if so, look them //
// up and append to the query string // // up and append to the query string //
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
if(params === "")
{
let thisWidgetHasDropdowns = widgetMetaData && widgetMetaData.storeDropdownSelections && widgetMetaData.dropdowns; let thisWidgetHasDropdowns = widgetMetaData && widgetMetaData.storeDropdownSelections && widgetMetaData.dropdowns;
let parentWidgetHasDropdowns = parentWidgetMetaData && parentWidgetMetaData.storeDropdownSelections && parentWidgetMetaData.dropdowns; let parentWidgetHasDropdowns = parentWidgetMetaData && parentWidgetMetaData.storeDropdownSelections && parentWidgetMetaData.dropdowns;
if(thisWidgetHasDropdowns || parentWidgetHasDropdowns) if (thisWidgetHasDropdowns || parentWidgetHasDropdowns)
{ {
const metaDataToUse = (thisWidgetHasDropdowns) ? widgetMetaData : parentWidgetMetaData; const metaDataToUse = (thisWidgetHasDropdowns) ? widgetMetaData : parentWidgetMetaData;
for(let i = 0; i< metaDataToUse.dropdowns.length; i++) for (let i = 0; i < metaDataToUse.dropdowns.length; i++)
{ {
const dropdownName = metaDataToUse.dropdowns[i].possibleValueSourceName; const dropdownName = metaDataToUse.dropdowns[i].possibleValueSourceName;
const localStorageKey = `${WIDGET_DROPDOWN_SELECTION_LOCAL_STORAGE_KEY_ROOT}.${metaDataToUse.name}.${dropdownName}`; const localStorageKey = `${WIDGET_DROPDOWN_SELECTION_LOCAL_STORAGE_KEY_ROOT}.${metaDataToUse.name}.${dropdownName}`;
const json = JSON.parse(localStorage.getItem(localStorageKey)); const json = JSON.parse(localStorage.getItem(localStorageKey));
if(json) if (json)
{ {
params += `${ampersand}${dropdownName}=${json.id}`; params += `${ampersand}${dropdownName}=${json.id}`;
ampersand = "&"; ampersand = "&";
} }
} }
} }
}
return params; return params;
} }