dhtmlx график просмотра графика времени: событие на два месяца - PullRequest
0 голосов
/ 22 мая 2019

У меня две проблемы с планировщиком dhtmlx, и мне нужна ваша помощь;

  • Задача 1

У меня есть мероприятие, которое началось в последний день мая и закончится в первый день июня. На виде в мае я вижу свой объект события, но он не виден на виде в июне. Следующее событие отображается в двухмесячном представлении: May_lastDay -> June_firstDay + n (первый день = нет, второй и более = да). Кроме того, события, начатые в предыдущем месяце, отображаются, но не до начала первого дня, он начинается в половине дня (только графически) (например: 05 / 25-06 / 02). Я думаю, что мероприятие, завершенное в первый день, не видно из-за этого. => Перейти к моей правке 1

  • Задача 2

Я не могу вырастить событие за предыдущий месяц (например, фактически 06/02, я хочу вырасти до события, начинающегося 05/31 вместо 06/02 (последний день предыдущего месяца = максимум, так что 31 или 30 или 28 в зависимости от количества дней в предыдущем месяце. )

Config:

scheduler.createTimelineView({
        name: "timeline",
        x_unit: "day",
        x_date: "%d %D ",
        x_step: 1,
        x_size: 31,
        section_autoheight: false,
        y_unit: scheduler.serverList("visibleRooms"),
        y_property: "room",
        render:"bar",
        round_position:true,
        event_dy: "full",
        dy:60,
        second_scale:{
          x_unit: "month",
          x_date: "%F, %Y"
        },
        // scrollable: true,
        // scroll_position:new Date(2018, 0, 15)
      });

фото 1: май Фото 2: июнь

во второй последней строке второго рисунка должно быть красное событие в половине первого дня июня.
на 3-й и 7-й линиях не должно быть дырки 1-го июня. (когда мы перемещаем курсор на событие, мы видим, что даты все еще хороши)

enter image description here

enter image description here

EDIT:

Когда я помещаю свои данные в планировщик с помощью scheduler.parse (JSON.stringify (myVar), "json"); Событие, завершившееся в первый день месяца (1 июня), не имеет HTML-элемента в Инспекторе. Но события, закончившиеся после 1 июня, имеют элемент HTML и отображаются.
05-30 до 06-01 = нет элемента HTML
С 05-30 по 06-02 = есть элемент HTML
С 06-01 по 06-02 = есть элемент HTML

РЕДАКТИРОВАТЬ 2: Как сделать первый день в расписании последним днем ​​предыдущего месяца (сохраняя его в расписании за предыдущий месяц)? потому что, если я смогу это сделать, это решит проблему 2 и останется проблемой 1.
пример:
- майское расписание: [31 апреля] [01 мая] [02 мая] [...] [31 мая]
- июньское расписание [31 мая] [01 июня] [02 июня] [....] [31 июня]
- Июльское расписание: [31 июня] [01 июля] [02 июля] [...] [31 июля]

1 Ответ

0 голосов
/ 23 мая 2019
  • Задача 1

Я пытался воспроизвести проблему http://snippet.dhtmlx.com/9cd792b62 События отображаются правильно в соответствии с датами в данных. Если end_date равен:

"end_date": "2019-06-01 00:00"

это означает, что мероприятие заканчивается в последний день мая и не охватывает 1 июня. Если вы хотите покрыть также 1 июня, вы должны установить дату окончания «2019-06-02 00:00». Возможно, вы могли бы хотя бы использовать «2019-06-01 23:59:59», но правильный случай - «2019-06-02 00:00». Если это необходимо, вы можете исправить даты событий в обработчике onEventLoading .

  • Задача 2

Я не до конца понимаю вопрос. Воспроизведите его вместе со своими данными в системе сниппетов и поделитесь обновленной ссылкой. Также укажите шаги, чтобы повторить проблему, если это необходимо http://snippet.dhtmlx.com/13665e8a7

...