mirror of
https://github.com/nasa/openmct.git
synced 2025-01-19 03:06:54 +00:00
[Tree] Don't assume context capability is present
Addresses #753 (newly-created objects may not have context, causing errors when these are encountered by TreeNodeView)
This commit is contained in:
parent
d30532a8bc
commit
73b7365ae2
@ -81,13 +81,13 @@ define([
|
|||||||
};
|
};
|
||||||
|
|
||||||
function getIdPath(domainObject) {
|
function getIdPath(domainObject) {
|
||||||
|
var context = domainObject && domainObject.getCapability('context');
|
||||||
|
|
||||||
function getId(domainObject) {
|
function getId(domainObject) {
|
||||||
return domainObject.getId();
|
return domainObject.getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
return domainObject ?
|
return context ? context.getPath().map(getId) : [];
|
||||||
domainObject.getCapability('context').getPath().map(getId) :
|
|
||||||
[];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TreeNodeView.prototype.value = function (domainObject) {
|
TreeNodeView.prototype.value = function (domainObject) {
|
||||||
|
@ -200,6 +200,21 @@ define([
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("when a context-less object is selected", function () {
|
||||||
|
beforeEach(function () {
|
||||||
|
var testCapabilities = makeGenericCapabilities(),
|
||||||
|
mockDomainObject =
|
||||||
|
makeMockDomainObject('xyz', {}, testCapabilities);
|
||||||
|
delete testCapabilities.context;
|
||||||
|
treeView.value(mockDomainObject);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("clears all selection state", function () {
|
||||||
|
var selected = $(treeView.elements()[0]).find('.selected');
|
||||||
|
expect(selected.length).toEqual(0);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe("when children contain children", function () {
|
describe("when children contain children", function () {
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
var newCapabilities = makeGenericCapabilities(),
|
var newCapabilities = makeGenericCapabilities(),
|
||||||
|
Loading…
Reference in New Issue
Block a user