Skip to content
Snippets Groups Projects
Commit 5d67ba27 authored by Eduárd Czimbalmos's avatar Eduárd Czimbalmos
Browse files

Fix UnionTable getResponseElement: handle node elements correctly

parent beba9fc2
No related branches found
No related tags found
1 merge request!8Fix UnionTable getResponseElement: handle node elements correctly
...@@ -73,7 +73,7 @@ function CViewModel_UnionTable(aViewModel, aOptions) { ...@@ -73,7 +73,7 @@ function CViewModel_UnionTable(aViewModel, aOptions) {
return mViewModel.getRequestFromPath(mResponseDataPaths[0]).getData.element; return mViewModel.getRequestFromPath(mResponseDataPaths[0]).getData.element;
}; };
this.getResponseElement = function (aReponseDataPath, aFullTableSelection) { this.getResponseElement = function (aReponseDataPath, aFullTableSelection) {
var lElement; var lElement;
if (aFullTableSelection) { if (aFullTableSelection) {
aFullTableSelection.parents = []; aFullTableSelection.parents = [];
...@@ -86,9 +86,9 @@ function CViewModel_UnionTable(aViewModel, aOptions) { ...@@ -86,9 +86,9 @@ function CViewModel_UnionTable(aViewModel, aOptions) {
lElement = lElement[aReponseDataPath[0]]; lElement = lElement[aReponseDataPath[0]];
} }
if (lElement) { if (lElement) {
var lRq = mViewModel.getRequest()[aReponseDataPath[0]]; var lRq = mViewModel.getRequest()[aReponseDataPath[0]];
for (var i = 1; i < aReponseDataPath.length && lElement; ++i) { for (var i = 1; i < aReponseDataPath.length && lElement; ++i) {
if (lElement.list && lRq.getData.selection && lRq.getData.selection.length > 0) { if (lElement.list && lRq.getData.selection && lRq.getData.selection.length > 0) {
if (aFullTableSelection) { if (aFullTableSelection) {
aFullTableSelection.depth--; aFullTableSelection.depth--;
if (lElement.list[lRq.getData.selection[0]] != undefined) { if (lElement.list[lRq.getData.selection[0]] != undefined) {
...@@ -104,19 +104,21 @@ function CViewModel_UnionTable(aViewModel, aOptions) { ...@@ -104,19 +104,21 @@ function CViewModel_UnionTable(aViewModel, aOptions) {
lElement = undefined; lElement = undefined;
break; 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 if (lElement.node && lElement.node.childVals) { aFullTableSelection.depth--;
lElement = lElement.node.childVals[aReponseDataPath[i]]; aFullTableSelection.path = aFullTableSelection.path.slice(1);
} else } else if (!lRq.getData.selection || lRq.getData.selection.length === 0) {
/**/
} else
lElement = { lElement = {
"error" : "cannot determine node" "error" : "cannot determine node"
}; };
if (lRq.getData.children) if (lRq.getData.children)
lRq = lRq.getData.children[aReponseDataPath[i]]; lRq = lRq.getData.children[aReponseDataPath[i]];
} }
} }
} }
return lElement; return lElement;
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment