annotate sites/all/modules/quicktabs/js/quicktabs_bbq.js @ 11:b0ee71395280

deleted .DS_Store files
author danieleb <danielebarchiesi@me.com>
date Mon, 28 Oct 2013 16:12:13 +0000
parents b74b41bb73f0
children
rev   line source
danielebarchiesi@2 1 /**
danielebarchiesi@2 2 * @file
danielebarchiesi@2 3 * Implements history using the BBQ plugin.
danielebarchiesi@2 4 * See http://benalman.com/code/projects/jquery-bbq/examples/fragment-jquery-ui-tabs
danielebarchiesi@2 5 */
danielebarchiesi@2 6 (function($) {
danielebarchiesi@2 7
danielebarchiesi@2 8 Drupal.quicktabsBbq = function($tabset, clickSelector, changeSelector) {
danielebarchiesi@2 9
danielebarchiesi@2 10 changeSelector = changeSelector || clickSelector;
danielebarchiesi@2 11
danielebarchiesi@2 12 // Define our own click handler for the tabs, overriding the default.
danielebarchiesi@2 13 $(clickSelector, $tabset).each(function(i, el){
danielebarchiesi@2 14 this.tabIndex = i;
danielebarchiesi@2 15 $(this).click(function(e){
danielebarchiesi@2 16 e.preventDefault();
danielebarchiesi@2 17 var state = {},
danielebarchiesi@2 18 id = $tabset.attr('id'), // qt container id
danielebarchiesi@2 19 idx = this.tabIndex; // tab index
danielebarchiesi@2 20
danielebarchiesi@2 21 state[id] = idx;
danielebarchiesi@2 22 $.bbq.pushState(state);
danielebarchiesi@2 23 });
danielebarchiesi@2 24 });
danielebarchiesi@2 25
danielebarchiesi@2 26 $(window).bind('hashchange', function(e) {
danielebarchiesi@2 27 $tabset.each(function() {
danielebarchiesi@2 28 var idx = $.bbq.getState(this.id, true);
danielebarchiesi@2 29 var $active_link = $(this).find(changeSelector).eq(idx);
danielebarchiesi@2 30 $active_link.triggerHandler('change');
danielebarchiesi@2 31 });
danielebarchiesi@2 32 });
danielebarchiesi@2 33
danielebarchiesi@2 34 $(window).trigger('hashchange');
danielebarchiesi@2 35 }
danielebarchiesi@2 36
danielebarchiesi@2 37 })(jQuery);