loleaflet/css/toolbar.css                        |   16 +++++++-
 loleaflet/src/control/Control.JSDialogBuilder.js |   44 ++++++++++++++++-------
 2 files changed, 45 insertions(+), 15 deletions(-)

New commits:
commit dfff83fb2b3c262a44098eb2cde8bbdbe197c2c0
Author:     Marco Cecchetti <marco.cecche...@collabora.com>
AuthorDate: Thu Oct 10 09:29:44 2019 +0200
Commit:     Marco Cecchetti <marco.cecche...@collabora.com>
CommitDate: Thu Oct 10 09:29:44 2019 +0200

    lok: jsdialogbuilder: explorable entry: support for both title and value
    
    Change-Id: I4f300507349b64972d0a961f0c4063352810675a

diff --git a/loleaflet/css/toolbar.css b/loleaflet/css/toolbar.css
index 3ac17aa6b..5411274a3 100644
--- a/loleaflet/css/toolbar.css
+++ b/loleaflet/css/toolbar.css
@@ -1043,7 +1043,7 @@ tr.useritem > td > img {
        margin: 0px;
        padding: 0px;
        border: solid 1px #fff;
-       padding-left: 32px !important;
+       padding-left: 4% !important;
        display: flex;
        flex-direction: row;
        align-items: center;
@@ -1079,11 +1079,23 @@ tr.useritem > td > img {
 }
 
 .sub-menu-arrow {
-       margin-right: 40px;
+       display: table-cell;
+       padding-left: 10px;
+       padding-right: 20px;
        background: transparent;
        font-size: 1.5em;
        font-weight: bold;
        color: #aaa !important;
+       vertical-align: middle;
+}
+
+.entry-value {
+       display: table-cell;
+       vertical-align: middle;
+}
+
+.ui-header-right {
+       display: table;
 }
 
 .menu-entry-icon {
diff --git a/loleaflet/src/control/Control.JSDialogBuilder.js 
b/loleaflet/src/control/Control.JSDialogBuilder.js
index c094f8afb..990bc456c 100644
--- a/loleaflet/src/control/Control.JSDialogBuilder.js
+++ b/loleaflet/src/control/Control.JSDialogBuilder.js
@@ -141,21 +141,27 @@ L.Control.JSDialogBuilder = L.Control.extend({
                return null;
        },
 
-       _explorableEntry: function(parentContainer, title, contentNode, 
builder, iconPath) {
+       _explorableEntry: function(parentContainer, title, contentNode, 
builder, valueNode, iconPath) {
                var sectionTitle = L.DomUtil.create('div', 'ui-header level-' + 
builder._currentDepth + ' mobile-wizard ui-widget', parentContainer);
+               $(sectionTitle).css('justify-content', 'space-between');
+
+               var leftDiv = L.DomUtil.create('div', 'ui-header-left', 
sectionTitle);
+               var titleClass = '';
                if (iconPath) {
-                       var div = L.DomUtil.create('div', '', sectionTitle);
-                       var icon = L.DomUtil.create('img', 'menu-entry-icon', 
div);
+                       var icon = L.DomUtil.create('img', 'menu-entry-icon', 
leftDiv);
                        icon.src = iconPath;
-                       var titleSpan = L.DomUtil.create('span', 
'menu-entry-with-icon', div);
-                       titleSpan.innerHTML = title;
-               } else {
-                       sectionTitle.innerHTML = title;
+                       titleClass = 'menu-entry-with-icon'
                }
+               var titleSpan = L.DomUtil.create('span', titleClass, leftDiv);
+               titleSpan.innerHTML = title;
 
-               $(sectionTitle).css('justify-content', 'space-between');
+               var rightDiv = L.DomUtil.create('div', 'ui-header-right', 
sectionTitle);
+               if (valueNode) {
+                       var valueDiv = L.DomUtil.create('div', 'entry-value', 
rightDiv);
+                       valueDiv.appendChild(valueNode);
+               }
 
-               var arrowSpan = L.DomUtil.create('span', 'sub-menu-arrow', 
sectionTitle);
+               var arrowSpan = L.DomUtil.create('span', 'sub-menu-arrow', 
rightDiv);
                arrowSpan.innerHTML = '>';
 
                var contentDiv = L.DomUtil.create('div', 'ui-content level-' + 
builder._currentDepth + ' mobile-wizard', parentContainer);
@@ -410,12 +416,20 @@ L.Control.JSDialogBuilder = L.Control.extend({
        _comboboxControl: function(parentContainer, data, builder, iconPath) {
                // TODO: event listener in the next level...
 
-               if (!data.entries || data.entries.length == 0)
+               if (!data.entries || data.entries.length === 0)
                        return false;
 
                var title = data.text;
-               if (data.selectedEntries)
-                       title = data.entries[data.selectedEntries[0]];
+               var valueNode = null;
+               if (data.selectedEntries) {
+                       if (title && title.length) {
+                               var value = 
data.entries[data.selectedEntries[0]];
+                               valueNode = L.DomUtil.create('div', '', null);
+                               valueNode.innerHTML = value;
+                       } else {
+                               title = data.entries[data.selectedEntries[0]];
+                       }
+               }
                title = builder._cleanText(title);
 
                var entries = [];
@@ -426,7 +440,7 @@ L.Control.JSDialogBuilder = L.Control.extend({
 
                var contentNode = {type: 'container', children: entries};
 
-               builder._explorableEntry(parentContainer, title, contentNode, 
builder, iconPath);
+               builder._explorableEntry(parentContainer, title, contentNode, 
builder, valueNode, iconPath);
 
                return false;
        },
@@ -585,12 +599,16 @@ L.Control.JSDialogBuilder = L.Control.extend({
        _fontNameControl: function(parentContainer, data, builder) {
                var iconPath = 'images/lc_charfontname.svg';
                data.entries = [ 'Liberation Sans' ];
+               if (!(data.selectedEntries && data.selectedEntries.length))
+                       data.selectedEntries = [0];
                builder._comboboxControl(parentContainer, data, builder, 
iconPath);
        },
 
        _fontHeightControl: function(parentContainer, data, builder) {
                var iconPath = 'images/lc_fontheight.svg';
                data.entries = [ '8', '10', '11', '12', '14', '16', '24', '32', 
'48' ];
+               if (!(data.selectedEntries && data.selectedEntries.length))
+                       data.selectedEntries = [1];
                builder._comboboxControl(parentContainer, data, builder, 
iconPath);
        },
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to