EventDrop, oldResource и newResource в планировщике fullcalendar v4 - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь в конце концов создать скрипт php для обновления mysql. По мере того, как я делаю шаг за шагом и пытаюсь установить переменные и заставить js вести себя правильно, у меня возникают трудности с изменением комнат 'ресурсов' в планировщике.

Если я меняю место проведения мероприятия и меняю комнату, я получаю предупреждение JS, в котором говорится: «Заголовок был перенесен на [новое время] из [старого времени]. Старая комната [старый ресурс]. Новая комната [новый ресурс]» , Это хорошо работает.

Однако, если я переместил событие в место в тот же день, я получу ошибки - потому что info.oldResource и info.newResource доступны, только если событие переместилось на НОВЫЙ ресурс. Если они перемещаются в пределах одного и того же ресурса, объект не существует.

Я пытался работать с оператором IF. Журнал консоли показывает ноль, но оператор if не останавливает обработку остальной части кода. В конечном итоге это (я думаю) приведет к тому, что команды будут выполняться неправильно - как только я передам их PHP.

Я планирую использовать оператор 'else', который не включает диалог oldResource или newResource для обработки изменений, которые остаются в том же ресурсе.

Мой код таков:

    eventDrop: function(info) {
if (typeof info.oldResource !=="null")   {
    var oll = console.log(info.oldResource);
    var nww = console.log(info.newResource);
    var oldroom = (info.oldResource.id);
    var newroom = (info.newResource.id);
    var newtitle = info.event.title;
    /*if (oldroom = newroom) {alert ("Same Room");}*/
alert(newtitle + " was dropped on " + info.event.start.toString() + ".Old Time: " + info.oldEvent.start.toString() + ". From: " + oldroom + ". To: " + newroom );

    if (!confirm("Are you sure about this change?")) {
    info.revert();
    }}
},

1 Ответ

1 голос
/ 17 апреля 2019

Вам не нужно typeof здесь. Просто напишите

if (info.oldResource != null) 

вместо.

P.s. если вы вызовете typeof для свойства, которое установлено на null, я бы ожидал, что вызов typeof вернет "объект", а не "ноль". Но, как я уже сказал, это не имеет значения, потому что вам это не нужно. Просто проверьте значение null напрямую.

...