diff --git a/app/views/layouts/standard.html.erb b/app/views/layouts/standard.html.erb index f551e886..11ebb9d8 100644 --- a/app/views/layouts/standard.html.erb +++ b/app/views/layouts/standard.html.erb @@ -2,9 +2,6 @@ - <% if @prefs.refresh != 0 -%> - ;url=<%= request.request_uri %>"> - <% end -%> <% bundle :name => "tracks_css" do %> <%= stylesheet_link_tag *%w[ standard superfish niftyCorners jquery-ui jquery.autocomplete] %> <% end %> @@ -34,6 +31,9 @@ var tagNames = <%= tag_names_for_autocomplete %>; var dateFormat = '<%= date_format_for_date_picker %>'; <% end -%> + <% if @prefs.refresh != 0 -%> + setup_auto_refresh(<%= @prefs["refresh"].to_i*60000 %>); + <% end -%> <%= auto_discovery_link_tag(:rss, {:controller => "todos", :action => "index", :format => 'rss', :token => "#{current_user.token}"}, {:title => "RSS feed of next actions"}) %> diff --git a/public/javascripts/application.js b/public/javascripts/application.js index 8d501bea..ca07245b 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -222,6 +222,26 @@ function enable_rich_interaction(){ drop: drop_todo, hoverClass: 'hover' }); + + /* Reset auto updater */ + field_touched = false; +} + +/* Auto-refresh */ + +function setup_auto_refresh(interval){ + field_touched = false; + function refresh_page() { + if(!field_touched){ + window.location.reload(); + } + } + setTimeout(refresh_page, interval); + $(function(){ + $("input").live('keydown', function(){ + field_touched = true; + }); + }); } $(document).ready(function() {