jquery-taggable-rails 0.0.1 → 0.0.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5f771068a199f3435cdc700ea8c6751b487cea9
|
4
|
+
data.tar.gz: e229f063f2369713b571799be9952c5d7fe8fff8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 440da9740e307a1499033b5162e86b7589514f4481dfc40c2f059ff521ea9b25d308a47ad7710d12004e90d51c5d5b5f8b84a4c886348873aef6a7ace7eb1c5f
|
7
|
+
data.tar.gz: 9faf34c8be8f8df84518c9d53acbd699269146a08fe3c1ac15b9f6841ee531e68f48578cf796a1a1f695e8845beafaab55de3a2f0d0a89448327a374f5443a49
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["harakirisoul@gmail.com"]
|
11
11
|
spec.description = %q{jquery-taggable-rails is simple javascript to make tags.}
|
12
12
|
spec.summary = %q{jquery-taggable-rails is simple javascript to make tags.}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/tbaba/jquery-taggable-rails"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
@@ -1,45 +1,57 @@
|
|
1
|
-
$.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
1
|
+
$.taggable = (options = {}) ->
|
2
|
+
new Taggable(options)
|
3
|
+
|
4
|
+
class Taggable
|
5
|
+
constructor: (options) ->
|
6
|
+
defaultOptions =
|
7
|
+
key: 13
|
8
|
+
inputFieldName: '#taggable'
|
9
|
+
hiddenFieldName: '#tag_list'
|
10
|
+
tagName: '.tag'
|
11
|
+
|
12
|
+
@options = $.extend defaultOptions, options
|
13
|
+
@inputField = $(@options.inputFieldName)
|
14
|
+
|
15
|
+
@add()
|
16
|
+
|
17
|
+
add: =>
|
18
|
+
@inputField
|
19
|
+
.on('keypress', @tagging)
|
20
|
+
|
21
|
+
tagging: (ev) =>
|
22
|
+
if ev.keyCode is @options.key
|
23
|
+
ev.preventDefault()
|
24
|
+
value = ev.target.value
|
25
|
+
if value isnt ''
|
26
|
+
if $.isEmptyObject $(@options.hiddenFieldName).val()
|
27
|
+
tags = []
|
28
|
+
else
|
29
|
+
tags = $(@options.hiddenFieldName).val().split(',')
|
30
|
+
tags.push value
|
31
|
+
$(@options.hiddenFieldName).val(tags.join())
|
32
|
+
|
33
|
+
li = "<li data-tag-name='#{value}' class='tag'>#{value}<a href='#' class='remove'>x</a></li>"
|
34
|
+
$('.tag_list').append li
|
35
|
+
@inputField.val('')
|
36
|
+
|
37
|
+
$('.remove')
|
38
|
+
.on('click', @remove)
|
39
|
+
|
40
|
+
remove: (ev) =>
|
41
|
+
ev.preventDefault()
|
42
|
+
value = $(ev.target).parent().data 'tag-name'
|
43
|
+
|
44
|
+
tags = $(@options.hiddenFieldName).val()
|
45
|
+
tags = tags.split(',')
|
46
|
+
tags = $.map tags, (n, i) ->
|
47
|
+
if n isnt value
|
48
|
+
n
|
49
|
+
else
|
50
|
+
null
|
51
|
+
$(@options.hiddenFieldName).val(tags.join())
|
52
|
+
|
53
|
+
$(ev.target).parent().remove()
|
43
54
|
|
44
55
|
$ ->
|
45
|
-
|
56
|
+
$.taggable
|
57
|
+
inputFieldName: '.taggable'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jquery-taggable-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tatsuro Baba
|
@@ -41,7 +41,7 @@ files:
|
|
41
41
|
- lib/jquery-taggable-rails/engine.rb
|
42
42
|
- lib/jquery-taggable-rails/version.rb
|
43
43
|
- vendor/assets/javascripts/jquery.taggable.js.coffee
|
44
|
-
homepage:
|
44
|
+
homepage: https://github.com/tbaba/jquery-taggable-rails
|
45
45
|
licenses:
|
46
46
|
- MIT
|
47
47
|
metadata: {}
|