ecm_sliders 0.0.4.pre → 1.0.0.pre
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.
- 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
|