spree_showcase 0.5.2 → 0.5.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.
- data/README.md +24 -9
- data/app/controllers/spree/admin/showcase_settings_controller.rb +22 -2
- data/app/overrides/add_showcase_to_admin_configuration_menu.rb +2 -2
- data/app/overrides/add_showcase_to_admin_configurations_side_menu.rb +1 -1
- data/app/views/spree/admin/showcase_settings/edit.html.erb +1 -1
- data/app/views/spree/admin/slides/_form.html.erb +1 -1
- data/app/views/spree/admin/slides/index.html.erb +3 -5
- data/app/views/spree/admin/slides/new.html.erb +1 -1
- data/app/views/spree/admin/slides/show.html.erb +1 -1
- data/config/locales/fr.yml +15 -0
- data/lib/generators/spree_showcase/install/assets/javascripts/store/showcase.js.erb +32 -0
- data/lib/generators/spree_showcase/install/install_generator.rb +6 -5
- data/lib/spree/showcase_configuration.rb +8 -0
- data/spree_showcase.gemspec +1 -1
- metadata +4 -5
- data/lib/generators/spree_showcase/install/assets/javascripts/store/showcase.js +0 -32
- data/spree_showcase-0.5.0.gem +0 -0
- data/spree_showcase-0.5.1.gem +0 -0
data/README.md
CHANGED
@@ -1,28 +1,43 @@
|
|
1
1
|
Spree Showcase
|
2
2
|
===========
|
3
|
-
|
3
|
+
#### For anyone who recently upgraded on the master, please pull a file from the gem, please pull a file from the lib.
|
4
|
+
|
5
|
+
spree_showcase/lib/generators/spree_showcase/install/assets/javascripts/store/showcase.js.erb
|
6
|
+
|
4
7
|
Spree Showcase is a simple extension that allows you to create the good ol' slideshow. The goal is to create a slideshow extension that makes things easy for the users and programmers. Minimal effort needed.
|
5
8
|
|
6
9
|
The secondary objective is to create a slideshow template that allows most types of JS slider to be implemented easily into Spree.
|
7
10
|
|
8
|
-
|
11
|
+
#### Screenshot of Frontend:
|
12
|
+

|
13
|
+
|
14
|
+
#### Admin Backend:
|
15
|
+

|
16
|
+
|
17
|
+
Currently, this is the first iteration of the slideshow extension at v0.5.2. Contributors are greatly welcomed =)
|
9
18
|
|
10
19
|
**Next to come:**
|
11
20
|
- Adding sliders to different layout positions
|
12
21
|
- Enabling more options to be customized in the Admin Menu
|
13
22
|
|
14
|
-
|
23
|
+
Installation
|
15
24
|
=======
|
16
25
|
Get a clean Spree Installation
|
17
26
|
|
18
|
-
rails new spree_demo
|
19
|
-
cd spree_demo
|
20
|
-
spree install
|
27
|
+
```rails new spree_demo```
|
28
|
+
```cd spree_demo```
|
29
|
+
```spree install```
|
30
|
+
|
31
|
+
```gem 'spree_showcase', :git=>"git://github.com/daemonsy/spree_showcase" # Into Gemfile```
|
32
|
+
|
33
|
+
OR
|
34
|
+
|
35
|
+
```gem 'spree_showcase' # Ruby Gems```
|
21
36
|
|
22
|
-
|
37
|
+
```bundle install```
|
38
|
+
```rails g spree_showcase:install```
|
23
39
|
|
24
|
-
|
25
|
-
rails g spree_showcase:install
|
40
|
+
**Remember** to run ```rake assets:clean```, otherwise the javascript library might not be loaded.
|
26
41
|
|
27
42
|
Testing
|
28
43
|
-------
|
@@ -2,11 +2,31 @@ module Spree
|
|
2
2
|
module Admin
|
3
3
|
class ShowcaseSettingsController < BaseController
|
4
4
|
def show
|
5
|
-
@preferences = [:enabled,
|
5
|
+
@preferences = [:enabled,
|
6
|
+
:thumbnail_style,
|
7
|
+
:showcase_style,
|
8
|
+
:number_of_slides_to_show,
|
9
|
+
:slideshow,
|
10
|
+
:animation_type,
|
11
|
+
:slideshow_speed,
|
12
|
+
:animation_duration,
|
13
|
+
:randomize,
|
14
|
+
:animation_loop,
|
15
|
+
:pause_on_hover]
|
6
16
|
end
|
7
17
|
|
8
18
|
def edit
|
9
|
-
@preferences = [:enabled,
|
19
|
+
@preferences = [:enabled,
|
20
|
+
:thumbnail_style,
|
21
|
+
:showcase_style,
|
22
|
+
:number_of_slides_to_show,
|
23
|
+
:slideshow,
|
24
|
+
:animation_type,
|
25
|
+
:slideshow_speed,
|
26
|
+
:animation_duration,
|
27
|
+
:randomize,
|
28
|
+
:animation_loop,
|
29
|
+
:pause_on_hover]
|
10
30
|
end
|
11
31
|
|
12
32
|
def update
|
@@ -3,7 +3,7 @@ Deface::Override.new(:virtual_path => 'spree/admin/configurations/index',
|
|
3
3
|
:insert_bottom => "[data-hook='admin_configurations_menu']",
|
4
4
|
:text => %q{
|
5
5
|
<tr>
|
6
|
-
<td><%= link_to
|
7
|
-
<td
|
6
|
+
<td><%= link_to t(:showcase_slider), admin_slides_path %></td>
|
7
|
+
<td><%= t(:showcase_settings) %></td>
|
8
8
|
</tr> })
|
9
9
|
|
@@ -2,6 +2,6 @@ Deface::Override.new(
|
|
2
2
|
:virtual_path => 'spree/admin/shared/_configuration_menu',
|
3
3
|
:name => 'add_showcase_to_admin_configurations_side_menu',
|
4
4
|
:insert_bottom => "[data-hook='admin_configurations_sidebar_menu']",
|
5
|
-
:text => %q{<%= configurations_sidebar_menu_item
|
5
|
+
:text => %q{<%= configurations_sidebar_menu_item t(:showcase_slider), admin_slides_path %>}
|
6
6
|
)
|
7
7
|
|
@@ -8,7 +8,7 @@
|
|
8
8
|
type = SpreeShowcase::Config.preference_type(key) %>
|
9
9
|
<%= label_tag(key, t(key) + ': ') + tag(:br) if type != :boolean %>
|
10
10
|
<%= preference_field_tag(key, SpreeShowcase::Config[key], :type => type) %>
|
11
|
-
<%= label_tag(key, t(key)) + tag(:br) if type == :boolean %>
|
11
|
+
<%= label_tag(key, t(key)) + tag(:br) if type == :boolean %> <br />
|
12
12
|
<% end %>
|
13
13
|
</fieldset>
|
14
14
|
<p class="form-buttons" data-hook="buttons">
|
@@ -3,18 +3,18 @@
|
|
3
3
|
<div class="toolbar" data-hook="toolbar">
|
4
4
|
<ul class="actions">
|
5
5
|
<li>
|
6
|
-
<p><%= button_link_to
|
6
|
+
<p><%= button_link_to t(:new_slide), new_object_url, :icon => 'add', :id => 'admin_new_slide_link' %></p>
|
7
7
|
</li>
|
8
8
|
</ul>
|
9
9
|
<br class="clear" />
|
10
10
|
</div>
|
11
11
|
|
12
|
-
<h1
|
12
|
+
<h1><%= t(:showcase) %></h1>
|
13
13
|
|
14
14
|
<table class="index sortable" id="listing_slides" data-hook data-sortable-link="<%= update_positions_admin_slides_url %>">
|
15
15
|
<thead>
|
16
16
|
<tr data-hook="admin_slides_index_headers">
|
17
|
-
<th
|
17
|
+
<th><%= t(:name) %></th>
|
18
18
|
<th data-hook="admin_slides_index_header_actions"></th>
|
19
19
|
</tr>
|
20
20
|
</thead>
|
@@ -30,5 +30,3 @@
|
|
30
30
|
<% end %>
|
31
31
|
</tbody>
|
32
32
|
</table>
|
33
|
-
|
34
|
-
<p>Showcase is done by Damon Aw - @daemonsy</p>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%= render :partial => 'spree/admin/shared/configuration_menu' %>
|
2
2
|
<%= render :partial=>'spree/admin/shared/showcase_submenu'%>
|
3
|
-
<h1
|
3
|
+
<h1><%= t(:new_showcase_slide) %></h1>
|
4
4
|
<%= render 'spree/shared/error_messages', :target => @slide %>
|
5
5
|
|
6
6
|
<%= form_for [:admin, @slide] , :html => { :multipart => true } do |f| %>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
fr:
|
2
|
+
new_slide: "Ajouter une image"
|
3
|
+
showcase: "Diaporama"
|
4
|
+
slides: "Images"
|
5
|
+
slide: "Image"
|
6
|
+
showcase_slider: "Diaporama"
|
7
|
+
showcase_settings: "Options du diaporama"
|
8
|
+
edit_showcase_settings: "Edition des propriétés du diaporama"
|
9
|
+
body: "Corps"
|
10
|
+
target_url: "Cible du lien"
|
11
|
+
image: Image
|
12
|
+
thumbnail_message: "Texte de la miniature"
|
13
|
+
published: "Publiée"
|
14
|
+
new_showcase_slide: "Nouvelle image"
|
15
|
+
edit_showcase_slide: "Edition de l'image"
|
@@ -0,0 +1,32 @@
|
|
1
|
+
//= require store/jquery.flexslider
|
2
|
+
// Put your own showcase trigger here if you wish to use another JS Library. Remember to require it in all.js or this file.
|
3
|
+
|
4
|
+
$(window).load(function() {
|
5
|
+
$('.flexslider').flexslider({
|
6
|
+
animation: "<%= SpreeShowcase::Config[:animation_type] %>", //String: Select your animation type, "fade" or "slide"
|
7
|
+
slideDirection: "horizontal", //String: Select the sliding direction, "horizontal" or "vertical"
|
8
|
+
slideshow: "<%= SpreeShowcase::Config[:slideshow] %>", //Boolean: Animate slider automatically
|
9
|
+
slideshowSpeed: "<%= SpreeShowcase::Config[:slideshow_speed] %>", //Integer: Set the speed of the slideshow cycling, in milliseconds
|
10
|
+
animationDuration: "<%= SpreeShowcase::Config[:animation_duration] %>", //Integer: Set the speed of animations, in milliseconds
|
11
|
+
directionNav: false, //Boolean: Create navigation for previous/next navigation? (true/false)
|
12
|
+
controlNav: true, //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
|
13
|
+
keyboardNav: true, //Boolean: Allow slider navigating via keyboard left/right keys
|
14
|
+
mousewheel: false, //Boolean: Allow slider navigating via mousewheel
|
15
|
+
prevText: "Previous", //String: Set the text for the "previous" directionNav item
|
16
|
+
nextText: "Next", //String: Set the text for the "next" directionNav item
|
17
|
+
pausePlay: false, //Boolean: Create pause/play dynamic element
|
18
|
+
pauseText: 'Pause', //String: Set the text for the "pause" pausePlay item
|
19
|
+
playText: 'Play', //String: Set the text for the "play" pausePlay item
|
20
|
+
randomize: "<%= SpreeShowcase::Config[:randomize] %>", //Boolean: Randomize slide order
|
21
|
+
slideToStart: 0, //Integer: The slide that the slider should start on. Array notation (0 = first slide)
|
22
|
+
animationLoop: "<%= SpreeShowcase::Config[:animation_loop] %>", //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
|
23
|
+
pauseOnAction: true, //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
|
24
|
+
pauseOnHover: "<%= SpreeShowcase::Config[:pause_on_hover] %>", //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
|
25
|
+
controlsContainer: ".flex-container", //Selector: Declare which container the navigation elements should be appended too. Default container is the flexSlider element. Example use would be ".flexslider-container", "#container", etc. If the given element is not found, the default action will be taken.
|
26
|
+
manualControls: ".custom-controls li a", //Selector: Declare custom control navigation. Example would be ".flex-control-nav li" or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
|
27
|
+
start: function(){}, //Callback: function(slider) - Fires when the slider loads the first slide
|
28
|
+
before: function(){}, //Callback: function(slider) - Fires asynchronously with each slider animation
|
29
|
+
after: function(){}, //Callback: function(slider) - Fires after each slider animation completes
|
30
|
+
end: function(){} //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
|
31
|
+
});
|
32
|
+
});
|
@@ -5,17 +5,17 @@ module SpreeShowcase
|
|
5
5
|
|
6
6
|
def add_javascripts
|
7
7
|
append_file 'app/assets/javascripts/store/all.js', "//= require store/spree_showcase\n"
|
8
|
-
if copy_file "javascripts/store/showcase.js", "app/assets/javascripts/store/showcase.js"
|
9
|
-
puts "Copied showcase.js into app/assets/javascripts/store/showcase.js\n"
|
8
|
+
if copy_file "javascripts/store/showcase.js.erb", "app/assets/javascripts/store/showcase.js.erb"
|
9
|
+
puts "Copied showcase.js.erb into app/assets/javascripts/store/showcase.js.erb\n"
|
10
10
|
else
|
11
|
-
puts "[Failed] File copying showcase.js => app/assets/javascripts/store/showcase.js\n"
|
11
|
+
puts "[Failed] File copying showcase.js.erb => app/assets/javascripts/store/showcase.js.erb\n"
|
12
12
|
end
|
13
13
|
if copy_file "javascripts/store/jquery.flexslider.js", "app/assets/javascripts/store/jquery.flexslider.js"
|
14
14
|
puts "Copied jquery.flexslider.js into app/assets/javascripts/store/jquery.flexslider.js\n"
|
15
15
|
else
|
16
16
|
puts "[Failed] File copying jquery.flexslider.js => app/assets/javascripts/store/jquery.flexslider.js\n"
|
17
17
|
end
|
18
|
-
puts "Copying JS assets into your app's javascripts/store directory. The file showcase.js is required by the extension and is used to activate slideshow.\n"
|
18
|
+
puts "Copying JS assets into your app's javascripts/store directory. The file showcase.js.erb is required by the extension and is used to activate slideshow.\n"
|
19
19
|
end
|
20
20
|
|
21
21
|
def add_stylesheets
|
@@ -58,7 +58,8 @@ module SpreeShowcase
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def complete
|
61
|
-
puts "\nEverything is done! To summarize, _showcase.html.erb => HTML template, showcase.css.scss & showcase.js => assets. Edit these 3 files to fit run the slideshow."
|
61
|
+
puts "\nEverything is done! To summarize, _showcase.html.erb => HTML template, showcase.css.scss & showcase.js.erb => assets. Edit these 3 files to fit run the slideshow."
|
62
|
+
puts "\nPlease run rake assets:clean (IMPORTANT) to clear any precompiled assets from fresh install of Spree."
|
62
63
|
end
|
63
64
|
end
|
64
65
|
end
|
@@ -4,5 +4,13 @@ class Spree::ShowcaseConfiguration < Spree::Preferences::Configuration
|
|
4
4
|
preference :thumbnail_style, :string, :default=>"220x110#"
|
5
5
|
preference :showcase_style, :string, :default =>"940x470#"
|
6
6
|
preference :number_of_slides_to_show, :integer, :default=>4
|
7
|
+
|
8
|
+
preference :slideshow, :boolean, :default => true
|
9
|
+
preference :animation_type, :string, :default=>"fade"
|
10
|
+
preference :slideshow_speed, :integer, :default=>3000
|
11
|
+
preference :animation_duration, :integer, :default=>500
|
12
|
+
preference :randomize, :boolean, :default => false
|
13
|
+
preference :animation_loop, :boolean, :default => true
|
14
|
+
preference :pause_on_hover, :boolean, :default => true
|
7
15
|
end
|
8
16
|
|
data/spree_showcase.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
Gem::Specification.new do |s|
|
3
3
|
s.platform = Gem::Platform::RUBY
|
4
4
|
s.name = 'spree_showcase'
|
5
|
-
s.version = '0.5.
|
5
|
+
s.version = '0.5.3'
|
6
6
|
s.summary = 'A Simple Spree Slider'
|
7
7
|
s.description = 'A simple slider accommodator, using Flexslider as default'
|
8
8
|
s.required_ruby_version = '>= 1.8.7'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_showcase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: spree_core
|
@@ -146,11 +146,12 @@ files:
|
|
146
146
|
- app/views/spree/slides/_content_insert.html.erb
|
147
147
|
- app/views/spree/slides/_showcase.html.erb
|
148
148
|
- config/locales/en.yml
|
149
|
+
- config/locales/fr.yml
|
149
150
|
- config/routes.rb
|
150
151
|
- db/migrate/20120506161852_create_slides.rb
|
151
152
|
- db/migrate/20120507074922_add_position_to_slide.rb
|
152
153
|
- lib/generators/spree_showcase/install/assets/javascripts/store/jquery.flexslider.js
|
153
|
-
- lib/generators/spree_showcase/install/assets/javascripts/store/showcase.js
|
154
|
+
- lib/generators/spree_showcase/install/assets/javascripts/store/showcase.js.erb
|
154
155
|
- lib/generators/spree_showcase/install/assets/partials/_showcase.html.erb
|
155
156
|
- lib/generators/spree_showcase/install/assets/stylesheets/store/flexslider.css
|
156
157
|
- lib/generators/spree_showcase/install/assets/stylesheets/store/showcase.css.scss
|
@@ -160,8 +161,6 @@ files:
|
|
160
161
|
- lib/spree_showcase/engine.rb
|
161
162
|
- script/rails
|
162
163
|
- spec/spec_helper.rb
|
163
|
-
- spree_showcase-0.5.0.gem
|
164
|
-
- spree_showcase-0.5.1.gem
|
165
164
|
- spree_showcase.gemspec
|
166
165
|
homepage: http://theidealweb.com
|
167
166
|
licenses: []
|
@@ -1,32 +0,0 @@
|
|
1
|
-
//= require store/jquery.flexslider
|
2
|
-
// Put your own showcase trigger here if you wish to use another JS Library. Remember to require it in all.js or this file.
|
3
|
-
|
4
|
-
$(window).load(function() {
|
5
|
-
$('.flexslider').flexslider({
|
6
|
-
animation: "slide", //String: Select your animation type, "fade" or "slide"
|
7
|
-
slideDirection: "horizontal", //String: Select the sliding direction, "horizontal" or "vertical"
|
8
|
-
slideshow: true, //Boolean: Animate slider automatically
|
9
|
-
slideshowSpeed: 12000, //Integer: Set the speed of the slideshow cycling, in milliseconds
|
10
|
-
animationDuration: 500, //Integer: Set the speed of animations, in milliseconds
|
11
|
-
directionNav: false, //Boolean: Create navigation for previous/next navigation? (true/false)
|
12
|
-
controlNav: true, //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
|
13
|
-
keyboardNav: true, //Boolean: Allow slider navigating via keyboard left/right keys
|
14
|
-
mousewheel: false, //Boolean: Allow slider navigating via mousewheel
|
15
|
-
prevText: "Previous", //String: Set the text for the "previous" directionNav item
|
16
|
-
nextText: "Next", //String: Set the text for the "next" directionNav item
|
17
|
-
pausePlay: false, //Boolean: Create pause/play dynamic element
|
18
|
-
pauseText: 'Pause', //String: Set the text for the "pause" pausePlay item
|
19
|
-
playText: 'Play', //String: Set the text for the "play" pausePlay item
|
20
|
-
randomize: false, //Boolean: Randomize slide order
|
21
|
-
slideToStart: 0, //Integer: The slide that the slider should start on. Array notation (0 = first slide)
|
22
|
-
animationLoop: true, //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
|
23
|
-
pauseOnAction: true, //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
|
24
|
-
pauseOnHover: true, //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
|
25
|
-
controlsContainer: ".flex-container", //Selector: Declare which container the navigation elements should be appended too. Default container is the flexSlider element. Example use would be ".flexslider-container", "#container", etc. If the given element is not found, the default action will be taken.
|
26
|
-
manualControls: ".custom-controls li a", //Selector: Declare custom control navigation. Example would be ".flex-control-nav li" or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
|
27
|
-
start: function(){}, //Callback: function(slider) - Fires when the slider loads the first slide
|
28
|
-
before: function(){}, //Callback: function(slider) - Fires asynchronously with each slider animation
|
29
|
-
after: function(){}, //Callback: function(slider) - Fires after each slider animation completes
|
30
|
-
end: function(){} //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
|
31
|
-
});
|
32
|
-
});
|
data/spree_showcase-0.5.0.gem
DELETED
Binary file
|
data/spree_showcase-0.5.1.gem
DELETED
Binary file
|