effective_datatables 1.2.4 → 1.2.5
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/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
|