Merge branch 'faqfilter'
This commit is contained in:
@@ -304,6 +304,24 @@ new Vue({
|
|||||||
alert('aha');
|
alert('aha');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
initFaqFilter () {
|
||||||
|
const $entries = $('[data-faq-entry]');
|
||||||
|
$('[data-faqfilter]').on('keyup', function () {
|
||||||
|
const query = $(this).val();
|
||||||
|
if (query.length < 3) {
|
||||||
|
$entries.fadeIn();
|
||||||
|
} else {
|
||||||
|
const pattern = new RegExp(query, 'i');
|
||||||
|
$entries.each(function () {
|
||||||
|
const question = $(this).children('[data-faq-question]').text();
|
||||||
|
const answer = $(this).children('[data-faq-answer]').text();
|
||||||
|
if (!question.match(pattern) && !answer.match(pattern)) {
|
||||||
|
$(this).fadeOut();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
initListeners () {
|
initListeners () {
|
||||||
$window.on('resize', () => {
|
$window.on('resize', () => {
|
||||||
this.setMobileMode();
|
this.setMobileMode();
|
||||||
@@ -363,6 +381,7 @@ new Vue({
|
|||||||
this.initImageLazyLoading();
|
this.initImageLazyLoading();
|
||||||
this.initDropdownMenuBehavior();
|
this.initDropdownMenuBehavior();
|
||||||
this.initPartnerIdSelect();
|
this.initPartnerIdSelect();
|
||||||
|
this.initFaqFilter();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ $output-bourbon-deprecation-warnings: false;
|
|||||||
@import "remix/blog";
|
@import "remix/blog";
|
||||||
@import "remix/forms";
|
@import "remix/forms";
|
||||||
@import "remix/contactnav";
|
@import "remix/contactnav";
|
||||||
|
@import "remix/faq";
|
||||||
|
|
||||||
@import "remix/destination-pulldown";
|
@import "remix/destination-pulldown";
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ $output-bourbon-deprecation-warnings: false;
|
|||||||
@import "remix/product";
|
@import "remix/product";
|
||||||
@import "remix/socialmedia";
|
@import "remix/socialmedia";
|
||||||
@import "remix/contactnav";
|
@import "remix/contactnav";
|
||||||
|
@import "remix/faq";
|
||||||
|
|
||||||
// core config
|
// core config
|
||||||
@import "variables";
|
@import "variables";
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ $output-bourbon-deprecation-warnings: false;
|
|||||||
@import "remix/product";
|
@import "remix/product";
|
||||||
@import "remix/socialmedia";
|
@import "remix/socialmedia";
|
||||||
@import "remix/contactnav";
|
@import "remix/contactnav";
|
||||||
|
@import "remix/faq";
|
||||||
|
|
||||||
// core config
|
// core config
|
||||||
@import "variables";
|
@import "variables";
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ $output-bourbon-deprecation-warnings: false;
|
|||||||
@import "remix/product";
|
@import "remix/product";
|
||||||
@import "remix/socialmedia";
|
@import "remix/socialmedia";
|
||||||
@import "remix/contactnav";
|
@import "remix/contactnav";
|
||||||
|
@import "remix/faq";
|
||||||
|
|
||||||
// core config
|
// core config
|
||||||
@import "variables";
|
@import "variables";
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
.faq-filter {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.faq-filter__field {
|
||||||
|
border-color: rgba(white, 0.5);
|
||||||
|
color: white;
|
||||||
|
background-color: transparent;
|
||||||
|
box-shadow: none;
|
||||||
|
outline: none;
|
||||||
|
&:focus {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
@include inputPlaceholderColor(rgba(white, 0.5));
|
||||||
|
}
|
||||||
@@ -1,17 +1,24 @@
|
|||||||
<f:if condition="{faqs}">
|
<f:if condition="{faqs}">
|
||||||
<div>
|
<div>
|
||||||
<div class="container-fluid ep-disturber">
|
<div class="container-fluid ep-disturber faq">
|
||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
<div class="container ">
|
<div class="container">
|
||||||
<span class="headline headline--3 headline--disturber">Häufig gestellte Fragen</span>
|
<span class="headline headline--3 headline--disturber">Häufig gestellte Fragen</span>
|
||||||
|
<f:if condition="{filter}">
|
||||||
|
<div class="faq-filter">
|
||||||
|
<input type="text" data-faqfilter class="form-control faq-filter__field" placeholder="Suchbegriff">
|
||||||
|
</div>
|
||||||
|
</f:if>
|
||||||
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
|
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
|
||||||
<f:for each="{faqs}" as="faq" iteration="iteration">
|
<f:for each="{faqs}" as="faq" iteration="iteration">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default" data-faq-entry>
|
||||||
<a class="headline headline--4{f:if(condition: iteration.isFirst, else: ' collapsed')}"
|
<a class="headline headline--4{f:if(condition: iteration.isFirst, else: ' collapsed')}"
|
||||||
role="button" data-toggle="collapse" data-parent="#accordion"
|
role="button" data-toggle="collapse" data-parent="#accordion" data-faq-question
|
||||||
href="#faq-{faq.uid}" {f:if(condition: iteration.isFirst, then: 'aria-expanded="true" ')}aria-controls="faq-{faq.uid}">{faq.question}</a>
|
href="#faq-{faq.uid}" {f:if(condition: iteration.isFirst, then: 'aria-expanded="true" ')}aria-controls="faq-{faq.uid}">{faq.question}</a>
|
||||||
<div id="faq-{faq.uid}" class="panel-collapse collapse{f:if(condition: iteration.isFirst, then: ' in')}" role="tabpanel">{faq.answer -> f:format.html()}</div>
|
<div id="faq-{faq.uid}" class="panel-collapse collapse{f:if(condition: iteration.isFirst, then: ' in')}" role="tabpanel" data-faq-answer>
|
||||||
|
{faq.answer -> f:format.html()}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</f:for>
|
</f:for>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<f:layout name="Default"/>
|
<f:layout name="Default"/>
|
||||||
|
|
||||||
<f:section name="Main">
|
<f:section name="Main">
|
||||||
<f:render partial="Faq" arguments="{_all}"/>
|
<f:render partial="Faq" arguments="{settings: settings, faqs: faqs, filter: 1}"/>
|
||||||
</f:section>
|
</f:section>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user