public static function processFieldInput($fieldInput, $htmlType, $validations, $fieldSettings = [])
{
$fieldInputs = explode(':', $fieldInput);
$fieldName = array_shift($fieldInputs);
$databaseInputs = implode(':', $fieldInputs);
$fieldType = explode(',', $fieldInputs[0])[0];
$htmlTypeInputs = explode(':', $htmlType);
$htmlType = array_shift($htmlTypeInputs);
if (count($htmlTypeInputs) > 0) {
$htmlTypeInputs = array_shift($htmlTypeInputs);
}
return ['fieldInput' => $fieldInput, 'fieldTitle' => Str::title(str_replace('_', ' ', $fieldName)), 'fieldType' => $fieldType, 'fieldName' => $fieldName, 'databaseInputs' => $databaseInputs, 'htmlType' => $htmlType, 'htmlTypeInputs' => $htmlTypeInputs, 'validations' => $validations, 'searchable' => isset($fieldSettings['searchable']) ? $fieldSettings['searchable'] : false, 'fillable' => isset($fieldSettings['fillable']) ? $fieldSettings['fillable'] : true, 'primary' => isset($fieldSettings['primary']) ? $fieldSettings['primary'] : false, 'inForm' => isset($fieldSettings['inForm']) ? $fieldSettings['inForm'] : true, 'inIndex' => isset($fieldSettings['inIndex']) ? $fieldSettings['inIndex'] : true];
}