From 94ca30c69004d3eef598447c481b38c279b873f4 Mon Sep 17 00:00:00 2001 From: DennisSchiefer Date: Wed, 25 Apr 2012 12:17:36 +0100 Subject: [PATCH] printing icon can now deactivates when there is no route --- WebContent/base/OSRM.Routes.js | 4 ++++ WebContent/main.css | 5 +++++ WebContent/printing/OSRM.Printing.js | 15 +++++++++++++-- WebContent/routing/OSRM.RoutingDescription.js | 3 +++ 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/WebContent/base/OSRM.Routes.js b/WebContent/base/OSRM.Routes.js index 66bc67a29..d9bd07db9 100644 --- a/WebContent/base/OSRM.Routes.js +++ b/WebContent/base/OSRM.Routes.js @@ -49,12 +49,16 @@ OSRM.extend( OSRM.Route,{ hideRoute: function() { this._current_route.hide(); this._unnamed_route.hide(); + // activate printing + OSRM.Printing.deactivate(); }, hideAll: function() { this._current_route.hide(); this._unnamed_route.hide(); this._old_route.hide(); this._noroute = OSRM.Route.ROUTE; + // activate printing + OSRM.Printing.deactivate(); }, showUnnamedRoute: function(positions) { diff --git a/WebContent/main.css b/WebContent/main.css index a40f9ba8a..ada83c039 100644 --- a/WebContent/main.css +++ b/WebContent/main.css @@ -399,6 +399,11 @@ html, body { { background-image:url("images/printer.png"); } +#gui-printer-inactive +{ + cursor:default; + background-image:url("images/printer_inactive.png"); +} #gui-printer:hover { background-image:url("images/printer_hover.png"); diff --git a/WebContent/printing/OSRM.Printing.js b/WebContent/printing/OSRM.Printing.js index 00cc2ae68..702f14820 100644 --- a/WebContent/printing/OSRM.Printing.js +++ b/WebContent/printing/OSRM.Printing.js @@ -24,7 +24,7 @@ OSRM.Printing = { // create UI for printing in mainwindow init: function() { var icon = document.createElement('div'); - icon.id = "gui-printer"; + icon.id = "gui-printer-inactive"; icon.className = "iconic-button top-right-button"; var spacer = document.createElement('div'); @@ -34,10 +34,21 @@ init: function() { input_mask_header.appendChild(spacer,input_mask_header.lastChild); input_mask_header.appendChild(icon,input_mask_header.lastChild); - document.getElementById("gui-printer").onclick = OSRM.Printing.print; + document.getElementById("gui-printer-inactive").onclick = OSRM.Printing.print; }, +// switch printer button on/off +activate: function() { // use showing route description as trigger + if( document.getElementById("gui-printer-inactive") ) + document.getElementById("gui-printer-inactive").id = "gui-printer"; +}, +deactivate: function() { // use hide route as trigger + if( document.getElementById("gui-printer") ) + document.getElementById("gui-printer").id = "gui-printer-inactive"; +}, + + // create UI in printwindow show: function(response) { // create header diff --git a/WebContent/routing/OSRM.RoutingDescription.js b/WebContent/routing/OSRM.RoutingDescription.js index 03c91ab7d..e011ea32e 100644 --- a/WebContent/routing/OSRM.RoutingDescription.js +++ b/WebContent/routing/OSRM.RoutingDescription.js @@ -46,6 +46,9 @@ showRouteLink_TimeOut: function(){ // handling of routing description show: function(response) { + // activate printing + OSRM.Printing.activate(); + // compute query string var query_string = '?hl=' + OSRM.Localization.current_language; for(var i=0; i