wice_grid 3.4.14 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG +38 -0
- data/README.rdoc +219 -210
- data/SAVED_QUERIES_HOWTO.rdoc +13 -13
- data/app/views/kaminari/wice_grid/_next_page.html.erb +1 -1
- data/app/views/kaminari/wice_grid/_page.html.erb +1 -1
- data/app/views/kaminari/wice_grid/_prev_page.html.erb +1 -1
- data/lib/generators/wice_grid/install_generator.rb +2 -2
- data/lib/generators/wice_grid/templates/{wice_grid.css.scss → wice_grid.scss} +0 -0
- data/lib/generators/wice_grid/templates/wice_grid.yml +87 -1
- data/lib/generators/wice_grid/templates/wice_grid_config.rb +21 -7
- data/lib/wice/active_record_column_wrapper.rb +0 -1
- data/lib/wice/columns.rb +0 -1
- data/lib/wice/columns/column_action.rb +13 -8
- data/lib/wice/columns/column_boolean.rb +0 -1
- data/lib/wice/columns/column_custom_dropdown.rb +0 -1
- data/lib/wice/columns/column_date.rb +1 -2
- data/lib/wice/columns/column_datetime.rb +33 -7
- data/lib/wice/columns/column_float.rb +0 -1
- data/lib/wice/columns/column_integer.rb +0 -1
- data/lib/wice/columns/column_processor_index.rb +0 -1
- data/lib/wice/columns/column_range.rb +0 -1
- data/lib/wice/columns/column_string.rb +0 -1
- data/lib/wice/grid_output_buffer.rb +0 -1
- data/lib/wice/grid_renderer.rb +4 -2
- data/lib/wice/helpers/bs_calendar_helpers.rb +67 -0
- data/lib/wice/helpers/wice_grid_misc_view_helpers.rb +0 -1
- data/lib/wice/helpers/wice_grid_serialized_queries_view_helpers.rb +16 -17
- data/lib/wice/helpers/wice_grid_view_helpers.rb +52 -54
- data/lib/wice/kaminari_monkey_patching.rb +0 -1
- data/lib/wice/table_column_matrix.rb +0 -1
- data/lib/wice/wice_grid_controller.rb +5 -7
- data/lib/wice/wice_grid_core_ext.rb +0 -2
- data/lib/wice/wice_grid_misc.rb +0 -1
- data/lib/wice/wice_grid_serialized_queries_controller.rb +0 -1
- data/lib/wice/wice_grid_serialized_query.rb +0 -1
- data/lib/wice/wice_grid_spreadsheet.rb +0 -1
- data/lib/wice_grid.rb +24 -14
- data/release_notes/RELEASE_NOTES_3.2.pre1.rdoc +1 -2
- data/vendor/assets/javascripts/wice_grid_init.js.coffee +58 -24
- data/vendor/assets/javascripts/wice_grid_processor.js.coffee +1 -1
- data/wice_grid.gemspec +16 -30
- metadata +22 -21
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: UTF-8
|
2
1
|
module Wice
|
3
2
|
module Controller
|
4
3
|
|
@@ -50,7 +49,6 @@ module Wice
|
|
50
49
|
# * <tt>:after</tt> - defined a name of a controller method which would be called by the grid after all user input has been processed,
|
51
50
|
# with a single parameter which is a Proc object. Once called, the object returns a list of all records of the current selection
|
52
51
|
# throughout all pages. See section "Integration With The Application" in the README.
|
53
|
-
# * <tt>:total_entries</tt> - If not specified, <tt>will_paginate</tt> will run a <tt>select count</tt>
|
54
52
|
# * <tt>:select</tt> - ActiveRecord <tt>:select</tt> option. Please do not forget that <tt>:select</tt> is ignored
|
55
53
|
# when <tt>:include</tt> is present. It is unlikely you would need <tt>:select</tt> with WiceGrid, but if you do,
|
56
54
|
# use it with care :)
|
@@ -90,7 +88,7 @@ module Wice
|
|
90
88
|
# This convention can be easily overridden by supplying a hash parameter to +export_grid_if_requested+ where each key is the name of
|
91
89
|
# a grid, and the value is the name of the template (like it is specified for +render+, i.e. without '_' and extensions):
|
92
90
|
#
|
93
|
-
# export_grid_if_requested(grid
|
91
|
+
# export_grid_if_requested('grid' => 'orders', 'grid2' => 'invoices')
|
94
92
|
#
|
95
93
|
# If the request is not a CSV export request, the method does nothing and returns +false+, if it is a CSV export request,
|
96
94
|
# the method returns +true+.
|
@@ -138,10 +136,10 @@ module Wice
|
|
138
136
|
# * <tt>:value</tt> - the value of the column filter.
|
139
137
|
def wice_grid_custom_filter_params(opts = {})
|
140
138
|
options = {
|
141
|
-
:
|
142
|
-
:
|
143
|
-
:
|
144
|
-
:
|
139
|
+
grid_name: 'grid',
|
140
|
+
attribute: nil,
|
141
|
+
model: nil,
|
142
|
+
value: nil
|
145
143
|
}
|
146
144
|
options.merge!(opts)
|
147
145
|
|
data/lib/wice/wice_grid_misc.rb
CHANGED
data/lib/wice_grid.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
1
|
require 'wice/wice_grid_misc.rb'
|
4
2
|
require 'wice/wice_grid_core_ext.rb'
|
5
3
|
require 'wice/grid_renderer.rb'
|
@@ -9,6 +7,7 @@ require 'wice/helpers/wice_grid_view_helpers.rb'
|
|
9
7
|
require 'wice/helpers/wice_grid_misc_view_helpers.rb'
|
10
8
|
require 'wice/helpers/wice_grid_serialized_queries_view_helpers.rb'
|
11
9
|
require 'wice/helpers/wice_grid_view_helpers.rb'
|
10
|
+
require 'wice/helpers/bs_calendar_helpers.rb'
|
12
11
|
require 'wice/helpers/js_calendar_helpers.rb'
|
13
12
|
require 'wice/grid_output_buffer.rb'
|
14
13
|
require 'wice/wice_grid_controller.rb'
|
@@ -147,18 +146,17 @@ module Wice
|
|
147
146
|
@status = HashWithIndifferentAccess.new
|
148
147
|
|
149
148
|
if @options[:order]
|
150
|
-
@options[:order]
|
149
|
+
@options[:order] = @options[:order].to_s
|
151
150
|
@options[:order_direction] = @options[:order_direction].to_s
|
152
151
|
|
153
|
-
@status[:order_direction]
|
154
|
-
@status[:order]
|
152
|
+
@status[:order_direction] = @options[:order_direction]
|
153
|
+
@status[:order] = @options[:order]
|
155
154
|
|
156
155
|
end
|
157
|
-
@status[:
|
158
|
-
@status[:
|
159
|
-
@status[:
|
160
|
-
@status[:
|
161
|
-
@status[:f] = @options[:f]
|
156
|
+
@status[:per_page] = @options[:per_page]
|
157
|
+
@status[:page] = @options[:page]
|
158
|
+
@status[:conditions] = @options[:conditions]
|
159
|
+
@status[:f] = @options[:f]
|
162
160
|
|
163
161
|
process_loading_query
|
164
162
|
process_params
|
@@ -283,9 +281,17 @@ module Wice
|
|
283
281
|
@ar_options[:group] = @options[:group]
|
284
282
|
|
285
283
|
if self.output_html?
|
286
|
-
@ar_options[:per_page]
|
287
|
-
@ar_options[:page]
|
288
|
-
|
284
|
+
@ar_options[:per_page] = @status[:per_page]
|
285
|
+
@ar_options[:page] = @status[:page]
|
286
|
+
|
287
|
+
if (show_all_limit = Wice::ConfigurationProvider.value_for(:SHOW_ALL_ALLOWED_UP_TO, strict: false)) && all_record_mode?
|
288
|
+
if do_count > show_all_limit # force-reset SHOW-ALL to pagination
|
289
|
+
@status[:pp] = nil
|
290
|
+
else
|
291
|
+
# no resetting
|
292
|
+
end
|
293
|
+
end
|
294
|
+
|
289
295
|
end
|
290
296
|
|
291
297
|
end
|
@@ -311,7 +317,7 @@ module Wice
|
|
311
317
|
group( @ar_options[:group]).
|
312
318
|
where( @ar_options[:conditions])
|
313
319
|
relation = add_references relation
|
314
|
-
|
320
|
+
|
315
321
|
relation
|
316
322
|
else
|
317
323
|
# p @ar_options
|
@@ -418,6 +424,10 @@ module Wice
|
|
418
424
|
|
419
425
|
def count #:nodoc:
|
420
426
|
form_ar_options(skip_ordering: true, forget_generated_options: true)
|
427
|
+
do_count
|
428
|
+
end
|
429
|
+
|
430
|
+
def do_count
|
421
431
|
@relation.count(
|
422
432
|
conditions: @ar_options[:conditions],
|
423
433
|
joins: @ar_options[:joins],
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
5. Paths to various images used by WiceGrid have been removed from the configuration file
|
24
24
|
and are now defined only in the css file. Developers are encouraged to modify
|
25
|
-
<tt>wice_grid.
|
25
|
+
<tt>wice_grid.scss</tt> to use other images and to change the styles in general.
|
26
26
|
|
27
27
|
6. The markup and css classes that WiceGrid generates have changed, and CSS for older versions
|
28
28
|
of WiceGrid might not work. Inspect the source code.
|
@@ -79,4 +79,3 @@
|
|
79
79
|
+wg-external-csv-export-button+:
|
80
80
|
|
81
81
|
<button class="wg-external-csv-export-button" data-grid-name="grid">Export To CSV</button>
|
82
|
-
|
@@ -22,29 +22,31 @@ initWiceGrid = ->
|
|
22
22
|
|
23
23
|
for filterDeclaration in filterDeclarations
|
24
24
|
do (filterDeclaration) ->
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
25
|
+
if filterDeclaration?
|
26
|
+
gridProcessor.register
|
27
|
+
filterName : filterDeclaration.filterName
|
28
|
+
detached : filterDeclaration.detached
|
29
|
+
templates : filterDeclaration.declaration.templates
|
30
|
+
ids : filterDeclaration.declaration.ids
|
30
31
|
|
31
32
|
unless window[globalVarForAllGrids]
|
32
33
|
window[globalVarForAllGrids] = {}
|
33
34
|
|
34
35
|
window[globalVarForAllGrids][gridName] = gridProcessor
|
35
36
|
|
36
|
-
|
37
|
-
setupSubmitReset
|
38
|
-
setupCsvExport
|
39
|
-
setupHidingShowingOfFilterRow
|
40
|
-
setupShowingAllRecords
|
41
|
-
setupMultiSelectToggle
|
37
|
+
# setting up stuff for in the context of each grid
|
38
|
+
setupSubmitReset wiceGridContainer, gridProcessor
|
39
|
+
setupCsvExport wiceGridContainer, gridProcessor
|
40
|
+
setupHidingShowingOfFilterRow wiceGridContainer
|
41
|
+
setupShowingAllRecords wiceGridContainer, gridProcessor
|
42
|
+
setupMultiSelectToggle wiceGridContainer
|
42
43
|
setupAutoreloadsForInternalFilters wiceGridContainer, gridProcessor
|
43
|
-
setupBulkToggleForActionColumn
|
44
|
+
setupBulkToggleForActionColumn wiceGridContainer
|
44
45
|
|
45
46
|
setupAutoreloadsForExternalFilters()
|
46
47
|
setupExternalSubmitReset()
|
47
48
|
setupExternalCsvExport()
|
49
|
+
setupDatepicker()
|
48
50
|
|
49
51
|
# for all grids on oage because it does not matter which grid it is
|
50
52
|
setupMultiSelectToggle $('.wg-detached-filter')
|
@@ -61,23 +63,52 @@ moveDateBoundIfInvalidPeriod = (dataFieldNameWithTheOtherDatepicker, datepickerH
|
|
61
63
|
theOtherDatepicker.next().next().html $.datepicker.formatDate(dateFormat, selectedDate)
|
62
64
|
|
63
65
|
|
64
|
-
|
65
|
-
# datepicker logic
|
66
66
|
setupDatepicker = ->
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
67
|
+
if $('.date-filter.wg-jquery-datepicker').length != 0
|
68
|
+
setupJqueryUiDatepicker()
|
69
|
+
|
70
|
+
if $('.date-filter.wg-bootstrap-datepicker').length != 0
|
71
|
+
setupBootstrapDatepicker()
|
72
|
+
|
73
|
+
|
74
|
+
setupBootstrapDatepicker = ->
|
75
|
+
# check for bootstrap datepicker
|
76
|
+
unless $.fn.datepicker
|
77
|
+
alert """Seems like you do not have Bootstrap datepicker gem (https://github.com/Nerian/bootstrap-datepicker-rails)
|
78
|
+
installed. Either install it or set Wice::Defaults::HELPER_STYLE to :standard in
|
79
|
+
wice_grid_config.rb in order to use standard Rails date helpers
|
80
|
+
"""
|
81
|
+
return
|
82
|
+
|
83
|
+
$('.date-filter.wg-bootstrap-datepicker input:text[data-provide=datepicker]').each (index, dateField) ->
|
84
|
+
|
85
|
+
$(dateField).datepicker().on 'hide', (event) ->
|
86
|
+
$self = $(event.currentTarget)
|
87
|
+
|
88
|
+
eventToTriggerOnChange = $self.data('close-calendar-event-name')
|
89
|
+
|
90
|
+
if eventToTriggerOnChange
|
91
|
+
$self.trigger(eventToTriggerOnChange)
|
92
|
+
|
93
|
+
else if $self.attr('id').split('_').pop() == 'fr'
|
94
|
+
$to = $self.parent().next().find('input:text.check-for-bsdatepicker')
|
95
|
+
if $to.length > 0
|
96
|
+
$to.datepicker 'show'
|
97
|
+
|
98
|
+
|
99
|
+
setupJqueryUiDatepicker = ->
|
100
|
+
# check jquery ui datepickeer
|
101
|
+
unless $.datepicker
|
102
|
+
alert """Seems like you do not have jQuery datepicker (http://jqueryui.com/demos/datepicker/)
|
71
103
|
installed. Either install it or set Wice::Defaults::HELPER_STYLE to :standard in
|
72
104
|
wice_grid_config.rb in order to use standard Rails date helpers
|
73
105
|
"""
|
74
|
-
|
75
106
|
# setting up the locale for datepicker
|
76
|
-
if locale = $('.
|
107
|
+
if locale = $('.date-filter.wg-jquery-datepicker input[type=hidden]').data('locale')
|
77
108
|
$.datepicker.setDefaults($.datepicker.regional[locale]);
|
78
109
|
|
79
110
|
|
80
|
-
$('.
|
111
|
+
$('.date-filter.wg-jquery-datepicker .date-label').each (index, removeLink) ->
|
81
112
|
datepickerHiddenField = $('#' + $(removeLink).data('dom-id'))
|
82
113
|
|
83
114
|
eventToTriggerOnChange = datepickerHiddenField.data('close-calendar-event-name')
|
@@ -130,7 +161,7 @@ setupDatepicker = ->
|
|
130
161
|
|
131
162
|
$(that).html(dateText)
|
132
163
|
if eventToTriggerOnChange
|
133
|
-
|
164
|
+
datepickerHiddenField.trigger(eventToTriggerOnChange)
|
134
165
|
|
135
166
|
|
136
167
|
|
@@ -164,7 +195,7 @@ setupSubmitReset = (wiceGridContainer, gridProcessor) ->
|
|
164
195
|
$('.reset', wiceGridContainer).click ->
|
165
196
|
gridProcessor.reset()
|
166
197
|
|
167
|
-
$('.wg-filter-row input[type=text]', wiceGridContainer).keydown (event) ->
|
198
|
+
$('.wg-filter-row input[type=text], .wg-filter-row input:text[data-provide=datepicker]', wiceGridContainer).keydown (event) ->
|
168
199
|
if event.keyCode == 13
|
169
200
|
event.preventDefault()
|
170
201
|
gridProcessor.process()
|
@@ -250,6 +281,9 @@ setupBulkToggleForActionColumn = (wiceGridContainer) ->
|
|
250
281
|
$('.deselect-all', wiceGridContainer).click ->
|
251
282
|
$('.sel input', wiceGridContainer).prop('checked', false).trigger('change')
|
252
283
|
|
284
|
+
$('.wg-select-all', wiceGridContainer).click ->
|
285
|
+
$('.sel input', wiceGridContainer).prop('checked', $(this).prop('checked')).trigger('change')
|
286
|
+
|
253
287
|
|
254
288
|
getGridProcessorForElement = (element) ->
|
255
289
|
gridName = $(element).data('grid-name')
|
@@ -290,7 +324,7 @@ setupExternalSubmitReset = ->
|
|
290
324
|
$('.wg-detached-filter').each (index, detachedFilterContainer) ->
|
291
325
|
gridProcessor = getGridProcessorForElement(detachedFilterContainer)
|
292
326
|
if gridProcessor
|
293
|
-
$('input[type=text]', this).keydown (event) ->
|
327
|
+
$('input[type=text], input:text[data-provide=datepicker]', this).keydown (event) ->
|
294
328
|
if event.keyCode == 13
|
295
329
|
gridProcessor.process()
|
296
330
|
event.preventDefault()
|
data/wice_grid.gemspec
CHANGED
@@ -1,35 +1,21 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
|
-
s.name =
|
3
|
-
s.version =
|
4
|
-
s.
|
5
|
-
s.
|
6
|
-
s.
|
7
|
-
s.
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
s.authors = ['Yuri Leikind']
|
13
|
-
s.email = 'yuri.leikind@gmail.com'
|
14
|
-
s.files = `git ls-files`.split($/)
|
15
|
-
s.license = 'MIT'
|
16
|
-
|
17
|
-
kaminary = 'kaminari'
|
18
|
-
kaminary_version = '>= 0.13.0'
|
2
|
+
s.name = "wice_grid"
|
3
|
+
s.version = "3.5.0"
|
4
|
+
s.authors = ["Yuri Leikind"]
|
5
|
+
s.email = ["yuri.leikind@gmail.com"]
|
6
|
+
s.homepage = "https://github.com/leikind/wice_grid"
|
7
|
+
s.summary = "A Rails grid plugin to quickly create grids with sorting, pagination, and filters."
|
8
|
+
s.description = "A Rails grid plugin to create grids with sorting, pagination, and filters generated automatically based on column types. " +
|
9
|
+
"The contents of the cell are up for the developer, just like one does when rendering a collection via a simple table. " +
|
10
|
+
"WiceGrid automates implementation of filters, ordering, paginations, CSV export, and so on. " +
|
11
|
+
"Ruby blocks provide an elegant means for this."
|
19
12
|
|
20
|
-
|
21
|
-
|
13
|
+
s.files = `git ls-files`.split($/)
|
14
|
+
s.license = "MIT"
|
15
|
+
s.require_paths = ["lib"]
|
16
|
+
s.date = "2015-08-14"
|
22
17
|
|
23
|
-
|
24
|
-
|
25
|
-
s.add_runtime_dependency('coffee-rails')
|
26
|
-
else
|
27
|
-
s.add_dependency(kaminari, [kaminary_version])
|
28
|
-
s.add_dependency('coffee-rails')
|
29
|
-
end
|
30
|
-
else
|
31
|
-
s.add_dependency(kaminari, [kaminary_version])
|
32
|
-
s.add_dependency('coffee-rails')
|
33
|
-
end
|
18
|
+
s.add_dependency "kaminari", ["~> 0.16"]
|
19
|
+
s.add_dependency "coffee-rails", ["~> 4.0"]
|
34
20
|
|
35
21
|
end
|
metadata
CHANGED
@@ -1,50 +1,50 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wice_grid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuri Leikind
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kaminari
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: '0.16'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: '0.16'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: coffee-rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '4.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
description: A Rails grid plugin to create grids with sorting, pagination, and
|
42
|
-
generated
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
40
|
+
version: '4.0'
|
41
|
+
description: A Rails grid plugin to create grids with sorting, pagination, and filters
|
42
|
+
generated automatically based on column types. The contents of the cell are up for
|
43
|
+
the developer, just like one does when rendering a collection via a simple table.
|
44
|
+
WiceGrid automates implementation of filters, ordering, paginations, CSV export,
|
45
|
+
and so on. Ruby blocks provide an elegant means for this.
|
46
|
+
email:
|
47
|
+
- yuri.leikind@gmail.com
|
48
48
|
executables: []
|
49
49
|
extensions: []
|
50
50
|
extra_rdoc_files: []
|
@@ -64,7 +64,7 @@ files:
|
|
64
64
|
- lib/generators/wice_grid/add_migration_for_serialized_queries_generator.rb
|
65
65
|
- lib/generators/wice_grid/install_generator.rb
|
66
66
|
- lib/generators/wice_grid/templates/create_wice_grid_serialized_queries.rb
|
67
|
-
- lib/generators/wice_grid/templates/wice_grid.
|
67
|
+
- lib/generators/wice_grid/templates/wice_grid.scss
|
68
68
|
- lib/generators/wice_grid/templates/wice_grid.yml
|
69
69
|
- lib/generators/wice_grid/templates/wice_grid_config.rb
|
70
70
|
- lib/wice/active_record_column_wrapper.rb
|
@@ -81,6 +81,7 @@ files:
|
|
81
81
|
- lib/wice/columns/column_string.rb
|
82
82
|
- lib/wice/grid_output_buffer.rb
|
83
83
|
- lib/wice/grid_renderer.rb
|
84
|
+
- lib/wice/helpers/bs_calendar_helpers.rb
|
84
85
|
- lib/wice/helpers/js_calendar_helpers.rb
|
85
86
|
- lib/wice/helpers/wice_grid_misc_view_helpers.rb
|
86
87
|
- lib/wice/helpers/wice_grid_serialized_queries_view_helpers.rb
|
@@ -137,7 +138,7 @@ requirements: []
|
|
137
138
|
rubyforge_project:
|
138
139
|
rubygems_version: 2.2.2
|
139
140
|
signing_key:
|
140
|
-
specification_version:
|
141
|
-
summary: A Rails grid plugin to create grids with sorting, pagination, and
|
142
|
-
|
141
|
+
specification_version: 4
|
142
|
+
summary: A Rails grid plugin to quickly create grids with sorting, pagination, and
|
143
|
+
filters.
|
143
144
|
test_files: []
|