AZykov (обсуждение | вклад) Нет описания правки |
Elena (обсуждение | вклад) Нет описания правки |
||
| (не показаны 2 промежуточные версии 1 участника) | |||
| Строка 37: | Строка 37: | ||
Поведение контрола также определяется параметром '''''controlMode''''', который может принимать значения '''auto''' и '''custom'''. В режиме '''auto''', структура данных контрола будет сформирована автоматически платформой, в случае же режима '''custom''' - структура определяется с помощью JSON'ов customItems / customColumns и т.д. | Поведение контрола также определяется параметром '''''controlMode''''', который может принимать значения '''auto''' и '''custom'''. В режиме '''auto''', структура данных контрола будет сформирована автоматически платформой, в случае же режима '''custom''' - структура определяется с помощью JSON'ов customItems / customColumns и т.д. | ||
У каждого контрола есть общий набор параметров, при этом часть других параметров является спецефичной для каждого из видов контролов. Общий список параметров с пояснениями: | У каждого контрола есть общий набор параметров, при этом часть других параметров является спецефичной для каждого из видов контролов. Общий список параметров с пояснениями: | ||
| Строка 47: | Строка 46: | ||
|- | |- | ||
|controlMode | |controlMode | ||
| | |auto | ||
| | |Задает режим формирования контрола | ||
|- | |- | ||
|compactDesign | |compactDesign | ||
| Строка 56: | Строка 55: | ||
|showCaption | |showCaption | ||
| | | | ||
| | |Отображать заголовок контрола | ||
|- | |- | ||
|padding | |padding | ||
| | | | ||
| | |Отступы по краям контрола: none / small / medium / large | ||
|- | |- | ||
|captionAllignment | |captionAllignment | ||
| | | | ||
| | |Выравнивание заголовка: left / right / center | ||
|- | |- | ||
|data | |data | ||
| | | | ||
| | |JSON, определяющий параметры контрола (в данное поле сохраняются параметры, заданные в параметрах класса, для автоматически созданных контролов) | ||
|- | |- | ||
|dataSource | |dataSource | ||
| | | | ||
| | |Источник данных контрола. По-умолчанию, используется связанный объект | ||
|- | |- | ||
|input | |input | ||
| | | | ||
| | |Коллекция фильтров для вводимых данных | ||
|- | |- | ||
|filter | |filter | ||
| | | | ||
| | |Коллекция фильтров для выводимых данных | ||
|- | |- | ||
|allowHyperlinksRoles | |allowHyperlinksRoles | ||
| Строка 92: | Строка 91: | ||
|help | |help | ||
| | | | ||
| | |JSON, описывающий параметры для вывода в справку | ||
|} | |} | ||
| Строка 102: | Строка 101: | ||
Таблица с полным списком параметров: | Таблица с полным списком параметров: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Параметры tableControlOptions | |+Параметры tableControlOptions | ||
| Строка 110: | Строка 111: | ||
|showToolbar | |showToolbar | ||
| | | | ||
| | |отображать ли панель инструментов | ||
|- | |- | ||
|allowShowCard | |allowShowCard | ||
| | | | ||
| | |разрешить переход в карточку объекта по кнопке Карточка (не в диалоговом окне, а со сменой адреса страницы) | ||
|- | |- | ||
|allowCopy | |allowCopy | ||
| Строка 122: | Строка 123: | ||
|allowColumnChoose | |allowColumnChoose | ||
| | | | ||
| | |разрешить выбор отображаемых столбцов | ||
|- | |- | ||
|allowColumnReorder | |allowColumnReorder | ||
| | | | ||
| | |разрешить изменять очередность столбцов | ||
|- | |- | ||
|allowColumnResize | |allowColumnResize | ||
| | | | ||
| | |разрешить изменять ширину столбцов | ||
|- | |- | ||
|allowSorting | |allowSorting | ||
| | | | ||
| | |разрешить изменять сортировку данных по столбцам | ||
|- | |- | ||
|allowFiltering | |allowFiltering | ||
| | | | ||
| | |разрешить фильтрацию данных | ||
|- | |- | ||
|allowHeaderFiltering | |allowHeaderFiltering | ||
| | | | ||
| | |разрешить фильтрацию в заголовках столбцов (условно, по аналогии с фильтрами в колонках Excel) | ||
|- | |- | ||
|allowImport | |allowImport | ||
| | | | ||
| | |разрешить импорт данных (CSV) | ||
|- | |- | ||
|allowExport | |allowExport | ||
| | | | ||
| | |разрешить экспорт данных (XLSX, CSV) | ||
|- | |- | ||
|allowReordering | |allowReordering | ||
| | | | ||
| | |разрешить изменение очередности строк | ||
|- | |- | ||
|allowSaveState | |allowSaveState | ||
| Строка 190: | Строка 191: | ||
|showFilterRow | |showFilterRow | ||
| | | | ||
| | |отображать ли строку фильтра (под заголовками столбцов) | ||
|- | |- | ||
|showFilterBuilder | |showFilterBuilder | ||
| | | | ||
| | |отображать ли конструктор произвольного фильтра | ||
|- | |- | ||
|showSearchPanel | |showSearchPanel | ||
| | | | ||
| | |отображать ли строку поиска | ||
|- | |- | ||
|showRowNumbers | |showRowNumbers | ||
| Строка 214: | Строка 215: | ||
|editMode | |editMode | ||
| | | | ||
| | |режим редактирования и добавления строк: | ||
* '''popup''' – простое диалоговое окно (без вкладок, групп, кнопок и т.д.) | |||
* '''form''' – простая панель (отображается прямо в таблице на месте текущей строки) | |||
* '''cardpopup''' – полноценная карточка в диалоговом окне | |||
* '''card''' – полноценная карточка со сменой адреса страницы | |||
* '''row''' – редактирование по строкам (изменение значений в ячейках таблицы после нажатия на кнопку Изменить) | |||
* '''cell''' – редактирование по ячейкам (изменение значений в ячейках таблицы без нажатия на кнопку Изменить) | |||
|- | |- | ||
|pageMode | |pageMode | ||
| | | | ||
| | |режим постраничности (если не указан, система выбирает его автоматически в зависимости от режима кеширования – clientScroll или serverScroll): | ||
* '''disabled''' – отключено | |||
* '''clientPager''' – все данные загружены в браузер, переключение между страницами локальное | |||
* '''serverPager''' – в браузер загружена только текущая страница, каждое переключение между ними обращается за очередной порцией данных на сервер | |||
* '''clientScroll''' – все данные загружены в браузер, отрисовывается только видимая часть по мере прокрутки | |||
* '''serverScroll''' – в браузер загружена только видимая часть данных, прокрутка приводит к обращению на сервер за очередной порцией данных | |||
|- | |- | ||
|pageSize | |pageSize | ||
| | | | ||
| | | rowspan="2" |текущий размер страницы (количество строк) и допустимые варианты (отображается только в режимах pager) | ||
|- | |- | ||
|pageSizes | |pageSizes | ||
| | | | ||
|- | |- | ||
| Строка 238: | Строка 251: | ||
|doubleClickBehaviour | |doubleClickBehaviour | ||
| | | | ||
| | |поведение при двойном клике (позволяет отключить редактирование строки по двойному клику либо наоборот открывать readonlyкарточку для нередактируемых таблиц) | ||
|- | |- | ||
|doubleClickCode | |doubleClickCode | ||
| Строка 254: | Строка 267: | ||
|wordWrap | |wordWrap | ||
| | | | ||
| | |разрешить ли перенос слов по строкам | ||
|- | |- | ||
|beforeInitCode | |beforeInitCode | ||
| Строка 266: | Строка 279: | ||
|cardControl_fullName | |cardControl_fullName | ||
| | | | ||
| | |имя элемента управления, который используется таблицей в качестве карточки. По умолчанию используется стандартная (сгенеренная автоматически) карточка, но в ряде случаев бывает удобно ее изменить | ||
|- | |- | ||
|cardShowCapton | |cardShowCapton | ||
| Строка 289: | Строка 302: | ||
|} | |} | ||
[[Файл:Группа Table.png|мини|Группа Table]] | |||
Кроме общих параметров контрола, также параметры могут быть заданы для каждого из свойств объекта (т.е. для каждой из колонок таблицы). | |||
Параметры отображения свойств в таблице могут быть изменены в каждом конкретном свойстве, на вкладке UI, в группе Table. | |||
Набор данных свойств может быть использован для предварительной настройки отображения данной колонки в таблице. Также, у каждого свойства есть параметр showInTable, который позволяет отключить его использование при построении табличных контролов. | |||
{| class="wikitable" | |||
|+Полный перечень параметров группы Table | |||
!Название | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|width | |||
| | |||
|Ширина колонки | |||
|- | |||
|wordWrap | |||
|Нет | |||
|Использовать ли перенос слов в конкретной колонке | |||
|- | |||
|allowShowHide | |||
|Да | |||
|Разрешить скрытие колонки | |||
|- | |||
|allowSorting | |||
|Да | |||
|Разрешить сортировку по колонке | |||
|- | |||
|allowFiltering | |||
|Да | |||
|Разрешить фильтрацию по колонке | |||
|- | |||
|allowHeaderFiltering | |||
|Да | |||
|Разрешить фильтрацию в заголовке данной колонки | |||
|- | |||
|allowSearch | |||
|Да | |||
|Разрешить поиск по данной колонке | |||
|- | |||
|showCellHint | |||
| | |||
|Отображать подсказку в в клетке | |||
|- | |||
|exportMode | |||
|auto | |||
|Разрешить экспорт данных из колонки: auto / enabled / disabled | |||
|- | |||
|formatConditions | |||
| | |||
| | |||
|} | |||
= Контрол карточки = | |||
[[Файл:Группа cardControlOptions.png|мини|Группа cardControlOptions|235x235пкс]] | |||
Параметры, определяющие контрол отображения карточки находятся в классе, на вкладке UI, в группе cardControlOptions. | |||
Также, значимую часть в настройках такого контрола несут параметры свойств карточки, на вкладке UI, в группе Card. | |||
Для начала, необходимо рассмотреть общие параметры контрола карточки: | |||
{| class="wikitable" | |||
|+Параметры cardControlOptions | |||
!Название | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|colCount | |||
|2 | |||
|Количество столбцов разметки, на которое делится карточка (используется для адаптивной верстки) | |||
|- | |||
|mainTabCaption | |||
| | |||
|Заголовок основной вкладки карточки | |||
|- | |||
|allowDelete | |||
| | |||
|Разрешить удаление данных | |||
|- | |||
|customItems | |||
| | |||
| rowspan="2" |JSON'ы для описания кастомных элементов карточки | |||
|- | |||
|customButtons | |||
| | |||
|- | |||
|autoClose | |||
| | |||
| | |||
|- | |||
|allowClose | |||
| | |||
|Разрешить ручное закрытие карточки (по кнопке с крестиком) | |||
|- | |||
|timerPropertyName | |||
| | |||
| | |||
|- | |||
|showHistoryChanges | |||
| | |||
| | |||
|- | |||
|showHistoryChangesRoles | |||
| | |||
| | |||
|- | |||
|autoAction | |||
| | |||
| | |||
|- | |||
|showErrorMessage | |||
| | |||
| | |||
|- | |||
|constObjectNotFound | |||
| | |||
| | |||
|- | |||
|dialogScenario_code | |||
| | |||
| | |||
|- | |||
|prompt | |||
| | |||
| | |||
|} | |||
| Строка 298: | Строка 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. Взаимодействие классов