class Types/collection:ObservableList

<p>Список, в котором можно отслеживать изменения.</p>

class Types/_collection/ObservableList&lt;T&gt;

Примечание

<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); <p></pre></p>

Опции

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>
11/27/2020Мальцев А.А.