mirror of
https://github.com/nasa/openmct.git
synced 2025-01-17 10:20:27 +00:00
[Composition] Use composition.add from link action
This commit is contained in:
parent
8e995eba8f
commit
b9d8b124ff
@ -36,20 +36,11 @@ define(
|
|||||||
function LinkAction(context) {
|
function LinkAction(context) {
|
||||||
this.domainObject = (context || {}).domainObject;
|
this.domainObject = (context || {}).domainObject;
|
||||||
this.selectedObject = (context || {}).selectedObject;
|
this.selectedObject = (context || {}).selectedObject;
|
||||||
this.selectedId = this.selectedObject && this.selectedObject.getId();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LinkAction.prototype.perform = function () {
|
LinkAction.prototype.perform = function () {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
// Add this domain object's identifier
|
|
||||||
function addId(model) {
|
|
||||||
if (Array.isArray(model.composition) &&
|
|
||||||
model.composition.indexOf(self.selectedId) < 0) {
|
|
||||||
model.composition.push(self.selectedId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Persist changes to the domain object
|
// Persist changes to the domain object
|
||||||
function doPersist() {
|
function doPersist() {
|
||||||
var persistence =
|
var persistence =
|
||||||
@ -59,11 +50,13 @@ define(
|
|||||||
|
|
||||||
// Link these objects
|
// Link these objects
|
||||||
function doLink() {
|
function doLink() {
|
||||||
return self.domainObject.useCapability("mutation", addId)
|
var composition = self.domainObject &&
|
||||||
.then(doPersist);
|
self.domainObject.getCapability('composition');
|
||||||
|
return composition && composition.add(self.selectedObject)
|
||||||
|
.then(doPersist);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.selectedId && doLink();
|
return this.selectedObject && doLink();
|
||||||
};
|
};
|
||||||
|
|
||||||
return LinkAction;
|
return LinkAction;
|
||||||
|
@ -63,7 +63,8 @@ define(
|
|||||||
*/
|
*/
|
||||||
CompositionCapability.prototype.add = function (domainObject, index) {
|
CompositionCapability.prototype.add = function (domainObject, index) {
|
||||||
var id = typeof domainObject === 'string' ?
|
var id = typeof domainObject === 'string' ?
|
||||||
domainObject : domainObject.getId();
|
domainObject : domainObject.getId(),
|
||||||
|
$q = this.$q;
|
||||||
|
|
||||||
function addIdToModel(model) {
|
function addIdToModel(model) {
|
||||||
var composition = model.composition,
|
var composition = model.composition,
|
||||||
@ -71,9 +72,9 @@ define(
|
|||||||
|
|
||||||
// If no index has been specified already and the id is already
|
// If no index has been specified already and the id is already
|
||||||
// present, nothing to do. If the id is already at that index,
|
// present, nothing to do. If the id is already at that index,
|
||||||
// also nothing to do.
|
// also nothing to do, so cancel mutation.
|
||||||
if ((isNaN(index) && oldIndex !== -1) || (index === oldIndex) {
|
if ((isNaN(index) && oldIndex !== -1) || (index === oldIndex) {
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pick a specific index if needed.
|
// Pick a specific index if needed.
|
||||||
|
Loading…
Reference in New Issue
Block a user