Final Class Yiisoft\Yii\Widgets\Helper\Normalizer
| Inheritance | Yiisoft\Yii\Widgets\Helper\Normalizer |
|---|
Public Methods
| Method | Description | Defined By |
|---|---|---|
| dropdown() | Normalize the given array of items for the dropdown. | Yiisoft\Yii\Widgets\Helper\Normalizer |
| menu() | Normalize the given array of items for the menu. | Yiisoft\Yii\Widgets\Helper\Normalizer |
| renderLabel() | Yiisoft\Yii\Widgets\Helper\Normalizer |
Method Details
Normalize the given array of items for the dropdown.
| public static array dropdown ( array $items ) | ||
| $items | array | |
public static function dropdown(array $items): array
{
/**
* @psalm-var array[] $items
* @psalm-suppress RedundantConditionGivenDocblockType
*/
foreach ($items as $i => $child) {
if (is_array($child)) {
$items[$i]['label'] = self::renderLabel(
self::label($child),
self::icon($child),
self::iconAttributes($child),
self::iconClass($child),
self::iconContainerAttributes($child),
);
$items[$i]['active'] = self::active($child, '', '', false);
$items[$i]['disabled'] = self::disabled($child);
$items[$i]['enclose'] = self::enclose($child);
$items[$i]['headerAttributes'] = self::headerAttributes($child);
$items[$i]['itemContainerAttributes'] = self::itemContainerAttributes($child);
$items[$i]['link'] = self::link($child, '/');
$items[$i]['linkAttributes'] = self::linkAttributes($child);
$items[$i]['toggleAttributes'] = self::toggleAttributes($child);
$items[$i]['visible'] = self::visible($child);
if (isset($child['items']) && is_array($child['items'])) {
$items[$i]['items'] = self::dropdown($child['items']);
} else {
$items[$i]['items'] = [];
}
}
}
return $items;
}
| public static string renderLabel ( string $label, string $icon, array $iconAttributes, string $iconClass, array $iconContainerAttributes ) | ||
| $label | string | |
| $icon | string | |
| $iconAttributes | array | |
| $iconClass | string | |
| $iconContainerAttributes | array | |
public static function renderLabel(
string $label,
string $icon,
array $iconAttributes,
string $iconClass,
array $iconContainerAttributes
): string {
$html = '';
if ($iconClass !== '') {
Html::addCssClass($iconAttributes, $iconClass);
}
if ($icon !== '' || $iconAttributes !== [] || $iconClass !== '') {
$i = I::tag()->attributes($iconAttributes)->content($icon);
$html = Span::tag()->attributes($iconContainerAttributes)->content($i)->encode(false)->render();
}
if ($label !== '') {
$html .= $label;
}
return $html;
}
Signup or Login in order to comment.