wice_grid 4.1.0 → 6.1.3
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/.circleci/config.yml +63 -36
- data/.github/dependabot.yml +36 -0
- data/CHANGELOG.md +14 -7
- data/Gemfile.lock +68 -47
- data/README.md +10 -13
- data/config/locales/cz.yml +2 -5
- data/config/locales/de.yml +0 -5
- data/config/locales/en.yml +0 -5
- data/config/locales/es.yml +0 -5
- data/config/locales/fr.yml +2 -5
- data/config/locales/is.yml +4 -8
- data/config/locales/it.yml +0 -5
- data/config/locales/ja.yml +0 -5
- data/config/locales/nl.yml +2 -5
- data/config/locales/pt-BR.yml +2 -5
- data/config/locales/pt.yml +2 -5
- data/config/locales/ru.yml +2 -5
- data/config/locales/sk.yml +2 -5
- data/config/locales/uk.yml +2 -5
- data/config/locales/zh.yml +2 -5
- data/gemfiles/rails_5.0.gemfile.lock +34 -26
- data/gemfiles/rails_5.1.gemfile.lock +35 -27
- data/gemfiles/rails_5.2.gemfile.lock +37 -29
- data/lib/wice/active_record_column_wrapper.rb +10 -0
- data/lib/wice/columns/column_custom_dropdown.rb +14 -4
- data/lib/wice/grid_renderer.rb +3 -3
- data/lib/wice/table_column_matrix.rb +2 -1
- data/lib/wice/wice_grid_controller.rb +1 -51
- data/lib/wice_grid.rb +1 -1
- data/package.json +18 -0
- data/spec/acceptance_helper.rb +1 -0
- data/spec/features/auto_reloads2_request_spec.rb +18 -1
- data/spec/features/auto_reloads_request_spec.rb +19 -3
- data/spec/features/custom_filters1_request_spec.rb +5 -24
- data/spec/features/custom_filters2_request_spec.rb +4 -26
- data/spec/features/custom_filters3_request_spec.rb +3 -19
- data/spec/features/detached_filters_spec.rb +1 -1
- data/spec/features/detached_filters_two_grids_spec.rb +10 -2
- data/spec/features/shared_detached_filters.rb +18 -1
- data/vendor/assets/javascripts/wice_grid_processor.js.coffee +3 -3
- data/wice_grid.gemspec +14 -12
- metadata +56 -36
- data/.travis.yml +0 -22
- data/TODO.md +0 -16
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'acceptance_helper'
|
3
3
|
|
4
|
-
describe 'auto reloads 2 WiceGrid', type: :
|
4
|
+
describe 'auto reloads 2 WiceGrid', type: :feature, js: true do
|
5
5
|
before :each do
|
6
6
|
visit '/auto_reloads2'
|
7
7
|
end
|
@@ -153,10 +153,18 @@ describe 'auto reloads 2 WiceGrid', type: :request, js: true do
|
|
153
153
|
click_on 'Title'
|
154
154
|
end
|
155
155
|
|
156
|
+
within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.sorted' do
|
157
|
+
expect(page).to have_content('ab')
|
158
|
+
end
|
159
|
+
|
156
160
|
within '.pagination_status' do
|
157
161
|
expect(page).to have_content('1-3 / 3')
|
158
162
|
end
|
159
163
|
|
164
|
+
within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.sorted' do
|
165
|
+
expect(page).to have_content('ab')
|
166
|
+
end
|
167
|
+
|
160
168
|
expect(page).to have_content('507')
|
161
169
|
expect(page).to have_content('508')
|
162
170
|
expect(page).to have_content('509')
|
@@ -293,13 +301,18 @@ describe 'auto reloads 2 WiceGrid', type: :request, js: true do
|
|
293
301
|
end
|
294
302
|
|
295
303
|
it 'should negate the semantics of the text filter' do
|
304
|
+
expect(page).to have_content('sequi')
|
305
|
+
expect(page).to have_content('sed impedit iste')
|
306
|
+
|
296
307
|
fill_in('grid_f_title_v', with: 'sed')
|
297
308
|
select 'no', from: 'grid_f_archived'
|
298
309
|
|
310
|
+
expect(page).to have_no_content('sequi')
|
299
311
|
expect(page).to have_content('sed impedit iste')
|
300
312
|
|
301
313
|
find(:css, '#grid_f_title_n').click
|
302
314
|
|
315
|
+
expect(page).to have_content('sequi')
|
303
316
|
expect(page).to have_no_content('sed impedit iste')
|
304
317
|
end
|
305
318
|
|
@@ -341,6 +354,10 @@ describe 'auto reloads 2 WiceGrid', type: :request, js: true do
|
|
341
354
|
expect(page).to have_content('corporis expedita vel')
|
342
355
|
expect(page).to have_content('sed impedit iste')
|
343
356
|
|
357
|
+
within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
|
358
|
+
expect(page).to have_content('sed impedit iste')
|
359
|
+
end
|
360
|
+
|
344
361
|
find(:css, '.wg-external-reset-button').click
|
345
362
|
within '.pagination_status' do
|
346
363
|
expect(page).to have_content('1-20 / 50')
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'acceptance_helper'
|
3
3
|
|
4
|
-
describe 'auto reloads WiceGrid', type: :
|
4
|
+
describe 'auto reloads WiceGrid', type: :feature, js: true do
|
5
5
|
before :each do
|
6
6
|
visit '/auto_reloads'
|
7
7
|
end
|
@@ -154,6 +154,10 @@ describe 'auto reloads WiceGrid', type: :request, js: true do
|
|
154
154
|
click_on 'Title'
|
155
155
|
end
|
156
156
|
|
157
|
+
within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.sorted' do
|
158
|
+
expect(page).to have_content('ab')
|
159
|
+
end
|
160
|
+
|
157
161
|
within '.pagination_status' do
|
158
162
|
expect(page).to have_content('1-3 / 3')
|
159
163
|
end
|
@@ -291,15 +295,24 @@ describe 'auto reloads WiceGrid', type: :request, js: true do
|
|
291
295
|
end
|
292
296
|
end
|
293
297
|
|
294
|
-
it 'should negate the semantics of the text
|
298
|
+
it 'should negate the semantics of the text filter' do
|
295
299
|
fill_in('grid_f_title_v', with: 'sed')
|
300
|
+
|
301
|
+
expect(page).to have_content('sed impedit iste')
|
302
|
+
expect(page).to have_no_content('sequi')
|
303
|
+
|
296
304
|
select 'no', from: 'grid_f_archived'
|
297
305
|
|
306
|
+
# Does not change the visible rows, just highlights the archived column
|
307
|
+
expect(page).to have_selector('.wice-grid tbody tr td:nth-child(3).active-filter')
|
308
|
+
|
298
309
|
expect(page).to have_content('sed impedit iste')
|
310
|
+
expect(page).to have_no_content('sequi')
|
299
311
|
|
300
312
|
find(:css, '#grid_f_title_n').click
|
301
313
|
|
302
314
|
expect(page).to have_no_content('sed impedit iste')
|
315
|
+
expect(page).to have_content('sequi')
|
303
316
|
end
|
304
317
|
|
305
318
|
it 'should reload the title filter' do
|
@@ -337,8 +350,11 @@ describe 'auto reloads WiceGrid', type: :request, js: true do
|
|
337
350
|
expect(page).to have_content('1-2 / 2')
|
338
351
|
end
|
339
352
|
|
353
|
+
within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
|
354
|
+
expect(page).to have_content('sed impedit iste')
|
355
|
+
end
|
356
|
+
|
340
357
|
expect(page).to have_content('corporis expedita vel')
|
341
|
-
expect(page).to have_content('sed impedit iste')
|
342
358
|
|
343
359
|
find(:css, '#grid_reset_grid_icon').click
|
344
360
|
within '.pagination_status' do
|
@@ -1,35 +1,16 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'acceptance_helper'
|
3
3
|
|
4
|
-
describe 'custom_ordering WiceGrid', type: :
|
4
|
+
describe 'custom_ordering WiceGrid', type: :feature, js: true do
|
5
5
|
before :each do
|
6
6
|
visit '/custom_filters1'
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'should have all options' do
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
end
|
15
|
-
|
16
|
-
within '#g2_f_status' do
|
17
|
-
expect(page).to have_content('Development')
|
18
|
-
expect(page).to have_content('Testing')
|
19
|
-
expect(page).to have_content('Production')
|
20
|
-
end
|
21
|
-
|
22
|
-
within '#g3_f_status' do
|
23
|
-
expect(page).to have_content('development')
|
24
|
-
expect(page).to have_content('testing')
|
25
|
-
expect(page).to have_content('production')
|
26
|
-
end
|
27
|
-
|
28
|
-
within '#g4_f_status' do
|
29
|
-
expect(page).to have_content('development')
|
30
|
-
expect(page).to have_content('testing')
|
31
|
-
expect(page).to have_content('production')
|
32
|
-
end
|
10
|
+
expect(page).to have_select('g1_f_status', options: %w(-- Development Testing Production))
|
11
|
+
expect(page).to have_select('g2_f_status', options: %w(-- Development Testing Production))
|
12
|
+
expect(page).to have_select('g3_f_status', options: %w(-- development testing production))
|
13
|
+
expect(page).to have_select('g4_f_status', options: %w(-- development testing production))
|
33
14
|
end
|
34
15
|
|
35
16
|
it 'should have expand/collapse' do
|
@@ -1,37 +1,15 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'acceptance_helper'
|
3
3
|
|
4
|
-
describe 'custom_ordering WiceGrid', type: :
|
4
|
+
describe 'custom_ordering WiceGrid', type: :feature, js: true do
|
5
5
|
before :each do
|
6
6
|
visit '/custom_filters2'
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'should have all options' do
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
expect(page).to have_content('Low')
|
14
|
-
expect(page).to have_content('Normal')
|
15
|
-
expect(page).to have_content('Urgent')
|
16
|
-
end
|
17
|
-
|
18
|
-
within '#grid_f_status_id' do
|
19
|
-
expect(page).to have_content('Assigned')
|
20
|
-
expect(page).to have_content('Cancelled')
|
21
|
-
expect(page).to have_content('Closed')
|
22
|
-
expect(page).to have_content('Duplicate')
|
23
|
-
expect(page).to have_content('New')
|
24
|
-
expect(page).to have_content('Postponed')
|
25
|
-
expect(page).to have_content('Resolved')
|
26
|
-
expect(page).to have_content('Started')
|
27
|
-
expect(page).to have_content('Verified')
|
28
|
-
end
|
29
|
-
|
30
|
-
within '#grid_f_project_id' do
|
31
|
-
expect(page).to have_content('Divine Firmware')
|
32
|
-
expect(page).to have_content('Super Game')
|
33
|
-
expect(page).to have_content('Ultimate Website')
|
34
|
-
end
|
10
|
+
expect(page).to have_select('grid_f_priorities_name', options: %w(-- Anecdotic High Low Normal Urgent))
|
11
|
+
expect(page).to have_select('grid_f_status_id', options: %w(-- Assigned Cancelled Closed Duplicate New Postponed Resolved Started Verified))
|
12
|
+
expect(page).to have_select('grid_f_project_id', options: ['--', 'Divine Firmware', 'Super Game', 'Ultimate Website'])
|
35
13
|
end
|
36
14
|
|
37
15
|
it 'should filter by custom filters' do
|
@@ -1,30 +1,14 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'acceptance_helper'
|
3
3
|
|
4
|
-
describe 'custom_ordering WiceGrid', type: :
|
4
|
+
describe 'custom_ordering WiceGrid', type: :feature, js: true do
|
5
5
|
before :each do
|
6
6
|
visit '/custom_filters3'
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'should have all options' do
|
10
|
-
|
11
|
-
|
12
|
-
expect(page).to have_content('2.0')
|
13
|
-
expect(page).to have_content('1.2')
|
14
|
-
end
|
15
|
-
|
16
|
-
within '#grid_f_versions_name' do
|
17
|
-
expect(page).to have_content('1.0')
|
18
|
-
expect(page).to have_content('1.1')
|
19
|
-
expect(page).to have_content('1.2')
|
20
|
-
expect(page).to have_content('2.0')
|
21
|
-
expect(page).to have_content('3.0')
|
22
|
-
expect(page).to have_content('6.0')
|
23
|
-
expect(page).to have_content('7.1')
|
24
|
-
expect(page).to have_content('8.0')
|
25
|
-
expect(page).to have_content('88.1')
|
26
|
-
expect(page).to have_content('99.0')
|
27
|
-
end
|
10
|
+
expect(page).to have_select('grid_f_expected_version_id', options: %w(-- 1.0 2.0 1.2))
|
11
|
+
expect(page).to have_select('grid_f_versions_name', options: %w(-- 1.0 1.1 1.2 2.0 3.0 6.0 7.1 8.0 88.1 99.0))
|
28
12
|
end
|
29
13
|
|
30
14
|
it 'should filter by custom fields' do
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'acceptance_helper'
|
3
3
|
|
4
|
-
describe 'buttons WiceGrid', type: :
|
4
|
+
describe 'buttons WiceGrid', type: :feature, js: true do
|
5
5
|
before :each do
|
6
6
|
visit '/detached_filters_two_grids'
|
7
7
|
end
|
8
8
|
|
9
|
-
it 'should be
|
9
|
+
it 'should be independent of each other' do
|
10
10
|
select 'yes', from: 'grid_f_archived'
|
11
11
|
|
12
12
|
find(:css, '.external-buttons-grid1 .wg-external-submit-button').click
|
@@ -50,6 +50,10 @@ describe 'buttons WiceGrid', type: :request, js: true do
|
|
50
50
|
|
51
51
|
find(:css, '.external-buttons-grid1 .wg-external-reset-button').click
|
52
52
|
|
53
|
+
expect(page).to have_select('grid_f_archived', selected: '--')
|
54
|
+
expect(page).to have_selector('#grid_f_due_date_fr_date_placeholder:not([value])')
|
55
|
+
expect(page).to have_selector('#grid_f_due_date_to_date_placeholder:not([value])')
|
56
|
+
|
53
57
|
within 'div#grid.wice-grid-container .pagination_status' do
|
54
58
|
expect(page).to have_content('1-20 / 50')
|
55
59
|
end
|
@@ -60,6 +64,10 @@ describe 'buttons WiceGrid', type: :request, js: true do
|
|
60
64
|
|
61
65
|
find(:css, '.external-buttons-grid2 .wg-external-reset-button').click
|
62
66
|
|
67
|
+
expect(page).to have_select('grid2_f_archived', selected: '--')
|
68
|
+
expect(page).to have_selector('#grid2_f_due_date_fr_date_placeholder:not([value])')
|
69
|
+
expect(page).to have_selector('#grid2_f_due_date_to_date_placeholder:not([value])')
|
70
|
+
|
63
71
|
within 'div#grid.wice-grid-container .pagination_status' do
|
64
72
|
expect(page).to have_content('1-20 / 50')
|
65
73
|
end
|
@@ -74,12 +74,19 @@ shared_examples "detached_filters" do
|
|
74
74
|
click_on 'ID'
|
75
75
|
end
|
76
76
|
|
77
|
+
within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
|
78
|
+
expect(page).to have_content('sed impedit iste')
|
79
|
+
end
|
80
|
+
|
77
81
|
within '.pagination_status' do
|
78
82
|
expect(page).to have_content('1-2 / 2')
|
79
83
|
end
|
80
84
|
|
85
|
+
within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
|
86
|
+
expect(page).to have_content('sed impedit iste')
|
87
|
+
end
|
88
|
+
|
81
89
|
expect(page).to have_content('corporis expedita vel')
|
82
|
-
expect(page).to have_content('sed impedit iste')
|
83
90
|
|
84
91
|
click_button('Reset')
|
85
92
|
within '.pagination_status' do
|
@@ -118,6 +125,10 @@ shared_examples "detached_filters" do
|
|
118
125
|
|
119
126
|
expect(page).to have_selector('.pagination_status', text: '1-12 / 12')
|
120
127
|
|
128
|
+
within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
|
129
|
+
expect(page).to have_content('Velit atque sapiente aspernatur sint fuga.')
|
130
|
+
end
|
131
|
+
|
121
132
|
expect(page).to have_content('Adipisci voluptate sed esse velit.')
|
122
133
|
expect(page).to have_content('Ad sunt vel maxime labore temporibus incidunt quidem.')
|
123
134
|
|
@@ -138,17 +149,23 @@ shared_examples "detached_filters" do
|
|
138
149
|
|
139
150
|
expect(page).to have_content('Inventore iure eos labore ipsum.')
|
140
151
|
expect(page).to have_content('Velit atque sapiente aspernatur sint fuga.')
|
152
|
+
expect(page).to have_no_content('Eos qui est quis.')
|
141
153
|
|
142
154
|
within 'div.wice-grid-container table.wice-grid thead' do
|
143
155
|
click_on 'Description'
|
144
156
|
end
|
145
157
|
|
158
|
+
within 'div.wice-grid-container table.wice-grid tbody tr:first-child' do
|
159
|
+
expect(page).to have_content('Accusamus voluptas sunt deleniti iusto dolorem repudiandae.')
|
160
|
+
end
|
161
|
+
|
146
162
|
within '.pagination_status' do
|
147
163
|
expect(page).to have_content('1-11 / 11')
|
148
164
|
end
|
149
165
|
|
150
166
|
expect(page).to have_content('Inventore iure eos labore ipsum.')
|
151
167
|
expect(page).to have_content('Velit atque sapiente aspernatur sint fuga.')
|
168
|
+
expect(page).to have_no_content('Eos qui est quis.')
|
152
169
|
|
153
170
|
click_button('Reset')
|
154
171
|
within '.pagination_status' do
|
@@ -14,8 +14,8 @@ class WiceGridProcessor
|
|
14
14
|
process : (domIdToFocus)->
|
15
15
|
@visit @buildUrlWithParams(domIdToFocus)
|
16
16
|
|
17
|
-
visit : (path) ->
|
18
|
-
if Turbolinks?
|
17
|
+
visit : (path, use_turbolink = true) ->
|
18
|
+
if Turbolinks? and use_turbolink
|
19
19
|
Turbolinks.visit path
|
20
20
|
else
|
21
21
|
window.location = path
|
@@ -84,7 +84,7 @@ class WiceGridProcessor
|
|
84
84
|
|
85
85
|
|
86
86
|
exportToCsv : ->
|
87
|
-
@visit @linkForExport
|
87
|
+
@visit @linkForExport, false
|
88
88
|
|
89
89
|
|
90
90
|
register : (func)->
|
data/wice_grid.gemspec
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'wice_grid'
|
3
|
-
s.version = '
|
3
|
+
s.version = '6.1.3'
|
4
4
|
s.authors = ['Yuri Leikind and contributors']
|
5
|
-
s.email = ['
|
6
|
-
s.homepage = 'https://github.com/
|
5
|
+
s.email = ['koulikoff@gmail.com']
|
6
|
+
s.homepage = 'https://github.com/leikind/wice_grid'
|
7
7
|
s.summary = 'A Rails grid plugin to quickly create grids with sorting, pagination, and filters.'
|
8
8
|
s.description = 'A Rails grid plugin to create grids with sorting, pagination, and filters generated automatically based on column types. ' \
|
9
9
|
'The contents of the cell are up for the developer, just like one does when rendering a collection via a simple table. ' \
|
@@ -13,11 +13,12 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
14
14
|
s.license = 'MIT'
|
15
15
|
s.require_paths = ['lib']
|
16
|
-
s.date = '
|
16
|
+
s.date = '2024-06-10'
|
17
17
|
|
18
|
-
s.add_dependency 'rails', '
|
19
|
-
s.add_dependency 'kaminari', ['~> 1.1
|
18
|
+
s.add_dependency 'rails', '>= 5.0'
|
19
|
+
s.add_dependency 'kaminari', ['~> 1.1']
|
20
20
|
s.add_dependency 'coffee-rails', ['> 3.2']
|
21
|
+
s.add_dependency 'font-awesome-sass'
|
21
22
|
|
22
23
|
s.add_development_dependency('rake', '~> 10.1')
|
23
24
|
s.add_development_dependency('byebug')
|
@@ -26,25 +27,26 @@ Gem::Specification.new do |s|
|
|
26
27
|
s.add_development_dependency('rspec', '~> 3.6.0')
|
27
28
|
s.add_development_dependency('rspec-rails', '~> 3.6.0')
|
28
29
|
s.add_development_dependency('shoulda-matchers', '2.8.0')
|
29
|
-
s.add_development_dependency('capybara', '~>
|
30
|
+
s.add_development_dependency('capybara', '~> 3.13.2')
|
30
31
|
s.add_development_dependency('faker', '~> 1.8.7')
|
31
|
-
s.add_development_dependency('poltergeist', '~> 1.
|
32
|
+
s.add_development_dependency('poltergeist', '~> 1.18.0')
|
32
33
|
s.add_development_dependency('capybara-screenshot', '~> 1.0.11')
|
33
34
|
s.add_development_dependency('selenium-webdriver', '~> 2.51.0')
|
35
|
+
s.add_development_dependency('phantomjs', '>= 2.1.1')
|
34
36
|
|
35
37
|
# Required by the test app.
|
36
38
|
s.add_development_dependency('haml', '~> 5.0.4')
|
37
39
|
s.add_development_dependency('coderay', '~> 1.1.0')
|
38
|
-
s.add_development_dependency('jquery-rails', '~> 4.
|
39
|
-
s.add_development_dependency('jquery-ui-rails', '~>
|
40
|
+
s.add_development_dependency('jquery-rails', '~> 4.4.0')
|
41
|
+
s.add_development_dependency('jquery-ui-rails', '~> 7.0.0')
|
40
42
|
s.add_development_dependency('jquery-ui-themes', '~> 0.0.11')
|
41
43
|
s.add_development_dependency('sass-rails', '>= 3.2')
|
42
|
-
s.add_development_dependency('bootstrap-sass', '3.
|
44
|
+
s.add_development_dependency('bootstrap-sass', '3.4.1')
|
43
45
|
s.add_development_dependency('font-awesome-sass', '4.4.0')
|
44
46
|
s.add_development_dependency('turbolinks', '~> 5.1.1')
|
45
47
|
s.add_development_dependency('therubyracer')
|
46
48
|
|
47
|
-
s.add_development_dependency('bundler'
|
49
|
+
s.add_development_dependency('bundler')
|
48
50
|
s.add_development_dependency('simplecov', '~> 0.7')
|
49
51
|
s.add_development_dependency('sqlite3', '~> 1.3')
|
50
52
|
|