[Locator] Don't reset root unnecessarily

...as this will trigger a refresh of the mct-representation for
the tree, which will in turn create a new mct-tree instance,
resulting in any expanded/collapsed state being lost.

Fixes #1008.
This commit is contained in:
Victor Woeltjen 2016-08-19 13:26:11 -07:00
parent eb3b6e5eca
commit 10d2794bb7
2 changed files with 26 additions and 15 deletions

View File

@ -50,7 +50,7 @@ define(
$scope.rootObject = $scope.rootObject =
(context && context.getRoot()) || $scope.rootObject; (context && context.getRoot()) || $scope.rootObject;
}, 0); }, 0);
} else if (!contextRoot) { } else if (!contextRoot && !$scope.rootObject) {
//If no context root is available, default to the root //If no context root is available, default to the root
// object // object
$scope.rootObject = undefined; $scope.rootObject = undefined;

View File

@ -152,8 +152,19 @@ define(
mockScope.$watch.mostRecentCall.args[1](mockDomainObject); mockScope.$watch.mostRecentCall.args[1](mockDomainObject);
mockTimeout.mostRecentCall.args[0](); mockTimeout.mostRecentCall.args[0]();
expect(mockScope.rootObject).toBe(defaultRoot); expect(mockScope.rootObject).toBe(defaultRoot);
}); });
it("does not issue redundant requests for the root object", function () {
mockScope.$watch.mostRecentCall.args[1](mockDomainObject);
mockTimeout.mostRecentCall.args[0]();
mockScope.$watch.mostRecentCall.args[1](undefined);
mockTimeout.mostRecentCall.args[0]();
mockScope.$watch.mostRecentCall.args[1](mockDomainObject);
mockTimeout.mostRecentCall.args[0]();
expect(mockObjectService.getObjects.calls.length)
.toEqual(1);
});
}); });
}); });
} }