%PDF- %PDF-
| Direktori : /home/tjamichg/intranet.tjamich.gob.mx/intranet/common/vendors/responsive-tabs/ |
| Current File : /home/tjamichg/intranet.tjamich.gob.mx/intranet/common/vendors/responsive-tabs/responsive-tabs.js |
var fakewaffle = (function ($, fakewaffle) {
"use strict";
fakewaffle.responsiveTabs = function (collapseDisplayed) {
fakewaffle.currentPosition = 'tabs';
var tabGroups = $('.nav-tabs.responsive'),
hidden = '',
visible = '';
if (collapseDisplayed === undefined) {
collapseDisplayed = ['xs', 'sm'];
}
$.each(collapseDisplayed, function () {
hidden += ' hidden-' + this;
visible += ' visible-' + this;
});
$.each(tabGroups, function () {
var $tabGroup = $(this),
tabs = $tabGroup.find('li a'),
collapseDiv = $("<div></div>", {
"class": "panel-group responsive" + visible,
"id": 'collapse-' + $tabGroup.attr('id')
});
$.each(tabs, function () {
var $this = $(this),
active = '',
oldLinkClass = $this.attr('class') === undefined ? '' : $this.attr('class'),
newLinkClass = 'accordion-toggle',
oldParentClass = $this.parent().attr('class') === undefined ? '' : $this.parent().attr('class'),
newParentClass = 'panel panel-default';
if (oldLinkClass.length > 0) {
newLinkClass += ' ' + oldLinkClass;
}
;
if (oldParentClass.length > 0) {
oldParentClass = oldParentClass.replace(/\bactive\b/g, '');
newParentClass += ' ' + oldParentClass;
newParentClass = newParentClass.replace(/\s{2,}/g, ' ');
newParentClass = newParentClass.replace(/^\s+|\s+$/g, '');
}
;
if ($this.parent().hasClass('active')) {
active = ' in';
}
collapseDiv.append(
$('<div>').attr('class', newParentClass).html(
$('<div>').attr('class', 'panel-heading').html(
$('<h4>').attr('class', 'panel-title').html(
$('<a>', {
'class': newLinkClass,
'data-toggle': 'collapse',
'data-parent': '#collapse-' + $tabGroup.attr('id'),
'href': '#collapse-' + $this.attr('href').replace(/#/g, ''),
'html': $this.html()
})
)
)
).append(
$('<div>', {
'id': 'collapse-' + $this.attr('href').replace(/#/g, ''),
'class': 'panel-collapse collapse' + active
}).html(
$('<div>').attr('class', 'panel-body').html('')
)
)
);
});
$tabGroup.next().after(collapseDiv);
$tabGroup.addClass(hidden);
$('.tab-content.responsive').addClass(hidden);
});
fakewaffle.checkResize();
fakewaffle.bindTabToCollapse();
};
fakewaffle.checkResize = function () {
if ($(".panel-group.responsive").is(":visible") === true && fakewaffle.currentPosition === 'tabs') {
fakewaffle.toggleResponsiveTabContent();
fakewaffle.currentPosition = 'panel';
} else if ($(".panel-group.responsive").is(":visible") === false && fakewaffle.currentPosition === 'panel') {
fakewaffle.toggleResponsiveTabContent();
fakewaffle.currentPosition = 'tabs';
}
};
fakewaffle.toggleResponsiveTabContent = function () {
var tabGroups = $('.nav-tabs.responsive');
$.each(tabGroups, function () {
var tabs = $(this).find('li a');
$.each(tabs, function () {
var href = $(this).attr('href').replace(/#/g, ''),
tabId = "#" + href,
panelId = "#collapse-" + href,
tabContent = $(tabId).html(),
panelContent = $(panelId + " div:first-child").html();
$(tabId).html(panelContent);
$(panelId + " div:first-child").html(tabContent);
});
});
};
fakewaffle.bindTabToCollapse = function () {
var tabs = $('.nav-tabs.responsive').find('li a'),
collapse = $(".panel-group.responsive").find('.panel-collapse');
tabs.on('shown.bs.tab', function (e) {
var $current = $($(e.target)[0].hash.replace(/#/, '#collapse-'));
$current.collapse('show');
if (e.relatedTarget) {
var $previous = $($(e.relatedTarget)[0].hash.replace(/#/, '#collapse-'));
$previous.collapse('hide');
}
});
collapse.on('show.bs.collapse', function (e) {
var current = $(e.target).context.id.replace(/collapse-/g, '#');
$('a[href="' + current + '"]').tab('show');
});
}
$(window).resize(function () {
fakewaffle.checkResize();
});
return fakewaffle;
}(window.jQuery, fakewaffle || {}));