diff --git a/htdocs/WebApplications/CustomizableApp/ViewModels/ViewModel_UnionTable.js b/htdocs/WebApplications/CustomizableApp/ViewModels/ViewModel_UnionTable.js index abdd7964b6a2c38c0f8d4c74d084b9aa09a12b86..e2b4e6cec18fc3bc2eb58941fa82e79286c0851b 100644 --- a/htdocs/WebApplications/CustomizableApp/ViewModels/ViewModel_UnionTable.js +++ b/htdocs/WebApplications/CustomizableApp/ViewModels/ViewModel_UnionTable.js @@ -73,7 +73,7 @@ function CViewModel_UnionTable(aViewModel, aOptions) { return mViewModel.getRequestFromPath(mResponseDataPaths[0]).getData.element; }; - this.getResponseElement = function (aReponseDataPath, aFullTableSelection) { + this.getResponseElement = function (aReponseDataPath, aFullTableSelection) { var lElement; if (aFullTableSelection) { aFullTableSelection.parents = []; @@ -86,9 +86,9 @@ function CViewModel_UnionTable(aViewModel, aOptions) { lElement = lElement[aReponseDataPath[0]]; } if (lElement) { - var lRq = mViewModel.getRequest()[aReponseDataPath[0]]; - for (var i = 1; i < aReponseDataPath.length && lElement; ++i) { - if (lElement.list && lRq.getData.selection && lRq.getData.selection.length > 0) { + var lRq = mViewModel.getRequest()[aReponseDataPath[0]]; + for (var i = 1; i < aReponseDataPath.length && lElement; ++i) { + if (lElement.list && lRq.getData.selection && lRq.getData.selection.length > 0) { if (aFullTableSelection) { aFullTableSelection.depth--; if (lElement.list[lRq.getData.selection[0]] != undefined) { @@ -104,19 +104,21 @@ function CViewModel_UnionTable(aViewModel, aOptions) { lElement = undefined; break; } - } else if (!lRq.getData.selection || lRq.getData.selection.length === 0) { - /**/ - } else if (lElement.node && lElement.node.childVals) { - lElement = lElement.node.childVals[aReponseDataPath[i]]; - } else + } else if (lElement.node && lElement.node.childVals) { + lElement = lElement.node.childVals[aReponseDataPath[i]]; + aFullTableSelection.depth--; + aFullTableSelection.path = aFullTableSelection.path.slice(1); + } else if (!lRq.getData.selection || lRq.getData.selection.length === 0) { + /**/ + } else lElement = { "error" : "cannot determine node" }; - if (lRq.getData.children) - lRq = lRq.getData.children[aReponseDataPath[i]]; + if (lRq.getData.children) + lRq = lRq.getData.children[aReponseDataPath[i]]; } } - } + } return lElement; };