loleaflet/dist/toolbar/toolbar.js | 54 ++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 16 deletions(-)
New commits: commit 04064b2e23c00af284fd671a73af980bda4236cc Author: Pranav Kant <pran...@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 <pran...@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() { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits