effective_datatables 1.2.4 → 1.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +12 -0
- data/app/assets/javascripts/effective_datatables/initialize.js.coffee +2 -1
- data/app/helpers/effective_datatables_helper.rb +6 -0
- data/app/models/effective/datatable.rb +8 -0
- data/app/views/effective/datatables/_datatable.html.haml +1 -1
- data/lib/effective_datatables/version.rb +1 -1
- data/lib/effective_datatables.rb +1 -0
- data/lib/generators/templates/effective_datatables.rb +3 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 087d65c39d2b88c60fcc041b5f7a564bc61bded7
|
4
|
+
data.tar.gz: 611af4b47aaa06ccb61d59b5d8cd4bcb56363d91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ddaca87e620c93d477081bd48fc4e6ba8029fef349ef3042d1b4b4dae736d6603822366d9d7f0741f0ecb5280e91833466ed2fd9a53b520d79b4e5de066d08c
|
7
|
+
data.tar.gz: e2217a2fd7c3b191bbf755a55f46b5ac85ac6ec44d67a6465302590710982660f3ab4f4a3d56661c4f47864c0d1023e49cd3073cce75c59795e345a9df26e840
|
data/README.md
CHANGED
@@ -133,6 +133,7 @@ module Effective
|
|
133
133
|
module Datatables
|
134
134
|
class Posts < Effective::Datatable
|
135
135
|
default_order :created_at, :desc
|
136
|
+
default_entries 25
|
136
137
|
|
137
138
|
table_column :id, :visible => false
|
138
139
|
|
@@ -387,6 +388,17 @@ Sort the table by this field and direction on start up
|
|
387
388
|
default_order :created_at, :asc|:desc
|
388
389
|
```
|
389
390
|
|
391
|
+
## default_entries
|
392
|
+
|
393
|
+
The number of entries to show per page
|
394
|
+
|
395
|
+
```ruby
|
396
|
+
default_entries :all
|
397
|
+
```
|
398
|
+
|
399
|
+
Valid options are `10, 25, 50, 100, 250, 1000, :all`
|
400
|
+
|
401
|
+
|
390
402
|
## Additional Functionality
|
391
403
|
|
392
404
|
There are a few other ways to customize the behaviour of effective_datatables
|
@@ -18,7 +18,7 @@ initializeDataTables = ->
|
|
18
18
|
sAjaxSource: datatable.data('source')
|
19
19
|
pagingType: 'simple_numbers'
|
20
20
|
lengthMenu: [[10, 25, 50, 100, 250, 1000, -1], [10, 25, 50, 100, 250, 1000, 'All']]
|
21
|
-
iDisplayLength:
|
21
|
+
iDisplayLength: datatable.data('default-entries')
|
22
22
|
fnServerParams: (aoData, a, b) ->
|
23
23
|
table = this.DataTable()
|
24
24
|
table.columns().flatten().each (index) -> # Pass which columns are visible back to server
|
@@ -33,6 +33,7 @@ initializeDataTables = ->
|
|
33
33
|
sSearch = undefined
|
34
34
|
((sSearch = data; break) if data.name == "sSearch_#{index}") for data in aoData
|
35
35
|
sSearch.value = filter.selected if sSearch
|
36
|
+
datatable.fnSettings().aoPreSearchCols[index].sSearch = filter.selected
|
36
37
|
|
37
38
|
aoColumnDefs: aoColumnDefs
|
38
39
|
aoColumns: datatable.data('widths')
|
@@ -58,6 +58,12 @@ module EffectiveDatatablesHelper
|
|
58
58
|
].to_json()
|
59
59
|
end
|
60
60
|
|
61
|
+
def datatable_default_entries(datatable)
|
62
|
+
default_entries = (datatable.default_entries.presence || EffectiveDatatables.default_entries)
|
63
|
+
default_entries = -1 if default_entries.to_s.downcase == 'all'
|
64
|
+
[10, 25, 50, 100, 250, 1000, -1].include?(default_entries) ? default_entries : 25
|
65
|
+
end
|
66
|
+
|
61
67
|
def datatable_widths(datatable)
|
62
68
|
datatable.table_columns.values.map { |options| {'sWidth' => options[:width]} if options[:width] }.to_json()
|
63
69
|
end
|
@@ -41,6 +41,10 @@ module Effective
|
|
41
41
|
@default_order = {name => direction}
|
42
42
|
end
|
43
43
|
|
44
|
+
def default_entries(entries)
|
45
|
+
@default_entries = entries
|
46
|
+
end
|
47
|
+
|
44
48
|
end
|
45
49
|
|
46
50
|
def initialize(*args)
|
@@ -115,6 +119,10 @@ module Effective
|
|
115
119
|
self.class.instance_variable_get(:@default_order)
|
116
120
|
end
|
117
121
|
|
122
|
+
def default_entries
|
123
|
+
self.class.instance_variable_get(:@default_entries)
|
124
|
+
end
|
125
|
+
|
118
126
|
def search_terms
|
119
127
|
@search_terms ||= HashWithIndifferentAccess.new().tap do |terms|
|
120
128
|
table_columns.keys.each_with_index do |col, x|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
%table.effective-datatable{:id => "#{datatable.to_param}-table", :class => ('table ' + table_class.to_s), :data => {'effective-datatables-table' => style, 'source' => effective_datatables.datatable_path(datatable, {:format => 'json'}.merge(:attributes => datatable.attributes)), 'filter' => datatable_filter(datatable, filterable), 'non-sortable' => datatable_non_sortable(datatable, sortable), 'non-visible' => datatable_non_visible(datatable), 'widths' => datatable_widths(datatable), 'default-order' => datatable_default_order(datatable), 'column-classes' => datatable_column_classes(datatable)}}
|
1
|
+
%table.effective-datatable{:id => "#{datatable.to_param}-table", :class => ('table ' + table_class.to_s), :data => {'effective-datatables-table' => style, 'source' => effective_datatables.datatable_path(datatable, {:format => 'json'}.merge(:attributes => datatable.attributes)), 'filter' => datatable_filter(datatable, filterable), 'non-sortable' => datatable_non_sortable(datatable, sortable), 'non-visible' => datatable_non_visible(datatable), 'widths' => datatable_widths(datatable), 'default-order' => datatable_default_order(datatable), 'default-entries' => datatable_default_entries(datatable), 'column-classes' => datatable_column_classes(datatable)}}
|
2
2
|
%thead
|
3
3
|
- max_depth = datatable.table_columns.map { |_, opts| opts[:th][:depth].to_i rescue 0 }.max
|
4
4
|
- [*0..max_depth].each do |depth|
|
data/lib/effective_datatables.rb
CHANGED
@@ -26,5 +26,7 @@ EffectiveDatatables.setup do |config|
|
|
26
26
|
config.date_format = "%Y-%m-%d"
|
27
27
|
config.datetime_format = "%Y-%m-%d %H:%M"
|
28
28
|
|
29
|
-
|
29
|
+
# Default number of entries shown per page
|
30
|
+
# Valid options are: 10, 25, 50, 100, 250, 1000, :all
|
31
|
+
config.default_entries = 25
|
30
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_datatables
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|