Skip to content

Commit 5514157

Browse files
Merge pull request #298 from noxify/buttongroup
Buttongroup
2 parents f3a1ee1 + d627f9d commit 5514157

File tree

4 files changed

+40
-0
lines changed

4 files changed

+40
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php namespace Kris\LaravelFormBuilder\Fields;
2+
3+
class ButtonGroupType extends FormField {
4+
5+
protected function getTemplate()
6+
{
7+
return 'fields.buttongroup';
8+
}
9+
10+
public function render(array $options = [], $showLabel = true, $showField = true, $showError = true)
11+
{
12+
$options['splitted'] = $this->getOption('splitted', false);
13+
$options['size'] = $this->getOption('size', 'md');
14+
$options['buttons'] = $this->getOption('buttons', []);
15+
16+
return parent::render($options, $showLabel, $showField, $showError);
17+
}
18+
}

src/Kris/LaravelFormBuilder/FormHelper.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ class FormHelper
6565
'select' => 'SelectType',
6666
'textarea' => 'TextareaType',
6767
'button' => 'ButtonType',
68+
'buttongroup' => 'ButtonGroupType',
6869
'submit' => 'ButtonType',
6970
'reset' => 'ButtonType',
7071
'radio' => 'CheckableType',

src/config/config.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
'text' => 'laravel-form-builder::text',
2929
'textarea' => 'laravel-form-builder::textarea',
3030
'button' => 'laravel-form-builder::button',
31+
'buttongroup' => 'laravel-form-builder::buttongroup',
3132
'radio' => 'laravel-form-builder::radio',
3233
'checkbox' => 'laravel-form-builder::checkbox',
3334
'select' => 'laravel-form-builder::select',

src/views/buttongroup.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php if ($options['wrapper'] !== false): ?>
2+
<div <?= $options['wrapperAttrs'] ?> >
3+
<?php endif; ?>
4+
5+
<?php if ( !$options['splitted'] ): ?>
6+
<div class="btn-group btn-group-<?= $options['size'] ?>">
7+
<?php endif; ?>
8+
9+
<?php foreach($options['buttons'] as $button): ?>
10+
<?= Form::button($button['label'], $button['attr']) ?>
11+
<?php endforeach; ?>
12+
13+
<?php if ( !$options['splitted'] ): ?>
14+
</div>
15+
<?php endif; ?>
16+
17+
18+
<?php if ($options['wrapper'] !== false): ?>
19+
</div>
20+
<?php endif; ?>

0 commit comments

Comments
 (0)