ecm_sliders 0.0.4.pre → 1.0.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/app/models/ecm/sliders/slider.rb +21 -1
- data/app/views/ecm/sliders/sliders/_slider.html.erb +10 -2
- data/db/migrate/001_create_ecm_sliders_sliders.rb +2 -0
- data/lib/ecm/sliders/active_admin/ecm_sliders_sliders.rb +9 -0
- data/lib/ecm/sliders/configuration.rb +6 -0
- data/lib/ecm/sliders/version.rb +1 -1
- data/lib/generators/ecm/sliders/install/templates/ecm_sliders.rb +23 -1
- metadata +3 -3
@@ -10,16 +10,21 @@ class Ecm::Sliders::Slider < ActiveRecord::Base
|
|
10
10
|
:inverse_of => :ecm_sliders_slider
|
11
11
|
|
12
12
|
# attributes
|
13
|
-
attr_accessible :
|
13
|
+
attr_accessible :auto_start,
|
14
|
+
:description,
|
14
15
|
:ecm_sliders_items_attributes,
|
15
16
|
:ecm_sliders_items_count,
|
16
17
|
:identifier,
|
18
|
+
:interval,
|
17
19
|
:locale,
|
18
20
|
:name,
|
19
21
|
:slug
|
20
22
|
|
21
23
|
accepts_nested_attributes_for :ecm_sliders_items, :allow_destroy => true
|
22
24
|
|
25
|
+
# callbacks
|
26
|
+
after_initialize :set_defaults
|
27
|
+
|
23
28
|
# friendly id
|
24
29
|
extend FriendlyId
|
25
30
|
friendly_id :name, :use => :slugged
|
@@ -38,5 +43,20 @@ class Ecm::Sliders::Slider < ActiveRecord::Base
|
|
38
43
|
)
|
39
44
|
).order('locale DESC')
|
40
45
|
end
|
46
|
+
|
47
|
+
# instance methods
|
48
|
+
|
49
|
+
def interval_in_milliseconds
|
50
|
+
(interval * 1000).to_i
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def set_defaults
|
56
|
+
if new_record?
|
57
|
+
self.auto_start = Ecm::Sliders::Configuration.slider_auto_start if auto_start.nil?
|
58
|
+
self.interval ||= Ecm::Sliders::Configuration.slider_interval
|
59
|
+
end
|
60
|
+
end
|
41
61
|
end
|
42
62
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="slider">
|
2
|
-
<div id="slider-<%= slider.to_param %>" class="carousel slide">
|
2
|
+
<div id="slider-<%= slider.to_param %>" class="carousel slide" data-interval="<%= slider.interval_in_milliseconds %>">
|
3
3
|
<div class="carousel-inner">
|
4
4
|
<%= render slider.ecm_sliders_items %>
|
5
5
|
</div>
|
@@ -7,4 +7,12 @@
|
|
7
7
|
<a class="carousel-control right" href="#slider-<%= slider.to_param %>" data-slide="next">›</a>
|
8
8
|
</div>
|
9
9
|
</div>
|
10
|
-
|
10
|
+
<% if slider.auto_start %>
|
11
|
+
<script>
|
12
|
+
$('#slider-<%= slider.to_param %>').carousel(
|
13
|
+
{
|
14
|
+
interval: <%= slider.interval_in_milliseconds %>
|
15
|
+
}
|
16
|
+
);
|
17
|
+
</script>
|
18
|
+
<% end %>
|
@@ -11,6 +11,11 @@ ActiveAdmin.register Ecm::Sliders::Slider do
|
|
11
11
|
f.input :description
|
12
12
|
end
|
13
13
|
|
14
|
+
f.inputs do
|
15
|
+
f.input :auto_start
|
16
|
+
f.input :interval
|
17
|
+
end
|
18
|
+
|
14
19
|
f.inputs do
|
15
20
|
f.has_many :ecm_sliders_items do |item|
|
16
21
|
if item.object.persisted?
|
@@ -34,6 +39,8 @@ ActiveAdmin.register Ecm::Sliders::Slider do
|
|
34
39
|
column :locale
|
35
40
|
column :description
|
36
41
|
column :ecm_sliders_items_count
|
42
|
+
column :auto_start
|
43
|
+
column :interval
|
37
44
|
column :created_at
|
38
45
|
column :updated_at
|
39
46
|
|
@@ -69,6 +76,8 @@ ActiveAdmin.register Ecm::Sliders::Slider do
|
|
69
76
|
row :name
|
70
77
|
row :locale
|
71
78
|
row :ecm_sliders_items_count
|
79
|
+
row :auto_start
|
80
|
+
row :interval
|
72
81
|
row :created_at
|
73
82
|
row :updated_at
|
74
83
|
end
|
data/lib/ecm/sliders/version.rb
CHANGED
@@ -1,7 +1,25 @@
|
|
1
1
|
Ecm::Sliders.configure do |config|
|
2
|
-
#
|
2
|
+
# Slider options #############################################################
|
3
|
+
|
4
|
+
# Autostart
|
5
|
+
#
|
6
|
+
# default: config.slider_auto_start = false
|
7
|
+
config.slider_auto_start = false
|
8
|
+
|
9
|
+
# Interval
|
10
|
+
#
|
11
|
+
# default: config.slider_interval = 5.0
|
12
|
+
config.slider_interval = 5.0
|
13
|
+
|
14
|
+
# Item options ###############################################################
|
3
15
|
|
4
16
|
# image sizes for slider items
|
17
|
+
#
|
18
|
+
# default: config.item_image_styles = {
|
19
|
+
# :small_thumb => "80x60>",
|
20
|
+
# :medium_thumb => "160x120>",
|
21
|
+
# :slider => "830x477"
|
22
|
+
# }
|
5
23
|
config.item_image_styles = {
|
6
24
|
:small_thumb => "80x60>",
|
7
25
|
:medium_thumb => "160x120>",
|
@@ -9,9 +27,13 @@ Ecm::Sliders.configure do |config|
|
|
9
27
|
}
|
10
28
|
|
11
29
|
# Accepted markup languages for the item body
|
30
|
+
#
|
31
|
+
# default: config.markup_languages = %w[ markdown rdoc textile ]
|
12
32
|
config.markup_languages = %w[ markdown rdoc textile ]
|
13
33
|
|
14
34
|
# Default markup language for the item body
|
35
|
+
#
|
36
|
+
# default: config.default_markup_language = 'textile'
|
15
37
|
config.default_markup_language = 'textile'
|
16
38
|
end
|
17
39
|
|
metadata
CHANGED
@@ -4,11 +4,11 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
hash: 961915988
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
|
+
- 1
|
7
8
|
- 0
|
8
9
|
- 0
|
9
|
-
- 4
|
10
10
|
- pre
|
11
|
-
version: 0.0.
|
11
|
+
version: 1.0.0.pre
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Roberto Vasquez Angel
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2012-
|
19
|
+
date: 2012-12-07 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: active_admin-acts_as_list
|