/** * Generates a button toolbar. * @param array $groups the button group configurations. * @param array $htmlOptions additional HTML options. * @return string the generated button toolbar. */ public static function buttonToolbar(array $groups, $htmlOptions = array()) { if (!empty($groups)) { self::addCssClass('btn-toolbar', $htmlOptions); $parentOptions = array('color' => BsArray::popValue('color', $htmlOptions), 'size' => BsArray::popValue('size', $htmlOptions), 'disabled' => BsArray::popValue('disabled', $htmlOptions)); $output = self::openTag('div', $htmlOptions); foreach ($groups as $groupOptions) { if (isset($groupOptions['visible']) && $groupOptions['visible'] === false) { continue; } $items = BsArray::popValue('items', $groupOptions, array()); if (empty($items)) { continue; } // todo: consider removing the support for htmlOptions. $options = BsArray::popValue('htmlOptions', $groupOptions, array()); if (!empty($options)) { $groupOptions = BsArray::merge($options, $groupOptions); } $groupOptions = BsArray::copyValues(array('color', 'size', 'disabled'), $parentOptions, $groupOptions); $output .= self::buttonGroup($items, $groupOptions); } $output .= '</div>'; return $output; } return ''; }