[player-tracker] use markup for seach results and prevent chat from handling events

This commit is contained in:
fkloft 2015-02-14 14:49:52 +01:00
parent 9e72abb7cb
commit 22b58b790d

View File

@ -522,20 +522,23 @@ window.plugin.playerTracker.centerMapOnUser = function(nick) {
if(data.marker) { if(data.marker) {
window.plugin.playerTracker.onClickListener({target: data.marker}); window.plugin.playerTracker.onClickListener({target: data.marker});
} }
return true;
} }
window.plugin.playerTracker.onNicknameClicked = function(info) { window.plugin.playerTracker.onNicknameClicked = function(info) {
if (info.event.ctrlKey || info.event.metaKey) { if (info.event.ctrlKey || info.event.metaKey) {
plugin.playerTracker.centerMapOnUser(info.nickname); return !plugin.playerTracker.centerMapOnUser(info.nickname);
return false;
} }
return true; // don't interrupt hook
} }
window.plugin.playerTracker.onSearchResultSelected = function(result, event) { window.plugin.playerTracker.onSearchResultSelected = function(result, event) {
event.stopPropagation(); // prevent chat from handling the click
if(window.isSmartphone()) window.show('map'); if(window.isSmartphone()) window.show('map');
// if the user moved since the search was started, check if we have a new set of data // if the user moved since the search was started, check if we have a new set of data
if(false === window.plugin.playerTracker.centerMapOnUser(result.title)) if(false === window.plugin.playerTracker.centerMapOnUser(result.nickname))
map.setView(result.position); map.setView(result.position);
if(event.type == 'dblclick') if(event.type == 'dblclick')
@ -553,7 +556,8 @@ window.plugin.playerTracker.onSearch = function(query) {
var event = data.events[data.events.length - 1]; var event = data.events[data.events.length - 1];
query.addResult({ query.addResult({
title: nick, title: '<mark class="nickname help '+TEAM_TO_CSS[getTeam(data)]+'">' + nick + '</mark>',
nickname: nick,
description: data.team.substr(0,3) + ', last seen ' + unixTimeToDateTimeString(event.time), description: data.team.substr(0,3) + ', last seen ' + unixTimeToDateTimeString(event.time),
position: plugin.playerTracker.getLatLngFromEvent(event), position: plugin.playerTracker.getLatLngFromEvent(event),
onSelected: window.plugin.playerTracker.onSearchResultSelected, onSelected: window.plugin.playerTracker.onSearchResultSelected,