carousel 1.0.0 → 1.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.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NTVjNDQwY2UyOWQ1ZDRhNjIyYzUxYjc5NGI1MjUyYzJjNDE1ZjdjMg==
5
+ data.tar.gz: !binary |-
6
+ ZmRmMGQ2Y2RhOGZhMDMxZTc5ZmJhMDQ4NjhiNmRhY2JmZGQ0NDNjNQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ OTc4ZTc0MjYzNmQ3YzI0ZTYxMTIyODA2N2NlZDE4YjQ2MjIzZWEwYWU2ZTQ4
10
+ MmE2MWEyN2Y4NTQwMDFjZjY5M2I4MTljOTc4MzQ0NmY5ZGQzMzY2Y2E0ZmY2
11
+ NGU5Y2Y4NzE4YjA0ZjE0NTFiODllYzc2NDEyZjA3ZDljM2I2NzA=
12
+ data.tar.gz: !binary |-
13
+ MmNkZWZmZjUyNDQzMjQ5MGNhNmZkN2FjN2Q1MjJjNjA4ZDExMDY0YWU2Njcz
14
+ MTZiM2M5YTZiMDcyMDVmM2Q2ZTBjODEyYzUwMWZjYzY5OTdlMjdmNWNkOTMz
15
+ NTg0ZTk3OWFjMDY2YmEyMmU0MTVkNWFiMTlkZjU4ZDBkYjJmMDQ=
data/README.md CHANGED
@@ -113,5 +113,5 @@ Sub-Licenses
113
113
  ------------
114
114
 
115
115
  Portions of this code were written by
116
- "Leandro Vieira Pinho":http://leandrovieira.com. These portions are distributed
117
- under the CCAttribution-Share-Alike 2.5 (Brazil) license.
116
+ [Leandro Vieira Pinho](http://leandrovieira.com). These portions are
117
+ distributed under the CCAttribution-Share-Alike 2.5 (Brazil) license.
@@ -2,14 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: carousel 1.1.2 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "carousel"
8
- s.version = "1.0.0"
9
+ s.version = "1.1.2"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["Tim Morgan"]
12
- s.date = "2012-04-20"
14
+ s.date = "2014-12-20"
13
15
  s.description = "Adds CoffeeScript and SCSS files to your Rails apps allowing you to easily create an Ajax-powered Carousel."
14
16
  s.email = "rubygems@timothymorgan.info"
15
17
  s.extra_rdoc_files = [
@@ -34,35 +36,34 @@ Gem::Specification.new do |s|
34
36
  ]
35
37
  s.homepage = "http://github.com/RISCfuture/carousel"
36
38
  s.licenses = ["MIT"]
37
- s.require_paths = ["lib"]
38
- s.rubygems_version = "1.8.21"
39
+ s.rubygems_version = "2.4.5"
39
40
  s.summary = "Simple image carousels in your Rails apps."
40
41
 
41
42
  if s.respond_to? :specification_version then
42
- s.specification_version = 3
43
+ s.specification_version = 4
43
44
 
44
45
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
46
  s.add_runtime_dependency(%q<rails>, [">= 0"])
46
- s.add_runtime_dependency(%q<compass>, [">= 0"])
47
47
  s.add_runtime_dependency(%q<jquery-rails>, [">= 0"])
48
48
  s.add_development_dependency(%q<yard>, [">= 0"])
49
+ s.add_development_dependency(%q<redcarpet>, [">= 0"])
49
50
  s.add_development_dependency(%q<bundler>, [">= 0"])
50
51
  s.add_development_dependency(%q<jeweler>, [">= 0"])
51
52
  s.add_development_dependency(%q<paperclip>, [">= 0"])
52
53
  else
53
54
  s.add_dependency(%q<rails>, [">= 0"])
54
- s.add_dependency(%q<compass>, [">= 0"])
55
55
  s.add_dependency(%q<jquery-rails>, [">= 0"])
56
56
  s.add_dependency(%q<yard>, [">= 0"])
57
+ s.add_dependency(%q<redcarpet>, [">= 0"])
57
58
  s.add_dependency(%q<bundler>, [">= 0"])
58
59
  s.add_dependency(%q<jeweler>, [">= 0"])
59
60
  s.add_dependency(%q<paperclip>, [">= 0"])
60
61
  end
61
62
  else
62
63
  s.add_dependency(%q<rails>, [">= 0"])
63
- s.add_dependency(%q<compass>, [">= 0"])
64
64
  s.add_dependency(%q<jquery-rails>, [">= 0"])
65
65
  s.add_dependency(%q<yard>, [">= 0"])
66
+ s.add_dependency(%q<redcarpet>, [">= 0"])
66
67
  s.add_dependency(%q<bundler>, [">= 0"])
67
68
  s.add_dependency(%q<jeweler>, [">= 0"])
68
69
  s.add_dependency(%q<paperclip>, [">= 0"])
@@ -1,4 +1,25 @@
1
+ # An image carousel. Loads images from an Ajax endpoint and displays them in a
2
+ # grid. Clicking an image reveals it in a lightbox. The carousel uses infinite
3
+ # scrolling.
4
+ #
5
+ # The endpoint must return data in a specific format; see the README.md file.
6
+ #
7
+ # Use the `$(...).carousel(...)` method for a more jQuery-like syntax.
8
+ #
1
9
  class Carousel
10
+
11
+ # Creates a new carousel manager.
12
+ #
13
+ # @param [jQuery element array] element The element to render the carousel
14
+ # into.
15
+ # @param [String] url The Ajax JSON endpoint that returns image metadata.
16
+ # @param [String] orientation Either 'horizontal' or 'vertical'.
17
+ # @param [Object] options Additional options.
18
+ # @option options [Boolean] captions (true) Whether to display captions next
19
+ # to images. (Captions are always displayed in lightboxes.)
20
+ # @option options [Boolean] lightboxes (true) Whether to enable lightbox
21
+ # functionality.
22
+ #
2
23
  constructor: (@element, @url, @orientation, @options={}) ->
3
24
  @options = $.extend({ captions: true, lightboxes: true }, @options)
4
25
  @element.addClass "carousel-#{@orientation}"
@@ -7,6 +28,8 @@ class Carousel
7
28
  this.refresh()
8
29
  this.setScroll()
9
30
 
31
+ # Reloads images from the endpoint.
32
+ #
10
33
  refresh: ->
11
34
  this.clear()
12
35
  $.ajax @url,
@@ -16,10 +39,13 @@ class Carousel
16
39
  success: (data) =>
17
40
  this.populate data
18
41
 
42
+ # Empties this carousel of images.
43
+ #
19
44
  clear: ->
20
45
  @element.find('>li').remove()
21
46
  @data = []
22
47
 
48
+ # @private
23
49
  populate: (data) ->
24
50
  @data = @data.concat(data) # must clone it
25
51
 
@@ -45,30 +71,41 @@ class Carousel
45
71
 
46
72
  this.loadNextPage() if this.noScroll() and data.length > 0
47
73
 
74
+ # Replaces the contents of this carousel with an error message.
75
+ #
76
+ # @param [String] error The error message.
48
77
  setError: (error) ->
49
78
  this.clear()
50
79
  li = $('<li/>').addClass('center').appendTo @element
51
80
  $('<p/>').addClass('error').text(error).appendTo li
52
81
 
82
+ # Replaces the contents of this carousel with a message.
83
+ #
84
+ # @param [String] note The message.
85
+ #
53
86
  setNote: (note) ->
54
87
  this.clear()
55
88
  li = $('<li/>').addClass('center').appendTo @element
56
89
  $('<p/>').addClass('note').text(note).appendTo li
57
90
 
91
+ # @private
58
92
  setScroll: ->
59
93
  @element.scroll =>
60
94
  this.loadNextPage() if this.isAtEnd()
61
95
 
96
+ # @private
62
97
  noScroll: ->
63
98
  switch @orientation
64
99
  when 'horizontal' then @element.width() == @element[0].scrollWidth
65
100
  when 'vertical' then @element.height() == @element[0].scrollHeight
66
101
 
102
+ # @private
67
103
  isAtEnd: ->
68
104
  switch @orientation
69
105
  when 'horizontal' then @element.scrollLeft() == @element[0].scrollWidth - @element.width()
70
- when 'vertical' then @element.scrollTop() == @element[0].scrollheight - @element.height()
106
+ when 'vertical' then @element.scrollTop() == @element[0].scrollHeight - @element.height()
71
107
 
108
+ # @private
72
109
  loadNextPage: ->
73
110
  return if @data.length == 0
74
111
  $.ajax @url,
@@ -80,5 +117,12 @@ class Carousel
80
117
  this.populate data
81
118
 
82
119
  $.fn.extend
120
+
121
+ # Renders a new carousel into the target.
122
+ # @param [String] url The Ajax JSON endpoint that returns image metadata.
123
+ # @param [String] orientation Either 'horizontal' or 'vertical'.
124
+ # @param [Object] options Additional options to pass to {Carousel}.
125
+ # @return [Carousel] The new carousel manager.
126
+ #
83
127
  carousel: (url, orient, options={}) ->
84
128
  new Carousel(this, url, orient, options)
@@ -1,13 +1,11 @@
1
1
  @import "vars";
2
- @import "compass/css3/box";
3
- @import "compass/css3/border-radius";
4
2
 
5
3
  @mixin carousel {
6
- @include border-radius(5px);
4
+ border-radius: 5px;
7
5
 
8
6
  margin-top: 1em;
9
7
 
10
- >li {
8
+ &>li {
11
9
  margin: 0.5em;
12
10
  width: 140px;
13
11
  }
@@ -20,10 +18,14 @@
20
18
 
21
19
  ul.carousel-horizontal {
22
20
  @include carousel;
23
- @include display-box;
24
- @include box-orient(horizontal);
21
+ display: flex;
22
+ flex-flow: row nowrap;
25
23
 
26
24
  overflow-x: auto;
25
+
26
+ &>li {
27
+ flex: 0 0 auto;
28
+ }
27
29
  }
28
30
 
29
31
  ul.carousel-vertical {
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carousel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
5
- prerelease:
4
+ version: 1.1.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Tim Morgan
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-04-21 00:00:00.000000000 Z
11
+ date: 2014-12-20 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,15 +20,13 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
- name: compass
28
+ name: jquery-rails
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,31 +34,27 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
- name: jquery-rails
42
+ name: yard
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
- type: :runtime
48
+ type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
- name: yard
56
+ name: redcarpet
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: bundler
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: jeweler
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ! '>='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ! '>='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: paperclip
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ! '>='
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ! '>='
124
109
  - !ruby/object:Gem::Version
@@ -149,29 +134,25 @@ files:
149
134
  homepage: http://github.com/RISCfuture/carousel
150
135
  licenses:
151
136
  - MIT
137
+ metadata: {}
152
138
  post_install_message:
153
139
  rdoc_options: []
154
140
  require_paths:
155
141
  - lib
156
142
  required_ruby_version: !ruby/object:Gem::Requirement
157
- none: false
158
143
  requirements:
159
144
  - - ! '>='
160
145
  - !ruby/object:Gem::Version
161
146
  version: '0'
162
- segments:
163
- - 0
164
- hash: 2934254892831708062
165
147
  required_rubygems_version: !ruby/object:Gem::Requirement
166
- none: false
167
148
  requirements:
168
149
  - - ! '>='
169
150
  - !ruby/object:Gem::Version
170
151
  version: '0'
171
152
  requirements: []
172
153
  rubyforge_project:
173
- rubygems_version: 1.8.23
154
+ rubygems_version: 2.4.5
174
155
  signing_key:
175
- specification_version: 3
156
+ specification_version: 4
176
157
  summary: Simple image carousels in your Rails apps.
177
158
  test_files: []