diff --git a/WebContent/gui/OSRM.Notifications.js.backup b/WebContent/gui/OSRM.Notifications.js.backup new file mode 100644 index 000000000..f282e5d11 --- /dev/null +++ b/WebContent/gui/OSRM.Notifications.js.backup @@ -0,0 +1,179 @@ +/* +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU AFFERO General Public License as published by +the Free Software Foundation; either version 3 of the License, or +any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +or see http://www.gnu.org/licenses/agpl.txt. +*/ + +// OSRM Notifications +// [handles notifications: timed tooltips and exclusive notifications] + + +OSRM.GUI.extend( { + +// tooltips +tooltips: [ + { timeout: 4000, + header: "[Tooltip] Localization", + body: "You can use the pulldown menu in the upper left corner to select your favorite language. " + + "

" + + "Don't despair if you cannot find your language of choice. " + + "If you want, you can help to provide additional translations! " + + "Visit here for more information.", + _classes: ["Localization"], + _methods: ["setLanguageWrapper"] + }, + { timeout: 6000, + header: "[Tooltip] Clicking to set markers", + body: "You can click on the map with the left mouse button to set a source marker (green) or a target marker (red), " + + "if the source marker already exists. " + + "The address of the selected location will be displayed in the boxes to the left. " + + "

" + + "You can delete a marker by clicking on it again with the left mouse button.", + _classes: ["Map"], + _methods: ["click"] + }, + { timeout: 8000, + header: "[Tooltip] Dragging markers", + body: "You can drag a marker by clicking on it with the left mouse button and holding the button pressed. " + + "Then you can move the marker around the map and the route will be updated instantaneously. " + + "

" + + "You can even create additional markers by dragging them off of the main route! ", + _classes: ["Routing"], + _methods: ["getRoute_Dragging"] + } +], + + +// initialize notifications and tooltip timers +init: function() { + // notifications + // [nothing to be done at the moment] + + // tooltip timers + var tooltips = OSRM.GUI.tooltips; + for( var id=0, idEnd=tooltips.length; id=0; --j) { + console.log("remove",j,id); + console.log(tooltips[id]._classes[j], tooltips[id]._methods[j]); + console.log(OSRM[tooltips[id]._classes[j]][tooltips[id]._methods[j]]); + console.log(tooltips[id]._original_functions[j]); + OSRM[tooltips[id]._classes[j]][tooltips[id]._methods[j]] = tooltips[id]._original_functions[j]; + } +}, +// show tooltip after timer expired +_showTooltip: function(id) { + var tooltips = OSRM.GUI.tooltips; + + // if a notification is currently shown, restart timer + if( OSRM.GUI.isTooltipVisible() ) { + tooltips[id]._timer = setTimeout( + function(_id){ return function(){OSRM.GUI._showTooltip(_id);}; }(id), + tooltips[id].timeout + ); + return; + } + + // show notification + OSRM.GUI.tooltipNotify( tooltips[id].header, tooltips[id].body ); + + // remove all wrappers (reverse order!) + for(var j=tooltips[id]._classes.length-1; j>=0; --j) { + OSRM[tooltips[id]._classes[j]][tooltips[id]._methods[j]] = tooltips[id]._original_functions[j]; + } +}, + + +// exclusive notification +exclusiveNotify: function( header, text, closable ){ + document.getElementById('exclusive-notification-blanket').style.display = "block"; + document.getElementById('exclusive-notification-label').innerHTML = header; + document.getElementById('exclusive-notification-box').innerHTML = text; + if( closable ) + document.getElementById('exclusive-notification-toggle').onclick = OSRM.GUI.exclusiveDenotify; + else + document.getElementById('exclusive-notification-toggle').style.display = "none"; +}, +exclusiveDenotify: function() { + document.getElementById('exclusive-notification-blanket').style.display = "none"; +}, + + +// tooltip notification +tooltipNotify: function( header, text ){ + document.getElementById('tooltip-notification-wrapper').style.display = "block"; + document.getElementById('tooltip-notification-label').innerHTML = header; + document.getElementById('tooltip-notification-box').innerHTML = text; + document.getElementById('tooltip-notification-box').style.display = "block"; // simple trick to always start with a minimized tooltip + OSRM.GUI.tooltipResize(); + + document.getElementById('tooltip-notification-toggle').onclick = OSRM.GUI.tooltipDenotify; + document.getElementById('tooltip-notification-resize').onclick = OSRM.GUI.tooltipResize; +}, +tooltipResize: function() { + if( document.getElementById('tooltip-notification-box').style.display == "none" ) { + document.getElementById('tooltip-notification-box').style.display = "block"; + var height = document.getElementById('tooltip-notification-box').clientHeight; + document.getElementById('tooltip-notification-content').style.height = (height + 28) + "px"; + document.getElementById('tooltip-notification-wrapper').style.height = (height + 48) + "px"; + document.getElementById('tooltip-notification-resize').className = "iconic-button up-marker top-right-button"; + } else { + document.getElementById('tooltip-notification-box').style.display = "none"; + document.getElementById('tooltip-notification-content').style.height = "18px"; + document.getElementById('tooltip-notification-wrapper').style.height = "38px"; + document.getElementById('tooltip-notification-resize').className = "iconic-button down-marker top-right-button"; + } +}, +tooltipDenotify: function() { + document.getElementById('tooltip-notification-wrapper').style.display = "none"; +}, +isTooltipVisible: function() { + return document.getElementById('tooltip-notification-wrapper').style.display == "block"; +} + +});