Skip to main content

Регионы

Библиотека компонентов

http://n2oapp.net/framework/config/schema/region-3.0

Базовые свойства

Атрибуты

НаименованиеТипОписание
idСтрокаИдентификатор региона
srcСтрокаReact компонент региона
classСтрокаCSS класс региона
styleСтрокаCSS стиль региона

Виды регионов

<region>

Простой регион

Тело

Список регионов
Список виджетов

Пример

<region>
<table/>
<tabs/>
<form/>
</region>

<line>

Регион с горизонтальным делителем

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
labelСтрокаЗаголовок региона
collapsibletrue falseВозможность раскрытия и сворачивания регионаtrue
has-separatortrue falseОтображение горизонтального делителяtrue
expandtrue falseИсходное раскрытие регионаtrue

Настройки

#Возможность раскрытия и сворачивания региона
n2o.api.region.line.collapsible = true
#Отображение горизонтального делителя
n2o.api.region.line.has_separator = true
#Исходное раскрытие региона
n2o.api.region.line.expand = true

Тело

Список регионов
Список виджетов

Пример

<line collapsible="true" label="Line">
<table/>
<panel/>
<form/>
</line>

<panel>

Регион в виде панели

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
headertrue falseНаличие заголовкаtrue
titleСтрокаЗаголовок панели
footer-titleСтрокаЗаголовок для подвала региона
collapsibletrue falseВозможность раскрытия и сворачивания панелиtrue
opentrue falseИсходное раскрытие панелиtrue
iconСтрокаКласс иконки
colorprimary secondary success danger warning info light darkЦвет панели
routabletrue falseВосстановление активных панелей по URLtrue
active-paramСтрокаИмя параметра активной панели в URLЗначение id

Настройки

#Наличие заголовка
n2o.api.region.panel.header = true
#Возможность раскрытия и сворачивания панели
n2o.api.region.panel.collapsible = true
#Исходное раскрытие панели
n2o.api.region.panel.open = true
#Восстановление активных панелей по URL
n2o.api.region.panel.routable = true

Тело

Список регионов
Список виджетов

Пример

<panel collapsible="true" title="Panel">
<form/>
<line/>
<table/>
</panel>

<scrollspy>

Регион с отслеживанием прокрутки

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
activeСтрокаАктивный элемент по умолчанию
titleСтрокаЗаголовок меню
placementleft rightСторона расположения менюleft
headlinestrue falseНаличие разделительной строки между блокамиfalse
max-heightСтрокаМаксимальная высота содержимого региона. Доступные единицы измерения: px. При указании числа оно будет приведено к px
routabletrue falseВосстановление активного элемента по URLtrue
active-paramСтрокаИмя параметра активного элемента меню в URLЗначение id

Настройки

#Сторона расположения меню
n2o.api.region.scrollspy.placement = left
#Наличие разделительной строки между блоками
n2o.api.region.scrollspy.headlines = false
#Восстановление активного элемента по URL
n2o.api.region.scrollspy.routable = true

Тело

<menu-item> - Список элементов меню
<sub-menu> - Список вложенных меню
<group> - Список групп

Пример

<scrollspy title="Регион"
placement="right"
headlines="true">
<menu-item>
...
</menu-item>
<sub-menu>
...
</sub-menu>
</scrollspy>

<menu-item>

Элемент меню

Атрибуты

НаименованиеТипОписание
idСтрокаИдентификатор элемента меню
titleСтрокаЗаголовок элемента меню

Тело

Список регионов
Список виджетов

Пример

<menu-item id="mi" title="Меню">
<table/>
<form/>
</menu-item>

<sub-menu>

Вложенное меню

Атрибуты

НаименованиеТипОписание
idСтрокаИдентификатор вложенного меню
titleСтрокаЗаголовок вложенного меню

Тело

<menu-item> - Список элементов меню
<sub-menu> - Список вложенных меню

Пример

<sub-menu id="sm" title="Вложенное меню">
<menu-item>
...
</menu-item>
<sub-menu>
...
</sub-menu>
</sub-menu>

<group>

Группа меню

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
idСтрокаИдентификатор группы
titleСтрокаЗаголовок группы
headlinetrue falseНаличие разделительной строкиfalse

Настройки

#Наличие разделительной строки в группах
n2o.api.region.scrollspy.group.headline = false

Тело

<menu-item> - Список элементов меню
<sub-menu> - Список вложенных меню

Пример

<group title="Первая группа" headline="true">
<menu-item>
...
</menu-item>
<sub-menu>
...
</sub-menu>
</group>

<tabs>

Регион в виде вкладок

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
always-refreshtrue falseОбновление данных при переключении между вкладкамиfalse
lazytrue falseЛенивая загрузка вкладокtrue
hide-single-tabtrue falseСкрытие единственной доступной вкладки и отображение только ее содержимогоfalse
max-heightСтрокаМаксимальная высота содержимого вкладок. Доступные единицы измерения: px, em, rem При указании числа оно будет приведено к px
scrollbartrue falseОтображение полосы прокруткиfalse
datasourceСсылка на источник данныхИдентификатор источника данных, из которого будет взято значение для active-tab-field-id
active-tab-field-idСсылка на поле выборкиИдентификатор поля, значение которого задает id активной вкладки
routabletrue falseВосстановление активных вкладок по URLtrue
active-paramСтрокаИмя параметра активной вкладки в URLЗначение id

Настройки

#Обновление данных при переключении между вкладками
n2o.api.region.tabs.always_refresh = false
#Ленивая загрузка вкладок
n2o.api.region.tabs.lazy = true
#Скрытие единственной доступной вкладки и отображение только ее содержимого
n2o.api.region.tabs.hide_single_tab = false
#Максимальная высота содержимого вкладок
n2o.api.region.tabs.max_height =
#Отображение полосы прокрутки
n2o.api.region.tabs.scrollbar = false
#Восстановление активных вкладок по URL
n2o.api.region.tabs.routable = true

Тело

<tab> - Список вкладок

Пример

<tabs always-refresh="true">
<tab name="One">
...
</tab>
<tab name="Two">
...
</tab>
</tabs>

<tab>

Вкладка

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
idСтрокаИдентификатор вкладки
nameСтрокаНаименование вкладки
datasourceСсылка на источник данныхИдентификатор источника данныхИдентификатор источника данных региона
visibleСтрокаУсловие видимости. Возможно использование плейсхолдеровtrue
enabledСтрокаУсловие доступности. Возможно использование плейсхолдеровtrue

Тело

Список регионов
Список виджетов

Пример

<tab name="Вкладка">
<form/>
<panel/>
<table/>
</tab>

<sub-page>

Регион, обновляемый при частичной перезагрузке. Подгружает одну из подстраниц в зависимости от текущего URL

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
default-page-idСтрокаИдентификатор открываемой подстраницы по умолчаниюИдентификатор первой подстраницы

Тело

Список подстраниц

Пример

<sub-page default-page-id="profile">
<page page-id="profile" route="/profile">...</page>
<page page-id="documents" route="/documents">...</page>
<page page-id="orders" route="/orders/all">...</page>
</sub-page>

<page>

Подстраница

Атрибуты

НаименованиеТипОписаниеОбязательность
page-idСсылка на страницуИдентификатор открываемой подстраницы!
routeСтрокаURL, по которому будет открыта подстраница!

Тело

<datasources> - Список переопределений источников данных
<breadcrumbs> - Список переопределений хлебных крошек
<toolbars> - Список переопределений меню управляющих кнопок
<actions> - Список переопределений действий страницы

Пример

<page page-id="profile" route="/profile">
<datasources>...</datasources>
<breadcrumbs>...</breadcrumbs>
<toolbars>...</toolbars>
<actions>...</actions>
</page>

Подробная документация o sub-page

Регион с меню

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
directionrow columnНаправление отображения элементовrow
datasourceСсылка на источник данныхИдентификатор источника данных, из которого будет взято значение для плейсхолдеров
modelresolve edit filter multi datasourceМодель, из которой будет взято значение для плейсхолдеровresolve

Настройки

# Направление отображения элементов
n2o.api.nav.direction_type = row

Тело

<menu-item> - Компонент меню
<dropdown-menu> - Выпадающее меню
<button> - Кнопка
<divider> - Разделитель
<link> - Ссылка
<group> - Группа

Пример

<nav datasource="ds_1" class="myClass">
<menu-item label="Пункт меню">...</menu-item>
<dropdown-menu label="Выпадающее меню">...</dropdown-menu>
<link href="/profile" label="Ссылка"/>
<divider/>
<button label="Кнопка"/>
<group label="Группа">...</group>
<nav>

Выпадающее меню

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
nameСтрокаЗаголовок выпадающего меню. Возможно использование плейсхолдеров
labelСтрокаЗаголовок выпадающего меню. Возможно использование плейсхолдеров
triggerclick hoverСпособ активации выпадающего менюclick
positiontop right bottom left autoРасположение выпадающего меню относительно элементаauto
iconСтрокаИконка выпадающего меню
icon-positionleft rightПозиция иконки относительно наименования выпадающего менюleft
imageСтрокаСсылка на картинку. Возможно использование плейсхолдеров
image-shapesquare circle roundedФорма картинкиsquare
visibleСтрокаУсловие видимости. Возможно использование плейсхолдеровtrue
enabledСтрокаУсловие доступности. Возможно использование плейсхолдеровtrue
datasourceСсылка на источник данныхИдентификатор источника данных, из которого будет взято значение для плейсхолдеровИдентификатор источника данных родительского компонента
modelresolve edit filter multi datasourceМодель, из которой будет взято значение для плейсхолдеровМодель родительского компонента
classСтрокаCSS класс элемента меню
styleСтрокаCSS стиль элемента меню

Настройки

# Способ активации выпадающего меню
n2o.api.menu.dropdown.trigger = click
# Расположение выпадающего меню относительно элемента
n2o.api.menu.dropdown.position = auto

Тело

<menu-item> - Компонент меню
<dropdown-menu> - Выпадающее меню
<button> - Кнопка
<divider> - Разделитель
<link> - Ссылка
<group> - Группа

Пример

<dropdown-menu id="list"
name="Список действий"
image="/static/image.png"
image-shape="circle">
<menu-item>...</menu-item>
<dropdown-menu>...</dropdown-menu>
</dropdown-menu>

<button>

Кнопка

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
idСтрокаИдентификатор элемента меню
labelСтрокаЗаголовок элемента меню. Возможно использование плейсхолдеров
datasourceСсылка на источник данныхИдентификатор источника данных, из которого будет взято значение для плейсхолдеровИдентификатор источника данных родительского компонента
modelresolve edit filter multi datasourceМодель, из которой будет взято значение для плейсхолдеровМодель родительского компонента
iconСтрокаИконка элемента меню
icon-positionleft rightПозиция иконки относительно заголовка элемента менюleft
imageСтрокаСсылка на картинку. Возможно использование плейсхолдеров
image-shapesquare circle roundedФорма картинкиsquare
badgeСтрокаЗначок элемента меню. Возможно использование плейсхолдеров
badge-colorprimary secondary success danger warning info light darkЦвет значка. Возможно использование плейсхолдеров
badge-positionleft rightПозиция значкаright
badge-shaperounded circle squareФорма значкаcircle
badge-imageСтрокаСсылка на картинку в значке. Возможно использование плейсхолдеров
badge-image-positionleft rightПозиция картинки в значкеleft
badge-image-shaperounded circle squareФорма картинки в значкеcircle
srcСтрокаReact компонент элемента меню
classСтрокаCSS класс элемента меню
styleСтрокаCSS стиль элемента меню
visibleСтрокаУсловие видимости. Возможно использование плейсхолдеровtrue
enabledСтрокаУсловие доступности. Возможно использование плейсхолдеровtrue
colorprimary secondary success danger warning info light dark linkЦвет кнопки. Возможно использование плейсхолдеров
descriptionСтрокаОписание при наведении на кнопку
tooltip-positionleft right top bottomПозиция подсказки
action-idСсылка на действиеДействие, которое будет вызвано при нажатии на элемент меню

Настройки

#Позиция иконки относительно заголовка элемента меню
n2o.api.menu.item.icon_position = left
#Форма картинки
n2o.api.menu.item.image_shape = square
#Позиция значка
n2o.api.menu.button.badge.position=right
#Форма значка
n2o.api.menu.button.badge.shape = circle
#Позиция картинки в значке
n2o.api.menu.button.badge.image_position = left
#Форма картинки в значке
n2o.api.menu.button.badge.image_shape = circle

Тело

Список действий

Пример

<button label="Кнопка" color="danger">
<alert text="test" color="success"/>
</button>
<button label="Кнопка" action-id="act1"/>

<divider>

Разделитель

Атрибуты

НаименованиеТипОписание
classСтрокаCSS класс элемента меню
styleСтрокаCSS стиль элемента меню

Пример

<divider class="test" style="background-color: blue"/>

Ссылка

Атрибуты

НаименованиеТипОписаниеЗначение по умолчаниюОбязательность
labelСтрокаЗаголовок ссылки. Возможно использование плейсхолдеров
hrefСтрокаАдрес URL. Возможно использование плейсхолдеров.
Подробнее о формировании ссылки
!
iconСтрокаИконка элемента меню
icon-positionleft rightПозиция иконки относительно наименования элемента менюleft
targetnewWindow self applicationСценарий открытия ссылки:
newWindow - в новой вкладке (относительный путь добавляется после хоста)
self - в текущей вкладке (относительный путь добавляется после хоста)
application - в текущей вкладке (относительный путь добавляется после #)
newWindow
visibleСтрокаУсловие видимости. Возможно использование плейсхолдеровtrue
enabledСтрокаУсловие доступности. Возможно использование плейсхолдеровtrue
datasourceСсылка на источник данныхИдентификатор источника данных, из которого будет взято значение для плейсхолдеровИдентификатор источника данных родительского компонента
modelresolve edit filter multi datasourceМодель, из которой будет взято значение для плейсхолдеровМодель родительского компонента
classСтрокаCSS класс элемента меню
styleСтрокаCSS стиль элемента меню

Тело

<path-param> - Параметр пути
<query-param> - Параметр запроса

Пример

<link
label="label"
href="http://test.ru"
icon="fa fa-plus"
target="self">
<path-param>...</path-param>
<query-param>...</query-param>
</link>

<group>

Группа

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
labelСтрокаЗаголовок элемента меню. Возможно использование плейсхолдеров
collapsibletrue falseВозможность раскрытия и сворачивания группыtrue
default-stateexpanded collapsedСостояние раскрытия элементов группыexpanded
iconСтрокаИконка элемента меню
icon-positionleft rightПозиция иконки относительно заголовка элемента менюleft
visibleСтрокаУсловие видимости. Возможно использование плейсхолдеровtrue
enabledСтрокаУсловие доступности. Возможно использование плейсхолдеровtrue
datasourceСсылка на источник данныхИдентификатор источника данных, из которого будет взято значение для плейсхолдеровИдентификатор источника данных родительского компонента
modelresolve edit filter multi datasourceМодель, из которой будет взято значение для плейсхолдеровМодель родительского компонента
classСтрокаCSS класс элемента меню
styleСтрокаCSS стиль элемента меню

Настройки

# Возможность раскрытия и сворачивания группы
n2o.api.menu.group.collapsible = true
# Состояние раскрытия элементов группы
n2o.api.menu.group.default_state = expanded

Тело

<menu-item> - Компонент меню
<dropdown-menu> - Выпадающее меню
<button> - Кнопка
<divider> - Разделитель
<link> - Ссылка
<group> - Группа

Пример

<group
label="Группа"
collapsible="false"
default-state="expanded"
icon="fa fa-plus"
icon-position="right">
<menu-item>...</menu-item>
<dropdown-menu>...</dropdown-menu>
</group>

<row>

Регион Строка с сеточной вёрсткой

Строка с сеточной вёрсткой, делящая пространство внутри на указанное количество колонок.

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
columnsЧислоКоличество колонок, на которое разбивается строка12
wraptrue falseПеренос не влезающих по размеру колонок на следующую строкуtrue
aligntop middle bottom stretchВертикальное выравниваниеtop
justifystart end center space-around space-between space-evenlyГоризонтальное выравниваниеstart

Настройки

# Количество колонок, на которое разбивается строка
n2o.api.region.row.columns = 12
# Перенос не влезающих по размеру колонок на следующую строку
n2o.api.region.row.wrap = true
# Вертикальное выравнивание
n2o.api.region.row.align = top
# Горизонтальное выравнивание
n2o.api.region.row.justify = start

Тело

<col> - Список колонок
Список регионов
Список виджетов

Пример

<row columns="3">
...
<col size="2">
...
</col>
</row>

<col>

Колонка в строке

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
sizeЧислоЗанимаемое количество колонок1
offsetЧислоОтступ слева (в колонках)0

Тело

Список регионов
Список виджетов

Пример

<col size="2" offset="1">
<form/>
</col>

<flex-row>

Регион Строка без сеточной вёрстки

У каких-то элементов жестко заданная ширина, а какие-то элементы тянутся на оставшееся пространство.

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
wraptrue falseПеренос не влезающих элементов на следующую строкуtrue
aligntop middle bottom stretchВертикальное выравниваниеtop
justifystart end center space-around space-between space-evenlyГоризонтальное выравниваниеstart

Настройки

# Перенос не влезающих по размеру колонок на следующую строку
n2o.api.region.row.wrap = true
# Вертикальное выравнивание
n2o.api.region.row.align = top
# Горизонтальное выравнивание
n2o.api.region.row.justify = start

Тело

Список регионов
Список виджетов

Пример

<flex-row align="stretch">
<nav style="width: 200px">...</nav>
<sub-page>...</sub-page>
</flex-row>