changed notification triggers from wrapped functions to simple function
calls
This commit is contained in:
		
							parent
							
								
									efa959d112
								
							
						
					
					
						commit
						8f6cd99ff6
					
				@ -86,6 +86,7 @@ zoomed: function(e) {
 | 
			
		||||
contextmenu: function(e) {;},
 | 
			
		||||
mousemove: function(e) { OSRM.Via.drawDragMarker(e); },
 | 
			
		||||
click: function(e) {
 | 
			
		||||
	OSRM.GUI.deactivateTooltip( "clicking" );	
 | 
			
		||||
	if( !OSRM.G.markers.hasSource() ) {
 | 
			
		||||
		var index = OSRM.G.markers.setSource( e.latlng );
 | 
			
		||||
		OSRM.Geocoder.updateAddress( OSRM.C.SOURCE_LABEL, OSRM.C.DO_FALLBACK_TO_LAT_LNG );
 | 
			
		||||
 | 
			
		||||
@ -99,6 +99,7 @@ onDrag: function(e) {
 | 
			
		||||
	OSRM.Geocoder.updateLocation( this.parent.label );
 | 
			
		||||
},
 | 
			
		||||
onDragStart: function(e) {
 | 
			
		||||
	OSRM.GUI.deactivateTooltip( "dragging" );	
 | 
			
		||||
	OSRM.G.dragging = true;
 | 
			
		||||
	this.switchIcon(this.options.dragicon);
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										162
									
								
								WebContent/gui/OSRM.Notifications.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								WebContent/gui/OSRM.Notifications.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,162 @@
 | 
			
		||||
/*
 | 
			
		||||
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: {
 | 
			
		||||
	localization:
 | 
			
		||||
	{	timeout:	4000,
 | 
			
		||||
		header: 	"[Tooltip] Localization",
 | 
			
		||||
		body: 		"You can use the pulldown menu in the upper left corner to select your favorite language. " +
 | 
			
		||||
					"<br/><br/>" +
 | 
			
		||||
					"Don't despair if you cannot find your language of choice. " +
 | 
			
		||||
					"If you want, you can help to provide additional translations! " +
 | 
			
		||||
					"Visit <a href='https://github.com/DennisSchiefer/Project-OSRM-Web'>here</a> for more information."
 | 
			
		||||
		// triggered by OSRM.Localization.setLanguageWrapper
 | 
			
		||||
	},                
 | 
			
		||||
	clicking:
 | 
			
		||||
	{	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. " + 
 | 
			
		||||
					"<br/><br/>" +
 | 
			
		||||
					"You can delete a marker by clicking on it again with the left mouse button."
 | 
			
		||||
		// triggered by OSRM.Map.click					
 | 
			
		||||
	},
 | 
			
		||||
	dragging:
 | 
			
		||||
	{	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. " +
 | 
			
		||||
					"<br/><br/>" +
 | 
			
		||||
					"You can even create additional markers by dragging them off of the main route! "
 | 
			
		||||
	// triggered by OSRM.Routing.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( id in tooltips ) {
 | 
			
		||||
		// start timer
 | 
			
		||||
		tooltips[id]._timer = setTimeout(
 | 
			
		||||
				function(_id){ return function(){OSRM.GUI._showTooltip(_id);}; }(id),
 | 
			
		||||
				tooltips[id].timeout
 | 
			
		||||
		);
 | 
			
		||||
		
 | 
			
		||||
		// mark tooltip as pending
 | 
			
		||||
		tooltips[id]._pending = true;
 | 
			
		||||
	}
 | 
			
		||||
},
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// deactivate pending tooltip
 | 
			
		||||
deactivateTooltip: function(id) {
 | 
			
		||||
	var tooltips = OSRM.GUI.tooltips;
 | 
			
		||||
	if(tooltips[id] == undefined)
 | 
			
		||||
		return;	
 | 
			
		||||
	
 | 
			
		||||
	// mark tooltip as no longer pending
 | 
			
		||||
	tooltips[id]._pending = false;
 | 
			
		||||
},
 | 
			
		||||
// show tooltip after timer expired
 | 
			
		||||
_showTooltip: function(id) {
 | 
			
		||||
	var tooltips = OSRM.GUI.tooltips;
 | 
			
		||||
	if(tooltips[id] == undefined)
 | 
			
		||||
		return;	
 | 
			
		||||
	
 | 
			
		||||
	// only show tooltip if it is still pending 
 | 
			
		||||
	if( tooltips[id]._pending == false ) {
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
		
 | 
			
		||||
	// 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 );
 | 
			
		||||
	
 | 
			
		||||
	// mark tooltip as no longer pending
 | 
			
		||||
	tooltips[id]._pending = false;
 | 
			
		||||
},
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// 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"; 
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
});
 | 
			
		||||
@ -1,102 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
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 Timers
 | 
			
		||||
// [handles notification timers]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
OSRM.GUI.extend( {
 | 
			
		||||
	
 | 
			
		||||
// notifications
 | 
			
		||||
notifications: [
 | 
			
		||||
	{	time:		4000,
 | 
			
		||||
		header: 	"[Tooltip] Localization",
 | 
			
		||||
		body: 		"You can use the pulldown menu in the upper left corner to select your favorite language. " +
 | 
			
		||||
					"<br/><br/>" +
 | 
			
		||||
					"Don't despair if you cannot find your language of choice. " +
 | 
			
		||||
					"If you want, you can help to provide additional translations! " +
 | 
			
		||||
					"Visit <a href='https://github.com/DennisSchiefer/Project-OSRM-Web'>here</a> for more information.",
 | 
			
		||||
		_classes:	["Localization"],
 | 
			
		||||
		_funcs:		["setLanguageWrapper"]
 | 
			
		||||
	},                
 | 
			
		||||
	{	time:		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. " + 
 | 
			
		||||
					"<br/><br/>" +
 | 
			
		||||
					"You can delete a marker by clicking on it again with the left mouse button.",
 | 
			
		||||
		_classes:	["Map"],
 | 
			
		||||
		_funcs:		["click"]
 | 
			
		||||
	},
 | 
			
		||||
	{	time:		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. " +
 | 
			
		||||
					"<br/><br/>" +
 | 
			
		||||
					"You can even create additional markers by dragging them off of the main route! ",
 | 
			
		||||
		_classes:	["Routing"],
 | 
			
		||||
		_funcs:		["getRoute_Dragging"]
 | 
			
		||||
	}
 | 
			
		||||
],
 | 
			
		||||
		
 | 
			
		||||
// initialize notification timers
 | 
			
		||||
init: function() {
 | 
			
		||||
	// init timers
 | 
			
		||||
	var notifications = OSRM.GUI.notifications;	
 | 
			
		||||
	OSRM.G.notification_timers = new Array( notifications.length );
 | 
			
		||||
	for( var i=0, iEnd=notifications.length; i<iEnd; ++i) {
 | 
			
		||||
		// start timer
 | 
			
		||||
		notifications[i].timer = setTimeout( function(id){ return function(){ OSRM.GUI.notification_timeout(id);}; }(i), notifications[i].time);
 | 
			
		||||
 | 
			
		||||
		// create wrapper functions for function calls that will stop the timer
 | 
			
		||||
		notifications[i].old_functions = [];
 | 
			
		||||
		for(var j=0, jEnd=notifications[i]._classes.length; j<jEnd;j++) {
 | 
			
		||||
			notifications[i].old_functions[j] = OSRM[notifications[i]._classes[j]][notifications[i]._funcs[j]];
 | 
			
		||||
			OSRM[notifications[i]._classes[j]][notifications[i]._funcs[j]] = function(id,id2){ return function(params){ OSRM.GUI.notification_wrapper(id,id2,params);}; }(i,j);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
},
 | 
			
		||||
 | 
			
		||||
// wrapper function to clear timeouts
 | 
			
		||||
notification_wrapper: function(id, id2) {
 | 
			
		||||
	var notifications = OSRM.GUI.notifications;
 | 
			
		||||
	
 | 
			
		||||
	clearTimeout( notifications[id].timer );
 | 
			
		||||
	//notifications[id].old_functions[id2](params);
 | 
			
		||||
	var args = Array.prototype.slice.call(arguments, 2);	
 | 
			
		||||
	notifications[id].old_functions[id2].apply(this, args);
 | 
			
		||||
	for(var j=0, jEnd=notifications[id]._classes.length; j<jEnd;j++) {
 | 
			
		||||
		OSRM[notifications[id]._classes[j]][notifications[id]._funcs[j]] = notifications[id].old_functions[j];
 | 
			
		||||
	}
 | 
			
		||||
},
 | 
			
		||||
 | 
			
		||||
// show notification message after timeout expired
 | 
			
		||||
notification_timeout: function(id) {
 | 
			
		||||
	// if a notification is already shown, restart timer
 | 
			
		||||
	if( OSRM.isNotifyVisible() ) {
 | 
			
		||||
		OSRM.GUI.notifications[id].timer = setTimeout( function(id){ return function(){ OSRM.GUI.notification_timeout(id);}; }(id), OSRM.GUI.notifications[id].time);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
	// show notification
 | 
			
		||||
	OSRM.notify( OSRM.GUI.notifications[id].header, OSRM.GUI.notifications[id].body, true );
 | 
			
		||||
	for(var j=0, jEnd=notifications[id]._classes.length; j<jEnd;j++) {
 | 
			
		||||
		OSRM[notifications[id]._classes[j]][notifications[id]._funcs[j]] = notifications[id].old_functions[j];
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
});
 | 
			
		||||
@ -48,8 +48,9 @@ init: function() {
 | 
			
		||||
	// set default language
 | 
			
		||||
	OSRM.Localization.setLanguage( OSRM.DEFAULTS.LANGUAGE );
 | 
			
		||||
},
 | 
			
		||||
setLanguageWrapper: function(language) {
 | 
			
		||||
	OSRM.Localization.setLanguage(language);		// wrapping required as trigger function for suppressing notifications
 | 
			
		||||
setLanguageWrapper: function(language) {		// wrapping required to correctly prevent localization tooltip from showing
 | 
			
		||||
	OSRM.GUI.deactivateTooltip( "localization" );
 | 
			
		||||
	OSRM.Localization.setLanguage(language);
 | 
			
		||||
},
 | 
			
		||||
setLanguage: function(language) {
 | 
			
		||||
	// change value of both language selectors
 | 
			
		||||
 | 
			
		||||
@ -425,7 +425,7 @@ html, body {
 | 
			
		||||
	width:390px;
 | 
			
		||||
	height:80px;	
 | 
			
		||||
}
 | 
			
		||||
#important-notification-wrapper
 | 
			
		||||
#exclusive-notification-wrapper
 | 
			
		||||
{
 | 
			
		||||
	width:600px;
 | 
			
		||||
	height:170px;
 | 
			
		||||
@ -434,12 +434,12 @@ html, body {
 | 
			
		||||
	margin-top:-85px;
 | 
			
		||||
	margin-left:-300px;
 | 
			
		||||
}
 | 
			
		||||
#important-notification-content
 | 
			
		||||
#exclusive-notification-content
 | 
			
		||||
{
 | 
			
		||||
	width:580px;
 | 
			
		||||
	height:150px;
 | 
			
		||||
}
 | 
			
		||||
#important-notification-blanket
 | 
			
		||||
#exclusive-notification-blanket
 | 
			
		||||
{
 | 
			
		||||
	position:absolute;
 | 
			
		||||
	top:0px;
 | 
			
		||||
@ -451,7 +451,7 @@ html, body {
 | 
			
		||||
	z-index:100;
 | 
			
		||||
	display:none;
 | 
			
		||||
}
 | 
			
		||||
#notification-wrapper
 | 
			
		||||
#tooltip-notification-wrapper
 | 
			
		||||
{
 | 
			
		||||
	width:700px;
 | 
			
		||||
	height:38px;
 | 
			
		||||
@ -460,7 +460,7 @@ html, body {
 | 
			
		||||
	margin-left:-350px;
 | 
			
		||||
	display: none;	
 | 
			
		||||
}
 | 
			
		||||
#notification-content
 | 
			
		||||
#tooltip-notification-content
 | 
			
		||||
{
 | 
			
		||||
	width:680px;
 | 
			
		||||
	height:18px;
 | 
			
		||||
 | 
			
		||||
@ -64,7 +64,7 @@ or see http://www.gnu.org/licenses/agpl.txt.
 | 
			
		||||
<script src="gui/OSRM.GUIBoxHandle.js" type="text/javascript"></script>
 | 
			
		||||
<script src="gui/OSRM.Selector.js" type="text/javascript"></script>
 | 
			
		||||
<script src="gui/OSRM.MainGUI.js" type="text/javascript"></script>
 | 
			
		||||
<script src="gui/OSRM.Timers.js" type="text/javascript"></script>
 | 
			
		||||
<script src="gui/OSRM.Notifications.js" type="text/javascript"></script>
 | 
			
		||||
<script src="routing/OSRM.Routing.js" type="text/javascript"></script>
 | 
			
		||||
<script src="routing/OSRM.RoutingDescription.js" type="text/javascript"></script>
 | 
			
		||||
<script src="routing/OSRM.RoutingGeometry.js" type="text/javascript"></script>
 | 
			
		||||
@ -87,31 +87,31 @@ or see http://www.gnu.org/licenses/agpl.txt.
 | 
			
		||||
<!-- map -->
 | 
			
		||||
<div id="map"></div>
 | 
			
		||||
 | 
			
		||||
<!-- important notification -->
 | 
			
		||||
<div id="important-notification-blanket">
 | 
			
		||||
<div id="important-notification-wrapper" class="box-wrapper not-selectable">
 | 
			
		||||
<div id="important-notification-content" class="box-content">
 | 
			
		||||
<!-- exclusive notification -->
 | 
			
		||||
<div id="exclusive-notification-blanket">
 | 
			
		||||
<div id="exclusive-notification-wrapper" class="box-wrapper not-selectable">
 | 
			
		||||
<div id="exclusive-notification-content" class="box-content">
 | 
			
		||||
	<!-- header -->
 | 
			
		||||
	<div id="important-notification-toggle" class="iconic-button cancel-marker top-right-button"></div>
 | 
			
		||||
	<div id="important-notification-label" class="box-label">Notification</div>
 | 
			
		||||
	<div id="exclusive-notification-toggle" class="iconic-button cancel-marker top-right-button"></div>
 | 
			
		||||
	<div id="exclusive-notification-label" class="box-label">Notification</div>
 | 
			
		||||
 | 
			
		||||
	<!-- notification text -->
 | 
			
		||||
	<div id="important-notification-box"></div>
 | 
			
		||||
	<div id="exclusive-notification-box"></div>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<!-- normal notification -->
 | 
			
		||||
<div id="notification-wrapper" class="box-wrapper not-selectable">
 | 
			
		||||
<div id="notification-content" class="box-content">
 | 
			
		||||
<!-- tooltip notification -->
 | 
			
		||||
<div id="tooltip-notification-wrapper" class="box-wrapper not-selectable">
 | 
			
		||||
<div id="tooltip-notification-content" class="box-content">
 | 
			
		||||
	<!-- header -->
 | 
			
		||||
	<div id="notification-toggle" class="iconic-button cancel-marker top-right-button"></div>
 | 
			
		||||
	<div id="tooltip-notification-toggle" class="iconic-button cancel-marker top-right-button"></div>
 | 
			
		||||
	<div class="quad top-right-button"></div>
 | 
			
		||||
	<div id="notification-resize" class="iconic-button cancel-marker top-right-button"></div>
 | 
			
		||||
	<div id="notification-label" class="box-label">Notification</div>
 | 
			
		||||
	<div id="tooltip-notification-resize" class="iconic-button cancel-marker top-right-button"></div>
 | 
			
		||||
	<div id="tooltip-notification-label" class="box-label">Notification</div>
 | 
			
		||||
 | 
			
		||||
	<!-- notification text -->
 | 
			
		||||
	<div id="notification-box"></div>
 | 
			
		||||
	<div id="tooltip-notification-box"></div>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -284,60 +284,12 @@ OSRM.parseParameters = function(){
 | 
			
		||||
// check whether to activate maintenance mode
 | 
			
		||||
OSRM.inMaintenance = function(){
 | 
			
		||||
	if( OSRM.DEFAULTS.MAINTENANCE == true ) {
 | 
			
		||||
		OSRM.xnotify( OSRM.DEFAULTS.MAINTENANCE_HEADER, OSRM.DEFAULTS.MAINTENANCE_TEXT, false);
 | 
			
		||||
		OSRM.GUI.exclusiveNotify( OSRM.DEFAULTS.MAINTENANCE_HEADER, OSRM.DEFAULTS.MAINTENANCE_TEXT, false);
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
	return false;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// important notifications
 | 
			
		||||
OSRM.xnotify = function( header, text, closable ){
 | 
			
		||||
	document.getElementById('important-notification-blanket').style.display = "block";
 | 
			
		||||
	document.getElementById('important-notification-label').innerHTML = header;
 | 
			
		||||
	document.getElementById('important-notification-box').innerHTML = text;
 | 
			
		||||
	if( closable )
 | 
			
		||||
		document.getElementById('important-notification-toggle').onclick = OSRM.xdenotify;
 | 
			
		||||
	else
 | 
			
		||||
		document.getElementById('important-notification-toggle').style.display = "none";
 | 
			
		||||
};
 | 
			
		||||
OSRM.xdenotify = function() {
 | 
			
		||||
	document.getElementById('important-notification-blanket').style.display = "none";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// normal notification box
 | 
			
		||||
OSRM.notify = function( header, text ){
 | 
			
		||||
	document.getElementById('notification-wrapper').style.display = "block";
 | 
			
		||||
	document.getElementById('notification-label').innerHTML = header;
 | 
			
		||||
	document.getElementById('notification-box').innerHTML = text;
 | 
			
		||||
	document.getElementById('notification-box').style.display = "block";		// trick to always obtain a closed notification box
 | 
			
		||||
	OSRM.resizeNotify();
 | 
			
		||||
	
 | 
			
		||||
	document.getElementById('notification-toggle').onclick = OSRM.denotify;
 | 
			
		||||
	document.getElementById('notification-resize').onclick = OSRM.resizeNotify;
 | 
			
		||||
};
 | 
			
		||||
OSRM.resizeNotify = function() {
 | 
			
		||||
	if( document.getElementById('notification-box').style.display == "none" ) {	
 | 
			
		||||
		document.getElementById('notification-box').style.display = "block";
 | 
			
		||||
		var height = document.getElementById('notification-box').clientHeight;
 | 
			
		||||
		document.getElementById('notification-content').style.height = (height + 28) + "px";
 | 
			
		||||
		document.getElementById('notification-wrapper').style.height = (height + 48) + "px";
 | 
			
		||||
		document.getElementById('notification-resize').className = "iconic-button up-marker top-right-button";
 | 
			
		||||
	} else {
 | 
			
		||||
		document.getElementById('notification-box').style.display = "none";
 | 
			
		||||
		document.getElementById('notification-content').style.height = "18px";
 | 
			
		||||
		document.getElementById('notification-wrapper').style.height = "38px";		
 | 
			
		||||
		document.getElementById('notification-resize').className = "iconic-button down-marker top-right-button";
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
OSRM.denotify = function() {
 | 
			
		||||
	document.getElementById('notification-wrapper').style.display = "none";
 | 
			
		||||
};
 | 
			
		||||
OSRM.isNotifyVisible = function() {
 | 
			
		||||
	return document.getElementById('notification-wrapper').style.display == "block"; 
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// onload event
 | 
			
		||||
OSRM.Browser.onLoadHandler( OSRM.init );
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user