grid_table 1.4.1 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -0
- data/lib/grid_table/control.rb +5 -1
- data/lib/grid_table/table.rb +5 -0
- data/lib/grid_table/version.rb +1 -1
- data/vendor/assets/javascripts/gridtable.js +31 -32
- 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: 1b27c4be55d74d0ccf12bd427010198b701bdca0
|
4
|
+
data.tar.gz: 8e36d295b387aabfde419f540831d6ffc9bcac17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4aeac716e13fd0351d22ef03e0513b38c93441ab804456f3d899ae0e2452fa564ad7202835d0b5bdb05cca0af2c1cf7dd534eb3cac747c286dbc346d969f2d0e
|
7
|
+
data.tar.gz: fbf43395823247b8ac48b06d44619ff8d952f284c19a8be0c3e570d14ebf8c1644f4547cf47a310ce2e4fcc5c2b7d986c7e42c301e668d36e812663ed6c3f27c
|
data/.rubocop.yml
CHANGED
data/lib/grid_table/control.rb
CHANGED
@@ -70,10 +70,14 @@ class GridTable::Control
|
|
70
70
|
records
|
71
71
|
end
|
72
72
|
else
|
73
|
-
prepared_records(records).order("#{
|
73
|
+
prepared_records(records).order("#{column} #{sort_order}")
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
77
|
+
def select
|
78
|
+
"#{table_with_column} as #{column}"
|
79
|
+
end
|
80
|
+
|
77
81
|
def url_param
|
78
82
|
@attribute
|
79
83
|
end
|
data/lib/grid_table/table.rb
CHANGED
@@ -25,6 +25,7 @@ class GridTable::Table
|
|
25
25
|
@params = params.to_h.with_indifferent_access
|
26
26
|
@records = resource
|
27
27
|
|
28
|
+
select
|
28
29
|
filter! unless params[:skip_filtering]
|
29
30
|
@total_rows = @records.length
|
30
31
|
sort! unless params[:skip_sorting]
|
@@ -61,6 +62,10 @@ class GridTable::Table
|
|
61
62
|
end
|
62
63
|
end
|
63
64
|
|
65
|
+
def select
|
66
|
+
@records = @records.select(@controls.map(&:select).join(','))
|
67
|
+
end
|
68
|
+
|
64
69
|
def sort!
|
65
70
|
control = GridTable::Control.find_by_param(@params[:sort], @controls)
|
66
71
|
|
data/lib/grid_table/version.rb
CHANGED
@@ -80,13 +80,9 @@ GridTable = (function() {
|
|
80
80
|
};
|
81
81
|
|
82
82
|
GridTable.prototype.gridTableParams = null;
|
83
|
-
|
84
83
|
GridTable.prototype.gridTableDOM = null;
|
85
|
-
|
86
84
|
GridTable.prototype.loadDataCompleteCallback = null;
|
87
|
-
|
88
85
|
GridTable.prototype.loadDataStartCallback = null;
|
89
|
-
|
90
86
|
GridTable.prototype.loadDataErrorCallback = null;
|
91
87
|
|
92
88
|
function GridTable(params) {
|
@@ -139,22 +135,28 @@ GridTable = (function() {
|
|
139
135
|
});
|
140
136
|
};
|
141
137
|
})(this));
|
142
|
-
this.gridTableDOM.find('
|
138
|
+
this.gridTableDOM.find('#pagesize, .pagesize').each((function(_this) {
|
143
139
|
return function(index, elem) {
|
144
140
|
var pageSizeSelect, size, _i, _len, _ref;
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
141
|
+
|
142
|
+
pageSizeSelect = $(elem).find(".page-size-select");
|
143
|
+
|
144
|
+
if (pageSizeSelect == null) {
|
145
|
+
pageSizeSelect = '<select class="page-size-select">';
|
146
|
+
_ref = _this.gridTableParams.pageSizeOptions;
|
147
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
148
|
+
size = _ref[_i];
|
149
|
+
if (size === _this.gridTableParams.pageSize) {
|
150
|
+
pageSizeSelect += "<option selected value=\"" + size + "\">" + size + "</option>";
|
151
|
+
} else {
|
152
|
+
pageSizeSelect += "<option value=\"" + size + "\">" + size + "</option>";
|
153
|
+
}
|
153
154
|
}
|
155
|
+
pageSizeSelect += '</select>';
|
156
|
+
$(elem).append(pageSizeSelect);
|
154
157
|
}
|
155
|
-
|
156
|
-
$(elem).
|
157
|
-
return $(elem).find('#page-size-select').on("change", function(event) {
|
158
|
+
|
159
|
+
return $(elem).find('.page-size-select').on("change", function(event) {
|
158
160
|
return _this.setPageSize($(event.currentTarget).val());
|
159
161
|
});
|
160
162
|
};
|
@@ -234,8 +236,10 @@ GridTable = (function() {
|
|
234
236
|
};
|
235
237
|
|
236
238
|
GridTable.prototype.loadData = function(params) {
|
237
|
-
|
238
|
-
|
239
|
+
var page_display = this.gridTableDOM.find('#pagedisplay, .pagedisplay');
|
240
|
+
|
241
|
+
if (page_display.data('initial-page') != null) {
|
242
|
+
this.gridTableParams.page = page_display.data('initial-page');
|
239
243
|
}
|
240
244
|
if (params == null) {
|
241
245
|
params = {};
|
@@ -285,8 +289,10 @@ GridTable = (function() {
|
|
285
289
|
};
|
286
290
|
|
287
291
|
GridTable.prototype.clearInitialValues = function() {
|
288
|
-
|
289
|
-
|
292
|
+
var page_display = this.gridTableDOM.find('#pagedisplay, .pagedisplay');
|
293
|
+
|
294
|
+
page_display.data('initial-page', null);
|
295
|
+
page_display.data('initial-id', null);
|
290
296
|
}
|
291
297
|
|
292
298
|
GridTable.prototype.exportData = function() {
|
@@ -303,11 +309,11 @@ GridTable = (function() {
|
|
303
309
|
GridTable.prototype.updatePagerDisplay = function(total_rows) {
|
304
310
|
var back_enabled, display, first, forward_enabled, last, last_page, next, pager, previous;
|
305
311
|
pager = this.gridTableDOM.find('.grid-pager');
|
306
|
-
first = $(pager).find('#first');
|
307
|
-
previous = $(pager).find('#previous');
|
308
|
-
next = $(pager).find('#next');
|
309
|
-
last = $(pager).find('#last');
|
310
|
-
display = $(pager).find('#pagedisplay');
|
312
|
+
first = $(pager).find('#first, .first');
|
313
|
+
previous = $(pager).find('#previous, .previous');
|
314
|
+
next = $(pager).find('#next, .next');
|
315
|
+
last = $(pager).find('#last, .last');
|
316
|
+
display = $(pager).find('#pagedisplay, .pagedisplay');
|
311
317
|
$(first).off('click');
|
312
318
|
$(previous).off('click');
|
313
319
|
$(next).off('click');
|
@@ -389,19 +395,12 @@ GridTable = (function() {
|
|
389
395
|
|
390
396
|
GridTableParams = (function() {
|
391
397
|
GridTableParams.prototype.id = null;
|
392
|
-
|
393
398
|
GridTableParams.prototype.url = null;
|
394
|
-
|
395
399
|
GridTableParams.prototype.sortCol = '';
|
396
|
-
|
397
400
|
GridTableParams.prototype.sortOrder = '';
|
398
|
-
|
399
401
|
GridTableParams.prototype.filter = {};
|
400
|
-
|
401
402
|
GridTableParams.prototype.page = 0;
|
402
|
-
|
403
403
|
GridTableParams.prototype.pageSize = 10;
|
404
|
-
|
405
404
|
GridTableParams.prototype.pageSizeOptions = [5, 10, 25, 50, 100, 200];
|
406
405
|
|
407
406
|
function GridTableParams(params) {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grid_table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Principe
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-08-
|
12
|
+
date: 2017-08-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|