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 1
number Can't redefine '%s' 2
number Can't find '%s' to extend '%s' 3
number '%s' is not defined 4
number '%s' can't find handler '%s' for model '%s' Не найден обработчик события модели.
5
number Can't find method '%s' in '%s' Не найден обработчик события.
6
number Can't find node for '%s' Не найдена нода вида.
7
number you cannot specify params and params+ at the same time 8
number you cannot specify params and params- at the same time 9
number Model %s is not defined! 10
number Could not generate key for view %s 11
number #patchLayout MUST returns valid layout ID 12
number #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 truthy
boolean Любое значение, которое проверяется на истинность.
errorCode
ns.View.ERROR_CODES Код бросаемого исключения.
args
array optional Массив аргументов.
-
staticns.View.create(id, params, async){ns.View}
ns.view.js, line 1839 -
Фабрика ns.View
Name Type Default Description id
string ID view.
params
object optional Параметры view.
async
Boolean 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 id
string Название View.
info
ns.View~declaration optional Декларация вида.
base
function | String ns.View optional Базовый View для наследования
Returns:
View.
-
staticns.View.getKey(id, params, info){string}
ns.view.js, line 1725 -
Name Type Description id
string params
object info
object 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 id
string Название вида.
Throws:
Бросает исключения, если вид не определен -
staticns.View.infoLite(id){ns.View~declaration}
ns.view.js, line 1513 -
Возвращает сохраненную декларацию ns.View без обработки.
Name Type Description id
string Название вида.
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 events
array 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 modelId
string ID модели
-
protected_setNode(node)
ns.view.js, line 1094 -
Set view node
Name Type Description node
HTMLElement -
protected_show(events){boolean}
ns.view.js, line 276 -
Показывает View
Name Type Description events
array optional Массив событий.
-
beforeUpdateHTML(events, toHide)
ns.view.js, line 1174 -
Собирает события ns-view-hide и ns-view-destroy
Name Type Description events
object toHide
boolean Вид надо спрятать, так решил его родитель
-
destroy()
ns.view.js, line 1388 -
Уничтожает себя и все внутренние виды, удаляет ноду из DOM. Этот вид больше никогда не будет живым, метод используется для очистки памяти.
-
getModel(id){ns.Model}
ns.view.js, line 1060 -
Returns model.
Name Type Description id
string Model ID
-
getModelData(id){*}
ns.view.js, line 1069 -
Returns data of model.
Name Type Description id
string 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 modelsVersions
object 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 tree
object Дерево наложения.
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 params
object optional Дополнительные параметры. Могут использоваться при ручном запуске.
options
ns.Update~options optional Опции исполнения. Если указан execFlag, то запускается ASYNC-обновление.
-
updateAfter(promise, params, updateInstance){Vow.Promise}
ns.view.js, line 1324 -
Запускает собственный ns.Update после завершения promise.
Name Type Description promise
Vow.Promise Промис, после которого запустить ns.Update
params
object Параметры для запуска ns.Update.
updateInstance
ns.Update
Type Definitions
-
declarationobject
-
Декларация вида
Properties:
Name Type Argument Description ctor
function <optional>
Конструтор.
methods
object <optional>
Методы, дополняющие прототип класса.
models
object | array <optional>
Массив или объект с моделями, от которых зависит View. Для объекта: true означает модель должна быть валидной для отрисовки view.
events
object <optional>
События, на которые подписывается View.
params
function | object | array <optional>
Декларация для вычисления параметров вида.
params+
object <optional>
Объект с дополнительными параметрами для вида.
params-
array <optional>
Массив с параметрами, которые надо убрать из ключа.
paramsRewrite
function <optional>
Функция, изменяющая параметры после создания стандартными способами.
-
UpdateTreeobject
-
Дерево для шаблонизации вида.
Properties:
Name Type Description box
boolean Флаг указывающий, что это бокс.
collection
boolean Флаг указывающий, что это вид-коллекция.
key
string Ключ вида.
models
object.<string, *> Объект с данными моделей. Не стоит использовать его напрямую. Лучше вызывать yate-функции
model('modelName')
иmodelError('modelName')
.params
object.<string, *> Собственные параметры вида.
state
string Текущее состояние вида. ok/error/loading/placeholder
views
object.<string, ns.View~UpdateTree> Объект с дочерними видами, используется для дальнейшего наложения шаблонов через
ns-view-content
.
Events
-
ns-view-destroyed
ns.view.js, line 1394 -
Вид сейчас будет уничтожен.