Ошибка метеора, Handsontable не определен

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

Код нарушения в определении таблицы - это определение столбца:

{
  type: { 
    renderer: function(instance, td, row, col, prop, value, cellProperties) {
      Handsontable.TextCell.renderer.apply(this, arguments);
      $(td).css({
        background: 'yellow'
      });
    }},
    //format: '0, 0.00 $',
    readOnly: true
  }

Всякий раз, когда я пытаюсь сделать вызов Hansontable, например Handsontable.Textcell.renderer.apply выше, Meteor выдает эту ошибку:

Исключение из функции Deps afterFlush: ReferenceError: Handsontable не определен

Я читал, что Handsontable использует Jquery 1.9, но Meteor поставляется с 1.8. Может ли это быть проблемой?

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

Буду рад любой помощи. Спасибо!


person rickydav    schedule 13.12.2013    source источник


Ответы (1)


Вероятно, это ошибка в пакете Handsontable.

Эта строка: https://github.com/olragon/meteor-handsontable/blob/master/lib/jquery.handsontable.full.js#L13

var Handsontable = {

должно быть

Handsontable = {

В метеорных файлах переменная область видимости. Если вы используете ключевое слово var, другие файлы не смогут получить к нему доступ. Это одна из причин, по которой вы получаете ошибку Handsontable is not defined

Вы также должны экспортировать его, добавив строку ниже после https://github.com/olragon/meteor-handsontable/blob/master/package.js#L6

api.export("Handsontable");

Так что API выставлен из пакета.

Я сделал запрос на вытягивание, поэтому сопровождающий пакета должен принять его и обновить пакет в атмосфере, после чего вы можете запустить mrt update и использовать свой код, как вы используете сейчас.

Если вы спешите, вы можете разветвить пакет с обновлениями и использовать его как свой Handsontable пакет.

https://github.com/olragon/meteor-handsontable/pull/1

person Tarang    schedule 14.12.2013