Custom sorting in DataTable

Здравствуйте!!! Возникла следующая проблема.
Реализовал custom sort в DataTable по последнему столбцу. В браузере InternetExplore сортируется всё корректно. В chrome, yandex, firefox кастомная сортировка не работает. При уменьшении количества строк на 5 сортировка работает корректно. Подскажите пожалуйста, может возможно решить этот вопрос?
http://webix.com/snippet/e5abd552

Извиняюсь, вот корректный пример http://webix.com/snippet/cffd3fad

Вот пример с корректно работающей сортировкой: http://webix.com/snippet/c8604f5a

Ещё раз извиняюсь))) На текст под таблицей внимания прошу не обращать) Поздно уже, внимательности не осталось(( Заранее большое спасибо!

В Safari сортировка также работает корректно.

Здравствуйте!

При сортировке в Webix используется нативный Javascript метод sort, а разные браузеры применяют разные алгоритмы для сортировки.

В Chrome и Firefox пары значений, для которых возвращается 0, становятся взаимозаменяемы для следующих сравнений, поэтому алгоритм даже не доходит для сравнения нужных нам элементов массива.
К тому же, он может менять местами равные элементы массива как угодно.

Решение - нужно сортировать данные по какому-либо параметру в любом случае. Пусть это будет id (у каждого элемента данных есть id, заданная или автоматически сгенерированная). То есть, элементы, у которых нет fileSize, сортируются по id.

function sortBySize(a, b){ 
  if(!a.isDir && !b.isDir )
    return a.fileSize - b.fileSize;
  else
    return a.id*1 - b.id;
} 

http://webix.com/snippet/5b9c4c22

Здравствуйте! Большое спасибо за ответ!
К сожалению предложенный Вами метод сортировки работает тоже некорректно.
У меня была задумка сделать что-то на подобие файлового менеджера TotalCommander. В нём при сортировке по полю размера файла, сортировка каталогов не производится. Их нужно оставлять на своём месте. А сортировать только файлы. При Вашем решении каталоги всё равно продолжают сортироваться…

в вашем случае надо перехватить направление сортировки и, при убывающей в случае isDir, умножать на -1

что-то в этом роде http://webix.com/snippet/e4d775d2

intregal, спасибо большое за помощь!!! На первый взгляд всё работает! Завтра попробую и обязательно отпишусь! Ещё раз большое спасибо!

Здравствуйте! Потестировал сортировку в разных браузерах - всё работает просто замечательно! Большое спасибо за помощь!