Как отсортировать nestedGroups на временной шкале vis.js? - PullRequest
0 голосов
/ 29 октября 2018

У меня проблема с nestedGroups. Я сортирую массив до того, как items и nestedGroups созданы, но даже тогда по какой-то причине я получаю первый элемент на последней позиции на временной шкале.

enter image description here

Вот скриншот моей проблемы. Элемент activity_9 должен быть перед элементом activity_10. И я запутался, потому что в группах выше порядка nestedGroups это хорошо. Кто-нибудь может мне помочь. Спасибо.

1 Ответ

0 голосов
/ 09 ноября 2018

У меня была проблема с самим собой, причина в том, что я понимаю, что js читает это в алфавитном порядке, поэтому 1-9 в порядке, но 10 меньше, чем 2, поскольку он читает только первое число.

так что я сделал, добавил несколько цифр перед моим идентификатором. так что всегда было одинаковой длины.

1000, 1001, 1002 - вплоть до 9999 (если вам нужно более 10.000 сущностей, добавьте экстра ноль)

Я использовал Mysql для добавления чисел, поскольку я извлекаю все данные, хотя это.

так мой код будет выглядеть так

$sortnum = $row['id'];
$sortnum = "1".str_pad($sortnum, 4, '0', STR_PAD_LEFT);

если у вас есть идентификатор 10, он вернет 10010, а если у вас 2, будет 10002 Таким образом, JS будет читать правильно, так как 10002 меньше, чем 10010

Я знаю, что это может быть не очень хороший или непростой способ сделать это, но для меня это сработало, и пока я не найду лучшего решения, оно подойдет.

Редактировать:

если у вас есть слот id, заблокированный для чего-то другого, вы можете отсортировать его по контенту и просто запустить контент со скрытым полем, содержащим «id», до того, как он сработает.

тогда все, что вам нужно сделать, это установить в параметре vis.js значение groupOrder для groupOrder: 'content',

...