# Class: VirtualCollection

## module:core.collections. VirtualCollection

Коллекция-обертка, раширяющая родительскую Backbone-коллекцию функциями фильтрация, группировка (включая вложенную группировку и сворачивание групп), древовидное представление.
Используется в качестве модели данных для контролов виртуального списка и таблицы (`core.list`).
Оптимизировано для корректной работы с коллекцией до 100000 элементов.

#### new VirtualCollection(collection, options)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `collection` | Backbone.Collection | Родительская Backbone-коллекция.

  `options`

  Object

  Объект опций.

  ###### Properties

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `delayedAdd` | Boolean | <optional> | true | Добавление новой модели в коллекцию требует пересчета внутреннего индекса. Из этого следует, что добавление множества моделей приводит к резкому снижению производительности. Данная опция позволяет отложить пересчет индекса до окончания активного события.
  `comparator` | function |  |  | Функция-компаратор.
  `grouping` | Object |  |  | .
  `filter` | Object |  |  | .
  `model` | Backbone.Model |  |  | Если указано, будет использована как Backbone.Model при добавление новых объектов в формате JSON. По умолчанию используется модель родительской коллекции.

  `selectableBehavior`

  String

  <optional>

  'single'

  Позволяет расширить коллекцию объектом SelectableBehavior. Используемая модель также должна поддерживать SelectableBehavior.
  Возможные варианты:
  - `'none'` - не использовать selectable behavior.
  - `'single'` - использовать SelectableBehavior.SingleSelect.
  - `'multi'` - использовать SelectableBehavior.MultiSelect.
  .

### Extends

- Backbone.Collection

#### Search results