From fbd72a9be92b0b50a637c91a941ad9325439181f Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sat, 12 Mar 2016 15:31:35 +0100 Subject: [PATCH 1/9] prevent markup output when regular/featured faq is empty --- controller/classes/Subtemplate.php | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/controller/classes/Subtemplate.php b/controller/classes/Subtemplate.php index 2f927f3..2ee0cf7 100644 --- a/controller/classes/Subtemplate.php +++ b/controller/classes/Subtemplate.php @@ -647,9 +647,17 @@ class Subtemplate { return $result; } + + + // + // Subtemplate: FAQs + // public function faq($subtemplateTitle) { - $featuredFAQ = '"; $result = "

{$subtemplateTitle}

@@ -684,6 +696,8 @@ class Subtemplate { return $result; } + + public function values($subtemplateTitle) { $values = ''; if (have_rows('ascribe_values')) { @@ -707,6 +721,8 @@ class Subtemplate { return $result; } + + public function careers($subtemplateTitle) { $args = array( 'post_type' => 'career', @@ -735,6 +751,8 @@ class Subtemplate { return $result; } + + public function mediaDetail($subtemplateTitle) { $image = get_sub_field('image')['url']; From f5f61168fa5b7cc982242d1a1fc84ff7b67cd157 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sat, 12 Mar 2016 16:12:07 +0100 Subject: [PATCH 2/9] refactor FAQ styles & markup --- assets/_src/js/ascribe.js | 7 ++- assets/_src/less/ascribe.less | 40 +---------------- assets/_src/less/ascribe/_faq.less | 69 ++++++++++++++++++++++++++++++ controller/classes/Subtemplate.php | 27 ++++++------ 4 files changed, 90 insertions(+), 53 deletions(-) create mode 100644 assets/_src/less/ascribe/_faq.less diff --git a/assets/_src/js/ascribe.js b/assets/_src/js/ascribe.js index 0d2ca34..a41d1e7 100644 --- a/assets/_src/js/ascribe.js +++ b/assets/_src/js/ascribe.js @@ -39,11 +39,14 @@ $(document).ready(function(){ }); } + function featuredFAQ() { - $('.featured-faqs dt').click(function() { - $(this).next('dd').toggleClass('open'); + $('.faq--featured .faq__question').click(function() { + $(this).toggleClass('open'); + $(this).next('.faq__answer').toggleClass('open'); }); } + function marketplaces() { $('.top-tab').click(function(){ $('.top-tab').removeClass('active'); diff --git a/assets/_src/less/ascribe.less b/assets/_src/less/ascribe.less index 8fff20c..1dc9095 100644 --- a/assets/_src/less/ascribe.less +++ b/assets/_src/less/ascribe.less @@ -31,6 +31,7 @@ @import 'ascribe/_team.less'; @import 'ascribe/_blog.less'; @import 'ascribe/_testimonials.less'; +@import 'ascribe/_faq.less'; @import '_page-api.less'; @@ -372,45 +373,6 @@ } } -.faq { - - > h1 { margin-top: 0; } - - dl,dt,dd { - margin: 0; - padding: 0; - } - - dd:not(:last-child) { - margin-bottom: @spacer; - } - - dt { - &:extend(.bold); - } - - .featured-faqs { - - dt { - color: @pink; - cursor: pointer; - } - dd { - max-height:0; - overflow-y:hidden; - transition: .2s ease-out; - margin-bottom: @spacer; - - &.open { - max-height: 800px; - } - } - } - .regular-faqs { - - } -} - .values { padding-bottom: @spacer; diff --git a/assets/_src/less/ascribe/_faq.less b/assets/_src/less/ascribe/_faq.less new file mode 100644 index 0000000..838fba2 --- /dev/null +++ b/assets/_src/less/ascribe/_faq.less @@ -0,0 +1,69 @@ + +.subtemplate--faq { + +} + +.faq { + // reset default dl,dt,dd styles + &, + .faq__answer { + margin: 0; + padding: 0; + } + +} + +.faq__title { margin-top: 0; } + +.faq__question { + &:extend(.h4); + display: block; + margin-bottom: (@spacer / 2); +} + +.faq__answer { + &:not(:last-child) { + margin-bottom: @spacer; + } +} + +.faq--featured { + margin-left: 20px; + + .faq__question { + color: @pink; + cursor: pointer; + + .caret { + margin-left: -20px; + margin-right: 10px; + } + + &.open .caret { + transform: rotate(90deg); + } + } + + .faq__answer { + transition: .2s ease-out; + height: 0; + opacity: 0; + margin-bottom: @spacer; + + &.open { + height: 100%; + opacity: 1; + max-height: 800px; + } + } +} + +.caret { + display: inline-block; + width: 0; + height: 0; + border-style: solid; + border-width: 5px 0 5px 6px; + border-color: transparent transparent transparent @greySocial; + transition: .2s ease-out; +} diff --git a/controller/classes/Subtemplate.php b/controller/classes/Subtemplate.php index 2ee0cf7..20f94eb 100644 --- a/controller/classes/Subtemplate.php +++ b/controller/classes/Subtemplate.php @@ -654,18 +654,21 @@ class Subtemplate { // public function faq($subtemplateTitle) { + $featuredFAQ = ''; + $regularFAQ = ''; + if (have_rows('featured_faqs')) { - $featuredFAQ = '