Guest User

Untitled

a guest
Nov 29th, 2015
88
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. _api_register( 'rows().data()', function () {
  2.     return this.iterator( true, 'rows', function ( settings, rows ) {
  3.         return _pluck_order( settings.aoData, rows, '_aData' );
  4.     }, 1 );
  5. } );
  6.  
  7. _api_registerPlural( 'rows().remove()', 'row().remove()', function () {
  8.     var that = this;
  9.  
  10.     this.iterator( 'row', function ( settings, row, thatIdx ) {
  11.         var data = settings.aoData;
  12.  
  13.         data.splice( row, 1 );
  14.  
  15.         // Update the _DT_RowIndex parameter on all rows in the table
  16.         for ( var i=0, ien=data.length ; i<ien ; i++ ) {
  17.             if ( data[i].nTr !== null ) {
  18.                 data[i].nTr._DT_RowIndex = i;
  19.             }
  20.         }
  21.  
  22.         // Delete from the display arrays
  23.         _fnDeleteIndex( settings.aiDisplayMaster, row );
  24.         _fnDeleteIndex( settings.aiDisplay, row );
  25.         _fnDeleteIndex( that[ thatIdx ], row, false ); // maintain local indexes
  26.  
  27.         // Check for an 'overflow' they case for displaying the table
  28.         _fnLengthOverflow( settings );
  29.     } );
  30.  
  31.     this.iterator( 'table', function ( settings ) {
  32.         for ( var i=0, ien=settings.aoData.length ; i<ien ; i++ ) {
  33.             settings.aoData[i].idx = i;
  34.         }
  35.     } );
  36.  
  37.     return this;
  38. } );
  39.  
  40. _api_register( 'rows.add()', function ( rows ) {
  41.     var newRows = this.iterator( 'table', function ( settings ) {
  42.         var row, i, ien;
  43.         var out = [];
  44.  
  45.         for ( i=0, ien=rows.length ; i<ien ; i++ ) {
  46.             row = rows[i];
  47.  
  48.             if ( row.nodeName && row.nodeName.toUpperCase() === 'TR' ) {
  49.                 out.push( _fnAddTr( settings, row )[0] );
  50.             }
  51.             else {
  52.                 out.push( _fnAddData( settings, row ) );
  53.             }
  54.         }
  55.  
  56.         return out;
  57.     }, 1 );
  58.  
  59.     // Return an Api.rows() extended instance, so rows().nodes() etc can be used
  60.     var modRows = this.rows( -1 );
  61.     modRows.pop();
  62.     modRows.push.apply( modRows, newRows.toArray() );
  63.  
  64.     return modRows;
  65. } );
  66.  
  67. _api_register( 'row.add()', function ( row ) {
  68.     // Allow a jQuery object to be passed in - only a single row is added from
  69.     // it though - the first element in the set
  70.     if ( row instanceof $ && row.length ) {
  71.         row = row[0];
  72.     }
  73.  
  74.     var rows = this.iterator( 'table', function ( settings ) {
  75.         if ( row.nodeName && row.nodeName.toUpperCase() === 'TR' ) {
  76.             return _fnAddTr( settings, row )[0];
  77.         }
  78.         return _fnAddData( settings, row );
  79.     } );
  80.  
  81.     // Return an Api.rows() extended instance, with the newly added row selected
  82.     return this.row( rows[0] );
  83. } );
  84.  
  85. _api_register( 'row().data()', function ( data ) {
  86.     var ctx = this.context;
  87.  
  88.     if ( data === undefined ) {
  89.         // Get
  90.         return ctx.length && this.length ?
  91.             ctx[0].aoData[ this[0] ]._aData :
  92.             undefined;
  93.     }
  94.  
  95.     // Set
  96.     ctx[0].aoData[ this[0] ]._aData = data;
  97.  
  98.     // Automatically invalidate
  99.     _fnInvalidate( ctx[0], this[0], 'data' );
  100.  
  101.     return this;
  102. } );
RAW Paste Data