assoc_whisperer 1.1.0 → 1.1.1

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: 560ba60c23716d32676b7fad089a78bb3564acce
4
- data.tar.gz: 56bf2e3a493c9e96bca65ea408dc5f515d97a590
3
+ metadata.gz: b2960496ba2056b1cbdaa67fa844d589f6d99e16
4
+ data.tar.gz: 974d3d0c13f0076d4a9999939b2f174179e6dfea
5
5
  SHA512:
6
- metadata.gz: e79e15a365f8db2031de3ed1d3daf7b8a68477be0e5daa039739be214b16172e8a90f0de9356255ff5dc9b416ab5f09d7a8b7f85a7968da911d93756da46c2a5
7
- data.tar.gz: 8a89817479453e08c83062b5506199fbaf160317fcab33f22b0d1cf68e319a3191ce7c6369e46d24e4f2d69f4e0713588bc07b23e05f4854b059b15dbb6eeefe
6
+ metadata.gz: 8bd9f8f5160f64f80771260787bc1d6c8cc29bf75f534ddd42401a035a60b6b2979194cb70af5f517938b4e83066fd942e8c3cc212e0c45b989b7d4c00a0f7ad
7
+ data.tar.gz: d041b0693d85f550207a0ee1a9ffc48e7ce7e5206a5471831477c1ed25b4e572a9bfb45b34f5fbb914497162d6239d817ec8abe6fff0265bf2a86e5463f54a92
@@ -60,13 +60,13 @@ document.AssocWhisperer = (function () {
60
60
  }
61
61
  _timer = setTimeout(function () {
62
62
  if (w.client_side) {
63
- if (!w.full_data) querry.call(w, null, function (html_text) {
63
+ if (!w.full_data) query(w, null, function (html_text) {
64
64
  w.full_data = $(html_text);
65
- digest(input_text);
65
+ showList(digest(input_text));
66
66
  });
67
- else digest(input_text);
67
+ else showList(digest(input_text));
68
68
  }
69
- else querry.call(w, input_text, function (html_text) {
69
+ else query(w, input_text, function (html_text) {
70
70
  showList($(html_text));
71
71
  });
72
72
  }, 700);
@@ -76,31 +76,29 @@ document.AssocWhisperer = (function () {
76
76
  _nodes.text_field.focus(function(){ w.focused = true; });
77
77
  _nodes.text_field.blur(function(){ onBlur(); });
78
78
  el.children('.dropdown_button').on('click', function(){
79
+ var f;
79
80
  if (_timer) clearTimeout(_timer);
80
81
  if (w.client_side) {
81
- function f () {
82
+ f = function () {
82
83
  var input_text;
83
84
  if (w.filled) showList(w.full_data);
84
85
  else {
85
86
  input_text = _nodes['text_field'].val();
86
- digest(input_text==='' ? null : input_text);
87
+ showList(digest(input_text==='' ? null : input_text));
87
88
  }
88
89
  _nodes['list'].focus();
89
- }
90
- if (!w.full_data) querry.call(w, null, function (html_text) {
90
+ };
91
+ if (!w.full_data) query(w, null, function (html_text) {
91
92
  w.full_data = $(html_text);
92
93
  f();
93
94
  });
94
95
  else f();
95
96
  }
96
97
  else {
97
- if (w.filled) querry.call(w, null, function (html_text) {
98
- showList($(html_text));
99
- });
100
- else querry.call(w, _nodes['text_field'].val(), function (html_text) {
98
+ query(w, (w.filled ? null : _nodes['text_field'].val()), function (html_text) {
101
99
  showList($(html_text));
100
+ _nodes['list'].focus();
102
101
  });
103
- _nodes['list'].focus();
104
102
  }
105
103
  });
106
104
 
@@ -115,7 +113,7 @@ document.AssocWhisperer = (function () {
115
113
  narrowed_list.append($(this).clone());
116
114
  });
117
115
  }
118
- showList(narrowed_list);
116
+ return narrowed_list;
119
117
  }
120
118
 
121
119
  // Attaches a List sent by html string within Whisperer's tag. Positions it underneath the text field.
@@ -176,16 +174,21 @@ document.AssocWhisperer = (function () {
176
174
  });
177
175
 
178
176
  // Actual ajax request for given input
179
- function querry (input, on_success) {
180
- var w = this;
181
- klass.querrying = true;
177
+ function query (w, input, on_success) {
178
+ var btn;
179
+ klass.querying = true;
180
+ btn = w.nodes['base'].find('.dropdown_button');
181
+ btn.addClass('querying');
182
182
  $.ajax(w.url, {
183
183
  type: 'GET',
184
184
  dataType: 'html',
185
185
  data: {data_action: w.action, input: (input||'')},
186
186
  error: function () { w.removeList(); },
187
187
  success: on_success,
188
- complete: function () { klass.querrying = false; }
188
+ complete: function () {
189
+ klass.querying = false;
190
+ btn.removeClass('querying');
191
+ }
189
192
  }
190
193
  );
191
194
  }
@@ -195,7 +198,7 @@ document.AssocWhisperer = (function () {
195
198
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
196
199
 
197
200
 
198
- klass = Object.create(Object, {querrying: {value: false, writable: true}});
201
+ klass = Object.create(Object, {querying: {value: false, writable: true}});
199
202
 
200
203
  // Return a Whisperer instance by its data-action attribute.
201
204
  function findWhisperer(action) {
@@ -219,7 +222,7 @@ document.AssocWhisperer = (function () {
219
222
  value: function (text, whisp_action) {
220
223
  var w;
221
224
  w = findWhisperer(whisp_action);
222
- querry.call(w, text, function (html_text) {
225
+ query(w, text, function (html_text) {
223
226
  w.select($(html_text).find('div:contains("'+text+'")'));
224
227
  });
225
228
  }
@@ -231,7 +234,7 @@ document.AssocWhisperer = (function () {
231
234
  value: function (value, whisp_action) {
232
235
  var w;
233
236
  w = findWhisperer(whisp_action);
234
- querry.call(w, null, function (html_text) {
237
+ query(w, null, function (html_text) {
235
238
  switch (value) {
236
239
  case '#1':
237
240
  w.select($(html_text).find('div:first'));
@@ -24,6 +24,12 @@
24
24
  user-select: none;
25
25
  cursor: default;
26
26
  }
27
+ .assoc_whisperer .querying {
28
+ background-image: url("assoc_whisp_querying.gif");
29
+ background-size: contain;
30
+ background-repeat: no-repeat;
31
+ color: rgba(0, 0, 0, 0);
32
+ }
27
33
  .assoc_whisperer .list {
28
34
  max-height: 300px;
29
35
  overflow-y: scroll;
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
  module AssocWhisperer
3
- VERSION = "1.1.0"
3
+ VERSION = "1.1.1"
4
4
 
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assoc_whisperer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ondřej Želazko
@@ -51,6 +51,7 @@ files:
51
51
  - LICENSE.txt
52
52
  - README.md
53
53
  - Rakefile
54
+ - app/assets/images/assoc_whisp_querying.gif
54
55
  - app/assets/javascripts/assoc_whisp.js
55
56
  - app/assets/stylesheets/assoc_whisp_example.css
56
57
  - app/helpers/action_view/helpers/assoc_whisperer_helper.rb