Fixed issue where client customized widgets were not being added to the page widget collection.
This commit is contained in:
parent
43675a475e
commit
27e51873ed
1 changed files with 22 additions and 2 deletions
|
|
@ -37,6 +37,7 @@ export function fetchCmsContentForPage(issPage) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Support method for processing the page data from the CMS call.
|
// Support method for processing the page data from the CMS call.
|
||||||
|
// widgets = current widget collection used by page.
|
||||||
// baseResponse = contains the widgets from the base page.
|
// baseResponse = contains the widgets from the base page.
|
||||||
// clientResponse = contains the widgets from the client override page. (null if none)
|
// clientResponse = contains the widgets from the client override page. (null if none)
|
||||||
function processPageData(baseResponse, clientResponse) {
|
function processPageData(baseResponse, clientResponse) {
|
||||||
|
|
@ -49,7 +50,7 @@ function processPageData(baseResponse, clientResponse) {
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Overide any base widgets with the client override widgets if found.
|
// Override any base widgets with the client override widgets if found.
|
||||||
baseResponse.data.Result.forEach((baseWidget) => {
|
baseResponse.data.Result.forEach((baseWidget) => {
|
||||||
let found = false;
|
let found = false;
|
||||||
clientResponse.data.Result.forEach((clientWidget) => {
|
clientResponse.data.Result.forEach((clientWidget) => {
|
||||||
|
|
@ -62,11 +63,30 @@ function processPageData(baseResponse, clientResponse) {
|
||||||
});
|
});
|
||||||
|
|
||||||
if ( !found )
|
if ( !found )
|
||||||
|
{
|
||||||
widgets.push(baseWidget);
|
widgets.push(baseWidget);
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Add any unique client widgets that does not exist in the current main widgets collection.
|
||||||
|
clientResponse.data.Result.forEach((clientWidget) => {
|
||||||
|
let found = false;
|
||||||
|
widgets.forEach((currentWidget) => {
|
||||||
|
|
||||||
|
if ( clientWidget.Name == currentWidget.Name )
|
||||||
|
{
|
||||||
|
found = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if ( !found )
|
||||||
|
{
|
||||||
|
widgets.push(clientWidget);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
widgets.forEach((widget) => {
|
widgets.forEach((widget) => {
|
||||||
// Global state value replacement.
|
// Global state value replacement.
|
||||||
let widgetWithReplacements = findAndReplaceGlobalStateValues(
|
let widgetWithReplacements = findAndReplaceGlobalStateValues(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue