From ec8d5e84dec709289bac3e04bbf6a5e87c51fdff Mon Sep 17 00:00:00 2001 From: Michael Stenta Date: Wed, 5 Sep 2018 12:55:42 -0400 Subject: [PATCH] Remember open/close state of help text with localStorage. --- themes/farm_theme/css/style.css | 5 ++++- themes/farm_theme/js/help.js | 24 ++++++++++++++++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/themes/farm_theme/css/style.css b/themes/farm_theme/css/style.css index b8036d7d3..234b59558 100644 --- a/themes/farm_theme/css/style.css +++ b/themes/farm_theme/css/style.css @@ -27,13 +27,16 @@ body.front h1.page-header { } /** - * Style help glyphicon in page title. + * Style help text glyphicons. */ .page-header .glyphicon-question-sign { color: #3a87ad; cursor: pointer; font-size: 0.75em; } +.region-help .glyphicon-remove { + cursor: pointer; +} /** * Remove padding and list style from user login block links (request new password). diff --git a/themes/farm_theme/js/help.js b/themes/farm_theme/js/help.js index 9d63698f6..64748c938 100644 --- a/themes/farm_theme/js/help.js +++ b/themes/farm_theme/js/help.js @@ -2,12 +2,28 @@ Drupal.behaviors.farm_theme_help = { attach: function(context, settings) { if ($('.region-help', context).length) { - var glyphicon = ''; - $('.page-header', context).append(' ' + glyphicon); - $('.region-help', context).hide(); + var helpGlyphicon = ''; + var closeGlyphicon = ''; + $('.page-header', context).append(' ' + helpGlyphicon); + $('.region-help', context).prepend(' ' + closeGlyphicon); + if (localStorage.getItem('farmThemeHelpCollapsed') === '1') { + $('.region-help', context).hide(); + } $('.page-header .glyphicon-question-sign', context).click(function() { - $('.region-help', context).slideToggle(); + Drupal.behaviors.farm_theme_help.toggleHelp(); }); + $('.region-help .glyphicon-remove', context).click(function() { + $('.page-header .glyphicon-question-sign').tooltip('show'); + Drupal.behaviors.farm_theme_help.toggleHelp(); + }); + } + }, + toggleHelp: function(context) { + $('.region-help', context).slideToggle(); + if (localStorage.getItem('farmThemeHelpCollapsed') === '1') { + localStorage.removeItem('farmThemeHelpCollapsed'); + } else { + localStorage.setItem('farmThemeHelpCollapsed', '1'); } } }