From c995a9e38a67efecd2831c558ea279d6396d7d00 Mon Sep 17 00:00:00 2001 From: kthoden Date: Wed, 29 Apr 2020 17:35:56 +0200 Subject: [PATCH] Adding parallel text functionality --- src/assets/images/icons/icon-translation.svg | 130 +++++++++++++++++++ src/scripts/modules/accordion.js | 37 ++++++ src/styles/components/accordion.scss | 22 ++++ 3 files changed, 189 insertions(+) create mode 100644 src/assets/images/icons/icon-translation.svg diff --git a/src/assets/images/icons/icon-translation.svg b/src/assets/images/icons/icon-translation.svg new file mode 100644 index 000000000..3fdd459a2 --- /dev/null +++ b/src/assets/images/icons/icon-translation.svg @@ -0,0 +1,130 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/scripts/modules/accordion.js b/src/scripts/modules/accordion.js index a54f09f88..f02d5c8e7 100644 --- a/src/scripts/modules/accordion.js +++ b/src/scripts/modules/accordion.js @@ -6,6 +6,7 @@ export default () => { if ( !$('.publications-popup').is(e.target) && !$('.publications-popup-eye').is(e.target) + && !$('.publications-popup-para').is(e.target) && !$('.publications-popup-sup').is(e.target) ) { $(this).closest('.accordion__item').toggleClass('active'); @@ -98,6 +99,40 @@ export default () => { }); }); + $('button.publications-popup-para').on('click', function popuppara(e) { + e.preventDefault(); + const text = $(this).data('content'); + const title = $(this).data('title'); + const elementClassic = `

${title}

${text}

`; + if (!$(this).hasClass('active')) { + $(this).after(elementClassic); + $(this).addClass('active'); + } else { + $(this).next().remove(); + $(this).removeClass('active'); + } + + const infobox = $(this).parent().find('.infobox'); + + infobox.each((index, element) => { + if (index === 0) { + $(element).addClass('infobox--arrow-left'); + $(element).removeClass('infobox--arrow-top'); + $(element).css({ top: 0 }); + } else { + $(element).addClass('infobox--arrow-top'); + $(element).removeClass('infobox--arrow-left'); + + let topElem = 0; + for (let i = 0; i < index; i += 1) { + topElem = topElem + $(infobox[i]).outerHeight() + 20; + } + $(element).css({ top: `${topElem}px` }); + } + }); + }); + + $('button.publications-popup-sup').on('click', function popupsup(e) { e.preventDefault(); const text = $(this).data('content'); @@ -157,12 +192,14 @@ export default () => { && infobox.has(e.target).length === 0 && !$('.publications-popup-eye').is(e.target) && !$('.publications-popup-sup').is(e.target) + && !$('.publications-popup-para').is(e.target) && !$('.publications-popup-text').is(e.target) ) { infobox.remove(); $('.publications-popup').removeClass('active'); $('.publications-popup-eye').removeClass('active'); $('.publications-popup-sup').removeClass('active'); + $('.publications-popup-para').removeClass('active'); $('.publications-popup-text').removeClass('active'); e.stopPropagation(); } diff --git a/src/styles/components/accordion.scss b/src/styles/components/accordion.scss index 3968664a1..794eee73e 100644 --- a/src/styles/components/accordion.scss +++ b/src/styles/components/accordion.scss @@ -214,6 +214,28 @@ } } +.publications-popup-para { + float: right; + border: 0; + margin: 0 3px 9px; + background-color: transparent; + display: block; + width: 22px; + height: 18px; + background-image: url('../assets/images/icons/icon-translation.svg'); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + outline: none; + + @include media--max($width--phone) { + float: none; + width: 14px; + height: 14px; + margin: 0 auto 9px; + } +} + .publications2 { & .publications__overview { & .accordion__content {