mirror of https://github.com/rancher/ui.git
55 lines
1.2 KiB
JavaScript
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');
|
|
},
|
|
});
|