[Libreoffice-commits] online.git: 2 commits - loleaflet/src
Szymon Kłos (via logerrit)
logerrit at kemper.freedesktop.org
Wed Oct 16 16:19:58 UTC 2019
loleaflet/src/control/Control.JSDialogBuilder.js | 61 +++++++++++++++++++----
loleaflet/src/control/Control.Menubar.js | 1
2 files changed, 53 insertions(+), 9 deletions(-)
New commits:
commit c79f95ba1d103eed49d0eff68594ba24a22632d3
Author: Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Wed Oct 16 18:18:37 2019 +0200
Commit: Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Wed Oct 16 18:18:44 2019 +0200
Add insert table sub menu
Change-Id: Ic524272a1ea48f04d1e959a6d71bed210c365a80
diff --git a/loleaflet/src/control/Control.JSDialogBuilder.js b/loleaflet/src/control/Control.JSDialogBuilder.js
index 08ae354a9..d3a88f055 100644
--- a/loleaflet/src/control/Control.JSDialogBuilder.js
+++ b/loleaflet/src/control/Control.JSDialogBuilder.js
@@ -213,7 +213,7 @@ L.Control.JSDialogBuilder = L.Control.extend({
}
},
- _explorableMenu: function(parentContainer, title, children, builder) {
+ _explorableMenu: function(parentContainer, title, children, builder, customContent) {
var sectionTitle = L.DomUtil.create('div', 'ui-header level-' + builder._currentDepth + ' mobile-wizard ui-widget', parentContainer);
$(sectionTitle).css('justify-content', 'space-between');
@@ -225,11 +225,15 @@ L.Control.JSDialogBuilder = L.Control.extend({
var contentDiv = L.DomUtil.create('div', 'ui-content level-' + builder._currentDepth + ' mobile-wizard', parentContainer);
contentDiv.title = title;
- builder._currentDepth++;
- for (var i = 0; i < children.length; i++) {
- builder.build(contentDiv, [children[i]]);
+ if (customContent) {
+ contentDiv.appendChild(customContent);
+ } else {
+ builder._currentDepth++;
+ for (var i = 0; i < children.length; i++) {
+ builder.build(contentDiv, [children[i]]);
+ }
+ builder._currentDepth--;
}
- builder._currentDepth--;
$(contentDiv).hide();
if (builder.wizard) {
@@ -380,7 +384,12 @@ L.Control.JSDialogBuilder = L.Control.extend({
return unit;
},
- _spinfieldControl: function(parentContainer, data, builder) {
+ _spinfieldControl: function(parentContainer, data, builder, customCallback) {
+ if (data.label) {
+ var fixedTextData = { text: data.label };
+ builder._fixedtextControl(parentContainer, fixedTextData, builder);
+ }
+
var div = L.DomUtil.create('div', 'spinfieldcontainer', parentContainer);
div.id = data.id;
@@ -417,7 +426,10 @@ L.Control.JSDialogBuilder = L.Control.extend({
$(spinfield).attr('value', builder._cleanValueFromUnits(data.children[0].text));
spinfield.addEventListener('change', function() {
- builder.callback('spinfield', 'change', spinfield, this.value, builder);
+ if (customCallback)
+ customCallback();
+ else
+ builder.callback('spinfield', 'change', spinfield, this.value, builder);
});
if (data.hidden)
@@ -444,7 +456,7 @@ L.Control.JSDialogBuilder = L.Control.extend({
return false;
},
- _pushbuttonControl: function(parentContainer, data, builder) {
+ _pushbuttonControl: function(parentContainer, data, builder, customCallback) {
var pushbutton = L.DomUtil.create('button', '', parentContainer);
pushbutton.innerHTML = builder._cleanText(data.text);
pushbutton.id = data.id;
@@ -453,7 +465,10 @@ L.Control.JSDialogBuilder = L.Control.extend({
$(pushbutton).attr('disabled', 'disabled');
$(pushbutton).click(function () {
- builder.callback('pushbutton', 'click', pushbutton, data.command, builder);
+ if (customCallback)
+ customCallback();
+ else
+ builder.callback('pushbutton', 'click', pushbutton, data.command, builder);
});
if (data.hidden)
@@ -694,7 +709,18 @@ L.Control.JSDialogBuilder = L.Control.extend({
_insertTableMenuItem: function(parentContainer, data, builder) {
var title = data.text;
- builder._explorableMenu(parentContainer, title, data.children, builder);
+
+ var content = L.DomUtil.create('div', 'inserttablecontrols');
+
+ var rowsData = { min: 0, id: 'rows', label: _('Rows') };
+ var colsData = { min: 0, id: 'cols', label: _('Columns') };
+ builder._spinfieldControl(content, rowsData, builder, function() { });
+ builder._spinfieldControl(content, colsData, builder, function() { });
+
+ var buttonData = { text: _('Insert table') };
+ builder._pushbuttonControl(content, buttonData, builder, function() { });
+
+ builder._explorableMenu(parentContainer, title, data.children, builder, content);
},
_fontNameControl: function(parentContainer, data, builder) {
commit 1cc2f6a10974155769b25e15e0d8863732155f59
Author: Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Wed Oct 16 13:19:17 2019 +0200
Commit: Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Wed Oct 16 18:18:44 2019 +0200
Added 'Insert table' to the insert menu
Change-Id: I0cb0e1b17e5e857fd33c123d345aaa031a861efc
diff --git a/loleaflet/src/control/Control.JSDialogBuilder.js b/loleaflet/src/control/Control.JSDialogBuilder.js
index db4991df6..08ae354a9 100644
--- a/loleaflet/src/control/Control.JSDialogBuilder.js
+++ b/loleaflet/src/control/Control.JSDialogBuilder.js
@@ -18,6 +18,7 @@ L.Control.JSDialogBuilder = L.Control.extend({
*/
_controlHandlers: {},
_toolitemHandlers: {},
+ _menuItemHandlers: {},
_colorPickers: [],
_currentDepth: 0,
@@ -56,6 +57,8 @@ L.Control.JSDialogBuilder = L.Control.extend({
this._controlHandlers['submenu'] = this._subMenuHandler;
this._controlHandlers['menuitem'] = this._menuItemHandler;
+ this._menuItemHandlers['inserttable'] = this._insertTableMenuItem;
+
this._toolitemHandlers['.uno:XLineColor'] = this._colorControl;
this._toolitemHandlers['.uno:SelectWidth'] = this._lineWidthControl;
this._toolitemHandlers['.uno:CharFontName'] = this._fontNameControl;
@@ -648,6 +651,15 @@ L.Control.JSDialogBuilder = L.Control.extend({
return false;
}
+ var id = data.id;
+ if (id) {
+ var handler = builder._menuItemHandlers[id];
+ if (handler) {
+ handler(parentContainer, data, builder);
+ return;
+ }
+ }
+
var menuEntry = L.DomUtil.create('div', 'ui-header level-' + builder._currentDepth + ' mobile-wizard ui-widget', parentContainer);
var icon = null;
@@ -680,6 +692,11 @@ L.Control.JSDialogBuilder = L.Control.extend({
return false;
},
+ _insertTableMenuItem: function(parentContainer, data, builder) {
+ var title = data.text;
+ builder._explorableMenu(parentContainer, title, data.children, builder);
+ },
+
_fontNameControl: function(parentContainer, data, builder) {
var iconPath = 'images/lc_charfontname.svg';
data.entries = [ 'Liberation Sans' ];
diff --git a/loleaflet/src/control/Control.Menubar.js b/loleaflet/src/control/Control.Menubar.js
index 5cddbc6b8..41f475be6 100644
--- a/loleaflet/src/control/Control.Menubar.js
+++ b/loleaflet/src/control/Control.Menubar.js
@@ -75,6 +75,7 @@ L.Control.Menubar = L.Control.extend({
{name: _UNO('.uno:InsertGraphic', 'text'), id: 'insertgraphicremote', type: 'action'},
{name: _UNO('.uno:InsertAnnotation', 'text'), id: 'insertcomment', type: 'action'},
{uno: '.uno:InsertObjectChart'},
+ {id: 'inserttable', type: 'action', name: _('Insert table'), desktop: false, tablet: false},
{type: 'separator'},
{uno: '.uno:InsertSection', id: 'insertsection'},
{name: _UNO('.uno:InsertField', 'text'), type: 'menu', menu: [
More information about the Libreoffice-commits
mailing list