<?php
$btngroup = new Barebone\Bootstrap\ButtonGroup();
$btngroup
->addButton('Left')
->addButton('Middle', ['class' => 'btn-danger'])
->addButton('Right', ['onclick' => "alert('hey, you clicked me!')"]);
echo $btngroup;
<div class="btn-group">
<button type="button" class="btn btn-default">Left</button>
<button class="btn-danger btn" type="button">Middle</button>
<button onclick="alert('hey, you clicked me!')" type="button" class="btn btn-default">Right</button>
</div>
<?php
$btngroup = new Barebone\Bootstrap\ButtonGroup();
$btngroup
->addButton('Left', ['onclick' => "alert('hey, you clicked me!')"])
->addButton('Middle', ['class' => 'btn-danger'])
->addButton('Right');
$btngroup->justify(); // just say justify()
echo $btngroup;
<div class="btn-group btn-group-justified">
<div class="btn-group">
<button onclick="alert('hey, you clicked me!')" type="button" class="btn btn-default">Left</button>
</div>
<div class="btn-group">
<button class="btn-danger btn" type="button">Middle</button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-default">Right</button>
</div>
</div>
Combine sets of <div class="btn-group"> into a <div class="btn-toolbar"> for more complex components.
<?php
$btngroup = new Barebone\Bootstrap\ButtonGroup();
$btngroup->toolbar();
$btngroup
->addGroup()
->addButton('Left', ['onclick' => "alert('hey, you clicked me!')"])
->addButton('Middle', ['class' => 'btn-danger'])
->addButton('Right');
$btngroup
->addGroup()
->addButton('Bold', ['onclick' => "alert('hey, you clicked me!')"])
->addButton('Underline', ['class' => 'btn-success'])
->addButton('Italic');
echo $btngroup;
<div class="btn-toolbar" role="toolbar">
<div class="btn-group">
<button onclick="alert('hey, you clicked me!')" type="button" class="btn btn-default">Left</button>
<button class="btn-danger btn" type="button">Middle</button>
<button type="button" class="btn btn-default">Right</button>
</div>
<div class="btn-group">
<button onclick="alert('hey, you clicked me!')" type="button" class="btn btn-default">Bold</button>
<button type="button" class="btn btn-default">Underline</button>
<button class="btn-success btn" type="button">Italic</button>
</div>
</div>
Instead of applying button sizing classes to every button in a group, just add .btn-group-* to the .btn-group.
<?php
$btngroup = new Barebone\Bootstrap\ButtonGroup();
$btngroup
->addButton('Left', ['onclick' => "alert('hey, you clicked me!')"])
->addButton('Middle', ['class' => 'btn-danger'])
->addButton('Right');
//$btngroup->large(); // just call large() on btngroup for large buttons
//$btngroup->small(); // just call small() on btngroup for small buttons
//$btngroup->extrasmall(); // just call extrasmall() on btngroup for extrasmall buttons
// omit the size for default
echo $btngroup;
<div class="btn-group btn-group-xs">
<button onclick="alert('hey, you clicked me!')" type="button" class="btn btn-default">Left</button>
<button class="btn-danger btn" type="button">Middle</button>
<button type="button" class="btn btn-default">Right</button>
</div>
Place a .btn-group within another .btn-group when you want dropdown menus mixed with a series of buttons.
The important part of the code is: $btngroup->addItem($dropdown->asBtnGroup());
If you just add the dropdown as item it will not render properly.
<?php
// create a dropdown
$dropdown = new Barebone\Bootstrap\Dropdown('Dropdown');
// add some items
$dropdown->addHeader('Header actions');
$dropdown->addItem('Action', '#');
$dropdown->addItem('Another action', '#');
$dropdown->addItem('Something else here', '#');
// create a buttongroup
$btngroup = new Barebone\Bootstrap\ButtonGroup();
$btngroup
// first add group
->addGroup()
// then add buttons to the group
->addButton('Left')
->addButton('Middle')
->addButton('Right');
// buttongroup will identify the dropdown and automaticly render asBtnGroup()
$btngroup->addItem($dropdown);
// buttongroup will render asBtnGroup()
$btngroup->addItem($dropdown->asBtnGroup());
echo $btngroup;
<div class="btn-group">
<div class="btn-group">
<button type="button" class="btn btn-default">Left</button>
<button type="button" class="btn btn-default">Middle</button>
<button type="button" class="btn btn-default">Right</button>
</div>
<div class="btn-group">
<button class="btn btn-default dropdown-toggle" type="button" id="ddbtn6aa117905b0ab" data-toggle="dropdown">
Dropdown<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="ddbtn6aa117905b0ab">
<li role="presentation" class="dropdown-header">Header actions</li>
<li role="menuitem" tabindex="-1">
<a href="#">Action</a>
</li>
<li role="menuitem" tabindex="-1">
<a href="#">Another action</a>
</li>
<li role="menuitem" tabindex="-1">
<a href="#">Something else here</a>
</li>
</ul>
</div>
<div class="btn-group">
<button class="btn btn-default dropdown-toggle" type="button" id="ddbtn6aa117905b0ab" data-toggle="dropdown">
Dropdown<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="ddbtn6aa117905b0ab">
<li role="presentation" class="dropdown-header">Header actions</li>
<li role="menuitem" tabindex="-1">
<a href="#">Action</a>
</li>
<li role="menuitem" tabindex="-1">
<a href="#">Another action</a>
</li>
<li role="menuitem" tabindex="-1">
<a href="#">Something else here</a>
</li>
</ul>
</div>
</div>
Similarly, create split button dropdowns, only with a separate button.
<?php
$splitbtn = new Barebone\Bootstrap\SplitButton('Dropdown');
$splitbtn->addHeader('Header actions');
$splitbtn->addItem('Action', '#');
$splitbtn->addItem('Another action', '#');
$splitbtn->addItem('Something else here', '#');
echo $splitbtn;
<div class="btn-group">
<button class="btn-danger btn btn-lg" id="ddbtn6aa117905b23e" type="button">Dropdown</button>
<button class="btn-danger btn dropdown-toggle btn-lg" data-toggle="dropdown">
<span class="caret"></span>
<span class="sr-only"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="ddbtn6aa117905b23e">
<li role="presentation" class="dropdown-header">Header actions</li>
<li role="menuitem" tabindex="-1">
<a href="#">Action</a>
</li>
<li role="menuitem" tabindex="-1">
<a href="#">Another action</a>
</li>
<li role="menuitem" tabindex="-1">
<a href="#">Something else here</a>
</li>
</ul>
</div>
Trigger dropdown menus above elements by adding .dropup to the parent.
<?php
$splitbtn = new Barebone\Bootstrap\SplitButton('Drop Up');
$splitbtn->dropup();
$splitbtn->addHeader('Header actions');
$splitbtn->addItem('Action', '#');
$splitbtn->addItem('Another action', '#');
$splitbtn->addItem('Something else here', '#');
echo $splitbtn;
<div class="btn-group dropup">
<button class="btn-default btn" id="ddbtn6aa117905b2a6" type="button">Drop Up</button>
<button class="btn-default btn dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
<span class="sr-only"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="ddbtn6aa117905b2a6">
<li role="presentation" class="dropdown-header">Header actions</li>
<li role="menuitem" tabindex="-1">
<a href="#">Action</a>
</li>
<li role="menuitem" tabindex="-1">
<a href="#">Another action</a>
</li>
<li role="menuitem" tabindex="-1">
<a href="#">Something else here</a>
</li>
</ul>
</div>