grid_table 1.5.4 → 1.6.0

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: 3db63ea52315902a6b208cb2549bc93b62d84529
4
- data.tar.gz: 4ae3da6442339360d9d094353801e585c464b076
3
+ metadata.gz: cdb45bba0073b01501c1f11a0bfb8cf691ca28d9
4
+ data.tar.gz: b6d457e8acf036318b04ff03670ecf762af9ad0f
5
5
  SHA512:
6
- metadata.gz: cf98a1f985d6f66787bf5a2f932afe3d2c6caeb8f578e7681de1b9f9bd7ea1db24c0199b9d4dc518ff1de23f17822bec1a6a9c8b3764fa3648dc846d4fe3fe3a
7
- data.tar.gz: 865c7f40a8f90d9b85e53fb58b7b803cddbe14d7ebac391757762fa5859a3089a6968ae4252ed441f812f2cb7dc1374c5f88380953d8b609d1c576ccb7bab105
6
+ metadata.gz: ed16f61616434ed4b73e041b1f70531757a381b0dfc3ac506a2cc13630ce3f571dce1edd8b08e4aee0c1e7ad327fdb55b7f507301ca6b766a27b667124140681
7
+ data.tar.gz: 0be8b3ee3acc620e115e5e117401fcfcaab0c74c86bcbf8041994bbff4a2041483dd8299683b4d8f224908a3c25c9674884d0b1efb5eed909770f9230b57b075
@@ -1,3 +1,3 @@
1
1
  module GridTable
2
- VERSION = '1.5.4'.freeze
2
+ VERSION = '1.6.0'.freeze
3
3
  end
@@ -123,20 +123,42 @@ GridTable = (function() {
123
123
  });
124
124
  };
125
125
  })(this));
126
- this.gridTableDOM.find('select.row-filter').each((function(_this) {
126
+
127
+ var dataFilterSelector = "[data-grid-table-id='" + this.gridTableParams.getId() + "'][data-filter]";
128
+ $("select" + dataFilterSelector).each((function (_this) {
127
129
  return function(index, filter) {
130
+ _this.gridTableParams.setFilter($(filter).data('field'), $(filter).val());
128
131
  return $(filter).on("change", function(event) {
129
132
  _this.gridTableParams.setFilter($(filter).data('field'), $(filter).val());
130
133
  return _this.loadData();
131
134
  });
132
135
  };
133
136
  })(this));
134
- this.gridTableDOM.find('input.row-filter').each((function(_this) {
137
+
138
+ // find non-selectable inputs
139
+ $("input:not([type=radio], [type=checkbox])" + dataFilterSelector).each((function (_this) {
140
+ return function (index, filter) {
141
+ var timeout;
142
+ timeout = null;
143
+ return $(filter).on("propertychange keyup input paste", function (event) {
144
+ clearTimeout(timeout);
145
+ return timeout = setTimeout((function () {
146
+ _this.gridTableParams.setFilter($(filter).data('field'), $(filter).val());
147
+ return _this.loadData();
148
+ }), 500);
149
+ });
150
+ };
151
+ })(this));
152
+
153
+ $("input:radio" + dataFilterSelector + ",input:checkbox" + dataFilterSelector).each((function (_this) {
135
154
  return function(index, filter) {
136
155
  var timeout;
137
- _this.gridTableParams.setFilter($(filter).data('field'), $(filter).val());
156
+ // only setFilter for radio && checkbox inputs if they are also checked
157
+ if (filter.checked) {
158
+ _this.gridTableParams.setFilter($(filter).data('field'), $(filter).val());
159
+ }
138
160
  timeout = null;
139
- return $(filter).on("propertychange keyup input paste", function(event) {
161
+ return $(filter).on("change", function(event) {
140
162
  clearTimeout(timeout);
141
163
  return timeout = setTimeout((function() {
142
164
  _this.gridTableParams.setFilter($(filter).data('field'), $(filter).val());
@@ -145,6 +167,7 @@ GridTable = (function() {
145
167
  });
146
168
  };
147
169
  })(this));
170
+
148
171
  this.gridTableDOM.find('#pagesize, .pagesize').each((function(_this) {
149
172
  return function(index, elem) {
150
173
  var pageSizeSelect, size, _i, _len, _ref;
@@ -190,6 +213,10 @@ GridTable = (function() {
190
213
  return this.gridTableParams.setId(id);
191
214
  };
192
215
 
216
+ GridTable.prototype.getId = function () {
217
+ return this.gridTableParams.getId();
218
+ };
219
+
193
220
  GridTable.prototype.setUrl = function(url) {
194
221
  return this.gridTableParams.setUrl(url);
195
222
  };
@@ -487,6 +514,10 @@ GridTable = (function() {
487
514
  return this.id = id;
488
515
  };
489
516
 
517
+ GridTableParams.prototype.getId = function () {
518
+ return this.id;
519
+ };
520
+
490
521
  GridTableParams.prototype.setUrl = function(url) {
491
522
  return this.url = url;
492
523
  };
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.5.4
4
+ version: 1.6.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-09-28 00:00:00.000000000 Z
12
+ date: 2017-10-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler