From cc2d992b233622b221e7cbd81a6ecf606f95568d Mon Sep 17 00:00:00 2001 From: Emond Papegaaij Date: Mon, 22 Nov 2010 21:23:49 +0100 Subject: [PATCH] Disable context menu in deployment mode (override with -Ddashboard.enableContext=true) --- .../onderwijs/dashboard/web/WicketApplication.java | 12 ++++++++++++ .../onderwijs/dashboard/web/pages/DashboardPage.java | 7 +++++-- .../dashboard/web/pages/jquery.dashboardclock.js | 11 ++++++++--- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/main/java/nl/topicus/onderwijs/dashboard/web/WicketApplication.java b/src/main/java/nl/topicus/onderwijs/dashboard/web/WicketApplication.java index d3b18ec..ef4293d 100644 --- a/src/main/java/nl/topicus/onderwijs/dashboard/web/WicketApplication.java +++ b/src/main/java/nl/topicus/onderwijs/dashboard/web/WicketApplication.java @@ -136,6 +136,18 @@ public boolean isDevelopment() { return Application.DEVELOPMENT.equals(getConfigurationType()); } + public boolean isContextMenuDisabled() { + if (isDevelopment()) + return false; + try { + return !Boolean.parseBoolean(System + .getProperty("dashboard.enableContext")); + } catch (Exception e) { + // Ignore - we're not allowed to read system properties. + } + return false; + } + public DashboardRepository getRepository() { if (getMode() == DashboardMode.RandomData) return randomRepository; diff --git a/src/main/java/nl/topicus/onderwijs/dashboard/web/pages/DashboardPage.java b/src/main/java/nl/topicus/onderwijs/dashboard/web/pages/DashboardPage.java index abe4ac5..7797f09 100644 --- a/src/main/java/nl/topicus/onderwijs/dashboard/web/pages/DashboardPage.java +++ b/src/main/java/nl/topicus/onderwijs/dashboard/web/pages/DashboardPage.java @@ -108,7 +108,10 @@ public void contribute(WiQueryResourceManager manager) { @Override public JsStatement statement() { - return new JsQuery(this).$().chain("dashboardClock", - "'resources/application/starttime'"); + return new JsQuery(this).$().chain( + "dashboardClock", + "'resources/application/starttime'", + Boolean.toString(WicketApplication.get() + .isContextMenuDisabled())); } } diff --git a/src/main/java/nl/topicus/onderwijs/dashboard/web/pages/jquery.dashboardclock.js b/src/main/java/nl/topicus/onderwijs/dashboard/web/pages/jquery.dashboardclock.js index 528174a..c317c3d 100644 --- a/src/main/java/nl/topicus/onderwijs/dashboard/web/pages/jquery.dashboardclock.js +++ b/src/main/java/nl/topicus/onderwijs/dashboard/web/pages/jquery.dashboardclock.js @@ -1,8 +1,14 @@ (function($) { - jQuery.fn.dashboardClock = function(starttimeUrl) { + jQuery.fn.dashboardClock = function(starttimeUrl, disableContext) { var starttime = ''; var doc = $(document); + if (disableContext) { + doc.bind("contextmenu", function(e) { + e.preventDefault(); + }); + } + doc.data("dashboard-heartbeat-enabled", true); doc.data("dashboard-heartbeat-count", 0); doc.everyTime("1s", "heartbeat-bar-graph", function() { @@ -22,8 +28,7 @@ }); doc.everyTime("200ms", "clock-update", function() { var date = new Date(); - $(".clock .time").text(date.toTimeString().substring(0,8)); - // $(".clock .date").text(date.getDate()+"-"+(date.getMonth()+1)+"-"+date.getFullYear()); + $(".clock .time").text(date.toTimeString().substring(0, 8)); $(".clock .date").text(date.toLocaleDateString()); }); $("#stoplink").click(function() {