динамические цвета планировщика dhtmlx

Я использую планировщик DHTMLX с расширением временной шкалы.

Я подключил свои данные к базе данных MySQL, и все работает нормально. Затем я создал собственный код, в котором 2 цвета (фон и текст) устанавливаются и вставляются в базу данных в таблице «разделы» (значения по оси Y).

Теперь при загрузке страницы с планировщиком выполняется SQL-запрос, который проверяет каждое событие и копирует значения цвета в таблицу «events» из таблицы «section». Далее на странице, когда планировщик инициализируется, он также собирает и присваивает эти значения каждому событию.

Пример:

У меня есть Room1 и Room2 как «разделы». Я установил цвет фона Room1 на «синий» и сохранил его в БД. Когда страница загружается, запрос проверяет все события, назначенные Room1, и назначает им одинаковый цвет фона «синий».

Проблема:

Когда я добавляю новое событие, ему назначается цвет фона по умолчанию.

Когда я перемещаю событие, оно сохраняет свой предыдущий цвет фона.

Обновление страницы, перезапускает скрипт и все цвета соответственно обновляются. Однако это не решает мою проблему, так как это нужно делать вручную. Есть ли способ сделать это автоматически, чтобы он обновлял страницу после вставки/обновления?

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

Любая помощь или предложения для лучшего решения приветствуются и будут оценены.

заранее спасибо


person skapie19    schedule 16.05.2014    source источник


Ответы (1)


Мне удалось получить решение:

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

Таким образом, используя эти триггеры событий, после создания/обновления события выполняется php-скрипт, который обновляет цвета в БД. Затем я очищаю планировщик и перезагружаю данные, не обновляя страницу.

Мой код:

scheduler.attachEvent("onEventChanged", function(id,ev){
$.get('sections/refresh.php', function(dataz) 
{
    function reload()
    {
    scheduler.clearAll();
    scheduler.load("connector.php");
    }
    reload();
});
});
person skapie19    schedule 16.05.2014