Compare commits

..

No commits in common. "master" and "0.1.8" have entirely different histories.

2 changed files with 34 additions and 2 deletions

View File

@ -7,16 +7,26 @@ use itguild\forms\inputs\Select;
class SelectBuilder
{
// public static function build(string $name, array $params = [])
// {
// $value = $params['value'] ?? null;
// unset($params['value']);
// $options = $params['options'] ?? [];
// unset($params['options']);
//
// return new Select(name: $name, options: $options, value: $value, paramsArray: $params);
// }
public static function build(string $name, array $params = []): Select
{
$value = $params['value'] ?? null;
unset($params['value']);
if (isset($params['prompt'])) {
$options['prompt'] = $params['prompt'];
$options['prompt'] = $params['prompt'] ?? null;
foreach ($params['options'] as $key => $val) {
$options[$key] = $val;
}
unset($params['prompt']);
} else {
$options = $params['options'] ?? [];
}

View File

@ -11,6 +11,28 @@ trait CreateOption
* @param $value
* @return string
*/
// public function createOption(array $options, $value = null): string
// {
// $optionsString = "";
// if (is_array($value)) {
// foreach ($options as $val => $title) {
// $selected = in_array($title, $value) ? "selected" : "";
// $optionsString .= "<option $selected value='$val'>$title</option>";
// }
// } else {
// foreach ($options as $val => $title) {
// if (is_numeric($value)) {
// $selected = (int)$value === $val ? "selected" : "";
// } else {
// $selected = $value === $val ? "selected" : "";
// }
// $optionsString .= "<option $selected value='$val'>$title</option>";
// }
// }
//
// return $optionsString;
// }
public function createOption(array $options, $value = null): string
{
$optionsString = "";