добавление свойства к eventObject в FullCalendar - PullRequest
3 голосов
/ 18 июля 2010

Я использую свойство событий json в FullCalendar для вызова сценария php, который возвращает строку JSON.Строка имеет обязательные свойства плюс некоторые дополнительные функции, такие как «описание».Документация говорит, что вы можете добавить свойства, но нет информации о том, как это сделать.

Я посмотрел, будет ли оно добавлено автоматически, посмотрев «event.description» (например) в обратном вызове eventRender.это было «неопределено».

Если у кого-то есть опыт с этим, я был бы признателен за пример того, как это сделать.

Дэвид

1 Ответ

5 голосов
/ 18 июля 2010

Когда вы создаете новое событие FullCalendar, вы можете включить любые дополнительные свойства вместе с событием. FullCalendar будет игнорировать любые дополнительные свойства, поэтому вам нужно будет написать скрипт для их добавления и отображения.

Например, добавление места события или описания будет сделано следующим образом:

var event = {
 id          : '123',
 title       : 'New Event',
 url         : 'http://thearena.com/',
 start       : "Sun, 18 Jul 2010 13:00:00 EST",
 end         : "Sun, 18 Jul 2010 17:00:00 EST",
 allDay      : false,

 location    : 'The Arena',
 description : 'Big Event',

 editable    : true
};
$('.fc').fullCalendar( 'renderEvent', event, true ) // Add Event to fullCalendar

// Add script here to post the event back to your server

Затем убедитесь, что при инициализации сценария календаря у вас есть способ отобразить эту дополнительную информацию о событии. Вот пример с функцией щелчка по событию, показывающей данные в окне предупреждения (или в лайтбоксе лицевой панели - закомментировано). И если URL существует, он откроется и в новой вкладке / окне.

$('.fc').fullCalendar({
 eventClick: function(calEvent, jsEvent, view) {
  var event = 'Event: ' + calEvent.title + '<br>' +
   'Location: ' + calEvent.location + '<br>' + 
   'Start time: ' + calEvent.start + '<br>' +
   'End time: ' + calEvent.end + '<br>' +
   'Description: ' + calEvent.description;

  alert(event);
  // jQuery.facebox(event); // this would open the HTML in a facebox popup window

  if (calEvent.url) {
    window.open(calEvent.url);
    return false;
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...