Fixed creation

This commit is contained in:
Henry
2016-04-20 17:43:26 -07:00
parent 836b5db8cf
commit 5bf750c90c
3 changed files with 11 additions and 5 deletions

View File

@@ -83,6 +83,7 @@ define(
CreateAction.prototype.perform = function () { CreateAction.prototype.perform = function () {
var newModel = this.type.getInitialModel(), var newModel = this.type.getInitialModel(),
parentObject = this.navigationService.getNavigation(), parentObject = this.navigationService.getNavigation(),
editorCapability,
newObject; newObject;
newModel.type = this.type.getKey(); newModel.type = this.type.getKey();
@@ -90,12 +91,18 @@ define(
newObject.useCapability('mutation', function(model){ newObject.useCapability('mutation', function(model){
model.location = parentObject.getId(); model.location = parentObject.getId();
}); });
editorCapability = newObject.getCapability("editor");
if (countEditableViews(newObject) > 0 && newObject.hasCapability('composition')) { if (countEditableViews(newObject) > 0 && newObject.hasCapability('composition')) {
this.navigationService.setNavigation(newObject); this.navigationService.setNavigation(newObject);
newObject.getCapability("action").perform("edit"); return newObject.getCapability("action").perform("edit");
} else { } else {
return newObject.getCapability('action').perform('save'); editorCapability.edit();
return newObject.useCapability("action").perform("save").then(function () {
return editorCapability.save();
}, function () {
return editorCapability.cancel()
});
} }
}; };

View File

@@ -60,7 +60,7 @@ define(
// during editing. // during editing.
function doSave() { function doSave() {
return domainObject.getCapability("editor").save() return domainObject.getCapability("editor").save()
.then(resolveWith(domainObject.getOriginalObject())); .then(resolveWith(domainObject));
} }
// Discard the current root view (which will be the editing // Discard the current root view (which will be the editing

View File

@@ -157,8 +157,7 @@ define(
SaveAsAction.appliesTo = function (context) { SaveAsAction.appliesTo = function (context) {
var domainObject = (context || {}).domainObject; var domainObject = (context || {}).domainObject;
return domainObject !== undefined && return domainObject !== undefined &&
domainObject.hasCapability("editor") && domainObject.getCapability("status").get("editing") &&
domainObject.getCapability("editor").inEditContext() &&
domainObject.getModel().persisted === undefined; domainObject.getModel().persisted === undefined;
}; };