AZykov (обсуждение | вклад) |
Elena (обсуждение | вклад) Нет описания правки |
||
| Строка 438: | Строка 438: | ||
Предыдущая статья курса: [[Задание 4. Взаимодействие классов]] | Предыдущая статья курса: [[Задание 4. Взаимодействие классов]] | ||
[[Категория:Курс | [[Категория:Курс Разработка приложений]] | ||
Текущая версия от 12:56, 17 марта 2025
Предыдущая статья курса: Задание 4. Взаимодействие классов
Общая информация
Интерфейсы пользователя в платформе Эра строятся при помощи специализированных объектов - контролов (Controls).
Данные объекты содержат в себе информацию о способах отображениях данных классов, которые с ними связанны.
При создании нового класса, платформа автоматически сгененрирует для него два контрола - таблицу (table) и карточку (card). Параметры этих контролов будут зависеть от настроек класса и его свойств.
Также, можно вручную создавать контролы дополнительных типов, с помощью параметра controlKind. Полный список доступных контролов:

- table
- tree
- card
- chart
- pie
- funnel
- gauge
- value
- indicator
- dashboard
- toolbar
- filter
- layout
- boxes
- frame
- html
- chat
- calendar
- presentation
- help
- empty
- dynamic
Примеры работы с некоторыми из видов этих контролов, а так же ручное их редактирование будет рассмотрено в дальнейшем в рамках данного курса.
Поведение контрола также определяется параметром controlMode, который может принимать значения auto и custom. В режиме auto, структура данных контрола будет сформирована автоматически платформой, в случае же режима custom - структура определяется с помощью JSON'ов customItems / customColumns и т.д.
У каждого контрола есть общий набор параметров, при этом часть других параметров является спецефичной для каждого из видов контролов. Общий список параметров с пояснениями:
| Название | Значение по-умолчанию | Комментарий |
|---|---|---|
| controlMode | auto | Задает режим формирования контрола |
| compactDesign | ||
| showCaption | Отображать заголовок контрола | |
| padding | Отступы по краям контрола: none / small / medium / large | |
| captionAllignment | Выравнивание заголовка: left / right / center | |
| data | JSON, определяющий параметры контрола (в данное поле сохраняются параметры, заданные в параметрах класса, для автоматически созданных контролов) | |
| dataSource | Источник данных контрола. По-умолчанию, используется связанный объект | |
| input | Коллекция фильтров для вводимых данных | |
| filter | Коллекция фильтров для выводимых данных | |
| allowHyperlinksRoles | ||
| extension | ||
| help | JSON, описывающий параметры для вывода в справку |
Табличный контрол

Параметры для автоматически создаваемого табличного контрола, находятся в классе, на вкладке UI, в группе tableControlOptions.
При применении изменений пакета, контрол будет автоматически обновлен в сответствии указанными параметрами.
Таблица с полным списком параметров:
| Название | Значение по-умолчанию | Комментарий |
|---|---|---|
| showToolbar | отображать ли панель инструментов | |
| allowShowCard | разрешить переход в карточку объекта по кнопке Карточка (не в диалоговом окне, а со сменой адреса страницы) | |
| allowCopy | ||
| allowColumnChoose | разрешить выбор отображаемых столбцов | |
| allowColumnReorder | разрешить изменять очередность столбцов | |
| allowColumnResize | разрешить изменять ширину столбцов | |
| allowSorting | разрешить изменять сортировку данных по столбцам | |
| allowFiltering | разрешить фильтрацию данных | |
| allowHeaderFiltering | разрешить фильтрацию в заголовках столбцов (условно, по аналогии с фильтрами в колонках Excel) | |
| allowImport | разрешить импорт данных (CSV) | |
| allowExport | разрешить экспорт данных (XLSX, CSV) | |
| allowReordering | разрешить изменение очередности строк | |
| allowSaveState | ||
| allowJSON | ||
| allowDelete | ||
| allowGroupDelete | ||
| allowGroupModify | ||
| allowMultiSelect | ||
| allowGenerateEntityDocument | ||
| allowGenerateCollectionDocument | ||
| showFilterRow | отображать ли строку фильтра (под заголовками столбцов) | |
| showFilterBuilder | отображать ли конструктор произвольного фильтра | |
| showSearchPanel | отображать ли строку поиска | |
| showRowNumbers | ||
| showHeader | ||
| cellPadding | ||
| editMode | режим редактирования и добавления строк:
| |
| pageMode | режим постраничности (если не указан, система выбирает его автоматически в зависимости от режима кеширования – clientScroll или serverScroll):
| |
| pageSize | текущий размер страницы (количество строк) и допустимые варианты (отображается только в режимах pager) | |
| pageSizes | ||
| customColumns | ||
| customButtons | ||
| doubleClickBehaviour | поведение при двойном клике (позволяет отключить редактирование строки по двойному клику либо наоборот открывать readonlyкарточку для нередактируемых таблиц) | |
| doubleClickCode | ||
| autoFocusMode | ||
| autoFocusConditionCode | ||
| wordWrap | разрешить ли перенос слов по строкам | |
| beforeInitCode | ||
| afterInitCode | ||
| cardControl_fullName | имя элемента управления, который используется таблицей в качестве карточки. По умолчанию используется стандартная (сгенеренная автоматически) карточка, но в ряде случаев бывает удобно ее изменить | |
| cardShowCapton | ||
| hiddenColumns | ||
| defaultValues | ||
| allowRefresh | ||
| autoRefreshInterval |

Кроме общих параметров контрола, также параметры могут быть заданы для каждого из свойств объекта (т.е. для каждой из колонок таблицы).
Параметры отображения свойств в таблице могут быть изменены в каждом конкретном свойстве, на вкладке UI, в группе Table.
Набор данных свойств может быть использован для предварительной настройки отображения данной колонки в таблице. Также, у каждого свойства есть параметр showInTable, который позволяет отключить его использование при построении табличных контролов.
| Название | Значение по-умолчанию | Комментарий |
|---|---|---|
| width | Ширина колонки | |
| wordWrap | Нет | Использовать ли перенос слов в конкретной колонке |
| allowShowHide | Да | Разрешить скрытие колонки |
| allowSorting | Да | Разрешить сортировку по колонке |
| allowFiltering | Да | Разрешить фильтрацию по колонке |
| allowHeaderFiltering | Да | Разрешить фильтрацию в заголовке данной колонки |
| allowSearch | Да | Разрешить поиск по данной колонке |
| showCellHint | Отображать подсказку в в клетке | |
| exportMode | auto | Разрешить экспорт данных из колонки: auto / enabled / disabled |
| formatConditions |
Контрол карточки

Параметры, определяющие контрол отображения карточки находятся в классе, на вкладке UI, в группе cardControlOptions.
Также, значимую часть в настройках такого контрола несут параметры свойств карточки, на вкладке UI, в группе Card.
Для начала, необходимо рассмотреть общие параметры контрола карточки:
| Название | Значение по-умолчанию | Комментарий |
|---|---|---|
| colCount | 2 | Количество столбцов разметки, на которое делится карточка (используется для адаптивной верстки) |
| mainTabCaption | Заголовок основной вкладки карточки | |
| allowDelete | Разрешить удаление данных | |
| customItems | JSON'ы для описания кастомных элементов карточки | |
| customButtons | ||
| autoClose | ||
| allowClose | Разрешить ручное закрытие карточки (по кнопке с крестиком) | |
| timerPropertyName | ||
| showHistoryChanges | ||
| showHistoryChangesRoles | ||
| autoAction | ||
| showErrorMessage | ||
| constObjectNotFound | ||
| dialogScenario_code | ||
| prompt |
Следующая статья курса: Отображение данных. Вкладки, группы, таблицы
Предыдущая статья курса: Задание 4. Взаимодействие классов