diff --git a/Gemfile b/Gemfile index 33b634e..d25662e 100644 --- a/Gemfile +++ b/Gemfile @@ -24,6 +24,7 @@ gem "font-awesome-sass" gem "rails-i18n" gem "devise-i18n" gem "devise-i18n-views" +gem 'react-rails', '~> 1.0.0.pre', github: 'reactjs/react-rails' gem "mechanize" diff --git a/Gemfile.lock b/Gemfile.lock index 2d4e904..2c0495b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -16,6 +16,17 @@ GIT ransack (~> 1.3) sass-rails +GIT + remote: git://github.com/reactjs/react-rails.git + revision: 901c8f68445df849642394cdf9859d293dc13f04 + specs: + react-rails (1.0.0.pre) + coffee-script-source (~> 1.9) + connection_pool + execjs + rails (>= 3.1) + react-source (~> 0.12) + GEM remote: https://rubygems.org/ remote: https://rails-assets.org/ @@ -105,6 +116,7 @@ GEM execjs coffee-script-source (1.9.1) columnize (0.9.0) + connection_pool (2.1.2) countries (0.9.3) currencies (~> 0.4.2) country_select (2.1.1) @@ -259,6 +271,7 @@ GEM activesupport (>= 3.0) i18n polyamorous (~> 1.1) + react-source (0.12.2) responders (2.1.0) railties (>= 4.2.0, < 5) sass (3.4.12) @@ -332,6 +345,7 @@ DEPENDENCIES rails (= 4.2.0) rails-i18n rails_12factor + react-rails (~> 1.0.0.pre)! sass-rails (~> 5.0) simple_form spring diff --git a/app/assets/javascripts/app/sideBoxService.js b/app/assets/javascripts/app/sideBoxService.js index b0015cb..8987d8e 100644 --- a/app/assets/javascripts/app/sideBoxService.js +++ b/app/assets/javascripts/app/sideBoxService.js @@ -9,7 +9,8 @@ $(document).ready(function() { if ($('.bg-active').length) { // si il y a déjà un amendement displayed if (that.hasClass('active')) { // si on click sur le l'amendment déjà display - // il ne se passe rien car c'est déjà display ;) + $('.active').removeClass('active'); + $('.bg-active').removeClass('bg-active').addClass('hidden') // on reclique et la box se ferme } else { $('.active').removeClass('active'); // sinon, on remove l'état actif des éléments actifs $('.bg-active').removeClass('bg-active').addClass('hidden'); // on enlève l'amendement précédent de la box @@ -31,6 +32,9 @@ $(document).ready(function() { // mode edition d'un amendement $(document).on('click', '.btn-edition', function(){ // enter edition mode +console.log("je ferme toutes les box actives de lecture d'amendement") + $('.active').removeClass('active'); // ferme les boxes d'amendement + $('.bg-active').removeClass('bg-active').addClass('hidden') console.log("j'édite") $(this).removeClass('btn-edition').addClass('btn-edition-close') // btn pour js makeEditable() @@ -48,7 +52,8 @@ $(document).on('click', '.btn-edition-close', function(){ // escape edition mode function editionMode() { $(document).on('mouseup', '.editable', function(){ if (window.getSelection().toString().length != 0) { - $('.initial-selection h3 span').text(window.getSelection().toString()) + $('.initial-selection p span').text(window.getSelection().toString()) + $('.btn-text-replace').removeClass('hidden') // TODO : remove hidden class on add box $('.new-amendment').removeClass('hidden'); @@ -69,9 +74,9 @@ function editionMode() { function textIncrementation() { var selection = window.getSelection().toString() var selectionToMatch = $("").text(window.getSelection().toString())[0].outerHTML - var textToReplace = $('.article-area p').html() + var textToReplace = $('.article-area article').html() var newText = textToReplace.replace(selection, selectionToMatch) - $('.article-area p').html(newText) + $('.article-area article').html(newText) $('.editable-amendment').after("") @@ -84,6 +89,13 @@ function textIncrementation() { }) } +//annuler saisie et sortir du formulaire +$('.cancel').on('click', function(){ + $('.active').removeClass('active'); // sinon, on remove l'état actif des éléments actifs + $('.form-container').addClass('hidden'); // on enlève l'amendement précédent de la box +} + ) + function makeEditable() { $('.article-area').addClass('editable'); } diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 443464b..519780a 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -2,6 +2,9 @@ //= require jquery_ujs //= require bootstrap-sprockets +//= require react +//= require react_ujs +//= require components //= require_tree ./app diff --git a/app/assets/javascripts/components.js b/app/assets/javascripts/components.js new file mode 100644 index 0000000..9ce7a4f --- /dev/null +++ b/app/assets/javascripts/components.js @@ -0,0 +1 @@ +//= require_tree ./components diff --git a/app/assets/javascripts/components/.gitkeep b/app/assets/javascripts/components/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/assets/javascripts/components/EditableMode.js.jsx b/app/assets/javascripts/components/EditableMode.js.jsx new file mode 100644 index 0000000..40be38f --- /dev/null +++ b/app/assets/javascripts/components/EditableMode.js.jsx @@ -0,0 +1,46 @@ +var EditableMode = React.createClass({ + render: function() { + return ( +
+ ) + } +}) \ No newline at end of file diff --git a/app/assets/stylesheets/pages/_law.scss b/app/assets/stylesheets/pages/_law.scss index 06cd2cf..077db07 100644 --- a/app/assets/stylesheets/pages/_law.scss +++ b/app/assets/stylesheets/pages/_law.scss @@ -1,8 +1,8 @@ .list-article { font-size: 20px; font-style: italic; - color: #29A4AB; + color: $red-parol; &:hover { - color: #024462; + color: $red-parol-hover; } -} \ No newline at end of file +} diff --git a/app/views/amendments/edit.html.erb b/app/views/amendments/edit.html.erb index 77ec71b..039d24f 100644 --- a/app/views/amendments/edit.html.erb +++ b/app/views/amendments/edit.html.erb @@ -1,21 +1,21 @@ -<%= code.description %>
-<%= link_to 'Details', code_path(code) %>
+<%= link_to 'Details', code_path(code), class: 'btn btn-default' %>
<%= link_to 'Retour à la liste', codes_path, class: 'btn btn-primary' %> +
<%= link_to 'Retour à la liste', codes_path, class: 'btn btn-default' %>