mirror of
https://github.com/nasa/openmct.git
synced 2025-04-20 17:11:11 +00:00
[Composition] Use composition.add from LinkService
This commit is contained in:
parent
b9d8b124ff
commit
d3d94d67ea
@ -63,8 +63,7 @@ define(
|
||||
*/
|
||||
CompositionCapability.prototype.add = function (domainObject, index) {
|
||||
var id = typeof domainObject === 'string' ?
|
||||
domainObject : domainObject.getId(),
|
||||
$q = this.$q;
|
||||
domainObject : domainObject.getId();
|
||||
|
||||
function addIdToModel(model) {
|
||||
var composition = model.composition,
|
||||
@ -73,7 +72,7 @@ define(
|
||||
// If no index has been specified already and the id is already
|
||||
// present, nothing to do. If the id is already at that index,
|
||||
// also nothing to do, so cancel mutation.
|
||||
if ((isNaN(index) && oldIndex !== -1) || (index === oldIndex) {
|
||||
if ((isNaN(index) && oldIndex !== -1) || (index === oldIndex)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -52,10 +52,13 @@ define(
|
||||
"composition",
|
||||
parentCandidate.getCapability('type'),
|
||||
object.getCapability('type')
|
||||
);
|
||||
) && parentCandidate.hasCapability('composition');
|
||||
};
|
||||
|
||||
LinkService.prototype.perform = function (object, parentObject) {
|
||||
// Note that this was checked-for explicitly during validate step
|
||||
var composition = parentObject.getCapability('composition');
|
||||
|
||||
function findChild(children) {
|
||||
var i;
|
||||
for (i = 0; i < children.length; i += 1) {
|
||||
@ -65,16 +68,10 @@ define(
|
||||
}
|
||||
}
|
||||
|
||||
return parentObject.useCapability('mutation', function (model) {
|
||||
if (model.composition.indexOf(object.getId()) === -1) {
|
||||
model.composition.push(object.getId());
|
||||
}
|
||||
}).then(function () {
|
||||
return composition.add(object).then(function () {
|
||||
return parentObject.getCapability('persistence').persist();
|
||||
}).then(function getObjectWithNewContext() {
|
||||
return parentObject
|
||||
.useCapability('composition')
|
||||
.then(findChild);
|
||||
return composition.invoke().then(findChild);
|
||||
});
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user