[Libreoffice-commits] online.git: 2 commits - loleaflet/src
Tamás Zolnai (via logerrit)
logerrit at kemper.freedesktop.org
Tue Oct 8 18:04:21 UTC 2019
loleaflet/src/control/Control.MobileWizard.js | 75 +++++++++++++++++++++++++-
loleaflet/src/layer/tile/TileLayer.js | 42 --------------
2 files changed, 74 insertions(+), 43 deletions(-)
New commits:
commit e1963de90547b636e0fc37d43747bb47679f34b0
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Tue Oct 8 20:03:26 2019 +0200
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Tue Oct 8 20:03:26 2019 +0200
mobile-wizard: move sidebar layout modification code to MobileWizard.js
Change-Id: Iedc1a5dc5ee021d19c1309652c86166d658d1aaa
diff --git a/loleaflet/src/control/Control.MobileWizard.js b/loleaflet/src/control/Control.MobileWizard.js
index 04def764b..b71a8c93f 100644
--- a/loleaflet/src/control/Control.MobileWizard.js
+++ b/loleaflet/src/control/Control.MobileWizard.js
@@ -119,12 +119,85 @@ L.Control.MobileWizard = L.Control.extend({
this._showWizard();
this._hideKeyboard();
+ // We can change the sidebar as we want here
+ if (!data.text) { // sidebar indicator
+ this._modifySidebarLayout(data);
+ }
+
L.control.jsDialogBuilder({mobileWizard: this, map: this.map}).build(this.content.get(0), [data]);
this._mainTitle = data.text ? data.text : '';
this._setTitle(this._mainTitle);
}
- }
+ },
+
+ _modifySidebarLayout: function (data) {
+ this._mergeStylesAndTextPropertyPanels(data);
+ this._removeItems(data, ['editcontour']);
+ },
+
+ _mergeStylesAndTextPropertyPanels: function (data) {
+ var stylesChildren = this._removeStylesPanelAndGetContent(data);
+ if (stylesChildren !== null) {
+ this._addChildrenToTextPanel(data, stylesChildren);
+ }
+ },
+
+ _removeStylesPanelAndGetContent: function (data) {
+ if (data.children) {
+ for (var i = 0; i < data.children.length; i++) {
+ if (data.children[i].type === 'panel' && data.children[i].children &&
+ data.children[i].children.length > 0 && data.children[i].children[0].id === 'SidebarStylesPanel') {
+ var ret = data.children[i].children[0].children;
+ data.children.splice(i, 1);
+ return ret;
+ }
+
+ var childReturn = this._removeStylesPanelAndGetContent(data.children[i]);
+ if (childReturn !== null) {
+ return childReturn;
+ }
+ }
+ }
+ return null;
+ },
+
+ _addChildrenToTextPanel: function (data, children) {
+ if (data.id === 'SidebarTextPanel') {
+ data.children = children.concat(data.children);
+ return 'success';
+ }
+
+ if (data.children) {
+ for (var i = 0; i < data.children.length; i++) {
+ var childReturn = this._addChildrenToTextPanel(data.children[i], children);
+ if (childReturn !== null) {
+ return childReturn;
+ }
+ }
+ }
+ return null;
+ },
+
+ _removeItems: function (data, items) {
+ if (data.children) {
+ var childRemoved = false;
+ for (var i = 0; i < data.children.length; i++) {
+ for (var j = 0; j < items.length; j++) {
+ if (data.children[i].id === items[j]) {
+ data.children.splice(i, 1);
+ childRemoved = true;
+ continue;
+ }
+ }
+ if (childRemoved === true) {
+ i = i - 1;
+ } else {
+ this._removeItems(data.children[i], items);
+ }
+ }
+ }
+ },
});
L.control.mobileWizard = function (options) {
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 91e5ed88b..1609b9ed0 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -756,80 +756,10 @@ L.TileLayer = L.GridLayer.extend({
_onJSDialogMsg: function (textMsg) {
if (window.mode.isMobile() && window.mobileWizard === true) {
var msgData = JSON.parse(textMsg.substring('jsdialog:'.length + 1));
- // by now jsdialog is used only for sidebar
- this._modifySidebarLayout(msgData);
this._openMobileWizard(msgData);
}
},
- _modifySidebarLayout: function (data) {
- this._mergeStylesAndTextPropertyPanels(data);
- this._removeItems(data, ['editcontour']);
- },
-
- _mergeStylesAndTextPropertyPanels: function (data) {
- var stylesChildren = this._removeStylesPanelAndGetContent(data);
- if (stylesChildren !== null) {
- this._addChildrenToTextPanel(data, stylesChildren);
- }
- },
-
- _removeStylesPanelAndGetContent: function (data) {
- if (data.children) {
- for (var i = 0; i < data.children.length; i++) {
- if (data.children[i].type === 'panel' && data.children[i].children &&
- data.children[i].children.length > 0 && data.children[i].children[0].id === 'SidebarStylesPanel') {
- var ret = data.children[i].children[0].children;
- data.children.splice(i, 1);
- return ret;
- }
-
- var childReturn = this._removeStylesPanelAndGetContent(data.children[i]);
- if (childReturn !== null) {
- return childReturn;
- }
- }
- }
- return null;
- },
-
- _addChildrenToTextPanel: function (data, children) {
- if (data.id === 'SidebarTextPanel') {
- data.children = children.concat(data.children);
- return 'success';
- }
-
- if (data.children) {
- for (var i = 0; i < data.children.length; i++) {
- var childReturn = this._addChildrenToTextPanel(data.children[i], children);
- if (childReturn !== null) {
- return childReturn;
- }
- }
- }
- return null;
- },
-
- _removeItems: function (data, items) {
- if (data.children) {
- var childRemoved = false;
- for (var i = 0; i < data.children.length; i++) {
- for (var j = 0; j < items.length; j++) {
- if (data.children[i].id === items[j]) {
- data.children.splice(i, 1);
- childRemoved = true;
- continue;
- }
- }
- if (childRemoved === true) {
- i = i - 1;
- } else {
- this._removeItems(data.children[i], items);
- }
- }
- }
- },
-
_onGraphicSelectionMsg: function (textMsg) {
if (textMsg.match('EMPTY')) {
this._resetSelectionRanges();
commit 2f2e1f5330ea161ed83c2f2c54dd30bd2aba6954
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Tue Oct 8 15:28:06 2019 +0200
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Tue Oct 8 19:52:19 2019 +0200
Add a function to remove item by id from the mobile wizard
Also remove 'editcontour' button which is for triggering a dialog.
Change-Id: I3c1e6e95dcc5b564b647e32d3b1245376af5764a
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index eeadda445..91e5ed88b 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -756,14 +756,22 @@ L.TileLayer = L.GridLayer.extend({
_onJSDialogMsg: function (textMsg) {
if (window.mode.isMobile() && window.mobileWizard === true) {
var msgData = JSON.parse(textMsg.substring('jsdialog:'.length + 1));
- this._mergeStylesAndTextPropertyPanels(msgData);
+ // by now jsdialog is used only for sidebar
+ this._modifySidebarLayout(msgData);
this._openMobileWizard(msgData);
}
},
+ _modifySidebarLayout: function (data) {
+ this._mergeStylesAndTextPropertyPanels(data);
+ this._removeItems(data, ['editcontour']);
+ },
+
_mergeStylesAndTextPropertyPanels: function (data) {
var stylesChildren = this._removeStylesPanelAndGetContent(data);
- this._addChildrenToTextPanel(data, stylesChildren);
+ if (stylesChildren !== null) {
+ this._addChildrenToTextPanel(data, stylesChildren);
+ }
},
_removeStylesPanelAndGetContent: function (data) {
@@ -802,6 +810,26 @@ L.TileLayer = L.GridLayer.extend({
return null;
},
+ _removeItems: function (data, items) {
+ if (data.children) {
+ var childRemoved = false;
+ for (var i = 0; i < data.children.length; i++) {
+ for (var j = 0; j < items.length; j++) {
+ if (data.children[i].id === items[j]) {
+ data.children.splice(i, 1);
+ childRemoved = true;
+ continue;
+ }
+ }
+ if (childRemoved === true) {
+ i = i - 1;
+ } else {
+ this._removeItems(data.children[i], items);
+ }
+ }
+ }
+ },
+
_onGraphicSelectionMsg: function (textMsg) {
if (textMsg.match('EMPTY')) {
this._resetSelectionRanges();
More information about the Libreoffice-commits
mailing list