Vis.js / Moment.js - метки шкалы времени - PullRequest
0 голосов
/ 06 декабря 2018

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

Я настроил параметры следующим образом:

let options = {
        autoResize: true,
        min: '2000-1-1 00:00:00',
        max: '2000-1-1 01:30:00',
        start: '2000-1-1 00:00:00',
        end: '2000-1-1 01:30:00',
        //zoomMax: 86399999,

        zoomMin: 18000,
        format: {
            minorLabels: {
                millisecond: '',
                second:     'mm:ss',
                minute:     'mm:ss',
                hour:       'mm:ss',
                weekday:    '',
                day:        '',
                week:       '',
                month:      '',
                year:       ''
              },
              majorLabels: {
                millisecond:'',
                second:     '',
                minute:     '',
                hour:       '',
                weekday:    '',
                day:        '',
                week:       '',
                month:      '',
                year:       ''
              }
        }
    };

Насколько я понял, vis.js вызывает метки (секунды, минуты, часы и т. Д.) Момент ()Функция .format () из момента.js.Возможно ли как-нибудь в форматировании moment.js добавить количество часов (H) умноженное на 60 к значению минут (мм) простым способом?

В моей текущей конфигурации оно перезапускается через 00 минут через 60 минут: график времени

(И да, я работаю над приложением для футбола)

1 Ответ

0 голосов
/ 06 декабря 2018

В документе вы можете найти опцию для настройки формата даты с помощью функции:

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

Ниже вы можете найти преобразованное время в минутах:

format: {
  minorLabels: function (date, scale, step) { 
    var time = date.format("HH:mm");
    return moment.duration(time).asMinutes();
  },
  majorLabels: function (date, scale, step) { return "" }
}

JSFiddle с примером

...