in helper/src/components/portalnav.js [296:332]
function mergeState(tab, field, value, previewLink) {
let updatevals
let newFields = new Map()
if(lastAIUpdated.tab !== tab || lastAIUpdated.field !== field){
//console.log("AI:- Field Selected " + tab + "-" + field)
appInsights.trackEvent({name: "FieldSelected." + tab + "." + field});
setLastAIUpdated({tab: tab, field: field})
}
if (typeof field === "string") {
updatevals = { [field]: value }
newFields.set(`${tab}.${field}`, value)
} else if (typeof field === "function") {
updatevals = field(tabValues[tab])
for (let nfield of Object.keys(updatevals)) {
newFields.set(`${tab}.${nfield}`, updatevals[nfield])
}
}
setTabValues((p) => {
return {
...p,
[tab]: {
...p[tab],
...updatevals
}
}
})
setUrlParams((currentUrlParams) => {
// remove old cards
for (const [key, value] of newFields.entries()) currentUrlParams.set(key, value)
window.history.replaceState(null, null, "?"+currentUrlParams.toString())
return currentUrlParams
})
}