mirror of https://github.com/rancher/ui.git
commit
b21dc31cde
|
|
@ -22,12 +22,6 @@ export default Controller.extend(ACC, {
|
|||
memberArray: null,
|
||||
|
||||
actions: {
|
||||
updateLists(toAdd, toUpdate, toRemove) {
|
||||
setProperties(this, {
|
||||
toAdd, toUpdate, toRemove
|
||||
});
|
||||
},
|
||||
|
||||
cancel() {
|
||||
this.goBack();
|
||||
},
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ export default Ember.Route.extend({
|
|||
|
||||
return hash({
|
||||
users: get(this, 'globalStore').findAll('user'),
|
||||
user: get(this, 'globalStore').find('user', null, {forceReload: true, filter: {me:true}}),
|
||||
user: get(this, 'globalStore').find('user', null, {filter: {me:true}}),
|
||||
clusterRoleTemplateBinding: get(this, 'globalStore').findAll('clusterRoleTemplateBinding', { forceReload: true }),
|
||||
}).then((hash) => {
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -92,9 +92,11 @@
|
|||
editing=false
|
||||
memberArray=memberArray
|
||||
memberConfig=memberConfig
|
||||
project=primaryResource
|
||||
roles=userData.roles
|
||||
users=userData.users
|
||||
type="cluster"
|
||||
initAlert=(action "initAlert")
|
||||
}}
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, set, computed } from '@ember/object';
|
||||
import { computed, observer, get, set } from '@ember/object';
|
||||
import { on } from '@ember/object/evented';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { all as PromiseAll } from 'rsvp';
|
||||
|
||||
|
|
@ -32,6 +33,15 @@ export default Component.extend({
|
|||
this.sendAction('initAlert', this.primaryResourceSaved.bind(this));
|
||||
},
|
||||
|
||||
didReceiveAttrs() {
|
||||
let ma = get(this, 'memberArray').filter(( m ) => {
|
||||
return get(m, 'roleTemplateId').indexOf('-owner') < 0 && !get(this, 'toAdd').includes(m);
|
||||
});
|
||||
if (ma && get(ma, 'length') > 0) {
|
||||
set(this, 'toUpdate', ma);
|
||||
}
|
||||
},
|
||||
|
||||
primaryResourceSaved: function() {
|
||||
// returns a promise of all the adds/removes/updates to the parent
|
||||
const pr = get(this, 'project');
|
||||
|
|
@ -42,6 +52,7 @@ export default Component.extend({
|
|||
|
||||
add.forEach((x) => {
|
||||
x.set(`${get(this, 'type')}Id`, resourceId);
|
||||
x.set('name', null);
|
||||
});
|
||||
|
||||
return PromiseAll(add.map(x => x.save())).then(() => {
|
||||
|
|
@ -67,19 +78,14 @@ export default Component.extend({
|
|||
get(this, 'toAdd').pushObject(record);
|
||||
},
|
||||
|
||||
updateMember(obj) {
|
||||
get(this,'toUpdate').addObject(obj);
|
||||
},
|
||||
|
||||
|
||||
removeMember(obj) {
|
||||
get(this,'memberArray').removeObject(obj);
|
||||
get(this, 'toRemove').pushObject(obj);
|
||||
},
|
||||
},
|
||||
|
||||
filteredUsers: computed('users', function() {
|
||||
return get(this, 'users').filter(u => !u.hasOwnProperty('me')).sortBy('username');
|
||||
filteredUsers: computed('users.@each.{id,state}', function() {
|
||||
return get(this, 'users').filter(u => !u.hasOwnProperty('me')).sortBy('displayName');
|
||||
}),
|
||||
|
||||
});
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{project-member-row member=member roles=roles users=users remove="removeMember" owner=creator type=type}}
|
||||
{{project-member-row member=member roles=roles users=users owner=creator type=type}}
|
||||
{{#each memberArray as |member|}}
|
||||
{{project-member-row member=member roles=roles users=filteredUsers remove="removeMember" update="updateMember"}}
|
||||
{{project-member-row member=member roles=roles users=filteredUsers remove="removeMember" }}
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { computed, observer, get, set } from '@ember/object';
|
||||
import { on } from '@ember/object/evented';
|
||||
|
||||
export default Component.extend({
|
||||
layout,
|
||||
|
|
@ -45,7 +46,4 @@ export default Component.extend({
|
|||
}
|
||||
}),
|
||||
|
||||
changed: observer('member.{roleTemplateId,subjectName}', function() {
|
||||
this.sendAction('update', get(this,'member'));
|
||||
}),
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue