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- идентификатор компонента.
Возможные коды ошибок:
emptyValuewrongValuedeletedValuevalueTooHighvalueTooSmall
Для одного и того же компонента может быть как несколько ошибок, так может и не быть ни одной.
-
AS.FORMS.Model.getLocale()¶ Получение локали, настроенной в компоненте
Результат: StringЛокаль компонента илиAS.FORMS.OPTIONS.locale
-
AS.FORMS.Model.getHTMLValue()¶ Результат: StringHTML-представлени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()¶ Обновить отображение согласно значению модели
-