loleaflet/src/control/Control.JSDialogBuilder.js |   12 -----
 loleaflet/src/control/Control.MobileWizard.js    |   49 +++++++++++++++++------
 2 files changed, 39 insertions(+), 22 deletions(-)

New commits:
commit 11da071e7fec17f17cdc58b31546ddffdc838045
Author:     Szymon Kłos <szymon.k...@collabora.com>
AuthorDate: Thu Sep 26 17:34:20 2019 +0200
Commit:     Szymon Kłos <szymon.k...@collabora.com>
CommitDate: Thu Sep 26 18:00:11 2019 +0200

    jsdialogs: refactor mobile wizard
    
    Change-Id: Id6ab9a0265e8d80bce4c446ec3b9526af6f95cf8

diff --git a/loleaflet/src/control/Control.JSDialogBuilder.js 
b/loleaflet/src/control/Control.JSDialogBuilder.js
index 6f19136f5..3d19a5430 100644
--- a/loleaflet/src/control/Control.JSDialogBuilder.js
+++ b/loleaflet/src/control/Control.JSDialogBuilder.js
@@ -138,22 +138,14 @@ L.Control.JSDialogBuilder = L.Control.extend({
                sectionTitle.innerHTML = title;
 
                var contentDiv = L.DomUtil.create('div', 'ui-content level-' + 
builder._currentDepth + ' mobile-wizard', parentContainer);
+               contentDiv.title = title;
 
                builder._currentDepth++;
                builder.build(contentDiv, [contentNode]);
                builder._currentDepth--;
 
                $(contentDiv).hide();
-               $(sectionTitle).click(function() {
-                       var titles = '.ui-header.level-' + 
builder.wizard._currentDepth + '.mobile-wizard';
-
-                       $(titles).hide('slide', { direction: 'left' }, 'fast', 
function() {});
-                       $(contentDiv).show('slide', { direction: 'right' }, 
'fast');
-
-                       builder.wizard._currentDepth++;
-                       builder.wizard._setTitle(title);
-                       builder.wizard._inMainMenu = false;
-               });
+               $(sectionTitle).click(function() { 
builder.wizard.goLevelDown(contentDiv); });
        },
 
        _frameHandler: function(parentContainer, data, builder) {
diff --git a/loleaflet/src/control/Control.MobileWizard.js 
b/loleaflet/src/control/Control.MobileWizard.js
index 90f567e27..c1e8a2b14 100644
--- a/loleaflet/src/control/Control.MobileWizard.js
+++ b/loleaflet/src/control/Control.MobileWizard.js
@@ -21,18 +21,7 @@ L.Control.MobileWizard = L.Control.extend({
        _setupBackButton: function() {
                var that = this;
                var backButton = $('#mobile-wizard-back');
-               backButton.click(function() {
-                       if (that._inMainMenu) {
-                               that._hideWizard();
-                               that._currentDepth = 0;
-                       } else {
-                               that._currentDepth--;
-                               $('.ui-content.level-' + that._currentDepth + 
'.mobile-wizard').hide('slide', { direction: 'right' }, 'fast', function() {});
-                               $('.ui-header.level-' + that._currentDepth + 
'.mobile-wizard').show('slide', { direction: 'left' }, 'fast');
-                               if (that._currentDepth == 0)
-                                       that._inMainMenu = true;
-                       }
-               });
+               backButton.click(function() { that.goLevelUp(); });
        },
 
        _showWizard: function() {
@@ -49,6 +38,42 @@ L.Control.MobileWizard = L.Control.extend({
                document.activeElement.blur();
        },
 
+       getCurrentLevel: function() {
+               return this._currentDepth;
+       },
+
+       goLevelDown: function(contentToShow) {
+               var titles = '.ui-header.level-' + this.getCurrentLevel() + 
'.mobile-wizard';
+
+               $(titles).hide('slide', { direction: 'left' }, 'fast');
+               $(contentToShow).show('slide', { direction: 'right' }, 'fast');
+
+               this._currentDepth++;
+               this._setTitle(contentToShow.title);
+               this._inMainMenu = false;
+       },
+
+       goLevelUp: function() {
+               if (this._inMainMenu) {
+                       this._hideWizard();
+                       this._currentDepth = 0;
+               } else {
+                       this._currentDepth--;
+
+                       var parent = $('.ui-content.mobile-wizard:visible');
+                       if (this._currentDepth > 0 && parent)
+                               this._setTitle(parent.get(0).title);
+                       else
+                               this._setTitle('');
+
+                       $('.ui-content.level-' + this._currentDepth + 
'.mobile-wizard').hide('slide', { direction: 'right' }, 'fast');
+                       $('.ui-header.level-' + this._currentDepth + 
'.mobile-wizard').show('slide', { direction: 'left' }, 'fast');
+
+                       if (this._currentDepth == 0)
+                               this._inMainMenu = true;
+               }
+       },
+
        _setTitle: function(title) {
                var right = $('#mobile-wizard-title');
                right.text(title);
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to