loleaflet/Makefile.am    |   24 ++--
 loleaflet/js/main.js     |    7 -
 loleaflet/js/toolbar.js  |  255 +++++++++++++++++++++++------------------------
 loleaflet/src/map/Map.js |    3 
 4 files changed, 146 insertions(+), 143 deletions(-)

New commits:
commit 7b17fc3a3f4cbd913ff5db51c5ba5faa7729d371
Author: Henry Castro <hcas...@collabora.com>
Date:   Sat May 19 17:28:39 2018 -0400

    loleaflet: modularize toolbar.js file
    
    Change-Id: Ic09d97b7f19aebec80a48161ff3f2a8c7db61328

diff --git a/loleaflet/Makefile.am b/loleaflet/Makefile.am
index 86ea96089..26f4a85cb 100644
--- a/loleaflet/Makefile.am
+++ b/loleaflet/Makefile.am
@@ -105,8 +105,8 @@ LOLEAFLET_JS = $(strip $(shell 
NODE_PATH=$(abs_builddir)/node_modules $(NODE) -e
 
 PLUGINS_JS =\
        w2ui-1.5.rc1.js \
-       main.js \
-       toolbar.js
+       toolbar.js \
+       main.js
 
 LOLEAFLET_JS_SRC = $(shell find $(srcdir)/src -name '*.js')
 LOLEAFLET_JS_DST = $(patsubst 
$(srcdir)/src/%.js,$(builddir)/dist/src/%.js,$(LOLEAFLET_JS_SRC))
@@ -137,7 +137,7 @@ $(builddir)/dist/admin-bundle.js: $(LOLEAFLET_ADMIN_DST) 
$(BOOTSTRAP_DST) $(CURS
 if ENABLE_DEBUG
 $(LOLEAFLET_PREFIX)/dist/loleaflet-src.js: $(LOLEAFLET_JS_DST) 
$(LOLEAFLET_DRAW_JS_DST)
        @echo "Checking loleaflet for JS errors..."
-       @$(NODE) node_modules/eslint/bin/eslint.js $(srcdir)/src --ignore-path 
$(srcdir)/.eslintignore --config $(srcdir)/.eslintrc
+       @NODE_PATH=$(abs_builddir)/node_modules $(NODE) 
node_modules/eslint/bin/eslint.js $(srcdir)/src --ignore-path 
$(srcdir)/.eslintignore --config $(srcdir)/.eslintrc
        @cp -a $(srcdir)/plugins/draw-$(DRAW_VERSION)/dist/images/* 
$(builddir)/dist/images/
 #      @$(NODE) node_modules/eslint/bin/eslint.js 
$(srcdir)/plugins/draw-$(DRAW_VERSION)/src --ignore-path 
$(srcdir)/.eslintignore --config $(srcdir)/.eslintrc
        @touch $@
@@ -147,14 +147,16 @@ $(builddir)/dist/bundle.css: $(LOLEAFLET_CSS_DST)
 
 $(builddir)/dist/bundle.js: $(NODE_MODULES_JS_DST) \
        $(LOLEAFLET_PREFIX)/dist/loleaflet-src.js \
-       $(builddir)/dist/global.js $(builddir)/dist/w2ui-1.5.rc1.js \
-       $(builddir)/dist/main.js $(builddir)/dist/toolbar.js
+       $(builddir)/dist/global.js \
+       $(builddir)/dist/w2ui-1.5.rc1.js \
+       $(builddir)/dist/toolbar.js \
+       $(builddir)/dist/main.js
        @touch $@
 else
 $(LOLEAFLET_PREFIX)/dist/loleaflet-src.js: $(LOLEAFLET_JS_SRC)
        @mkdir -p $(dir $@)
        @echo "Checking loleaflet for JS errors..."
-       @$(NODE) node_modules/eslint/bin/eslint.js $(srcdir)/src --ignore-path 
$(srcdir)/.eslintignore --config $(srcdir)/.eslintrc
+       @NODE_PATH=$(abs_builddir)/node_modules $(NODE) 
node_modules/eslint/bin/eslint.js $(srcdir)/src --ignore-path 
$(srcdir)/.eslintignore --config $(srcdir)/.eslintrc
        @echo "Concatenating loleaflet files..."
        @(cat $(srcdir)/src/copyright.js | sed 
's/{VERSION}/$(LOLEAFLET_VERSION)/' - \
                && echo "(function (window, document, undefined) {" \
@@ -169,16 +171,18 @@ $(builddir)/dist/bundle.css: $(LOLEAFLET_CSS)
 
 $(builddir)/dist/bundle.js: $(NODE_MODULES_JS_SRC) \
        $(LOLEAFLET_PREFIX)/dist/loleaflet-src.js \
-       $(srcdir)/js/global.js $(srcdir)/js/w2ui-1.5.rc1.js \
-       $(srcdir)/js/main.js $(srcdir)/js/toolbar.js
+       $(srcdir)/js/global.js \
+       $(srcdir)/js/w2ui-1.5.rc1.js \
+       $(srcdir)/js/toolbar.js \
+       $(srcdir)/js/main.js
        @echo "Uglify loleaflet js files..."
        @$(NODE) node_modules/uglify-js/bin/uglifyjs \
                $(srcdir)/js/global.js \
                $(NODE_MODULES_JS) \
-               $(builddir)/build/dist/loleaflet-src.js \
                $(srcdir)/js/w2ui-1.5.rc1.js \
-               $(srcdir)/js/main.js \
+               $(builddir)/build/dist/loleaflet-src.js \
                $(srcdir)/js/toolbar.js \
+               $(srcdir)/js/main.js \
                --source-map --output $@
 endif
 
diff --git a/loleaflet/js/main.js b/loleaflet/js/main.js
index b8668234b..89d99263c 100644
--- a/loleaflet/js/main.js
+++ b/loleaflet/js/main.js
@@ -66,6 +66,8 @@ var map = L.map('map', {
 global.map = map;
 
 ////// Controls /////
+map.addControl(L.control.menubar());
+setupToolbar(map);
 map.addControl(L.control.scroll());
 map.addControl(L.control.alertDialog());
 map.addControl(L.control.lokDialog());
@@ -74,13 +76,12 @@ map.addControl(L.control.tabs());
 map.addControl(L.control.columnHeader());
 map.addControl(L.control.rowHeader());
 map.addControl(L.control.contextMenu());
-map.addControl(L.control.menubar());
 map.addControl(L.control.infobar());
 map.loadDocument();
 
 window.addEventListener('beforeunload', function () {
-       if (global.map && global.map._socket) {
-               global.map._socket.close();
+       if (map && map._socket) {
+               map._socket.close();
        }
 });
 
diff --git a/loleaflet/js/toolbar.js b/loleaflet/js/toolbar.js
index 7683145df..277d923e6 100644
--- a/loleaflet/js/toolbar.js
+++ b/loleaflet/js/toolbar.js
@@ -2,8 +2,10 @@
  * LibreOffice Online toolbar
  */
 
-/* global $ map closebutton w2ui w2utils vex _ _UNO */
-/* exported onUseritemClicked editorUpdate */
+/* global $ closebutton w2ui w2utils vex _ _UNO */
+(function(global) {
+
+var map;
 var mobileWidth = 768;
 
 function onDelete(e) {
@@ -236,8 +238,8 @@ function onClick(e, id, item, subItem) {
                // focus on map, and press enter
                map.focus();
                map._docLayer._postKeyboardEvent('input',
-                                                map.keyboard.keyCodes.enter,
-                                                
map.keyboard._toUNOKeyCode(map.keyboard.keyCodes.enter));
+                                                map.keyboard.keyCodes.enter,
+                                                
map.keyboard._toUNOKeyCode(map.keyboard.keyCodes.enter));
 
                w2ui['formulabar'].hide('acceptformula', 'cancelformula');
                w2ui['formulabar'].show('sum', 'function');
@@ -327,7 +329,7 @@ var stylesSelectValue;
 var fontsSelectValue;
 var fontsizesSelectValue;
 
-$(function () {
+function createToolbar() {
        $('#toolbar-up').w2toolbar({
                name: 'toolbar-up',
                items: [
@@ -532,10 +534,9 @@ $(function () {
                        $('#search-input').off('keydown', 
onSearchKeyDown).on('keydown', onSearchKeyDown);
                }
        });
-});
+}
 
 var userJoinedPopupMessage = '<div>' + _('%user has joined') + '</div>';
-var userLeftPopupMessage = '<div>' + _('%user has left') + '</div>';
 var userPopupTimeout = null;
 
 function localizeStateTableCell (text) {
@@ -821,18 +822,9 @@ function onFormulaBarBlur() {
        }, 250);
 }
 
-map.on('hidebusy', function() {
-       // If locked, unlock
-       if (w2ui['toolbar-down'].box.firstChild.className === 'w2ui-lock') {
-               w2utils.unlock(w2ui['toolbar-down'].box);
-       }
-});
 
-map.on('showbusy', function(e) {
-       w2utils.lock(w2ui['toolbar-down'].box, e.label, true);
-});
 
-map.on('wopiprops', function(e) {
+function onWopiProps(e) {
        if (e.HideSaveOption) {
                w2ui['toolbar-up'].hide('save');
        }
@@ -863,9 +855,9 @@ map.on('wopiprops', function(e) {
                $('#document-name-input').removeClass('editable');
                $('#document-name-input').off('keypress', 
onDocumentNameKeyPress);
        }
-});
+}
 
-map.on('doclayerinit', function () {
+function onDocLayerInit() {
        var toolbarUp = w2ui['toolbar-up'];
        var statusbar = w2ui['toolbar-down'];
        var docType = map.getDocType();
@@ -968,10 +960,9 @@ map.on('doclayerinit', function () {
        toolbarUp.refresh();
        statusbar.refresh();
        resizeToolbar();
-});
-
+}
 
-map.on('commandstatechanged', function (e) {
+function onCommandStateChanged(e) {
        var toolbar = w2ui['toolbar-up'];
        var statusbar = w2ui['toolbar-down'];
        var commandName = e.commandName;
@@ -1160,24 +1151,7 @@ map.on('commandstatechanged', function (e) {
                        toolbar.disable(id);
                }
        }
-});
-
-map.on('search', function (e) {
-       var searchInput = L.DomUtil.get('search-input');
-       var toolbar = w2ui['toolbar-down'];
-       if (e.count === 0) {
-               toolbar.disable('searchprev');
-               toolbar.disable('searchnext');
-               toolbar.hide('cancelsearch');
-               L.DomUtil.addClass(searchInput, 'search-not-found');
-               $('#findthis').addClass('search-not-found');
-               map.resetSelection();
-               setTimeout(function () {
-                       $('#findthis').removeClass('search-not-found');
-                       L.DomUtil.removeClass(searchInput, 'search-not-found');
-               }, 500);
-       }
-});
+}
 
 function updateCommandValues() {
        var data = [];
@@ -1287,11 +1261,8 @@ function updateCommandValues() {
        }
 }
 
-map.on('updatetoolbarcommandvalues', function() {
-       w2ui['toolbar-up'].refresh();
-});
 
-map.on('updateparts pagenumberchanged', function (e) {
+function onUpdateParts(e) {
        if (e.docType === 'text') {
                var current = e.currentPage;
                var count = e.pages;
@@ -1344,9 +1315,9 @@ map.on('updateparts pagenumberchanged', function (e) {
                toolbar.show('lastrecord');
                toolbar.show('insertsheet');
        }
-});
+}
 
-map.on('commandresult', function (e) {
+function onCommandResult(e) {
        var commandName = e.commandName;
 
        if (commandName === '.uno:Save') {
@@ -1368,33 +1339,9 @@ map.on('commandresult', function (e) {
                $('#tb_toolbar-up_item_repair').w2overlay({ html: '<div 
style="padding: 10px; line-height: 150%">' +
                        _('Conflict Undo/Redo with multiple users. Please use 
document repair to resolve') + '</div>'});
        }
-});
-
-map.on('celladdress', function (e) {
-       if (document.activeElement !== L.DomUtil.get('addressInput')) {
-               // if the user is not editing the address field
-               L.DomUtil.get('addressInput').value = e.address;
-       }
-});
-
-map.on('cellformula', function (e) {
-       if (document.activeElement !== L.DomUtil.get('formulaInput')) {
-               // if the user is not editing the formula bar
-               L.DomUtil.get('formulaInput').value = e.formula;
-       }
-});
-
-map.on('zoomend', function () {
-       var zoomRatio = map.getZoomScale(map.getZoom(), map.options.zoom);
-       var zoomPercent = Math.round(zoomRatio * 100);
-       $('#zoomlevel').html(zoomPercent + '%');
-});
-
-map.on('hyperlinkclicked', function (e) {
-       window.open(e.url, '_blank');
-});
+}
 
-map.on('updatepermission', function (e) {
+function onUpdatePermission(e) {
        var toolbar = w2ui['toolbar-up'];
 
        // copy the first array
@@ -1476,17 +1423,7 @@ map.on('updatepermission', function (e) {
                });
                $('#search-input').prop('disabled', true);
        }
-});
-
-map.on('keydown', function (e) {
-       if (e.originalEvent.ctrlKey && !e.originalEvent.altKey &&
-          (e.originalEvent.key === 'f' || e.originalEvent.key === 'F')) {
-               var entry = L.DomUtil.get('search-input');
-               entry.focus();
-               entry.select();
-               e.originalEvent.preventDefault();
-       }
-});
+}
 
 function goToViewId(id) {
        var docLayer = map._docLayer;
@@ -1501,7 +1438,7 @@ function goToViewId(id) {
        }
 }
 
-function onUseritemClicked(e) {
+function onUseritemClicked(e) { // eslint-disable-line no-unused-vars
        var docLayer = map._docLayer;
        var viewId = parseInt(e.currentTarget.id.replace('user-', ''));
 
@@ -1521,7 +1458,7 @@ function onUseritemClicked(e) {
        selectUser(viewId);
 }
 
-function editorUpdate(e) {
+function editorUpdate(e) { // eslint-disable-line no-unused-vars
        var docLayer = map._docLayer;
 
        if (e.target.checked) {
@@ -1564,14 +1501,14 @@ function getUserItem(viewId, userName, extraInfo, 
color) {
        }
 
        var html = '<tr class="' + className + '" id="user-' + viewId + '" 
onclick="onUseritemClicked(event)">' +
-                    '<td class=usercolor style="background-color: ' + color  
+';">';
+                    '<td class=usercolor style="background-color: ' + color  
+';">';
        if (extraInfo !== undefined && extraInfo.avatar !== undefined) {
                html += '<img src="' + extraInfo.avatar + '" width="32" 
height="32" />';
        }
 
        // TODO: Add mail and other links as sub-menu.
        html += '</td>' +
-                    '<td class="username loleaflet-font" >' + userName + 
'</td>' +
+                    '<td class="username loleaflet-font" >' + userName + 
'</td>' +
            '</tr>';
 
        return html;
@@ -1593,7 +1530,7 @@ function updateUserListCount() {
        $('#zoomlevel').html(zoomlevel);
 }
 
-map.on('addview', function(e) {
+function onAddView(e) {
        $('#tb_toolbar-down_item_userlist')
                .w2overlay({
                        class: 'loleaflet-font',
@@ -1623,47 +1560,7 @@ map.on('addview', function(e) {
        var newhtml = $(userlistItem.html).find('#userlist_table 
tbody').append(getUserItem(e.viewId, username, e.extraInfo, 
color)).parent().parent()[0].outerHTML;
        userlistItem.html = newhtml;
        updateUserListCount();
-});
-
-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');
-       userlistItem.html = $(userlistItem.html).find('#user-' + 
e.viewId).remove().end()[0].outerHTML;
-       updateUserListCount();
-});
-
-map.on('updateEditorName', function(e) {
-       $('#currently-msg').show();
-       $('#current-editor').text(e.username);
-});
-
-map.on('setFollowOff', function() {
-       var docLayer = map._docLayer;
-       var viewId = docLayer._followThis;
-       if (viewId !== -1 && map._viewInfo[viewId]) {
-               deselectUser(viewId);
-       }
-       docLayer._followThis = -1;
-       docLayer._followUser = false;
-       docLayer._followEditor = false;
-});
+}
 
 $(window).resize(function() {
        resizeToolbar();
@@ -1683,3 +1580,103 @@ $(document).ready(function() {
        // Attach insert file action
        $('#insertgraphic').on('change', onInsertFile);
 });
+
+function setupToolbar(e) {
+       map = e;
+
+       createToolbar();
+
+       map.on('updateEditorName', function(e) {
+               $('#currently-msg').show();
+               $('#current-editor').text(e.username);
+       });
+
+       map.on('setFollowOff', function() {
+               var docLayer = map._docLayer;
+               var viewId = docLayer._followThis;
+               if (viewId !== -1 && map._viewInfo[viewId]) {
+                       deselectUser(viewId);
+               }
+               docLayer._followThis = -1;
+               docLayer._followUser = false;
+               docLayer._followEditor = false;
+       });
+
+       map.on('keydown', function (e) {
+               if (e.originalEvent.ctrlKey && !e.originalEvent.altKey &&
+                  (e.originalEvent.key === 'f' || e.originalEvent.key === 
'F')) {
+                       var entry = L.DomUtil.get('search-input');
+                       entry.focus();
+                       entry.select();
+                       e.originalEvent.preventDefault();
+               }
+       });
+
+       map.on('hyperlinkclicked', function (e) {
+               window.open(e.url, '_blank');
+       });
+
+       map.on('cellformula', function (e) {
+               if (document.activeElement !== L.DomUtil.get('formulaInput')) {
+                       // if the user is not editing the formula bar
+                       L.DomUtil.get('formulaInput').value = e.formula;
+               }
+       });
+
+       map.on('zoomend', function () {
+               var zoomRatio = map.getZoomScale(map.getZoom(), 
map.options.zoom);
+               var zoomPercent = Math.round(zoomRatio * 100);
+               $('#zoomlevel').html(zoomPercent + '%');
+       });
+
+       map.on('celladdress', function (e) {
+               if (document.activeElement !== L.DomUtil.get('addressInput')) {
+                       // if the user is not editing the address field
+                       L.DomUtil.get('addressInput').value = e.address;
+               }
+       });
+
+       map.on('search', function (e) {
+               var searchInput = L.DomUtil.get('search-input');
+               var toolbar = w2ui['toolbar-down'];
+               if (e.count === 0) {
+                       toolbar.disable('searchprev');
+                       toolbar.disable('searchnext');
+                       toolbar.hide('cancelsearch');
+                       L.DomUtil.addClass(searchInput, 'search-not-found');
+                       $('#findthis').addClass('search-not-found');
+                       map.resetSelection();
+                       setTimeout(function () {
+                               $('#findthis').removeClass('search-not-found');
+                               L.DomUtil.removeClass(searchInput, 
'search-not-found');
+                       }, 500);
+               }
+       });
+
+       map.on('updatetoolbarcommandvalues', function() {
+               w2ui['toolbar-up'].refresh();
+       });
+
+       map.on('showbusy', function(e) {
+               w2utils.lock(w2ui['toolbar-down'].box, e.label, true);
+       });
+
+       map.on('hidebusy', function() {
+               // If locked, unlock
+               if (w2ui['toolbar-down'].box.firstChild.className === 
'w2ui-lock') {
+                       w2utils.unlock(w2ui['toolbar-down'].box);
+               }
+       });
+
+       map.on('doclayerinit', onDocLayerInit);
+       map.on('wopiprops', onWopiProps);
+       map.on('addview', onAddView);
+       map.on('updatepermission', onUpdatePermission);
+       map.on('commandresult', onCommandResult);
+       map.on('updateparts pagenumberchanged', onUpdateParts);
+       map.on('commandstatechanged', onCommandStateChanged);
+}
+
+global.setupToolbar = setupToolbar;
+
+}(window));
diff --git a/loleaflet/src/map/Map.js b/loleaflet/src/map/Map.js
index 36f1175a9..ccfd0ec10 100644
--- a/loleaflet/src/map/Map.js
+++ b/loleaflet/src/map/Map.js
@@ -19,7 +19,8 @@ L.Map = L.Evented.extend({
                tileWidthTwips: 3840,
                tileHeightTwips: 3840,
                urlPrefix: 'lool',
-               wopiSrc: ''
+               wopiSrc: '',
+               cursorURL: 'cursors'
        },
 
        lastActiveTime: Date.now(),
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to