Fixed creation
This commit is contained in:
@@ -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()
|
||||||
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user