new ns.ModelCollection()
Создает модель-коллекцию.
- Tutorials:
Extends
Members
-
protected_versionnumber
-
Data version.
-
DEFAULT_ITEMS_SPLITString
-
Дефолтное значение jpath по которому сплит будет искать коллекцию
-
keystring
-
Уникальный ключ модели.
-
modelsArray.<ns.Model>
-
Массив элементов колелкции.
-
modelsArray.<ns.Model>
-
Массив с моделями - элементами коллекции.
-
paramsobject
-
Параметры модели.
Methods
-
_incVersion()
ns.modelCollection.js, line 308 -
-
bindModel(model, eventName, callback)
ns.modelCollection.js, line 236 -
Подписывает callback на событие eventName модели model
Name Type Description model
ns.Model eventName
string callback
function -
inherited canRequest(){boolean}
ns.model.js, line 411 -
Возвращает, можно ли запрашивать / перезапрашивать модель.
-
clear()
ns.modelCollection.js, line 344 -
Очищает коллекцию от моделей. Не путать с remove.
Fires:
-
inherited destroy()
ns.model.js, line 185 -
Уничтожает модель.
Fires:
- ns.Model#event:ns-model-before-destroyed
- ns.Model#event:ns-model-destroyed
-
inherited destroyWith(models)
ns.model.js, line 530 -
Name Type Description models
Array.<ns.Model> -
inherited extractData(result){*}
ns.model.js, line 421 -
Name Type Description result
* -
inherited extractError(result){*}
ns.model.js, line 432 -
Name Type Description result
* -
inherited finishRequest()
ns.model.js, line 506 -
Сообщает моделе о том, что ее запрос завершился. При этом модель может быть в любом статусе.
-
inherited abstractfixError(error){Vow.Promise}
ns.model.js, line 374 -
Возвращает Promise, который должен исправить ошибку и после которого модель можно перезапросить
Name Type Description error
* - See:
-
- isErrorCanBeFixed
-
inherited get(jpath){*}
ns.model.js, line 224 -
Returns data matched by jpath.
Name Type Description jpath
string Example
var foo = model.get('.foo'); // model.data.foo. var bar = model.get('.foo.bar'); // model.data.foo.bar (если foo существует).
-
getData(){Object|*}
ns.modelCollection.js, line 46 -
-
inherited getError(){*}
ns.model.js, line 333 -
-
inherited getRequestParams(){object}
ns.model.js, line 403 -
-
getSelfVersion(){number}
ns.modelCollection.js, line 301 -
Returns data version (included items version).
-
inherited getVersion(){number}
ns.model.js, line 450 -
Returns data version.
-
inherited hasDataChanged(data){boolean}
ns.model.js, line 325 -
Name Type Description data
* -
insert(models, index){Boolean}
ns.modelCollection.js, line 376 -
Вставляет подмодели в коллекцию
Name Type Description models
Array.<ns.Model> | ns.Model – одна или несколько подмоделей для вставки
index
number optional – индекс позиции, на которую вставить подмодели. Если не передано - вставка в конец.
Fires:
Returns:
признак успешности вставки
-
inherited invalidate()
ns.model.js, line 176 -
Инвалидирует модель.
-
inherited isDo(){boolean}
ns.model.js, line 442 -
-
inherited abstractisErrorCanBeFixed(error)
ns.model.js, line 362 -
Этот метод нужно переопределить, если модель имеет возможность исправлять ошибки. Например, запросы подписываеются временным token. Если токен протух, то модель прозрачно может его перезапросить и сделать перезапрос себя.
Name Type Description error
* - See:
-
- fixError
-
inherited isValid(){boolean}
ns.model.js, line 204 -
-
onItemChanged(evt, model, jpath)
ns.modelCollection.js, line 262 -
Основной смысл этого метода в том, чтобы его можно было переопределить и триггерить изменение коллекции только для части изменений элементов коллекции.
Name Type Description evt
string Событие 'ns-model-changed' от элемента коллекции
model
ns.Model Измененный элемент коллекции.
jpath
string JPath, по которому произошли изменения.
Fires:
-
onItemDestroyed(evt, model)
ns.modelCollection.js, line 293 -
Метод вызывается, когда уничтожается элемент коллекции.
Name Type Description evt
string Событие 'ns-model-before-destroyed' от элемента коллекции.
model
ns.Model Уничтожаемый элемент коллекции.
-
onItemTouched(evt, model)
ns.modelCollection.js, line 281 -
Метод вызывается, когда у элемента коллекции меняется версия.
Name Type Description evt
string Событие 'ns-model-touched' от элемента коллекции
model
ns.Model Измененный элемент коллекции.
-
Подготавливает модель к запросу.
Name Type Description requestID
number ID запроса.
-
inherited preprocessData(data){*}
ns.model.js, line 395 -
Name Type Description data
* -
remove(models){Boolean}
ns.modelCollection.js, line 441 -
Удаляет элементы коллекции.
Name Type Description models
ns.Model | Number | Array.<ns.Model> | Array.<Number> – подмодели или индексы подмодели, которую надо удалить
Fires:
Returns:
признак успешности удаления.
-
inherited select(jpath){array}
ns.model.js, line 237 -
Returns data matched by jpath. This methods always returns array of results.
Name Type Description jpath
string -
inherited set(jpath, value, options)
ns.model.js, line 252 -
Сохраняет value по пути jpath.
Name Type Description jpath
string jpath до значения.
value
* Новое значение.
options
ns.Model~setOptions optional Флаги.
Fires:
-
Устанавливает новые данные модели.
Name Type Description data
* Новые данные.
options
ns.Model~setOptions optional Флаги.
Fires:
-
inherited setError(error)
ns.model.js, line 341 -
Name Type Description error
* -
inherited touch()
ns.model.js, line 463 -
Инкрементирует версию модели.
Fires:
Events
-
ns-model-changed
ns.modelCollection.js, line 266 -
Сообщает об изменении элементов коллекции.
Name Type Description info
object Объект с информацией об изменениях.
Name Type Description model
ns.Model Измененный элемент коллекции.
jpath
string JPath, по которому произошли изменения.
-
inherited ns-model-init
ns.model.js, line 82 -
Модель создана и проинициализованна.
-
ns-model-insert
ns.modelCollection.js, line 421 -
Сообщает о вставке новых элементов коллекции.
Name Type Description insertion
array Массов вставленных элементов.
-
ns-model-remove
ns.modelCollection.js, line 484 -
Сообщает об удалении элементов коллекции.
Name Type Description modelsRemoved
array Массив удаленных моделей.
-
inherited ns-model-touched
ns.model.js, line 472 -
Событие сообщает об инкрементации версии модели.