Документация для разработчиков
Темная тема

Групповые действия

Групповые действия – нижняя панель грида, позволяющая выполнять какие-либо действия над выбранными строками.

Параметры панели групповых действий

ПараметрТипОписание
ACTION_PANELarrayКонфигурация панели групповых действий.
SHOW_ACTION_PANELbooleanОтображает или скрывает панель групповых действий. По умолчанию панель скрыта.
SHOW_GROUP_EDIT_BUTTONbooleanРазрешает вывод стандартной кнопки "Редактировать" в панель групповых действий.
SHOW_GROUP_DELETE_BUTTONbooleanРазрешает вывод стандартной кнопки "Удалить" в панель групповых действий.
SHOW_SELECT_ALL_RECORDS_CHECKBOXbooleanВыводит или скрывает чекбокс выбора всех строк, на всех страницах. По умолчанию чекбокс скрыт.

Конфигурация панели

Параметр ACTION_PANEL ожидает массив следующей структуры.

'ACTION_PANEL' => [
	'GROUPS' => [
		[
			'ITEMS' => [
				[
				...,   
				],
			], 
		],     
	],
],
  • GROUPS – позволяет визуально объединить элементы в группы;
  • ITEMS – элементы управления (кнопки, выпадающие списки, поля и т. д.).

Параметры элементов панели

ПараметрТипОписание
TYPEstringТип элемента панели из \Bitrix\Main\Grid\Panel\Types.
IDstringИдентификатор элемента. Обязательный параметр.
NAMEstringИмя параметра в котором будет передано значение элемента.
ONCHANGEarrayКонфигурация действия, которое должно произойти при взаимодействии с элементом, например, при клике на кнопку. Включает в себя два параметра:
  • ACTION – тип действия;
  • DATA – дополнительные данные необходимые для выполнения действия.

Типы действий


Создание нового элемента

Тип: \Bitrix\Main\Grid\Panel\Actions::CREATE.

Пример ниже создаст кнопку после элемента, на котором выполнилось действие. Действие может создавать как один элемент, так и сразу несколько.

[
	'TYPE' => \Bitrix\Main\Grid\Panel\Actions::CREATE,
	'DATA' => [
		[
			'TYPE' => Bitrix\Main\Grid\Panel\Types::BUTTON,
			'ID' => 'example-button',
			'NAME' => 'EXAMPLE_BUTTON',
			'TEXT' => 'Example button',
			...,
		],
		...,
	],
]

Активация неактивного элемента

Тип: \Bitrix\Main\Grid\Panel\Actions::ACTIVATE

Активирует элементы, идентификаторы которых указаны в DATA, если они не активны.

[
	'TYPE' => \Bitrix\Main\Grid\Panel\Actions::ACTIVATE,
	'DATA' => [
		['ID' => 'my-button-id'],
		['ID' => 'my-field-id'],
		...,
	],
]

Показ скрытого элемента

Тип: \Bitrix\Main\Grid\Panel\Actions::SHOW

Отображает скрытые элементы, идентификаторы которых указаны в DATA.

[
	'TYPE' => \Bitrix\Main\Grid\Panel\Actions::SHOW,
	'DATA' => [
		['ID' => 'my-button-id'],
		['ID' => 'my-field-id'],
		...,
	],
]

Скрытие элемента

Тип: \Bitrix\Main\Grid\Panel\Actions::HIDE

Скрывает элементы, идентификаторы которых указаны в DATA.

[
	'TYPE' => \Bitrix\Main\Grid\Panel\Actions::HIDE,
	'DATA' => [
		['ID' => 'my-button-id'],
		['ID' => 'my-field-id'],
		...,
	],
]

Скрытие всех элементов, кроме указанных

Тип: \Bitrix\Main\Grid\Panel\Actions::HIDE_ALL_EXPECT

Скрывает все элементы, кроме тех, чьи идентификаторы указаны в DATA.

[
	'TYPE' => \Bitrix\Main\Grid\Panel\Actions::HIDE_ALL_EXPECT,
	'DATA' => [
		['ID' => 'my-button-id'],
		['ID' => 'my-field-id'],
		...,
	],
]

Отображение всех скрытых элементов

Тип: \Bitrix\Main\Grid\Panel\Actions::SHOW_ALL

Скрывает все скрытые элементы.

[
	'TYPE' => \Bitrix\Main\Grid\Panel\Actions::SHOW_ALL,
]

Удаление элементов

Тип: \Bitrix\Main\Grid\Panel\Actions::REMOVE

Удаляет все элементы указанные в DATA.

[
	'TYPE' => \Bitrix\Main\Grid\Panel\Actions::REMOVE,
	'DATA' => [
		['ID' => 'my-button-id'],
		['ID' => 'my-field-id'],
        ...,
	],
]

Выполнение произвольного JavaScript кода

Тип: \Bitrix\Main\Grid\Panel\Actions::CALLBACK

Выполняет JS-код указанный в DATA. Для удобства работы с API доступна переменная Grid, которая ссылается на текущий экземпляр грида.

[
	'TYPE' => \Bitrix\Main\Grid\Panel\Actions::CALLBACK,
	'DATA' => [
		['JS' => 'alert("It\'s works")'],
		['JS' => 'Grid.editSelected()'],
		...,
	],
]

Обратите внимание, что набор параметров может меняться в зависимости от типа элемента. Далее приведены примеры полного набора параметров для каждого из типов.

Типы элементов


Кнопка

Тип: Bitrix\Main\Grid\Panel\Types::BUTTON

[
	'TYPE' => Bitrix\Main\Grid\Panel\Types::BUTTON,
	'ID' => 'example-button',
	'NAME' => 'EXAMPLE_BUTTON',
	'TEXT' => 'Example button',
	'TITLE' => 'This is example button',
	'CLASS' => 'my-custom-button-class',
	'ONCHANGE' => [
		[
			'ACTION' => ...,
			'DATA' => [...],
		],
	],
]

Выпадающий список

Тип: Bitrix\Main\Grid\Panel\Types::DROPDOWN

[
	'TYPE' => Bitrix\Main\Grid\Panel\Types::DROPDOWN,
	'ID' => 'example-button',
	'NAME' => 'EXAMPLE_BUTTON',
	'MULTIPLE' => 'N', // 'Y' | 'N'
	'ITEMS' => [
		[
			'NAME' => 'Item name',
			'VALUE' => 'item_value',
			'ONCHANGE' => [
				[
					'ACTION' => ...,
					'DATA' => [...],
				],
				...,
			],   
		],
		...,
	],
]

Чекбокс

Тип: Bitrix\Main\Grid\Panel\Types::CHECKBOX

[
	'TYPE' => Bitrix\Main\Grid\Panel\Types::CHECKBOX,
	'ID' => 'example-checkbox',
	'NAME' => 'EXAMPLE_CHECKBOX',
	'TITLE' => 'This is checkbox',
	'LABEL' => 'Checkbox label',
	'VALUE' => 'checkbox_value',
	'CHECKED' => false, // true | false
	'ONCHANGE' => [
		[
     			       'ACTION' => ...,
			'DATA' => [...],
		],
		...,
	],   
]

Текстовое поле (input[type="text"])

Тип: Bitrix\Main\Grid\Panel\Types::TEXT

[
	'TYPE' => Bitrix\Main\Grid\Panel\Types::TEXT,
	'ID' => 'example-input',
	'NAME' => 'EXAMPLE_INPUT',
	'TITLE' => 'This is input',
	'PLACEHOLDER' => 'Input placeholder text',
	'VALUE' => 'Input value',
	'ONCHANGE' => [
		[
			'ACTION' => ...,
			'DATA' => [...],
		],
		...,
	],   
]

Ссылка

Тип: Bitrix\Main\Grid\Panel\Types::LINK

[
	'TYPE' => Bitrix\Main\Grid\Panel\Types::LINK,
	'ID' => 'example-link',
	'NAME' => 'EXAMPLE_LINK',
	'TITLE' => 'This is link',
	'CLASS' => 'custom-link-css-class',
	'HREF' => '//bitrix24.ru',
	'TEXT' => 'Link text',
	'ONCHANGE' => [
		[
			'ACTION' => ...,
			'DATA' => [...],
		],
		...,
	],   
]

Скрытое поле (input[type="hidden"])

Тип: Bitrix\Main\Grid\Panel\Types::HIDDEN

[
	'TYPE' => Bitrix\Main\Grid\Panel\Types::HIDDEN,
	'ID' => 'example-hidden-input',
	'NAME' => 'EXAMPLE_HIDDEN_INPUT',
	'VALUE' => 'Input value', 
]

Дата (дейтпиккер)

Тип: Bitrix\Main\Grid\Panel\Types::DATE

[
	'TYPE' => Bitrix\Main\Grid\Panel\Types::DATE,
	'ID' => 'example-date',
	'NAME' => 'EXAMPLE_DATE',
	'PLACEHOLDER' => 'Placeholder text',
	'VALUE' => '26.01.2023',
	'TIME' => false, // true | false
]

Собственное поле (HTML)

Тип: Bitrix\Main\Grid\Panel\Types::CUSTOM

[
	'TYPE' => Bitrix\Main\Grid\Panel\Types::CUSTOM,
	'ID' => 'example-custom',
	'NAME' => 'EXAMPLE_CUSTOM',
	'CLASS' => 'custom-css-class',
	'VALUE' => '<input type="text" ...> ...', 
]

Готовые элементы для стандартных действий

В гриде для типовых групповых действий предусмотрены готовые решения.


Чекбокс "Для всех"

Метод: \Bitrix\Main\Grid\Panel\Snippet::getForAllCheckbox()

Метод вернет готовый чекбокс "Для всех", который используется для групповых действий над всеми строками, на всех страницах грида.


Кнопка "Редактировать"

Метод: \Bitrix\Main\Grid\Panel\Snippet::getEditButton()

Вернет кнопку "Редактировать", которая включает инлайн-редактирование для выбранных строк.


Кнопка "Удалить"

Метод: \Bitrix\Main\Grid\Panel\Snippet::getRemoveButton()

Вернет кнопку "Удалить", которая удаляет выбранные строки.



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх