[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