From dabbc1242b6c67ad7b3b701699fc3b733226b9c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Gaya?= <sebastien.gaya@gmail.com> Date: Mon, 26 Dec 2022 11:59:11 +0100 Subject: [PATCH] Description + Alphabetical order in datatable elements --- app/models/communication/block/template/datatable.rb | 10 ++++++++++ .../blocks/templates/datatable/_edit.html.erb | 10 ++++++++++ .../blocks/templates/datatable/_preview.html.erb | 4 ++++ .../blocks/templates/datatable/_static.html.erb | 1 + config/locales/communication/fr.yml | 4 ++++ 5 files changed, 29 insertions(+) diff --git a/app/models/communication/block/template/datatable.rb b/app/models/communication/block/template/datatable.rb index a6f3d5ec3..fce292fe3 100644 --- a/app/models/communication/block/template/datatable.rb +++ b/app/models/communication/block/template/datatable.rb @@ -3,5 +3,15 @@ class Communication::Block::Template::Datatable < Communication::Block::Template has_elements has_component :columns, :array has_component :caption, :text + has_component :description, :rich_text + has_component :alphabetical, :boolean + def elements + if alphabetical + @elements.sort_by! do |element| + "#{element.cells&.first&.to_s&.parameterize&.downcase}" + end + end + @elements + end end diff --git a/app/views/admin/communication/blocks/templates/datatable/_edit.html.erb b/app/views/admin/communication/blocks/templates/datatable/_edit.html.erb index d1111ef09..0b7a2e792 100644 --- a/app/views/admin/communication/blocks/templates/datatable/_edit.html.erb +++ b/app/views/admin/communication/blocks/templates/datatable/_edit.html.erb @@ -1,3 +1,13 @@ +<div class="row"> + <div class="col-xl-6"> + <%= block_component_edit :description %> + </div> + <div class="col-xl-6"> + <label class="form-label"> </label> + <%= block_component_edit :alphabetical %> + </div> +</div> + <div class="table-responsive mb-5"> <div class="fake-table table"> <div class="thead"> diff --git a/app/views/admin/communication/blocks/templates/datatable/_preview.html.erb b/app/views/admin/communication/blocks/templates/datatable/_preview.html.erb index 8ae4ebc8c..0f2d97f82 100644 --- a/app/views/admin/communication/blocks/templates/datatable/_preview.html.erb +++ b/app/views/admin/communication/blocks/templates/datatable/_preview.html.erb @@ -1,3 +1,7 @@ +<div class="description"> + <%= block_component_preview :description %> +</div> + <div class="table-responsive"> <caption><%= block_component_preview :caption %></caption> <table class="<%= table_classes %>"> diff --git a/app/views/admin/communication/blocks/templates/datatable/_static.html.erb b/app/views/admin/communication/blocks/templates/datatable/_static.html.erb index 3036a3844..b14460605 100644 --- a/app/views/admin/communication/blocks/templates/datatable/_static.html.erb +++ b/app/views/admin/communication/blocks/templates/datatable/_static.html.erb @@ -1,3 +1,4 @@ +<%= block_component_static :description %> <%= block_component_static :columns %> rows: <% block.template.elements.each do |element| %> diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml index 8b859957e..e40d7e023 100644 --- a/config/locales/communication/fr.yml +++ b/config/locales/communication/fr.yml @@ -277,9 +277,13 @@ fr: datatable: description: Un tableau de données, aussi responsive et accessible que possible. edit: + alphabetical: + label: Ordre alphabétique caption: label: Transcription textuelle placeholder: Entrer ici la transcription textuelle du tableau + description: + label: Description definitions: description: Une liste de termes et leur définition. Un genre de dictionnaire, finalement. edit: -- GitLab