From 7f9dda07d58365137ee0d2675826168f3b94165d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Gaya?= <sebastien.gaya@gmail.com>
Date: Fri, 23 Dec 2022 12:57:49 +0100
Subject: [PATCH] definitions description

---
 app/models/communication/block/template/definition.rb  |  1 +
 app/views/admin/communication/blocks/edit.html.erb     | 10 +++-------
 .../blocks/templates/definitions/_edit.html.erb        | 10 +++++++---
 .../blocks/templates/definitions/_preview.html.erb     |  3 +++
 .../blocks/templates/definitions/_static.html.erb      |  1 +
 .../blocks/templates/testimonials/_edit.html.erb       | 10 ++++------
 config/locales/communication/fr.yml                    |  2 ++
 7 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/app/models/communication/block/template/definition.rb b/app/models/communication/block/template/definition.rb
index 5b444b404..7a59e07ea 100644
--- a/app/models/communication/block/template/definition.rb
+++ b/app/models/communication/block/template/definition.rb
@@ -1,5 +1,6 @@
 class Communication::Block::Template::Definition < Communication::Block::Template::Base
 
   has_elements
+  has_component :description, :rich_text
 
 end
diff --git a/app/views/admin/communication/blocks/edit.html.erb b/app/views/admin/communication/blocks/edit.html.erb
index 940c473ec..b37fbbce4 100644
--- a/app/views/admin/communication/blocks/edit.html.erb
+++ b/app/views/admin/communication/blocks/edit.html.erb
@@ -29,7 +29,7 @@
     </textarea>
     <% content_for :action_bar_left do %>
       <%= destroy_link @block %>
-      <%= link_to 'Dependencies', 
+      <%= link_to 'Dependencies',
                   [:admin, @block],
                   class: button_classes('btn-light') if current_user.server_admin? %>
     <% end %>
@@ -54,12 +54,8 @@
           blobUrlTemplate: "<%= rails_service_blob_url(":signed_id", ":filename").html_safe %>"
         },
         data: <%= @block.data.to_json.html_safe %>,
-        <% if @block.template.default_element %>
-        defaultElement: <%= @block.template
-                                  .default_element
-                                  .default_data
-                                  .to_json
-                                  .html_safe %>
+        <% if @element %>
+        defaultElement: <%= @element.default_data.to_json.html_safe %>
         <% end %>
       }
     },
diff --git a/app/views/admin/communication/blocks/templates/definitions/_edit.html.erb b/app/views/admin/communication/blocks/templates/definitions/_edit.html.erb
index d9967a01c..36a020b0c 100644
--- a/app/views/admin/communication/blocks/templates/definitions/_edit.html.erb
+++ b/app/views/admin/communication/blocks/templates/definitions/_edit.html.erb
@@ -1,4 +1,8 @@
-<% element = @block.template.default_element %>
+<div class="row">
+  <div class="col-xl-6">
+    <%= block_component_edit :description %>
+  </div>
+</div>
 
 <%= block_component_add_element t('.add_definition') %>
 
@@ -15,10 +19,10 @@
           <div class="flex-fill">
             <div class="row mb-n3">
               <div class="col-lg-5">
-                <%= block_component_edit :title, template: element %>
+                <%= block_component_edit :title, template: @element %>
               </div>
               <div class="col-lg-7">
-                <%= block_component_edit :description, template: element %>
+                <%= block_component_edit :description, template: @element %>
               </div>
             </div>
           </div>
diff --git a/app/views/admin/communication/blocks/templates/definitions/_preview.html.erb b/app/views/admin/communication/blocks/templates/definitions/_preview.html.erb
index c6b542a6b..1b04433fc 100644
--- a/app/views/admin/communication/blocks/templates/definitions/_preview.html.erb
+++ b/app/views/admin/communication/blocks/templates/definitions/_preview.html.erb
@@ -1,3 +1,6 @@
+<div class="description">
+  <%= block_component_preview :description %>
+</div>
 <div class="definitions">
   <% @block.template.elements.each do |element| %>
     <details itemscope itemtype="https://schema.org/DefinedTerm">
diff --git a/app/views/admin/communication/blocks/templates/definitions/_static.html.erb b/app/views/admin/communication/blocks/templates/definitions/_static.html.erb
index dfdf9bfae..fd9afb253 100644
--- a/app/views/admin/communication/blocks/templates/definitions/_static.html.erb
+++ b/app/views/admin/communication/blocks/templates/definitions/_static.html.erb
@@ -1,3 +1,4 @@
+<%= block_component_static :description %>
       elements:
 <% block.template.elements.each do |element| %>
 <%= block_component_static :title, template: element, list: true, depth: 4 %>
diff --git a/app/views/admin/communication/blocks/templates/testimonials/_edit.html.erb b/app/views/admin/communication/blocks/templates/testimonials/_edit.html.erb
index 2776eed68..fbc91a554 100644
--- a/app/views/admin/communication/blocks/templates/testimonials/_edit.html.erb
+++ b/app/views/admin/communication/blocks/templates/testimonials/_edit.html.erb
@@ -1,5 +1,3 @@
-<% element = @block.template.default_element %>
-
 <%= block_component_add_element t('.add_testimonial') %>
 
 <draggable :list="data.elements" handle=".dragHandle" class="row">
@@ -13,14 +11,14 @@
       <div class="flex-fill">
         <div class="row mb-n3">
           <div class="col-lg-4">
-            <%= block_component_edit :text, template: element %>
+            <%= block_component_edit :text, template: @element %>
           </div>
           <div class="col-lg-4">
-            <%= block_component_edit :author, template: element %>
-            <%= block_component_edit :job, template: element %>
+            <%= block_component_edit :author, template: @element %>
+            <%= block_component_edit :job, template: @element %>
           </div>
           <div class="col-lg-4">
-            <%= block_component_edit :photo, template: element %>
+            <%= block_component_edit :photo, template: @element %>
           </div>
         </div>
       </div>
diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml
index 8ba6c0674..8b859957e 100644
--- a/config/locales/communication/fr.yml
+++ b/config/locales/communication/fr.yml
@@ -285,6 +285,8 @@ fr:
             edit:
               add_definition: Ajouter une définition
               remove_definition: Supprimer la définition
+              description:
+                label: Description
               element:
                 title:
                   label: Titre
-- 
GitLab