2013-07-11 23:02:18 +04:00
|
|
|
|
// # Toggle Support
|
|
|
|
|
|
|
|
|
|
/*global document, $, Ghost */
|
|
|
|
|
(function () {
|
2013-09-24 14:46:30 +04:00
|
|
|
|
'use strict';
|
2013-07-11 23:02:18 +04:00
|
|
|
|
|
2013-09-18 05:59:35 +04:00
|
|
|
|
Ghost.temporary.hideToggles = function () {
|
|
|
|
|
$('[data-toggle]').each(function () {
|
|
|
|
|
var toggle = $(this).data('toggle');
|
|
|
|
|
$(this).parent().children(toggle + ':visible').fadeOut();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Toggle active classes on menu headers
|
2013-09-24 14:46:30 +04:00
|
|
|
|
$('[data-toggle].active').removeClass('active');
|
2013-09-18 05:59:35 +04:00
|
|
|
|
};
|
|
|
|
|
|
2013-07-11 23:02:18 +04:00
|
|
|
|
Ghost.temporary.initToggles = function ($el) {
|
|
|
|
|
|
|
|
|
|
$el.find('[data-toggle]').each(function () {
|
|
|
|
|
var toggle = $(this).data('toggle');
|
|
|
|
|
$(this).parent().children(toggle).hide();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$el.find('[data-toggle]').on('click', function (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
e.stopPropagation();
|
2013-09-18 05:59:35 +04:00
|
|
|
|
var $this = $(this),
|
|
|
|
|
toggle = $this.data('toggle'),
|
|
|
|
|
isAlreadyActive = $this.is('.active');
|
|
|
|
|
|
|
|
|
|
// Close all the other open toggle menus
|
|
|
|
|
Ghost.temporary.hideToggles();
|
|
|
|
|
|
|
|
|
|
if (!isAlreadyActive) {
|
|
|
|
|
$this.toggleClass('active');
|
|
|
|
|
$(this).parent().children(toggle).toggleClass('open').fadeToggle(200);
|
|
|
|
|
}
|
2013-07-11 23:02:18 +04:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(document).ready(function () {
|
|
|
|
|
|
|
|
|
|
// ## Toggle Up In Your Grill
|
|
|
|
|
// Allows for toggling via data-attributes.
|
|
|
|
|
// ### Usage
|
|
|
|
|
// <nav>
|
|
|
|
|
// <a href="#" data-toggle=".toggle-me">Toggle</a>
|
|
|
|
|
// <ul class="toggle-me">
|
|
|
|
|
// <li>Toggled yo</li>
|
|
|
|
|
// </ul>
|
|
|
|
|
// </nav>
|
|
|
|
|
Ghost.temporary.initToggles($(document));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}());
|