Есть ли способ передать значение даты в атрибуты min и max опций контроллера на временной шкале vis.js? - PullRequest
0 голосов
/ 29 января 2019

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

Я уже нашел способ сортировки моих данных в порядке временной шкалы (они представляют собой массив объектов с более чем просто датой в качестве атрибута, но мне нужно отсортировать массив только по атрибуту даты),но когда я пытаюсь передать самые ранние и самые последние даты в min / max в .options, он выдает неопределенную ошибку переменной.

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

Я также отметил из многих исследований, что единственными примерами использования атрибутов min и max в .options всегда являются жестко закодированные значения.Мне нужно иметь возможность передавать значения в зависимости от заданного набора данных, поэтому значения жесткого кода не будут работать для моего решения.finalMin и finalMax - это переменные в правильном формате даты.

ctrl.finalMin;
ctrl.finalMax;
ctrl.options = {
    min: new Date(ctrl.finalMin),
    max: new Date(ctrl.finalMax),
    zoomable: false,
    height: '100%',
    style: 'bar',
    drawPoints: false,
    };

Итак, finalMin и finalMax - это переменные, которые позже используются в другой функции для получения самых ранних и самых последних дат из набора данных.Я ожидаю, что временная шкала будет отражать видимый диапазон значений, начиная с finalMin и заканчивая finalMax.Помощь

1 Ответ

0 голосов
/ 30 января 2019

Просто не устанавливайте мин / макс во время создания.

Вы можете установить их в любое более позднее время, например, после назначения набора данных вы можете:

    timeline.range.options.min = your_new_min_date;
    timeline.range.options.max = your_new_max_date;
    timeline.fit(); // or timeline.moveTo( date_within_your_data_set );
...