Skip to content
Snippets Groups Projects
Commit 55c49edc authored by Piotr Gawron's avatar Piotr Gawron
Browse files

warning when search result hits maximum

parent 606847cc
No related branches found
No related tags found
2 merge requests!630WIP: Resolve "The privileges of a new user are not saved in some cases",!496Resolve "Inform about exceeding max number of search results"
Pipeline #7320 passed
......@@ -6,6 +6,8 @@ var Promise = require("bluebird");
var AbstractDbPanel = require('./AbstractDbPanel');
var Alias = require('../../map/data/Alias');
var ConfigurationType = require('../../ConfigurationType');
var GuiConnector = require('../../GuiConnector');
var IdentifiedElement = require('../../map/data/IdentifiedElement');
var InvalidArgumentError = require('../../InvalidArgumentError');
var PanelControlElementType = require('../PanelControlElementType');
......@@ -19,16 +21,17 @@ var Functions = require('../../Functions');
/**
*
* @param params
* @param {Configuration} params.configuration
* @constructor
* @extends AbstractDbPanel
*/
function GenericSearchPanel(params) {
var self = this;
params.panelName = "search";
params.helpTip = "<p>search tab allows to search for particular elements or interactions in the map</p>"
params["panelName"] = "search";
params["helpTip"] = "<p>search tab allows to search for particular elements or interactions in the map</p>"
+ "<p>perfect match tick box active: only terms with an exact match to the query will be returned</p>"
+ "<p>separate multiple search by semicolon</p>";
params.placeholder = "keyword";
params["placeholder"] = "keyword";
AbstractDbPanel.call(self, params);
......@@ -190,7 +193,16 @@ GenericSearchPanel.prototype.searchByQuery = function () {
var self = this;
var query = this.getControlElement(PanelControlElementType.SEARCH_INPUT).value;
var perfect = this.getControlElement(PanelControlElementType.SEARCH_PERFECT_MATCH_CHECKBOX).checked;
return self.getOverlayDb().searchByQuery(query, perfect, true);
return self.getOverlayDb().searchByQuery(query, perfect, true).then(function (result) {
var max = 0;
for (var i = 0; i < result.length; i++) {
max = Math.max(max, result[i].length);
}
if (max >= parseInt(self.getConfiguration().getOption(ConfigurationType.SEARCH_RESULT_NUMBER).getValue())) {
GuiConnector.warn("Max number of results is exceeded - some results are omitted; " +
"please narrow you criteria to see all results or use 'perfect match'");
}
});
};
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment