[Libreoffice-commits] online.git: loleaflet/src

Marco Cecchetti (via logerrit) logerrit at kemper.freedesktop.org
Wed Apr 29 11:29:23 UTC 2020


 loleaflet/src/control/Control.LokDialog.js |   38 +++++++++++++++++++----------
 1 file changed, 25 insertions(+), 13 deletions(-)

New commits:
commit f089599742fbccf0324cfac1fe4563342889fce4
Author:     Marco Cecchetti <marco.cecchetti at collabora.com>
AuthorDate: Mon Apr 20 13:51:46 2020 +0200
Commit:     Marco Cecchetti <marco.cecchetti at collabora.com>
CommitDate: Wed Apr 29 13:29:05 2020 +0200

    leaflet: calc: add inputbar_multiline class when input bar is expanded
    
    Change-Id: I4d9ac5480af37b42402f5597d3500754655055ab
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92692
    Tested-by: Marco Cecchetti <marco.cecchetti at collabora.com>
    Reviewed-by: Marco Cecchetti <marco.cecchetti at collabora.com>

diff --git a/loleaflet/src/control/Control.LokDialog.js b/loleaflet/src/control/Control.LokDialog.js
index 42e3fdbc8..bcdf1f4fa 100644
--- a/loleaflet/src/control/Control.LokDialog.js
+++ b/loleaflet/src/control/Control.LokDialog.js
@@ -282,6 +282,8 @@ L.Control.LokDialog = L.Control.extend({
 			top = parseInt(e.position.split(',')[1]);
 		}
 
+		var lines = 0;
+
 		if (e.title && typeof brandProductName !== 'undefined') {
 			e.title = e.title.replace('Collabora Office', brandProductName);
 		}
@@ -291,7 +293,8 @@ L.Control.LokDialog = L.Control.extend({
 				// When left/top are invalid, the dialog shows in the center.
 				this._launchDialog(e.id, left, top, width, height, e.title);
 			} else if (e.winType === 'calc-input-win') {
-				this._launchCalcInputBar(e.id, width, height);
+				lines = parseInt(e.lines);
+				this._launchCalcInputBar(e.id, width, height, lines);
 			} else if (e.winType === 'deck') {
 				if (!window.mode.isMobile()) {
 					this._launchSidebar(e.id, width, height);
@@ -360,11 +363,13 @@ L.Control.LokDialog = L.Control.extend({
 		} else if (e.action === 'size_changed') {
 			// FIXME: we don't really have to destroy and launch the dialog again but do it for
 			// now because the size sent to us previously in 'created' cb is not correct
-			if (e.winType  === 'deck' || this._isSidebar(e.id)) {
+			if (e.winType === 'deck' || this._isSidebar(e.id)) {
 				$('#' + strId).remove();
 				this._launchSidebar(e.id, width, height);
-			} else if (e.winType  === 'calc-input-win' || this.isCalcInputBar(e.id))
-				this._launchCalcInputBar(e.id, width, height);
+			} else if (e.winType === 'calc-input-win' || this.isCalcInputBar(e.id)) {
+				lines = parseInt(e.lines);
+				this._launchCalcInputBar(e.id, width, height, lines);
+			}
 			else {
 				$('#' + strId).remove();
 				this._launchDialog(e.id, null, null, width, height, this._dialogs[parseInt(e.id)].title);
@@ -799,21 +804,21 @@ L.Control.LokDialog = L.Control.extend({
 		this._sendPaintWindow(id, this._createRectStr(id));
 	},
 
-	_launchCalcInputBar: function(id, width, height) {
-		console.log('_launchCalcInputBar: start: id: ' + id + ', width: ' + width + ', height: ' + height);
-		if (!this._calcInputBar || this._calcInputBar.id != id) {
+	_launchCalcInputBar: function(id, width, height, textLines) {
+		console.log('_launchCalcInputBar: start: id: ' + id + ', width: ' + width + ', height: ' + height + ', textLines: ' + textLines);
+		if (!this._calcInputBar || this._calcInputBar.id !== id) {
 			if (this._calcInputBar)
 				$('#' + this._calcInputBar.strId).remove();
-			this._createCalcInputbar(id, width, height);
+			this._createCalcInputbar(id, width, height, textLines);
 		} else {
 			// Update in-place. We will resize during rendering.
-			this._adjustCalcInputBar(id, width, height);
+			this._adjustCalcInputBar(id, width, height, textLines);
 		}
 
 		console.log('_launchCalcInputBar: end');
 	},
 
-	_adjustCalcInputBar: function(id, width, height) {
+	_adjustCalcInputBar: function(id, width, height, textLines) {
 		if (this._calcInputBar) {
 			var oldHeight = this._calcInputBar.height;
 			var delta = height - oldHeight;
@@ -822,7 +827,7 @@ L.Control.LokDialog = L.Control.extend({
 
 				// Recreate the input-bar.
 				$('#' + this._calcInputBar.strId).remove();
-				this._createCalcInputbar(id, width, height);
+				this._createCalcInputbar(id, width, height, textLines);
 
 				// Resize the container.
 				var documentContainer = L.DomUtil.get('document-container');
@@ -886,8 +891,8 @@ L.Control.LokDialog = L.Control.extend({
 		}
 	},
 
-	_createCalcInputbar: function(id, width, height) {
-		console.log('_createCalcInputBar: start: id: ' + id + ', width: ' + width + ', height: ' + height);
+	_createCalcInputbar: function(id, width, height, textLines) {
+		console.log('_createCalcInputBar: start: id: ' + id + ', width: ' + width + ', height: ' + height + ', textLines: ' + textLines);
 		var strId = this._toStrId(id);
 
 		$('#calc-inputbar-wrapper').css({display: 'block'});
@@ -897,6 +902,12 @@ L.Control.LokDialog = L.Control.extend({
 		L.DomUtil.setStyle(container, 'width', '100%');
 		L.DomUtil.setStyle(container, 'height', height + 'px');
 
+		if (textLines > 1) {
+			$('#formulabar').addClass('inputbar_multiline');
+		} else {
+			$('#formulabar').removeClass('inputbar_multiline');
+		}
+
 		//var eventLayer = L.DomUtil.create('div', '', container);
 		// Create the canvas.
 		var canvas = L.DomUtil.create('canvas', 'inputbar_canvas', container);
@@ -942,6 +953,7 @@ L.Control.LokDialog = L.Control.extend({
 			top: 0,
 			width: width,
 			height: height,
+			textLines: textLines,
 			cursor: null,
 			textSelection: {rectangles: selections, handles: handles, startHandle: startHandle, endHandle: endHandle},
 			child: null, // never used for inputbar


More information about the Libreoffice-commits mailing list