Сортировка таблицы с плагином JS вызывает ошибку - PullRequest
0 голосов
/ 11 марта 2019

У меня проблема с сортировочным плагином JS для моих таблиц. Он называется «Сортируемый». Я сделал все, что описано в документации, чтобы все настроить. Сортировка работает, но есть проблема с датами и ценами.

Поэтому, когда я сортирую, например, столбец даты по возрастанию, строки выглядят так:

  1. 22.10.2018
  2. 23.02.2019
  3. 28.02.2019
  4. 28.12.2018

Вы можете посмотреть конфигурацию даты здесь:

https://github.hubspot.com/sortable/api/options/

Возможно, это проблема с немецким форматом даты, но я не знаю точно, как это исправить. Может быть, вы можете взглянуть на это? Это было бы действительно здорово!

1 Ответ

1 голос
/ 11 марта 2019

сортируется в алфавитном порядке. потому что немецкий формат даты не может быть проанализирован javascript Date.parse. Вы должны добавить пользовательский тип.

Вот как Sortable внутренне устанавливает значения по умолчанию.

sortable.setupTypes [{
  name: 'numeric'
  defaultSortDirection: 'descending'
  match: (a) -> a.match numberRegExp
  comparator: (a) -> parseFloat(a.replace(/[^0-9.-]/g, ''), 10) or 0
}, {
  name: 'date'
  defaultSortDirection: 'ascending'
  reverse: true
  match: (a) -> not isNaN Date.parse a
  comparator: (a) -> Date.parse(a) or 0
}, {
  name: 'alpha'
  defaultSortDirection: 'ascending'
  match: -> true
  compare: (a, b) -> a.localeCompare b
}]

примечание match и comparator типа date. измените их на:

  match: (a) -> not isNaN Date.parse a.split('.').reverse().join('.')
  comparator: (a) -> Date.parse(a.split('.').reverse().join('.')) or 0

и добавьте их после вызова sortable.init ().

Кстати, это coffeescript. так что используйте его соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...