jquery-tablesorter 1.24.4 → 1.24.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/jquery-tablesorter/version.rb +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.combined.js +22 -16
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.js +2 -2
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets.js +20 -14
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-resizable.js +3 -3
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-scroller.js +20 -7
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-stickyHeaders.js +16 -10
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61444f8a86b9edc79884dae59f29bce922491f0244b2d672494a254f0fbf372a
|
4
|
+
data.tar.gz: 8c1581fb748d8ef37ec7cb65ccc43c641b1401278c3877ea7e65c258e9e91756
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13196f9da306327bb65eab8559568fbfecebac9d7b587f2572ab9b025b1c66c12a1e3996ee465beeb38dd4dbae115c2675c6c519170ffe68293f5daa54acfe7a
|
7
|
+
data.tar.gz: 5f3f9f75e8b31908a08e96d4deab38516e4454a28c36f35cf5f0b41f9f82be0b2f9d74ec8ecc10714bfa23d40d01fb651219d4c554724c76ae1d09b462bedf54
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Simple integration of jQuery tablesorter ([Mottie's fork]) into the asset pipeline.
|
6
6
|
|
7
|
-
Current tablesorter version: 2.29.
|
7
|
+
Current tablesorter version: 2.29.6 (2018-02-25) [documentation]
|
8
8
|
|
9
9
|
Any issue associated with the js/css files, please report to [Mottie's fork].
|
10
10
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
|
5
5
|
█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
|
6
6
|
*/
|
7
|
-
/*! tablesorter (FORK) - updated 2018-
|
7
|
+
/*! tablesorter (FORK) - updated 2018-02-25 (v2.29.6)*/
|
8
8
|
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
9
9
|
(function(factory) {
|
10
10
|
if (typeof define === 'function' && define.amd) {
|
@@ -16,7 +16,7 @@
|
|
16
16
|
}
|
17
17
|
}(function(jQuery) {
|
18
18
|
|
19
|
-
/*! TableSorter (FORK) v2.29.
|
19
|
+
/*! TableSorter (FORK) v2.29.6 *//*
|
20
20
|
* Client-side table sorting with ease!
|
21
21
|
* @requires jQuery v1.2.6+
|
22
22
|
*
|
@@ -40,7 +40,7 @@
|
|
40
40
|
'use strict';
|
41
41
|
var ts = $.tablesorter = {
|
42
42
|
|
43
|
-
version : '2.29.
|
43
|
+
version : '2.29.6',
|
44
44
|
|
45
45
|
parsers : [],
|
46
46
|
widgets : [],
|
@@ -5333,7 +5333,7 @@
|
|
5333
5333
|
var index, len, $t,
|
5334
5334
|
$table = c.$table,
|
5335
5335
|
// add position: relative to attach element, hopefully it won't cause trouble.
|
5336
|
-
$attach = $(wo.stickyHeaders_attachTo),
|
5336
|
+
$attach = $(wo.stickyHeaders_attachTo || wo.stickyHeaders_appendTo),
|
5337
5337
|
namespace = c.namespace + 'stickyheaders ',
|
5338
5338
|
// element to watch for the scroll event
|
5339
5339
|
$yScroll = $(wo.stickyHeaders_yScroll || wo.stickyHeaders_attachTo || window),
|
@@ -5393,7 +5393,10 @@
|
|
5393
5393
|
});
|
5394
5394
|
}
|
5395
5395
|
},
|
5396
|
-
getLeftPosition = function() {
|
5396
|
+
getLeftPosition = function(yWindow) {
|
5397
|
+
if (yWindow === false && $nestedSticky.length) {
|
5398
|
+
return $table.position().left;
|
5399
|
+
}
|
5397
5400
|
return $attach.length ?
|
5398
5401
|
parseInt($attach.css('padding-left'), 10) || 0 :
|
5399
5402
|
$table.offset().left - parseInt($table.css('margin-left'), 10) - $(window).scrollLeft();
|
@@ -5414,9 +5417,11 @@
|
|
5414
5417
|
offset = $table.offset(),
|
5415
5418
|
stickyOffset = getStickyOffset(c, wo),
|
5416
5419
|
yWindow = $.isWindow( $yScroll[0] ), // $.isWindow needs jQuery 1.4.3
|
5417
|
-
|
5418
|
-
|
5419
|
-
|
5420
|
+
yScroll = yWindow ?
|
5421
|
+
$yScroll.scrollTop() :
|
5422
|
+
// use parent sticky position if nested AND inside of a scrollable element - see #1512
|
5423
|
+
$nestedSticky.length ? parseInt($nestedSticky[0].style.top, 10) : $yScroll.offset().top,
|
5424
|
+
attachTop = $attach.length ? yScroll : $yScroll.scrollTop(),
|
5420
5425
|
captionHeight = wo.stickyHeaders_includeCaption ? 0 : $table.children( 'caption' ).height() || 0,
|
5421
5426
|
scrollTop = attachTop + stickyOffset + nestedStickyTop - captionHeight,
|
5422
5427
|
tableHeight = $table.height() - ($stickyWrap.height() + ($tfoot.height() || 0)) - captionHeight,
|
@@ -5430,12 +5435,14 @@
|
|
5430
5435
|
cssSettings.top = yWindow ? scrollTop - $attach.offset().top : $attach.scrollTop();
|
5431
5436
|
}
|
5432
5437
|
// adjust when scrolling horizontally - fixes issue #143
|
5433
|
-
tmp = getLeftPosition();
|
5438
|
+
tmp = getLeftPosition(yWindow);
|
5434
5439
|
if (tmp !== parseInt($stickyWrap.css('left'), 10)) {
|
5435
5440
|
needsUpdating = true;
|
5436
5441
|
cssSettings.left = tmp;
|
5437
5442
|
}
|
5438
|
-
cssSettings.top = ( cssSettings.top || 0 ) +
|
5443
|
+
cssSettings.top = ( cssSettings.top || 0 ) +
|
5444
|
+
// If nested AND inside of a scrollable element, only add parent sticky height
|
5445
|
+
(!yWindow && $nestedSticky.length ? $nestedSticky.height() : stickyOffset + nestedStickyTop);
|
5439
5446
|
if (needsUpdating) {
|
5440
5447
|
$stickyWrap
|
5441
5448
|
.removeClass( ts.css.stickyVis + ' ' + ts.css.stickyHide )
|
@@ -5456,8 +5463,8 @@
|
|
5456
5463
|
if ($stickyTable.attr('id')) { $stickyTable[0].id += wo.stickyHeaders_cloneId; }
|
5457
5464
|
// clear out cloned table, except for sticky header
|
5458
5465
|
// include caption & filter row (fixes #126 & #249) - don't remove cells to get correct cell indexing
|
5459
|
-
$stickyTable.find('thead:gt(0), tr.sticky-false').hide();
|
5460
|
-
$stickyTable.find('tbody, tfoot').remove();
|
5466
|
+
$stickyTable.find('> thead:gt(0), tr.sticky-false').hide();
|
5467
|
+
$stickyTable.find('> tbody, > tfoot').remove();
|
5461
5468
|
$stickyTable.find('caption').toggle(wo.stickyHeaders_includeCaption);
|
5462
5469
|
// issue #172 - find td/th in sticky header
|
5463
5470
|
$stickyCells = $stickyThead.children().children();
|
@@ -5489,7 +5496,6 @@
|
|
5489
5496
|
c.onRenderHeader.apply( $t.eq( index ), [ index, c, $stickyTable ] );
|
5490
5497
|
}
|
5491
5498
|
}
|
5492
|
-
|
5493
5499
|
// make it sticky!
|
5494
5500
|
$xScroll.add($yScroll)
|
5495
5501
|
.unbind( ('scroll resize '.split(' ').join( namespace )).replace(/\s+/g, ' ') )
|
@@ -5560,7 +5566,7 @@
|
|
5560
5566
|
|
5561
5567
|
})(jQuery, window);
|
5562
5568
|
|
5563
|
-
/*! Widget: resizable - updated
|
5569
|
+
/*! Widget: resizable - updated 2018-02-14 (v2.29.6) */
|
5564
5570
|
/*jshint browser:true, jquery:true, unused:false */
|
5565
5571
|
;(function ($, window) {
|
5566
5572
|
'use strict';
|
@@ -5951,7 +5957,7 @@
|
|
5951
5957
|
if ( vars.overflow && vars.tableWidth ) {
|
5952
5958
|
ts.resizable.setWidth( c.$table, vars.tableWidth, true );
|
5953
5959
|
if ( vars.useStorage ) {
|
5954
|
-
ts.storage( table, 'tablesorter-table-resized-width',
|
5960
|
+
ts.storage( table, 'tablesorter-table-resized-width', vars.tableWidth );
|
5955
5961
|
}
|
5956
5962
|
}
|
5957
5963
|
for ( index = 0; index < c.columns; index++ ) {
|
@@ -5967,7 +5973,7 @@
|
|
5967
5973
|
// reset stickyHeader widths
|
5968
5974
|
c.$table.triggerHandler( 'stickyHeadersUpdate' );
|
5969
5975
|
if ( ts.storage && !refreshing ) {
|
5970
|
-
ts.storage( this, ts.css.resizableStorage,
|
5976
|
+
ts.storage( this, ts.css.resizableStorage, [] );
|
5971
5977
|
}
|
5972
5978
|
}
|
5973
5979
|
});
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! TableSorter (FORK) v2.29.
|
1
|
+
/*! TableSorter (FORK) v2.29.6 *//*
|
2
2
|
* Client-side table sorting with ease!
|
3
3
|
* @requires jQuery v1.2.6+
|
4
4
|
*
|
@@ -22,7 +22,7 @@
|
|
22
22
|
'use strict';
|
23
23
|
var ts = $.tablesorter = {
|
24
24
|
|
25
|
-
version : '2.29.
|
25
|
+
version : '2.29.6',
|
26
26
|
|
27
27
|
parsers : [],
|
28
28
|
widgets : [],
|
@@ -4,7 +4,7 @@
|
|
4
4
|
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
|
5
5
|
█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
|
6
6
|
*/
|
7
|
-
/*! tablesorter (FORK) - updated 2018-
|
7
|
+
/*! tablesorter (FORK) - updated 2018-02-25 (v2.29.6)*/
|
8
8
|
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
9
9
|
(function(factory) {
|
10
10
|
if (typeof define === 'function' && define.amd) {
|
@@ -2453,7 +2453,7 @@
|
|
2453
2453
|
var index, len, $t,
|
2454
2454
|
$table = c.$table,
|
2455
2455
|
// add position: relative to attach element, hopefully it won't cause trouble.
|
2456
|
-
$attach = $(wo.stickyHeaders_attachTo),
|
2456
|
+
$attach = $(wo.stickyHeaders_attachTo || wo.stickyHeaders_appendTo),
|
2457
2457
|
namespace = c.namespace + 'stickyheaders ',
|
2458
2458
|
// element to watch for the scroll event
|
2459
2459
|
$yScroll = $(wo.stickyHeaders_yScroll || wo.stickyHeaders_attachTo || window),
|
@@ -2513,7 +2513,10 @@
|
|
2513
2513
|
});
|
2514
2514
|
}
|
2515
2515
|
},
|
2516
|
-
getLeftPosition = function() {
|
2516
|
+
getLeftPosition = function(yWindow) {
|
2517
|
+
if (yWindow === false && $nestedSticky.length) {
|
2518
|
+
return $table.position().left;
|
2519
|
+
}
|
2517
2520
|
return $attach.length ?
|
2518
2521
|
parseInt($attach.css('padding-left'), 10) || 0 :
|
2519
2522
|
$table.offset().left - parseInt($table.css('margin-left'), 10) - $(window).scrollLeft();
|
@@ -2534,9 +2537,11 @@
|
|
2534
2537
|
offset = $table.offset(),
|
2535
2538
|
stickyOffset = getStickyOffset(c, wo),
|
2536
2539
|
yWindow = $.isWindow( $yScroll[0] ), // $.isWindow needs jQuery 1.4.3
|
2537
|
-
|
2538
|
-
|
2539
|
-
|
2540
|
+
yScroll = yWindow ?
|
2541
|
+
$yScroll.scrollTop() :
|
2542
|
+
// use parent sticky position if nested AND inside of a scrollable element - see #1512
|
2543
|
+
$nestedSticky.length ? parseInt($nestedSticky[0].style.top, 10) : $yScroll.offset().top,
|
2544
|
+
attachTop = $attach.length ? yScroll : $yScroll.scrollTop(),
|
2540
2545
|
captionHeight = wo.stickyHeaders_includeCaption ? 0 : $table.children( 'caption' ).height() || 0,
|
2541
2546
|
scrollTop = attachTop + stickyOffset + nestedStickyTop - captionHeight,
|
2542
2547
|
tableHeight = $table.height() - ($stickyWrap.height() + ($tfoot.height() || 0)) - captionHeight,
|
@@ -2550,12 +2555,14 @@
|
|
2550
2555
|
cssSettings.top = yWindow ? scrollTop - $attach.offset().top : $attach.scrollTop();
|
2551
2556
|
}
|
2552
2557
|
// adjust when scrolling horizontally - fixes issue #143
|
2553
|
-
tmp = getLeftPosition();
|
2558
|
+
tmp = getLeftPosition(yWindow);
|
2554
2559
|
if (tmp !== parseInt($stickyWrap.css('left'), 10)) {
|
2555
2560
|
needsUpdating = true;
|
2556
2561
|
cssSettings.left = tmp;
|
2557
2562
|
}
|
2558
|
-
cssSettings.top = ( cssSettings.top || 0 ) +
|
2563
|
+
cssSettings.top = ( cssSettings.top || 0 ) +
|
2564
|
+
// If nested AND inside of a scrollable element, only add parent sticky height
|
2565
|
+
(!yWindow && $nestedSticky.length ? $nestedSticky.height() : stickyOffset + nestedStickyTop);
|
2559
2566
|
if (needsUpdating) {
|
2560
2567
|
$stickyWrap
|
2561
2568
|
.removeClass( ts.css.stickyVis + ' ' + ts.css.stickyHide )
|
@@ -2576,8 +2583,8 @@
|
|
2576
2583
|
if ($stickyTable.attr('id')) { $stickyTable[0].id += wo.stickyHeaders_cloneId; }
|
2577
2584
|
// clear out cloned table, except for sticky header
|
2578
2585
|
// include caption & filter row (fixes #126 & #249) - don't remove cells to get correct cell indexing
|
2579
|
-
$stickyTable.find('thead:gt(0), tr.sticky-false').hide();
|
2580
|
-
$stickyTable.find('tbody, tfoot').remove();
|
2586
|
+
$stickyTable.find('> thead:gt(0), tr.sticky-false').hide();
|
2587
|
+
$stickyTable.find('> tbody, > tfoot').remove();
|
2581
2588
|
$stickyTable.find('caption').toggle(wo.stickyHeaders_includeCaption);
|
2582
2589
|
// issue #172 - find td/th in sticky header
|
2583
2590
|
$stickyCells = $stickyThead.children().children();
|
@@ -2609,7 +2616,6 @@
|
|
2609
2616
|
c.onRenderHeader.apply( $t.eq( index ), [ index, c, $stickyTable ] );
|
2610
2617
|
}
|
2611
2618
|
}
|
2612
|
-
|
2613
2619
|
// make it sticky!
|
2614
2620
|
$xScroll.add($yScroll)
|
2615
2621
|
.unbind( ('scroll resize '.split(' ').join( namespace )).replace(/\s+/g, ' ') )
|
@@ -2680,7 +2686,7 @@
|
|
2680
2686
|
|
2681
2687
|
})(jQuery, window);
|
2682
2688
|
|
2683
|
-
/*! Widget: resizable - updated
|
2689
|
+
/*! Widget: resizable - updated 2018-02-14 (v2.29.6) */
|
2684
2690
|
/*jshint browser:true, jquery:true, unused:false */
|
2685
2691
|
;(function ($, window) {
|
2686
2692
|
'use strict';
|
@@ -3071,7 +3077,7 @@
|
|
3071
3077
|
if ( vars.overflow && vars.tableWidth ) {
|
3072
3078
|
ts.resizable.setWidth( c.$table, vars.tableWidth, true );
|
3073
3079
|
if ( vars.useStorage ) {
|
3074
|
-
ts.storage( table, 'tablesorter-table-resized-width',
|
3080
|
+
ts.storage( table, 'tablesorter-table-resized-width', vars.tableWidth );
|
3075
3081
|
}
|
3076
3082
|
}
|
3077
3083
|
for ( index = 0; index < c.columns; index++ ) {
|
@@ -3087,7 +3093,7 @@
|
|
3087
3093
|
// reset stickyHeader widths
|
3088
3094
|
c.$table.triggerHandler( 'stickyHeadersUpdate' );
|
3089
3095
|
if ( ts.storage && !refreshing ) {
|
3090
|
-
ts.storage( this, ts.css.resizableStorage,
|
3096
|
+
ts.storage( this, ts.css.resizableStorage, [] );
|
3091
3097
|
}
|
3092
3098
|
}
|
3093
3099
|
});
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! Widget: resizable - updated
|
1
|
+
/*! Widget: resizable - updated 2018-02-14 (v2.29.6) */
|
2
2
|
/*jshint browser:true, jquery:true, unused:false */
|
3
3
|
;(function ($, window) {
|
4
4
|
'use strict';
|
@@ -389,7 +389,7 @@
|
|
389
389
|
if ( vars.overflow && vars.tableWidth ) {
|
390
390
|
ts.resizable.setWidth( c.$table, vars.tableWidth, true );
|
391
391
|
if ( vars.useStorage ) {
|
392
|
-
ts.storage( table, 'tablesorter-table-resized-width',
|
392
|
+
ts.storage( table, 'tablesorter-table-resized-width', vars.tableWidth );
|
393
393
|
}
|
394
394
|
}
|
395
395
|
for ( index = 0; index < c.columns; index++ ) {
|
@@ -405,7 +405,7 @@
|
|
405
405
|
// reset stickyHeader widths
|
406
406
|
c.$table.triggerHandler( 'stickyHeadersUpdate' );
|
407
407
|
if ( ts.storage && !refreshing ) {
|
408
|
-
ts.storage( this, ts.css.resizableStorage,
|
408
|
+
ts.storage( this, ts.css.resizableStorage, [] );
|
409
409
|
}
|
410
410
|
}
|
411
411
|
});
|
@@ -745,12 +745,18 @@
|
|
745
745
|
tsScroller = ts.scroller,
|
746
746
|
fixedColumns = wo.scroller_fixedColumns,
|
747
747
|
// get dimensions
|
748
|
+
getDim = function ($el, name, deflt) {
|
749
|
+
return parseInt( $el.css(name) || '', 10 ) || deflt || 0;
|
750
|
+
},
|
748
751
|
$temp = $table.find( 'tbody td' ),
|
749
|
-
borderRightWidth =
|
750
|
-
borderSpacing =
|
751
|
-
totalWidth =
|
752
|
-
|
753
|
-
|
752
|
+
borderRightWidth = getDim( $temp, 'border-right-width', 1 ),
|
753
|
+
borderSpacing = getDim( $temp, 'border-spacing', 0 ),
|
754
|
+
totalWidth = getDim( $table, 'padding-left' ) +
|
755
|
+
getDim( $table, 'padding-right' ) +
|
756
|
+
// include table left & row left border
|
757
|
+
getDim( $table, 'border-left-width', 1 ) * 2 +
|
758
|
+
getDim( $table, 'border-right-width', 1 ) -
|
759
|
+
borderRightWidth + borderSpacing / 2,
|
754
760
|
widths = wo.scroller_calcWidths;
|
755
761
|
|
756
762
|
ts.scroller.removeFixed( c, wo, false );
|
@@ -761,7 +767,7 @@
|
|
761
767
|
}
|
762
768
|
|
763
769
|
// set fixed column width
|
764
|
-
totalWidth = totalWidth + borderRightWidth * 2
|
770
|
+
totalWidth = totalWidth + borderRightWidth * 2;
|
765
771
|
tsScroller.setWidth( $fixedColumn.add( $fixedColumn.children() ), totalWidth );
|
766
772
|
tsScroller.setWidth( $fixedColumn.children().children( 'table' ), totalWidth );
|
767
773
|
|
@@ -799,7 +805,6 @@
|
|
799
805
|
.css( 'width', totalWidth + adj );
|
800
806
|
}
|
801
807
|
|
802
|
-
$fixedColumn.removeClass( tscss.scrollerHideElement );
|
803
808
|
for ( index = 0; index < fixedColumns; index++ ) {
|
804
809
|
temp = ':nth-child(' + ( index + 1 ) + ')';
|
805
810
|
$wrapper
|
@@ -808,6 +813,14 @@
|
|
808
813
|
.find( 'th' + temp + ', td' + temp + ', col' + temp )
|
809
814
|
.addClass( tscss.scrollerHideColumn );
|
810
815
|
}
|
816
|
+
$fixedColumn
|
817
|
+
.removeClass( tscss.scrollerHideElement )
|
818
|
+
.find('colgroup')
|
819
|
+
.each(function() {
|
820
|
+
$(this)
|
821
|
+
.find('col:gt(' + (fixedColumns - 1) + ')')
|
822
|
+
.addClass( tscss.scrollerHideElement );
|
823
|
+
});
|
811
824
|
|
812
825
|
totalWidth = totalWidth - borderRightWidth;
|
813
826
|
temp = $tableWrap.parent().innerWidth() - totalWidth;
|
@@ -90,7 +90,7 @@
|
|
90
90
|
var index, len, $t,
|
91
91
|
$table = c.$table,
|
92
92
|
// add position: relative to attach element, hopefully it won't cause trouble.
|
93
|
-
$attach = $(wo.stickyHeaders_attachTo),
|
93
|
+
$attach = $(wo.stickyHeaders_attachTo || wo.stickyHeaders_appendTo),
|
94
94
|
namespace = c.namespace + 'stickyheaders ',
|
95
95
|
// element to watch for the scroll event
|
96
96
|
$yScroll = $(wo.stickyHeaders_yScroll || wo.stickyHeaders_attachTo || window),
|
@@ -150,7 +150,10 @@
|
|
150
150
|
});
|
151
151
|
}
|
152
152
|
},
|
153
|
-
getLeftPosition = function() {
|
153
|
+
getLeftPosition = function(yWindow) {
|
154
|
+
if (yWindow === false && $nestedSticky.length) {
|
155
|
+
return $table.position().left;
|
156
|
+
}
|
154
157
|
return $attach.length ?
|
155
158
|
parseInt($attach.css('padding-left'), 10) || 0 :
|
156
159
|
$table.offset().left - parseInt($table.css('margin-left'), 10) - $(window).scrollLeft();
|
@@ -171,9 +174,11 @@
|
|
171
174
|
offset = $table.offset(),
|
172
175
|
stickyOffset = getStickyOffset(c, wo),
|
173
176
|
yWindow = $.isWindow( $yScroll[0] ), // $.isWindow needs jQuery 1.4.3
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
+
yScroll = yWindow ?
|
178
|
+
$yScroll.scrollTop() :
|
179
|
+
// use parent sticky position if nested AND inside of a scrollable element - see #1512
|
180
|
+
$nestedSticky.length ? parseInt($nestedSticky[0].style.top, 10) : $yScroll.offset().top,
|
181
|
+
attachTop = $attach.length ? yScroll : $yScroll.scrollTop(),
|
177
182
|
captionHeight = wo.stickyHeaders_includeCaption ? 0 : $table.children( 'caption' ).height() || 0,
|
178
183
|
scrollTop = attachTop + stickyOffset + nestedStickyTop - captionHeight,
|
179
184
|
tableHeight = $table.height() - ($stickyWrap.height() + ($tfoot.height() || 0)) - captionHeight,
|
@@ -187,12 +192,14 @@
|
|
187
192
|
cssSettings.top = yWindow ? scrollTop - $attach.offset().top : $attach.scrollTop();
|
188
193
|
}
|
189
194
|
// adjust when scrolling horizontally - fixes issue #143
|
190
|
-
tmp = getLeftPosition();
|
195
|
+
tmp = getLeftPosition(yWindow);
|
191
196
|
if (tmp !== parseInt($stickyWrap.css('left'), 10)) {
|
192
197
|
needsUpdating = true;
|
193
198
|
cssSettings.left = tmp;
|
194
199
|
}
|
195
|
-
cssSettings.top = ( cssSettings.top || 0 ) +
|
200
|
+
cssSettings.top = ( cssSettings.top || 0 ) +
|
201
|
+
// If nested AND inside of a scrollable element, only add parent sticky height
|
202
|
+
(!yWindow && $nestedSticky.length ? $nestedSticky.height() : stickyOffset + nestedStickyTop);
|
196
203
|
if (needsUpdating) {
|
197
204
|
$stickyWrap
|
198
205
|
.removeClass( ts.css.stickyVis + ' ' + ts.css.stickyHide )
|
@@ -213,8 +220,8 @@
|
|
213
220
|
if ($stickyTable.attr('id')) { $stickyTable[0].id += wo.stickyHeaders_cloneId; }
|
214
221
|
// clear out cloned table, except for sticky header
|
215
222
|
// include caption & filter row (fixes #126 & #249) - don't remove cells to get correct cell indexing
|
216
|
-
$stickyTable.find('thead:gt(0), tr.sticky-false').hide();
|
217
|
-
$stickyTable.find('tbody, tfoot').remove();
|
223
|
+
$stickyTable.find('> thead:gt(0), tr.sticky-false').hide();
|
224
|
+
$stickyTable.find('> tbody, > tfoot').remove();
|
218
225
|
$stickyTable.find('caption').toggle(wo.stickyHeaders_includeCaption);
|
219
226
|
// issue #172 - find td/th in sticky header
|
220
227
|
$stickyCells = $stickyThead.children().children();
|
@@ -246,7 +253,6 @@
|
|
246
253
|
c.onRenderHeader.apply( $t.eq( index ), [ index, c, $stickyTable ] );
|
247
254
|
}
|
248
255
|
}
|
249
|
-
|
250
256
|
// make it sticky!
|
251
257
|
$xScroll.add($yScroll)
|
252
258
|
.unbind( ('scroll resize '.split(' ').join( namespace )).replace(/\s+/g, ' ') )
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jquery-tablesorter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.24.
|
4
|
+
version: 1.24.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jun Lin
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-02-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
@@ -184,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
184
184
|
version: '0'
|
185
185
|
requirements: []
|
186
186
|
rubyforge_project:
|
187
|
-
rubygems_version: 2.7.
|
187
|
+
rubygems_version: 2.7.6
|
188
188
|
signing_key:
|
189
189
|
specification_version: 4
|
190
190
|
summary: Simple integration of jquery-tablesorter (Mottie's fork) into the Rails asset
|