alwint3r / sequelize-datatable-node

MIT License
11 stars 12 forks source link

ordering does not work #7

Closed araneta closed 6 years ago

araneta commented 6 years ago

i tried the ordering on DataTables 1.10.16 with the following req.body from client side:

draw:3
columns[0][data]:name
columns[0][name]:
columns[0][searchable]:true
columns[0][orderable]:true
columns[0][search][value]:
columns[0][search][regex]:false
columns[1][data]:fullName
columns[1][name]:
columns[1][searchable]:true
columns[1][orderable]:true
columns[1][search][value]:
columns[1][search][regex]:false
columns[2][data]:staffId
columns[2][name]:
columns[2][searchable]:true
columns[2][orderable]:true
columns[2][search][value]:
columns[2][search][regex]:false
columns[3][data]:phone
columns[3][name]:
columns[3][searchable]:true
columns[3][orderable]:true
columns[3][search][value]:
columns[3][search][regex]:false
columns[4][data]:id
columns[4][name]:
columns[4][searchable]:true
columns[4][orderable]:true
columns[4][search][value]:
columns[4][search][regex]:false
order[0][column]:2
order[0][dir]:asc
start:0
length:10
search[value]:
search[regex]:false
filter:

and the server code

const Op = Sequelize.Op;
    var request = req.body;
    request.order = [
      {
        column: req.body['order[0][column]'],
        dir: req.body['order[0][dir]'],
      },
    ];
    datatable(models.JobPosition, request, {
        where: {
            [Op.or]:[{name: {$ilike: '%'+ req.body.filter +'%' }}, {fullName: {$ilike: '%'+ req.body.filter +'%' }}]
        } 
    })
    .then((result) => {     
        res.json(result);
    });

and i got this error:


nhandled rejection TypeError: Cannot read property '2' of undefined
    at buildOrder (/home/aldo/projects/disposito/apps/dispo/node_modules/sequelize-datatables/src/index.js:74:29)
    at buildSearch.then.then (/home/aldo/projects/disposito/apps/dispo/node_modules/sequelize-datatables/src/index.js:133:21)
    at tryCatcher (/home/aldo/projects/disposito/apps/dispo/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/home/aldo/projects/disposito/apps/dispo/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/home/aldo/projects/disposito/apps/dispo/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/home/aldo/projects/disposito/apps/dispo/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/home/aldo/projects/disposito/apps/dispo/node_modules/bluebird/js/release/promise.js:693:18)
    at Async._drainQueue (/home/aldo/projects/disposito/apps/dispo/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/home/aldo/projects/disposito/apps/dispo/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues (/home/aldo/projects/disposito/apps/dispo/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:789:20)
at tryOnImmediate (timers.js:751:5)
at processImmediate [as _immediateCallback] (timers.js:722:5)
araneta commented 6 years ago

i see so this library only support get request