2020-12-08 10:16:34 +01:00
|
|
|
import tpl_avatar from 'templates/avatar.js';
|
2020-12-28 18:41:38 +01:00
|
|
|
import { View } from '@converse/skeletor/src/view';
|
2020-12-08 10:16:34 +01:00
|
|
|
import { converse } from '@converse/headless/core';
|
|
|
|
|
|
|
|
const u = converse.env.utils;
|
|
|
|
|
2020-12-28 18:41:38 +01:00
|
|
|
const ViewWithAvatar = View.extend({
|
2020-12-08 10:16:34 +01:00
|
|
|
renderAvatar (el) {
|
|
|
|
el = el || this.el;
|
|
|
|
const avatar_el = el.querySelector('canvas.avatar, svg.avatar');
|
|
|
|
if (avatar_el === null) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (this.model.vcard) {
|
|
|
|
const data = {
|
|
|
|
'classes': avatar_el.getAttribute('class'),
|
|
|
|
'width': avatar_el.getAttribute('width'),
|
|
|
|
'height': avatar_el.getAttribute('height'),
|
|
|
|
'image_type': this.model.vcard.get('image_type'),
|
|
|
|
'image': this.model.vcard.get('image')
|
|
|
|
};
|
|
|
|
avatar_el.outerHTML = u.getElementFromTemplateResult(tpl_avatar(data)).outerHTML;
|
|
|
|
}
|
|
|
|
}
|
2020-12-28 18:41:38 +01:00
|
|
|
});
|
2020-12-08 10:16:34 +01:00
|
|
|
|
2020-12-28 18:41:38 +01:00
|
|
|
export default ViewWithAvatar;
|