diff --git a/app/models/communication/block/template/datatable.rb b/app/models/communication/block/template/datatable.rb index a6f3d5ec3e108b2d46941ca2597882e6ddbbd153..fce292fe3047e3850c2a12cc727aa72f36fc2319 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 d1111ef09d4c509a0f442f2b85fa839eb31ecdce..0b7a2e792e71e40c3917dafd87228dae9b2c590f 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 8ae4ebc8c1c46bd2cfd5cfa89edb3ccbac6db340..0f2d97f82a195167cea611bbb8fc389a2fff70ce 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 3036a3844fd021d239ed61492af4e733c4ebaa4c..b144606054efa65dd9ff50d34c8a370d0e31c5da 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 8b859957eed3033946da8cba02f38c6b92ffae4b..e40d7e023ae3ad9851e5171284005759633f50fe 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: