From 9e43b15600276b860c09a940af6856a2ed251492 Mon Sep 17 00:00:00 2001 From: Amelie Beurrier Date: Thu, 5 Mar 2015 16:34:06 +0100 Subject: [PATCH] page code --- app/assets/javascripts/app/buttons.js | 93 +++++++++++++++++++++++++++ app/views/codes/index.html.erb | 29 +++++---- app/views/codes/show.html.erb | 2 +- app/views/laws/show.html.erb | 3 +- db/seeds.rb | 48 ++++++++++++++ 5 files changed, 160 insertions(+), 15 deletions(-) create mode 100644 app/assets/javascripts/app/buttons.js diff --git a/app/assets/javascripts/app/buttons.js b/app/assets/javascripts/app/buttons.js new file mode 100644 index 0000000..88b0ae0 --- /dev/null +++ b/app/assets/javascripts/app/buttons.js @@ -0,0 +1,93 @@ +$(document).ready(function() { + +// mode lecture : cliquer sur une zone de texte surlignée permet d'afficher son amendement correspdt + $('.amendment').on('click', function(e) { // on click sur l'amendement texte + e.preventDefault(); // j'annule le comportement par défault au click, par exemple, au click sur un lien = ça remonte la page + + var amendmentId = $(this).data('amendmentid'); // on choppe l'id de l'amendment + var that = $(this); // trick js + + 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 ;) + } 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 + getAmendment(amendmentId); + } + } + else { + getAmendment(amendmentId); + } + + // mode lecture : affiche également les zones de texte également concernées par le même amendement + function getAmendment(amendmentId) { + $('#amendment_details_' + amendmentId).toggleClass('bg-active').toggleClass('hidden'); + $('.amendment.active').toggleClass('active'); + that.toggleClass('active'); + } + }) +}) + +// mode edition d'un amendement +$(document).on('click', '.btn-edition', function(){ // enter edition mode + console.log("j'édite") + $(this).removeClass('btn-edition').addClass('btn-edition-close') // btn pour js + makeEditable() + editionMode() +}) + +$(document).on('click', '.btn-edition-close', function(){ // escape edition mode + console.log("je n'édite plus") + $(this).removeClass('btn-edition-close').addClass('btn-edition').addClass('btn-success') + makeReadable() +}) + + +// sélection de la zone de texte à modifier +function editionMode() { + $(document).on('mouseup', '.editable', function(){ + if (window.getSelection().toString().length != 0) { + $('.initial-selection h3 span').text(window.getSelection().toString()) + + // TODO : remove hidden class on add box + $('.new-amendment').removeClass('hidden'); + $('body').on('click', '.btn-text-replace', function(){ + textIncrementation() + $('.btn-text-replace').addClass('hidden') + $('.form-container').removeClass('hidden') + + }) + + } else { + console.log('ajouter un nouveau truc') + } + }) +} + +// incrémentation de la nouvelle zone de texte +function textIncrementation() { + var selection = window.getSelection().toString() + var selectionToMatch = $("").text(window.getSelection().toString())[0].outerHTML + var textToReplace = $('.article-area article').html() + var newText = textToReplace.replace(selection, selectionToMatch) + $('.article-area article').html(newText) + $('.editable-amendment').after("") + + + $('body').on('keyup', '#amendment_content', function(){ + if (!$('.editable-amendment').hasClass('replaced')) { + $('.editable-amendment').addClass('replaced') + } + var newText = $('#amendment_content').val() + $('.new-text').text(newText) + }) +} + +function makeEditable() { + $('.article-area').addClass('editable'); +} + +function makeReadable() { + $('.article-area').removeClass('editable'); +} diff --git a/app/views/codes/index.html.erb b/app/views/codes/index.html.erb index b8a4483..9cbad03 100644 --- a/app/views/codes/index.html.erb +++ b/app/views/codes/index.html.erb @@ -1,23 +1,26 @@ - - - - +
-
+

Les codes de loi


-
    + <% @codes.each do |code| %> -
  • -

    <%= code.title %>

    -

    <%= code.description %>

    -

    <%= link_to 'Details', code_path(code), class: 'btn btn-default' %>

    -
  • - <% end %> -
+
+
    +
  • +

    <%= code.title %>

    +

    <%= code.description %>

    +
  • +
+
+ <%= link_to "Voir le code", code_path(code), class: 'btn btn-default' %> + +
+ <% end %> +
diff --git a/app/views/codes/show.html.erb b/app/views/codes/show.html.erb index a8e3749..69719b7 100644 --- a/app/views/codes/show.html.erb +++ b/app/views/codes/show.html.erb @@ -3,7 +3,7 @@
-
+

<%= @code.title %>

diff --git a/app/views/laws/show.html.erb b/app/views/laws/show.html.erb index f5081da..d1d6e0a 100644 --- a/app/views/laws/show.html.erb +++ b/app/views/laws/show.html.erb @@ -1,7 +1,8 @@
-
+
+

<%= @law.title %>

diff --git a/db/seeds.rb b/db/seeds.rb index 909e2f6..32544cf 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -20,6 +20,30 @@ { title: "Code de l'environnement", description: "Code des plantes et des fleurs", + }, + { + title: "Code pénal", + description: "Code pénal", + }, + { + title: "Code civil", + description: "Code du mariage et des enfants", + }, + { + title: "Code de la recherche", + description: "Code de la recherche, des bourses et de l'enseignement universitaire", + }, + { + title: "Code de la propriété intellectuelle", + description: "PI, R&D et brevets", + }, + { + title: "Code du travail", + description: "Métro, boulot, dodo", + }, + { + title: "Code de la route", + description: "Feux verts, priorités et stops", }] Law.destroy_all @@ -43,12 +67,36 @@ LawArticle.destroy_all law = laws[0] +law_article1 = law.law_articles.create!( + article_number: "Article 1", + content: "abc", + object: "abc", + status: "abc" +) law_article = law.law_articles.create!( article_number: "Article 2", content: "L'éducation est la première priorité nationale. Le service public de l'éducation est conçu et organisé en fonction des élèves et des étudiants. Il contribue à l'égalité des chances et à lutter contre les inégalités sociales et territoriales en matière de réussite scolaire et éducative. Il reconnaît que tous les enfants partagent la capacité d'apprendre et de progresser. Il veille à l'inclusion scolaire de tous les enfants, sans aucune distinction. Il veille également à la mixité sociale des publics scolarisés au sein des établissements d'enseignement. Pour garantir la réussite de tous, l'école se construit avec la participation des parents, quelle que soit leur origine sociale. Elle s'enrichit et se conforte par le dialogue et la coopération entre tous les acteurs de la communauté éducative.\n\nOutre la transmission des connaissances, la Nation fixe comme mission première à l'école de faire partager aux élèves les valeurs de la République. Le service public de l'éducation fait acquérir à tous les élèves le respect de l'égale dignité des êtres humains, de la liberté de conscience et de la laïcité. Par son organisation et ses méthodes, comme par la formation des maîtres qui y enseignent, il favorise la coopération entre les élèves.\n\nDans l'exercice de leurs fonctions, les personnels mettent en oeuvre ces valeurs.\n\nLe droit à l'éducation est garanti à chacun afin de lui permettre de développer sa personnalité, d'élever son niveau de formation initiale et continue, de s'insérer dans la vie sociale et professionnelle, d'exercer sa citoyenneté.\n\nPour garantir ce droit dans le respect de l'égalité des chances, des aides sont attribuées aux élèves et aux étudiants selon leurs ressources et leurs mérites. La répartition des moyens du service public de l'éducation tient compte des différences de situation, notamment en matière économique et sociale.\n\nElle a pour but de renforcer l'encadrement des élèves dans les écoles et établissements d'enseignement situés dans des zones d'environnement social défavorisé et des zones d'habitat dispersé, et de permettre de façon générale aux élèves en difficulté, quelle qu'en soit l'origine, en particulier de santé, de bénéficier d'actions de soutien individualisé.\n\nL'école garantit à tous les élèves l'apprentissage et la maîtrise de la langue française.\n\nL'acquisition d'une culture générale et d'une qualification reconnue est assurée à tous les jeunes, quelle que soit leur origine sociale, culturelle ou géographique.", object: "Modifie l'article L.111-1 du Code de l'éducation", status: "en discussion" ) +law_article3 = law.law_articles.create!( + article_number: "Article 3", + content: "abc", + object: "abc", + status: "abc" +) +law_article4 = law.law_articles.create!( + article_number: "Article 4", + content: "abc", + object: "abc", + status: "abc" +) +law_article5 = law.law_articles.create!( + article_number: "Article 5", + content: "abc", + object: "abc", + status: "abc" +) Amendment.destroy_all law_article.amendments.create!(