liventin / base.module.options.provider.js.buttons.row
There is no license information available for the latest version (v1.0.0) of this package.
Buttons row option provider with align and JS click handlers
Package info
github.com/Liventin/base.module.options.provider.js.buttons.row
Type:bitrix-d7-module
pkg:composer/liventin/base.module.options.provider.js.buttons.row
v1.0.0
2026-09-23 06:43 UTC
Requires
- php: >=8.1
- liventin/base.module: ^1.0.0
Requires (Dev)
- roave/security-advisories: dev-latest
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
| Bitrix Base Module |
install | update
"require": {
"liventin/base.module.options.provider.buttons": "^1.0.0"
}
redirect (optional)
"extra": {
"service-redirect": {
"liventin/base.module.options.provider.buttons": "module.name",
}
}
Что это
Провайдер опции-ряда кнопок (type: 'buttons'). Опция не сохраняет значений;
кнопки рисуются под таблицей (или в любом месте вкладки) с выравниванием и JS-обработчиком
по клику:
$provider = $srvOptions->getProvider('buttons'); return $provider ->setAlign('left') // left | center | right ->setButtons([ [ 'title' => 'Экспорт полей', 'js' => 'alert("hello");', // выполняется по клику (в контексте кнопки) ], [ 'title' => 'Обновить', 'align' => 'right', // (опционально) переопределить выравнивание для кнопки 'js' => 'BX.reload();', ], ]) ->getParamsToArray();
Параметры
title— текст кнопки.js— JS-код, выполняемый по клику черезnew Function(js).call(this)(в контексте кнопки).align— (вsetAlignили на кнопке)left/center/right, по умолчаниюleft.
Пример опции
class ExportButtons implements Option { public static function getType(): string { return 'buttons'; } public static function getParams(): array { /* @var \Base\Module\Src\Options\Providers\ButtonsProvider $provider */ $provider = \Base\Module\Service\Container::get(\Base\Module\Service\Options\OptionsService::SERVICE_CODE) ->getProvider('buttons'); return $provider ->setAlign('right') ->setButtons([ ['title' => 'Экспорт', 'js' => 'BX.PopupWindowManager.create(...)'], ]) ->getParamsToArray(); } }
Php Storm Live Template
<?php
namespace ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Options;
use ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Service\Options\Option;
class ButtonsSample implements Option
{
public static function getId(): string
{
return 'sample_buttons';
}
public static function getName(): string
{
return 'Пример кнопок';
}
public static function getType(): string
{
return 'buttons';
}
public static function getTabId(): string
{
return TabMain::getId();
}
public static function getSort(): int
{
return 50;
}
public static function getParams(): array
{
return [
'buttons' => [
['title' => 'Действие', 'js' => 'alert("click");'],
],
'align' => 'left',
];
}
}