@ntlab/ntjs-assets 2.0.32 → 2.0.34

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.
@@ -1,11 +1,11 @@
1
- /*! DataTables 2.1.0
1
+ /*! DataTables 2.1.2
2
2
  * © SpryMedia Ltd - datatables.net/license
3
3
  */
4
4
 
5
5
  /**
6
6
  * @summary DataTables
7
7
  * @description Paginate, search and order HTML tables
8
- * @version 2.1.0
8
+ * @version 2.1.2
9
9
  * @author SpryMedia Ltd
10
10
  * @contact www.datatables.net
11
11
  * @copyright SpryMedia Ltd.
@@ -4742,14 +4742,16 @@
4742
4742
  return;
4743
4743
  }
4744
4744
 
4745
- /* Build and draw the header / footer for the table */
4745
+ // Build the header / footer for the table
4746
4746
  _fnBuildHead( settings, 'header' );
4747
4747
  _fnBuildHead( settings, 'footer' );
4748
- _fnDrawHead( settings, settings.aoHeader );
4749
- _fnDrawHead( settings, settings.aoFooter );
4750
4748
 
4751
- // Load the table's state (if needed) and then render around it and draw draw
4749
+ // Load the table's state (if needed) and then render around it and draw
4752
4750
  _fnLoadState( settings, init, function () {
4751
+ // Then draw the header / footer
4752
+ _fnDrawHead( settings, settings.aoHeader );
4753
+ _fnDrawHead( settings, settings.aoFooter );
4754
+
4753
4755
  // Local data load
4754
4756
  // Check if there is data passing into the constructor
4755
4757
  if ( init.aaData ) {
@@ -9802,7 +9804,7 @@
9802
9804
  * @type string
9803
9805
  * @default Version number
9804
9806
  */
9805
- DataTable.version = "2.1.0";
9807
+ DataTable.version = "2.1.2";
9806
9808
 
9807
9809
  /**
9808
9810
  * Private data store, containing all of the settings objects that are
@@ -12729,6 +12731,7 @@
12729
12731
  return; // table, not a nested one
12730
12732
  }
12731
12733
 
12734
+ var i;
12732
12735
  var orderClasses = classes.order;
12733
12736
  var columns = ctx.api.columns( cell );
12734
12737
  var col = settings.aoColumns[columns.flatten()[0]];
@@ -12737,14 +12740,7 @@
12737
12740
  var indexes = columns.indexes();
12738
12741
  var sortDirs = columns.orderable(true).flatten();
12739
12742
  var sorting = ctx.sortDetails;
12740
- var orderedColumns = ',' + sorting
12741
- .filter( function (sort) {
12742
- // Filter to just the visible columns
12743
- return ctx.aoColumns[sort.col].bVisible;
12744
- } )
12745
- .map( function (sort) {
12746
- return sort.col;
12747
- } ).join(',') + ',';
12743
+ var orderedColumns = _pluck(sorting, 'col');
12748
12744
 
12749
12745
  cell
12750
12746
  .removeClass(
@@ -12755,10 +12751,17 @@
12755
12751
  .toggleClass( orderClasses.canAsc, orderable && sortDirs.includes('asc') )
12756
12752
  .toggleClass( orderClasses.canDesc, orderable && sortDirs.includes('desc') );
12757
12753
 
12758
- // Get the index of this cell in the sort array
12759
- var sortIdx = orderedColumns.indexOf( ',' + indexes.toArray().join(',') + ',' );
12754
+ // Determine if all of the columns that this cell covers are included in the
12755
+ // current ordering
12756
+ var isOrdering = true;
12757
+
12758
+ for (i=0; i<indexes.length; i++) {
12759
+ if (! orderedColumns.includes(indexes[i])) {
12760
+ isOrdering = false;
12761
+ }
12762
+ }
12760
12763
 
12761
- if ( sortIdx !== -1 ) {
12764
+ if ( isOrdering ) {
12762
12765
  // Get the ordering direction for the columns under this cell
12763
12766
  // Note that it is possible for a cell to be asc and desc sorting
12764
12767
  // (column spanning cells)
@@ -12770,8 +12773,19 @@
12770
12773
  );
12771
12774
  }
12772
12775
 
12773
- // The ARIA spec says that only one column should be marked with aria-sort
12774
- if ( sortIdx === 0 ) {
12776
+ // Find the first visible column that has ordering applied to it - it get's
12777
+ // the aria information, as the ARIA spec says that only one column should
12778
+ // be marked with aria-sort
12779
+ var firstVis = -1; // column index
12780
+
12781
+ for (i=0; i<orderedColumns.length; i++) {
12782
+ if (settings.aoColumns[orderedColumns[i]].bVisible) {
12783
+ firstVis = orderedColumns[i];
12784
+ break;
12785
+ }
12786
+ }
12787
+
12788
+ if (indexes[0] == firstVis) {
12775
12789
  var firstSort = sorting[0];
12776
12790
  var sortOrder = col.asSorting;
12777
12791
 
@@ -12789,6 +12803,7 @@
12789
12803
  : col.ariaTitle
12790
12804
  );
12791
12805
 
12806
+ // Make the headers tab-able for keyboard navigation
12792
12807
  if (orderable) {
12793
12808
  cell.find('.dt-column-title').attr('role', 'button');
12794
12809
  cell.attr('tabindex', 0)