recordselect 3.4.6 → 3.4.7

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: 61ed5f94df9988d9156d578db8279576d40cd8e2
4
- data.tar.gz: 50fa99fb54333d223443234acf6ddf30f20c5e7b
3
+ metadata.gz: ed771a7ed354634ca037874a20894a164598f61d
4
+ data.tar.gz: a9d52d7bf8a39ae8cd3a93e30836779654c1a01c
5
5
  SHA512:
6
- metadata.gz: 550f64661ae50a460fe73ac40e2bea233ac6874de26d8e566d8facb458949d4ccd9f689b6f3ad12583cd47f61097b66c53e6ae75850c4b8ac39276460a9eafd1
7
- data.tar.gz: 0b02d8630a4af53a0f7ba9b4cf6561fdf58a1e110930562e796d1af2346442a3ff3756db2d5256fb510f5f534536ab6bf058848d1d3d468562aed1c3d721b30f
6
+ metadata.gz: 3736a19d08e171c73916650ea0d0db6e0bc6df246d4f5829dff13748ea5842208a9090f7da9082b8ec67050541fd7aef56492775563a6ebc78f12369bef3ff7e
7
+ data.tar.gz: aae171c3ad9c9d491ccb2d9f04061860f3bccfd9a7f94fe4da77e99115aea5466f5bb5c077d62521f0dad7624f20e0185cc14479a401e8561d81ed561ae233ac
@@ -4,20 +4,20 @@ if (typeof(Class) === 'undefined') {
4
4
  */
5
5
  (function(){
6
6
  var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/;
7
-
7
+
8
8
  // The base Class implementation (does nothing)
9
9
  this.Class = function(){};
10
-
10
+
11
11
  // Create a new Class that inherits from this class
12
12
  Class.extend = function(prop) {
13
13
  var _super = this.prototype;
14
-
14
+
15
15
  // Instantiate a base class (but only create the instance,
16
16
  // don't run the init constructor)
17
17
  initializing = true;
18
18
  var prototype = new this();
19
19
  initializing = false;
20
-
20
+
21
21
  // Copy the properties over onto the new prototype
22
22
  for (var name in prop) {
23
23
  // Check if we're overwriting an existing function
@@ -26,38 +26,38 @@ if (typeof(Class) === 'undefined') {
26
26
  (function(name, fn){
27
27
  return function() {
28
28
  var tmp = this._super;
29
-
29
+
30
30
  // Add a new ._super() method that is the same method
31
31
  // but on the super-class
32
32
  this._super = _super[name];
33
-
33
+
34
34
  // The method only need to be bound temporarily, so we
35
35
  // remove it when we're done executing
36
- var ret = fn.apply(this, arguments);
36
+ var ret = fn.apply(this, arguments);
37
37
  this._super = tmp;
38
-
38
+
39
39
  return ret;
40
40
  };
41
41
  })(name, prop[name]) :
42
42
  prop[name];
43
43
  }
44
-
44
+
45
45
  // The dummy class constructor
46
46
  function Class() {
47
47
  // All construction is actually done in the init method
48
48
  if ( !initializing && this.init )
49
49
  this.init.apply(this, arguments);
50
50
  }
51
-
51
+
52
52
  // Populate our constructed prototype object
53
53
  Class.prototype = prototype;
54
-
54
+
55
55
  // Enforce the constructor to be what we expect
56
56
  Class.constructor = Class;
57
-
57
+
58
58
  // And make this class extendable
59
59
  Class.extend = arguments.callee;
60
-
60
+
61
61
  return Class;
62
62
  };
63
63
  })();
@@ -66,9 +66,9 @@ if (typeof(Class) === 'undefined') {
66
66
  /*
67
67
  jQuery delayed observer
68
68
  (c) 2007 - Maxime Haineault (max@centdessin.com)
69
-
69
+
70
70
  Special thanks to Stephen Goguen & Tane Piper.
71
-
71
+
72
72
  Slight modifications by Elliot Winkler
73
73
  */
74
74
 
@@ -116,13 +116,12 @@ var RecordSelect = new Object();
116
116
  RecordSelect.document_loaded = false;
117
117
 
118
118
  RecordSelect.select_item = function(item) {
119
- var rs = item.closest('.record-select-handler');
120
- var onselect = rs.get(0).onselect || rs.attr('onselect');
121
- if (typeof onselect != 'function') onselect = eval(onselect);
122
- if (onselect) {
119
+ var rs = item.closest('.record-select-handler').data('recordselect');
120
+ if (rs) {
123
121
  try {
124
122
  var label = item.find('label').first().text().trim(), text = item.text().trim();
125
- onselect(item.attr('id').substr(2), label || text, text, item);
123
+ rs.obj.focus();
124
+ rs.onselect(item.attr('id').substr(2), label || text, text, item);
126
125
  } catch(e) {
127
126
  alert(e);
128
127
  }
@@ -215,7 +214,7 @@ RecordSelect.Abstract = Class.extend({
215
214
  var offset = this.obj.offset(), scroll = jQuery(window).scrollTop(), window_height = jQuery(window).height();
216
215
  if (this.fixed) offset.top -= scroll; // get fixed position
217
216
  var top = this.obj.outerHeight() + offset.top, document_height = jQuery(document).height();
218
-
217
+
219
218
  this.container.show();
220
219
  var height = this.container.outerHeight();
221
220
  this.container.css('left', offset.left);
@@ -285,6 +284,7 @@ RecordSelect.Abstract = Class.extend({
285
284
  create_container: function() {
286
285
  var e = jQuery("<div />", {'class': "record-select-container record-select-handler"}), rs = this;
287
286
  e.css('display', 'none');
287
+ e.data('recordselect', rs);
288
288
  jQuery(this.obj).add(this.obj.parents()).each(function() {
289
289
  if (jQuery(this).css('position') == 'fixed') {
290
290
  rs.fixed = jQuery(this);
@@ -297,7 +297,7 @@ RecordSelect.Abstract = Class.extend({
297
297
  e.get(0).onselect = jQuery.proxy(this, "onselect")
298
298
  return e;
299
299
  },
300
-
300
+
301
301
  onkeyup: function(event) {
302
302
  if (!this.is_open()) return;
303
303
  this.container.find('.text-input').val(this.obj.val()).trigger(event);
@@ -418,6 +418,7 @@ RecordSelect.Single = RecordSelect.Abstract.extend({
418
418
  this.container.submit(function() {
419
419
  rs.hidden_input.val('');
420
420
  rs.obj.removeClass('selected');
421
+ rs.obj.trigger('recordselect:unset', [rs]);
421
422
  });
422
423
 
423
424
  // create the hidden input
@@ -447,7 +448,7 @@ RecordSelect.Single = RecordSelect.Abstract.extend({
447
448
  */
448
449
  set: function(id, label) {
449
450
  // unescaped html missing for label
450
- this.obj.val(label);
451
+ this.obj.val(label);
451
452
  this.hidden_input.val(id);
452
453
  this.obj.addClass('selected');
453
454
  }
@@ -490,7 +491,7 @@ RecordSelect.Autocomplete = RecordSelect.Abstract.extend({
490
491
  */
491
492
  set: function(label) {
492
493
  // unescaped html missing for label
493
- this.obj.val(label);
494
+ this.obj.val(label);
494
495
  }
495
496
  });
496
497
 
@@ -516,7 +517,7 @@ RecordSelect.Multiple = RecordSelect.Abstract.extend({
516
517
 
517
518
  // initialize the list
518
519
  for(var i = 0, length = this.options.current.length; i < length; i++) {
519
- this.add(this.options.current[i].id, this.options.current[i].label);
520
+ this.add(this.options.current[i].id, this.options.current[i].label);
520
521
  }
521
522
 
522
523
  this._respond_to_text_field(this.obj);
@@ -2,7 +2,7 @@ module RecordSelect
2
2
  module Version
3
3
  MAJOR = 3
4
4
  MINOR = 4
5
- PATCH = 6
5
+ PATCH = 7
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: 3.4.6
4
+ version: 3.4.7
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: 2015-07-23 00:00:00.000000000 Z
13
+ date: 2015-07-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: shoulda