WedX - журнал о программировании и компьютерных науках

Проблема с MeteorJS и полным календарем

Итак, у меня есть календарь в приложении MeteorJS, и при внешнем добавлении в календарь он отображается, но только после перезагрузки. Итак, моя проблема в том, что refetchEvents не работает в соответствии с приведенным ниже кодом, который у меня есть в блоке событий для этого контроллера:

'submit #add-event': function(event, template) {
var title = event.target.title.value;
var start = event.target.startDate.value;
var end = event.target.endDate.value;
var invited = $('select[name="invited"]').val();
var matter = event.target.matter.value;
var where = event.target.where.value;
var description = event.target.description.value;

params = {
  title: title,
  start: start,
  end: end,
  invited: invited,
  matter: matter,
  where: where,
  description: description
}

Meteor.call('addEvent', params);

toastr.success('Event created!');
$('#addEvent').modal('hide');
$('#calendar').fullCalendar( 'refetchEvents' );

event.preventDefault();
}

То же самое происходит в обратном вызове rendered для этого шаблона (необходимо перезагрузить перед отображением новых событий):

dayClick: function(date, allDay, jsEvent, view) {
        // Insert the day someone's clicked on
        var invited = [];
        invited.push(Meteor.user().username);

        params = {
          title: 'New Event',
          start: date,
          end: date,
          invited: invited,
          matter: null,
          where: null,
          description: null
        }

        Meteor.call('addEvent', params);

        // CalEvents.insert({title:'New Event',start:date,end:date, allDay: false});
        // Refreshes the calendar
        $('#calendar').fullCalendar( 'refetchEvents' );
    }

Есть идеи, как заставить refetchEvents работать?

Я использую этот пакет полного календаря — https://atmospherejs.com/mrt/fullcalendar.

10.02.2016

  • Вы загружаете события из ajax-вызова? Использовали ли вы какие-либо источники fullcalendar для загрузки событий? Например, события (в виде json-канала), события (в виде функции), источники событий и т. д. 10.02.2016
  • События @ChintanMirani загружаются в Meteor через публикацию, на которую подписывается контроллер Iron Router. По умолчанию это реактивный и мгновенный со всеми другими реализациями в приложении. 10.02.2016

Ответы:


1

ОК, мне удалось решить проблему. Вместо этого было решено выполнение асинхронных вызовов:

'submit #add-event': function(event, template) {
    var title = event.target.title.value;
    var start = event.target.startDate.value;
    var end = event.target.endDate.value;
    var invited = $('select[name="invited"]').val();
    var matter = event.target.matter.value;
    var where = event.target.where.value;
    var description = event.target.description.value;

    params = {
      title: title,
      start: new Date(start),
      end: new Date(end),
      invited: invited,
      matter: matter,
      where: where,
      description: description
    }

    Meteor.call('addEvent', params, function(error, result) {
      if (!error) {
        toastr.success('Event created!');
        $('#addEvent').modal('hide');
        $('#calendar').fullCalendar( 'refetchEvents' );
      } else {
        toastr.error(error.reason);
      }
    });


    event.preventDefault();
    }

и

dayClick: function(date, allDay, jsEvent, view) {
        // Insert the day someone's clicked on
        var invited = [];
        invited.push(Meteor.user().username);

    params = {
      title: 'New Event',
      start: date,
      end: date,
      invited: invited,
      matter: null,
      where: null,
      description: null
    }

    Meteor.call('addEvent', params, function(error, result) {
        $('#calendar').fullCalendar( 'refetchEvents' );
    });

    // CalEvents.insert({title:'New Event',start:date,end:date, allDay: false});
    // Refreshes the calendar
}
10.02.2016
Новые материалы

Как создать диаграмму градиентной кисти с помощью D3.js
Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

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

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

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

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


Для любых предложений по сайту: [email protected]