{"version":3,"sources":["read-more.js"],"names":["$","Drupal","maskText","$contentMaskElement","options","defaults","expandText","collapseText","maxHeight","buttonClass","gradientEndColor","parentSelector","settings","extend","expanded","height","$contentMaskExpandBtn","$parentElem","closest","bgColor","css","addClass","wrapInner","$contentMaskInner","find","append","background","click","event","preventDefault","html","removeClass","behaviors","boatshowReadMore","attach","context","once","each","jQuery"],"mappings":"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","file":"read-more.js","sourcesContent":["(function ($, Drupal) {\n 'use strict';\n\n /**\n *\n * @param jquery object $contentMaskElement\n * @param object options\n */\n function maskText($contentMaskElement, options) {\n\n // Options defaults, can be overridden with options param\n var defaults = {\n expandText: 'Read more',\n collapseText: 'Hide',\n maxHeight: 70,\n buttonClass: 'read-more-button',\n gradientEndColor: '#fff',\n parentSelector: null\n };\n\n var settings = $.extend({}, defaults, options || {});\n var expanded = false;\n\n if ($contentMaskElement.height() > settings.maxHeight) {\n // Button for expanding content\n var $contentMaskExpandBtn = $('');\n\n // If parentSelector option is set, grab background color\n if (settings.parentSelector !== null) {\n var $parentElem = $contentMaskElement.closest(settings.parentSelector);\n\n var bgColor = $parentElem.css('background-color');\n\n // Default element bg color is transparent,\n // so set as param value if transparent.\n if (bgColor !== 'rgba(0, 0, 0, 0)') {\n settings.gradientEndColor = bgColor;\n }\n }\n\n $contentMaskElement.addClass('content-mask');\n // wrap content in div\n $contentMaskElement.wrapInner('
');\n var $contentMaskInner = $contentMaskElement.find('.content-mask-inner')\n\n $contentMaskInner.append('
');\n $contentMaskInner.css({height: settings.maxHeight + 'px'});\n\n $contentMaskElement.find('.content-mask-overlay').css({\n background: 'linear-gradient(transparent,' + settings.gradientEndColor + ')'\n });\n\n // append button\n $contentMaskElement.append($contentMaskExpandBtn);\n\n // Toggle show/hide content\n $contentMaskExpandBtn.click(function(event) {\n event.preventDefault();\n\n if (!expanded) {\n $contentMaskElement.addClass('expanded');\n $contentMaskExpandBtn.html(settings.collapseText);\n }\n else {\n $contentMaskElement.removeClass('expanded');\n $contentMaskExpandBtn.html(settings.expandText);\n }\n\n expanded = !expanded;\n });\n }\n }\n\n /**\n * Drupal Behavior\n */\n Drupal.behaviors.boatshowReadMore = {\n attach: function attach(context, settings) {\n\n // whos-exhibiting, /boat-brands pages\n $(context).find('.view-exhibitors.view-display-id-block_1 .view-booths, .view-exhibitors.view-display-id-block_2 .view-booths, .view-exhibitors.view-display-id-block_3 .view-booths').once('whos-exhibiting').each(function() {\n maskText($(this), {\n expandText: 'See all booths',\n maxHeight: 70,\n parentSelector: 'tr'\n });\n });\n\n // Sailing at the show page\n $(context).find('.view-exhibitors.view-display-id-sail_boats .view-booths').once('exhibitors-by-brand').each(function() {\n maskText($(this), {\n expandText: 'See all booths'\n });\n });\n\n // speakers view\n $(context).find('.view-all-speakers .views-row .speaker-text').once('speakers').each(function() {\n maskText($(this), {\n maxHeight: 200,\n gradientEndColor: '#f5f5f5'\n });\n });\n\n // features view\n $(context).find('.features-grid .grid-item--content .body').once('features').each(function() {\n maskText($(this), {\n maxHeight: 400,\n gradientEndColor: '#e7e5e5'\n });\n });\n }\n };\n})(jQuery, Drupal);\n"]}