|
@@ -237,7 +237,8 @@
|
|
_converse.UserDetailsModal = _converse.BootstrapModal.extend({
|
|
_converse.UserDetailsModal = _converse.BootstrapModal.extend({
|
|
|
|
|
|
events: {
|
|
events: {
|
|
- 'click button.remove-contact': 'removeContact'
|
|
|
|
|
|
+ 'click button.remove-contact': 'removeContact',
|
|
|
|
+ 'click button.refresh-contact': 'refreshContact'
|
|
},
|
|
},
|
|
|
|
|
|
initialize () {
|
|
initialize () {
|
|
@@ -260,6 +261,7 @@
|
|
'label_jid': __('Jabber ID'),
|
|
'label_jid': __('Jabber ID'),
|
|
'label_nickname': __('Nickname'),
|
|
'label_nickname': __('Nickname'),
|
|
'label_remove': __('Remove as contact'),
|
|
'label_remove': __('Remove as contact'),
|
|
|
|
+ 'label_refresh': __('Refresh'),
|
|
'label_role': __('Role'),
|
|
'label_role': __('Role'),
|
|
'label_url': __('URL')
|
|
'label_url': __('URL')
|
|
}));
|
|
}));
|
|
@@ -276,6 +278,15 @@
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ refreshContact (ev) {
|
|
|
|
+ if (ev && ev.preventDefault) { ev.preventDefault(); }
|
|
|
|
+ const refresh_icon = this.el.querySelector('.fa-refresh');
|
|
|
|
+ u.addClass('fa-spin', refresh_icon);
|
|
|
|
+ _converse.api.vcard.update(this.model.contact.vcard, true)
|
|
|
|
+ .then(() => u.removeClass('fa-spin', refresh_icon))
|
|
|
|
+ .catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL));
|
|
|
|
+ },
|
|
|
|
+
|
|
removeContact (ev) {
|
|
removeContact (ev) {
|
|
if (ev && ev.preventDefault) { ev.preventDefault(); }
|
|
if (ev && ev.preventDefault) { ev.preventDefault(); }
|
|
if (!_converse.allow_contact_removal) { return; }
|
|
if (!_converse.allow_contact_removal) { return; }
|