mirror of https://github.com/rancher/ui.git
51 lines
1.2 KiB
JavaScript
51 lines
1.2 KiB
JavaScript
import Ember from 'ember';
|
|
import C from 'ui/utils/constants';
|
|
|
|
export default Ember.Component.extend({
|
|
// Identity or externalId+externalIdType
|
|
identity: null,
|
|
externalIdType: null,
|
|
externalId: null,
|
|
|
|
avatar: true,
|
|
link: true,
|
|
size: 36,
|
|
|
|
loading: false,
|
|
didInitAttrs: function() {
|
|
var type = this.get('externalIdType');
|
|
var id = this.get('externalId');
|
|
|
|
if ( !this.get('identity') )
|
|
{
|
|
this.set('loading', true);
|
|
this.get('store').find('identity','1i!'+type+':'+id).then((identity) => {
|
|
this.set('identity', identity);
|
|
}).catch((/*err*/) => {
|
|
// Do something..
|
|
}).finally(() => {
|
|
this.set('loading', false);
|
|
});
|
|
}
|
|
},
|
|
|
|
classNames: ['gh-block'],
|
|
attributeBindings: ['aria-label:identity.name'],
|
|
|
|
avatarSrc: Ember.computed.alias('identity.avatarSrc'),
|
|
url: Ember.computed.alias('identity.profileUrl'),
|
|
login: Ember.computed.alias('identity.login'),
|
|
|
|
displayDescription: function() {
|
|
var name = this.get('identity.name');
|
|
if ( this.get('identity.externalIdType') === C.PROJECT.TYPE_GITHUB_TEAM )
|
|
{
|
|
return name.replace(/:.*/,'') + ' team';
|
|
}
|
|
else
|
|
{
|
|
return name;
|
|
}
|
|
}.property('identity.{externalIdType,name}'),
|
|
});
|