wice_grid 3.2.1 → 3.3.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.
Files changed (44) hide show
  1. data/.gitignore +18 -0
  2. data/CHANGELOG +31 -7
  3. data/Gemfile +1 -0
  4. data/README.rdoc +20 -12
  5. data/Rakefile +4 -30
  6. data/lib/generators/wice_grid/templates/wice_grid.css.scss +41 -40
  7. data/lib/generators/wice_grid/templates/wice_grid.yml +48 -0
  8. data/lib/generators/wice_grid/templates/wice_grid_config.rb +5 -0
  9. data/lib/{active_record_column_wrapper.rb → wice/active_record_column_wrapper.rb} +0 -0
  10. data/lib/{columns.rb → wice/columns.rb} +1 -1
  11. data/lib/{columns → wice/columns}/column_action.rb +0 -0
  12. data/lib/{columns → wice/columns}/column_boolean.rb +0 -0
  13. data/lib/{columns → wice/columns}/column_custom_dropdown.rb +0 -0
  14. data/lib/{columns → wice/columns}/column_date.rb +0 -0
  15. data/lib/{columns → wice/columns}/column_datetime.rb +22 -5
  16. data/lib/{columns → wice/columns}/column_float.rb +0 -0
  17. data/lib/{columns → wice/columns}/column_integer.rb +0 -0
  18. data/lib/{columns → wice/columns}/column_processor_index.rb +0 -0
  19. data/lib/{columns → wice/columns}/column_range.rb +0 -0
  20. data/lib/{columns → wice/columns}/column_string.rb +0 -0
  21. data/lib/{grid_output_buffer.rb → wice/grid_output_buffer.rb} +0 -0
  22. data/lib/{grid_renderer.rb → wice/grid_renderer.rb} +7 -0
  23. data/lib/wice/helpers/js_calendar_helpers.rb +81 -0
  24. data/lib/{helpers → wice/helpers}/wice_grid_misc_view_helpers.rb +24 -1
  25. data/lib/{helpers → wice/helpers}/wice_grid_serialized_queries_view_helpers.rb +0 -0
  26. data/lib/{helpers → wice/helpers}/wice_grid_view_helpers.rb +2 -0
  27. data/lib/{kaminari_monkey_patching.rb → wice/kaminari_monkey_patching.rb} +0 -0
  28. data/lib/{table_column_matrix.rb → wice/table_column_matrix.rb} +0 -0
  29. data/lib/{wice_grid_controller.rb → wice/wice_grid_controller.rb} +0 -0
  30. data/lib/{wice_grid_core_ext.rb → wice/wice_grid_core_ext.rb} +0 -0
  31. data/lib/{wice_grid_misc.rb → wice/wice_grid_misc.rb} +8 -1
  32. data/lib/{wice_grid_serialized_queries_controller.rb → wice/wice_grid_serialized_queries_controller.rb} +0 -0
  33. data/lib/{wice_grid_serialized_query.rb → wice/wice_grid_serialized_query.rb} +0 -0
  34. data/lib/{wice_grid_spreadsheet.rb → wice/wice_grid_spreadsheet.rb} +1 -1
  35. data/lib/wice_grid.rb +33 -25
  36. data/{RELEASE_NOTES_3.2.pre1.rdoc → release_notes/RELEASE_NOTES_3.2.pre1.rdoc} +0 -0
  37. data/{RELEASE_NOTES_3.2.pre2.rdoc → release_notes/RELEASE_NOTES_3.2.pre2.rdoc} +0 -0
  38. data/release_notes/RELEASE_NOTES_3.3.0.rdoc +21 -0
  39. data/vendor/assets/javascripts/wice_grid_init.js.coffee +43 -2
  40. data/vendor/assets/javascripts/wice_grid_saved_queries_init.js.coffee +2 -2
  41. data/wice_grid.gemspec +18 -89
  42. metadata +42 -37
  43. data/VERSION +0 -1
  44. data/lib/helpers/js_calendar_helpers.rb +0 -54
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ .rbenv-version
7
+ Gemfile.lock
8
+ InstalledFiles
9
+ _yardoc
10
+ coverage
11
+ doc/
12
+ lib/bundler/man
13
+ pkg
14
+ rdoc
15
+ spec/reports
16
+ test/tmp
17
+ test/version_tmp
18
+ tmp
data/CHANGELOG CHANGED
@@ -1,11 +1,38 @@
1
- 3.2.0pre2
1
+ 3.2.2
2
+
3
+ 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.
4
+ Vice versa: if the TO field is set to a value before FROM, FROM is set to the value of TO
5
+
6
+ Wice::Defaults::DATEPICKER_YEAR_RANGE added to the config to define the default year range in Datepicker (https://github.com/leikind/wice_grid/issues/61)
7
+
8
+ support for Ruby 2.0
9
+
10
+ <caption> supported
11
+
12
+ 2 js errors fixed in the Saved Queries UI ( https://github.com/leikind/wice_grid/issues/89
13
+
14
+ helpers filter_and_order_state_as_hash(grid) and filter_state_as_hash(grid)
15
+
16
+ the with_paginated_resultset callback receives an ActiveRelation object, not a lambda
17
+
18
+ 3.2.1
19
+
20
+ action_column can now also take a block. If the block returns a falsy value, no checkbox will be rendered.
21
+
22
+ A fix: the css class submitted to column is also added to the <th> tags of the column.
23
+
24
+ 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.
25
+
26
+ 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.
27
+ New column parameter :filter_type allows to load custom alternative filters.
28
+ 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.
29
+
30
+ 3.2.0
2
31
 
3
32
  Fixes:
4
33
  https://github.com/leikind/wice_grid/issues/83
5
34
  https://github.com/leikind/wice_grid/issues/82
6
35
 
7
- 3.2.0pre1
8
-
9
36
  action_column can now also take a block. If the block returns a falsy value, no checkbox will be rendered
10
37
 
11
38
  A fix: the css class submitted to column is also added to <th> tags of the column
@@ -17,12 +44,9 @@ New column parameter :filter_type allows to load custom alternative filters. The
17
44
  See lib/columns/column_processor_index.rb</tt> for the list of available filters.
18
45
 
19
46
 
20
- 3.2.0pre1
21
-
22
-
23
47
  3.0.4
24
48
 
25
- bugxixes
49
+ bugfixes
26
50
 
27
51
  3.0.3
28
52
 
data/Gemfile ADDED
@@ -0,0 +1 @@
1
+ gemspec
@@ -1,14 +1,13 @@
1
1
  = WiceGrid
2
2
 
3
- Version:: 3.2.1
3
+ Version:: 3.3.0
4
4
  Author:: Yuri Leikind
5
5
  Sources:: https://github.com/leikind/wice_grid/
6
- Examples online:: http://grid.leikind.org
6
+ Examples online:: http://wicegrid.herokuapp.com
7
7
  News:: http://leikind.org/pages/wicegrid/
8
8
  Email:: "Yuri Leikind" <yuri.leikind at gmail dot com>
9
9
 
10
-
11
- FOR RAILS 3.0.X AND 3.1.X USE VERSION 3.0.4.
10
+ FOR RAILS 3 USE VERSION 3.x
12
11
  FOR RAILS 2 USE VERSION 0.6 (https://github.com/leikind/wice_grid/tree/master).
13
12
 
14
13
 
@@ -49,7 +48,7 @@ WiceGrid is known to work with MySQL and Postgres.
49
48
  === Examples
50
49
 
51
50
  This tutorial is accompanied by a sample application with WiceGrid examples which you
52
- can browse online ( http://grid.leikind.org ),
51
+ can browse online ( http://wicegrid.herokuapp.com ),
53
52
  or just view the code ( https://github.com/leikind/wice_grid_testbed ).
54
53
 
55
54
 
@@ -75,7 +74,7 @@ Beginning from version 3.2 only jQuery is supported.
75
74
 
76
75
  Add the following to your Gemfile:
77
76
 
78
- gem "wice_grid", '3.2.0.pre1'
77
+ gem "wice_grid", '3.2.1'
79
78
 
80
79
  and run the <tt>bundle</tt> command.
81
80
 
@@ -91,8 +90,10 @@ Require WiceGrid javascript in your js index file:
91
90
 
92
91
  //= require wice_grid
93
92
 
94
- Make sure that jQuery is required, and if the application uses Date and DateTime filters, jQuery Datepicker has
95
- to be required as well. Here is an example of application.js with everything WiceGrid needs:
93
+ Make sure that jQuery is loaded.
94
+ If the application uses Date and DateTime filters, you have to install jQuery Datepicker by yourself.
95
+
96
+ Here is an example of application.js with everything WiceGrid needs:
96
97
 
97
98
  //= require jquery
98
99
  //= require jquery_ujs
@@ -101,7 +102,9 @@ to be required as well. Here is an example of application.js with everything Wic
101
102
  //= require jquery.ui.datepicker
102
103
  //= require_tree .
103
104
 
104
-
105
+ WiceGrid provides some very basic styles, not specifying exactly how the table should look like,
106
+ but if the application uses Twitter Bootstrap, the markup generated by WiceGrid will have correct classes and will fit nicely.
107
+ Generally it is advised to modify WiceGrid css to match the application style.
105
108
 
106
109
 
107
110
  === Basics
@@ -887,6 +890,11 @@ jQuery +datepicker+ uses a different format flavor, therefore there is an additi
887
890
  for presenting initial date values in filters, so make sure that +DATE_FORMAT_JQUERY+ and +DATE_FORMAT+
888
891
  result in an identical date representation.
889
892
 
893
+ Constant +DATEPICKER_YEAR_RANGE+ defined the range of years in the Datepicker year dropdown. Alternatively,
894
+ you can always change this range dynamically with the following javascript:
895
+
896
+ $( ".hasDatepicker" ).datepicker( "option", "yearRange", "2000:2042" );
897
+
890
898
 
891
899
  === Show All Records
892
900
 
@@ -1164,14 +1172,14 @@ There are two callbacks:
1164
1172
  * <tt>:with_resultset</tt> - used to process all records browsable through all pages with the current filters
1165
1173
 
1166
1174
  While the <tt>:with_paginated_resultset</tt> callback just receives the list of records, <tt>:with_resultset</tt>
1167
- receives a lambda object which, when called, returns the list of all records:
1175
+ receives an ActiveRelation object which can be used to obtain the list of all records:
1168
1176
 
1169
1177
 
1170
1178
  def index
1171
1179
  @tasks_grid = initialize_grid(Task)
1172
1180
 
1173
- @tasks_grid.with_resultset do |wrapper|
1174
- all_records = wrapper.call
1181
+ @tasks_grid.with_resultset do |active_relation|
1182
+ all_records = active_relation.find(:first)
1175
1183
  ...
1176
1184
  end
1177
1185
  end
data/Rakefile CHANGED
@@ -1,16 +1,9 @@
1
- require 'rake'
2
- require 'rake/testtask'
3
- require 'rdoc/task'
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
4
3
 
5
- desc 'Default: run unit tests.'
6
- task :default => :test
4
+ RSpec::Core::RakeTask.new
7
5
 
8
- desc 'Test the wice_grid plugin.'
9
- Rake::TestTask.new(:test) do |t|
10
- t.libs << 'lib'
11
- t.pattern = 'test/**/*_test.rb'
12
- t.verbose = true
13
- end
6
+ task :default => :rdoc
14
7
 
15
8
  desc 'Generate documentation for the wice_grid plugin.'
16
9
  Rake::RDocTask.new(:rdoc) do |rdoc|
@@ -23,22 +16,3 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
23
16
  rdoc.rdoc_files.include('CHANGELOG')
24
17
  rdoc.rdoc_files.include('lib/**/*.rb')
25
18
  end
26
-
27
- begin
28
- require 'git'
29
- require 'jeweler'
30
- Jeweler::Tasks.new do |gem|
31
- gem.name = "wice_grid"
32
- gem.summary = %Q{Rails Grid Plugin}
33
- gem.description = %Q{A Rails grid plugin to create grids with sorting, pagination, and (automatically generated) filters }
34
- gem.email = "yuri.leikind@gmail.com"
35
- gem.homepage = "http://github.com/leikind/wice_grid"
36
- gem.authors = ["Yuri Leikind"]
37
- gem.add_dependency "kaminari", ">= 0.13.0"
38
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
39
- end
40
- Jeweler::GemcutterTasks.new
41
- rescue LoadError
42
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
43
- end
44
-
@@ -3,12 +3,10 @@
3
3
  height: 16px;
4
4
  }
5
5
 
6
- .wg-detached-filter{
6
+ .wg-detached-filter, .wice-grid{
7
+
7
8
  a.date-label {text-decoration: none;}
8
9
  a.date-label:hover {text-decoration: line-through;}
9
- }
10
-
11
- .wice-grid{
12
10
 
13
11
  .clickable{
14
12
  cursor: pointer;
@@ -16,14 +14,49 @@
16
14
  margin-right: 2px;
17
15
  }
18
16
 
19
-
20
- a.date-label {text-decoration: none;}
21
- a.date-label:hover {text-decoration: line-through;}
22
-
23
17
  .ui-datepicker-trigger, .wg-detached-filter .ui-datepicker-trigger{
24
18
  cursor: pointer;
25
19
  }
26
20
 
21
+ .custom-dropdown-container {
22
+ position: relative;
23
+ padding-right: 18px;
24
+
25
+
26
+ .collapse-multi-select-icon, .expand-multi-select-icon{
27
+ width: 12px;
28
+ height: 12px;
29
+ position:absolute;
30
+ top:0;
31
+ right:0;
32
+ }
33
+
34
+ .collapse-multi-select-icon{
35
+ background: transparent url(/assets/icons/grid/collapse.gif) no-repeat;
36
+ }
37
+
38
+ .expand-multi-select-icon{
39
+ background: transparent url(/assets/icons/grid/expand.gif) no-repeat;
40
+ }
41
+
42
+ }
43
+
44
+ .text-filter-container {
45
+ position: relative; padding-right: 13px;
46
+ .negation-checkbox {
47
+ position:absolute;
48
+ top:0;
49
+ right:0;
50
+ }
51
+ }
52
+
53
+
54
+ }
55
+
56
+
57
+ .wice-grid{
58
+
59
+
27
60
  .desc, .asc{
28
61
  padding-right: 18px;
29
62
  text-decoration:none;
@@ -71,38 +104,6 @@
71
104
  float:left;
72
105
  }
73
106
 
74
- .custom-dropdown-container {
75
- position: relative;
76
- padding-right: 18px;
77
-
78
-
79
- .collapse-multi-select-icon, .expand-multi-select-icon{
80
- width: 12px;
81
- height: 12px;
82
- position:absolute;
83
- top:0;
84
- right:0;
85
- }
86
-
87
- .collapse-multi-select-icon{
88
- background: transparent url(/assets/icons/grid/collapse.gif) no-repeat;
89
- }
90
-
91
- .expand-multi-select-icon{
92
- background: transparent url(/assets/icons/grid/expand.gif) no-repeat;
93
- }
94
-
95
- }
96
-
97
- .text-filter-container {
98
- position: relative; padding-right: 13px;
99
- .negation-checkbox {
100
- position:absolute;
101
- top:0;
102
- right:0;
103
- }
104
- }
105
-
106
107
 
107
108
  /* in case of twitter bootstrap :) */
108
109
  thead th select{
@@ -500,3 +500,51 @@ zh:
500
500
  query_saved_message: 查询已储存
501
501
  select_all: 全选
502
502
  deselect_all: 全清
503
+
504
+ ja:
505
+ date:
506
+ order:
507
+ - :年
508
+ - :月
509
+ - :日
510
+ wice_grid:
511
+ show_filter_tooltip: フィルタ表示
512
+ hide_filter_tooltip: フィルタ非表示
513
+ csv_export_tooltip: CSVエクスポート
514
+ filter_tooltip: フィルタ
515
+ reset_filter_tooltip: リセット
516
+ boolean_filter_true_label: "yes"
517
+ boolean_filter_false_label: "no"
518
+ previous_label: «
519
+ next_label: »
520
+ # Title of the icon clicking on which will show the calendar to set the FROM date.
521
+ date_selector_tooltip_from: From
522
+ # Title of the icon clicking on which will show the calendar to set the TO date.
523
+ date_selector_tooltip_to: To
524
+ # The title of the checkox to turn on negation
525
+ negation_checkbox_title: 除外する
526
+ # link to switch to show all records
527
+ show_all_records_label: すべて表示
528
+ # tooltip for the link to switch to show all records
529
+ show_all_records_tooltip: 前レコード表示
530
+ # Warning message shown when the user wants to switch to all-records mode
531
+ all_queries_warning: 全てのレコードを表示しますか?
532
+ # link to paginated view
533
+ switch_back_to_paginated_mode_label: 戻る
534
+ # tooltip for the link to paginated view
535
+ switch_back_to_paginated_mode_tooltip: 戻る
536
+ # Title of the date string.
537
+ date_string_tooltip: 削除
538
+ saved_query_panel_title: クエリ保存
539
+ save_query_button_label: フィルタ保存
540
+ saved_query_deletion_confirmation: 本当によろしいですか?
541
+ saved_query_deletion_link_title: クエリ削除
542
+ saved_query_link_title: クエリのロード
543
+ validates_uniqueness_error: 同じ名前がすでに存在します
544
+ validates_presence_error: クエリ名を記入して下さい
545
+ query_deleted_message: クエリの削除が完了しました
546
+ query_saved_message: クエリを保存しました
547
+ select_all: 全てを選択
548
+ deselect_all: 選択を解除
549
+ expand: 開く
550
+ collapse: 閉じる
@@ -120,6 +120,11 @@ if defined?(Wice::Defaults)
120
120
  end
121
121
  }
122
122
 
123
+ # The range of years to display in jQuery Datepicker.
124
+ # It can always be changed dynamically with the following javascript:
125
+ # $( ".hasDatepicker" ).datepicker( "option", "yearRange", "2000:2042" );
126
+ Wice::Defaults::DATEPICKER_YEAR_RANGE = (from = Date.current.year - 10).to_s + ':' + (from + 15).to_s
127
+
123
128
 
124
129
  # With Calendar helpers enabled the parameter sent is the string displayed. This lambda will be given a date string in the
125
130
  # format defined by +DATETIME+ and must generate a Date object.
@@ -49,7 +49,7 @@ module Wice #:nodoc:
49
49
 
50
50
  def require_columns
51
51
  Wice::Columns::COLUMN_PROCESSOR_INDEX.values.uniq do |column_source_file|
52
- require "columns/#{column_source_file}.rb"
52
+ require "wice/columns/#{column_source_file}.rb"
53
53
  end
54
54
  end
55
55
 
@@ -49,11 +49,28 @@ module Wice
49
49
 
50
50
  def render_calendar_filter_internal(params) #:nodoc:
51
51
 
52
- html1 = date_calendar_jquery(
53
- params[:fr], NlMessage['date_selector_tooltip_from'], :prefix => @name1, :fire_event => auto_reload, :grid_name => self.grid.name)
54
-
55
- html2 = date_calendar_jquery(
56
- params[:to], NlMessage['date_selector_tooltip_to'], :prefix => @name2, :fire_event => auto_reload, :grid_name => self.grid.name)
52
+ calendar_data_from = prepare_data_for_calendar(
53
+ :initial_date => params[:fr],
54
+ :title => NlMessage['date_selector_tooltip_from'],
55
+ :name => @name1,
56
+ :fire_event => auto_reload,
57
+ :grid_name => self.grid.name
58
+ )
59
+
60
+ calendar_data_to = prepare_data_for_calendar(
61
+ :initial_date => params[:to],
62
+ :title => NlMessage['date_selector_tooltip_to'],
63
+ :name => @name2,
64
+ :fire_event => auto_reload,
65
+ :grid_name => self.grid.name
66
+ )
67
+
68
+ calendar_data_from.the_other_datepicker_id_to = calendar_data_to.dom_id
69
+ calendar_data_to.the_other_datepicker_id_from = calendar_data_from.dom_id
70
+
71
+ html1 = date_calendar_jquery calendar_data_from
72
+
73
+ html2 = date_calendar_jquery calendar_data_to
57
74
 
58
75
  %!<div class="date-filter">#{html1}<br/>#{html2}</div>!
59
76
  end
@@ -14,6 +14,7 @@ module Wice
14
14
  attr_reader :blank_slate_handler
15
15
  attr_reader :last_row_handler
16
16
  attr_reader :grid
17
+ attr_reader :kaption
17
18
 
18
19
  @@order_parameter_name = "order"
19
20
  @@order_direction_parameter_name = "order_direction"
@@ -115,6 +116,12 @@ module Wice
115
116
  end
116
117
  end
117
118
 
119
+ # Takes one argument and adds the <caption></caption> tag to the table with the argument value as
120
+ # the contents of <caption>.
121
+ def caption kaption
122
+ @kaption = kaption
123
+ end
124
+
118
125
  # Adds a column with checkboxes for each record. Useful for actions with multiple records, for example, deleting
119
126
  # selected records. Please note that +action_column+ only creates the checkboxes and the 'Select All' and
120
127
  # 'Deselect All' buttons, and the form itelf as well as processing the parameters should be taken care of
@@ -0,0 +1,81 @@
1
+ module Wice #:nodoc:
2
+ module JsCalendarHelpers #:nodoc:
3
+
4
+ class CalendarData
5
+ attr_accessor :name,
6
+ :date_string,
7
+ :dom_id,
8
+ :datepicker_placeholder_id,
9
+ :date_span_id,
10
+ :close_calendar_event_name,
11
+ :title,
12
+ :fire_event,
13
+ :the_other_datepicker_id_to,
14
+ :the_other_datepicker_id_from
15
+ end
16
+
17
+ def date_calendar_jquery(calendar_data) #:nodoc:
18
+
19
+ hidden_field_tag_options = {
20
+ :id => calendar_data.dom_id,
21
+ 'data-locale' => I18n.locale,
22
+ 'data-date-format' => Wice::ConfigurationProvider.value_for(:DATE_FORMAT_JQUERY),
23
+ 'data-button-image' => Wice::ConfigurationProvider.value_for(:CALENDAR_ICON),
24
+ 'data-button-text' => calendar_data.title
25
+ }
26
+
27
+ if calendar_data.fire_event
28
+ hidden_field_tag_options['data-close-calendar-event-name'] = calendar_data.close_calendar_event_name
29
+ end
30
+
31
+ if Rails.env == 'development'
32
+ hidden_field_tag_options['class'] = 'check-for-datepicker'
33
+ end
34
+
35
+ if calendar_data.the_other_datepicker_id_to
36
+ hidden_field_tag_options['data-the-other-datepicker-id-to'] = calendar_data.the_other_datepicker_id_to
37
+ end
38
+
39
+ if calendar_data.the_other_datepicker_id_from
40
+ hidden_field_tag_options['data-the-other-datepicker-id-from'] = calendar_data.the_other_datepicker_id_from
41
+ end
42
+
43
+
44
+ if year_range = ConfigurationProvider.value_for(:DATEPICKER_YEAR_RANGE)
45
+ hidden_field_tag_options['data-date-year-range'] = year_range
46
+ end
47
+
48
+
49
+ date_picker = hidden_field_tag(calendar_data.name, calendar_data.date_string, hidden_field_tag_options) + ' ' +
50
+
51
+ link_to(calendar_data.date_string,
52
+ '#',
53
+ :id => calendar_data.date_span_id,
54
+ :class => 'date-label',
55
+ :title => ::Wice::NlMessage['date_string_tooltip'],
56
+ 'data-dom-id' => calendar_data.dom_id
57
+ )
58
+
59
+ "<span id=\"#{calendar_data.datepicker_placeholder_id}\">#{date_picker}</span>"
60
+ end
61
+
62
+ def prepare_data_for_calendar(options) #:nodoc:
63
+
64
+ date_format = Wice::ConfigurationProvider.value_for(:DATE_FORMAT)
65
+
66
+ CalendarData.new.tap do |calendar_data|
67
+
68
+ calendar_data.name = options[:name]
69
+ calendar_data.date_string = options[:initial_date].nil? ? '' : options[:initial_date].strftime(date_format)
70
+ calendar_data.dom_id = options[:name].gsub(/([\[\(])|(\]\[)/, '_').gsub(/[\]\)]/, '').gsub(/\./, '_').gsub(/_+/, '_')
71
+ calendar_data.datepicker_placeholder_id = calendar_data.dom_id + '_date_placeholder'
72
+ calendar_data.date_span_id = calendar_data.dom_id + '_date_view'
73
+ calendar_data.close_calendar_event_name = "wg:calendarChanged_#{options[:grid_name]}"
74
+ calendar_data.title = options[:title]
75
+ calendar_data.fire_event = options[:fire_event]
76
+
77
+ end
78
+ end
79
+
80
+ end
81
+ end
@@ -15,11 +15,34 @@ module Wice
15
15
  grid.get_state_as_parameter_value_pairs(true).collect{|param_name, value|
16
16
  hidden_field_tag(param_name, value, :id => "hidden-#{param_name.gsub(/[\[\]]/, '-')}")
17
17
  }.join("\n").html_safe
18
+ end
18
19
 
20
+ # This method dumps all HTTP parameters related to filtering of a certain grid in the form of a hash.
21
+ # This might be required if you want to keep the state of a grid while reloading the page using Rails routing helpers.
22
+ # Attention: this does not return parameters for ordering the grid, use +filter_and_order_state_as_hash+ if you
23
+ # need it.
24
+ #
25
+ # The only parameter is a grid object returned by +initialize_grid+ in the controller.
26
+ def filter_state_as_hash(grid)
27
+ {grid.name => {'f' => grid.status[:f]}}
28
+ end
29
+
30
+ # This method dumps all HTTP parameters related to filtering and ordering of a certain grid in the form of a hash.
31
+ # This might be required if you want to keep the state of a grid while reloading the page using Rails routing helpers.
32
+ #
33
+ # The only parameter is a grid object returned by +initialize_grid+ in the controller.
34
+ def filter_and_order_state_as_hash(grid)
35
+ {
36
+ grid.name => {
37
+ 'f' => grid.status[:f],
38
+ 'order' => grid.status[:order],
39
+ 'order_direction' => grid.status[:order_direction]
40
+ }
41
+ }
19
42
  end
20
43
 
21
44
  def dump_state(grid) #:nodoc:
22
- debug(grid.get_state_as_parameter_value_pairs)
45
+ debug(grid.get_state_as_parameter_value_pairs())
23
46
  end
24
47
 
25
48
 
@@ -195,6 +195,7 @@ module Wice
195
195
  grid.output_buffer << %!<div class="wice-grid-container" id="#{grid.name}"><div id="#{grid.name}_title">!
196
196
  grid.output_buffer << content_tag(:h3, grid.saved_query.name) if grid.saved_query
197
197
  grid.output_buffer << "</div><table #{tag_options(table_html_attrs, true)}>"
198
+ grid.output_buffer << "<caption>#{rendering.kaption}</caption>" if rendering.kaption
198
199
  grid.output_buffer << "<thead>"
199
200
 
200
201
  no_filters_at_all = (options[:show_filters] == :no || rendering.no_filter_needed?) ? true: false
@@ -583,6 +584,7 @@ module Wice
583
584
  paginate(grid.resultset,
584
585
  :theme => 'wice_grid',
585
586
  :param_name => "#{grid.name}[page]",
587
+ :params => extra_request_parameters,
586
588
  :inner_window => 4,
587
589
  :outer_window => 2
588
590
  ) +
@@ -88,7 +88,10 @@ module Wice
88
88
  if Wice::Defaults.const_defined?(key)
89
89
  Wice::Defaults.const_get(key)
90
90
  else
91
- raise WiceGridException.new("Could not find constant #{key} in the configuration file! Please run the generator command to update the configuration file:\n rails g wice_grid:wice_grid_assets_jquery\nor rails g wice_grid:wice_grid_assets_prototype\ndepending on your JS framework")
91
+ raise WiceGridMissingConfigurationConstantException.new("Could not find constant #{key} in the configuration file!" +
92
+ " It is possible that the version of WiceGrid you are using is newer than the installed configuration file in config/initializers. " +
93
+ "Constant Wice::Defaults::#{key} is missing and you need to add it manually to wice_grid_config.rb or run the generator task=:\n" +
94
+ " rails g wice_grid:install")
92
95
  end
93
96
  end
94
97
 
@@ -109,4 +112,8 @@ module Wice
109
112
  class WiceGridException < Exception #:nodoc:
110
113
  include ExceptionsMixin
111
114
  end
115
+ class WiceGridMissingConfigurationConstantException < Exception #:nodoc:
116
+ include ExceptionsMixin
117
+ end
118
+
112
119
  end
@@ -6,7 +6,7 @@ module Wice
6
6
 
7
7
  attr_reader :tempfile
8
8
  # CSV in 1.9.1 is a version of FasterCSV
9
- if RUBY_VERSION =~ /1\.9\./
9
+ if RUBY_VERSION =~ /^1\.9\./ || RUBY_VERSION =~ /^2\./
10
10
 
11
11
  def initialize(name, field_separator) #:nodoc:
12
12
  @tempfile = Tempfile.new(name)
@@ -1,21 +1,21 @@
1
1
  # encoding: UTF-8
2
2
 
3
- require 'wice_grid_misc.rb'
4
- require 'wice_grid_core_ext.rb'
5
- require 'grid_renderer.rb'
6
- require 'table_column_matrix.rb'
7
- require 'active_record_column_wrapper.rb'
8
- require 'helpers/wice_grid_view_helpers.rb'
9
- require 'helpers/wice_grid_misc_view_helpers.rb'
10
- require 'helpers/wice_grid_serialized_queries_view_helpers.rb'
11
- require 'helpers/wice_grid_view_helpers.rb'
12
- require 'helpers/js_calendar_helpers.rb'
13
- require 'grid_output_buffer.rb'
14
- require 'wice_grid_controller.rb'
15
- require 'wice_grid_spreadsheet.rb'
16
- require 'wice_grid_serialized_queries_controller.rb'
17
- require 'columns/column_processor_index.rb'
18
- require 'columns.rb'
3
+ require 'wice/wice_grid_misc.rb'
4
+ require 'wice/wice_grid_core_ext.rb'
5
+ require 'wice/grid_renderer.rb'
6
+ require 'wice/table_column_matrix.rb'
7
+ require 'wice/active_record_column_wrapper.rb'
8
+ require 'wice/helpers/wice_grid_view_helpers.rb'
9
+ require 'wice/helpers/wice_grid_misc_view_helpers.rb'
10
+ require 'wice/helpers/wice_grid_serialized_queries_view_helpers.rb'
11
+ require 'wice/helpers/wice_grid_view_helpers.rb'
12
+ require 'wice/helpers/js_calendar_helpers.rb'
13
+ require 'wice/grid_output_buffer.rb'
14
+ require 'wice/wice_grid_controller.rb'
15
+ require 'wice/wice_grid_spreadsheet.rb'
16
+ require 'wice/wice_grid_serialized_queries_controller.rb'
17
+ require 'wice/columns/column_processor_index.rb'
18
+ require 'wice/columns.rb'
19
19
  require 'kaminari.rb'
20
20
 
21
21
 
@@ -46,10 +46,10 @@ module Wice
46
46
  end
47
47
 
48
48
  Columns.load_column_processors
49
- require 'wice_grid_serialized_query.rb'
49
+ require 'wice/wice_grid_serialized_query.rb'
50
50
 
51
51
  # It is here only until this pull request is pulled: https://github.com/amatsuda/kaminari/pull/267
52
- require 'kaminari_monkey_patching.rb'
52
+ require 'wice/kaminari_monkey_patching.rb'
53
53
  end
54
54
  end
55
55
  end
@@ -473,7 +473,7 @@ module Wice
473
473
 
474
474
  def invoke_resultset_callbacks #:nodoc:
475
475
  invoke_resultset_callback(@options[:with_paginated_resultset], @resultset)
476
- invoke_resultset_callback(@options[:with_resultset], lambda{self.send(:resultset_without_paging_with_user_filters)})
476
+ invoke_resultset_callback(@options[:with_resultset], self.active_relation_for_resultset_without_paging_with_user_filters)
477
477
  end
478
478
 
479
479
 
@@ -546,19 +546,27 @@ module Wice
546
546
  # end
547
547
  # end
548
548
 
549
-
550
549
  def resultset_without_paging_with_user_filters #:nodoc:
550
+ @klass.unscoped do
551
+ active_relation_for_resultset_without_paging_with_user_filters.find(:all)
552
+ end
553
+ end
554
+
555
+ def active_relation_for_resultset_without_paging_with_user_filters #:nodoc:
551
556
  form_ar_options
557
+ relation = nil
552
558
  @klass.unscoped do
553
- @relation.find(:all, :joins => @ar_options[:joins],
554
- :include => @ar_options[:include],
555
- :group => @ar_options[:group],
556
- :conditions => @ar_options[:conditions],
557
- :order => @ar_options[:order])
559
+ relation = @relation.
560
+ where(@ar_options[:conditions]).
561
+ joins(@ar_options[:joins]).
562
+ includes(@ar_options[:include]).
563
+ order(@ar_options[:order])
558
564
  end
565
+ relation
559
566
  end
560
567
 
561
568
 
569
+
562
570
  def load_query(query_id) #:nodoc:
563
571
  @query_store_model ||= Wice::get_query_store_model
564
572
  query = @query_store_model.find_by_id_and_grid_name(query_id, self.name)
@@ -0,0 +1,21 @@
1
+ the with_paginated_resultset callback receives an ActiveRelation object, not a lambda
2
+
3
+ Wice::Defaults::DATEPICKER_YEAR_RANGE added to the config to define the default year range in Datepicker (https://github.com/leikind/wice_grid/issues/61)
4
+
5
+ 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
6
+
7
+ New view helpers filter_and_order_state_as_hash(grid) and filter_state_as_hash(grid)
8
+
9
+ <caption> supported
10
+
11
+ support for Ruby 2.0
12
+
13
+ 2 errors fixed in the Saved Queries UI ( https://github.com/leikind/wice_grid/issues/89 )
14
+
15
+ bug fixed: extra_request_parameters not propagating to the pagination panel
16
+
17
+ README: made it clear that Datepicker has to be installed separately
18
+
19
+ README: made it clear that css is basis and that Twitter Bootstrap is supported
20
+
21
+
@@ -42,6 +42,22 @@ initWiceGrid = ->
42
42
  setupExternalSubmitReset()
43
43
  setupExternalCsvExport()
44
44
 
45
+ # for all grids on oage because it does not matter which grid it is
46
+ setupMultiSelectToggle $('.wg-detached-filter')
47
+
48
+
49
+
50
+ moveDateBoundIfInvalidPeriod = (dataFieldNameWithTheOtherDatepicker, datepickerHiddenField, selectedDate, dateFormat, predicate) ->
51
+ if (datepickerId = datepickerHiddenField.data(dataFieldNameWithTheOtherDatepicker)) &&
52
+ (theOtherDatepicker = $(_datepickerId = "#" + datepickerId)) &&
53
+ (theOtherDate = theOtherDatepicker.datepicker('getDate')) &&
54
+
55
+ predicate(theOtherDate, selectedDate)
56
+ theOtherDatepicker.datepicker("setDate", selectedDate)
57
+ theOtherDatepicker.next().next().html $.datepicker.formatDate(dateFormat, selectedDate)
58
+
59
+
60
+
45
61
  # datepicker logic
46
62
  setupDatepicker = ->
47
63
  # check if datepicker is loaded
@@ -72,20 +88,45 @@ setupDatepicker = ->
72
88
  false
73
89
  that = this
74
90
 
91
+ dateFormat = datepickerHiddenField.data('date-format')
92
+
93
+ yearRange = datepickerHiddenField.data('date-year-range')
94
+
75
95
  # datepicker constructor
76
96
  datepickerHiddenField.datepicker
77
97
  firstDay: 1
78
98
  showOn: "button"
79
- dateFormat: datepickerHiddenField.data('date-format')
99
+ dateFormat: dateFormat
80
100
  buttonImage: datepickerHiddenField.data('button-image')
81
101
  buttonImageOnly: true
82
102
  buttonText: datepickerHiddenField.data('button-text')
83
103
  changeMonth: true
84
104
  changeYear: true
105
+ yearRange: yearRange
106
+
85
107
  onSelect: (dateText, inst) ->
108
+
109
+ selectedDate = $(this).datepicker("getDate")
110
+
111
+ moveDateBoundIfInvalidPeriod(
112
+ 'the-other-datepicker-id-to',
113
+ datepickerHiddenField,
114
+ selectedDate,
115
+ dateFormat,
116
+ (theOther, selected)-> theOther < selected
117
+ )
118
+
119
+ moveDateBoundIfInvalidPeriod(
120
+ 'the-other-datepicker-id-from',
121
+ datepickerHiddenField,
122
+ selectedDate,
123
+ dateFormat,
124
+ (theOther, selected)-> theOther > selected
125
+ )
126
+
86
127
  $(that).html(dateText)
87
128
  if eventToTriggerOnChange
88
- datepickerHiddenField.trigger(eventToTriggerOnChange)
129
+ datepickerHiddenField.trigger(eventToTriggerOnChange)
89
130
 
90
131
 
91
132
 
@@ -88,13 +88,13 @@ onChangeToQueryList = (data, gridName, queryName, inputField) ->
88
88
  queryListId = "##{gridName}_query_list"
89
89
  inputField.val('') if queryName
90
90
  if errorMessages = data['error_messages']
91
- $(notificationMessagesDomId).text(errorExplanation)
91
+ $(notificationMessagesDomId).text(errorMessages)
92
92
  else
93
93
  if notificationMessages = data['notification_messages']
94
94
  $(notificationMessagesDomId).text(notificationMessages)
95
95
  $(gridTitleId).html("<h3>#{queryName}</h3>") if queryName
96
96
  $(queryListId).replaceWith(data['query_list'])
97
- $(queryListId).effect('highlight')
97
+ $(queryListId).effect('highlight') if jQuery.ui
98
98
 
99
99
  $(".wice-grid-delete-query", $(queryListId)).click (event) ->
100
100
  deleteQuery(this, event)
@@ -1,101 +1,30 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
-
6
1
  Gem::Specification.new do |s|
7
- s.name = "wice_grid"
8
- s.version = "3.2.1"
2
+ s.name = 'wice_grid'
3
+ s.version = '3.3.0'
4
+ s.homepage = 'https://github.com/leikind/wice_grid'
5
+ s.date = '2013-08-04'
6
+ s.summary = 'A Rails grid plugin to create grids with sorting, pagination, and (automatically generated) filters.'
7
+ s.description = 'One of the goals of this plugin was to allow the programmer to define the contents of the cell by himself, ' +
8
+ 'just like one does when rendering a collection via a simple table (and this is what differentiates WiceGrid ' +
9
+ 'from various scaffolding solutions), but automate implementation of filters, ordering, paginations, CSV ' +
10
+ 'export, and so on. Ruby blocks provide an elegant means for this.'
11
+ s.authors = ['Yuri Leikind']
12
+ s.email = 'yuri.leikind@gmail.com'
13
+ s.files = `git ls-files`.split($/)
9
14
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Yuri Leikind"]
12
- s.date = "2013-01-29"
13
- s.description = "A Rails grid plugin to create grids with sorting, pagination, and (automatically generated) filters "
14
- s.email = "yuri.leikind@gmail.com"
15
- s.extra_rdoc_files = [
16
- "README.rdoc"
17
- ]
18
- s.files = [
19
- "CHANGELOG",
20
- "MIT-LICENSE",
21
- "README.rdoc",
22
- "RELEASE_NOTES_3.2.pre1.rdoc",
23
- "RELEASE_NOTES_3.2.pre2.rdoc",
24
- "Rakefile",
25
- "SAVED_QUERIES_HOWTO.rdoc",
26
- "VERSION",
27
- "app/views/kaminari/wice_grid/_gap.html.erb",
28
- "app/views/kaminari/wice_grid/_next_page.html.erb",
29
- "app/views/kaminari/wice_grid/_page.html.erb",
30
- "app/views/kaminari/wice_grid/_paginator.html.erb",
31
- "app/views/kaminari/wice_grid/_prev_page.html.erb",
32
- "lib/active_record_column_wrapper.rb",
33
- "lib/columns.rb",
34
- "lib/columns/column_action.rb",
35
- "lib/columns/column_boolean.rb",
36
- "lib/columns/column_custom_dropdown.rb",
37
- "lib/columns/column_date.rb",
38
- "lib/columns/column_datetime.rb",
39
- "lib/columns/column_float.rb",
40
- "lib/columns/column_integer.rb",
41
- "lib/columns/column_processor_index.rb",
42
- "lib/columns/column_range.rb",
43
- "lib/columns/column_string.rb",
44
- "lib/generators/wice_grid/add_migration_for_serialized_queries_generator.rb",
45
- "lib/generators/wice_grid/install_generator.rb",
46
- "lib/generators/wice_grid/templates/create_wice_grid_serialized_queries.rb",
47
- "lib/generators/wice_grid/templates/wice_grid.css.scss",
48
- "lib/generators/wice_grid/templates/wice_grid.yml",
49
- "lib/generators/wice_grid/templates/wice_grid_config.rb",
50
- "lib/grid_output_buffer.rb",
51
- "lib/grid_renderer.rb",
52
- "lib/helpers/js_calendar_helpers.rb",
53
- "lib/helpers/wice_grid_misc_view_helpers.rb",
54
- "lib/helpers/wice_grid_serialized_queries_view_helpers.rb",
55
- "lib/helpers/wice_grid_view_helpers.rb",
56
- "lib/kaminari_monkey_patching.rb",
57
- "lib/table_column_matrix.rb",
58
- "lib/wice_grid.rb",
59
- "lib/wice_grid_controller.rb",
60
- "lib/wice_grid_core_ext.rb",
61
- "lib/wice_grid_misc.rb",
62
- "lib/wice_grid_serialized_queries_controller.rb",
63
- "lib/wice_grid_serialized_query.rb",
64
- "lib/wice_grid_spreadsheet.rb",
65
- "test/readme.txt",
66
- "vendor/assets/images/icons/grid/arrow_down.gif",
67
- "vendor/assets/images/icons/grid/arrow_up.gif",
68
- "vendor/assets/images/icons/grid/calendar_view_month.png",
69
- "vendor/assets/images/icons/grid/collapse.gif",
70
- "vendor/assets/images/icons/grid/delete.png",
71
- "vendor/assets/images/icons/grid/expand.gif",
72
- "vendor/assets/images/icons/grid/page_white_excel.png",
73
- "vendor/assets/images/icons/grid/page_white_find.png",
74
- "vendor/assets/images/icons/grid/table.png",
75
- "vendor/assets/images/icons/grid/table_refresh.png",
76
- "vendor/assets/images/icons/grid/tick_all.png",
77
- "vendor/assets/images/icons/grid/untick_all.png",
78
- "vendor/assets/javascripts/wice_grid.js",
79
- "vendor/assets/javascripts/wice_grid_init.js.coffee",
80
- "vendor/assets/javascripts/wice_grid_processor.js.coffee",
81
- "vendor/assets/javascripts/wice_grid_saved_queries_init.js.coffee",
82
- "wice_grid.gemspec"
83
- ]
84
- s.homepage = "http://github.com/leikind/wice_grid"
85
- s.require_paths = ["lib"]
86
- s.rubygems_version = "1.8.23"
87
- s.summary = "Rails Grid Plugin"
15
+ kaminary = 'kaminari'
16
+ kaminary_version = '>= 0.13.0'
88
17
 
89
18
  if s.respond_to? :specification_version then
90
19
  s.specification_version = 3
91
20
 
92
21
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
93
- s.add_runtime_dependency(%q<kaminari>, [">= 0.13.0"])
22
+ s.add_runtime_dependency(kaminary, [kaminary_version])
94
23
  else
95
- s.add_dependency(%q<kaminari>, [">= 0.13.0"])
24
+ s.add_dependency(kaminari, [kaminary_version])
96
25
  end
97
26
  else
98
- s.add_dependency(%q<kaminari>, [">= 0.13.0"])
27
+ s.add_dependency(kaminari, [kaminary_version])
99
28
  end
100
- end
101
29
 
30
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wice_grid
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.1
4
+ version: 3.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-29 00:00:00.000000000 Z
12
+ date: 2013-08-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: kaminari
@@ -27,60 +27,64 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: 0.13.0
30
- description: ! 'A Rails grid plugin to create grids with sorting, pagination, and
31
- (automatically generated) filters '
30
+ description: One of the goals of this plugin was to allow the programmer to define
31
+ the contents of the cell by himself, just like one does when rendering a collection
32
+ via a simple table (and this is what differentiates WiceGrid from various scaffolding
33
+ solutions), but automate implementation of filters, ordering, paginations, CSV export,
34
+ and so on. Ruby blocks provide an elegant means for this.
32
35
  email: yuri.leikind@gmail.com
33
36
  executables: []
34
37
  extensions: []
35
- extra_rdoc_files:
36
- - README.rdoc
38
+ extra_rdoc_files: []
37
39
  files:
40
+ - .gitignore
38
41
  - CHANGELOG
42
+ - Gemfile
39
43
  - MIT-LICENSE
40
44
  - README.rdoc
41
- - RELEASE_NOTES_3.2.pre1.rdoc
42
- - RELEASE_NOTES_3.2.pre2.rdoc
43
45
  - Rakefile
44
46
  - SAVED_QUERIES_HOWTO.rdoc
45
- - VERSION
46
47
  - app/views/kaminari/wice_grid/_gap.html.erb
47
48
  - app/views/kaminari/wice_grid/_next_page.html.erb
48
49
  - app/views/kaminari/wice_grid/_page.html.erb
49
50
  - app/views/kaminari/wice_grid/_paginator.html.erb
50
51
  - app/views/kaminari/wice_grid/_prev_page.html.erb
51
- - lib/active_record_column_wrapper.rb
52
- - lib/columns.rb
53
- - lib/columns/column_action.rb
54
- - lib/columns/column_boolean.rb
55
- - lib/columns/column_custom_dropdown.rb
56
- - lib/columns/column_date.rb
57
- - lib/columns/column_datetime.rb
58
- - lib/columns/column_float.rb
59
- - lib/columns/column_integer.rb
60
- - lib/columns/column_processor_index.rb
61
- - lib/columns/column_range.rb
62
- - lib/columns/column_string.rb
63
52
  - lib/generators/wice_grid/add_migration_for_serialized_queries_generator.rb
64
53
  - lib/generators/wice_grid/install_generator.rb
65
54
  - lib/generators/wice_grid/templates/create_wice_grid_serialized_queries.rb
66
55
  - lib/generators/wice_grid/templates/wice_grid.css.scss
67
56
  - lib/generators/wice_grid/templates/wice_grid.yml
68
57
  - lib/generators/wice_grid/templates/wice_grid_config.rb
69
- - lib/grid_output_buffer.rb
70
- - lib/grid_renderer.rb
71
- - lib/helpers/js_calendar_helpers.rb
72
- - lib/helpers/wice_grid_misc_view_helpers.rb
73
- - lib/helpers/wice_grid_serialized_queries_view_helpers.rb
74
- - lib/helpers/wice_grid_view_helpers.rb
75
- - lib/kaminari_monkey_patching.rb
76
- - lib/table_column_matrix.rb
58
+ - lib/wice/active_record_column_wrapper.rb
59
+ - lib/wice/columns.rb
60
+ - lib/wice/columns/column_action.rb
61
+ - lib/wice/columns/column_boolean.rb
62
+ - lib/wice/columns/column_custom_dropdown.rb
63
+ - lib/wice/columns/column_date.rb
64
+ - lib/wice/columns/column_datetime.rb
65
+ - lib/wice/columns/column_float.rb
66
+ - lib/wice/columns/column_integer.rb
67
+ - lib/wice/columns/column_processor_index.rb
68
+ - lib/wice/columns/column_range.rb
69
+ - lib/wice/columns/column_string.rb
70
+ - lib/wice/grid_output_buffer.rb
71
+ - lib/wice/grid_renderer.rb
72
+ - lib/wice/helpers/js_calendar_helpers.rb
73
+ - lib/wice/helpers/wice_grid_misc_view_helpers.rb
74
+ - lib/wice/helpers/wice_grid_serialized_queries_view_helpers.rb
75
+ - lib/wice/helpers/wice_grid_view_helpers.rb
76
+ - lib/wice/kaminari_monkey_patching.rb
77
+ - lib/wice/table_column_matrix.rb
78
+ - lib/wice/wice_grid_controller.rb
79
+ - lib/wice/wice_grid_core_ext.rb
80
+ - lib/wice/wice_grid_misc.rb
81
+ - lib/wice/wice_grid_serialized_queries_controller.rb
82
+ - lib/wice/wice_grid_serialized_query.rb
83
+ - lib/wice/wice_grid_spreadsheet.rb
77
84
  - lib/wice_grid.rb
78
- - lib/wice_grid_controller.rb
79
- - lib/wice_grid_core_ext.rb
80
- - lib/wice_grid_misc.rb
81
- - lib/wice_grid_serialized_queries_controller.rb
82
- - lib/wice_grid_serialized_query.rb
83
- - lib/wice_grid_spreadsheet.rb
85
+ - release_notes/RELEASE_NOTES_3.2.pre1.rdoc
86
+ - release_notes/RELEASE_NOTES_3.2.pre2.rdoc
87
+ - release_notes/RELEASE_NOTES_3.3.0.rdoc
84
88
  - test/readme.txt
85
89
  - vendor/assets/images/icons/grid/arrow_down.gif
86
90
  - vendor/assets/images/icons/grid/arrow_up.gif
@@ -99,7 +103,7 @@ files:
99
103
  - vendor/assets/javascripts/wice_grid_processor.js.coffee
100
104
  - vendor/assets/javascripts/wice_grid_saved_queries_init.js.coffee
101
105
  - wice_grid.gemspec
102
- homepage: http://github.com/leikind/wice_grid
106
+ homepage: https://github.com/leikind/wice_grid
103
107
  licenses: []
104
108
  post_install_message:
105
109
  rdoc_options: []
@@ -122,5 +126,6 @@ rubyforge_project:
122
126
  rubygems_version: 1.8.23
123
127
  signing_key:
124
128
  specification_version: 3
125
- summary: Rails Grid Plugin
129
+ summary: A Rails grid plugin to create grids with sorting, pagination, and (automatically
130
+ generated) filters.
126
131
  test_files: []
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 3.2.1
@@ -1,54 +0,0 @@
1
- module Wice #:nodoc:
2
- module JsCalendarHelpers #:nodoc:
3
-
4
- def date_calendar_jquery(initial_date, title, opts = {}) #:nodoc:
5
- date_format = Wice::ConfigurationProvider.value_for(:DATE_FORMAT)
6
-
7
- name, date_string, dom_id, datepicker_placeholder_id, date_span_id, close_calendar_event_name =
8
- prepare_data_for_calendar(opts, date_format, initial_date)
9
-
10
- hidden_field_tag_options = {
11
- :id => dom_id,
12
- 'data-locale' => I18n.locale,
13
- 'data-date-format' => Wice::ConfigurationProvider.value_for(:DATE_FORMAT_JQUERY),
14
- 'data-button-image' => Wice::ConfigurationProvider.value_for(:CALENDAR_ICON),
15
- 'data-button-text' => title,
16
- }
17
-
18
- if opts[:fire_event]
19
- hidden_field_tag_options['data-close-calendar-event-name'] = close_calendar_event_name
20
- end
21
-
22
- if Rails.env == 'development'
23
- hidden_field_tag_options['class'] = 'check-for-datepicker'
24
- end
25
-
26
- date_picker = hidden_field_tag(name, date_string, hidden_field_tag_options) + ' ' +
27
-
28
- link_to(date_string,
29
- '#',
30
- :id => date_span_id,
31
- :class => 'date-label',
32
- :title => ::Wice::NlMessage['date_string_tooltip'],
33
- 'data-dom-id' => dom_id
34
- )
35
-
36
- "<span id=\"#{datepicker_placeholder_id}\">#{date_picker}</span>"
37
- end
38
-
39
- protected
40
-
41
- def prepare_data_for_calendar(opts, date_format, initial_date) #:nodoc:
42
- options = {:prefix => 'date'}
43
- options.merge!(opts)
44
- name = options[:prefix]
45
- date_string = initial_date.nil? ? '' : initial_date.strftime(date_format)
46
- dom_id = name.gsub(/([\[\(])|(\]\[)/, '_').gsub(/[\]\)]/, '').gsub(/\./, '_').gsub(/_+/, '_')
47
- datepicker_placeholder_id = dom_id + '_date_placeholder'
48
- date_span_id = dom_id + '_date_view'
49
- close_calendar_event_name = "wg:calendarChanged_#{options[:grid_name]}"
50
- return name, date_string, dom_id, datepicker_placeholder_id, date_span_id, close_calendar_event_name
51
- end
52
-
53
- end
54
- end