table_sortable 0.3.3 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/lib/table_sortable/column.rb +3 -2
- data/lib/table_sortable/controller.rb +20 -4
- data/lib/table_sortable/version.rb +1 -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: 58f56319bff9c3d3ab049d249641cc00e51ec909
|
4
|
+
data.tar.gz: f930fc8ef35415aba073a22f324125a19c83258e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 256f910ad188856f5809326ba5d14ff87e9b8778800098cf616d6eafd80ef0d86e1c98a352af5ddb41183934e0e54f0a4ee6896bfa0f75b7b8f52093972b90b9
|
7
|
+
data.tar.gz: 501252f87cb2f3c750fc56122989ff24fe19e242e8a66f9cd3a02ced8cb90e10d0968e0e0b9470f47e55728d6f745fd1273ee24f109de041469840a972db6cb7
|
data/README.md
CHANGED
@@ -38,19 +38,19 @@ please see the [jQuery tablesorter plugin for Rails](https://github.com/themilkm
|
|
38
38
|
## Usage
|
39
39
|
|
40
40
|
First, we need to setup our controller. For this example this will be a users controller.
|
41
|
-
Let's `include TableSortable` so that we can use its methods.
|
41
|
+
Let's `include TableSortable::Controller` so that we can use its methods.
|
42
42
|
|
43
43
|
```ruby
|
44
44
|
#controllers/users_controller.rb
|
45
45
|
class UsersController < ApplicationController
|
46
|
-
include TableSortable
|
46
|
+
include TableSortable::Controller
|
47
47
|
```
|
48
48
|
|
49
49
|
Next, let's define our columns.
|
50
50
|
```ruby
|
51
51
|
#controllers/users_controller.rb
|
52
52
|
class UsersController < ApplicationController
|
53
|
-
include TableSortable
|
53
|
+
include TableSortable::Controller
|
54
54
|
|
55
55
|
define_colunns :first_name, :last_name, :email, :created_at
|
56
56
|
```
|
@@ -151,7 +151,7 @@ TableSortable lets you define the columns one by one with many custom attributes
|
|
151
151
|
```ruby
|
152
152
|
#controllers/users_controller.rb
|
153
153
|
class UsersController < ApplicationController
|
154
|
-
include TableSortable
|
154
|
+
include TableSortable::Controller
|
155
155
|
|
156
156
|
define_column :full_name,
|
157
157
|
value: -> (user) {"#{user.first_name} #{user.last_name}"}
|
@@ -1,14 +1,15 @@
|
|
1
1
|
module TableSortable
|
2
2
|
class Column
|
3
3
|
|
4
|
-
attr_reader :name, :label, :filter, :sorter, :template, :placeholder, :content
|
4
|
+
attr_reader :name, :label, :filter, :sorter, :template, :placeholder, :content, :translation_key
|
5
5
|
|
6
6
|
def initialize(col_name, *options)
|
7
7
|
|
8
8
|
options = options.extract_options!
|
9
9
|
value = options[:value] || col_name
|
10
10
|
content = options[:content] || value
|
11
|
-
|
11
|
+
translation_key = options[:translation_key]
|
12
|
+
label = options[:label] || (options[:label] == false ? '' : I18n.translate("table_sortable.#{"#{translation_key}." if translation_key }#{col_name.to_s}", :default => col_name.to_s).titleize)
|
12
13
|
placeholder = options[:placeholder] || (options[:placeholder] == false ? nil : label)
|
13
14
|
# priority = options[:priority]
|
14
15
|
template = options[:template] || col_name
|
@@ -13,12 +13,14 @@ module TableSortable
|
|
13
13
|
def define_columns(*args)
|
14
14
|
options = args.extract_options!
|
15
15
|
column_offset = options[:offset] || 0
|
16
|
+
translation_key = options[:translation_key]
|
16
17
|
columns = args
|
17
18
|
before_action(options) do
|
19
|
+
define_translation_key translation_key
|
20
|
+
define_column_offset column_offset
|
18
21
|
columns.each do |column|
|
19
|
-
define_column column
|
22
|
+
define_column column, translation_key: translation_key
|
20
23
|
end
|
21
|
-
define_column_offset column_offset
|
22
24
|
end
|
23
25
|
end
|
24
26
|
|
@@ -39,10 +41,16 @@ module TableSortable
|
|
39
41
|
define_column_offset offset
|
40
42
|
end
|
41
43
|
end
|
44
|
+
|
45
|
+
def define_translation_key(key)
|
46
|
+
before_action do
|
47
|
+
define_translation_key key
|
48
|
+
end
|
49
|
+
end
|
42
50
|
end
|
43
51
|
|
44
52
|
def define_column(col_name, *options)
|
45
|
-
options = options.extract_options!
|
53
|
+
options = default_column_options.merge(options.extract_options!)
|
46
54
|
@columns.add(col_name, options)
|
47
55
|
end
|
48
56
|
|
@@ -54,12 +62,20 @@ module TableSortable
|
|
54
62
|
@column_offset = offset
|
55
63
|
end
|
56
64
|
|
65
|
+
def define_translation_key(key)
|
66
|
+
@translation_key = key
|
67
|
+
end
|
68
|
+
|
57
69
|
def columns
|
58
70
|
@columns.sort_by(column_order)
|
59
71
|
end
|
60
72
|
|
61
73
|
private
|
62
74
|
|
75
|
+
def default_column_options
|
76
|
+
{translation_key: @translation_key}
|
77
|
+
end
|
78
|
+
|
63
79
|
def filter_and_sort(scope, params = nil)
|
64
80
|
populate_params(params)
|
65
81
|
|
@@ -92,7 +108,7 @@ module TableSortable
|
|
92
108
|
|
93
109
|
public
|
94
110
|
|
95
|
-
attr_reader :column_order, :column_offset
|
111
|
+
attr_reader :column_order, :column_offset, :translation_key
|
96
112
|
|
97
113
|
end
|
98
114
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: table_sortable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oded Davidov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|