Sindbad~EG File Manager
/**
* Plugin: Tabs
*/
( function( $ ) {
const adminTabs = function( $el, options ) {
let $tabs = $el.find( '.tabs-nav' ).find( 'li' ),
$tabsWrap = $tabs.parent(),
$contents = $el.find( '.tabs-content-container > li' ),
$currentTab = null,
$currentContent = null;
function selectTab( $tab ) {
const index = $tabs.index( $tab ),
url = $tab.find( 'a' ).attr( 'href' );
$currentContent = $contents.eq( index );
$tab.addClass( 'active' ).siblings( 'li.active' ).removeClass( 'active' );
$currentContent.show().css( { visibility: 'hidden' } );
calculateHeight( $currentContent );
$currentContent.hide();
$currentContent.show();
$currentContent.siblings( 'li.active' ).fadeOut( 0, function() {
$currentContent.addClass( 'active' ).siblings( 'li.active' ).removeClass( 'active' );
} );
LP.setUrl( url );
}
function calculateHeight( $currentContent ) {
let contentHeight = $currentContent.height(),
tabsHeight = $tabsWrap.outerHeight();
if ( contentHeight < tabsHeight ) {
contentHeight = tabsHeight + parseInt( $tabsWrap.css( 'margin' ) ) * 2;
} else {
contentHeight = undefined;
}
$currentContent.css( 'visibility', '' ).css( { height: contentHeight } );
}
function selectDefaultTab() {
$currentTab = $tabs.filter( '.active' );
if ( ! $currentTab.length ) {
$currentTab = $tabs.first();
}
$currentTab.find( 'a' ).trigger( 'click' );
}
function initEvents() {
$el.on( 'click', '.tabs-nav a', function( event ) {
event.preventDefault();
$currentTab = $( this ).parent();
selectTab( $currentTab );
} );
}
function init() {
initEvents();
selectDefaultTab();
$( window ).on( 'resize.calculate-tab', function() {
const $currentContent = $el.find( '.tabs-content-container .active' ).css( 'height', '' );
calculateHeight( $currentContent );
} );
}
init();
};
$.fn.LP( 'AdminTab', function( options ) {
options = $.extend( {}, options || {} );
return $.each( this, function() {
let $el = $( this ),
tabs = $el.data( 'learn-press/tabs' );
if ( ! tabs ) {
tabs = new adminTabs( $el, options );
$el.data( 'learn-press/tabs', tabs );
}
return $el;
} );
} );
}( jQuery ) );
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists