loleaflet/css/toolbar.css                   |    1 
 loleaflet/images/lc_calloutshapes-black.svg |    6 --
 loleaflet/js/toolbar.js                     |   73 ++++++++++++++++++++++++----
 3 files changed, 64 insertions(+), 16 deletions(-)

New commits:
commit 23e752ccca23de3877c9e80eb6e59c723f3661b8
Author:     Jan Holesovsky <[email protected]>
AuthorDate: Fri Nov 16 15:20:33 2018 +0100
Commit:     Jan Holesovsky <[email protected]>
CommitDate: Fri Nov 16 16:58:14 2018 +0100

    mobile: Various fixes to the user list, particularly on mobile.
    
    Change-Id: Iee294630c2af5240394a848bbce0156d691ef7a0

diff --git a/loleaflet/js/toolbar.js b/loleaflet/js/toolbar.js
index b62b08a16..0b293580b 100644
--- a/loleaflet/js/toolbar.js
+++ b/loleaflet/js/toolbar.js
@@ -724,7 +724,16 @@ function initMobileToolbar(toolItems) {
                        {type: 'button',  id: 'undo',  img: 'undo', hint: 
_UNO('.uno:Undo'), uno: 'Undo', disabled: true},
                        {type: 'button',  id: 'redo',  img: 'redo', hint: 
_UNO('.uno:Redo'), uno: 'Redo', disabled: true},
                        {type: 'button',  id: 'fullscreen', img: 'fullscreen', 
hint: _UNO('.uno:FullScreen', 'text')},
-                       {type: 'button',  id: 'users',  img: 'users'},
+                       {type: 'drop', id: 'userlist', img: 'users', html: 
'<div id="userlist_container"><table 
id="userlist_table"><tbody></tbody></table>' +
+                               '<hr><table class="loleaflet-font" 
id="editor-btn">' +
+                               '<tr>' +
+                               '<td><input type="checkbox" name="alwaysFollow" 
id="follow-checkbox" onclick="editorUpdate(event)"></td>' +
+                               '<td>' + _('Always follow the editor') + 
'</td>' +
+                               '</tr>' +
+                               '</table>' +
+                               '<p id="currently-msg">' + _('Current') + ' - 
<b><span id="current-editor"></span></b></p>' +
+                               '</div>'
+                       },
                ],
                onClick: function (e) {
                        onClick(e, e.target);
@@ -1088,6 +1097,7 @@ function initNormalToolbar(toolItems) {
 }
 
 var userJoinedPopupMessage = '<div>' + _('%user has joined') + '</div>';
+var userLeftPopupMessage = '<div>' + _('%user has left') + '</div>';
 var userPopupTimeout = null;
 
 function localizeStateTableCell (text) {
@@ -2033,12 +2043,13 @@ function onUseritemClicked(e) { // eslint-disable-line 
no-unused-vars
        selectUser(viewId);
 }
 
+global.onUseritemClicked = onUseritemClicked;
+
 function editorUpdate(e) { // eslint-disable-line no-unused-vars
        var docLayer = map._docLayer;
 
        if (e.target.checked) {
                var editorId = docLayer._editorId;
-               var userlistItem = w2ui['toolbar-down'].get('userlist');
 
                docLayer._followUser = false;
                docLayer._followEditor = true;
@@ -2047,9 +2058,12 @@ function editorUpdate(e) { // eslint-disable-line 
no-unused-vars
                        docLayer._followThis = editorId;
                }
 
-               $('.selected-user').removeClass('selected-user');
-               if ($(userlistItem.html).find('.selected-user').length !== 0)
-                       userlistItem.html = 
$(userlistItem.html).find('.selected-user').removeClass('selected-user').parent().parent().parent()[0].outerHTML;
+               var userlistItem = w2ui['toolbar-down'].get('userlist');
+               if (userlistItem !== null) {
+                       $('.selected-user').removeClass('selected-user');
+                       if ($(userlistItem.html).find('.selected-user').length 
!== 0)
+                               userlistItem.html = 
$(userlistItem.html).find('.selected-user').removeClass('selected-user').parent().parent().parent()[0].outerHTML;
+               }
        }
        else {
                docLayer._followEditor = false;
@@ -2058,14 +2072,24 @@ function editorUpdate(e) { // eslint-disable-line 
no-unused-vars
        $('#tb_toolbar-down_item_userlist').w2overlay('');
 }
 
+global.editorUpdate = editorUpdate;
+
 function selectUser(viewId) {
        var userlistItem = w2ui['toolbar-down'].get('userlist');
+       if (userlistItem === null) {
+               return;
+       }
+
        userlistItem.html = $(userlistItem.html).find('#user-' + 
viewId).addClass('selected-user').parent().parent().parent()[0].outerHTML;
        $('#tb_toolbar-down_item_userlist').w2overlay('');
 }
 
 function deselectUser(viewId) {
        var userlistItem = w2ui['toolbar-down'].get('userlist');
+       if (userlistItem === null) {
+               return;
+       }
+
        userlistItem.html = $(userlistItem.html).find('#user-' + 
viewId).removeClass('selected-user').parent().parent().parent()[0].outerHTML;
 }
 
@@ -2091,6 +2115,10 @@ function getUserItem(viewId, userName, extraInfo, color) 
{
 
 function updateUserListCount() {
        var userlistItem = w2ui['toolbar-down'].get('userlist');
+       if (userlistItem === null) {
+               return;
+       }
+
        var count = $(userlistItem.html).find('#userlist_table tbody 
tr').length;
        if (count > 1) {
                userlistItem.text = nUsers.replace('%n', count);
@@ -2132,9 +2160,11 @@ function onAddView(e) {
        }
 
        var userlistItem = w2ui['toolbar-down'].get('userlist');
-       var newhtml = $(userlistItem.html).find('#userlist_table 
tbody').append(getUserItem(e.viewId, username, e.extraInfo, 
color)).parent().parent()[0].outerHTML;
-       userlistItem.html = newhtml;
-       updateUserListCount();
+       if (userlistItem !== null) {
+               var newhtml = $(userlistItem.html).find('#userlist_table 
tbody').append(getUserItem(e.viewId, username, e.extraInfo, 
color)).parent().parent()[0].outerHTML;
+               userlistItem.html = newhtml;
+               updateUserListCount();
+       }
 }
 
 $(window).resize(function() {
@@ -2247,6 +2277,32 @@ function setupToolbar(e) {
                }
        });
 
+       map.on('removeview', function(e) {
+               $('#tb_toolbar-down_item_userlist')
+                       .w2overlay({
+                               class: 'loleaflet-font',
+                               html: userLeftPopupMessage.replace('%user', 
e.username),
+                               style: 'padding: 5px'
+                       });
+               clearTimeout(userPopupTimeout);
+               userPopupTimeout = setTimeout(function() {
+                       $('#tb_toolbar-down_item_userlist').w2overlay('');
+                       clearTimeout(userPopupTimeout);
+                       userPopupTimeout = null;
+               }, 3000);
+
+               if (e.viewId === map._docLayer._followThis) {
+                       map._docLayer._followThis = -1;
+                       map._docLayer._followUser = false;
+               }
+
+               var userlistItem = w2ui['toolbar-down'].get('userlist');
+               if (userlistItem !== null) {
+                       userlistItem.html = $(userlistItem.html).find('#user-' 
+ e.viewId).remove().end()[0].outerHTML;
+                       updateUserListCount();
+               }
+       });
+
        map.on('doclayerinit', onDocLayerInit);
        map.on('wopiprops', onWopiProps);
        map.on('addview', onAddView);
commit f59646c8563b44b72b45a11a36e9a56bfcd0b217
Author:     Jan Holesovsky <[email protected]>
AuthorDate: Fri Nov 16 15:00:37 2018 +0100
Commit:     Jan Holesovsky <[email protected]>
CommitDate: Fri Nov 16 16:46:10 2018 +0100

    mobile: Get rid of the callout icon.
    
    Change-Id: I6a040269a2a0d45e7b2db00c4c221ff6c86fdf1e

diff --git a/loleaflet/css/toolbar.css b/loleaflet/css/toolbar.css
index be03c514d..daef2d11c 100644
--- a/loleaflet/css/toolbar.css
+++ b/loleaflet/css/toolbar.css
@@ -582,7 +582,6 @@ button.leaflet-control-search-next
 .w2ui-icon.specialcharacter{ background: url('images/lc_insertsymbol.svg') 
no-repeat center !important; }
 .w2ui-icon.insertobjectchart{ background: url('images/lc_drawchart.svg') 
no-repeat center !important; }
 .w2ui-icon.users{ background: url('images/contacts-dark.svg') no-repeat center 
!important; }
-.w2ui-icon.callout{ background: url('images/lc_calloutshapes-black.svg') 
no-repeat center !important; }
 .w2ui-icon.fullscreen{ background: url('images/lc_fullscreen.svg') no-repeat 
center !important; }
 .w2ui-icon.closemobile{ background: url('images/lc_closedocmobile.svg') 
no-repeat center !important; }
 
diff --git a/loleaflet/images/lc_calloutshapes-black.svg 
b/loleaflet/images/lc_calloutshapes-black.svg
deleted file mode 100644
index bd085cd95..000000000
--- a/loleaflet/images/lc_calloutshapes-black.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 24 24">
- <path 
-     style="fill:#4d4d4d" 
-     d="M 6 4 C 4.8920104 4 4 4.8920001 4 6 L 4 14 C 4 15.108 4.8920104 16 6 
16 L 8 16 L 8 20 L 12 16 L 18 16 C 19.10799 16 20 15.108 20 14 L 20 6 C 20 
4.8920001 19.10799 4 18 4 L 6 4 z "
-     />
- </svg>
diff --git a/loleaflet/js/toolbar.js b/loleaflet/js/toolbar.js
index e5488cbaf..b62b08a16 100644
--- a/loleaflet/js/toolbar.js
+++ b/loleaflet/js/toolbar.js
@@ -725,7 +725,6 @@ function initMobileToolbar(toolItems) {
                        {type: 'button',  id: 'redo',  img: 'redo', hint: 
_UNO('.uno:Redo'), uno: 'Redo', disabled: true},
                        {type: 'button',  id: 'fullscreen', img: 'fullscreen', 
hint: _UNO('.uno:FullScreen', 'text')},
                        {type: 'button',  id: 'users',  img: 'users'},
-                       {type: 'button',  id: 'callout',  img: 'callout'},
                ],
                onClick: function (e) {
                        onClick(e, e.target);
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to