mirror of
https://github.com/nasa/openmct.git
synced 2025-04-16 15:29:20 +00:00
#286 Fixed issues with composition not surviving through create wizard
This commit is contained in:
parent
2e2b18eaa5
commit
f45e236281
@ -150,7 +150,7 @@
|
||||
"provides": "actionService",
|
||||
"type": "provider",
|
||||
"implementation": "creation/CreateActionProvider.js",
|
||||
"depends": [ "$injector", "$q", "typeService",
|
||||
"depends": ["$q", "typeService",
|
||||
"navigationService"]
|
||||
},
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ define(
|
||||
* which handles changes in navigation. It allows the object
|
||||
* being browsed/edited to be set.
|
||||
*/
|
||||
function CreateAction(type, parent, context, $injector, $q, navigationService) {
|
||||
function CreateAction(type, parent, context, $q, navigationService) {
|
||||
this.metadata = {
|
||||
key: 'create',
|
||||
glyph: type.getGlyph(),
|
||||
|
@ -46,10 +46,9 @@ define(
|
||||
* introduced in this bundle), responsible for handling actual
|
||||
* object creation.
|
||||
*/
|
||||
function CreateActionProvider($injector, $q, typeService, navigationService) {
|
||||
function CreateActionProvider($q, typeService, navigationService) {
|
||||
this.typeService = typeService;
|
||||
this.navigationService = navigationService;
|
||||
this.$injector = $injector;
|
||||
this.$q = $q;
|
||||
}
|
||||
|
||||
@ -75,7 +74,6 @@ define(
|
||||
type,
|
||||
destination,
|
||||
context,
|
||||
self.$injector,
|
||||
self.$q,
|
||||
self.navigationService
|
||||
);
|
||||
|
@ -34,9 +34,9 @@ define(
|
||||
* @memberof platform/commonUI/browse
|
||||
* @constructor
|
||||
*/
|
||||
function CreateWizard(type, parent, policyService) {
|
||||
function CreateWizard(type, parent, policyService, initialModel) {
|
||||
this.type = type;
|
||||
this.model = type.getInitialModel();
|
||||
this.model = initialModel || type.getInitialModel();
|
||||
this.properties = type.getProperties();
|
||||
this.parent = parent;
|
||||
this.policyService = policyService;
|
||||
|
@ -76,19 +76,26 @@ define(
|
||||
|
||||
function doWizardSave(parent) {
|
||||
var context = domainObject.getCapability("context");
|
||||
var wizard = new CreateWizard(domainObject.useCapability('type'), parent, self.policyService);
|
||||
var wizard = new CreateWizard(domainObject.useCapability('type'), parent, self.policyService, domainObject.getModel());
|
||||
|
||||
function mergeObjects(fromObject, toObject){
|
||||
Object.keys(fromObject).forEach(function(key) {
|
||||
toObject[key] = fromObject[key];
|
||||
});
|
||||
}
|
||||
|
||||
// Create and persist the new object, based on user
|
||||
// input.
|
||||
function buildObjectFromInput(formValue) {
|
||||
var parent = wizard.getLocation(formValue),
|
||||
newModel = wizard.createModel(formValue);
|
||||
formModel = wizard.createModel(formValue);
|
||||
|
||||
formModel.location = parent.getId();
|
||||
//Replace domain object model with model collected
|
||||
// from user form.
|
||||
domainObject.useCapability("mutation", function(){
|
||||
newModel.location = parent.getId();
|
||||
newModel.composition = domainObject.getModel().composition;
|
||||
return newModel;
|
||||
//Replace object model with the model from the form
|
||||
return formModel;
|
||||
});
|
||||
return domainObject;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user