jquery-taggable-rails 0.0.1 → 0.0.3

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.
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: {}