wice_grid 3.4.10 → 3.4.11
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19f365e429574298ed3b586c2517491ec3df7513
|
4
|
+
data.tar.gz: 9e662dc2095c9885feb230952f881f3705cc12ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a47a53ef05c4a51972399a7f0d5adb74788a03637b2f334642d4e07fe5e8d418e665cb00b37e037d5e36d0548269ce8220f46f39e9cc9e779c7067a0958895d7
|
7
|
+
data.tar.gz: a9160aef46162410f9420264c2fc102eb92ea23fa2f054cb1b5e8a7dec2a077f865a5ef8a3ea6d71998cad63fb08f59f7aeb6a0d9abb8af48e1307b5c29d9d27
|
data/README.rdoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= WiceGrid
|
2
2
|
|
3
|
-
Version:: 3.4.
|
3
|
+
Version:: 3.4.11
|
4
4
|
Author:: Yuri Leikind
|
5
5
|
Sources:: https://github.com/leikind/wice_grid/
|
6
6
|
Examples online:: http://wicegrid.herokuapp.com
|
@@ -677,27 +677,36 @@ with value <tt>:range</tt>:
|
|
677
677
|
end
|
678
678
|
|
679
679
|
|
680
|
-
===
|
680
|
+
=== Date and DateTime Filters
|
681
681
|
|
682
|
-
WiceGrid
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
jQuery datepicker does not have any time related controls, and when dealing with DateTime filters, the time value is ignored.
|
689
|
-
|
690
|
-
Another option is standard Rails helpers. It's possible to change between the two styles of Date/DateTime
|
691
|
-
filters in <tt>config/initializers/wice_grid_config.rb</tt> using constant HELPER_STYLE, or set it on per-column basis:
|
682
|
+
WiceGrid provides three ways of selecting dates and times. The default style is
|
683
|
+
set in <tt>config/initializers/wice_grid_config.rb</tt> using the HELPER_STYLE
|
684
|
+
constant. The available options are <tt>:calendar</tt> (jQueryUI datepicker),
|
685
|
+
<tt>:html5</tt> and <tt>:standard</tt>. The style can also be individually
|
686
|
+
configured via the <tt>helper_style</tt> option on a Date/DateTime filter
|
687
|
+
column configuration:
|
692
688
|
|
693
689
|
g.column name: 'Due Date', attribute: 'due_date', helper_style: :calendar do |task|
|
694
690
|
task.due_date.to_s(:short) if task.due_date
|
695
691
|
end
|
696
692
|
|
693
|
+
g.column name: 'Created', attribute: 'created_at', helper_style: :html5 do |task|
|
694
|
+
task.created_at.to_s(:short)
|
695
|
+
end
|
696
|
+
|
697
697
|
g.column name: 'Updated', attribute: 'updated_at', helper_style: :standard do |task|
|
698
698
|
task.created_at.to_s(:short)
|
699
699
|
end
|
700
700
|
|
701
|
+
==== jQueryUI DatePicker
|
702
|
+
|
703
|
+
By default WiceGrid uses jQueryUI datepicker[http://jqueryui.com/demos/datepicker/] for Date and DateTime filters.
|
704
|
+
Because this is part of the standard jQueryUI codebase, it is not bundled together with the plugin,
|
705
|
+
and it is the responsibility of the programmer to include all necessary assets including
|
706
|
+
localization files if the application is multilingual.
|
707
|
+
|
708
|
+
jQueryUI datepicker does not have any time related controls, and when dealing with DateTime filters, the time value is ignored.
|
709
|
+
|
701
710
|
Constants +DATE_FORMAT+ and +DATETIME_FORMAT+ in the configuration file define the format of dates the user will see, as well as the
|
702
711
|
format of the string sent in a HTTP parameter. If you change the formats, make sure that lamdbas defined
|
703
712
|
in +DATETIME_PARSER+ and +DATE_PARSER+ return valid DateTime and Date objects.
|
@@ -712,7 +721,24 @@ you can always change this range dynamically with the following javascript:
|
|
712
721
|
|
713
722
|
$( ".hasDatepicker" ).datepicker( "option", "yearRange", "2000:2042" );
|
714
723
|
|
724
|
+
==== HTML5 input[type=date] DatePicker
|
725
|
+
|
726
|
+
In stead of the jQueryUI version of the datepicker some Browsers implement
|
727
|
+
their own datepicker which can be used as well without having to rely on
|
728
|
+
jQueryUI.
|
729
|
+
|
730
|
+
This helper_style actually also lets you use other javascript datepickers as
|
731
|
+
well. For example if you want to use the
|
732
|
+
bootstrap-datetimepicker[https://github.com/Eonasdan/bootstrap-datetimepicker]
|
733
|
+
with a timepicker, you would do this:
|
734
|
+
|
735
|
+
$('input[type=date]').attr("type","text").datetimepicker();
|
736
|
+
|
737
|
+
==== Rails standard input fields
|
715
738
|
|
739
|
+
Another option is standard Rails helpers for date fields, these are separate
|
740
|
+
select fields for years, months and days (also for hour and minute if it is a
|
741
|
+
datetime field).
|
716
742
|
|
717
743
|
== Detached Filters
|
718
744
|
|
@@ -112,6 +112,7 @@ if defined?(Wice::Defaults)
|
|
112
112
|
|
113
113
|
# The default style of the date and datetime helper
|
114
114
|
# * <tt>:calendar</tt> - JS calendar
|
115
|
+
# * <tt>:html5</tt> - HTML5 date input field
|
115
116
|
# * <tt>:standard</tt> - standard Rails date and datetime helpers
|
116
117
|
Wice::Defaults::HELPER_STYLE = :calendar
|
117
118
|
|
@@ -47,6 +47,16 @@ module Wice
|
|
47
47
|
'</div>'
|
48
48
|
end
|
49
49
|
|
50
|
+
|
51
|
+
def render_html5_filter_internal(params) #:nodoc:
|
52
|
+
css_class = 'form-control input-sm native-datepicker ' + (auto_reload ? 'auto-reload' : '')
|
53
|
+
date_format = Wice::ConfigurationProvider.value_for(:DATE_FORMAT)
|
54
|
+
'<div class="date-filter">' +
|
55
|
+
date_field_tag(@name1, params[:fr].try(:strftime, date_format), {class: css_class, id: @dom_id}) + '<br/>' +
|
56
|
+
date_field_tag(@name2, params[:to].try(:strftime, date_format), {class: css_class, id: @dom_id2}) +
|
57
|
+
'</div>'
|
58
|
+
end
|
59
|
+
|
50
60
|
def render_calendar_filter_internal(params) #:nodoc:
|
51
61
|
|
52
62
|
calendar_data_from = prepare_data_for_calendar(
|
@@ -80,7 +90,10 @@ module Wice
|
|
80
90
|
if helper_style == :standard
|
81
91
|
prepare_for_standard_filter
|
82
92
|
render_standard_filter_internal(params)
|
83
|
-
|
93
|
+
elsif helper_style == :html5
|
94
|
+
prepare_for_calendar_filter
|
95
|
+
render_html5_filter_internal(params)
|
96
|
+
else # :calendar
|
84
97
|
prepare_for_calendar_filter
|
85
98
|
render_calendar_filter_internal(params)
|
86
99
|
end
|
data/lib/wice_grid.rb
CHANGED
@@ -71,9 +71,9 @@ module Wice
|
|
71
71
|
@controller = controller
|
72
72
|
|
73
73
|
@relation = klass_or_relation
|
74
|
-
@klass =
|
75
|
-
klass_or_relation
|
76
|
-
klass_or_relation
|
74
|
+
@klass = @relation.kind_of?(Class) && @relation.ancestors.index(ActiveRecord::Base) ?
|
75
|
+
klass_or_relation :
|
76
|
+
klass_or_relation.klass
|
77
77
|
|
78
78
|
unless @klass.kind_of?(Class) && @klass.ancestors.index(ActiveRecord::Base)
|
79
79
|
raise WiceGridArgumentError.new("ActiveRecord model class (second argument) must be a Class derived from ActiveRecord::Base")
|
@@ -179,7 +179,7 @@ focusElementIfNeeded = (focusId) ->
|
|
179
179
|
|
180
180
|
# autoreload for internal filters
|
181
181
|
setupAutoreloadsForInternalFilters = (wiceGridContainer, gridProcessor) ->
|
182
|
-
$('select.auto-reload', wiceGridContainer).change ->
|
182
|
+
$('select.auto-reload, input.native-datepicker.auto-reload', wiceGridContainer).change ->
|
183
183
|
gridProcessor.process()
|
184
184
|
|
185
185
|
$('input.auto-reload', wiceGridContainer).keyup (event)->
|
@@ -203,7 +203,7 @@ setupAutoreloadsForExternalFilters = ->
|
|
203
203
|
$('.wg-detached-filter').each (index, detachedFilterContainer) ->
|
204
204
|
gridProcessor = getGridProcessorForElement(detachedFilterContainer)
|
205
205
|
if gridProcessor
|
206
|
-
$('select.auto-reload', detachedFilterContainer).change ->
|
206
|
+
$('select.auto-reload, input.native-datepicker.auto-reload', detachedFilterContainer).change ->
|
207
207
|
gridProcessor.process()
|
208
208
|
|
209
209
|
$('input.auto-reload', detachedFilterContainer).keyup (event)->
|
data/wice_grid.gemspec
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'wice_grid'
|
3
|
-
s.version = '3.4.
|
3
|
+
s.version = '3.4.11'
|
4
4
|
s.homepage = 'https://github.com/leikind/wice_grid'
|
5
|
-
s.date = '2014-
|
5
|
+
s.date = '2014-11-20'
|
6
6
|
s.summary = 'A Rails grid plugin to create grids with sorting, pagination, and (automatically generated) filters.'
|
7
7
|
s.description = 'A Rails grid plugin to create grids with sorting, pagination, and (automatically generated) filters.' +
|
8
8
|
'One of the goals of this plugin was to allow the programmer to define the contents of the cell by himself, ' +
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wice_grid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuri Leikind
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kaminari
|
@@ -141,4 +141,3 @@ specification_version: 3
|
|
141
141
|
summary: A Rails grid plugin to create grids with sorting, pagination, and (automatically
|
142
142
|
generated) filters.
|
143
143
|
test_files: []
|
144
|
-
has_rdoc:
|