@@ -308,17 +308,18 @@ protected function _getColumnClass($what) {
308
308
*/
309
309
protected function _wrapInputGroup ($ addonOrButtons , $ type ) {
310
310
if ($ addonOrButtons ) {
311
- if (is_string ($ addonOrButtons )) {
311
+ if (is_array ($ addonOrButtons )) {
312
+ $ addonOrButtons = implode ('' , $ addonOrButtons );
313
+ } else {
312
314
$ addonOrButtons = $ this ->_makeIcon ($ addonOrButtons );
313
- if (!Matching::findTagOrAttribute (
314
- 'button ' , ['type ' => 'submit ' ], $ addonOrButtons )) {
315
- $ addonOrButtons = $ this ->formatTemplate ('inputGroupText ' , [
316
- 'content ' => $ addonOrButtons
317
- ]);
318
- }
319
315
}
320
- else {
321
- $ addonOrButtons = implode ('' , $ addonOrButtons );
316
+
317
+ $ isButton = strpos ($ addonOrButtons , '<button ' ) === 0 ;
318
+ $ isDropdown = strpos ($ addonOrButtons , 'data-toggle="dropdown" ' );
319
+ if (!$ isButton && !$ isDropdown ) {
320
+ $ addonOrButtons = $ this ->formatTemplate ('inputGroupText ' , [
321
+ 'content ' => $ addonOrButtons
322
+ ]);
322
323
}
323
324
324
325
$ addonOrButtons = $ this ->formatTemplate ('inputGroupAddons ' , [
@@ -713,7 +714,10 @@ public function dropdownButton($title, array $menu = [], array $options = []) {
713
714
714
715
$ options = $ this ->addClass ($ options , 'dropdown-toggle ' );
715
716
716
- return $ this ->button ($ title , $ options ) . $ this ->Html ->dropdown ($ menu , $ ulOptions );
717
+ return $ this ->buttonGroup ([
718
+ $ this ->button ($ title , $ options ),
719
+ $ this ->Html ->dropdown ($ menu , $ ulOptions )
720
+ ], $ bGroupOptions );
717
721
}
718
722
719
723
/**
0 commit comments