new ns.View()
Создает View. Конструктор не используется напрямую, View создаются через ns.View.create.
- Tutorials:
-
- ns.view
- Tutorial: ns.view.yate
Mixes In
Members
-
staticns.View.defaultModelEvents
-
События моделей, обрабатываемые видом по умолчанию
-
staticns.View.ERROR_CODESnumber
-
Объект с описанием бросаемых исключений.
Properties:
Name Type Default Description 1number Can't redefine '%s' 2number Can't find '%s' to extend '%s' 3number '%s' is not defined 4number '%s' can't find handler '%s' for model '%s' Не найден обработчик события модели.
5number Can't find method '%s' in '%s' Не найден обработчик события.
6number Can't find node for '%s' Не найдена нода вида.
7number you cannot specify params and params+ at the same time 8number you cannot specify params and params- at the same time 9number Model %s is not defined! 10number Could not generate key for view %s 11number #patchLayout MUST returns valid layout ID 12number #patchLayout MUST returns layout with ns.Box at top -
$nodejQuery
-
Собственная нода вида
-
asyncboolean
-
Флаг того, что view может быть асинхронным. Факт того, что сейчас view находится в асинхронном состоянии определяется this.status и this.asyncState
-
asyncStateBoolean
-
Флаг, означающий, что view грузится асинхронно.
-
idstring
-
ID (название) вида
-
keystring
-
Уникальный ключ вида
-
nodeHTMLElement
-
Собственная нода вида
-
paramsobject
-
Параметры вида.
-
STATUSns.V.STATUS
-
- See:
Methods
-
staticns.View.assert(truthy, errorCode, args)
ns.view.js, line 1858 -
Ассертер.
Name Type Description truthyboolean Любое значение, которое проверяется на истинность.
errorCodens.View.ERROR_CODES Код бросаемого исключения.
argsarray optional Массив аргументов.
-
staticns.View.create(id, params, async){ns.View}
ns.view.js, line 1839 -
Фабрика ns.View
Name Type Default Description idstring ID view.
paramsobject optional Параметры view.
asyncBoolean false optional Может ли view бы асинхронным.
-
staticns.View.define(id, info, base){function}
ns.view.js, line 1458 -
ns.Events представляет из себя объект {"eventDecl1": "handler1", "eventDecl2": "handler2"}. "eventDecl" записывается в виде "eventName [ selector ]". "selector" опционален, если его нет, то события регистрируется на ноду View. "handler" может быть строка (тогда она заменится на метод прототипа) или функция. Все хендлеры биндятся на экземпляр View. Разделение на типы событий происходит автоматически по следующим правилам (в порядке приоритета):
- если selector === "window" || selector == "document", то обработчик регистрируется по событию show
- если eventName === "resize", то обработчик регистрируется по событию show
- если eventName === "scroll", то обработчик регистрируется по событию htmlinit с помощью $viewNode.find(selector).on(eventName, handler)
- иначе обработчик регистрируется по событию htmlinit с помощью $viewNode.on(eventName, selector, handler)
Name Type Default Description idstring Название View.
infons.View~declaration optional Декларация вида.
basefunction | String ns.View optional Базовый View для наследования
Returns:
View.
-
staticns.View.getKey(id, params, info){string}
ns.view.js, line 1725 -
Name Type Description idstring paramsobject infoobject optional -
staticns.View.getKeyAndParams(){object}
ns.view.js, line 1734 -
Возвращает ключ объекта и параметры. В этом методе собрана вся логика рерайтов параметров при создании view
-
staticns.View.info(id){ns.View~declaration}
ns.view.js, line 1525 -
Возвращает обработанную информацию о View.
Name Type Description idstring Название вида.
Throws:
Бросает исключения, если вид не определен -
staticns.View.infoLite(id){ns.View~declaration}
ns.view.js, line 1513 -
Возвращает сохраненную декларацию ns.View без обработки.
Name Type Description idstring Название вида.
Throws:
Бросает исключения, если вид не определен -
protected__onHide()
ns.view.js, line 259 -
Убираем обработчики событие при скрытии/замены ноды.
-
protected__onHtmldestroy()
ns.view.js, line 228 -
Внутренний обработчик htmldestroy
-
_getCommonTree(){ns.View~UpdateTree}
ns.view.js, line 889 -
Возвращает общее дерево видов. Этот метод используют ns.View, ns.ViewCollection и ns.Box
-
protected_htmlinit(events)
ns.view.js, line 237 -
Обработчик htmlinit
Name Type Description eventsarray optional Массив событий.
-
protected_saveModelsVersions()
ns.view.js, line 1286 -
Safe models versions to track changes.
-
protected_saveModelVersion(modelId)
ns.view.js, line 1307 -
Safe model version to track changes.
Name Type Description modelIdstring ID модели
-
protected_setNode(node)
ns.view.js, line 1094 -
Set view node
Name Type Description nodeHTMLElement -
protected_show(events){boolean}
ns.view.js, line 276 -
Показывает View
Name Type Description eventsarray optional Массив событий.
-
beforeUpdateHTML(events, toHide)
ns.view.js, line 1174 -
Собирает события ns-view-hide и ns-view-destroy
Name Type Description eventsobject toHideboolean Вид надо спрятать, так решил его родитель
-
destroy()
ns.view.js, line 1388 -
Уничтожает себя и все внутренние виды, удаляет ноду из DOM. Этот вид больше никогда не будет живым, метод используется для очистки памяти.
-
getModel(id){ns.Model}
ns.view.js, line 1060 -
Returns model.
Name Type Description idstring Model ID
-
getModelData(id){*}
ns.view.js, line 1069 -
Returns data of model.
Name Type Description idstring Model ID
-
protectedhideAndUnbindEvents()
ns.view.js, line 246 -
Скрывает view
-
invalidate()
ns.view.js, line 549 -
Инвалидует себя и своих потомков.
-
isLoading(){boolean}
ns.view.js, line 574 -
-
isModelsValid(modelsVersions){Boolean}
ns.view.js, line 634 -
Возвращает true, если все модели валидны.
Name Type Description modelsVersionsobject optional Также проверяем, что кеш модели не свежее переданной версии.
-
isModelsValidWithVersions(){boolean}
ns.view.js, line 625 -
Returns true if models are valid and not be updated after last view update.
-
isNone(){boolean}
ns.view.js, line 582 -
Returns true if view has status NONE
-
isOk(){boolean}
ns.view.js, line 566 -
-
isValid(){boolean}
ns.view.js, line 590 -
Возвращает true, если блок валиден.
-
isValidWithDesc(){boolean}
ns.view.js, line 606 -
-
isVisible(){boolean}
ns.view.js, line 656 -
Возвращает true, если вид сейчас виден на странице.
-
keepValid()
ns.view.js, line 1315 -
Оставляет вид валидным после изменения моделей
-
patchTree(tree){object}
ns.view.js, line 988 -
Этот метод является точкой расширения для приложений или плагинов. Метод должен вернуть объект, который будет добавлен к дереву. Все свойства, конфликтующие с внутренними, будут перетерты.
Name Type Description treeobject Дерево наложения.
Example
ns.View.prototype.patchTree = function(tree) { // добавляем в дерево ссылки на экземпляры вида и моделей return { instance: { view: this, models: this.models } }; } -
update(params, options){Vow.Promise}
ns.view.js, line 1344 -
Запускает на себе ns.Update
Name Type Description paramsobject optional Дополнительные параметры. Могут использоваться при ручном запуске.
optionsns.Update~options optional Опции исполнения. Если указан execFlag, то запускается ASYNC-обновление.
-
updateAfter(promise, params, updateInstance){Vow.Promise}
ns.view.js, line 1324 -
Запускает собственный ns.Update после завершения promise.
Name Type Description promiseVow.Promise Промис, после которого запустить ns.Update
paramsobject Параметры для запуска ns.Update.
updateInstancens.Update
Type Definitions
-
declarationobject
-
Декларация вида
Properties:
Name Type Argument Description ctorfunction <optional>
Конструтор.
methodsobject <optional>
Методы, дополняющие прототип класса.
modelsobject | array <optional>
Массив или объект с моделями, от которых зависит View. Для объекта: true означает модель должна быть валидной для отрисовки view.
eventsobject <optional>
События, на которые подписывается View.
paramsfunction | object | array <optional>
Декларация для вычисления параметров вида.
params+object <optional>
Объект с дополнительными параметрами для вида.
params-array <optional>
Массив с параметрами, которые надо убрать из ключа.
paramsRewritefunction <optional>
Функция, изменяющая параметры после создания стандартными способами.
-
UpdateTreeobject
-
Дерево для шаблонизации вида.
Properties:
Name Type Description boxboolean Флаг указывающий, что это бокс.
collectionboolean Флаг указывающий, что это вид-коллекция.
keystring Ключ вида.
modelsobject.<string, *> Объект с данными моделей. Не стоит использовать его напрямую. Лучше вызывать yate-функции
model('modelName')иmodelError('modelName').paramsobject.<string, *> Собственные параметры вида.
statestring Текущее состояние вида. ok/error/loading/placeholder
viewsobject.<string, ns.View~UpdateTree> Объект с дочерними видами, используется для дальнейшего наложения шаблонов через
ns-view-content.
Events
-
ns-view-destroyed
ns.view.js, line 1394 -
Вид сейчас будет уничтожен.