Server IP : 162.0.232.140 / Your IP : 3.148.211.202 Web Server : LiteSpeed System : Linux premium139.web-hosting.com 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64 User : micrcvoy ( 740) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/micrcvoy/microleess-uae.store/controlPanel/assets/plugins/tablesaw/src/ |
Upload File : |
/* * tablesaw: A set of plugins for responsive tables * Stack: switches from column layout to rows with inline labels * Copyright (c) 2013 Filament Group, Inc. * MIT License */ ;(function( win, $, undefined ){ var classes = { stackTable: 'tablesaw-stack', cellLabels: 'tablesaw-cell-label', cellContentLabels: 'tablesaw-cell-content' }; var data = { obj: 'tablesaw-stack' }; var attrs = { labelless: 'data-tablesaw-no-labels', hideempty: 'data-tablesaw-hide-empty' }; var Stack = function( element ) { this.$table = $( element ); this.labelless = this.$table.is( '[' + attrs.labelless + ']' ); this.hideempty = this.$table.is( '[' + attrs.hideempty + ']' ); if( !this.labelless ) { // allHeaders references headers, plus all THs in the thead, which may include several rows, or not this.allHeaders = this.$table.find( "th" ); } this.$table.data( data.obj, this ); }; Stack.prototype.init = function( colstart ) { this.$table.addClass( classes.stackTable ); if( this.labelless ) { return; } // get headers in reverse order so that top-level headers are appended last var reverseHeaders = $( this.allHeaders ); var hideempty = this.hideempty; // create the hide/show toggles reverseHeaders.each(function(){ var $t = $( this ), $cells = $( this.cells ).filter(function() { return !$( this ).parent().is( "[" + attrs.labelless + "]" ) && ( !hideempty || !$( this ).is( ":empty" ) ); }), hierarchyClass = $cells.not( this ).filter( "thead th" ).length && " tablesaw-cell-label-top", // TODO reduce coupling with sortable $sortableButton = $t.find( ".tablesaw-sortable-btn" ), html = $sortableButton.length ? $sortableButton.html() : $t.html(); if( html !== "" ){ if( hierarchyClass ){ var iteration = parseInt( $( this ).attr( "colspan" ), 10 ), filter = ""; if( iteration ){ filter = "td:nth-child("+ iteration +"n + " + ( colstart ) +")"; } $cells.filter( filter ).prepend( "<b class='" + classes.cellLabels + hierarchyClass + "'>" + html + "</b>" ); } else { $cells.wrapInner( "<span class='" + classes.cellContentLabels + "'></span>" ); $cells.prepend( "<b class='" + classes.cellLabels + "'>" + html + "</b>" ); } } }); }; Stack.prototype.destroy = function() { this.$table.removeClass( classes.stackTable ); this.$table.find( '.' + classes.cellLabels ).remove(); this.$table.find( '.' + classes.cellContentLabels ).each(function() { $( this ).replaceWith( this.childNodes ); }); }; // on tablecreate, init $( document ).on( "tablesawcreate", function( e, Tablesaw, colstart ){ if( Tablesaw.mode === 'stack' ){ var table = new Stack( Tablesaw.table ); table.init( colstart ); } } ); $( document ).on( "tablesawdestroy", function( e, Tablesaw ){ if( Tablesaw.mode === 'stack' ){ $( Tablesaw.table ).data( data.obj ).destroy(); } } ); }( this, jQuery ));