jquery-atwho-rails 1.0.0 → 1.0.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: 8723ae2faf74face9b30217da13375599c07e356
4
- data.tar.gz: d09120373203aa60c0890a54609e7e2ee3c2ab90
3
+ metadata.gz: 726bba9a4b37da246176b51d74f556349d9dd42f
4
+ data.tar.gz: 6bc804d4df04719726219ac5892711c26a07cf4d
5
5
  SHA512:
6
- metadata.gz: d5671715767c8855c2041d6b16945fa33c646c68be621b38c4bf1c46c4399927f4fdfc5df0127bef4a834de201b6ccf10f337b283479b7d1df0b6aef9e285e22
7
- data.tar.gz: 23add44ccf0d512670d16f7e101aeb10aaa0a2389957143ce22701505d46d48dad5273b9b52a86b2625252c10293af6da196972f3945cc4ca2713df46213e84d
6
+ metadata.gz: 40bbe73676becc9c1d442e2625861af9a0743cd6a16e7cb54458de81a6ad3205b14e9646ceefcd8ac77d42ada47f28d38b0f8b4e06bbdf5a70d6e0727d52756a
7
+ data.tar.gz: a22a4418a9536ef532cc5d60c9420fbb3c3e12198ab203824b028677f798f8e82304dc5fe2a8f45f94ef81415d263456abd6f3e79fb345f77e98534b9b954718
@@ -1,4 +1,4 @@
1
- /*! jquery.atwho - v1.0.0 %>
1
+ /*! jquery.atwho - v1.0.1 %>
2
2
  * Copyright (c) 2015 chord.luo <chord.luo@gmail.com>;
3
3
  * homepage: http://ichord.github.com/At.js
4
4
  * Licensed MIT
@@ -327,6 +327,25 @@ Controller = (function() {
327
327
  return this.view.render(data.slice(0, this.getOpt('limit')));
328
328
  };
329
329
 
330
+ Controller.arrayToDefaultHash = function(data) {
331
+ var item, _i, _len, _results;
332
+ if (!$.isArray(data)) {
333
+ return data;
334
+ }
335
+ _results = [];
336
+ for (_i = 0, _len = data.length; _i < _len; _i++) {
337
+ item = data[_i];
338
+ if ($.isPlainObject(item)) {
339
+ _results.push(item);
340
+ } else {
341
+ _results.push({
342
+ name: item
343
+ });
344
+ }
345
+ }
346
+ return _results;
347
+ };
348
+
330
349
  Controller.prototype.lookUp = function(e) {
331
350
  var query, _callback;
332
351
  if (!(query = this.catchQuery(e))) {
@@ -334,7 +353,7 @@ Controller = (function() {
334
353
  }
335
354
  _callback = function(data) {
336
355
  if (data && data.length > 0) {
337
- return this.renderView(data);
356
+ return this.renderView(this.constructor.arrayToDefaultHash(data));
338
357
  } else {
339
358
  return this.view.hide();
340
359
  }
@@ -833,22 +852,7 @@ KEY_CODE = {
833
852
 
834
853
  DEFAULT_CALLBACKS = {
835
854
  beforeSave: function(data) {
836
- var item, _i, _len, _results;
837
- if (!$.isArray(data)) {
838
- return data;
839
- }
840
- _results = [];
841
- for (_i = 0, _len = data.length; _i < _len; _i++) {
842
- item = data[_i];
843
- if ($.isPlainObject(item)) {
844
- _results.push(item);
845
- } else {
846
- _results.push({
847
- name: item
848
- });
849
- }
850
- }
851
- return _results;
855
+ return Controller.arrayToDefaultHash(data);
852
856
  },
853
857
  matcher: function(flag, subtext, should_startWithSpace) {
854
858
  var match, regexp, _a, _y;
@@ -934,7 +938,7 @@ Api = {
934
938
  },
935
939
  isSelecting: function() {
936
940
  var _ref;
937
- return (_ref = this.controller()) != null ? _ref.view.visiable() : void 0;
941
+ return (_ref = this.controller()) != null ? _ref.view.visible() : void 0;
938
942
  },
939
943
  setIframe: function(iframe, asRoot) {
940
944
  this.setupRootElement(iframe, asRoot);
@@ -1,3 +1,19 @@
1
+ (function (root, factory) {
2
+ if (typeof define === 'function' && define.amd) {
3
+ // AMD. Register as an anonymous module.
4
+ define(["jquery"], function ($) {
5
+ return (root.returnExportsGlobal = factory($));
6
+ });
7
+ } else if (typeof exports === 'object') {
8
+ // Node. Does not work with strict CommonJS, but
9
+ // only CommonJS-like enviroments that support module.exports,
10
+ // like Node.
11
+ module.exports = factory(require("jquery"));
12
+ } else {
13
+ factory(jQuery);
14
+ }
15
+ }(this, function ($) {
16
+
1
17
  /*
2
18
  Implement Github like autocomplete mentions
3
19
  http://ichord.github.com/At.js
@@ -6,361 +22,384 @@
6
22
  Licensed under the MIT license.
7
23
  */
8
24
 
9
-
10
25
  /*
11
26
  本插件操作 textarea 或者 input 内的插入符
12
27
  只实现了获得插入符在文本框中的位置,我设置
13
28
  插入符的位置.
14
29
  */
15
30
 
31
+ "use strict";
32
+ var EditableCaret, InputCaret, Mirror, Utils, discoveryIframeOf, methods, oDocument, oFrame, oWindow, pluginName, setContextBy;
16
33
 
17
- (function() {
18
- (function(factory) {
19
- if (typeof define === 'function' && define.amd) {
20
- return define(['jquery'], factory);
21
- } else {
22
- return factory(window.jQuery);
23
- }
24
- })(function($) {
25
- "use strict";
26
- var EditableCaret, InputCaret, Mirror, Utils, discoveryIframeOf, methods, oDocument, oFrame, oWindow, pluginName, setContextBy;
27
- pluginName = 'caret';
28
- EditableCaret = (function() {
29
- function EditableCaret($inputor) {
30
- this.$inputor = $inputor;
31
- this.domInputor = this.$inputor[0];
32
- }
34
+ pluginName = 'caret';
33
35
 
34
- EditableCaret.prototype.setPos = function(pos) {
35
- return this.domInputor;
36
- };
36
+ EditableCaret = (function() {
37
+ function EditableCaret($inputor) {
38
+ this.$inputor = $inputor;
39
+ this.domInputor = this.$inputor[0];
40
+ }
37
41
 
38
- EditableCaret.prototype.getIEPosition = function() {
39
- return this.getPosition();
40
- };
42
+ EditableCaret.prototype.setPos = function(pos) {
43
+ return this.domInputor;
44
+ };
41
45
 
42
- EditableCaret.prototype.getPosition = function() {
43
- var inputor_offset, offset;
44
- offset = this.getOffset();
45
- inputor_offset = this.$inputor.offset();
46
- offset.left -= inputor_offset.left;
47
- offset.top -= inputor_offset.top;
48
- return offset;
49
- };
46
+ EditableCaret.prototype.getIEPosition = function() {
47
+ return this.getPosition();
48
+ };
50
49
 
51
- EditableCaret.prototype.getOldIEPos = function() {
52
- var preCaretTextRange, textRange;
53
- textRange = oDocument.selection.createRange();
54
- preCaretTextRange = oDocument.body.createTextRange();
55
- preCaretTextRange.moveToElementText(this.domInputor);
56
- preCaretTextRange.setEndPoint("EndToEnd", textRange);
57
- return preCaretTextRange.text.length;
58
- };
50
+ EditableCaret.prototype.getPosition = function() {
51
+ var inputor_offset, offset;
52
+ offset = this.getOffset();
53
+ inputor_offset = this.$inputor.offset();
54
+ offset.left -= inputor_offset.left;
55
+ offset.top -= inputor_offset.top;
56
+ return offset;
57
+ };
59
58
 
60
- EditableCaret.prototype.getPos = function() {
61
- var clonedRange, pos, range;
62
- if (range = this.range()) {
63
- clonedRange = range.cloneRange();
64
- clonedRange.selectNodeContents(this.domInputor);
65
- clonedRange.setEnd(range.endContainer, range.endOffset);
66
- pos = clonedRange.toString().length;
67
- clonedRange.detach();
68
- return pos;
69
- } else if (oDocument.selection) {
70
- return this.getOldIEPos();
71
- }
72
- };
59
+ EditableCaret.prototype.getOldIEPos = function() {
60
+ var preCaretTextRange, textRange;
61
+ textRange = oDocument.selection.createRange();
62
+ preCaretTextRange = oDocument.body.createTextRange();
63
+ preCaretTextRange.moveToElementText(this.domInputor);
64
+ preCaretTextRange.setEndPoint("EndToEnd", textRange);
65
+ return preCaretTextRange.text.length;
66
+ };
67
+
68
+ EditableCaret.prototype.getPos = function() {
69
+ var clonedRange, pos, range;
70
+ if (range = this.range()) {
71
+ clonedRange = range.cloneRange();
72
+ clonedRange.selectNodeContents(this.domInputor);
73
+ clonedRange.setEnd(range.endContainer, range.endOffset);
74
+ pos = clonedRange.toString().length;
75
+ clonedRange.detach();
76
+ return pos;
77
+ } else if (oDocument.selection) {
78
+ return this.getOldIEPos();
79
+ }
80
+ };
81
+
82
+ EditableCaret.prototype.getOldIEOffset = function() {
83
+ var range, rect;
84
+ range = oDocument.selection.createRange().duplicate();
85
+ range.moveStart("character", -1);
86
+ rect = range.getBoundingClientRect();
87
+ return {
88
+ height: rect.bottom - rect.top,
89
+ left: rect.left,
90
+ top: rect.top
91
+ };
92
+ };
73
93
 
74
- EditableCaret.prototype.getOldIEOffset = function() {
75
- var range, rect;
76
- range = oDocument.selection.createRange().duplicate();
77
- range.moveStart("character", -1);
78
- rect = range.getBoundingClientRect();
79
- return {
80
- height: rect.bottom - rect.top,
94
+ EditableCaret.prototype.getOffset = function(pos) {
95
+ var clonedRange, offset, range, rect, shadowCaret;
96
+ if (oWindow.getSelection && (range = this.range())) {
97
+ if (range.endOffset - 1 > 0 && range.endContainer === !this.domInputor) {
98
+ clonedRange = range.cloneRange();
99
+ clonedRange.setStart(range.endContainer, range.endOffset - 1);
100
+ clonedRange.setEnd(range.endContainer, range.endOffset);
101
+ rect = clonedRange.getBoundingClientRect();
102
+ offset = {
103
+ height: rect.height,
104
+ left: rect.left + rect.width,
105
+ top: rect.top
106
+ };
107
+ clonedRange.detach();
108
+ }
109
+ if (!offset || (offset != null ? offset.height : void 0) === 0) {
110
+ clonedRange = range.cloneRange();
111
+ shadowCaret = $(oDocument.createTextNode("|"));
112
+ clonedRange.insertNode(shadowCaret[0]);
113
+ clonedRange.selectNode(shadowCaret[0]);
114
+ rect = clonedRange.getBoundingClientRect();
115
+ offset = {
116
+ height: rect.height,
81
117
  left: rect.left,
82
118
  top: rect.top
83
119
  };
84
- };
120
+ shadowCaret.remove();
121
+ clonedRange.detach();
122
+ }
123
+ } else if (oDocument.selection) {
124
+ offset = this.getOldIEOffset();
125
+ }
126
+ if (offset) {
127
+ offset.top += $(oWindow).scrollTop();
128
+ offset.left += $(oWindow).scrollLeft();
129
+ }
130
+ return offset;
131
+ };
85
132
 
86
- EditableCaret.prototype.getOffset = function(pos) {
87
- var clonedRange, offset, range, rect;
88
- if (oWindow.getSelection && (range = this.range())) {
89
- if (range.endOffset - 1 < 0) {
90
- return null;
91
- }
92
- clonedRange = range.cloneRange();
93
- clonedRange.setStart(range.endContainer, range.endOffset - 1);
94
- clonedRange.setEnd(range.endContainer, range.endOffset);
95
- rect = clonedRange.getBoundingClientRect();
96
- offset = {
97
- height: rect.height,
98
- left: rect.left + rect.width,
99
- top: rect.top
100
- };
101
- clonedRange.detach();
102
- } else if (oDocument.selection) {
103
- offset = this.getOldIEOffset();
104
- }
105
- if (offset) {
106
- offset.top += $(oWindow).scrollTop();
107
- offset.left += $(oWindow).scrollLeft();
108
- }
109
- return offset;
110
- };
133
+ EditableCaret.prototype.range = function() {
134
+ var sel;
135
+ if (!oWindow.getSelection) {
136
+ return;
137
+ }
138
+ sel = oWindow.getSelection();
139
+ if (sel.rangeCount > 0) {
140
+ return sel.getRangeAt(0);
141
+ } else {
142
+ return null;
143
+ }
144
+ };
111
145
 
112
- EditableCaret.prototype.range = function() {
113
- var sel;
114
- if (!oWindow.getSelection) {
115
- return;
116
- }
117
- sel = oWindow.getSelection();
118
- if (sel.rangeCount > 0) {
119
- return sel.getRangeAt(0);
120
- } else {
121
- return null;
122
- }
123
- };
146
+ return EditableCaret;
147
+
148
+ })();
124
149
 
125
- return EditableCaret;
150
+ InputCaret = (function() {
151
+ function InputCaret($inputor) {
152
+ this.$inputor = $inputor;
153
+ this.domInputor = this.$inputor[0];
154
+ }
126
155
 
127
- })();
128
- InputCaret = (function() {
129
- function InputCaret($inputor) {
130
- this.$inputor = $inputor;
131
- this.domInputor = this.$inputor[0];
156
+ InputCaret.prototype.getIEPos = function() {
157
+ var endRange, inputor, len, normalizedValue, pos, range, textInputRange;
158
+ inputor = this.domInputor;
159
+ range = oDocument.selection.createRange();
160
+ pos = 0;
161
+ if (range && range.parentElement() === inputor) {
162
+ normalizedValue = inputor.value.replace(/\r\n/g, "\n");
163
+ len = normalizedValue.length;
164
+ textInputRange = inputor.createTextRange();
165
+ textInputRange.moveToBookmark(range.getBookmark());
166
+ endRange = inputor.createTextRange();
167
+ endRange.collapse(false);
168
+ if (textInputRange.compareEndPoints("StartToEnd", endRange) > -1) {
169
+ pos = len;
170
+ } else {
171
+ pos = -textInputRange.moveStart("character", -len);
132
172
  }
173
+ }
174
+ return pos;
175
+ };
133
176
 
134
- InputCaret.prototype.getIEPos = function() {
135
- var endRange, inputor, len, normalizedValue, pos, range, textInputRange;
136
- inputor = this.domInputor;
137
- range = oDocument.selection.createRange();
138
- pos = 0;
139
- if (range && range.parentElement() === inputor) {
140
- normalizedValue = inputor.value.replace(/\r\n/g, "\n");
141
- len = normalizedValue.length;
142
- textInputRange = inputor.createTextRange();
143
- textInputRange.moveToBookmark(range.getBookmark());
144
- endRange = inputor.createTextRange();
145
- endRange.collapse(false);
146
- if (textInputRange.compareEndPoints("StartToEnd", endRange) > -1) {
147
- pos = len;
148
- } else {
149
- pos = -textInputRange.moveStart("character", -len);
150
- }
151
- }
152
- return pos;
153
- };
177
+ InputCaret.prototype.getPos = function() {
178
+ if (oDocument.selection) {
179
+ return this.getIEPos();
180
+ } else {
181
+ return this.domInputor.selectionStart;
182
+ }
183
+ };
154
184
 
155
- InputCaret.prototype.getPos = function() {
156
- if (oDocument.selection) {
157
- return this.getIEPos();
158
- } else {
159
- return this.domInputor.selectionStart;
160
- }
161
- };
185
+ InputCaret.prototype.setPos = function(pos) {
186
+ var inputor, range;
187
+ inputor = this.domInputor;
188
+ if (oDocument.selection) {
189
+ range = inputor.createTextRange();
190
+ range.move("character", pos);
191
+ range.select();
192
+ } else if (inputor.setSelectionRange) {
193
+ inputor.setSelectionRange(pos, pos);
194
+ }
195
+ return inputor;
196
+ };
162
197
 
163
- InputCaret.prototype.setPos = function(pos) {
164
- var inputor, range;
165
- inputor = this.domInputor;
166
- if (oDocument.selection) {
167
- range = inputor.createTextRange();
168
- range.move("character", pos);
169
- range.select();
170
- } else if (inputor.setSelectionRange) {
171
- inputor.setSelectionRange(pos, pos);
172
- }
173
- return inputor;
174
- };
198
+ InputCaret.prototype.getIEOffset = function(pos) {
199
+ var h, textRange, x, y;
200
+ textRange = this.domInputor.createTextRange();
201
+ pos || (pos = this.getPos());
202
+ textRange.move('character', pos);
203
+ x = textRange.boundingLeft;
204
+ y = textRange.boundingTop;
205
+ h = textRange.boundingHeight;
206
+ return {
207
+ left: x,
208
+ top: y,
209
+ height: h
210
+ };
211
+ };
175
212
 
176
- InputCaret.prototype.getIEOffset = function(pos) {
177
- var h, textRange, x, y;
178
- textRange = this.domInputor.createTextRange();
179
- pos || (pos = this.getPos());
180
- textRange.move('character', pos);
181
- x = textRange.boundingLeft;
182
- y = textRange.boundingTop;
183
- h = textRange.boundingHeight;
184
- return {
185
- left: x,
186
- top: y,
187
- height: h
188
- };
213
+ InputCaret.prototype.getOffset = function(pos) {
214
+ var $inputor, offset, position;
215
+ $inputor = this.$inputor;
216
+ if (oDocument.selection) {
217
+ offset = this.getIEOffset(pos);
218
+ offset.top += $(oWindow).scrollTop() + $inputor.scrollTop();
219
+ offset.left += $(oWindow).scrollLeft() + $inputor.scrollLeft();
220
+ return offset;
221
+ } else {
222
+ offset = $inputor.offset();
223
+ position = this.getPosition(pos);
224
+ return offset = {
225
+ left: offset.left + position.left - $inputor.scrollLeft(),
226
+ top: offset.top + position.top - $inputor.scrollTop(),
227
+ height: position.height
189
228
  };
229
+ }
230
+ };
190
231
 
191
- InputCaret.prototype.getOffset = function(pos) {
192
- var $inputor, offset, position;
193
- $inputor = this.$inputor;
194
- if (oDocument.selection) {
195
- offset = this.getIEOffset(pos);
196
- offset.top += $(oWindow).scrollTop() + $inputor.scrollTop();
197
- offset.left += $(oWindow).scrollLeft() + $inputor.scrollLeft();
198
- return offset;
199
- } else {
200
- offset = $inputor.offset();
201
- position = this.getPosition(pos);
202
- return offset = {
203
- left: offset.left + position.left - $inputor.scrollLeft(),
204
- top: offset.top + position.top - $inputor.scrollTop(),
205
- height: position.height
206
- };
207
- }
208
- };
232
+ InputCaret.prototype.getPosition = function(pos) {
233
+ var $inputor, at_rect, end_range, format, html, mirror, start_range;
234
+ $inputor = this.$inputor;
235
+ format = function(value) {
236
+ value = value.replace(/<|>|`|"|&/g, '?').replace(/\r\n|\r|\n/g, "<br/>");
237
+ if (/firefox/i.test(navigator.userAgent)) {
238
+ value = value.replace(/\s/g, '&nbsp;');
239
+ }
240
+ return value;
241
+ };
242
+ if (pos === void 0) {
243
+ pos = this.getPos();
244
+ }
245
+ start_range = $inputor.val().slice(0, pos);
246
+ end_range = $inputor.val().slice(pos);
247
+ html = "<span style='position: relative; display: inline;'>" + format(start_range) + "</span>";
248
+ html += "<span id='caret' style='position: relative; display: inline;'>|</span>";
249
+ html += "<span style='position: relative; display: inline;'>" + format(end_range) + "</span>";
250
+ mirror = new Mirror($inputor);
251
+ return at_rect = mirror.create(html).rect();
252
+ };
209
253
 
210
- InputCaret.prototype.getPosition = function(pos) {
211
- var $inputor, at_rect, end_range, format, html, mirror, start_range;
212
- $inputor = this.$inputor;
213
- format = function(value) {
214
- return $('<div></div>').text(value).html();
215
- };
216
- if (pos === void 0) {
217
- pos = this.getPos();
218
- }
219
- start_range = $inputor.val().slice(0, pos);
220
- end_range = $inputor.val().slice(pos);
221
- html = "<span style='position: relative; display: inline;'>" + format(start_range) + "</span>";
222
- html += "<span id='caret' style='position: relative; display: inline;'>|</span>";
223
- html += "<span style='position: relative; display: inline;'>" + format(end_range) + "</span>";
224
- mirror = new Mirror($inputor);
225
- return at_rect = mirror.create(html).rect();
226
- };
254
+ InputCaret.prototype.getIEPosition = function(pos) {
255
+ var h, inputorOffset, offset, x, y;
256
+ offset = this.getIEOffset(pos);
257
+ inputorOffset = this.$inputor.offset();
258
+ x = offset.left - inputorOffset.left;
259
+ y = offset.top - inputorOffset.top;
260
+ h = offset.height;
261
+ return {
262
+ left: x,
263
+ top: y,
264
+ height: h
265
+ };
266
+ };
227
267
 
228
- InputCaret.prototype.getIEPosition = function(pos) {
229
- var h, inputorOffset, offset, x, y;
230
- offset = this.getIEOffset(pos);
231
- inputorOffset = this.$inputor.offset();
232
- x = offset.left - inputorOffset.left;
233
- y = offset.top - inputorOffset.top;
234
- h = offset.height;
235
- return {
236
- left: x,
237
- top: y,
238
- height: h
239
- };
240
- };
268
+ return InputCaret;
241
269
 
242
- return InputCaret;
270
+ })();
243
271
 
244
- })();
245
- Mirror = (function() {
246
- Mirror.prototype.css_attr = ["borderBottomWidth", "borderLeftWidth", "borderRightWidth", "borderTopStyle", "borderRightStyle", "borderBottomStyle", "borderLeftStyle", "borderTopWidth", "boxSizing", "fontFamily", "fontSize", "fontWeight", "height", "letterSpacing", "lineHeight", "marginBottom", "marginLeft", "marginRight", "marginTop", "outlineWidth", "overflow", "overflowX", "overflowY", "paddingBottom", "paddingLeft", "paddingRight", "paddingTop", "textAlign", "textOverflow", "textTransform", "whiteSpace", "wordBreak", "wordWrap"];
272
+ Mirror = (function() {
273
+ Mirror.prototype.css_attr = ["borderBottomWidth", "borderLeftWidth", "borderRightWidth", "borderTopStyle", "borderRightStyle", "borderBottomStyle", "borderLeftStyle", "borderTopWidth", "boxSizing", "fontFamily", "fontSize", "fontWeight", "height", "letterSpacing", "lineHeight", "marginBottom", "marginLeft", "marginRight", "marginTop", "outlineWidth", "overflow", "overflowX", "overflowY", "paddingBottom", "paddingLeft", "paddingRight", "paddingTop", "textAlign", "textOverflow", "textTransform", "whiteSpace", "wordBreak", "wordWrap"];
247
274
 
248
- function Mirror($inputor) {
249
- this.$inputor = $inputor;
250
- }
275
+ function Mirror($inputor) {
276
+ this.$inputor = $inputor;
277
+ }
251
278
 
252
- Mirror.prototype.mirrorCss = function() {
253
- var css,
254
- _this = this;
255
- css = {
256
- position: 'absolute',
257
- left: -9999,
258
- top: 0,
259
- zIndex: -20000
260
- };
261
- if (this.$inputor.prop('tagName') === 'TEXTAREA') {
262
- this.css_attr.push('width');
263
- }
264
- $.each(this.css_attr, function(i, p) {
265
- return css[p] = _this.$inputor.css(p);
266
- });
267
- return css;
268
- };
279
+ Mirror.prototype.mirrorCss = function() {
280
+ var css,
281
+ _this = this;
282
+ css = {
283
+ position: 'absolute',
284
+ left: -9999,
285
+ top: 0,
286
+ zIndex: -20000
287
+ };
288
+ if (this.$inputor.prop('tagName') === 'TEXTAREA') {
289
+ this.css_attr.push('width');
290
+ }
291
+ $.each(this.css_attr, function(i, p) {
292
+ return css[p] = _this.$inputor.css(p);
293
+ });
294
+ return css;
295
+ };
269
296
 
270
- Mirror.prototype.create = function(html) {
271
- this.$mirror = $('<div></div>');
272
- this.$mirror.css(this.mirrorCss());
273
- this.$mirror.html(html);
274
- this.$inputor.after(this.$mirror);
275
- return this;
276
- };
297
+ Mirror.prototype.create = function(html) {
298
+ this.$mirror = $('<div></div>');
299
+ this.$mirror.css(this.mirrorCss());
300
+ this.$mirror.html(html);
301
+ this.$inputor.after(this.$mirror);
302
+ return this;
303
+ };
277
304
 
278
- Mirror.prototype.rect = function() {
279
- var $flag, pos, rect;
280
- $flag = this.$mirror.find("#caret");
281
- pos = $flag.position();
282
- rect = {
283
- left: pos.left,
284
- top: pos.top,
285
- height: $flag.height()
286
- };
287
- this.$mirror.remove();
288
- return rect;
289
- };
305
+ Mirror.prototype.rect = function() {
306
+ var $flag, pos, rect;
307
+ $flag = this.$mirror.find("#caret");
308
+ pos = $flag.position();
309
+ rect = {
310
+ left: pos.left,
311
+ top: pos.top,
312
+ height: $flag.height()
313
+ };
314
+ this.$mirror.remove();
315
+ return rect;
316
+ };
290
317
 
291
- return Mirror;
318
+ return Mirror;
319
+
320
+ })();
321
+
322
+ Utils = {
323
+ contentEditable: function($inputor) {
324
+ return !!($inputor[0].contentEditable && $inputor[0].contentEditable === 'true');
325
+ }
326
+ };
327
+
328
+ methods = {
329
+ pos: function(pos) {
330
+ if (pos || pos === 0) {
331
+ return this.setPos(pos);
332
+ } else {
333
+ return this.getPos();
334
+ }
335
+ },
336
+ position: function(pos) {
337
+ if (oDocument.selection) {
338
+ return this.getIEPosition(pos);
339
+ } else {
340
+ return this.getPosition(pos);
341
+ }
342
+ },
343
+ offset: function(pos) {
344
+ var offset;
345
+ offset = this.getOffset(pos);
346
+ return offset;
347
+ }
348
+ };
349
+
350
+ oDocument = null;
351
+
352
+ oWindow = null;
353
+
354
+ oFrame = null;
355
+
356
+ setContextBy = function(settings) {
357
+ var iframe;
358
+ if (iframe = settings != null ? settings.iframe : void 0) {
359
+ oFrame = iframe;
360
+ oWindow = iframe.contentWindow;
361
+ return oDocument = iframe.contentDocument || oWindow.document;
362
+ } else {
363
+ oFrame = void 0;
364
+ oWindow = window;
365
+ return oDocument = document;
366
+ }
367
+ };
368
+
369
+ discoveryIframeOf = function($dom) {
370
+ var error;
371
+ oDocument = $dom[0].ownerDocument;
372
+ oWindow = oDocument.defaultView || oDocument.parentWindow;
373
+ try {
374
+ return oFrame = oWindow.frameElement;
375
+ } catch (_error) {
376
+ error = _error;
377
+ }
378
+ };
379
+
380
+ $.fn.caret = function(method, value, settings) {
381
+ var caret;
382
+ if (methods[method]) {
383
+ if ($.isPlainObject(value)) {
384
+ setContextBy(value);
385
+ value = void 0;
386
+ } else {
387
+ setContextBy(settings);
388
+ }
389
+ caret = Utils.contentEditable(this) ? new EditableCaret(this) : new InputCaret(this);
390
+ return methods[method].apply(caret, [value]);
391
+ } else {
392
+ return $.error("Method " + method + " does not exist on jQuery.caret");
393
+ }
394
+ };
395
+
396
+ $.fn.caret.EditableCaret = EditableCaret;
397
+
398
+ $.fn.caret.InputCaret = InputCaret;
399
+
400
+ $.fn.caret.Utils = Utils;
401
+
402
+ $.fn.caret.apis = methods;
292
403
 
293
- })();
294
- Utils = {
295
- contentEditable: function($inputor) {
296
- return !!($inputor[0].contentEditable && $inputor[0].contentEditable === 'true');
297
- }
298
- };
299
- methods = {
300
- pos: function(pos) {
301
- if (pos || pos === 0) {
302
- return this.setPos(pos);
303
- } else {
304
- return this.getPos();
305
- }
306
- },
307
- position: function(pos) {
308
- if (oDocument.selection) {
309
- return this.getIEPosition(pos);
310
- } else {
311
- return this.getPosition(pos);
312
- }
313
- },
314
- offset: function(pos) {
315
- var offset;
316
- offset = this.getOffset(pos);
317
- return offset;
318
- }
319
- };
320
- oDocument = null;
321
- oWindow = null;
322
- oFrame = null;
323
- setContextBy = function(settings) {
324
- var iframe;
325
- if (iframe = settings != null ? settings.iframe : void 0) {
326
- oFrame = iframe;
327
- oWindow = iframe.contentWindow;
328
- return oDocument = iframe.contentDocument || oWindow.document;
329
- } else {
330
- oFrame = void 0;
331
- oWindow = window;
332
- return oDocument = document;
333
- }
334
- };
335
- discoveryIframeOf = function($dom) {
336
- var error;
337
- oDocument = $dom[0].ownerDocument;
338
- oWindow = oDocument.defaultView || oDocument.parentWindow;
339
- try {
340
- return oFrame = oWindow.frameElement;
341
- } catch (_error) {
342
- error = _error;
343
- }
344
- };
345
- $.fn.caret = function(method, value, settings) {
346
- var caret;
347
- if (methods[method]) {
348
- if ($.isPlainObject(value)) {
349
- setContextBy(value);
350
- value = void 0;
351
- } else {
352
- setContextBy(settings);
353
- }
354
- caret = Utils.contentEditable(this) ? new EditableCaret(this) : new InputCaret(this);
355
- return methods[method].apply(caret, [value]);
356
- } else {
357
- return $.error("Method " + method + " does not exist on jQuery.caret");
358
- }
359
- };
360
- $.fn.caret.EditableCaret = EditableCaret;
361
- $.fn.caret.InputCaret = InputCaret;
362
- $.fn.caret.Utils = Utils;
363
- return $.fn.caret.apis = methods;
364
- });
365
404
 
366
- }).call(this);
405
+ }));
@@ -1,7 +1,7 @@
1
1
  module Jquery
2
2
  module Atwho
3
3
  module Rails
4
- VERSION = '1.0.0'
4
+ VERSION = '1.0.1'
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jquery-atwho-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ichord
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-08 00:00:00.000000000 Z
11
+ date: 2015-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec