src/scripts/views/table.js
function (tableState, dataTablesCallback, dataTablesSettings) {
    this.collection.setSearch(tableState.search.value ? tableState.search.value : null)
    this.collection.unsetRecordCount()
    this.renderFilters()

    // Get record count first because it needs to be passed into the collection.fetch callback
    this.collection.getRecordCount().then(_.bind(function (recordCount) {
      if (!this.recordsTotal) {
        this.recordsTotal = recordCount
      }
      var recordsTotal = this.recordsTotal // for use in callback below

      this.collection.setOffset(tableState.start || 0)
      this.collection.setLimit(tableState.length || 25)

      if (tableState.order.length) {
        this.collection.setOrder(tableState.columns[tableState.order[0].column].data + ' ' + tableState.order[0].dir)
      }

      this.collection.fetch({
        success: function (collection, response, options) {
          dataTablesCallback({
            data: collection.toJSON(),
            recordsTotal: recordsTotal,
            recordsFiltered: recordCount
          })
        }
      })
    }, this))
  }
function (tableState, dataTablesCallback, dataTablesSettings) {
    this.collection.setSearch(tableState.search.value ? tableState.search.value : null)
    this.collection.unsetRecordCount()
    this.renderFilters()

    // Get record count first because it needs to be passed into the collection.fetch callback
    this.collection.getRecordCount().then(_.bind(function (recordCount) {
      if (!this.recordsTotal) {
        this.recordsTotal = recordCount
      }
      var recordsTotal = this.recordsTotal // for use in callback below

      this.collection.setOffset(tableState.start || 0)
      this.collection.setLimit(tableState.length || 25)

      if (tableState.order.length) {
        this.collection.setOrder(tableState.columns[tableState.order[0].column].data + ' ' + tableState.order[0].dir)
      }

      this.collection.fetch({
        success: function (collection, response, options) {
          dataTablesCallback({
            data: collection.toJSON(),
            recordsTotal: recordsTotal,
            recordsFiltered: recordCount
          })
        }
      })
    }, this))
  }
function ( tableState , dataTablesCallback , dataTablesSettings ) { this . collection . setSearch ( tableState . search . value ? tableState . search . value : null ) this . collection . unsetRecordCount ( ) this . renderFilters ( ) // Get record count first because it needs to be passed into the collection.fetch callback this . collection . getRecordCount ( ) . then ( _ . bind ( function ( recordCount ) { if ( ! this . recordsTotal ) { this . recordsTotal = recordCount } var recordsTotal = this . recordsTotal // for use in callback below this . collection . setOffset ( tableState . start || 0 ) this . collection . setLimit ( tableState . length || 25 ) if ( tableState . order . length ) { this . collection . setOrder ( tableState . columns [ tableState . order [ 0 ] . column ] . data + ' ' + tableState . order [ 0 ] . dir ) } this . collection . fetch ( { success : function ( collection , response , options ) { dataTablesCallback ( { data : collection . toJSON ( ) , recordsTotal : recordsTotal , recordsFiltered : recordCount } ) } } ) } , this ) ) }
Adjust collection using table state, then pass off to collection.fetch with datatables callback
Adjust collection using table state then pass off to collection . fetch with datatables callback