Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions app/assets/javascripts/app/buttons.js
Original file line number Diff line number Diff line change
@@ -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 = $("<a class='editable-amendment'>").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("<a class='new-text'></a>")


$('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');
}
29 changes: 16 additions & 13 deletions app/views/codes/index.html.erb
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@


<body>


<div class="container">
<div class="row">
<div class="col-xs-8 col-xs-offset-2 col-sm-8 col-sm-offset-2">
<div class="col-xs-10 col-xs-offset-1 col-sm-8 col-sm-offset-2">

<h1>Les codes de loi</h1>
<br>
<ul>

<% @codes.each do |code| %>
<li>
<h4><%= code.title %></h4>
<p><%= code.description %></p>
<p><%= link_to 'Details', code_path(code), class: 'btn btn-default' %></p>
</li>
<% end %>
</ul>
<div class="col-xs-10">
<ul class="list-inline">
<li>
<h4><%= code.title %></h4>
<p><%= code.description %></p>
</li>
</div>
<div class="col-xs-2">
<%= link_to "Voir le code", code_path(code), class: 'btn btn-default' %>
</ul>
</div>
<% end %>

</div>
</div>
</div>
</body>
Expand Down
2 changes: 1 addition & 1 deletion app/views/codes/show.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<div class="container">

<div class="row">
<div class="col-xs-10 col-xs-offset-1 col-xs-10 col-xs-offset-2">
<div class="col-xs-10 col-xs-offset-1 col-sm-8 col-sm-offset-2">


<h1><%= @code.title %></h1>
Expand Down
3 changes: 2 additions & 1 deletion app/views/laws/show.html.erb
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<div class="container">

<div class="row">
<div class="col-xs-7">
<div class="col-xs-10 col-xs-offset-1 col-sm-8 col-sm-offset-2">



<h1><%= @law.title %></h1>
Expand Down
48 changes: 48 additions & 0 deletions db/seeds.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand 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!(
Expand Down