effective_datatables 3.7.7 → 4.0.0
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 +5 -5
- data/MIT-LICENSE +1 -1
- data/README.md +32 -32
- data/app/assets/images/dataTables/sort-down.svg +1 -0
- data/app/assets/images/dataTables/sort-up.svg +1 -0
- data/app/assets/images/dataTables/sort.svg +1 -0
- data/app/assets/javascripts/dataTables/buttons/{buttons.bootstrap.js → buttons.bootstrap4.js} +7 -15
- data/app/assets/javascripts/dataTables/dataTables.bootstrap4.js +184 -0
- data/app/assets/javascripts/dataTables/responsive/dataTables.responsive.js +30 -11
- data/app/assets/javascripts/dataTables/responsive/{responsive.bootstrap.js → responsive.bootstrap4.js} +6 -6
- data/app/assets/javascripts/effective_datatables.js +4 -4
- data/app/assets/javascripts/effective_datatables/bulk_actions.js.coffee +43 -43
- data/app/assets/javascripts/effective_datatables/events.js.coffee +7 -4
- data/app/assets/javascripts/effective_datatables/filters.js.coffee +0 -1
- data/app/assets/javascripts/effective_datatables/initialize.js.coffee +45 -49
- data/app/assets/javascripts/effective_datatables/overrides.js +12 -0
- data/app/assets/javascripts/effective_datatables/reset.js.coffee +1 -1
- data/app/assets/stylesheets/dataTables/buttons/{buttons.bootstrap.scss → buttons.bootstrap4.css} +68 -1
- data/app/assets/stylesheets/dataTables/{dataTables.bootstrap.scss → dataTables.bootstrap4.css} +44 -29
- data/app/assets/stylesheets/dataTables/responsive/{responsive.bootstrap.scss → responsive.bootstrap4.css} +3 -3
- data/app/assets/stylesheets/effective_datatables.scss +3 -4
- data/app/assets/stylesheets/effective_datatables/_overrides.scss +72 -152
- data/app/controllers/effective/datatables_controller.rb +6 -39
- data/app/helpers/effective_datatables_helper.rb +55 -50
- data/app/helpers/effective_datatables_private_helper.rb +47 -179
- data/app/models/effective/datatable.rb +16 -44
- data/app/models/effective/datatable_column.rb +0 -1
- data/app/models/effective/datatable_column_tool.rb +1 -1
- data/app/models/effective/datatable_dsl_tool.rb +3 -11
- data/app/models/effective/datatable_value_tool.rb +23 -23
- data/app/models/effective/effective_datatable/attributes.rb +13 -5
- data/app/models/effective/effective_datatable/collection.rb +3 -18
- data/app/models/effective/effective_datatable/compute.rb +6 -17
- data/app/models/effective/effective_datatable/cookie.rb +20 -19
- data/app/models/effective/effective_datatable/dsl.rb +3 -8
- data/app/models/effective/effective_datatable/dsl/bulk_actions.rb +25 -14
- data/app/models/effective/effective_datatable/dsl/datatable.rb +28 -70
- data/app/models/effective/effective_datatable/dsl/filters.rb +5 -5
- data/app/models/effective/effective_datatable/format.rb +50 -95
- data/app/models/effective/effective_datatable/params.rb +3 -8
- data/app/models/effective/effective_datatable/resource.rb +76 -137
- data/app/models/effective/effective_datatable/state.rb +15 -30
- data/app/views/effective/datatables/_actions_column.html.haml +8 -1
- data/app/views/effective/datatables/_bulk_actions_column.html.haml +1 -1
- data/app/views/effective/datatables/_filters.html.haml +11 -12
- data/app/views/effective/datatables/_resource_column.html.haml +8 -11
- data/config/effective_datatables.rb +14 -12
- data/config/routes.rb +0 -1
- data/lib/effective_datatables.rb +4 -57
- data/lib/effective_datatables/engine.rb +1 -1
- data/lib/effective_datatables/version.rb +1 -1
- metadata +20 -30
- data/app/assets/images/dataTables/sort_asc.png +0 -0
- data/app/assets/images/dataTables/sort_both.png +0 -0
- data/app/assets/images/dataTables/sort_desc.png +0 -0
- data/app/assets/javascripts/dataTables/dataTables.bootstrap.js +0 -182
- data/app/assets/javascripts/dataTables/locales/en.lang +0 -33
- data/app/assets/javascripts/dataTables/locales/es.lang +0 -36
- data/app/assets/javascripts/dataTables/locales/nl.lang +0 -30
- data/app/assets/javascripts/effective_datatables/flash.js.coffee +0 -31
- data/app/assets/javascripts/effective_datatables/inline_crud.js.coffee +0 -217
- data/app/assets/javascripts/effective_datatables/overrides.js.coffee +0 -7
- data/app/assets/javascripts/effective_datatables/reorder.js.coffee +0 -43
- data/app/assets/stylesheets/effective_datatables/_filters.scss +0 -7
- data/app/views/effective/datatables/_reorder_column.html.haml +0 -5
- data/config/locales/en.yml +0 -12
- data/config/locales/es.yml +0 -12
- data/config/locales/nl.yml +0 -12
@@ -55,6 +55,7 @@ module Effective
|
|
55
55
|
# This is called first. Our initial state is set.
|
56
56
|
def initial_state
|
57
57
|
{
|
58
|
+
attributes: {},
|
58
59
|
filter: {},
|
59
60
|
length: nil,
|
60
61
|
order_name: nil,
|
@@ -88,27 +89,23 @@ module Effective
|
|
88
89
|
|
89
90
|
def load_state!
|
90
91
|
if datatables_ajax_request?
|
91
|
-
load_cookie! # but not state.
|
92
92
|
load_filter_params!
|
93
93
|
load_ajax_state!
|
94
|
-
elsif
|
95
|
-
|
94
|
+
elsif cookie.present? && cookie[:params] == params.length
|
95
|
+
load_cookie_state!
|
96
96
|
else
|
97
|
-
|
98
|
-
load_cookie_state! if cookie.present? && cookie[:params] == cookie_state_params
|
99
|
-
load_filter_params!
|
97
|
+
# Nothing to do for default state
|
100
98
|
end
|
101
99
|
|
100
|
+
load_filter_params! unless datatables_ajax_request?
|
102
101
|
fill_empty_filters!
|
103
102
|
end
|
104
103
|
|
105
104
|
def load_ajax_state!
|
106
105
|
state[:length] = params[:length].to_i
|
107
106
|
|
108
|
-
|
109
|
-
|
110
|
-
state[:order_index] = params[:order]['0'][:column].to_i
|
111
|
-
end
|
107
|
+
state[:order_dir] = (params[:order]['0'][:dir] == 'desc' ? :desc : :asc)
|
108
|
+
state[:order_index] = params[:order]['0'][:column].to_i
|
112
109
|
|
113
110
|
state[:scope] = _scopes.keys.find { |name| params[:scope] == name.to_s }
|
114
111
|
state[:start] = params[:start].to_i
|
@@ -133,7 +130,7 @@ module Effective
|
|
133
130
|
state[:filter][name] = parse_filter_value(_filters[name], value)
|
134
131
|
end
|
135
132
|
|
136
|
-
state[:params] = cookie[:params]
|
133
|
+
state[:params] = cookie[:params]
|
137
134
|
end
|
138
135
|
|
139
136
|
def load_cookie_state!
|
@@ -143,21 +140,14 @@ module Effective
|
|
143
140
|
def load_columns!
|
144
141
|
state[:length] ||= EffectiveDatatables.default_length
|
145
142
|
|
146
|
-
(columns || {}).each_with_index { |(_, column), index| column[:index] = index }
|
147
|
-
|
148
143
|
if columns.present?
|
149
|
-
|
150
|
-
if columns.key?(:_reorder)
|
151
|
-
:_reorder
|
152
|
-
elsif order_index.present?
|
153
|
-
columns.keys[order_index]
|
154
|
-
elsif state[:order_name].present?
|
155
|
-
state[:order_name]
|
156
|
-
else
|
157
|
-
columns.find { |name, opts| opts[:sort] }.first
|
158
|
-
end
|
159
|
-
)
|
144
|
+
columns.each_with_index { |(_, column), index| column[:index] = index }
|
160
145
|
|
146
|
+
if order_index.present?
|
147
|
+
state[:order_name] = columns.keys[order_index]
|
148
|
+
end
|
149
|
+
|
150
|
+
state[:order_name] ||= columns.find { |name, opts| opts[:sort] }.first
|
161
151
|
raise "order column :#{order_name} must exist as a col or val" unless columns[order_name]
|
162
152
|
|
163
153
|
state[:order_index] = columns[order_name][:index]
|
@@ -186,7 +176,7 @@ module Effective
|
|
186
176
|
|
187
177
|
unless datatables_ajax_request?
|
188
178
|
search_params.each { |name, value| state[:search][name] = value }
|
189
|
-
state[:params] =
|
179
|
+
state[:params] = params.length
|
190
180
|
end
|
191
181
|
|
192
182
|
state[:visible].delete_if { |name, _| columns.key?(name) == false }
|
@@ -197,14 +187,9 @@ module Effective
|
|
197
187
|
# When we parse an incoming filter term for this filter.
|
198
188
|
def parse_filter_value(filter, value)
|
199
189
|
return filter[:parse].call(value) if filter[:parse]
|
200
|
-
return nil if value.blank? && !filter[:required]
|
201
190
|
Effective::Attribute.new(filter[:value]).parse(value, name: filter[:name])
|
202
191
|
end
|
203
192
|
|
204
|
-
def cookie_state_params
|
205
|
-
params.hash.abs.to_s.last(12)
|
206
|
-
end
|
207
|
-
|
208
193
|
end
|
209
194
|
end
|
210
195
|
end
|
@@ -1 +1,8 @@
|
|
1
|
-
|
1
|
+
- if show_action && EffectiveDatatables.authorized?(self, :show, resource)
|
2
|
+
= show_icon_to effective_resource.action_path(:show, resource)
|
3
|
+
|
4
|
+
- if edit_action && EffectiveDatatables.authorized?(self, :edit, resource)
|
5
|
+
= edit_icon_to effective_resource.action_path(:edit, resource)
|
6
|
+
|
7
|
+
- if destroy_action && EffectiveDatatables.authorized?(self, :destroy, resource)
|
8
|
+
= destroy_icon_to effective_resource.action_path(:destroy, resource), data: { method: :delete, confirm: "Delete #{resource}?" }
|
@@ -1,2 +1,2 @@
|
|
1
1
|
- id = (resource.try(:to_param) || resource.try(:id) || resource.object_id)
|
2
|
-
= check_box_tag 'bulk_actions_resources[]', id, false, autocomplete: 'off', id: "datatable_bulk_actions_resource_#{id}", data: { role: 'bulk-
|
2
|
+
= check_box_tag 'bulk_actions_resources[]', id, false, autocomplete: 'off', id: "datatable_bulk_actions_resource_#{id}", data: { role: 'bulk-actions-resource' }, onClick: 'event.stopPropagation();'
|
@@ -1,17 +1,16 @@
|
|
1
1
|
.effective-datatables-filters{'aria-controls': datatable.to_param}
|
2
|
-
=
|
3
|
-
-
|
4
|
-
.
|
5
|
-
=
|
2
|
+
= effective_form_with(scope: :filters, url: (datatable._form[:url] || '#'), method: datatable._form[:verb]) do |form|
|
3
|
+
.form-row.align-items-center
|
4
|
+
- if datatable._scopes.present?
|
5
|
+
= form.radios :scope, datatable._scopes.map { |name, opts| [opts[:label], name] },
|
6
|
+
label: false, required: false, checked: datatable.state[:scope], buttons: true,
|
7
|
+
wrapper: { class: 'form-group col-auto' }
|
6
8
|
|
7
|
-
|
8
|
-
|
9
|
-
- datatable._filters.each do |name, opts|
|
10
|
-
= datatable_filter_tag(form, datatable, name, opts)
|
9
|
+
- datatable._filters.each do |name, opts|
|
10
|
+
= datatable_filter_tag(form, datatable, name, opts)
|
11
11
|
|
12
|
-
|
13
|
-
.effective-datatables-filters-btn
|
12
|
+
.form-group.col-auto
|
14
13
|
- if datatable._filters_form_required?
|
15
|
-
= form.
|
14
|
+
= form.save 'Apply', 'data-disable-with': 'Applying...'
|
16
15
|
- else
|
17
|
-
= link_to
|
16
|
+
= link_to 'Apply', '#', class: 'btn btn-primary btn-effective-datatables-filters', 'data-apply-effective-datatables-filters': true
|
@@ -1,11 +1,8 @@
|
|
1
|
-
- Array(
|
2
|
-
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
= link_to resource_to_s, path, title: resource_to_s
|
10
|
-
- else
|
11
|
-
= resource_to_s.to_s.html_safe
|
1
|
+
- Array(datatable.array_collection? ? resource : resource.send(name)).each do |resource|
|
2
|
+
.col-resource_item
|
3
|
+
- if show_action
|
4
|
+
= link_to resource.to_s, effective_resource.action_path(:show, resource), title: resource.to_s
|
5
|
+
- elsif edit_action
|
6
|
+
= link_to resource.to_s, effective_resource.action_path(:edit, resource), title: resource.to_s
|
7
|
+
- else
|
8
|
+
= resource.to_s.html_safe
|
@@ -28,19 +28,21 @@ EffectiveDatatables.setup do |config|
|
|
28
28
|
# Default class used on the <table> tag
|
29
29
|
config.html_class = 'table table-hover'
|
30
30
|
|
31
|
+
# When using the actions_column DSL method, apply the following behavior
|
32
|
+
# Valid values for each action are:
|
33
|
+
# true - display this action if authorized?(:show, Post)
|
34
|
+
# false - do not display this action
|
35
|
+
# :authorize - display this action if authorized?(:show, Post<3>) (every instance is checked)
|
36
|
+
#
|
37
|
+
# You can override these defaults on a per-table basis
|
38
|
+
# by calling `actions_column(show: false, edit: true, destroy: :authorize)`
|
39
|
+
config.actions_column = {
|
40
|
+
show: true,
|
41
|
+
edit: true,
|
42
|
+
destroy: true
|
43
|
+
}
|
44
|
+
|
31
45
|
# Log search/sort information to the console
|
32
46
|
config.debug = true
|
33
47
|
|
34
|
-
# Use a cookie to save and restore state from previous page visits.
|
35
|
-
config.save_state = true
|
36
|
-
|
37
|
-
# Configure the _effective_dt cookie.
|
38
|
-
config.cookie_max_size = 2000 # String size. Final byte size is about 1.5 times bigger, after rails signs it
|
39
|
-
config.cookie_domain = :all # Should usually be :all
|
40
|
-
config.cookie_tld_length = nil # Leave nil to autodetect, or set to probably 2
|
41
|
-
|
42
|
-
# Date formatting
|
43
|
-
config.format_datetime = '%F %H:%M'
|
44
|
-
config.format_date = '%F'
|
45
|
-
config.format_time = '%H:%M'
|
46
48
|
end
|
data/config/routes.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
EffectiveDatatables::Engine.routes.draw do
|
2
2
|
scope :module => 'effective' do
|
3
3
|
match 'datatables/:id(.:format)', to: 'datatables#show', via: [:get, :post], as: :datatable
|
4
|
-
match 'datatables/:id/reorder(.:format)', to: 'datatables#reorder', via: [:post], as: :reorder_datatable
|
5
4
|
end
|
6
5
|
end
|
7
6
|
|
data/lib/effective_datatables.rb
CHANGED
@@ -1,30 +1,17 @@
|
|
1
|
-
require '
|
1
|
+
require 'effective_bootstrap'
|
2
2
|
require 'effective_resources'
|
3
3
|
require 'effective_datatables/engine'
|
4
4
|
require 'effective_datatables/version'
|
5
5
|
|
6
6
|
module EffectiveDatatables
|
7
|
-
AVAILABLE_LOCALES = %w(en es nl)
|
8
|
-
|
9
7
|
mattr_accessor :authorization_method
|
10
8
|
|
11
9
|
mattr_accessor :default_length
|
12
10
|
mattr_accessor :html_class
|
13
|
-
mattr_accessor :save_state
|
14
|
-
|
15
|
-
mattr_accessor :cookie_max_size
|
16
|
-
mattr_accessor :cookie_domain
|
17
|
-
mattr_accessor :cookie_tld_length
|
18
|
-
|
19
|
-
mattr_accessor :format_datetime
|
20
|
-
mattr_accessor :format_date
|
21
|
-
mattr_accessor :format_time
|
22
11
|
|
12
|
+
mattr_accessor :actions_column # A Hash
|
23
13
|
mattr_accessor :debug
|
24
14
|
|
25
|
-
alias_method :max_cookie_size, :cookie_max_size
|
26
|
-
alias_method :max_cookie_size=, :cookie_max_size=
|
27
|
-
|
28
15
|
def self.setup
|
29
16
|
yield self
|
30
17
|
end
|
@@ -33,7 +20,7 @@ module EffectiveDatatables
|
|
33
20
|
@_exceptions ||= [Effective::AccessDenied, (CanCan::AccessDenied if defined?(CanCan)), (Pundit::NotAuthorizedError if defined?(Pundit))].compact
|
34
21
|
|
35
22
|
return !!authorization_method unless authorization_method.respond_to?(:call)
|
36
|
-
controller = controller.controller if controller.respond_to?(:controller)
|
23
|
+
controller = controller.controller if controller.respond_to?(:controller) # Do the right thing with a view
|
37
24
|
|
38
25
|
begin
|
39
26
|
!!(controller || self).instance_exec((controller || self), action, resource, &authorization_method)
|
@@ -43,47 +30,7 @@ module EffectiveDatatables
|
|
43
30
|
end
|
44
31
|
|
45
32
|
def self.authorize!(controller, action, resource)
|
46
|
-
raise Effective::AccessDenied
|
47
|
-
end
|
48
|
-
|
49
|
-
def self.find(id, attributes = nil)
|
50
|
-
id = id.to_s.gsub(/-\d+\z/, '').gsub('-', '/')
|
51
|
-
klass = (id.classify.safe_constantize || id.classify.pluralize.safe_constantize)
|
52
|
-
attributes = decrypt(attributes) || {}
|
53
|
-
|
54
|
-
klass.try(:new, **attributes) || raise('unable to find datatable')
|
55
|
-
end
|
56
|
-
|
57
|
-
# Locale is coming from view. I think it can be dynamic.
|
58
|
-
# We currently support: en, es, nl
|
59
|
-
def self.language(locale)
|
60
|
-
@_languages ||= {}
|
61
|
-
|
62
|
-
locale = :en unless AVAILABLE_LOCALES.include?(locale.to_s)
|
63
|
-
|
64
|
-
@_languages[locale] ||= begin
|
65
|
-
path = Gem::Specification.find_by_name('effective_datatables').gem_dir + "/app/assets/javascripts/dataTables/locales/#{locale}.lang"
|
66
|
-
JSON.parse(File.read(path)).to_json
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
def self.encrypt(attributes)
|
71
|
-
payload = message_encrypter.encrypt_and_sign(attributes)
|
72
|
-
end
|
73
|
-
|
74
|
-
def self.decrypt(payload)
|
75
|
-
return unless payload.present?
|
76
|
-
return payload if payload.kind_of?(Hash)
|
77
|
-
|
78
|
-
attributes = message_encrypter.decrypt_and_verify(payload)
|
79
|
-
|
80
|
-
raise 'invalid decoded inline payload' unless attributes.kind_of?(Hash)
|
81
|
-
|
82
|
-
attributes
|
83
|
-
end
|
84
|
-
|
85
|
-
def self.message_encrypter
|
86
|
-
ActiveSupport::MessageEncryptor.new(Rails.application.secret_key_base.to_s.first(32))
|
33
|
+
raise Effective::AccessDenied unless authorized?(controller, action, resource)
|
87
34
|
end
|
88
35
|
|
89
36
|
end
|
@@ -6,7 +6,7 @@ module EffectiveDatatables
|
|
6
6
|
|
7
7
|
# Include Helpers to base application
|
8
8
|
initializer 'effective_datatables.action_controller' do |app|
|
9
|
-
ActiveSupport.on_load :
|
9
|
+
ActiveSupport.on_load :action_controller do
|
10
10
|
helper EffectiveDatatablesHelper
|
11
11
|
helper EffectiveDatatablesPrivateHelper
|
12
12
|
|
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:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: effective_bootstrap
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: effective_resources
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: sass-rails
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -91,40 +91,33 @@ extra_rdoc_files: []
|
|
91
91
|
files:
|
92
92
|
- MIT-LICENSE
|
93
93
|
- README.md
|
94
|
-
- app/assets/images/dataTables/
|
95
|
-
- app/assets/images/dataTables/
|
96
|
-
- app/assets/images/dataTables/
|
97
|
-
- app/assets/javascripts/dataTables/buttons/buttons.
|
94
|
+
- app/assets/images/dataTables/sort-down.svg
|
95
|
+
- app/assets/images/dataTables/sort-up.svg
|
96
|
+
- app/assets/images/dataTables/sort.svg
|
97
|
+
- app/assets/javascripts/dataTables/buttons/buttons.bootstrap4.js
|
98
98
|
- app/assets/javascripts/dataTables/buttons/buttons.colVis.js
|
99
99
|
- app/assets/javascripts/dataTables/buttons/buttons.html5.js
|
100
100
|
- app/assets/javascripts/dataTables/buttons/buttons.print.js
|
101
101
|
- app/assets/javascripts/dataTables/buttons/dataTables.buttons.js
|
102
|
-
- app/assets/javascripts/dataTables/dataTables.
|
102
|
+
- app/assets/javascripts/dataTables/dataTables.bootstrap4.js
|
103
103
|
- app/assets/javascripts/dataTables/jquery.dataTables.js
|
104
|
-
- app/assets/javascripts/dataTables/locales/en.lang
|
105
|
-
- app/assets/javascripts/dataTables/locales/es.lang
|
106
|
-
- app/assets/javascripts/dataTables/locales/nl.lang
|
107
104
|
- app/assets/javascripts/dataTables/responsive/dataTables.responsive.js
|
108
|
-
- app/assets/javascripts/dataTables/responsive/responsive.
|
105
|
+
- app/assets/javascripts/dataTables/responsive/responsive.bootstrap4.js
|
109
106
|
- app/assets/javascripts/effective_datatables.js
|
110
107
|
- app/assets/javascripts/effective_datatables/bulk_actions.js.coffee
|
111
108
|
- app/assets/javascripts/effective_datatables/charts.js.coffee
|
112
109
|
- app/assets/javascripts/effective_datatables/events.js.coffee
|
113
110
|
- app/assets/javascripts/effective_datatables/filters.js.coffee
|
114
|
-
- app/assets/javascripts/effective_datatables/flash.js.coffee
|
115
111
|
- app/assets/javascripts/effective_datatables/initialize.js.coffee
|
116
|
-
- app/assets/javascripts/effective_datatables/
|
117
|
-
- app/assets/javascripts/effective_datatables/overrides.js.coffee
|
118
|
-
- app/assets/javascripts/effective_datatables/reorder.js.coffee
|
112
|
+
- app/assets/javascripts/effective_datatables/overrides.js
|
119
113
|
- app/assets/javascripts/effective_datatables/reset.js.coffee
|
120
114
|
- app/assets/javascripts/effective_datatables/responsive.js.coffee
|
121
115
|
- app/assets/javascripts/vendor/jquery.delayedChange.js
|
122
116
|
- app/assets/javascripts/vendor/jquery.fileDownload.js
|
123
|
-
- app/assets/stylesheets/dataTables/buttons/buttons.
|
124
|
-
- app/assets/stylesheets/dataTables/dataTables.
|
125
|
-
- app/assets/stylesheets/dataTables/responsive/responsive.
|
117
|
+
- app/assets/stylesheets/dataTables/buttons/buttons.bootstrap4.css
|
118
|
+
- app/assets/stylesheets/dataTables/dataTables.bootstrap4.css
|
119
|
+
- app/assets/stylesheets/dataTables/responsive/responsive.bootstrap4.css
|
126
120
|
- app/assets/stylesheets/effective_datatables.scss
|
127
|
-
- app/assets/stylesheets/effective_datatables/_filters.scss
|
128
121
|
- app/assets/stylesheets/effective_datatables/_overrides.scss
|
129
122
|
- app/controllers/effective/datatables_controller.rb
|
130
123
|
- app/datatables/effective_style_guide_datatable.rb
|
@@ -157,15 +150,11 @@ files:
|
|
157
150
|
- app/views/effective/datatables/_chart.html.haml
|
158
151
|
- app/views/effective/datatables/_datatable.html.haml
|
159
152
|
- app/views/effective/datatables/_filters.html.haml
|
160
|
-
- app/views/effective/datatables/_reorder_column.html.haml
|
161
153
|
- app/views/effective/datatables/_resource_column.html.haml
|
162
154
|
- app/views/effective/datatables/_spacer_template.html
|
163
155
|
- app/views/effective/datatables/index.html.haml
|
164
156
|
- app/views/effective/style_guide/_effective_datatables.html.haml
|
165
157
|
- config/effective_datatables.rb
|
166
|
-
- config/locales/en.yml
|
167
|
-
- config/locales/es.yml
|
168
|
-
- config/locales/nl.yml
|
169
158
|
- config/routes.rb
|
170
159
|
- lib/effective_datatables.rb
|
171
160
|
- lib/effective_datatables/engine.rb
|
@@ -176,7 +165,7 @@ homepage: https://github.com/code-and-effect/effective_datatables
|
|
176
165
|
licenses:
|
177
166
|
- MIT
|
178
167
|
metadata: {}
|
179
|
-
post_install_message:
|
168
|
+
post_install_message:
|
180
169
|
rdoc_options: []
|
181
170
|
require_paths:
|
182
171
|
- lib
|
@@ -191,8 +180,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
180
|
- !ruby/object:Gem::Version
|
192
181
|
version: '0'
|
193
182
|
requirements: []
|
194
|
-
|
195
|
-
|
183
|
+
rubyforge_project:
|
184
|
+
rubygems_version: 2.4.5.1
|
185
|
+
signing_key:
|
196
186
|
specification_version: 4
|
197
187
|
summary: Uniquely powerful server-side searching, sorting and filtering of any ActiveRecord
|
198
188
|
or Array collection as well as post-rendered content displayed as a frontend jQuery
|