Вызов строки в Meteor Tabular

TabularTables.Transactions = new Tabular.Table
  name: "Transactions"
  collection: Transactions
  responsive: true
  columns: [
    {
      data: "transactionOperation"
      title: "Operation"
    }
    {
      data: "sum"
      title: "Sum"
      render: (val, type, doc)->
        if doc.transactionOperation == "Credit"
         return "- " + val
        else
         val
    }
  ]

У меня есть эта табличная настройка для метеора с помощью TabularTables.

В функции рендеринга есть val, type и doc. Doc — это информация обо всей записи в базе данных. Однако, если я не укажу его в столбцах, он не вернется. Например, я удаляю

{
      data: "transactionOperation"
      title: "Operation"
    }

часть, логика рендеринга if doc.transactionOperation == "Credit" никогда не бывает истинной, потому что doc.transactionOperation не установлен. Console.log(doc) показывает, что объект имеет только атрибут Sum.

Есть ли способ вернуть полную строку, а не только указанные столбцы?


person Alexey    schedule 24.02.2016    source источник


Ответы (1)


Взгляните на свойство extraFields. Это должно работать в вашем случае.

 TabularTables.Transactions = new Tabular.Table({
  name: "Transactions"
  collection: Transactions
  extraFields: ['transactionOperation']
  /* columns go here
  */
 });

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

Вот официальная документация по этому поводу.
https://github.com/aldeed/meteor-tabular#publishing-extra-fields

person srinivas    schedule 24.02.2016
comment
До сих пор не возвращает. - person Alexey; 27.02.2016