user-avatar.js 853 B

12345678910111213141516171819202122232425262728
  1. import Ember from 'ember';
  2. export default Ember.Component.extend({
  3. tagName: 'img',
  4. classNames: 'user-avatar',
  5. attributeBindings: ['src', 'alt', 'size:width', 'size:height'],
  6. size: 100,
  7. alt: '',
  8. src: function() {
  9. var src = Ember.$('base').attr('href') + 'user-avatar/';
  10. if (this.get('user.id')) {
  11. if (this.get('prefix') && this.get('token')) {
  12. // special avatar source
  13. src += this.get('prefix') + ':' + this.get('token') + '/';
  14. } else {
  15. // just avatar hash and size
  16. src += this.get('user.avatar_hash') + '/' + this.get('size') + '/';
  17. }
  18. return src + this.get('user.id') + '.png';
  19. } else {
  20. // just append avatar size to file to produce no-avatar placeholder
  21. return src + this.get('size') + '.png';
  22. }
  23. }.property('user.id', 'user.avatar_hash', 'size')
  24. });