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: 286c0a6c20dd15534776896abe23d6d672914941
4
- data.tar.gz: 90b843800fd9e6d2e4248e2c601678a87e0c3002
3
+ metadata.gz: f5f771068a199f3435cdc700ea8c6751b487cea9
4
+ data.tar.gz: e229f063f2369713b571799be9952c5d7fe8fff8
5
5
  SHA512:
6
- metadata.gz: eea56368664fe96228b8e7b169a9dfd9a11408b76f550bf3753c63f01bbce6eb7ace9313787c3a7344ffd51af21a603eb7364bb058fc558775a7661300542221
7
- data.tar.gz: d5fae512858f271c031ae4d15c388b2fd29de789e45b71de849fb9eb871a1f5787c7bd1a5fa1c5229e772e226cd95a4a5ffd6b87afa30331058e547fb036912c
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,7 +1,7 @@
1
1
  module Jquery
2
2
  module Taggable
3
3
  module Rails
4
- VERSION = '0.0.1'
4
+ VERSION = '0.0.3'
5
5
  end
6
6
  end
7
7
  end
@@ -1,45 +1,57 @@
1
- $.fn.taggable = (options) ->
2
- inputField = $(this)
3
- defaultOptions =
4
- key: 13
5
- hiddenFieldName: '#tag_list'
6
- tagName: '.tag'
7
-
8
- options = $.extend defaultOptions, options
9
-
10
- inputField
11
- .on 'keypress', (ev) ->
12
- if ev.keyCode is options.key
13
- ev.preventDefault()
14
- value = ev.target.value
15
-
16
- if value isnt ''
17
- if $.isEmptyObject $(options.hiddenFieldName).val()
18
- tags = []
19
- else
20
- tags = $(options.hiddenFieldName).val().split(',')
21
- tags.push value
22
- $(options.hiddenFieldName).val(tags.join())
23
-
24
- li = "<li data-tag-name='#{value}' class='tag'>#{value}<a href='#' class='remove'>x</a></li>"
25
- $('.tag_list').append li
26
- inputField.val('')
27
-
28
- $('.remove')
29
- .on 'click', (ev) ->
30
- ev.preventDefault()
31
- value = $(this).parent().data 'tag-name'
32
-
33
- tags = $(options.hiddenFieldName).val()
34
- tags = tags.split(',')
35
- tags = $.map tags, (n, i) ->
36
- if n isnt value
37
- n
38
- else
39
- null
40
- $(options.hiddenFieldName).val(tags.join())
41
-
42
- $(this).parent().remove()
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
- $('.taggable').taggable()
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.1
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: {}