diff --git a/Gemfile b/Gemfile index 0909b79..c765e30 100644 --- a/Gemfile +++ b/Gemfile @@ -24,6 +24,8 @@ group :assets do end gem 'jquery-rails' +gem 'jquery-ui-rails' +gem "raptor-editor-rails" # To use ActiveModel has_secure_password # gem 'bcrypt-ruby', '~> 3.0.0' diff --git a/Gemfile.lock b/Gemfile.lock index a263397..8e8bbfe 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -78,6 +78,9 @@ GEM jquery-rails (2.1.4) railties (>= 3.0, < 5.0) thor (>= 0.14, < 2.0) + jquery-ui-rails (4.0.1) + jquery-rails + railties (>= 3.1.0) json (1.7.6) kaminari (0.14.1) actionpack (>= 3.0.0) @@ -130,6 +133,8 @@ GEM rdoc (~> 3.4) thor (>= 0.14.6, < 2.0) rake (10.0.3) + raptor-editor-rails (0.2.1) + rails (> 3.1) rdoc (3.12) json (~> 1.4) redcarpet (2.2.2) @@ -182,12 +187,14 @@ DEPENDENCIES gravatar_image_tag haml jquery-rails + jquery-ui-rails kaminari mysql2 nokogiri pg pygments.rb rails (= 3.2.9) + raptor-editor-rails redcarpet rmagick rvm-capistrano diff --git a/app/assets/images/plaquettes/Capture d’écran 2013-03-07 à 11.58.00.png b/app/assets/images/plaquettes/Capture d’écran 2013-03-07 à 11.58.00.png new file mode 100644 index 0000000..0b56e6d Binary files /dev/null and b/app/assets/images/plaquettes/Capture d’écran 2013-03-07 à 11.58.00.png differ diff --git a/app/assets/images/plaquettes/insectes_01.jpg b/app/assets/images/plaquettes/insectes_01.jpg new file mode 100644 index 0000000..efb9f7d Binary files /dev/null and b/app/assets/images/plaquettes/insectes_01.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_1/1.jpg b/app/assets/images/plaquettes/insectes_jeu_1/1.jpg new file mode 100755 index 0000000..f3ba711 Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_1/1.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_1/2.jpg b/app/assets/images/plaquettes/insectes_jeu_1/2.jpg new file mode 100755 index 0000000..5b9eecc Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_1/2.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_1/3.jpg b/app/assets/images/plaquettes/insectes_jeu_1/3.jpg new file mode 100755 index 0000000..282ff76 Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_1/3.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_1/4.jpg b/app/assets/images/plaquettes/insectes_jeu_1/4.jpg new file mode 100755 index 0000000..cb5f228 Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_1/4.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_1/5.jpg b/app/assets/images/plaquettes/insectes_jeu_1/5.jpg new file mode 100755 index 0000000..3c5b35d Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_1/5.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_1/6.jpg b/app/assets/images/plaquettes/insectes_jeu_1/6.jpg new file mode 100755 index 0000000..cb5f228 Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_1/6.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_1/7.jpg b/app/assets/images/plaquettes/insectes_jeu_1/7.jpg new file mode 100755 index 0000000..3c5b35d Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_1/7.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_1/8.jpg b/app/assets/images/plaquettes/insectes_jeu_1/8.jpg new file mode 100755 index 0000000..282ff76 Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_1/8.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_2/1.jpg b/app/assets/images/plaquettes/insectes_jeu_2/1.jpg new file mode 100755 index 0000000..a90a61c Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_2/1.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_2/2.jpg b/app/assets/images/plaquettes/insectes_jeu_2/2.jpg new file mode 100755 index 0000000..9f8ce07 Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_2/2.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_2/3.jpg b/app/assets/images/plaquettes/insectes_jeu_2/3.jpg new file mode 100755 index 0000000..b02f94c Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_2/3.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_2/4.jpg b/app/assets/images/plaquettes/insectes_jeu_2/4.jpg new file mode 100755 index 0000000..f9f8a96 Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_2/4.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_2/5.jpg b/app/assets/images/plaquettes/insectes_jeu_2/5.jpg new file mode 100755 index 0000000..76d7c89 Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_2/5.jpg differ diff --git a/app/assets/images/plaquettes/insectes_jeu_2/6.jpg b/app/assets/images/plaquettes/insectes_jeu_2/6.jpg new file mode 100755 index 0000000..61c5403 Binary files /dev/null and b/app/assets/images/plaquettes/insectes_jeu_2/6.jpg differ diff --git a/app/assets/javascripts/plaquettes.js b/app/assets/javascripts/plaquettes.js new file mode 100644 index 0000000..084949a --- /dev/null +++ b/app/assets/javascripts/plaquettes.js @@ -0,0 +1,135 @@ +//= require jquery +//= require jquery_ujs +//= require jquery-ui + + + + + +$(document).ready(function(){ + + function initialize_jeu_1(){ + var element = $("#insectes_jeu_1") + + var html = element.find(".sortable").html(); + + element.find(".sortable").sortable(); + element.find(".sortable").disableSelection(); + + element.find(".verif").bind("click", function(){ + + var win = true; + + var i = 0; + + element.find("img").each(function(){ + i = i+1; + if(i != $(this).data("order")){ + win = false; + } + + + + }); + if(win == true){ + element.find(".win").show(); + element.find(".loose").hide(); + }else{ + element.find(".win").hide(); + element.find(".loose").show(); + } + }); + + + + element.find(".reset").click(function(){ + element.find(".sortable").html(html); + element.find(".sortable").sortable("refresh"); + element.find(".win").hide(); + element.find(".loose").hide(); + + }); + + } + + + function initialize_jeu_2(){ + var element = $("#insectes_jeu_2") + + var html = element.find(".sortable").html(); + + + element.find(".receptable").sortable({ + connectWith: '.labels,.receptable', + items: '.label', + tolerance:"pointer", + receive: function(event, ui) { + + if ($(this).children().length > 1) { + var child = $(this).children().not(ui.item)[0] + + element.find(".labels").append(child); + + } + } + }); + element.find(".receptable ul").disableSelection(); + + element.find(".labels").sortable({ + connectWith: '.receptable', + tolerance:"pointer", + items: '.label', + receive: function(event, ui){ui.item.attr('style','');} + + + + }); + element.find(".labels").disableSelection(); + + element.find(".verif").bind("click", function(){ + + var win = true; + + var i = 0; + + element.find("img").each(function(){ + i = i+1; + if(i != $(this).data("order")){ + win = false; + } + + + + }); + if(win == true){ + element.find(".win").show(); + element.find(".loose").hide(); + }else{ + element.find(".win").hide(); + element.find(".loose").show(); + } + }); + + + + element.find(".reset").click(function(){ + element.find(".sortable").html(html); + element.find(".sortable").sortable("refresh"); + element.find(".win").hide(); + element.find(".loose").hide(); + + }); + + } + + initialize_jeu_1(); + initialize_jeu_2(); + + + + +}); + + + + diff --git a/app/assets/stylesheets/plaquettes.css.scss b/app/assets/stylesheets/plaquettes.css.scss new file mode 100644 index 0000000..2183d2d --- /dev/null +++ b/app/assets/stylesheets/plaquettes.css.scss @@ -0,0 +1,109 @@ +/* + + *= require_self + + */ + + h3{ + margin-top:6em; + border-bottom:1px dotted #b0cf81; + padding-bottom:0.2em; + + } + #main{ + padding:1em; +max-width:1024px; + margin:auto; + a{ + color: #5890CD; + text-decoration:none; + + &:hover{ + text-decoration:underline; + } + } + table{ + border-collapse:collapse; + td{ + min-width:60px; + + + } + td, th{ + border: 1px solid #c9c9c9; + padding:5px; + text-align:left; + } + } + + } + body{ + font-family: "Lucida Grande", "Verdana"; + + color:#303030; + padding:0px; + margin:0px; + } + + #footer{ + + } + +#insectes_jeu_2{ + .labels{ + min-height:100px; + + .label{ + background:#555555; + display:inline-block; + margin-left:5px; + margin-bottom:5px; + padding:0.5em 1em; + color:white; + border-radius:1.2em; + + + + } + + } + .image{ + float:left; + width:300px; + height:200px; + padding:0em; + padding-bottom:2em !important; + + + img{ + max-width:100%; + max-height:100%; + } + position:relative; + text-align:center; + padding-bottom:1em; + + .receptable{ + border:1px solid black; + + .label{ + text-align:center; + position:absolute; + padding-bottom:0.5em; + bottom:0px; + left:0px; + right:0px; + } + + position:absolute; + top:0px; + bottom:0px; + left:0px; + right:0px; + + } + } + +} + + diff --git a/app/controllers/plaquettes_controller.rb b/app/controllers/plaquettes_controller.rb new file mode 100644 index 0000000..06c9dbf --- /dev/null +++ b/app/controllers/plaquettes_controller.rb @@ -0,0 +1,13 @@ +# -*- encoding : utf-8 -*- + + +class PlaquettesController < ApplicationController + + + def show + + + render :template => "plaquettes/"+params[:slug].to_s + + end +end diff --git a/app/helpers/plaquettes_helper.rb b/app/helpers/plaquettes_helper.rb new file mode 100644 index 0000000..fa7b5c6 --- /dev/null +++ b/app/helpers/plaquettes_helper.rb @@ -0,0 +1,19 @@ +# -*- encoding : utf-8 -*- +module PlaquettesHelper + + def jeux_sortable_img(jeux, nbr, style="width:150px;") + image_tag('plaquettes/'+jeux.to_s+"/"+nbr.to_s+".jpg", :"data-order" => nbr, :style => style) + end + + + def jeux_receptable_element(jeux,nbr, style ="") + + raw("