Merge pull request #1584 from westlywright/kube

Kube
This commit is contained in:
Vincent Fiduccia 2018-01-21 00:25:24 -07:00 committed by GitHub
commit b21dc31cde
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 20 additions and 20 deletions

View File

@ -22,12 +22,6 @@ export default Controller.extend(ACC, {
memberArray: null, memberArray: null,
actions: { actions: {
updateLists(toAdd, toUpdate, toRemove) {
setProperties(this, {
toAdd, toUpdate, toRemove
});
},
cancel() { cancel() {
this.goBack(); this.goBack();
}, },

View File

@ -13,7 +13,7 @@ export default Ember.Route.extend({
return hash({ return hash({
users: get(this, 'globalStore').findAll('user'), 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 }), clusterRoleTemplateBinding: get(this, 'globalStore').findAll('clusterRoleTemplateBinding', { forceReload: true }),
}).then((hash) => { }).then((hash) => {
return { return {

View File

@ -92,9 +92,11 @@
editing=false editing=false
memberArray=memberArray memberArray=memberArray
memberConfig=memberConfig memberConfig=memberConfig
project=primaryResource
roles=userData.roles roles=userData.roles
users=userData.users users=userData.users
type="cluster" type="cluster"
initAlert=(action "initAlert")
}} }}
</div> </div>

View File

@ -1,6 +1,7 @@
import Component from '@ember/component'; import Component from '@ember/component';
import layout from './template'; 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 { inject as service } from '@ember/service';
import { all as PromiseAll } from 'rsvp'; import { all as PromiseAll } from 'rsvp';
@ -32,6 +33,15 @@ export default Component.extend({
this.sendAction('initAlert', this.primaryResourceSaved.bind(this)); 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() { primaryResourceSaved: function() {
// returns a promise of all the adds/removes/updates to the parent // returns a promise of all the adds/removes/updates to the parent
const pr = get(this, 'project'); const pr = get(this, 'project');
@ -42,6 +52,7 @@ export default Component.extend({
add.forEach((x) => { add.forEach((x) => {
x.set(`${get(this, 'type')}Id`, resourceId); x.set(`${get(this, 'type')}Id`, resourceId);
x.set('name', null);
}); });
return PromiseAll(add.map(x => x.save())).then(() => { return PromiseAll(add.map(x => x.save())).then(() => {
@ -67,19 +78,14 @@ export default Component.extend({
get(this, 'toAdd').pushObject(record); get(this, 'toAdd').pushObject(record);
}, },
updateMember(obj) {
get(this,'toUpdate').addObject(obj);
},
removeMember(obj) { removeMember(obj) {
get(this,'memberArray').removeObject(obj); get(this,'memberArray').removeObject(obj);
get(this, 'toRemove').pushObject(obj); get(this, 'toRemove').pushObject(obj);
}, },
}, },
filteredUsers: computed('users', function() { filteredUsers: computed('users.@each.{id,state}', function() {
return get(this, 'users').filter(u => !u.hasOwnProperty('me')).sortBy('username'); return get(this, 'users').filter(u => !u.hasOwnProperty('me')).sortBy('displayName');
}), }),
}); });

View File

@ -10,9 +10,9 @@
</tr> </tr>
</thead> </thead>
<tbody> <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|}} {{#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}} {{/each}}
</tbody> </tbody>
</table> </table>

View File

@ -1,6 +1,7 @@
import Component from '@ember/component'; import Component from '@ember/component';
import layout from './template'; import layout from './template';
import { computed, observer, get, set } from '@ember/object'; import { computed, observer, get, set } from '@ember/object';
import { on } from '@ember/object/evented';
export default Component.extend({ export default Component.extend({
layout, layout,
@ -45,7 +46,4 @@ export default Component.extend({
} }
}), }),
changed: observer('member.{roleTemplateId,subjectName}', function() {
this.sendAction('update', get(this,'member'));
}),
}); });