recordselect 4.0.8 → 4.0.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 159afd01709d823431ab38a2c8a635b945f7d24f8d38cf3c3041954b91f1432e
4
- data.tar.gz: 2b61a51b4d677ae3de6f0803bfb0cff16121f7133816aa7436b6e85dfb6cc265
3
+ metadata.gz: ad5ff16bdba67f9ee878ebc4ab197160edc20313a942d21f5958efdca00db60a
4
+ data.tar.gz: 6fcf9011ca1320563f9fc4ffa460e58919b4acad0d48b14a755c02aaf9be8836
5
5
  SHA512:
6
- metadata.gz: f3316e63565fc58f18f60db38ba45db2ecc28f5dd03d9a42e971e9efb7b9f70e372722454abc117c7fc6d82385b925237d21d0f1fb61d456b9efa51f2bd1b810
7
- data.tar.gz: bda35a62f1cf7cf7e5744cdb8bd3d95b0649bec21b298e1685bdfeb2f263a7a39606e28f9cd9bdcc696b63f508dbb03d610774bab511ba6c5bc689a72e1b3f0b
6
+ metadata.gz: 68240c55ece6cb4e4d0d8a7e4efb1d5101550dbaef3218917b00d2f2bb33399c94d5415ddf4cf3749fae1d14b9c4d916b4a90fc7383fd0678f78f9a57b446963
7
+ data.tar.gz: 6877cd0d6c398267753622494c86c5bd948fb55a53c5bbe5ddf0385d3eeec8979340f81233be971407414910edd81989e619dc4243291f05e85d9808fde9df5f
@@ -155,7 +155,7 @@
155
155
  else $clear_button.removeClass('enabled');
156
156
  });
157
157
  jQuery(document).on('ajax:beforeSend', 'a.rs-mode', function() {
158
- $(this).closest('.record-select').find('form input[name="rs_mode"]').val($(this).data('value'));
158
+ jQuery(this).closest('.record-select').find('form input[name="rs_mode"]').val(jQuery(this).data('value'));
159
159
  });
160
160
  });
161
161
 
@@ -164,7 +164,8 @@
164
164
 
165
165
  RecordSelect.from_attributes = function(item) {
166
166
  if (item.prop('disabled')) return;
167
- var rs_class = RecordSelect[item.data('rs-type')];
167
+ var rs_class = RecordSelect[item.attr('data-rs-type')];
168
+ item.removeAttr('data-rs-type'); // prevent double initialization
168
169
  new rs_class(item.data('rs-id') || item, item.data('rs-url'), item.data('rs-options'));
169
170
  }
170
171
 
@@ -291,7 +292,7 @@
291
292
  this.container.css('left', offset.left);
292
293
  this.container.css('top', '');
293
294
  this.container.css('bottom', '');
294
- if (this.above || (this.fixed || this.body_static) && top + height > window_height) {
295
+ if (this.above || this.fixed && top + height > window_height) {
295
296
  this.container.css('bottom', window_height - offset.top);
296
297
  } else {
297
298
  var below_space = window_height-(top-scroll), above_space = offset.top - scroll, position;
@@ -301,34 +302,18 @@
301
302
  } else position = 'top';
302
303
  if (position == 'top') this.container.css('top', top);
303
304
  else {
304
- var bottom = document_height - offset.top, body_height = $(document.body).height();
305
+ var bottom = document_height - offset.top,
306
+ body_height = this.body_static ? window_height : jQuery(document.body).height();
305
307
  if (body_height < document_height) bottom -= document_height - body_height;
306
308
  this.container.css('bottom', bottom);
307
309
  }
308
310
  }
309
-
310
- if (this._use_iframe_mask()) {
311
- this.container.after('<iframe src="javascript:false;" class="record-select-mask" />');
312
- var mask = this.container.next('iframe');
313
- mask.css('left', this.container.css('left'))
314
- .css('top', this.container.css('top'));
315
- }
316
-
317
- if (this._use_iframe_mask()) {
318
- var dimensions = this.container.children().first();
319
- mask.css('width', dimensions.css('width'))
320
- .css('height', dimensions.css('height'));
321
- }
322
311
  },
323
312
 
324
313
  /**
325
314
  * closes the recordselect by emptying the container
326
315
  */
327
316
  close: function() {
328
- if (this._use_iframe_mask()) {
329
- this.container.next('iframe').remove();
330
- }
331
-
332
317
  this.container.hide();
333
318
  // hopefully by using remove() instead of innerHTML we won't leak memory
334
319
  this.container.children().remove();
@@ -420,10 +405,6 @@
420
405
  if (this.onkeydown) {
421
406
  text_field.keydown(jQuery.proxy(this, "onkeydown"));
422
407
  }
423
- },
424
-
425
- _use_iframe_mask: function() {
426
- return this.container.insertAdjacentHTML ? true : false;
427
408
  }
428
409
  });
429
410
 
@@ -191,6 +191,9 @@ iframe.record-select-mask {
191
191
  }
192
192
 
193
193
  @supports (position-anchor: --recordselect) {
194
+ *:has(> .recordselect) {
195
+ anchor-scope: --recordselect;
196
+ }
194
197
  .recordselect {
195
198
  &:has(~ .clear-input-button) {
196
199
  anchor-name: --recordselect;
@@ -2,7 +2,7 @@ module RecordSelect
2
2
  module Version
3
3
  MAJOR = 4
4
4
  MINOR = 0
5
- PATCH = 8
5
+ PATCH = 10
6
6
 
7
7
  STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recordselect
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.8
4
+ version: 4.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergio Cambra
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2025-09-26 00:00:00.000000000 Z
13
+ date: 2026-02-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler