[Libreoffice-commits] online.git: loleaflet/src
Andras Timar (via logerrit)
logerrit at kemper.freedesktop.org
Wed Aug 19 09:25:40 UTC 2020
loleaflet/src/control/Control.UserList.js | 40 ++++++++++++++++++------------
1 file changed, 25 insertions(+), 15 deletions(-)
New commits:
commit 449dc691d2d2ebcc6d81410f536b0fc04ff8b0bd
Author: Andras Timar <andras.timar at collabora.com>
AuthorDate: Wed Aug 19 11:19:08 2020 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Aug 19 11:25:22 2020 +0200
do not show broken images instead of avatars
Change-Id: I6babd0a892dccc2ca5d6d1bf6ac6e6007411b1e2
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/100977
Tested-by: Andras Timar <andras.timar at collabora.com>
Reviewed-by: Andras Timar <andras.timar at collabora.com>
diff --git a/loleaflet/src/control/Control.UserList.js b/loleaflet/src/control/Control.UserList.js
index 9a7c27386..949394e4f 100644
--- a/loleaflet/src/control/Control.UserList.js
+++ b/loleaflet/src/control/Control.UserList.js
@@ -85,7 +85,17 @@ L.Control.UserList = L.Control.extend({
var iconTd = L.DomUtil.create('td', 'usercolor', content);
var nameTd = L.DomUtil.create('td', 'username loleaflet-font', content);
+ var hasAvatar = false;
if (extraInfo !== undefined && extraInfo.avatar !== undefined) {
+ var http = new XMLHttpRequest();
+ http.open('HEAD', extraInfo.avatar, false);
+ http.send();
+ if (http.status != 404) {
+ hasAvatar = true;
+ }
+ }
+
+ if (hasAvatar) {
var img = L.DomUtil.create('img', 'avatar-img', iconTd);
img.src = extraInfo.avatar;
$(img).css({'border-color': color});
@@ -93,9 +103,9 @@ L.Control.UserList = L.Control.extend({
img = L.DomUtil.create('div', 'user-info', iconTd);
$(img).css({'background-color': color});
}
-
+
nameTd.innerHTML = userName;
-
+
return content;
},
@@ -105,7 +115,7 @@ L.Control.UserList = L.Control.extend({
if (userlistItem == null) {
return;
}
-
+
var count = $(userlistItem.html).find('#userlist_table tbody tr').length;
if (count > 1) {
userlistItem.text = this.options.nUsers.replace('%n', count);
@@ -114,9 +124,9 @@ L.Control.UserList = L.Control.extend({
} else {
userlistItem.text = this.options.noUser;
}
-
+
w2ui['actionbar'].refresh();
-
+
var hideUserList =
window.ThisIsAMobileApp ||
(this.map['wopi'].HideUserList !== null && this.map['wopi'].HideUserList !== undefined &&
@@ -124,7 +134,7 @@ L.Control.UserList = L.Control.extend({
(window.mode.isMobile() && $.inArray('mobile', this.map['wopi'].HideUserList) >= 0) ||
(window.mode.isTablet() && $.inArray('tablet', this.map['wopi'].HideUserList) >= 0) ||
(window.mode.isDesktop() && $.inArray('desktop', this.map['wopi'].HideUserList) >= 0));
-
+
if (!hideUserList && count > 1) {
actionbar.show('userlist');
actionbar.show('userlistbreak');
@@ -139,7 +149,7 @@ L.Control.UserList = L.Control.extend({
if (userlistItem === null) {
return;
}
-
+
$('#user-' + e.viewId).removeClass('selected-user');
},
@@ -169,10 +179,10 @@ L.Control.UserList = L.Control.extend({
var userlistItem = w2ui['actionbar'].get('userlist');
var username = this.escapeHtml(e.username);
var showPopup = false;
-
+
if (userlistItem !== null)
showPopup = $(userlistItem.html).find('#userlist_table tbody tr').length > 0;
-
+
if (showPopup) {
$('#tb_actionbar_item_userlist')
.w2overlay({
@@ -188,18 +198,18 @@ L.Control.UserList = L.Control.extend({
that.options.userPopupTimeout = null;
}, 3000);
}
-
+
var color = L.LOUtil.rgbToHex(this.map.getViewColor(e.viewId));
if (e.viewId === this.map._docLayer._viewId) {
username = _('You');
color = '#000';
}
-
+
// Mention readonly sessions in userlist
if (e.readonly) {
username += ' (' + _('Readonly') + ')';
}
-
+
if (userlistItem !== null) {
var newhtml = $(userlistItem.html).find('#userlist_table tbody').append(this.getUserItem(e.viewId, username, e.extraInfo, color)).parent().parent()[0].outerHTML;
userlistItem.html = newhtml;
@@ -221,12 +231,12 @@ L.Control.UserList = L.Control.extend({
clearTimeout(that.options.userPopupTimeout);
that.options.userPopupTimeout = null;
}, 3000);
-
+
if (e.viewId === this.map._docLayer._followThis) {
this.map._docLayer._followThis = -1;
this.map._docLayer._followUser = false;
}
-
+
var userlistItem = w2ui['actionbar'].get('userlist');
if (userlistItem !== null) {
userlistItem.html = $(userlistItem.html).find('#user-' + e.viewId).remove().end()[0].outerHTML;
@@ -249,4 +259,4 @@ L.control.createUserListWidget = function () {
'</table>' +
'<p id="currently-msg">' + _('Current') + ' - <b><span id="current-editor"></span></b></p>' +
'</div>';
-};
\ No newline at end of file
+};
More information about the Libreoffice-commits
mailing list