ui/app/components/edit-project/component.js

55 lines
1.2 KiB
JavaScript

import Ember from 'ember';
import EditProject from 'ui/mixins/edit-project';
export default Ember.Component.extend(EditProject, {
access: Ember.inject.service(),
accessEnabled: Ember.computed.alias('access.enabled'),
model: null,
editing: null,
actions: {
outsideClick: function() {},
cancel: function() {
this.sendAction('dismiss');
}
},
willInsertElement: function() {
this._super();
this.set('model', this.get('originalModel').clone());
this.set('editing', !!this.get('originalModel.id'));
},
willSave: function() {
var out = this._super();
if ( out && !this.get('model.id') )
{
this.set('model.members', this.get('model.projectMembers'));
}
return out;
},
didSave: function() {
if ( this.get('editing') && this.get('access.enabled') )
{
var members = this.get('model.projectMembers').map((member) => {
return {
type: 'projectMember',
externalId: member.externalId,
externalIdType: member.externalIdType,
role: member.role
};
});
return this.get('model').doAction('setmembers',{members: members});
}
},
doneSaving: function() {
this._super();
this.sendAction('dismiss');
},
});