Skip to content

Commit e9f76ca

Browse files
committed
Added 'buttonOptions' in buttons
1 parent 7a0b019 commit e9f76ca

File tree

3 files changed

+31
-17
lines changed

3 files changed

+31
-17
lines changed

BulkCheckboxColumn.php

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,22 @@ public function init()
4949
}
5050

5151
$buttons .= ButtonDropdown::widget([
52-
'label' => $element['label'],
53-
'field' => $element['field'],
54-
'selectorName' => $grid->id . '-ids',
55-
'gridId' => $grid->id,
56-
'buttonClass' => isset($element['buttonClass']) ? $element['buttonClass'] : null,
57-
'items' => $element['items'],
52+
'label' => $element['label'],
53+
'field' => $element['field'],
54+
'selectorName' => $grid->id . '-ids',
55+
'gridId' => $grid->id,
56+
'buttonClass' => isset($element['buttonClass']) ? $element['buttonClass'] : null,
57+
'buttonOptions' => isset($element['buttonOptions']) ? $element['buttonOptions'] : [],
58+
'items' => $element['items'],
5859
]);
5960
} elseif ($element['buttonType'] === self::BUTTON_TYPE_CUSTOM_JS) {
6061
$buttons .= ButtonSingle::widget([
61-
'label' => $element['label'],
62-
'selectorName' => $grid->id . '-ids',
63-
'gridId' => $grid->id,
64-
'buttonClass' => isset($element['buttonClass']) ? $element['buttonClass'] : null,
65-
'customJs' => $element['customJs'],
62+
'label' => $element['label'],
63+
'selectorName' => $grid->id . '-ids',
64+
'gridId' => $grid->id,
65+
'buttonClass' => isset($element['buttonClass']) ? $element['buttonClass'] : null,
66+
'buttonOptions' => isset($element['buttonOptions']) ? $element['buttonOptions'] : [],
67+
'customJs' => $element['customJs'],
6668
]);
6769
} else {
6870
continue;

ButtonDropdown.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace integready\bulkactionscheckboxcolumn;
44

55
use yii\bootstrap\ButtonDropdown as BBDropdown;
6+
use yii\helpers\ArrayHelper;
67
use yii\base\Widget;
78
use yii\helpers\Html;
89
use yii\helpers\Json;
@@ -35,6 +36,11 @@ class ButtonDropdown extends Widget
3536
*/
3637
public $buttonClass = 'btn';
3738

39+
/**
40+
* @var array
41+
*/
42+
public $buttonOptions = [];
43+
3844
/**
3945
* Items list
4046
* ```
@@ -81,9 +87,9 @@ public function run()
8187
'dropdown' => [
8288
'items' => $items,
8389
],
84-
'options' => [
90+
'options' => ArrayHelper::merge([
8591
'class' => $this->buttonClass,
86-
],
92+
], $this->buttonOptions),
8793
]);
8894

8995
$field = Html::input('hidden', $this->field, '');

ButtonSingle.php

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace integready\bulkactionscheckboxcolumn;
44

55
use yii\base\Widget;
6+
use yii\helpers\ArrayHelper;
67
use yii\helpers\Html;
78
use yii\helpers\Json;
89
use yii\web\View;
@@ -29,6 +30,11 @@ class ButtonSingle extends Widget
2930
*/
3031
public $buttonClass = 'btn';
3132

33+
/**
34+
* @var array
35+
*/
36+
public $buttonOptions = [];
37+
3238
/**
3339
* @var string
3440
*/
@@ -48,11 +54,11 @@ public function init()
4854
*/
4955
public function run()
5056
{
51-
return Html::button($this->label, [
52-
'id' => 'single-' . $this->selectorName,
53-
'class' => $this->buttonClass,
57+
return Html::button($this->label, ArrayHelper::merge([
58+
'id' => 'single-' . $this->selectorName,
59+
'class' => $this->buttonClass,
5460
'data-selector' => $this->selectorName,
55-
]);
61+
], $this->buttonOptions));
5662
}
5763

5864
/**

0 commit comments

Comments
 (0)