3.6.3.1. Базовые¶
Модель поведения и отображения каждого компонента определяеются описанием, которое содержится в форме
Описание компонентов имеют базовые свойства, присутствующие у всех компонентов, а так же специфические для каждого типа
Базовое описание компонента выглядит следующим образом
{
"id": "person", // идентификатор компонента
"type": "type", // тип компонента
"style": { // стиль компонента
"align": "center",
"font": "Courier New",
"fontsize": "12",
"bold": true,
"italic": false,
"underline": false,
"strike": false,
"height": "20",
"width": "200"
},
"config": { // конфигурация компонента
"read-only": true, // заблокировать от изменений пользователем
"script": "model.setValue('1');" // скрипт компонента
},
"required": true, // обязательное поле
"data": { // дефолтные данные компонента
"id": "person",
"type": "type",
"value": "Дефолтное значение"
}
}
-
class
AS.FORMS.
Model
()¶ Базовая модель для всех компонентов
Типы событий
каждый компонент может добавлять свои специфичные типы событий
- valueChange - событие изменения значения компонента, функция обратного вызова принимает следующие параметры
Object event: возникшее событие
AS.FORMS.Model()
model: модель- markInvalid - пометить значение компонента как не валидное, функция обратного вызова принимает следующие параметры
Object event: возникшее событие
AS.FORMS.Model()
model: модель- unmarkInvalid - пометить значение компонента как валидное, функция обратного вызова принимает следующие параметры
Object event: возникшее событие
AS.FORMS.Model()
model: модель- modelDestroyed - событие уничтожения модели компонента, функция обратного вызова принимает следующие параметры
- Object event: возникшее событие
-
AS.FORMS.Model.
trigger
(eventType[, args])¶ Инициировать событие
Аргументы: - eventType (String) – тип события
- args (Array) – аргументы, которые будут переданы в callback
-
AS.FORMS.Model.
on
(eventType, callback)¶ подписаться на событие
Аргументы: - eventType (String) – тип события
- callback (Function) – функция обратного вызова (количество принимаемых аргументов засивит от события)
-
AS.FORMS.Model.
off
(eventType, callback)¶ отписаться от события
Аргументы: - eventType (String) – тип события
- callback (Function) – функция обратного вызова
-
AS.FORMS.Model.
asfProperty
¶ Определение компонента из описания формы
-
AS.FORMS.Model.
playerModel
¶ Модель проигрывателя
-
AS.FORMS.Model.
fireChangeEvents
()¶ Вызов событий изменения значения формы
-
AS.FORMS.Model.
isEmpty
()¶ Результат: true: Значение компонента не задано false: Значение компонента задано
-
AS.FORMS.Model.
setValue
(newValue)¶ Вставить новое значение и отправить уведомление всем подписанным объектам, в т.ч. отображению
Аргументы: - newValue (Object) – Значение компонента (Тип ринимаемого значения зафимит от компонента)
-
AS.FORMS.Model.
getErrors
()¶ Получение ошибок заполнения поля согласно настройкам
asfProperty
Если компоненту необходимо возвращать свои специфические ошибки, то реализуйте в модели компонента метод
getSpecialErrors
. Метод должен возвращать список специфических ошибок в том же формате, что и данный методРезультат: [object]
Если массив пустой, значит ошибки отсутствуют, иначе - его элементы имеют поля:errorCode
- код ошибки;id
- идентификатор компонента.
Возможные коды ошибок:
emptyValue
wrongValue
deletedValue
valueTooHigh
valueTooSmall
Для одного и того же компонента может быть как несколько ошибок, так может и не быть ни одной.
-
AS.FORMS.Model.
getLocale
()¶ Получение локали, настроенной в компоненте
Результат: String
Локаль компонента илиAS.FORMS.OPTIONS
.locale
-
AS.FORMS.Model.
getHTMLValue
()¶ Результат: String
HTML-представлениe текстового значения поля со стилями
-
AS.FORMS.Model.
getValue
()¶ Результат: String
значение компонента (тип возвращаемого значения зависит от типа компонента)
-
AS.FORMS.Model.
getTextValue
()¶ Результат: String
текстовое значение компонента
-
AS.FORMS.Model.
getAsfData
([blockNumber])¶ Аргументы: - blockNumber (Number) – Номер строки динамической таблицы (если это компонент статической таблицы, то передавать эту переменную не нужно)
Результат: asfData
Данные компонента
-
AS.FORMS.Model.
setAsfData
(asfData)¶ Вставить значение asfData
Аргументы: - asfData (asfData) – Данные компонента
-
class
AS.FORMS.
View
()¶ Базовое отображение всех компонентов.
-
AS.FORMS.View.
model
¶ Модель. Наследует AS.FORMS.Model
-
AS.FORMS.View.
container
¶ Контейнер, в котором будет отрисовываться отображение
-
AS.FORMS.View.
input
¶ Поле ввода для некоторых компонентов:
- текстовое поле
- числовое поле
- многострочный текст
-
AS.FORMS.View.
playerView
¶ Отображение проигрывателя
-
AS.FORMS.View.
unmarkInvalid
()¶ Убрать пометку неправильно заполненного поля
-
AS.FORMS.View.
markInvalid
()¶ Пометить поле как неправильно заполненное
-
AS.FORMS.View.
checkValid
()¶ Проверить корректность текущего значения (если поле заполнено неверно, то вызовется метод markInvalid)
-
AS.FORMS.View.
setEnabled
(enabled)¶ Сделать доступным или недоступным для редактирования
Аргументы: - enabled (boolean) – true/false
-
AS.FORMS.View.
setVisible
(visible)¶ Сделать видимым или невидимым
Аргументы: - visible (boolean) – true/false
-
AS.FORMS.View.
updateValueFromModel
()¶ Обновить отображение согласно значению модели
-