3.5.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: возникшее событие
model: модель компонента
- markInvalid - пометить значение компонента как не валидное, функция обратного вызова принимает следующие параметры
Object event: возникшее событие
model: модель компонента
- unmarkInvalid - пометить значение компонента как валидное, функция обратного вызова принимает следующие параметры
Object event: возникшее событие
model: модель компонента
- modelDestroyed - событие уничтожения модели компонента, функция обратного вызова принимает следующие параметры
- Object event: возникшее событие
-
trigger(eventType[, args])¶ Инициировать событие
Аргументы: - eventType (String) – тип события
- args (Array) – аргументы, которые будут переданы в callback
-
on(eventType, callback)¶ подписаться на событие
Аргументы: - eventType (String) – тип события
- callback (Function) – функция обратного вызова (количество принимаемых аргументов засивит от события)
-
off(eventType, callback)¶ отписаться от события
Аргументы: - eventType (String) – тип события
- callback (Function) – функция обратного вызова
-
asfProperty¶ Определение компонента из описания формы
-
playerModel¶ Модель проигрывателя
-
fireChangeEvents()¶ Вызов событий изменения значения формы
-
isEmpty()¶ Результат: true: Значение компонента не задано false: Значение компонента задано
-
setValue(newValue)¶ Вставить новое значение и отправить уведомление всем подписанным объектам, в т.ч. отображению
Аргументы: - newValue (Object) – Значение компонента (Тип ринимаемого значения зафимит от компонента)
-
getErrors()¶ Получение ошибок заполнения поля согласно настройкам
asfPropertyЕсли компоненту необходимо возвращать свои специфические ошибки, то реализуйте в модели компонента метод
getSpecialErrors. Метод должен возвращать список специфических ошибок с том же формате, что и данный методРезультат: [object]Если массив пустой, значит ошибки отсутствуют, иначе - его элементы имеют поля:errorCode- код ошибки;id- идентификатор компонента.
Возможные коды ошибок:
emptyValuewrongValuedeletedValuevalueTooHighvalueTooSmall
Для одного и того же компонента может быть как несколько ошибок, так может и не быть ни одной.
-
getLocale()¶ Получение локали, настроенной в компоненте
Результат: StringЛокаль компонента илиAS.FORMS.OPTIONS.locale
-
getHTMLValue()¶ Результат: StringHTML-представлениe текстового значения поля со стилями
-
getValue()¶ Результат: Stringзначение компонента (тип возвращаемого значения зависит от типа компонента)
-
getTextValue()¶ Результат: Stringтекстовое значение компонента
-
getAsfData([blockNumber])¶ Аргументы: - blockNumber (Number) – Номер строки динамической таблицы (если это компонент статической таблицы, то передавать эту переменную не нужно)
Результат: asfDataДанные компонента
-
setAsfData(asfData)¶ Вставить значение asfData
Аргументы: - asfData (asfData) – Данные компонента
-
class
AS.FORMS.View()¶ Базовое отображение всех компонентов.
-
model¶ Модель. Наследует AS.FORMS.Model
-
container¶ Контейнер, в котором будет отрисовываться отображение
-
input¶ Поле ввода для некоторых компонентов:
- текстовое поле
- числовое поле
- многострочный текст
-
playerView¶ Отображение проигрывателя
-
unmarkInvalid()¶ Убрать пометку неправильно заполненного поля
-
markInvalid()¶ Пометить поле как неправильно заполненное
-
checkValid()¶ Проверить корректность текущего значения (если поле заполнено неверно, то вызовется метод markInvalid)
-
setEnabled(enabled)¶ Сделать доступным или недоступным для редактирования
Аргументы: - enabled (boolean) – true/false
-
setVisible(visible)¶ Сделать видимым или невидимым
Аргументы: - visible (boolean) – true/false
-
updateValueFromModel()¶ Обновить отображение согласно значению модели
-