From 7fe358bfb11f1cba4ee9237c4ef4b7efc3cfba87 Mon Sep 17 00:00:00 2001 From: hukl Date: Thu, 16 Apr 2009 12:14:45 +0200 Subject: added autosave to node edit view. saves every 15 seconds --- app/controllers/nodes_controller.rb | 7 +++++-- app/views/layouts/admin.html.erb | 2 +- app/views/nodes/_autosave.html.erb | 6 ++++++ app/views/nodes/edit.html.erb | 2 ++ app/views/nodes/update.js.erb | 3 +++ 5 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 app/views/nodes/_autosave.html.erb create mode 100644 app/views/nodes/update.js.erb (limited to 'app') diff --git a/app/controllers/nodes_controller.rb b/app/controllers/nodes_controller.rb index 1796090..aba132b 100644 --- a/app/controllers/nodes_controller.rb +++ b/app/controllers/nodes_controller.rb @@ -58,8 +58,11 @@ class NodesController < ApplicationController @draft = @node.find_or_create_draft current_user @draft.tag_list = params[:tag_list] if @draft.update_attributes( params[:page] ) - flash[:notice] = "Draft has been updated" - redirect_to edit_node_path(@node) + flash[:notice] = "Draft has been saved: #{Time.now}" + respond_to do |format| + format.html { redirect_to edit_node_path(@node) } + format.js + end else render :action => :edit end diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb index 469b18e..1fb9c2b 100644 --- a/app/views/layouts/admin.html.erb +++ b/app/views/layouts/admin.html.erb @@ -7,8 +7,8 @@ <%= "#{params[:controller]} | #{params[:action]}" %> <%= stylesheet_link_tag 'admin' %> - <%= javascript_include_tag 'tiny_mce/tiny_mce.js' %> <%= javascript_include_tag 'jquery-1.3.2.min' %> + <%= javascript_include_tag 'tiny_mce/tiny_mce.js' %> <%= javascript_include_tag 'admin_interface.js' %> \ No newline at end of file diff --git a/app/views/nodes/edit.html.erb b/app/views/nodes/edit.html.erb index d8fb8b4..0d0b0d3 100644 --- a/app/views/nodes/edit.html.erb +++ b/app/views/nodes/edit.html.erb @@ -5,6 +5,8 @@ <%= link_to 'Revisions', revision_path(params[:id]) %> <% end %> +<%= render :partial => 'autosave' %> +
<% form_for(@node) do |f| %> <%= f.error_messages %> diff --git a/app/views/nodes/update.js.erb b/app/views/nodes/update.js.erb new file mode 100644 index 0000000..be26fab --- /dev/null +++ b/app/views/nodes/update.js.erb @@ -0,0 +1,3 @@ +$("#flash").html( + "<%= escape_javascript(flash.delete(:notice)) %>" +); \ No newline at end of file -- cgit v1.3