first commit
This commit is contained in:
81
public/bower_components/filament-tablesaw/src/tables.minimap.js
vendored
Executable file
81
public/bower_components/filament-tablesaw/src/tables.minimap.js
vendored
Executable file
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
* tablesaw: A set of plugins for responsive tables
|
||||
* minimap: a set of dots to show which columns are currently visible.
|
||||
* Copyright (c) 2013 Filament Group, Inc.
|
||||
* MIT License
|
||||
*/
|
||||
|
||||
;(function( win, $, undefined ){
|
||||
|
||||
var MM = {
|
||||
attr: {
|
||||
init: 'data-tablesaw-minimap'
|
||||
}
|
||||
};
|
||||
|
||||
function createMiniMap( $table ){
|
||||
|
||||
var $btns = $( '<div class="tablesaw-advance minimap">' ),
|
||||
$dotNav = $( '<ul class="tablesaw-advance-dots">' ).appendTo( $btns ),
|
||||
hideDot = 'tablesaw-advance-dots-hide',
|
||||
$headerCells = $table.find( 'thead th' );
|
||||
|
||||
// populate dots
|
||||
$headerCells.each(function(){
|
||||
$dotNav.append( '<li><i></i></li>' );
|
||||
});
|
||||
|
||||
$btns.appendTo( $table.prev().filter( '.tablesaw-bar' ) );
|
||||
|
||||
function showMinimap( $table ) {
|
||||
var mq = $table.attr( MM.attr.init );
|
||||
return !mq || win.matchMedia && win.matchMedia( mq ).matches;
|
||||
}
|
||||
|
||||
function showHideNav(){
|
||||
if( !showMinimap( $table ) ) {
|
||||
$btns.hide();
|
||||
return;
|
||||
}
|
||||
$btns.show();
|
||||
|
||||
// show/hide dots
|
||||
var dots = $dotNav.find( "li" ).removeClass( hideDot );
|
||||
$table.find( "thead th" ).each(function(i){
|
||||
if( $( this ).css( "display" ) === "none" ){
|
||||
dots.eq( i ).addClass( hideDot );
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// run on init and resize
|
||||
showHideNav();
|
||||
$( win ).on( "resize", showHideNav );
|
||||
|
||||
|
||||
$table
|
||||
.bind( "tablesawcolumns.minimap", function(){
|
||||
showHideNav();
|
||||
})
|
||||
.bind( "tablesawdestroy.minimap", function(){
|
||||
var $t = $( this );
|
||||
|
||||
$t.prev().filter( '.tablesaw-bar' ).find( '.tablesaw-advance' ).remove();
|
||||
$( win ).off( "resize", showHideNav );
|
||||
|
||||
$t.unbind( ".minimap" );
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
// on tablecreate, init
|
||||
$( document ).on( "tablesawcreate", function( e, Tablesaw ){
|
||||
|
||||
if( ( Tablesaw.mode === 'swipe' || Tablesaw.mode === 'columntoggle' ) && Tablesaw.$table.is( '[ ' + MM.attr.init + ']' ) ){
|
||||
createMiniMap( Tablesaw.$table );
|
||||
}
|
||||
|
||||
} );
|
||||
|
||||
}( this, jQuery ));
|
||||
Reference in New Issue
Block a user