[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