Skip to content

Instantly share code, notes, and snippets.

@piecyk
Created March 20, 2014 09:25
Show Gist options
  • Save piecyk/9660145 to your computer and use it in GitHub Desktop.
Save piecyk/9660145 to your computer and use it in GitHub Desktop.
function findParentsInTree(bookmark, tree, whatToDoWithNode) {
var PARENT;
var _factorial = function myself(parent, array) {
if (!bookmark) return;
for(var i = 0; i < array.length; i++) {
myself(array[i], array[i].nodes);
if (bookmark && (array[i].id === bookmark.id && array[i].nodeType === bookmark.nodeType)) {
whatToDoWithNode(array[i]);
PARENT = parent;
break;
}
if (PARENT && (array[i].id === PARENT.id &&
array[i].nodeType !== _TYPE.NODE_TYPES.BOOKMARK &&
array[i].nodeType !== _TYPE.NODE_TYPES.DASHBOARD &&
array[i].nodeType !== _TYPE.NODE_TYPES.SEARCH_TEMPLATE)) {
whatToDoWithNode(array[i]);
PARENT = parent;
}
}
};
_factorial(null, tree);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment