Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ( function( window, document, $, undefined ) {
- $( document ).on('init.dt', function(e, settings) {
- var _Api = new $.fn.dataTable.Api( settings );
- var _api_registerPlural = function ( pluralName, singularName, val ) {
- $.fn.dataTable.Api.register( pluralName, val );
- $.fn.dataTable.Api.register( singularName, function () {
- var ret = val.apply( this, arguments );
- if ( ret === this ) {
- // Returned item is the API instance that was passed in, return it
- return this;
- }
- else if ( ret instanceof _Api ) {
- // New API instance returned, want the value from the first item
- // in the returned array for the singular result.
- return ret.length ?
- $.isArray( ret[0] ) ?
- new _Api( ret.context, ret[0] ) : // Array results are 'enhanced'
- ret[0] :
- undefined;
- }
- // Non-API return - just fire it back
- return ret;
- } );
- };
- _api_registerPlural( 'rows().remove()', 'row().remove()', function () {
- var that = this;
- this.iterator( 'row', function ( settings, row, thatIdx ) {
- var $row = $(_Api.row(thatIdx).node());
- //var $row = $('#example > tbody > tr:('+thatIdx+')');
- $row.css('background-color', '#ff0000');
- $row.fadeOut( "slow", function() {
- var data = settings.aoData;
- data.splice( row, 1 );
- // Update the _DT_RowIndex parameter on all rows in the table
- for ( var i=0, ien=data.length ; i<ien ; i++ ) {
- if ( data[i].nTr !== null ) {
- data[i].nTr._DT_RowIndex = i;
- }
- }
- // Delete from the display arrays
- settings.oApi._fnDeleteIndex( settings.aiDisplayMaster, row );
- settings.oApi._fnDeleteIndex( settings.aiDisplay, row );
- settings.oApi._fnDeleteIndex( that[ thatIdx ], row, false ); // maintain local indexes
- // Check for an 'overflow' they case for displaying the table
- settings.oApi._fnLengthOverflow( settings );
- });
- } );
- this.iterator( 'table', function ( settings ) {
- for ( var i=0, ien=settings.aoData.length ; i<ien ; i++ ) {
- settings.aoData[i].idx = i;
- }
- } );
- return this;
- } );
- $.fn.dataTable.Api.register( 'row().data()', function ( data ) {
- console.log('UPDATING ROW');
- var ctx = this.context;
- if ( data === undefined ) {
- // Get
- return ctx.length && this.length ?
- ctx[0].aoData[ this[0] ]._aData :
- undefined;
- }
- // Set
- ctx[0].aoData[ this[0] ]._aData = data;
- // Automatically invalidate
- settings.oApi._fnInvalidate( ctx[0], this[0], 'data' );
- return this;
- } );
- });
- })( window, document, jQuery );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement