datatables.net 2.0.2 → 2.0.3

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.
package/js/dataTables.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! DataTables 2.0.2
1
+ /*! DataTables 2.0.3
2
2
  * © SpryMedia Ltd - datatables.net/license
3
3
  */
4
4
 
@@ -3364,8 +3364,15 @@ function _fnDraw( oSettings, ajaxComplete )
3364
3364
  _fnCallbackFire( oSettings, 'aoFooterCallback', 'footer', [ $(oSettings.nTFoot).children('tr')[0],
3365
3365
  _fnGetDataMaster( oSettings ), iDisplayStart, iDisplayEnd, aiDisplay ] );
3366
3366
 
3367
- body.children().detach();
3368
- body.append( $(anRows) );
3367
+ // replaceChildren is faster, but only became widespread in 2020,
3368
+ // so a fall back in jQuery is provided for older browsers.
3369
+ if (body[0].replaceChildren) {
3370
+ body[0].replaceChildren.apply(body[0], anRows);
3371
+ }
3372
+ else {
3373
+ body.children().detach();
3374
+ body.append( $(anRows) );
3375
+ }
3369
3376
 
3370
3377
  // Empty table needs a specific class
3371
3378
  $(oSettings.nTableWrapper).toggleClass('dt-empty-footer', $('tr', oSettings.nTFoot).length === 0);
@@ -3633,15 +3640,15 @@ function _fnAddOptionsHtml ( settings )
3633
3640
 
3634
3641
  settings.nTableWrapper = insert[0];
3635
3642
 
3636
- var top = _layoutArray( settings, settings.layout, 'top' );
3637
- var bottom = _layoutArray( settings, settings.layout, 'bottom' );
3638
- var renderer = _fnRenderer( settings, 'layout' );
3639
-
3640
3643
  if (settings.sDom) {
3641
3644
  // Legacy
3642
3645
  _fnLayoutDom(settings, settings.sDom, insert);
3643
3646
  }
3644
3647
  else {
3648
+ var top = _layoutArray( settings, settings.layout, 'top' );
3649
+ var bottom = _layoutArray( settings, settings.layout, 'bottom' );
3650
+ var renderer = _fnRenderer( settings, 'layout' );
3651
+
3645
3652
  // Everything above - the renderer will actually insert the contents into the document
3646
3653
  top.forEach(function (item) {
3647
3654
  renderer( settings, insert, item );
@@ -5401,10 +5408,13 @@ function _fnSortAttachListener(settings, node, selector, column, callback) {
5401
5408
  // Allow the processing display to show
5402
5409
  setTimeout( function () {
5403
5410
  _fnSort( settings );
5404
- _fnSortDisplay( settings );
5405
- _fnReDraw( settings, false, false );
5411
+ _fnSortDisplay( settings, settings.aiDisplay );
5412
+
5413
+ // Sort processing done - redraw has its own processing display
5406
5414
  _fnProcessingDisplay( settings, false );
5407
5415
 
5416
+ _fnReDraw( settings, false, false );
5417
+
5408
5418
  if (callback) {
5409
5419
  callback();
5410
5420
  }
@@ -5418,8 +5428,7 @@ function _fnSortAttachListener(settings, node, selector, column, callback) {
5418
5428
  * Sort the display array to match the master's order
5419
5429
  * @param {*} settings
5420
5430
  */
5421
- function _fnSortDisplay(settings) {
5422
- var display = settings.aiDisplay;
5431
+ function _fnSortDisplay(settings, display) {
5423
5432
  var master = settings.aiDisplayMaster;
5424
5433
  var masterMap = {};
5425
5434
  var map = {};
@@ -7640,11 +7649,7 @@ var __row_selector = function ( settings, selector, opts )
7640
7649
  var matched = _selector_run( 'row', selector, run, settings, opts );
7641
7650
 
7642
7651
  if (opts.order === 'current' || opts.order === 'applied') {
7643
- var master = settings.aiDisplayMaster;
7644
-
7645
- matched.sort(function(a, b) {
7646
- return master.indexOf(a) - master.indexOf(b);
7647
- });
7652
+ _fnSortDisplay(settings, matched);
7648
7653
  }
7649
7654
 
7650
7655
  return matched;
@@ -9505,7 +9510,7 @@ _api_register( 'i18n()', function ( token, def, plural ) {
9505
9510
  * @type string
9506
9511
  * @default Version number
9507
9512
  */
9508
- DataTable.version = "2.0.2";
9513
+ DataTable.version = "2.0.3";
9509
9514
 
9510
9515
  /**
9511
9516
  * Private data store, containing all of the settings objects that are
@@ -12907,9 +12912,9 @@ $.extend( true, DataTable.ext.renderer, {
12907
12912
  var ariaType = '';
12908
12913
  var indexes = columns.indexes();
12909
12914
  var sortDirs = columns.orderable(true).flatten();
12910
- var orderedColumns = sorting.map( function (val) {
12915
+ var orderedColumns = ',' + sorting.map( function (val) {
12911
12916
  return val.col;
12912
- } ).join(',');
12917
+ } ).join(',') + ',';
12913
12918
 
12914
12919
  cell
12915
12920
  .removeClass(
@@ -12920,7 +12925,7 @@ $.extend( true, DataTable.ext.renderer, {
12920
12925
  .toggleClass( orderClasses.canAsc, orderable && sortDirs.includes('asc') )
12921
12926
  .toggleClass( orderClasses.canDesc, orderable && sortDirs.includes('desc') );
12922
12927
 
12923
- var sortIdx = orderedColumns.indexOf( indexes.toArray().join(',') );
12928
+ var sortIdx = orderedColumns.indexOf( ',' + indexes.toArray().join(',') + ',' );
12924
12929
 
12925
12930
  if ( sortIdx !== -1 ) {
12926
12931
  // Get the ordering direction for the columns under this cell
@@ -12935,7 +12940,7 @@ $.extend( true, DataTable.ext.renderer, {
12935
12940
  }
12936
12941
 
12937
12942
  // The ARIA spec says that only one column should be marked with aria-sort
12938
- if ( sortIdx === 0 && orderedColumns.length === indexes.count() ) {
12943
+ if ( sortIdx === 0 ) {
12939
12944
  var firstSort = sorting[0];
12940
12945
  var sortOrder = col.asSorting;
12941
12946
 
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "js/dataTables.js",
5
5
  "module": "js/dataTables.mjs",
6
6
  "types": "./types/types.d.ts",
7
- "version": "2.0.2",
7
+ "version": "2.0.3",
8
8
  "files": [
9
9
  "js/**/*.js",
10
10
  "js/**/*.mjs",
package/types/types.d.ts CHANGED
@@ -1593,7 +1593,7 @@ export interface ApiCell<T> {
1593
1593
  (rowSelector: RowSelector<T>, columnSelector: ColumnSelector, modifier?: ApiSelectorModifier): ApiCellMethods<T>;
1594
1594
  }
1595
1595
 
1596
- export interface ApiCellMethods<T> extends Omit<Api<T>, 'render'> {
1596
+ export interface ApiCellMethods<T> extends Omit<Api<T>, 'render' | 'select'> {
1597
1597
  /**
1598
1598
  * Get the DataTables cached data for the selected cell
1599
1599
  *
@@ -1677,7 +1677,7 @@ export interface ApiCells<T> {
1677
1677
  (rowSelector: RowSelector<T>, columnSelector: ColumnSelector, modifier?: ApiSelectorModifier): ApiCellsMethods<T>;
1678
1678
  }
1679
1679
 
1680
- export interface ApiCellsMethods<T> extends Omit<Api<T>, 'data' | 'render'> {
1680
+ export interface ApiCellsMethods<T> extends Omit<Api<T>, 'data' | 'render' | 'select'> {
1681
1681
  /**
1682
1682
  * Get the DataTables cached data for the selected cells
1683
1683
  *
@@ -2312,7 +2312,7 @@ export interface ApiRow<T> {
2312
2312
  add(data: any[] | object): ApiRowMethods<T>;
2313
2313
  }
2314
2314
 
2315
- export interface ApiRowMethods<T> extends Omit<Api<T>, 'data'> {
2315
+ export interface ApiRowMethods<T> extends Omit<Api<T>, 'data' | 'select'> {
2316
2316
  /**
2317
2317
  * Get the DataTables cached data for the selected row(s)
2318
2318
  *
@@ -2406,7 +2406,7 @@ export interface ApiRows<T> {
2406
2406
  add(data: T[]): ApiRowsMethods<T>;
2407
2407
  }
2408
2408
 
2409
- export interface ApiRowsMethods<T> extends Api<T> {
2409
+ export interface ApiRowsMethods<T> extends Omit<Api<T>, 'select'> {
2410
2410
  /**
2411
2411
  * Get the DataTables cached data for the selected row(s)
2412
2412
  *
@@ -3004,182 +3004,137 @@ export interface DataTablesStaticExtButtons {
3004
3004
  * that these all use legacy Hungarian notation.
3005
3005
  */
3006
3006
  export interface ExtClassesSettings {
3007
- /**
3008
- * Default Value:
3009
- * dataTable
3010
- */
3011
- sTable?: string;
3012
-
3013
- /**
3014
- * Default Value:
3015
- * no-footer
3016
- */
3017
- sNoFooter?: string;
3018
-
3019
- /**
3020
- * Default Value:
3021
- * dt-paging-button
3022
- */
3023
- sPageButton?: string;
3024
-
3025
- /**
3026
- * Default Value:
3027
- * current
3028
- */
3029
- sPageButtonActive?: string;
3030
-
3031
- /**
3032
- * Default Value:
3033
- * disabled
3034
- */
3035
- sPageButtonDisabled?: string;
3036
-
3037
- /**
3038
- * Default Value:
3039
- * odd
3040
- */
3041
- sStripeOdd?: string;
3042
-
3043
- /**
3044
- * Default Value:
3045
- * even
3046
- */
3047
- sStripeEven?: string;
3048
-
3049
- /**
3050
- * Default Value:
3051
- * dt-empty
3052
- */
3053
- sRowEmpty?: string;
3054
-
3055
- /**
3056
- * Default Value:
3057
- * dt-container
3058
- */
3059
- sWrapper?: string;
3060
-
3061
- /**
3062
- * Default Value:
3063
- * dt-search
3064
- */
3065
- sFilter?: string;
3066
-
3067
- /**
3068
- * Default Value:
3069
- * dt-info
3070
- */
3071
- sInfo?: string;
3072
-
3073
- /**
3074
- * Default Value:
3075
- * dt-paging paging_
3076
- */
3077
- sPaging?: string;
3078
-
3079
- /**
3080
- * Default Value:
3081
- * dt-length
3082
- */
3083
- sLength?: string;
3084
-
3085
- /**
3086
- * Default Value:
3087
- * dt-processing
3088
- */
3089
- sProcessing?: string;
3090
-
3091
- /**
3092
- * Default Value:
3093
- * sorting_asc
3094
- */
3095
- sSortAsc?: string;
3096
-
3097
- /**
3098
- * Default Value:
3099
- * sorting_desc
3100
- */
3101
- sSortDesc?: string;
3102
-
3103
- /**
3104
- * Default Value:
3105
- * sorting
3106
- */
3107
- sSortable?: string;
3108
-
3109
- /**
3110
- * Default Value:
3111
- * sorting_asc_disabled
3112
- */
3113
- sSortableAsc?: string;
3114
-
3115
- /**
3116
- * Default Value:
3117
- * sorting_desc_disabled
3118
- */
3119
- sSortableDesc?: string;
3120
-
3121
- /**
3122
- * Default Value:
3123
- * sorting_disabled
3124
- */
3125
- sSortableNone?: string;
3126
-
3127
- /**
3128
- * Default Value:
3129
- * sorting_
3130
- */
3131
- sSortColumn?: string;
3132
-
3133
- sFilterInput?: string;
3134
- sLengthSelect?: string;
3135
-
3136
- /**
3137
- * Default Value:
3138
- * dataTables_scroll
3139
- */
3140
- sScrollWrapper?: string;
3141
-
3142
- /**
3143
- * Default Value:
3144
- * dt-scroll-head
3145
- */
3146
- sScrollHead?: string;
3147
-
3148
- /**
3149
- * Default Value:
3150
- * dt-scroll-headInner
3151
- */
3152
- sScrollHeadInner?: string;
3153
-
3154
- /**
3155
- * Default Value:
3156
- * dt-scroll-body
3157
- */
3158
- sScrollBody?: string;
3159
-
3160
- /**
3161
- * Default Value:
3162
- * dt-scroll-foot
3163
- */
3164
- sScrollFoot?: string;
3165
-
3166
- /**
3167
- * Default Value:
3168
- * dt-scroll-footInner
3169
- */
3170
- sScrollFootInner?: string;
3171
-
3172
- sHeaderTH?: string;
3173
- sFooterTH?: string;
3174
- sSortJUIAsc?: string;
3175
- sSortJUIDesc?: string;
3176
- sSortJUI?: string;
3177
- sSortJUIAscAllowed?: string;
3178
- sSortJUIDescAllowed?: string;
3179
- sSortJUIWrapper?: string;
3180
- sSortIcon?: string;
3181
- sJUIHeader?: string;
3182
- sJUIFooter?: string;
3007
+ /** Class to apply to the container for all DataTables controlled elements */
3008
+ container: string;
3009
+
3010
+ /** Empty row classes */
3011
+ empty: {
3012
+ /** Empty row class */
3013
+ row: string;
3014
+ };
3015
+
3016
+ /** Info feature classes */
3017
+ info: {
3018
+ /** Container `<div>` class */
3019
+ container: string;
3020
+ };
3021
+
3022
+ /** Length feature classes */
3023
+ length: {
3024
+ /** Container `<div>` class */
3025
+ container: string;
3026
+
3027
+ /** Applied to the `<select>` element */
3028
+ select: string;
3029
+ };
3030
+
3031
+ /** Table header cell ordering classes */
3032
+ order: {
3033
+ /** Applied if a column can sort asc */
3034
+ canAsc: string;
3035
+
3036
+ /** Applied if a column can sort desc */
3037
+ canDesc: string;
3038
+
3039
+ /** Applied if a column is sorting asc */
3040
+ isAsc: string;
3041
+
3042
+ /** Applied if a column is sorting desc */
3043
+ isDesc: string;
3044
+
3045
+ /** Applied if there is no sorting available on a column */
3046
+ none: string;
3047
+
3048
+ /** Position class */
3049
+ position: string;
3050
+ };
3051
+
3052
+ /** Processing indicator classes */
3053
+ processing: {
3054
+ /** Container `<div>` class */
3055
+ container: string;
3056
+ };
3057
+
3058
+ /** Classes for scrolling tables (`scrollX` / `scrollY`) */
3059
+ scrolling: {
3060
+ /** Body table wrapper `<div>` */
3061
+ body: string;
3062
+
3063
+ /** Applied to the wrapper for all scrolling elements */
3064
+ container: string;
3065
+
3066
+ /** Scrolling footer classes */
3067
+ footer: {
3068
+ /** Applied to the footer container `<div>` */
3069
+ self: string;
3070
+
3071
+ /** Applied to the inner footer `<div>` */
3072
+ inner: string;
3073
+ };
3074
+
3075
+ /** Scrolling header classes */
3076
+ header: {
3077
+ /** Applied to the header container `<div>` */
3078
+ self: string;
3079
+
3080
+ /** Applied to the inner header `<div>` */
3081
+ inner: string;
3082
+ }
3083
+ };
3084
+
3085
+ /** Search feature classes */
3086
+ search: {
3087
+ /** Applied to the search container `<div>` */
3088
+ container: string;
3089
+
3090
+ /** Class to add to `<input>` element */
3091
+ input: string;
3092
+ };
3093
+
3094
+ /** Class to add to the `<table>` when DataTables is initialised on it */
3095
+ table: string;
3096
+
3097
+ /** Table body classes */
3098
+ tbody: {
3099
+ /** Applied to all cells in the table body */
3100
+ cell: string;
3101
+
3102
+ /** Applied to all `tr` element in the table body */
3103
+ row: string;
3104
+ };
3105
+
3106
+ /** Table header classes */
3107
+ thead: {
3108
+ /** Applied to `td`/`th` elements in the table header */
3109
+ cell: string;
3110
+
3111
+ /** Applied to `tr` elements in the table header */
3112
+ row: string;
3113
+ };
3114
+
3115
+ /** Table footer classes */
3116
+ tfoot: {
3117
+ /** Applied to `td`/`th` elements in the footer */
3118
+ cell: string;
3119
+
3120
+ /** Applied to `tr` elements in the footer */
3121
+ row: string;
3122
+ };
3123
+
3124
+ /** Paging feature classes */
3125
+ paging: {
3126
+ /** Button shows the current page */
3127
+ active: string;
3128
+
3129
+ /** Applied to all buttons */
3130
+ button: string;
3131
+
3132
+ /** Container class */
3133
+ container: string;
3134
+
3135
+ /** Button unavailable class */
3136
+ disabled: string;
3137
+ };
3183
3138
  }
3184
3139
 
3185
3140