3.2.2

improvement of the javascript calendar control: if the FROM field is set to a value after TO, TO is set to the value of FROM. Vice versa: if the TO field is set to a value before FROM, FROM is set to the value of TO

Wice::Defaults::DATEPICKER_YEAR_RANGE added to the config to define the default year range in Datepicker (github.com/leikind/wice_grid/issues/61)

support for Ruby 2.0

<caption> supported

2 js errors fixed in the Saved Queries UI ( github.com/leikind/wice_grid/issues/89

helpers filter_and_order_state_as_hash(grid) and filter_state_as_hash(grid)

the with_paginated_resultset callback receives an ActiveRelation object, not a lambda

3.2.1

action_column can now also take a block. If the block returns a falsy value, no checkbox will be rendered.

A fix: the css class submitted to column is also added to the <th> tags of the column.

Filter related code has been refactored: condition generators are unified together with view column processors into one module. Writing your own filters has been simplified.

The default filter for numeric columns has been replaced by a simple one field filter which checks the values for equality, not the inclusion in a range. New column parameter :filter_type allows to load custom alternative filters. The old numeric range filter can still be used by specifying filter_type: :range. See lib/columns/column_processor_index.rb for the list of available filters.

3.2.0

Fixes: github.com/leikind/wice_grid/issues/83 github.com/leikind/wice_grid/issues/82

action_column can now also take a block. If the block returns a falsy value, no checkbox will be rendered

A fix: the css class submitted to column is also added to <th> tags of the column

Filter related code has been refactored: condition generators are unified together with view column processors into one module. Writing your own filters has been simplified.

The default filter for numeric columns has been replaced by a simple one field filter which checks the values for equality, not the inclusion in a range. New column parameter :filter_type allows to load custom alternative filters. The old numeric range filter can still be used by specifying filter_type: :range. See lib/columns/column_processor_index.rb</tt> for the list of available filters.

3.0.4

bugfixes

3.0.3

bugxixes

3.0.2

bugxixes

3.0.1

Fixed the “Cannot modify SafeBuffer in place” problem and thus Rails 3.0.8 and 3.0.9 Support for ActiveRecord::Relation

3.0.0

Rails 3 support

0.6

wice_grid_custom_filter_params used to be a view helper, not it is also accessible from the controller, to be used in cases like redirect_to(my_resource_path(wice_grid_custom_filter_params(…)))

auto reloading filters

helper export_to_csv_javascript to create custom CSV buttons

option :hide_csv_button to hide the default CSV export button

Method WiceGrid#selected_records and parameter :after were a bit of a mess and have been substituted by

Compliant with Rails 1.2.8 with or without rails_xss and erubis

Ruby 1.9.1 compliance

Dropdowns generated with :custom_filter => :auto and :custom_filter => [method chain] are now ordered by option labels

how_filters => false is the same as :show_filters => :no and :show_filters => true is the same as :show_filters => :always

action_column - Adds a column with checkboxes for each record. Useful for actions with multiple records, for example, delete the selected records.

using merge_conditions to merge conditions :)

WiceGrid is now compatible with the new Rails XSS behavior which will be the default in Rails 3.0 and can be used in Rails 2.3.5 using the rails_xss plugin. Read github.com/nzkoz/rails_xss for more

wice_grid_custom_filter_params

support for with_scope and with_exclusive_scope

:total_entries parameter added to initialize_grid (will_paginate)

Localization

assert_keys wherever possible

0.5

Today “WiceGrid”:leikind.org/pages/wicegrid has reached its next level of maturity and was awarded the tag of version 0.5.

This version of WiceGrid is accompanied by an application called _WiceGrid Examples_ running “online”:grid.leikind.org/ and with source code available on “GitHub”:github.com/leikind/wice_grid_examples.

Here’s a list of changes as compared with “version 0.4”:blog.wice.eu/2009/7/6/moving-to-github-and-wicegrid-version-0-4 :

— RHTML <%= grid(@tasks_grid) do |g|

...

end -%>

<% selected = @tasks_grid.selected_records %> <p><%= selected.size %> records selected: <%= selected.map(&:id).to_sentence %></p>


“See an online example”:grid.leikind.org/integration_with_application_view

h4. placement of filter related icons

A change in placement of filter related icons (filter icon, reset icon, show/hide icon): if the last column doesn’t have any filter or a column name, icons will be placed in the header of this column, otherwise it falls back to the usual behavior when an additional table column is added. To change the behavior back to the old style, set @Wice::Defaults::REUSE_LAST_COLUMN_FOR_FILTER_ICONS@ to @false@ in the configuration file.

“See an online example”:grid.leikind.org/custom_filters2

h4. wice_grid_assets generator

Copying asset files (images, css, js, and the configuration file) is now done by a plugin generator, not rake tasks:


./script/generate wice_grid_assets


h4. blank slate

Blank slate feature: it is now possible to replace the grid with some alternative view if no filters are active and there are no records to render:

— RHTML <%= grid(@grid) do |g|

g.blank_slate  do
  "There are no records"
end

g.column  do |product|
   ...
end

end -%>


There are also two alternative three ways to do it:

— Ruby g.blank_slate “some text to be rendered”


and — Ruby g.blank_slate :partial => “partial_name”


“See an online example”:grid.leikind.org/no_records

h4. custom filters with symbols

Improvement to custom filters, namely to — Ruby :custom_filter => :symbol


and — Ruby :custom_filter => [:symbol1, :symbol2, :symbol3]


Now, if the last method returns an array of 2 elements, the first element becomes the select option label and the second - the select option value (usually @id@).

Before this change the value returned by the method had been used for both the value and the label of the select option.

“See an online example”:grid.leikind.org/custom_filters3

h4. custom filters and NULL

Values @null@ and @not null@ in a generated custom filter dropdown are treated specially, as SQL @null@ statement and not as strings. Value @null@ is transformed into SQL condition @IS NULL@, and @not null@ into @IS NOT NULL@ .

Thus, if in a filter defined by

— Ruby :custom_filter => {‘No’ => ‘null’, ‘Yes’ => ‘not null’, ‘1’ => 1, ‘2’ => ‘2’, ‘3’ => ‘3’}


values @1@, @2@ and @‘No’@ are selected (in a multi-select mode), this will result in the following SQL:

— SQL ( table.field IN ( ‘1’, ‘2’ ) OR table.field IS NULL )


“See an online example”:grid.leikind.org/null_values

h4. Wice::Defaults::STRING_MATCHING_OPERATORS

in addition to the configuration constant @Wice::Defaults::STRING_MATCHING_OPERATOR@   to define the operator for matching strings (@LIKE@ in most cases), hash @Wice::Defaults::STRING_MATCHING_OPERATORS@   was added to specify string matching operators on per-database basis:

— Ruby Wice::Defaults::STRING_MATCHING_OPERATORS = {

'ActiveRecord::ConnectionAdapters::MysqlAdapter' => 'LIKE',
'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter' => 'ILIKE'

}


A use-case for this is a Rails application connecting to two databases, one of which is MySQL, and the other is Postgresql. To use case-insensitive matching in Postgresql ‘ILIKE’ has to be used, but this operator is unknown to MySQL.

h4. td_html_attrs and table_html_attrs shortcuts

@:td_html_attrs@ in column definitions and @table_html_attrs@ in the table definitions are mostly used to add css classes, so a shorter way has been added to add css classes.

Instead of

— RHTML <%= grid(@grid, :table_html_attrs => {:class => ‘css_class1’}) do |g|

g.column(:td_html_attrs => {:class => 'css_class2'}) do
  ...
end

end -%>


It’s possible to just use the new @:class@ option:

— RHTML <%= grid(@grid, :class => ‘css_class1’) do |g|

g.column(:class => 'css_class2') do
end

end -%>


h4. allow_multiple_selection

New options for @column@: @:allow_multiple_selection@, use @:allow_multiple_selection => false@ to disable switching between single and multiple selection modes for custom dropdown boxes.

“See an online example”:grid.leikind.org/custom_filters4

h4. allow_ordering

New parameter for @column@: @:allow_ordering@. Use @:allow_ordering => false@ to disable the ordering of the column.

“See an online example”:grid.leikind.org/basics6

h4. allow_showing_all_records

Parameter @:allow_showing_all_records@ moved from @initialize_grid@ to the view helper.

h4. other

0.4

03/04/2009

Possibility to add custom lines after and/or before a grid row.

16/03/2009

Option to override the default field separator in generated CSV (comma).

13/02/2009

a bug fix for incorrect generation if dom ids for javascript calendar filter. Happened only for columns belonging to joined tables

12/01/2009

WiceGrid 0.3 released

12/01/2009

All records mode

10/12/2008

custom_filter made Rails-compliant, a new flavor - Array of two-element arrays

4/12/2008

A single helper to include all assets in a page

A javascript error message if Prototype is not loaded

A javascript error message if wice_grid.js is not loaded

Added status info to the pagination line:

« Previous 1 2 3 Next »          1-20 / 50

3/12/2008

First implementation of saved queries

25/11/2008

Negation for string filters: match records where this fiels DOES NOT include the given fragment.

24/11/2008

The string matching operator for string filters (LIKE) has been moved to wice_grid_config.rb in order to make it easier to substitute it with something else, for example, ILIKE of Postgresql.

19/11/2008

Experimental feature : :table_alias parameter to allow ordering and filtering for joining associations referring the same table. (See “Joined associations referring to the same table” in README)

18/11/2008

Refactoring

6/11/2008

Ability to provide a callback to a Proc object or a method, the callback will be called with the objects of the current selection of objects (throughout all pages). Can be used to use the WiceGrid filters set up by the user for further processing of the user’s selection of objects.

5/11/2008

Javascript calendars as Date/Datetime filters

4/11/2008

Ability to inject custom sql code into the ORDER BY clause, for example, ORDER BY char_length(table1.foo)

4/11/2008

Creates a new branch for version 2.3

21/10/2008

A bugfix related to custom filters influencing other columns with filters A more informative error message if the grid can’t find the underlying database column for a view column (incorrect :column_name and :model)

8/10/2008

New view helper parameter :sorting_dependant_row_cycling - When set to true (by default it is false) the row styles odd and even will be changed only when the content of the cell belonging to the sorted column changes. In other words, rows with identical values in the ordered column will have the same style (color).

3/10/2008

For simple columns like

g.column :column_name => 'Username', :attribute_name => 'username'  do |account|
  account.username
end

the following blockless shortcut can be used:

g.column :column_name => 'Username', :attribute_name => 'username'

In this case attribute_name will be used as the method name to send to the ActiveRecord instance.

revision 27 (30/09/2008)

revision 17 (19/08/2008)

revision 13 (6/08/2008)

revision 11

revision 10

0