[Libreoffice-commits] online.git: 2 commits - loleaflet/dist
Pranav Kant
pranavk at collabora.co.uk
Thu Sep 1 06:03:56 UTC 2016
loleaflet/dist/toolbar/toolbar.js | 54 ++++++++++++++++++++++++++------------
1 file changed, 38 insertions(+), 16 deletions(-)
New commits:
commit 04064b2e23c00af284fd671a73af980bda4236cc
Author: Pranav Kant <pranavk at collabora.co.uk>
Date: Thu Sep 1 11:25:08 2016 +0530
loleaflet: User count in user list
Change-Id: Idde4e1bdf1b33590c3b9a8265e059c01943f4777
diff --git a/loleaflet/dist/toolbar/toolbar.js b/loleaflet/dist/toolbar/toolbar.js
index 8725160..c9e4fa3 100644
--- a/loleaflet/dist/toolbar/toolbar.js
+++ b/loleaflet/dist/toolbar/toolbar.js
@@ -468,7 +468,7 @@ $(function () {
{type: 'html', id: 'right'},
{type: 'html', id: 'modifiedstatuslabel', html: '<div id="modifiedstatuslabel" class="loleaflet-font"></div>'},
{type: 'break'},
- {type: 'menu', id: 'userlist', caption: _('Users'), items: [
+ {type: 'menu', id: 'userlist', caption: _('1 user'), items: [
{ id: '-1', text: _('You'), disabled: true },
]},
{type: 'break'},
@@ -1357,7 +1357,20 @@ function getUserListItem(viewId, userName) {
var userListItem = { id: viewId, text: userName, disabled: true };
return userListItem;
}
+var nUsers = _('%n users');
+function updateUserListCount(userlist) {
+ var count = userlist.items.length;
+ if (count > 1) {
+ userlist.caption = nUsers.replace('%n', count);
+ } else if (count === 1) {
+ userlist.caption = '1 user';
+ }
+}
+
map.on('addview', function(e) {
+ if (!e.viewId || !e.username)
+ return;
+
$('#tb_toolbar-down_item_userlist')
.w2overlay({
class: 'loleaflet-font',
@@ -1374,10 +1387,14 @@ map.on('addview', function(e) {
var userlist = w2ui['toolbar-down'].get('userlist');
userlist.items.push(getUserListItem(e.viewId, e.username));
+ updateUserListCount(userlist);
w2ui['toolbar-down'].refresh();
});
map.on('removeview', function(e) {
+ if (!e.viewId || !e.username)
+ return;
+
$('#tb_toolbar-down_item_userlist')
.w2overlay({
class: 'loleaflet-font',
@@ -1395,9 +1412,11 @@ map.on('removeview', function(e) {
for (var idx in userlist.items) {
if (userlist.items[idx].id == e.viewId) {
userlist.items.splice(idx, 1);
+ break;
}
}
+ updateUserListCount(userlist);
w2ui['toolbar-down'].refresh();
});
commit 958c0e35341c73f6636ba141f8fe82ea1ceeee21
Author: Pranav Kant <pranavk at collabora.co.uk>
Date: Thu Sep 1 11:08:38 2016 +0530
loleaflet: Better algorithm for adding/removing users from list
Remove them dynamically, rather than creating a new list
everytime.
Change-Id: I3e1a8c603e092fdd727806154a3715139e4f5b2c
diff --git a/loleaflet/dist/toolbar/toolbar.js b/loleaflet/dist/toolbar/toolbar.js
index 95fbc7e..8725160 100644
--- a/loleaflet/dist/toolbar/toolbar.js
+++ b/loleaflet/dist/toolbar/toolbar.js
@@ -10,17 +10,6 @@ function onDelete(e) {
}
}
-function onChangeUserList() {
- var usernames = ['You'];
- var userlist = w2ui['toolbar-down'].get('userlist');
- for (var viewid in map._viewInfo) {
- usernames.push(map._viewInfo[viewid]);
- }
-
- userlist.items = usernames;
- w2ui['toolbar-down'].refresh();
-}
-
function resizeToolbar() {
var hasMoreItems = false;
var toolbarUp = w2ui['toolbar-up'];
@@ -461,6 +450,7 @@ $(function () {
onClick(e.target);
}
});
+
$('#toolbar-down').w2toolbar({
name: 'toolbar-down',
items: [
@@ -479,7 +469,7 @@ $(function () {
{type: 'html', id: 'modifiedstatuslabel', html: '<div id="modifiedstatuslabel" class="loleaflet-font"></div>'},
{type: 'break'},
{type: 'menu', id: 'userlist', caption: _('Users'), items: [
- _('You'),
+ { id: '-1', text: _('You'), disabled: true },
]},
{type: 'break'},
{type: 'button', id: 'prev', img: 'prev', hint: _('Previous page')},
@@ -1363,7 +1353,10 @@ map.on('statusindicator', function (e) {
}
});
-// TODO: Dynamically add/remove users from list
+function getUserListItem(viewId, userName) {
+ var userListItem = { id: viewId, text: userName, disabled: true };
+ return userListItem;
+}
map.on('addview', function(e) {
$('#tb_toolbar-down_item_userlist')
.w2overlay({
@@ -1378,7 +1371,10 @@ map.on('addview', function(e) {
userPopupTimeout = null;
}, 3000);
- onChangeUserList();
+ var userlist = w2ui['toolbar-down'].get('userlist');
+ userlist.items.push(getUserListItem(e.viewId, e.username));
+
+ w2ui['toolbar-down'].refresh();
});
map.on('removeview', function(e) {
@@ -1395,7 +1391,14 @@ map.on('removeview', function(e) {
userPopupTimeout = null;
}, 3000);
- onChangeUserList();
+ var userlist = w2ui['toolbar-down'].get('userlist');
+ for (var idx in userlist.items) {
+ if (userlist.items[idx].id == e.viewId) {
+ userlist.items.splice(idx, 1);
+ }
+ }
+
+ w2ui['toolbar-down'].refresh();
});
$(window).resize(function() {
More information about the Libreoffice-commits
mailing list