g_already_grid 1.0.8 → 1.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +8 -0
- data/VERSION +1 -1
- data/g_already_grid.gemspec +2 -2
- data/lib/g_already_grid.rb +1 -1
- data/lib/g_already_grid/templates/guilded.already_grid.html.erb +4 -21
- data/lib/g_already_grid/view_helpers.rb +21 -16
- metadata +3 -3
data/History.txt
CHANGED
@@ -1,8 +1,15 @@
|
|
1
|
+
== 1.0.9 2010-05-17
|
2
|
+
|
3
|
+
* Removed the :actions option as it is rarely used and noisy to the code base.
|
4
|
+
* Added a :proc_path option help in overriding link path for each grid row.
|
5
|
+
|
6
|
+
|
1
7
|
== 1.0.8 2010-05-09
|
2
8
|
|
3
9
|
* Updated the generator to be Rails 3 compliant.
|
4
10
|
* Updated component to work with Rails 3.
|
5
11
|
|
12
|
+
|
6
13
|
== 1.0.7 2009-10-27
|
7
14
|
|
8
15
|
* Added a use_polymorphic_path option to the grid view helper to enable the polymorphic path helper to determine the path of
|
@@ -10,6 +17,7 @@
|
|
10
17
|
to generate show links that are correctly pathed to the specific type (not the base class).
|
11
18
|
* Added :use_sti_base_index option to allow the base STI class' index to be used in lieu of the specific STI class.
|
12
19
|
|
20
|
+
|
13
21
|
== 1.0.5 2009-10-27
|
14
22
|
|
15
23
|
* Added :clickable option to avoid creating link to show from table rows.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.9
|
data/g_already_grid.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{g_already_grid}
|
8
|
-
s.version = "1.0.
|
8
|
+
s.version = "1.0.9"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["C. Jason Harrelson (midas)"]
|
12
|
-
s.date = %q{2010-05-
|
12
|
+
s.date = %q{2010-05-17}
|
13
13
|
s.description = %q{A Guilded Rails component that generates a rich grid control from an ActiveRecord.}
|
14
14
|
s.email = %q{jason@lookforwardenterprises.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/g_already_grid.rb
CHANGED
@@ -5,7 +5,6 @@
|
|
5
5
|
<% if options[:checkboxes] %>
|
6
6
|
<th class="chkBox"><input type="checkbox" class="<%= options[:check_all_class] %>" /></th>
|
7
7
|
<% end %>
|
8
|
-
<% unless options[:actions].empty? %><th>Actions</th><% end %>
|
9
8
|
<% options[:col_titles].each_with_index do |col, i| %>
|
10
9
|
<th><%= sort_by.include?( options[:cols][i].to_sym ) ? sortable_header( col, options[:cols][i], path_helpers[:index_rest_helper], path_helpers[:index_rest_args], controller, options ) : col %></th>
|
11
10
|
<% end %>
|
@@ -19,14 +18,6 @@
|
|
19
18
|
<% if options[:checkboxes] %>
|
20
19
|
<td class="chkBox"><input type="checkbox" class="<%= options[:checkbox_class] %>" name="<%= record.class.to_s.tableize %>[<%= record.id %>]" /></td>
|
21
20
|
<% end %>
|
22
|
-
<% unless options[:actions].empty? %>
|
23
|
-
<td>
|
24
|
-
<%= link_to 'show', controller.send( path_helpers[:show_rest_helper], *(path_helpers[:show_rest_args] + record_array) ) if options[:actions].include?( :show ) %>
|
25
|
-
<%= link_to 'edit', controller.send( path_helpers[:edit_rest_helper], *(path_helpers[:edit_rest_args] + record_array) ) if options[:actions].include?( :edit ) %>
|
26
|
-
<%= link_to( 'del', controller.send( path_helpers[:delete_rest_helper], *(path_helpers[:edit_rest_args] + record_array) ),
|
27
|
-
:method => :delete, :confirm => options[:del_confirmation] ) if options[:actions].include?( :edit ) %>
|
28
|
-
</td>
|
29
|
-
<% end %>
|
30
21
|
<% options[:cols].each do |col|
|
31
22
|
translate_method = "translate_#{col}".to_sym
|
32
23
|
|
@@ -46,13 +37,9 @@
|
|
46
37
|
end %>
|
47
38
|
<td>
|
48
39
|
<% cell_args = path_helpers[:show_rest_args] + record_array %>
|
49
|
-
<% if options[:
|
50
|
-
<%
|
51
|
-
|
52
|
-
<%= link_to record_val, controller.polymorphic_path( cell_args ) %>
|
53
|
-
<% else -%>
|
54
|
-
<%= link_to( record_val, controller.send( path_helpers[:show_rest_helper], *cell_args ) ) %>
|
55
|
-
<% end -%>
|
40
|
+
<% if options[:clickable] == true %>
|
41
|
+
<% cell_args.insert( 0, options[:namespace] ) unless options[:namespace].blank? -%>
|
42
|
+
<%= link_to( record_val, path_proc.call( *cell_args ) ) %>
|
56
43
|
<% else %>
|
57
44
|
<%= link_to( record_val, "javascript:void(0)" ) %>
|
58
45
|
<% end %>
|
@@ -62,11 +49,7 @@
|
|
62
49
|
<% end %>
|
63
50
|
</tbody>
|
64
51
|
<tfoot>
|
65
|
-
|
66
|
-
<td colspan="<%= options[:total_columns].to_s %>">
|
67
|
-
<% if do_paginate %><p><%= will_paginate( ar_col ) %></p><p><%= page_entries_info( ar_col ) %></p><% end %>
|
68
|
-
</td>
|
69
|
-
</tr>
|
52
|
+
<%= g_already_grid_footer_contents( ar_col, options ) %>
|
70
53
|
</tfoot>
|
71
54
|
</table>
|
72
55
|
</div>
|
@@ -18,15 +18,10 @@ module GAlreadyGrid
|
|
18
18
|
# +exclude_css+ A boolean indicating if Guilded should create a stylesheet inlcude tag for
|
19
19
|
# this element. Defaults to false.
|
20
20
|
# +empty_msg+ a message to display when the ar_col is empty or nil. Defaults to 'No matching records'.
|
21
|
-
# +actions+ Action links to include in the action column of grid. A boolean or Array of symbols. When
|
22
|
-
# boolean, if true, add show, edit and delete actions. When boolean, if false, hide actions column.
|
23
|
-
# When Array of symbols, add only actions present in array.
|
24
21
|
# +paginate+ A boolean indicating whether to output pagination controls. Defaults to
|
25
22
|
# true. Utilizes will_paginate plugin features.
|
26
23
|
# +polymorphic_type+ The type of this polymorphic record. Should be a string representing the class name.
|
27
24
|
# +polymorphic_as+ The as used for the polymorphic type. Can be a symbol or string.
|
28
|
-
# +use_polymorphic_path+ When true, uses the polymorphic path helper to determine the AR objects path from it's type (STI),
|
29
|
-
# otherwise, does not. Defaults to false.
|
30
25
|
# +use_sti_base_index+ When true, use the STI base class' index path instead of the specific descendant AR object's.
|
31
26
|
# +namespace+ A string or symbol that is the namespace this collection is under.
|
32
27
|
# +scoped_by+ The active record object that the objects in the ar_col is scoped by.
|
@@ -76,12 +71,6 @@ module GAlreadyGrid
|
|
76
71
|
end
|
77
72
|
sort_by = Array.new unless sort_by
|
78
73
|
|
79
|
-
if options[:actions].is_a?( TrueClass )
|
80
|
-
options[:actions] = [ :show, :edit, :delete ]
|
81
|
-
elsif options[:actions].nil?
|
82
|
-
options[:actions] = []
|
83
|
-
end
|
84
|
-
|
85
74
|
# Resolve pagination
|
86
75
|
do_paginate = true
|
87
76
|
begin
|
@@ -97,16 +86,23 @@ module GAlreadyGrid
|
|
97
86
|
end
|
98
87
|
|
99
88
|
options[:checkboxes] = true if options[:checkboxes].nil?
|
100
|
-
|
101
|
-
controller = self if Rails.version.split('.').first.to_i > 2
|
89
|
+
|
90
|
+
controller = self if Rails.version.split('.').first.to_i > 2
|
91
|
+
if options[:path_proc]
|
92
|
+
path_proc = options[:path_proc]
|
93
|
+
else
|
94
|
+
path_proc = Proc.new { |*args| controller.polymorphic_path( args ) }
|
95
|
+
end
|
96
|
+
|
102
97
|
total_columns = options[:cols].size
|
103
98
|
total_columns = total_columns + 1 if options[:checkboxes]
|
104
|
-
total_columns = total_columns + 1 unless options[:actions].empty?
|
105
99
|
options[:total_columns] = total_columns
|
100
|
+
options[:do_paginate] = do_paginate
|
101
|
+
options[:path_helpers] = path_helpers
|
106
102
|
|
107
103
|
vars = {
|
108
|
-
:options => options, :ar_col => ar_col, :
|
109
|
-
:controller => controller
|
104
|
+
:options => options, :ar_col => ar_col, :sort_by => sort_by, :path_helpers => path_helpers,
|
105
|
+
:controller => controller, :path_proc => path_proc
|
110
106
|
}
|
111
107
|
|
112
108
|
@g_already_grid_options = options
|
@@ -114,6 +110,15 @@ module GAlreadyGrid
|
|
114
110
|
full_path = "#{path}/templates/guilded.already_grid.html.erb"
|
115
111
|
self.render( :file => full_path, :use_full_path => false, :locals => vars )
|
116
112
|
end
|
113
|
+
|
114
|
+
def g_already_grid_footer_contents( ar_col, options={} )
|
115
|
+
footer = "<tr><td colspan=\"#{options[:total_columns].to_s}\">"
|
116
|
+
if options[:do_paginate]
|
117
|
+
footer << "<p>#{will_paginate( ar_col )}</p><p>#{page_entries_info( ar_col )}</p>"
|
118
|
+
end
|
119
|
+
footer << "</td></tr>"
|
120
|
+
raw footer
|
121
|
+
end
|
117
122
|
|
118
123
|
private
|
119
124
|
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 1.0.
|
8
|
+
- 9
|
9
|
+
version: 1.0.9
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- C. Jason Harrelson (midas)
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-05-
|
17
|
+
date: 2010-05-17 00:00:00 -05:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|