From 7248b17ea8f264554b1145bc1e3e542bc349d38a Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Mon, 6 May 2013 23:08:44 +0100 Subject: [PATCH] refresh improvements - cancel existing refrest timer on start zoom/drag - add a manual refresh option into the status box when idle --- code/boot.js | 4 ++-- code/request_handling.js | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/code/boot.js b/code/boot.js index c08acf8b..69f89549 100644 --- a/code/boot.js +++ b/code/boot.js @@ -236,8 +236,8 @@ window.setupMap = function() { map.on('moveend zoomend', function() { window.mapRunsUserAction = false }); // update map hooks - map.on('movestart zoomstart', window.requests.abort); - map.on('moveend zoomend', function() { console.log('map moveend'); window.startRefreshTimeout(ON_MOVE_REFRESH*1000) }); + map.on('movestart zoomstart', function() { window.requests.abort(); window.startRefreshTimeout(-1); }); + map.on('moveend zoomend', function() { window.startRefreshTimeout(ON_MOVE_REFRESH*1000) }); window.addResumeFunction(window.requestData); window.requests.addRefreshFunction(window.requestData); diff --git a/code/request_handling.js b/code/request_handling.js index 84617d54..8b6c3ce7 100644 --- a/code/request_handling.js +++ b/code/request_handling.js @@ -38,6 +38,7 @@ window.requests.abort = function() { // gives user feedback about pending operations. Draws current status // to website. Updates info in layer chooser. window.renderUpdateStatus = function() { + var t = 'map status: '; if(mapRunsUserAction) t += 'paused during interaction'; @@ -48,7 +49,7 @@ window.renderUpdateStatus = function() { else if(window.requests._quickRefreshPending) t += 'refreshing...'; else - t += 'Up to date.'; + t += 'Up to date. '; if(renderLimitReached()) t += ' RENDER LIMIT ' @@ -82,6 +83,8 @@ window.startRefreshTimeout = function(override) { // status bar window.renderUpdateStatus(); if(refreshTimeout) clearTimeout(refreshTimeout); + if(override == -1) return; //don't set a new timeout + var t = 0; if(override) { window.requests._quickRefreshPending = true;