[Action] RemoveAction
Added comments regarding change in checking of traversed objects.
This commit is contained in:
@@ -82,35 +82,44 @@ define(
|
|||||||
return persistence && persistence.persist();
|
return persistence && persistence.persist();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Checks current object and ascendants of current
|
/*
|
||||||
// object with object being removed, if the current
|
* Checks current object and ascendants of current
|
||||||
// object or any in the current object's path is being removed,
|
* object with object being removed, if the current
|
||||||
// navigate back to parent of removed object.
|
* object or any in the current object's path is being removed,
|
||||||
|
* navigate back to parent of removed object.
|
||||||
|
*/
|
||||||
function checkObjectNavigation(object, parentObject) {
|
function checkObjectNavigation(object, parentObject) {
|
||||||
// Traverse object starts at current location
|
// Traverse object starts at current location
|
||||||
var traverseObject = (navigationService).getNavigation();
|
var traverseObject = (navigationService).getNavigation();
|
||||||
|
|
||||||
// Stop at ROOT of folder path
|
// Stop when object is not defined (above ROOT)
|
||||||
while (traverseObject) {
|
while (traverseObject) {
|
||||||
// If traverse object is object being removed
|
|
||||||
// navigate to parent of removed object
|
// If object currently traversed to is object being removed
|
||||||
|
// navigate to parent of current object and then exit loop
|
||||||
if (traverseObject.getId() === object.getId()) {
|
if (traverseObject.getId() === object.getId()) {
|
||||||
navigationService.setNavigation(parentObject);
|
navigationService.setNavigation(parentObject);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Traverses to parent
|
// Traverses to parent of current object, moving
|
||||||
|
// up the ascendant path
|
||||||
traverseObject = traverseObject.getCapability('context').getParent();
|
traverseObject = traverseObject.getCapability('context').getParent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Remove the object from its parent, as identified by its context
|
* Remove the object from its parent, as identified by its context
|
||||||
* capability.
|
* capability. Based on object's location and selected object's location
|
||||||
|
* user may be navigated to existing parent object
|
||||||
*/
|
*/
|
||||||
function removeFromContext(object) {
|
function removeFromContext(object) {
|
||||||
var contextCapability = object.getCapability('context'),
|
var contextCapability = object.getCapability('context'),
|
||||||
parent = contextCapability.getParent();
|
parent = contextCapability.getParent();
|
||||||
|
|
||||||
|
// If currently within path of removed object(s),
|
||||||
|
// navigates to existing object up tree
|
||||||
checkObjectNavigation(object, parent);
|
checkObjectNavigation(object, parent);
|
||||||
|
|
||||||
return $q.when(
|
return $q.when(
|
||||||
parent.useCapability('mutation', doMutate)
|
parent.useCapability('mutation', doMutate)
|
||||||
).then(function () {
|
).then(function () {
|
||||||
|
|||||||
Reference in New Issue
Block a user