From c5dfef1337781fb2b1972b92b8ff8ec4f6458c86 Mon Sep 17 00:00:00 2001 From: Silas Joisten Date: Sat, 19 Jan 2019 11:20:21 +0100 Subject: [PATCH] Added batch flash message template (#657) --- docs/images/collapsed_flashmessage.png | Bin 0 -> 20883 bytes docs/images/expanded_flashmessage.png | Bin 0 -> 68193 bytes docs/images/normal_flashmessage.png | Bin 0 -> 17324 bytes docs/reference/flash_messages.rst | 21 ++++++++ .../Resources/public/css/flashmessage.css | 28 ++++++++++ src/CoreBundle/Resources/public/js/base.js | 23 ++++++++- .../translations/SonataCoreBundle.de.xliff | 8 +++ .../translations/SonataCoreBundle.en.xliff | 8 +++ .../views/FlashMessage/render.html.twig | 48 ++++++++++++++---- 9 files changed, 126 insertions(+), 10 deletions(-) create mode 100644 docs/images/collapsed_flashmessage.png create mode 100644 docs/images/expanded_flashmessage.png create mode 100644 docs/images/normal_flashmessage.png create mode 100644 src/CoreBundle/Resources/public/css/flashmessage.css diff --git a/docs/images/collapsed_flashmessage.png b/docs/images/collapsed_flashmessage.png new file mode 100644 index 0000000000000000000000000000000000000000..0265ba228e2bf3bc5ef1f4f1110be5eded35112d GIT binary patch literal 20883 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 Ph!o{j9u+-&9`wHe?_LML literal 0 HcmV?d00001 diff --git a/docs/images/expanded_flashmessage.png b/docs/images/expanded_flashmessage.png new file mode 100644 index 0000000000000000000000000000000000000000..9cf749853755a39cb4f3254d6cc64f2dfcd557b2 GIT binary patch literal 68193 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 Y;LJlGA#lU@rcKur)h}mX{PoWN0qoq=$N&HU literal 0 HcmV?d00001 diff --git a/docs/images/normal_flashmessage.png b/docs/images/normal_flashmessage.png new file mode 100644 index 0000000000000000000000000000000000000000..0573da1f668a6d77337fc51a93b655ca7da6baca GIT binary patch literal 17324 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

-`b6r}idJR$@oe&{u~Sf*G#Y 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 R>(^Dv3hGZv{(ABHe*ujYgK_`> literal 0 HcmV?d00001 diff --git a/docs/reference/flash_messages.rst b/docs/reference/flash_messages.rst index a7dfe73f..5210f471 100644 --- a/docs/reference/flash_messages.rst +++ b/docs/reference/flash_messages.rst @@ -9,6 +9,27 @@ to be returned as a ``success``, ``warning`` or ``error`` type (or even all your Additionally, you can also add a ``css_class`` section for each flash messages that will be displayed on rendering. +An Example of type ``success`` + +.. figure:: ../images/normal_flashmessage.png + :align: center + :alt: Default Flashmessage + +When there are more than one flasmessage of a type (``success``, ``warning`` or ``error``), +the flashmessages automatically group. + +Grouped flashmessage (collapsed) + +.. figure:: ../images/collapsed_flashmessage.png + :align: center + :alt: Grouped Flashmessage (collapsed) + +Grouped flashmessage (expanded) + +.. figure:: ../images/expanded_flashmessage.png + :align: center + :alt: Grouped Flashmessage (expanded) + Configuration ------------- diff --git a/src/CoreBundle/Resources/public/css/flashmessage.css b/src/CoreBundle/Resources/public/css/flashmessage.css new file mode 100644 index 00000000..ca8c7940 --- /dev/null +++ b/src/CoreBundle/Resources/public/css/flashmessage.css @@ -0,0 +1,28 @@ +.read-more-state { + display: none; +} + +.read-more-target { + opacity: 0; + display: none; + max-height: 0; + font-size: 0; + transition: .40s ease; +} + +.read-more-state:checked ~ .read-more-wrap .read-more-target { + opacity: 1; + display: block; + font-size: inherit; + max-height: 999em; +} + +.read-more-trigger { + cursor: pointer; + margin: auto; +} + +.alert .read-more-trigger { + position: relative; + left: calc(50% - 1rem); +} \ No newline at end of file diff --git a/src/CoreBundle/Resources/public/js/base.js b/src/CoreBundle/Resources/public/js/base.js index e93be819..dd49a132 100644 --- a/src/CoreBundle/Resources/public/js/base.js +++ b/src/CoreBundle/Resources/public/js/base.js @@ -1,5 +1,7 @@ jQuery(document).ready(function() { SonataCore.setup_select2(document); + SonataCore.remove_iCheck_in_flashmessage(); + SonataCore.addFlashmessageListener(); }); var SonataCore = { @@ -35,6 +37,25 @@ var SonataCore = { ; } }); + }, + remove_iCheck_in_flashmessage: () => { + jQuery('.read-more-state').iCheck('destroy'); + }, + addFlashmessageListener: () => { + document.querySelectorAll('.read-more-state').forEach((element) => { + element.addEventListener('change', (event) => { + let label = document.querySelector('label[for="' + element.id + '"]') + let labelMore = label.querySelector('.more') + let labelLess = label.querySelector('.less') + + if (event.target.checked) { + labelMore.classList.add('hide') + labelLess.classList.remove('hide') + } else { + labelMore.classList.remove('hide') + labelLess.classList.add('hide') + } + }); + }) } - }; diff --git a/src/CoreBundle/Resources/translations/SonataCoreBundle.de.xliff b/src/CoreBundle/Resources/translations/SonataCoreBundle.de.xliff index b6906cb0..0025957d 100644 --- a/src/CoreBundle/Resources/translations/SonataCoreBundle.de.xliff +++ b/src/CoreBundle/Resources/translations/SonataCoreBundle.de.xliff @@ -602,6 +602,14 @@ message_close Schließen + + more + mehr + + + less + weniger + diff --git a/src/CoreBundle/Resources/translations/SonataCoreBundle.en.xliff b/src/CoreBundle/Resources/translations/SonataCoreBundle.en.xliff index 539440fe..694897a2 100644 --- a/src/CoreBundle/Resources/translations/SonataCoreBundle.en.xliff +++ b/src/CoreBundle/Resources/translations/SonataCoreBundle.en.xliff @@ -602,6 +602,14 @@ message_close Close + + more + more + + + less + less + diff --git a/src/CoreBundle/Resources/views/FlashMessage/render.html.twig b/src/CoreBundle/Resources/views/FlashMessage/render.html.twig index 802a77f0..e5e706f6 100644 --- a/src/CoreBundle/Resources/views/FlashMessage/render.html.twig +++ b/src/CoreBundle/Resources/views/FlashMessage/render.html.twig @@ -8,18 +8,48 @@ For the full copyright and license information, please view the LICENSE file that was distributed with this source code. #} + {% for type in sonata_flashmessages_types() %} {% set domain = domain is defined ? domain : null %} - {% for message in sonata_flashmessages_get(type, domain) %} + {% set messages = sonata_flashmessages_get(type, domain) %} + {% if messages|length > 1 %} +

+ + +
+ {% for message in messages %} + {% if loop.index >= 2 %} + {{ message|raw }} + {% else %} + {{ message|raw }} + {% endif %} + {% endfor %} +
+ + +
+ {% elseif messages|length == 1 %}
- {{ message|raw }} + type="button" + class="close" + data-dismiss="alert" + aria-hidden="true" + aria-label="{{ 'message_close'|trans({}, 'SonataCoreBundle') }}"> + × + + {{ messages|first|raw }}
- {% endfor %} + {% endif %} {% endfor %}