class Types/collection:ObservableList
<p>Список, в котором можно отслеживать изменения.</p>
class Types/_collection/ObservableList<T>
Примечание
<pre>
import {ObservableList, IObservable} from 'Types/collection';
const list = new ObservableList({
items: [1, 2, 3]
});
list.subscribe('onCollectionChange', (event, action, newItems, newItemsIndex, oldItems, oldItemsIndex) => {
if (action == IObservable.ACTION_REMOVE) {
console.log(oldItems); // [1]
console.log(oldItemsIndex); // 0
}
});
list.removeAt(0);
</pre>
Опции
- items
- <p>Элементы списка</p>
- versionCallback
- <p>Обработчик изменения версии</p>
Поля
- resetChangesCountprotected
- <p>Количество измененных элементов, что важно для генерации одного события с действием ACTION_RESET вместо нескольких.</p>
- silentChangedItemsprotected
- <p>Элементы, измененные во время работы события, были выключены.</p>
- beforeRaiseOffprotected
- <p>Состояние коллекции до выключения генерации событий</p>
- blockChangesMessageprotected
- <p>Сообщение для режима блокировки изменений</p>
- sessionItemContentsGetterprotected
- <p>Метод получения содержимого элемента коллекции (если такое поведение поддерживается)</p>
- eventRaisingprotected
- <p>Генерация событий включена</p>
- eventRaisingTriggerprotected
- <p>Hooks to implement additional behaviour when event rasing occuires</p>
- eventBusChannelprotected
- <p>Канал событий</p>
- eventsQueueprotected
- <p>Очередь событий</p>
- publishedEventsprotected
- <p>Декларированные события</p>
- ACTION_ADD
- <p>Изменение коллекции: добавлены элементы</p>
- ACTION_CHANGE
- <p>Изменение коллекции: изменены элементы</p>
- ACTION_MOVE
- <p>Изменение коллекции: перемещены элементы</p>
- ACTION_REMOVE
- <p>Изменение коллекции: удалены элементы</p>
- ACTION_REPLACE
- <p>Изменение коллекции: заменены элементы</p>
- ACTION_RESET
- <p>Изменение коллекции: значительное изменение</p>
- indexerprotected
- <p>Индексатор элементов.</p>
- destroyed
- <p>Экземпляр был разрушен</p>
- _mediator
- <p>Медиатор, отвечающий за связи между сущностями</p>
- optionsdeprecatedprotected
- getOptionsprotected
- <p>Метод реализован в OptionsToPropertyMixin.</p>
- instanceNumberprotected
- <p>Уникальный номер инстанса</p>
- moduleNameprotected
- <p>Название класса-конструктора.</p>
Методы
- _addChildprotected
- <p>Добавляет отношение с другой сущностью</p>
- _analizeUpdateSessionprotected
- <p>Анализирует серию обновлений, генерирует события об изменениях</p>
- _checkModuleNameprotected
- <p>Проверяет, что в прототипе указано имя модуля для RequireJS, иначе не будет работать десериализация</p>
- _childChangedprotected
- <p>Рекурсивно уведомляет родительские сущности об изменении дочерней</p>
- _clearIndexerprotected
- <p>Очищает индексатор коллекции</p>
- _createMediatorprotected
- <p>Создает посредника для установления отношений с детьми</p>
- _extractPacksByListprotected
- <p>Разбивает элементы списка на пачки в порядке их следования в списке.</p>
- _finishUpdateSessionprotected
- <p>Завершает серию обновлений</p>
- _getIndexerprotected
- <p>Возвращает индексатор коллекции</p>
- _getMediatorprotected
- <p>Возвращает посредника для установления отношений с детьми</p>
- _getOptionsprotected
- <p>Возвращает опции объекта</p>
- _getSerializableStateprotected
- <p>Возвращает всё, что нужно сложить в состояние объекта при сериализации, чтобы при десериализации вернуть его в это же состояние</p>
- _hasMediatorprotected
- <p>Возвращает признак наличия посредника</p>
- _hasSameMediatorprotected
- <p>Возвращает признак наличия одинакового посредника</p>
- _isNeedNotifyCollectionChangeprotected
- <p>Возвращает признак, что нужно генерировать события об изменениях коллекции</p>
- _isNeedNotifyCollectionItemChangeprotected
- <p>Возвращает признак, что нужно генерировать события об изменениях элементов коллекции</p>
- _isUnserializedprotected
- <p>Check if the instance was unserialized.</p>
- _isValidIndexprotected
- <p>Проверяет корректность индекса</p>
- _itemsSliceprotected
- <p>Извлекает элементы, входящие в указанный отрезок</p>
- _itemsToArrayprotected
- <p>Приводит переденные элементы к массиву.</p>
- _notifyprotected
- <p>Извещает о наступлении события. Если в процессе извещения приходит очередное событие, то извещение о нем будет отправлено после выполнения обработчиков предыдущего.</p>
- _notifyCollectionChangeprotected
- <p>Генерирует событие об изменении коллекции</p>
- _notifyItemChangeprotected
- <p>Генерирует событие об изменении элемента</p>
- _notifyLaterprotected
- <p>Ставит в очередь извещение о наступлении события.</p>
- _notifyPushQueueprotected
- <p>Добавляет извещение о событии в очередь.</p>
- _notifyQueueprotected
- <p>Инициирует выполнение обработчиков из очереди событий</p>
- _parentChangedprotected
- <p>Уведомляет дочерние сущности об изменении родительской</p>
- _publishprotected
- <p>Деклариует наличие событий</p>
- _reindexprotected
- <p>Переиндексирует список</p>
- _removeChildprotected
- <p>Удаляет отношение с другой сущностью</p>
- _removeFromQueueprotected
- <p>Удаляет из очереди все обработчики указанного события</p>
- _setMediatorprotected
- <p>Устанавливает посредника для установления отношений с детьми</p>
- _setSerializableStateprotected
- <p>Проверяет сериализованное состояние перед созданием инстанса. Возвращает метод, востанавливающий состояние объекта после создания инстанса.</p>
- _spliceprotected
- <p>Вызывает метод splice.</p>
- _startUpdateSessionprotected
- <p>Запускает серию обновлений</p>
- add
- <p>Добавляет элемент в список.</p><p>При недопустимом at генерируется исключение.</p>
- append
- <p>Добавляет элементы другой коллекции к концу списка.</p>
- assign
- <p>Заменяет список другой коллекцией.</p>
- at
- <p>Возвращает элемент по позиции.</p><p>При недопустимом index возвращает undefined.</p>
- clear
- <p>Очищает список.</p>
- clone
- <p>Создает новый объект, который являтся копией текущего экземпляра.</p>
- constructor
- <p>Конструктор объекта, принимающий набор опций в качестве первого аргумента</p>
- destroy
- <p>Разрушает экземпляр</p>
- each
- <p>Перебирает все элементы коллекции, начиная с первого. Цикл проходит полное количество итераций, его невозможно прервать досрочно.</p>
- extend
- fromJSON
- <p>Конструирует экземпляр класса из сериализованного состояния</p>
- getCount
- <p>Возвращает количество элементов списка</p>
- getEnumerator
- <p>Возвращает энумератор для перебора элементов списка.</p><p>Пример использования можно посмотреть в модуле <a class="link-tag" data-className="Types/collection/IEnumerable">Types/collection:IEnumerable</a>.</p>
- getEventHandlers
- <p>Возвращет массив подписчиков на событие</p>
- getIndex
- <p>Возвращает позицию первого вхождения элемента в список.</p>
- getVersion
- <p>Возвращает версию объекта.</p><p>Версия соответсвует некому состоянию объекта и меняется при измении как то значимых свойств объекта, например для рекорда это будет изменение значений полей.</p>
- hasEventHandlers
- <p>Проверяет наличие подписки на событие</p>
- isDestroyedprotected
- isEqual
- <p>Проверяет эквивалентность текущего объекта другому объекту.</p>
- isEventRaising
- <p>Возвращает признак, включена ли генерация событий об изменении проекции</p>
- move
- <p>Перемещает элемент с одной позиции на другую.</p><p>При недопустимом from или to генерируется исключение.</p>
- prepend
- <p>Добавляет элементы другой коллекции в начало списка.</p>
- remove
- <p>Удаляет элемент из списка (первый найденный). Элементы, следующие за удаленным, смещаются вверх.</p>
- removeAt
- <p>Удаляет элемент в указанной позиции. Элементы, следующие за удаленным, смещаются вверх.</p><p>При недопустимом index генерируется исключение.</p>
- replace
- <p>Заменяет элемент в указанной позиции.</p><p>При недопустимом at генерируется исключение.</p>
- setEventRaising
- <p>Включает/выключает генерацию событий об изменении коллекции</p>
- subscribe
- <p>Добавляет подписку на событие</p>
- toJSON
- <p>Возвращает сериализованный экземпляр класса</p>
- unsubscribe
- <p>Отменяет подписку на событие</p>
События
- onCollectionChange
- <p>После изменения коллекции</p>
- onCollectionItemChange
- <p>После изменения элемента коллекции</p>
- onEventRaisingChange
- <p>После изменения режима генерации событий</p>