Skip to content
Snippets Groups Projects
Commit eac38923 authored by Olivia Simonet's avatar Olivia Simonet
Browse files

refactor block definition incomplete

parent 27b3502b
No related branches found
No related tags found
No related merge requests found
class Communication::Block::Template::Definition < Communication::Block::Template::Base
def definitions
@definitions ||= elements.map { |element| definition(element) }
.compact
end
protected
has_elements Communication::Block::Template::Definition::Definition
def definition(element)
element.to_dot
end
end
class Communication::Block::Template::Definition::Definition < Communication::Block::Template::Base
has_string :title
has_text :description
end
<a class="<%= button_classes('mb-4') %>"
v-on:click="data.elements.push({title: '', text: ''})">
<%= t '.add_definition' %>
</a>
<% element = @block.template.default_element %>
<%= block_component_add_element t('.add_definition') %>
<draggable :list="data.elements" handle=".dragHandle" class="row">
<div v-for="(definition, index) in data.elements" class="col-md-4">
<div v-for="(element, index) in data.elements" class="col-md-4">
<div class="card">
<div class="card-body">
<div class="d-flex">
......@@ -14,6 +13,26 @@
</a>
</div>
<div class="flex-fill">
<%= block_component_edit :title, template: element %>
<%= block_component_edit :description, template: element %>
</div>
<div>
<a class="btn btn-sm btn-danger ms-3"
v-on:click="data.elements.splice(data.elements.indexOf(element), 1)"
title="<%= t '.remove_definition' %>">
<i class="fas fa-times"></i>
</a>
</div>
</div>
</div>
</div>
</div>
</draggable>
<!-- >
<label class="form-label"
:for="'definition-' + index + '-title'"><%= t '.title_label' %></label>
<input class="form-control mb-3"
......@@ -29,16 +48,4 @@
v-model="definition.text"
placeholder="<%= t '.text_placeholder' %>"
:id="'definition-' + index + '-text'"></textarea>
</div>
<div>
<a class="btn btn-sm btn-danger ms-3"
v-on:click="data.elements.splice(data.elements.indexOf(definition), 1)"
title="<%= t '.remove_definition' %>">
<i class="fas fa-times"></i>
</a>
</div>
</div>
</div>
</div>
</div>
</draggable>
<!-->
<dl>
<% @block.template.definitions.each do |definition| %>
<dt><%= definition.title %></dt>
<dd><%= definition.text %></dd>
<% end %>
</dl>
<% @block.template.elements.each do |element| %>
<p class="lead mb-0">
<b>
<%= block_component_preview :title, template: element %>
</b>
</p>
<%= block_component_preview :description, template: element %>
<% end %>
<% block.template.definitions.each do |definition| %>
- title: >-
<%= prepare_html_for_static definition.title, about.university %>
text: >-
<%= prepare_html_for_static definition.text, about.university %>
<% block.template.elements.each do |element| %>
<%= block_component_static :title, template: element, depth:4, list: true %>
<%= block_component_static :description, template: element, depth: 5 %>
<% end %>
......@@ -194,10 +194,13 @@ en:
edit:
add_definition: Add definition
remove_definition: Delete definition
title_label: Title
title_placeholder: Enter title here
text_label: Text
text_placeholder: Enter text here
element:
title:
label: Title
placeholder: Enter title here
description:
label: Text
placeholder: Enter text here
embed:
description: HTML raw code, so you can integrate maps or iframe components.
edit:
......
......@@ -200,10 +200,13 @@ fr:
edit:
add_definition: Ajouter une définition
remove_definition: Supprimer la définition
title_label: Titre
title_placeholder: Entrer le titre de la définition
text_label: Texte
text_placeholder: Entrer la description de la définition
element:
title:
label: Titre
placeholder: Entrer le titre de la définition
description:
label: Texte
placeholder: Entrer la description de la définition
embed:
description: Du code HTML brut, permettant d'intégrer des cartes ou divers composants en iframe.
edit:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment