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

Pranav Kant pranavk at collabora.co.uk
Fri Jan 13 15:04:34 UTC 2017


 loleaflet/README                      |    2 +-
 loleaflet/dist/toolbar/toolbar.js     |    3 +--
 loleaflet/src/control/Parts.js        |    4 +++-
 loleaflet/src/control/Search.js       |   18 +++++++++++++++---
 loleaflet/src/layer/tile/TileLayer.js |    5 +++++
 5 files changed, 25 insertions(+), 7 deletions(-)

New commits:
commit 35e904ecf942eb379ec181a4edf6e18d45adb59c
Author: Pranav Kant <pranavk at collabora.co.uk>
Date:   Fri Jan 13 20:32:10 2017 +0530

    loleaflet: Don't focus on map if search is going on
    
    ... and part is changed.
    
    Change-Id: Icebcfc9924a6891787d08476ba37a0174ae9b67d

diff --git a/loleaflet/src/control/Parts.js b/loleaflet/src/control/Parts.js
index cbca779..41f36e9 100644
--- a/loleaflet/src/control/Parts.js
+++ b/loleaflet/src/control/Parts.js
@@ -46,7 +46,9 @@ L.Map.include({
 			this._socket.sendMessage('commandvalues command=.uno:ViewRowColumnHeaders');
 		}
 		docLayer._drawSearchResults();
-		this.focus();
+		if (!this._searchRequested) {
+			this.focus();
+		}
 	},
 
 	getPreview: function (id, index, maxWidth, maxHeight, options) {
diff --git a/loleaflet/src/control/Search.js b/loleaflet/src/control/Search.js
index 8bf8d15..f030a7b 100644
--- a/loleaflet/src/control/Search.js
+++ b/loleaflet/src/control/Search.js
@@ -50,6 +50,7 @@ L.Map.include({
 		searchCmd['SearchItem.Command'] = {};
 		searchCmd['SearchItem.Command'].type = 'long';
 		searchCmd['SearchItem.Command'].value = all;
+		this._searchRequested = true;
 		this._socket.sendMessage('uno .uno:ExecuteSearch ' + JSON.stringify(searchCmd));
 	},
 
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 4f34b8f..0e75eaa 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -885,11 +885,13 @@ L.TileLayer = L.GridLayer.extend({
 
 	_onSearchNotFoundMsg: function (textMsg) {
 		this._clearSearchResults();
+		this._searchRequested = false;
 		var originalPhrase = textMsg.substring(16);
 		this._map.fire('search', {originalPhrase: originalPhrase, count: 0});
 	},
 
 	_onSearchResultSelection: function (textMsg) {
+		this._searchRequested = false;
 		textMsg = textMsg.substring(23);
 		var obj = JSON.parse(textMsg);
 		var originalPhrase = obj.searchString;
commit 64835bec909e797daa25947da876e779a3641134
Author: Pranav Kant <pranavk at collabora.co.uk>
Date:   Fri Jan 13 19:59:28 2017 +0530

    loleaflet: Allow search expansion as you type
    
    Change-Id: I648721a0ed9e4d66db45956657398a4834ac45ce

diff --git a/loleaflet/dist/toolbar/toolbar.js b/loleaflet/dist/toolbar/toolbar.js
index 0385b26..02a89f0 100644
--- a/loleaflet/dist/toolbar/toolbar.js
+++ b/loleaflet/dist/toolbar/toolbar.js
@@ -736,10 +736,9 @@ function selectItem(item, func)
 		item.current = index;
 	}
 }
-
 function onSearch(e) {
 	var toolbar = w2ui['toolbar-down'];
-	map.search(L.DomUtil.get('search-input').value);
+	map.search(L.DomUtil.get('search-input').value, false, 0, true /* expand search */);
 	toolbar.enable('searchprev');
 	toolbar.enable('searchnext');
 	toolbar.show('cancelsearch');
diff --git a/loleaflet/src/control/Search.js b/loleaflet/src/control/Search.js
index 22bd3dd..8bf8d15 100644
--- a/loleaflet/src/control/Search.js
+++ b/loleaflet/src/control/Search.js
@@ -1,5 +1,5 @@
 L.Map.include({
-	search: function (text, backward, all) {
+	search: function (text, backward, all, expand) {
 		if (backward === undefined) {
 			backward = false;
 		}
@@ -28,14 +28,25 @@ L.Map.include({
 				Math.max(viewTopLeftpx.y, docBoundsTopLeft.y)));
 		var topLeftTwips = this._docLayer._latLngToTwips(topLeft);
 
+		var searchStartPointX = topLeftTwips.x;
+		var searchStartPointY = topLeftTwips.y;
+		if (this._docLayer && this._docLayer._lastSearchResult && expand) {
+			var strTwips = this._docLayer._lastSearchResult.twipsRectangles.match(/\d+/g);
+			if (strTwips != null) {
+				searchStartPointX = strTwips[0];
+				searchStartPointY = strTwips[1];
+			}
+			this.resetSelection();
+		}
+
 		searchCmd['SearchItem.SearchString'].value = text;
 		searchCmd['SearchItem.Backward'].value = backward;
 		searchCmd['SearchItem.SearchStartPointX'] = {};
 		searchCmd['SearchItem.SearchStartPointX'].type = 'long';
-		searchCmd['SearchItem.SearchStartPointX'].value = topLeftTwips.x;
+		searchCmd['SearchItem.SearchStartPointX'].value = searchStartPointX;
 		searchCmd['SearchItem.SearchStartPointY'] = {};
 		searchCmd['SearchItem.SearchStartPointY'].type = 'long';
-		searchCmd['SearchItem.SearchStartPointY'].value = topLeftTwips.y;
+		searchCmd['SearchItem.SearchStartPointY'].value = searchStartPointY;
 		searchCmd['SearchItem.Command'] = {};
 		searchCmd['SearchItem.Command'].type = 'long';
 		searchCmd['SearchItem.Command'].value = all;
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index b7fd4a0..4f34b8f 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -910,12 +910,15 @@ L.TileLayer = L.GridLayer.extend({
 			this._clearSearchResults();
 			this._searchResults = results;
 			this._map.setPart(results[0].part); // go to first result.
+		} else if (count === 1) {
+			this._lastSearchResult = results[0];
 		}
 		this._searchTerm = originalPhrase;
 		this._map.fire('search', {originalPhrase: originalPhrase, count: count, highlightAll: highlightAll, results: results});
 	},
 
 	_clearSearchResults: function() {
+		this._lastSearchResult = null;
 		this._searchResults = null;
 		this._searchTerm = null;
 		this._searchResultsLayer.clearLayers();
commit 582bfbeb7fa2363b0fcd424b8d784675862be6a7
Author: Pranav Kant <pranavk at collabora.co.uk>
Date:   Fri Jan 13 19:42:37 2017 +0530

    Update path
    
    Change-Id: Ic0654f64ee5ba9e4678cca42ceea4a5958a01c66

diff --git a/loleaflet/README b/loleaflet/README
index bfbadf5..714f7d5 100644
--- a/loleaflet/README
+++ b/loleaflet/README
@@ -130,7 +130,7 @@ API & events
 
 ######################################################################
 # See /loleaflet/reference.html for a better formated documentation. #
-# See /loolwsd/reference.txt for the HTTP API documentation.         #
+# See /wsd/reference.txt for the HTTP API documentation.         #
 ######################################################################
 
 Search:


More information about the Libreoffice-commits mailing list