ajax-datatables-rails 0.3.0 → 0.3.1
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: 80d42b1310c4f10689a82c08e83dfe459dd4dff0
|
4
|
+
data.tar.gz: 6d330fd4357b99d90b5f62d6073882d6337c9334
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16e1b35b7c5f129c5ff53659ad205e56afd07b51d675a0e74e9c5aba03b0a206a1be155b43a0ba3a30868ca6f7adab881d94422cc78da6962b1af89dc2ff6cb7
|
7
|
+
data.tar.gz: 621736c6a250745e8f68a363f5686fb4840b1804a05637cdd00da15c4a61db647c47118dd8b0d6fa6c713b27002f27e0526c48176e5dca395a1081ac8452e371
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
-
## 0.3.
|
3
|
+
## 0.3.1
|
4
|
+
* Adds `:oracle` as supported `db_adapter`. Thanks to [lutechspa](https://github.com/lutechspa) for this contribution.
|
5
|
+
|
6
|
+
## 0.3.0
|
4
7
|
* Changes to the `sortable_columns` and `searchable_columns` syntax as it
|
5
8
|
required us to do unnecessary guessing. New syntax is `ModelName.column_name`
|
6
9
|
or `Namespace::ModelName.column_name`. Old syntax of `table_name.column_name`
|
data/README.md
CHANGED
@@ -44,7 +44,7 @@ Currently `AjaxDatatablesRails` only supports `ActiveRecord` as ORM for
|
|
44
44
|
performing database queries.
|
45
45
|
|
46
46
|
Adding support for `Sequel`, `Mongoid` and `MongoMapper` is a planned feature
|
47
|
-
for this gem. If you'd be interested in contributing to speed development,
|
47
|
+
for this gem. If you'd be interested in contributing to speed development,
|
48
48
|
please [open an issue](https://github.com/antillas21/ajax-datatables-rails/issues/new)
|
49
49
|
and get in touch.
|
50
50
|
|
@@ -65,7 +65,7 @@ manually via the assets pipeline. If you decide to use the
|
|
65
65
|
`jquery-datatables-rails` gem, please refer to its installation instructions
|
66
66
|
[here](https://github.com/rweng/jquery-datatables-rails).
|
67
67
|
|
68
|
-
## Usage
|
68
|
+
## Usage (0.3.x)
|
69
69
|
*The following examples assume that we are setting up ajax-datatables-rails for
|
70
70
|
an index of users from a `User` model, and that we are using postgresql as
|
71
71
|
our db, because you __should be using it__, if not, please refer to the
|
@@ -99,7 +99,9 @@ end
|
|
99
99
|
* For `sortable_columns`, assign an array of the database columns that
|
100
100
|
correspond to the columns in our view table. For example
|
101
101
|
`[users.f_name, users.l_name, users.bio]`. This array is used for sorting by
|
102
|
-
various columns.
|
102
|
+
various columns. The sequence of these 3 columns must mirror the order of
|
103
|
+
declarations in the `data` method below. You cannot leave this array empty as of
|
104
|
+
0.3.0.
|
103
105
|
|
104
106
|
* For `searchable_columns`, assign an array of the database columns that you
|
105
107
|
want searchable by datatables. Suppose we need to sort and search users
|
@@ -140,7 +142,7 @@ def data
|
|
140
142
|
end
|
141
143
|
```
|
142
144
|
|
143
|
-
This method builds a
|
145
|
+
This method builds a 2D array that is used by datatables to construct the html
|
144
146
|
table. Insert the values you want on each column.
|
145
147
|
|
146
148
|
```ruby
|
@@ -155,8 +157,48 @@ def data
|
|
155
157
|
end
|
156
158
|
```
|
157
159
|
|
160
|
+
In the example above, we use the same sequence of column declarations as in
|
161
|
+
`sortable_columns`. This ordering is important! And as of 0.3.0, the first
|
162
|
+
column must be a sortable column. For more, see
|
163
|
+
[this issue](https://github.com/antillas21/ajax-datatables-rails/issues/83).
|
164
|
+
|
158
165
|
[See here](#using-view-helpers) if you need to use view helpers in the
|
159
|
-
returned
|
166
|
+
returned 2D array, like `link_to`, `mail_to`, `resource_path`, etc.
|
167
|
+
|
168
|
+
#### Automatic addition of ID
|
169
|
+
If you want the gem inserts automatically the ID of the record in the `<tr>` element
|
170
|
+
as shown in this [DataTable axample](http://www.datatables.net/examples/server_side/ids.html),
|
171
|
+
you have to perform some modifications in both `some_datatable.rb` file and in your javascript.
|
172
|
+
|
173
|
+
Here is an example:
|
174
|
+
```ruby
|
175
|
+
def data
|
176
|
+
records.map do |record|
|
177
|
+
{
|
178
|
+
'0' => record.first_name,
|
179
|
+
'1' => record.last_name,
|
180
|
+
'2' => record.email,
|
181
|
+
'DT_RowId' => record.id
|
182
|
+
}
|
183
|
+
end
|
184
|
+
end
|
185
|
+
```
|
186
|
+
|
187
|
+
and in your javascript file:
|
188
|
+
```javascript
|
189
|
+
$(function() {
|
190
|
+
return $('#table_id').dataTable({
|
191
|
+
processing: true,
|
192
|
+
serverSide: true,
|
193
|
+
ajax: 'ajax_url',
|
194
|
+
columns: [
|
195
|
+
{data: '0' },
|
196
|
+
{data: '1' },
|
197
|
+
{data: '2' }
|
198
|
+
]
|
199
|
+
});
|
200
|
+
});
|
201
|
+
```
|
160
202
|
|
161
203
|
#### Get Raw Records
|
162
204
|
```ruby
|
@@ -286,6 +328,9 @@ So the query using the `.includes()` method is:
|
|
286
328
|
end
|
287
329
|
```
|
288
330
|
|
331
|
+
For more examples of 0.3.0 syntax for complex associations (and an example of
|
332
|
+
the `data` method), read
|
333
|
+
[this](https://github.com/antillas21/ajax-datatables-rails/issues/77).
|
289
334
|
|
290
335
|
### Controller
|
291
336
|
Set up the controller to respond to JSON
|
@@ -423,6 +468,10 @@ end
|
|
423
468
|
|
424
469
|
Pretty much like you would do it, if you were inside a namespaced controller.
|
425
470
|
|
471
|
+
#### What if I'm using Oracle?
|
472
|
+
|
473
|
+
We have recently merged and released a contribution from [lutechspa](https://github.com/lutechspa) that makes this gem work with Oracle (tested in version 11g). You can [take a look at this sample repo](https://github.com/paoloripamonti/oracle-ajax-datatable) to get an idea on how to set things up.
|
474
|
+
|
426
475
|
#### Searching on non text-based columns
|
427
476
|
|
428
477
|
It always comes the time when you need to add a non-string/non-text based
|
@@ -431,8 +480,8 @@ these column types (example: numeric, date, time).
|
|
431
480
|
|
432
481
|
We recently added the ability to (automatically) typecast these column types
|
433
482
|
and have this scenario covered. Please note however, if you are using
|
434
|
-
something different from `postgresql` (with the `:pg` gem), like `
|
435
|
-
`sqlite`, then you need to add an initializer in your application's
|
483
|
+
something different from `postgresql` (with the `:pg` gem), like `oracle`,
|
484
|
+
`mysql` or `sqlite`, then you need to add an initializer in your application's
|
436
485
|
`config/initializers` directory.
|
437
486
|
|
438
487
|
If you don't perform this step (again, if using something different from
|
@@ -458,7 +507,7 @@ with the following content:
|
|
458
507
|
|
459
508
|
```ruby
|
460
509
|
AjaxDatatablesRails.configure do |config|
|
461
|
-
# available options for db_adapter are: :pg, :mysql2, :sqlite3
|
510
|
+
# available options for db_adapter are: :oracle, :pg, :mysql2, :sqlite3
|
462
511
|
# config.db_adapter = :pg
|
463
512
|
|
464
513
|
# available options for paginator are: :simple_paginator, :kaminari, :will_paginate
|
@@ -1,5 +1,5 @@
|
|
1
1
|
AjaxDatatablesRails.configure do |config|
|
2
|
-
# available options for db_adapter are: :pg, :mysql2, :sqlite3
|
2
|
+
# available options for db_adapter are: :oracle, :pg, :mysql2, :sqlite3
|
3
3
|
# config.db_adapter = :pg
|
4
4
|
|
5
5
|
# available options for paginator are: :simple_paginator, :kaminari, :will_paginate
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ajax-datatables-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Quenneville
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|