ajax_scaffold_generator 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -38,6 +38,7 @@ end
38
38
  class AjaxScaffoldGenerator < ScaffoldGenerator
39
39
 
40
40
  def manifest
41
+
41
42
  record do |m|
42
43
 
43
44
  # Check for class naming collisions.
@@ -125,7 +126,6 @@ class AjaxScaffoldGenerator < ScaffoldGenerator
125
126
 
126
127
  m.template 'ajax_scaffold_helper.rb',
127
128
  File.join('app/helpers',
128
- controller_class_path,
129
129
  "ajax_scaffold_helper.rb")
130
130
 
131
131
  # Layout and stylesheet.
@@ -174,7 +174,7 @@ class AjaxScaffoldGenerator < ScaffoldGenerator
174
174
  end
175
175
 
176
176
  def scaffold_images
177
- %w( indicator.gif add.gif error.gif warning.gif information.gif arrow_down.gif arrow_up.gif )
177
+ %w( indicator.gif indicator-small.gif add.gif error.gif warning.gif information.gif arrow_down.gif arrow_up.gif )
178
178
  end
179
179
 
180
180
  def scaffold_javascripts
@@ -91,6 +91,10 @@ display: block;
91
91
  background: #000;
92
92
  }
93
93
 
94
+ .ajax-scaffold th.sorted {
95
+ background: #333;
96
+ }
97
+
94
98
  .ajax-scaffold th.asc a,
95
99
  .ajax-scaffold th.asc a:hover {
96
100
  background: #333 url(/images/arrow_up.gif) right 50% no-repeat;
@@ -101,6 +105,11 @@ background: #333 url(/images/arrow_up.gif) right 50% no-repeat;
101
105
  background: #333 url(/images/arrow_down.gif) right 50% no-repeat;
102
106
  }
103
107
 
108
+ .ajax-scaffold th.loading a,
109
+ .ajax-scaffold th.loading a:hover {
110
+ background: #333 url(/images/indicator-small.gif) right 50% no-repeat;
111
+ }
112
+
104
113
  /* Table Body Styling
105
114
  ============================= */
106
115
 
@@ -46,7 +46,8 @@ module AjaxScaffoldHelper
46
46
  end
47
47
 
48
48
  def loading_indicator_tag(options)
49
- "<img src=\"/images/indicator.gif\" style=\"display: none;\" id=\"#{loading_indicator_id(options)}\" alt=\"loading indicator\" class=\"loading-indicator\" />"
49
+ image_filename = "indicator.gif"
50
+ "<img src=\"/images/#{image_filename}\" style=\"display: none;\" id=\"#{loading_indicator_id(options)}\" alt=\"loading indicator\" class=\"loading-indicator\" />"
50
51
  end
51
52
 
52
53
  # The following are a bunch of helper methods to produce the common scaffold view id's
@@ -55,6 +56,10 @@ module AjaxScaffoldHelper
55
56
  "#{options[:scaffold_id]}-content"
56
57
  end
57
58
 
59
+ def scaffold_column_header_id(options)
60
+ "#{options[:scaffold_id]}-#{options[:column_name]}"
61
+ end
62
+
58
63
  def scaffold_tbody_id(options)
59
64
  "#{options[:scaffold_id]}-tbody"
60
65
  end
Binary file
Binary file
@@ -41,7 +41,7 @@ class <%= controller_class_name %>Controller < ApplicationController
41
41
  update_params :default_scaffold_id => "<%= singular_name %>", :default_sort => "id", :default_sort_direction => "asc"
42
42
 
43
43
  @sort_by = session[params[:scaffold_id]][:sort] + " " + session[params[:scaffold_id]][:sort_direction]
44
- @paginator, @<%= plural_name %> = paginate(:<%= plural_name %>, :order_by => @sort_by, :per_page => 25)
44
+ @paginator, @<%= plural_name %> = paginate(:<%= plural_name %>, :order_by => @sort_by, :per_page => default_per_page)
45
45
 
46
46
  render :action => "component", :layout => false
47
47
  end
@@ -1,5 +1,9 @@
1
1
  module AjaxScaffoldUtil
2
2
 
3
+ def default_per_page
4
+ 25
5
+ end
6
+
3
7
  def clear_flashes
4
8
  #We want to clear flashes so they don't appear on a page reload
5
9
  if request.xhr?
@@ -1,11 +1,12 @@
1
1
  <%% current_sort = session[params[:scaffold_id]][:sort] %>
2
2
  <%% current_sort_direction = session[params[:scaffold_id]][:sort_direction] %>
3
3
  <%% for column in <%= model_name %>.content_columns %>
4
- <th <%%= "class=\"sorted #{current_sort_direction}\"" if column.name == current_sort %>>
5
- <%% sort_direction = current_sort == column.name && current_sort_direction == "asc" ? "desc" : "asc" %>
6
- <%% sort_params = params.merge(:controller => '<%= controller_name %>', :action => 'component_update', :sort => column.name, :sort_direction => sort_direction, :page => 1) %>
7
- <%%= link_to_remote column.human_name,
4
+ <%% sort_direction = current_sort == column.name && current_sort_direction == "asc" ? "desc" : "asc" %>
5
+ <%% sort_params = params.merge(:controller => '<%= controller_file_name %>', :action => 'component_update', :sort => column.name, :sort_direction => sort_direction, :page => 1) %>
6
+ <th id="<%%= scaffold_column_header_id(sort_params.merge(:column_name => column.name)) %>" <%%= "class=\"sorted #{current_sort_direction}\"" if column.name == current_sort %>>
7
+ <%%= link_to_remote column.human_name,
8
8
  { :url => sort_params,
9
+ :loading => "Element.addClassName('#{scaffold_column_header_id(sort_params.merge(:column_name => column.name))}','loading');",
9
10
  :update => scaffold_content_id(sort_params) },
10
11
  { :href => url_for(sort_params) } %></th>
11
12
  <%% end %>
@@ -1,6 +1,6 @@
1
1
  <%% # The following is used when the browser doesn't have javascript enabled %>
2
2
  <%% classAttr = cycle("", "class=\"even\"") %>
3
- <%% @options = params.merge(:controller => '<%= controller_name %>', :action => "view", :id => <%= singular_name %>.id) %>
3
+ <%% @options = params.merge(:controller => '<%= controller_file_name %>', :action => "view", :id => <%= singular_name %>.id) %>
4
4
 
5
5
  <tr <%%= classAttr %> id="<%%= element_row_id(@options) %>" <%%= "style=\"display: none;\"" if hidden %>>
6
6
  <%% for column in <%= model_name %>.content_columns %>
@@ -5,9 +5,9 @@
5
5
  <tr id="<%%= element_row_id(@options) %>" class="<%%= @options[:action] %>" <%%= "style=\"display:none;\"" if request.xhr? %>>
6
6
  <td id="<%%= element_cell_id(@options) %>" colspan="<%%= num_columns %>">
7
7
 
8
- <%%= form_remote_tag :url => @options.merge(:controller => '<%= controller_name %>'),
8
+ <%%= form_remote_tag :url => @options.merge(:controller => '<%= controller_file_name %>'),
9
9
  :loading => "Element.show('#{loading_indicator_id(@options)}');",
10
- :html => { :href => url_for(@options.merge(:controller => '<%= controller_name %>')),
10
+ :html => { :href => url_for(@options.merge(:controller => '<%= controller_file_name %>')),
11
11
  :id => element_form_id(@options) } %>
12
12
 
13
13
  <%%= hidden_field_tag "scaffold_id", @options[:scaffold_id] %>
@@ -30,7 +30,7 @@
30
30
  <%% on_cancel += "AjaxScaffold.displayMessageIfEmpty('#{scaffold_tbody_id(@options)}','#{empty_message_id(@options)}');" if @options[:action] == "create" %>
31
31
  <%% end %>
32
32
  <%%= link_to_function "Cancel", on_cancel,
33
- :href => url_for(:controller => '<%= controller_name %>', :action => 'return_to_main') %>
33
+ :href => url_for(:controller => '<%= controller_file_name %>', :action => 'return_to_main') %>
34
34
  <%%= loading_indicator_tag @options %>
35
35
  </p>
36
36
  <%%= end_form_tag %>
@@ -1,14 +1,16 @@
1
- <%% pagination_params = params.merge(:controller => '<%= controller_name %>', :action => 'component_update') %>
1
+ <%% pagination_params = params.merge(:controller => '<%= controller_file_name %>', :action => 'component_update') %>
2
+ <%% indicator_params = { :controller => '<%= controller_file_name %>', :action => 'pagination' } %>
3
+ <%%= loading_indicator_tag indicator_params %>
2
4
  <%%= link_to_remote('Previous',
3
5
  { :url => pagination_params.merge(:page => paginator.current.previous),
6
+ :loading => "Element.show('#{loading_indicator_id(indicator_params)}');",
4
7
  :update => scaffold_content_id(pagination_params) },
5
8
  { :href => url_for(pagination_params.merge(:page => paginator.current.previous)),
6
9
  :class => "previous"}) if @paginator.current.previous %>
7
- <span class="page-numbers">
8
- <%%= pagination_ajax_links @paginator, pagination_params %>
9
- </span>
10
+ <%%= pagination_ajax_links @paginator, pagination_params %>
10
11
  <%%= link_to_remote('Next',
11
12
  { :url => pagination_params.merge(:page => paginator.current.next),
13
+ :loading => "Element.show('#{loading_indicator_id(indicator_params)}');",
12
14
  :update => scaffold_content_id(pagination_params) },
13
15
  { :href => url_for(pagination_params.merge(:page => paginator.current.next)),
14
16
  :class => "next"}) if @paginator.current.next %>
@@ -4,7 +4,7 @@
4
4
  <%% end %>
5
5
  <div class="ajax-scaffold-header">
6
6
  <div class="actions">
7
- <%% new_params = params.merge(:controller => '<%= controller_name %>', :action => 'new') %>
7
+ <%% new_params = params.merge(:controller => '<%= controller_file_name %>', :action => 'new') %>
8
8
  <%%= loading_indicator_tag(new_params) %>
9
9
  <%%= link_to_remote "Create New",
10
10
  { :url => new_params,
@@ -1 +1 @@
1
- <%%= render_component :controller => '<%= controller_name %>', :action => 'component', :params => params %>
1
+ <%%= render_component :controller => '<%= controller_file_path %>', :action => 'component', :params => params %>
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: ajax_scaffold_generator
5
5
  version: !ruby/object:Gem::Version
6
- version: 3.0.1
7
- date: 2006-04-12 00:00:00 -04:00
6
+ version: 3.0.2
7
+ date: 2006-04-13 00:00:00 -04:00
8
8
  summary: Ajax scaffold generator is a rails generator for ajaxified scaffolds
9
9
  require_paths:
10
10
  - lib
@@ -52,6 +52,7 @@ files:
52
52
  - templates/layout.rhtml
53
53
  - templates/information.gif
54
54
  - templates/indicator.gif
55
+ - templates/indicator-small.gif
55
56
  - templates/helper.rb
56
57
  - templates/functional_test.rb
57
58
  - templates/form_scaffolding.rhtml