Пропуск выходных с Highcharts Gantt - PullRequest
0 голосов
/ 23 ноября 2018

Я ищу способ пропустить выходные дни при использовании xAxis даты и времени с Highcharts Gantt.

Я прочитал несколько постов о параметре

xAxis.ordinal 

для HighStock, но я использую HighCharts

Кроме того, мне нужно придерживаться даты и времени, потому что япланирую создать интерактивный Гант / планирование и обновить базу данных с помощью этих взаимодействий, и я не хочу иметь возможность перетаскивать (или расширять) задачу в выходные дни.Я полагаю, что мог бы предотвратить это с помощью события drop (думаю, что оно есть), но тогда 2/7 моего графика будет «пустым».enter image description here

Если кто-то знает, как взломать эту ситуацию, я за нее!

PS: Набирая это, я понимаю, что xAxis кажетсячтобы всегда быть с датой и временем Ганта, так что "хак" определения каждого xValue сам, вероятно, был для обычного графика ... Я обречен на выходные?

Редактировать: Вот скрипка где мы сейчас находимся.Как вы можете видеть, мы можем скрыть все выходные, используя

xAxis: [{
    breaks: [{
        from: Date.UTC(2018, 11, 8),
        to: Date.UTC(2018, 11, 10),
        breakSize: 0,
        repeat: 7 * 24 * 36e5 //every week/7 days
    }]
}]

Но, к сожалению, перерывы не совместимы с модулем "точки перетаскивания" и приводят к перетаскиванию точек / задач в "изменить размер "себя при перемещении в течение перерыва (в нашем случае в выходные дни), мерцание и, в какой-то момент, даже исчезновение из Ганта: / (Кроме того, некоторые метки действуют странно при перетаскивании)

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

Я будувероятно, нужно оставить выходные включенными и выполнять проверки / математические расчеты, чтобы добавление 2 дней к задаче на 5 рабочих дней не "рисовало" задачу в выходные, а фактически добавляло 4 дня для компенсации (по модулю выигрыша), но это не такидеально ...

Должен ли я сообщать об этом (своего рода) странном поведении между draggable-точками и перерывами xAxis как баг?Технически, точки не меняют значения (я имею в виду, что в этой демонстрации , используя кнопки и консоль, вы видите, что xmax-xmin для каждой точки остается прежним), но при перетаскивании нав выходные они исчезают.Это то, чего я пытаюсь избежать.

tl; dr: Разрывы действуют как черные дыры, когда рядом с ними перетаскивается точка (вы не можете перетащить a до значения меньше, чем.... расстояние в полторы недели между мышью и разрывом).

Редактировать: отчет об ошибках

1 Ответ

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

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

xAxis: [{
    breaks: [{
        from: Date.UTC(2018, 11, 8),
        to: Date.UTC(2018, 11, 10),
        breakSize: 0
    }]
}, {
    visible: false
}]

Демонстрация в реальном времени: https://jsfiddle.net/BlackLabel/se1vL6mx/

API:https://api.highcharts.com/gantt/xAxis.breaks

...