From fcfc2077580b6b2b92a2d582196f1649cf1bbf07 Mon Sep 17 00:00:00 2001 From: alexisben <alexiben7@gmail.com> Date: Tue, 17 May 2022 19:02:59 +0200 Subject: [PATCH] Block key_figures --- .../blocks/templates/key_figures.jpg | Bin 0 -> 18027 bytes app/models/communication/block.rb | 1 + .../block/template/key_figure.rb | 15 ++++++ .../templates/key_figures/_edit.html.erb | 50 ++++++++++++++++++ .../templates/key_figures/_preview.html.erb | 0 .../templates/key_figures/_static.html.erb | 9 ++++ config/locales/communication/en.yml | 10 ++++ config/locales/communication/fr.yml | 10 ++++ 8 files changed, 95 insertions(+) create mode 100644 app/assets/images/communication/blocks/templates/key_figures.jpg create mode 100644 app/models/communication/block/template/key_figure.rb create mode 100644 app/views/admin/communication/blocks/templates/key_figures/_edit.html.erb create mode 100644 app/views/admin/communication/blocks/templates/key_figures/_preview.html.erb create mode 100644 app/views/admin/communication/blocks/templates/key_figures/_static.html.erb diff --git a/app/assets/images/communication/blocks/templates/key_figures.jpg b/app/assets/images/communication/blocks/templates/key_figures.jpg new file mode 100644 index 0000000000000000000000000000000000000000..de66f462ccf6e2ca5a376e7c32a6da9919036d5b GIT binary patch literal 18027 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 QTHlEKjkNwEkNdCv8~r7>lK=n! literal 0 HcmV?d00001 diff --git a/app/models/communication/block.rb b/app/models/communication/block.rb index 733a971a2..7e9d8a1e1 100644 --- a/app/models/communication/block.rb +++ b/app/models/communication/block.rb @@ -46,6 +46,7 @@ class Communication::Block < ApplicationRecord partners: 200, posts: 500, pages: 600, + key_figures: 56, } before_save :update_template_images diff --git a/app/models/communication/block/template/key_figure.rb b/app/models/communication/block/template/key_figure.rb new file mode 100644 index 000000000..0c4abee7d --- /dev/null +++ b/app/models/communication/block/template/key_figure.rb @@ -0,0 +1,15 @@ +class Communication::Block::Template::KeyFigure < Communication::Block::Template + def build_git_dependencies + end + + def figures + @figures ||= elements.map { |element| figure(element) } + .compact + end + + protected + + def figure(element) + element.to_dot + end +end diff --git a/app/views/admin/communication/blocks/templates/key_figures/_edit.html.erb b/app/views/admin/communication/blocks/templates/key_figures/_edit.html.erb new file mode 100644 index 000000000..dcd9e2463 --- /dev/null +++ b/app/views/admin/communication/blocks/templates/key_figures/_edit.html.erb @@ -0,0 +1,50 @@ +<a class="<%= button_classes('mb-4') %>" + v-on:click="data.elements.push({number: 0, unit: '', description: ''})"> + <%= t '.add_key' %> +</a> + +<draggable :list="data.elements" handle=".dragHandle" class="row"> + <div v-for="(key, index) in data.elements" class="col-md-4"> + <div class="card"> + <div class="card-body"> + <div class="d-flex"> + <div> + <a class="btn ps-0 pt-0 dragHandle"> + <i class="fa fa-bars handle"></i> + </a> + </div> + <div class="flex-fill"> + <label class="form-label" + :for="'key-' + index + '-number'"><%= t '.number_label' %></label> + <input class="form-control mb-3" + v-model="key.number" + placeholder="<%= t '.number_placeholder' %>" + type="number" + :id="'key-' + index + '-number'" /> + + <label class="form-label" + :for="'key-' + index + '-unit'"><%= t '.unit_label' %></label> + <input class="form-control mb-3" + v-model="key.unit" + placeholder="<%= t '.unit_placeholder' %>" + :id="'key-' + index + '-unit'"> + + <label class="form-label" + :for="'key-' + index + '-description'"><%= t '.description_label' %></label> + <input class="form-control mb-3" + v-model="key.description" + placeholder="<%= t '.description_placeholder' %>" + :id="'key-' + index + '-description'"> + </div> + <div> + <a class="btn btn-sm btn-danger ms-3" + v-on:click="data.elements.splice(data.elements.indexOf(key), 1)" + title="<%= t '.remove_key' %>"> + <i class="fas fa-times"></i> + </a> + </div> + </div> + </div> + </div> + </div> +</draggable> diff --git a/app/views/admin/communication/blocks/templates/key_figures/_preview.html.erb b/app/views/admin/communication/blocks/templates/key_figures/_preview.html.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/admin/communication/blocks/templates/key_figures/_static.html.erb b/app/views/admin/communication/blocks/templates/key_figures/_static.html.erb new file mode 100644 index 000000000..6870d3caa --- /dev/null +++ b/app/views/admin/communication/blocks/templates/key_figures/_static.html.erb @@ -0,0 +1,9 @@ + figures: +<% block.template.figures.each do |figure| %> + - number: >- + <%= prepare_text_for_static figure.number, 6 %> + unit: >- + <%= prepare_text_for_static figure.unit, 6 %> + description: >- + <%= prepare_text_for_static figure.description, 6 %> +<% end %> diff --git a/config/locales/communication/en.yml b/config/locales/communication/en.yml index 03e75b921..6fca96732 100644 --- a/config/locales/communication/en.yml +++ b/config/locales/communication/en.yml @@ -196,6 +196,16 @@ en: text_label: Text text_placeholder: Enter text remove_image: Remove image + key_figures: + edit: + add_key: Add key figure + unit_label: Unit + unit_placeholder: Enter unit here + number_label: Number + number_placeholder: Enter key figure's value here + description_label: Description + description_placeholder: Enter description here + remove_key: Remove key figure organization_chart: edit: add_person: Add person diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml index a406c0e00..1b62eae7a 100644 --- a/config/locales/communication/fr.yml +++ b/config/locales/communication/fr.yml @@ -197,6 +197,16 @@ fr: text_label: Texte text_placeholder: Entrer le texte remove_image: Enlever l'image + key_figures: + edit: + add_key: Add key figure + unit_label: Unit + unit_placeholder: Enter unit here + number_label: Number + number_placeholder: Enter key figure's value here + description_label: Description + description_placeholder: Enter description here + remove_key: Remove key figure organization_chart: edit: add_person: Ajouter une personne -- GitLab