table
)Отображает результат как таблицу.
Обозначения:
⚠️ - атрибут устарел (deprecated) и больше не поддерживаетсяИспользование:
Атрибуты представления и атрибуты строк начинаются с@
и могут быть указаны в любом месте блокаSELECT
Атрибуты колонок, ячеек и формы редактирования указываются после поля в блокеSELECT
в форматеfield_name @{ attribute = value }
Атрибут | Тип | Описание | Значение по умолчанию |
---|---|---|---|
buttons |
Массив кнопок | Дополнительные кнопки в «кебаб-меню» и рядом с ним | |
confirm_argument_changes |
Логическое | При установке значения в true изменяет поведение применения "фильтров" в панели аргументов - для того, чтобы фильтры применились, потребуется нажатие на кнопку "Применить" |
false |
create_buttons |
Массив кнопок | Если нужно поддерживать несколько способов создания записи и поэтому create_link не подходит. Также добавит кнопки в шапку таблицы и «кебаб-меню», но с выпадающим списком |
|
create_link |
Действие | Ссылка на отображение, с помощью которого можно создавать новые записи данного типа. Создаёт кнопку «Создать новую запись» в «кебаб-меню» и кнопку "+" в шапке таблицы | |
disable_auto_save |
Логическое | Если true , то отключается автоматическое сохранение по таймеру, пока представление находится на экране (при этом всё ещё будут происходить сохранения при переходах между представлениями). Всегда отключено в представлениях, в которых на главной сущности имеются триггеры |
false |
disable_selection_column |
Логическое | Убрать стобец, использующийся для выделения строк, и действие удаления выделенных строк | false |
export_to_csv |
Логическое | Включает возможность экспорта данных этого представления в csv файл | false |
⚠️extra_actions |
Массив действий | Дополнительные кнопки в «кебаб-меню» сверху (⚠️ см. buttons ) |
|
⚠️help_embedded_page_name |
Строка | Название страницы со справкой (⚠️ см. help_page ) |
|
help_page |
Cсылка | Ссылка на страницу-подсказку (funapp.embedded_pages ) - схема и название, подробнее |
|
lazy_load |
Объект | Использовать ли постраничную загрузку данных, на данный момент по сути единственный вариант значения: { pagination: { per_page: 10 } } , который будет разбивать данные на страницы по 10 (или любое другое число) записей.После установки данного атрибута необходимо обновить страницу браузера, чтобы он заработал. |
|
⚠️panel_buttons |
Массив действий | Дополнительные кнопки на верхней панели представления (⚠️ см. buttons ) |
|
post_create_link |
Действие с идентификатором | Действие, которое осуществляется после сохранения новой записи (пример) | |
show_argument_button |
Логическое | Показывать ли по умолчанию кнопку "Фильтры", отобажающую редактор аргументов по клику | false |
show_argument_editor |
Логическое | Показывать ли по умолчанию редактор аргументов | false |
show_empty_row |
Логическое | Показывать пустую строку для добавления данных | true |
title |
Строка | Заголовок представления | Системное название представления |
type |
table , form , board , menu , timeline , multiselect |
Тип пользовательского представления | table |
Атрибут | Тип | Описание | Значение по умолчанию |
---|---|---|---|
row_height |
Число | Высота строки в пикселях (как определено в CSS) |
Атрибут | Тип | Описание | Значение по умолчанию |
---|---|---|---|
caption |
Cтрока | Название колонки | Название колонки из запроса |
column_width |
Число | Ширина колонки в пикселях (как определено в CSS) | 200 |
entry_id |
Логическое | Указывает, что в данной колонке находятся идентификаторы для массовых действий, см. кнопки для действий над группой записей | false |
fixed |
Логическое | Зафиксировать колонку. Фиксированные колонки отображаются первыми и остаются видимыми при листании таблицы по горизонтали | false |
main_reference_field |
Логическое | Колонка с установленным этим атрибутом должна содержать данные типа "отношение" и являться колонкой главной сущности. При установке атрибута в связке с атрибутом select_view в меню таблицы появляется пункт "Выбрать и вставить", открывающий модальное окно для выбора связанной сущности. После выбора в таблицу вставляется новая строка, в которой в ячейке с этим атрибутом автоматически устанавливается выбранная запись |
false |
visible |
Логическое | Видимость колонки. Вместе с default_value позволяет задать значения по умолчанию для создаваемых строк, которые скрыты от пользователя |
true |
Атрибут | Тип | Описание | Значение по умолчанию |
---|---|---|---|
⚠️cell_color |
Цвет | Цвет ячейки (⚠️ используйте cell_variant ) |
|
cell_variant |
Вариант | Вариант ячейки, см. color-variants. При использовании cell_variant в качестве атрибута строк окрашиваются все ячейки |
|
control |
'user_view' | 'iframe' |
Указывает на используемый компонент. При значении user_view вместо ячейки отображается вложенное отображение, соответствующее значению ячейки, интерпретированному как ссылка с идентификатором.При значении iframe вместо ячейки отображается айфрейм, см. iframes, и значение передаётся в него. |
|
default_value |
Любое | Значение по умолчанию для данной колонки. Обладает большим приоритетом чем default для колонки в её определении |
|
extra_select_views |
Массив ссылок с идентификатором | Ссылки на отображения, с помощью которых возможно выбирать или создавать связанные значения для этой сущности. Отображения можно вызвать через кнопку внизу списка для значений поля. Обязателен дополнительный атрибут "name": 'Название действия' |
|
fraction_digits |
Число | Работает только вместе с number_format , указывает, сколько цифр после запятой отображать |
|
link |
Действие с идентификатором | Действие, которое осуществляется при нажатии на ячейку | |
number_format |
auto , en , ru |
Формат отображения значений типов int и decimal .Пример: Без форматирования: 123456.789 ru : 123 456,789en : 123,456.789При значении auto формат выберется на основе языка браузера пользователя. |
|
option_variant |
Вариант | Цветовой вариант для плашки внутри ячейки, см. color-variants. При использовании option_variant в качестве атрибута строк окрашиваются все плашки в ячейках с типами bool , reference и enum |
|
options_view |
Cсылка | Ограничивает список возможных сущностей только теми, которые есть в представлении по ссылке. Представление обязано иметь колонки value (значения в которой равны id сущностей, которые можно выбрать) и pun , содержащую строки-лейблы, которые будут использоваться для отображения опций вместо главной колонки сущности. Подробнее |
|
referenced_entity |
Cсылка | Ссылка на сущность для использования с options_view |
|
row_link |
Действие с идентификатором | Действие, которое осуществляется при нажатии на стрелку в начале строки. Если найдено несколько атрибутов row_link , используется ссылка из последнего |
|
select_view |
Cсылка с идентификатором | Частный случай extra_select_views , кнопка для выбора связанной сущности из отображения - удобна когда не требуется кастомизация надписи на кнопке и кнопка только одна |
|
show_seconds |
Логическое | Показывать ли секунды в ячейках типа datetime |
false |
soft_disabled |
Логическое | Если true , то ячейку нельзя редактировать.Важно: данный атрибут отключает редактирование только на уровне интерфейса, для более серьёзных ограничений необходимо использовать права доступа |
false |
text_align |
left , center , right |
Выравнивание содержимого ячейки по левому краю, по центру, по правому краю соответственно | числа - right , остальные - left |
Атрибут | Тип | Описание | Значение по умолчанию |
---|---|---|---|
control_height |
Число | Высота поля ввода при редактировании ячейки в таблице в px. Действует только для полей, которые поддерживают ввод текста | |
text_type |
Cтрока | Указывает на тип компонента для строчного значения. Возможные типы компонентов |
{
$owner array(reference(base.people)) null @{
caption = 'Ответственный',
options_view = &hrm.ref_employees_working_now_view,
},
$status array(reference(pm.actions_stages)) null @{
caption = 'Статус',
options_view = &pm.ref_active_actions_stages_view,
},
$type array(reference(pm.actions_types)) null @{
caption = 'Тип действия',
options_view = &pm.ref_active_actions_types_view,
}
}:
SELECT
@type = 'table',
@title = 'Действия',
@create_buttons = (
SELECT json_agg({
name: actions_types.name, icon: 'add_circle',
ref: &pm.action_form, new: true, target: 'modal',
default_values: {
type: actions_types.id,
stage: (SELECT id FROM pm.actions_stages WHERE name = 'new')
},
})
FROM (
SELECT id, __main as name
FROM pm.actions_types
ORDER BY number
) as actions_types
),
@show_argument_button = true,
@lazy_load = { pagination: { per_page: 25 }},
@row_link = &pm.action_form,
@buttons = [{
name: 'Вид: таблица', icon: 'web', variant: 'dark',
display: 'all',
buttons: [
{
name: 'Таблица', variant: 'dark', icon: 'table_view',
ref: &pm.actions_table, target: 'top',
args: {
owner: $owner,
status: $status,
type: $type
},
},
{
name: 'Доска', icon: 'table_chart', variant: 'dark',
ref: &pm.actions_board, target: 'top',
args: {
owner: $owner,
status: $status,
type: $type
},
}
],
}],
actions.subject @{
column_width = 450,
},
actions.type @{
column_width = 100,
options_view = &pm.ref_active_actions_types_view
},
actions.sys_related_contact @{
column_width = 200
},
actions.stage @{
column_width = 125
},
actions.start_date @{
column_width = 130
},
actions.due_date @{
column_width = 130
},
actions.responsible_contact @{
column_width = 225,
default_value = (SELECT id FROM base.people WHERE user = $$user_id),
},
actions.priority @{
column_width = 100
},
actions.created_datetime @{ visible = false },
actions.created_person @{ visible = false },
actions.modified_datetime @{ visible = false },
actions.modified_person @{ visible = false },
actions.completed_datetime @{ visible = false },
actions.completed_person @{ visible = false },
actions.description @{
column_width = 300,
},
actions.parent_action @{
visible = false
}
FROM
pm.actions
WHERE
NOT actions.is_deleted
AND ($type IS NULL OR actions.type = ANY(($type)))
AND ($owner IS NULL OR actions.responsible_contact = ANY(($owner)))
AND ($status IS NULL OR actions.stage = ANY(($status)))
ORDER BY
actions.start_date,
actions.priority DESC,
actions.stage DESC,
actions.id
FOR INSERT INTO
pm.actions
Hotkeys | Что делают |
---|---|
Стрелки | Перемещают курсор, если ячейка не открыта для редактирования |
PgDown/PgUp | Перемещение на пять строк |
Enter/Tab | Работают примерно как в Экселе или Google.Sheets |
Escape | Закрыть редактирование ячейки |
Delete | Очистить ячейку |
Ctrl+c/Ctrl+x/Ctrl+v | Копировать/вырезать/вставить |
Shift+клик
или через Shift+стрелки
.Булевы значения в таблице отображаются чекбоксами.
Булевы поля, с которыми предполагается активная работа в таблицах, не рекомендуется делать nullable
, чтобы в таблицах работало быстрое изменение значения:
is_nullable | Изменение значений |
---|---|
true |
Выбор из трех значений в выпадающем меню: false , true или null |
false |
Двойной клик по ячейке изменяет значение на противоположное |