Сплиттер изменяет размер соседних панелей при перетаскивании разделителя.
В раскладке участвуют только панели, расположенные непосредственно в kbq-splitter, без элемента-обертки.
Атрибут appearance задает вид разделителя:
| Вид | Описание |
|---|---|
divider | Линия-разделитель. Используется по умолчанию |
transparent | Невидимый разделитель. Подходит, когда панели выделяются фоном или имеют собственную обводку |
handle | Ручка для перетаскивания по центру |
kbqSplitterOptionsProvider задает оформление по умолчанию для всего приложения или отдельного инжектора.
Атрибут orientation задает направление расположения панелей: при horizontal они располагаются в строку, при vertical — в столбец.
Атрибут disabled отключает изменение размера: разделители перестают реагировать на перетаскивание и нажатия клавиш, исключаются из порядка обхода и показывают обычный курсор.
Размер панели задают три атрибута:
| Атрибут | Описание |
|---|---|
size | Начальный размер. Панели без size делят между собой оставшееся место |
minSize | Наименьший размер, до которого панель можно сжать |
maxSize | Наибольший размер, до которого панель можно растянуть |
Значением может быть число пикселей (240), строка с пикселями ('240px') или доля сплиттера ('30%'). В одном сплиттере единицы можно смешивать. Другие единицы, например rem или vw, не поддерживаются: такое значение игнорируется, а в режиме разработки в консоль выводится предупреждение.
Если соседняя панель достигает ограничения, разделитель продолжает двигаться: место для изменения размера отдают следующие панели, поэтому сдвигается и соседний разделитель.
Атрибут snapSizes задает размеры, к которым притягивается панель. Если snapSizes задан у любой из двух панелей рядом с разделителем, minSize и maxSize обеих панелей тоже становятся точками привязки. При перетаскивании разделитель следует за курсором. Панель притягивается после его завершения.
Атрибут snapTolerance задает расстояние до точки привязки, при котором панель притягивается к ней. По умолчанию — 32 пикселя. Значение по умолчанию задает kbqSplitterOptionsProvider.
Атрибут collapsible позволяет сворачивать панель перетаскиванием, collapsedSize задает размер свернутой полоски. Промежуточных размеров у такой панели нет: при перетаскивании она останавливается на minSize. Если перетащить разделитель дальше половины minSize, панель сворачивается.
Если collapsedSize равен нулю, панель скрывается полностью, и разделителя для ее возврата не остается. Развернуть ее можно через двустороннюю привязку [(collapsed)], например кнопкой или сочетанием клавиш.
Одна из панелей может содержать вложенные области с изменяемым размером.
Разделитель попадает в порядок обхода между содержимым соседних панелей.
Клавиша или действие | Поведение |
|---|---|
| Left Arrow \ Right Arrow | Сдвигает вертикальный разделитель по направлению стрелки. |
| Up Arrow \ Down Arrow | Сдвигает горизонтальный разделитель по направлению стрелки. |
| Home | Устанавливает минимальный доступный размер панели. Если панель уже находится в минимальном размере и ее можно сворачивать, она сворачивается. |
| End | Устанавливает максимальный доступный размер панели. При необходимости уменьшает размер соседних панелей. |
| Enter | Сворачивает и разворачивает панель, если задан атрибут collapsible. |
| F6 \ Shift + F6 | Перемещает фокус к следующей или предыдущей панели. |
| Двойной щелчок мыши | Сбрасывает размеры до заданных панелями. Повторный двойной щелчок мыши устанавливает минимальный размер панели. |