removed backup file
This commit is contained in:
parent
a21aaf330e
commit
eba6330db1
@ -1,179 +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 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. " +
|
||||
"<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"],
|
||||
_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. " +
|
||||
"<br/><br/>" +
|
||||
"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. " +
|
||||
"<br/><br/>" +
|
||||
"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<idEnd; ++id) {
|
||||
// start timer
|
||||
tooltips[id]._timer = setTimeout(
|
||||
function(_id){ return function(){OSRM.GUI._showTooltip(_id);}; }(id),
|
||||
tooltips[id].timeout
|
||||
);
|
||||
|
||||
// create wrapper around each trigger function that will clear the timer
|
||||
tooltips[id]._original_functions = [];
|
||||
for(var tid=0, tidEnd=tooltips[id]._classes.length; tid<tidEnd; ++tid) {
|
||||
tooltips[id]._original_functions[tid] = OSRM[tooltips[id]._classes[tid]][tooltips[id]._methods[tid]];
|
||||
OSRM[tooltips[id]._classes[tid]][tooltips[id]._methods[tid]] =
|
||||
function(_id,_tid){ return function(){
|
||||
var args = Array.prototype.slice.call(arguments, 0);
|
||||
args.unshift(_tid);
|
||||
args.unshift(_id);
|
||||
OSRM.GUI._wrapTrigger.apply(this,args);
|
||||
}; }(id,tid);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
// wrapper around a trigger function that clears a pending timer
|
||||
_wrapTrigger: function(id, tid) {
|
||||
console.log(id,tid);
|
||||
var tooltips = OSRM.GUI.tooltips;
|
||||
|
||||
// clear timer as very first action
|
||||
clearTimeout( tooltips[id]._timer );
|
||||
|
||||
// call original function
|
||||
var args = Array.prototype.slice.call(arguments, 2);
|
||||
tooltips[id]._original_functions[tid].apply(this, args);
|
||||
|
||||
// remove all wrappers (reverse order!)
|
||||
for(var j=tooltips[id]._classes.length-1; j>=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";
|
||||
}
|
||||
|
||||
});
|
Loading…
Reference in New Issue
Block a user