jquery-atwho-rails 0.1.1 → 0.1.2
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.
- data/README.md +1 -1
- data/lib/assets/javascripts/jquery.atwho.js +25 -13
- data/lib/jquery-atwho-rails/version.rb +1 -1
- metadata +51 -63
data/README.md
CHANGED
@@ -40,8 +40,6 @@
|
|
40
40
|
left: 0,
|
41
41
|
top:0,
|
42
42
|
zIndex: -20000,
|
43
|
-
'word-wrap':'break-word',
|
44
|
-
/* wrap long line as textarea do. not work in ie < 8 */
|
45
43
|
'white-space':'pre-wrap'
|
46
44
|
}
|
47
45
|
$.each(this.css,function(i,p){
|
@@ -74,10 +72,14 @@
|
|
74
72
|
flags:{},
|
75
73
|
theflag:null,
|
76
74
|
options:{},
|
75
|
+
search_word:{},
|
77
76
|
searchWord:function() {
|
78
|
-
// just used in At.watchWithData
|
77
|
+
// just used in At.watchWithData
|
78
|
+
search_word = this.search_word[this.theflag];
|
79
|
+
if (search_word)
|
80
|
+
return search_word;
|
79
81
|
var match = /data-keyname=['?]\$\{(\w+)\}/g.exec(this.getOpt('tpl'));
|
80
|
-
return !_isNil(match) ? match[1] : null;
|
82
|
+
return this.search_word[this.theflag] = !_isNil(match) ? match[1] : null;
|
81
83
|
},
|
82
84
|
getOpt: function(key) {
|
83
85
|
var flag = this.theflag;
|
@@ -90,6 +92,15 @@
|
|
90
92
|
/* @ offset*/
|
91
93
|
offset: function() {
|
92
94
|
$inputor = this.$inputor;
|
95
|
+
|
96
|
+
if (document.selection) {// IE!!!
|
97
|
+
var Sel = document.selection.createRange();
|
98
|
+
x = Sel.boundingLeft + $inputor.scrollLeft();
|
99
|
+
y = Sel.boundingTop + Sel.boundingHeight
|
100
|
+
+ $(window).scrollTop() + $inputor.scrollTop();
|
101
|
+
return {'top':y,'left':x};
|
102
|
+
}
|
103
|
+
|
93
104
|
mirror = $inputor.data("mirror");
|
94
105
|
if (_isNil(mirror)) {
|
95
106
|
mirror = new Mirror($inputor);
|
@@ -107,10 +118,6 @@
|
|
107
118
|
.replace(/>/g, '>')
|
108
119
|
.replace(/`/g,'`')
|
109
120
|
.replace(/"/g,'"');
|
110
|
-
if ($.browser.msie) {
|
111
|
-
rep_str = parseInt($.browser.version) < 8 ? " " : "<span> </span>"
|
112
|
-
value = value.replace(/ /g,rep_str);
|
113
|
-
}
|
114
121
|
return value.replace(/\r\n|\r|\n/g,"<br />");
|
115
122
|
}
|
116
123
|
/* 克隆完inputor后将原来的文本内容根据
|
@@ -136,10 +143,9 @@
|
|
136
143
|
//FIXME: -$(window).scrollTop() get "wrong" offset.
|
137
144
|
// but is good for $inputor.scrollTop();
|
138
145
|
// jquey 1. + 07.1 fixed the scrollTop problem!?
|
139
|
-
y = offset.top + at_pos.top + line_height
|
140
|
-
- $inputor.scrollTop();
|
146
|
+
y = offset.top + at_pos.top + line_height - $inputor.scrollTop();
|
141
147
|
x = offset.left + at_pos.left - $inputor.scrollLeft();
|
142
|
-
|
148
|
+
|
143
149
|
return {'top':y,'left':x};
|
144
150
|
},
|
145
151
|
cache: function(key,value) {
|
@@ -303,7 +309,12 @@
|
|
303
309
|
items = $.map(data,function(item,i) {
|
304
310
|
//support plain object also
|
305
311
|
var name = $.isPlainObject(item) ? item[self.searchWord()] : item;
|
306
|
-
|
312
|
+
try {
|
313
|
+
match = name.match((new RegExp(key.text.replace("+","\\+"),"i")));
|
314
|
+
} catch(e) {
|
315
|
+
_log("watchWithData.error",e);
|
316
|
+
return null;
|
317
|
+
}
|
307
318
|
return match ? item : null;
|
308
319
|
});
|
309
320
|
}
|
@@ -555,7 +566,8 @@
|
|
555
566
|
}
|
556
567
|
$.fn.caretPos = function(pos) {
|
557
568
|
var inputor = this[0];
|
558
|
-
|
569
|
+
inputor.focus();
|
570
|
+
if (pos) {
|
559
571
|
return setCaretPos(inputor,pos);
|
560
572
|
} else {
|
561
573
|
return getCaretPos(inputor);
|
metadata
CHANGED
@@ -1,60 +1,56 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: jquery-atwho-rails
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 1
|
8
|
-
- 1
|
9
|
-
version: 0.1.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.2
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- ichord
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-03-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: rspec
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
- 0
|
30
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
31
22
|
type: :development
|
32
|
-
version_requirements: *id001
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: generator_spec
|
35
23
|
prerelease: false
|
36
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
25
|
none: false
|
38
|
-
requirements:
|
39
|
-
- -
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
|
42
|
-
|
43
|
-
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: generator_spec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
44
38
|
type: :development
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: ! "This is a jQuery plugin \n that implement Twitter/Weibo like @
|
47
|
+
mentions."
|
48
|
+
email:
|
50
49
|
- chord.luo@gmail.com
|
51
50
|
executables: []
|
52
|
-
|
53
51
|
extensions: []
|
54
|
-
|
55
52
|
extra_rdoc_files: []
|
56
|
-
|
57
|
-
files:
|
53
|
+
files:
|
58
54
|
- .gitignore
|
59
55
|
- Gemfile
|
60
56
|
- README.md
|
@@ -67,38 +63,30 @@ files:
|
|
67
63
|
- lib/jquery-atwho-rails/version.rb
|
68
64
|
- spec/generators/install_generator_spec.rb
|
69
65
|
- spec/spec_helper.rb
|
70
|
-
has_rdoc: true
|
71
66
|
homepage: http://ichord.github.com/jquery-atwho-rails
|
72
67
|
licenses: []
|
73
|
-
|
74
68
|
post_install_message:
|
75
69
|
rdoc_options: []
|
76
|
-
|
77
|
-
require_paths:
|
70
|
+
require_paths:
|
78
71
|
- lib
|
79
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
72
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
80
73
|
none: false
|
81
|
-
requirements:
|
82
|
-
- -
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
|
86
|
-
version: "0"
|
87
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
79
|
none: false
|
89
|
-
requirements:
|
90
|
-
- -
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
|
93
|
-
- 0
|
94
|
-
version: "0"
|
80
|
+
requirements:
|
81
|
+
- - ! '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
95
84
|
requirements: []
|
96
|
-
|
97
85
|
rubyforge_project: jquery-atwho-rails
|
98
|
-
rubygems_version: 1.
|
86
|
+
rubygems_version: 1.8.19
|
99
87
|
signing_key:
|
100
88
|
specification_version: 3
|
101
|
-
summary:
|
102
|
-
test_files:
|
89
|
+
summary: ! 'jquery plugin: @mentions'
|
90
|
+
test_files:
|
103
91
|
- spec/generators/install_generator_spec.rb
|
104
92
|
- spec/spec_helper.rb
|