From 0a6e3c0c76549c316617d40a211a9e680a04ed0c Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Fri, 5 Oct 2018 15:44:58 +0200 Subject: [PATCH] clicking on the map clears search input --- frontend-js/src/main/js/SessionData.js | 4 +-- .../main/js/gui/leftPanel/AbstractDbPanel.js | 6 ++++ .../gui/leftPanel/GenericSearchPanel-test.js | 30 +++++++++++++++++-- 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/frontend-js/src/main/js/SessionData.js b/frontend-js/src/main/js/SessionData.js index 5d89ab83ea..6228b934e8 100644 --- a/frontend-js/src/main/js/SessionData.js +++ b/frontend-js/src/main/js/SessionData.js @@ -88,7 +88,7 @@ SessionData.prototype.setSearchQuery = function (value) { * * @param {Object} param * @param {string} param.type - * @param {Object} param.query + * @param {string} param.query */ SessionData.prototype.setQuery = function (param) { if (param.type === "drug") { @@ -106,7 +106,7 @@ SessionData.prototype.setQuery = function (param) { /** * - * @returns {any} + * @returns {string} */ SessionData.prototype.getSearchQuery = function () { var key = this.getKey(SessionObjectType.SEARCH_QUERY); diff --git a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js index 87e2ed6edb..0a4314e03e 100644 --- a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js +++ b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js @@ -4,6 +4,7 @@ var Promise = require("bluebird"); +var AbstractDbOverlay = require('../../map/overlay/AbstractDbOverlay'); var GuiConnector = require('../../GuiConnector'); var Panel = require('../Panel'); var PanelControlElementType = require('../PanelControlElementType'); @@ -79,6 +80,11 @@ AbstractDbPanel.prototype._createEventHandlers = function () { searchInput.value = ""; }); + self.getOverlayDb().addListener("onSearch", function (data) { + if (data.arg.type === AbstractDbOverlay.QueryType.SEARCH_BY_COORDINATES) { + $(searchInput).val(""); + } + }); }; /** diff --git a/frontend-js/src/test/js/gui/leftPanel/GenericSearchPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/GenericSearchPanel-test.js index af96b91184..34200db33f 100644 --- a/frontend-js/src/test/js/gui/leftPanel/GenericSearchPanel-test.js +++ b/frontend-js/src/test/js/gui/leftPanel/GenericSearchPanel-test.js @@ -15,9 +15,16 @@ var assert = chai.assert; var logger = require('../../logger'); describe('GenericSearchPanel', function () { - var createPanel = function () { - var map = helper.createCustomMap(); - map.getModel().setId(15781); + /**t + * + * @param {CustomMap} [map] + * @returns {GenericSearchPanel} + */ + var createPanel = function (map) { + if (map===undefined) { + map = helper.createCustomMap(); + map.getModel().setId(15781); + } helper.createSearchDbOverlay(map); return new GenericSearchPanel({ @@ -243,6 +250,23 @@ describe('GenericSearchPanel', function () { }); }); + it('clear after search by coordinates', function () { + var map = helper.createCustomMap(); + map.getModel().setId(15781); + var panel = createPanel(map); + + $("[name='searchInput']", panel.getElement()).val("some input"); + var searchParams = { + modelId: map.getModel().getId(), + coordinates: new Point(553.10, 479.18), + zoom: 4 + }; + + return panel.getOverlayDb().searchByCoordinates(searchParams).then(function () { + assert.equal("", $("[name='searchInput']", panel.getElement()).val()); + }); + }); + describe("getAutocomplete", function () { it("without initialization", function () { var panel = createPanel(); -- GitLab