[Composition] Use composition.add from link action

This commit is contained in:
Victor Woeltjen
2015-09-02 09:08:47 -07:00
parent 8e995eba8f
commit b9d8b124ff
2 changed files with 9 additions and 15 deletions

View File

@ -36,20 +36,11 @@ define(
function LinkAction(context) {
this.domainObject = (context || {}).domainObject;
this.selectedObject = (context || {}).selectedObject;
this.selectedId = this.selectedObject && this.selectedObject.getId();
}
LinkAction.prototype.perform = function () {
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
function doPersist() {
var persistence =
@ -59,11 +50,13 @@ define(
// Link these objects
function doLink() {
return self.domainObject.useCapability("mutation", addId)
.then(doPersist);
var composition = self.domainObject &&
self.domainObject.getCapability('composition');
return composition && composition.add(self.selectedObject)
.then(doPersist);
}
return this.selectedId && doLink();
return this.selectedObject && doLink();
};
return LinkAction;