public static function select($templateData, $field)
{
$textField = self::generateLabel($field);
$textField .= "\n\t{!! Form::select('\$FIELD_NAME\$', \$INPUT_ARR\$, null, ['class' => 'form-control']) !!}";
$textField = str_replace('$FIELD_NAME$', $field['fieldName'], $textField);
if (count($field['typeOptions']) > 0) {
$arr = explode(',', $field['typeOptions']);
$inputArr = '[';
foreach ($arr as $item) {
$inputArr .= " '{$item}' => '{$item}',";
}
$inputArr = substr($inputArr, 0, strlen($inputArr) - 1);
$inputArr .= ' ]';
$textField = str_replace('$INPUT_ARR$', $inputArr, $textField);
} else {
$textField = str_replace('$INPUT_ARR$', '[]', $textField);
}
$templateData = str_replace('$FIELD_INPUT$', $textField, $templateData);
$templateData = self::replaceFieldVars($templateData, $field);
return $templateData;
}
private function generateFields() { $fieldTemplate = $this->commandData->templatesHelper->getTemplate("field.blade", $this->viewsPath); $fieldsStr = ""; foreach ($this->commandData->inputFields as $field) { if (!in_array($field['fieldName'], ['id', 'created_at', 'updated_at'])) { switch ($field['type']) { case 'text': $fieldsStr .= FormFieldsGenerator::text($fieldTemplate, $field) . "\n\n"; break; case 'textarea': $fieldsStr .= FormFieldsGenerator::textarea($fieldTemplate, $field) . "\n\n"; break; case 'password': $fieldsStr .= FormFieldsGenerator::password($fieldTemplate, $field) . "\n\n"; break; case 'email': $fieldsStr .= FormFieldsGenerator::email($fieldTemplate, $field) . "\n\n"; break; case 'file': $fieldsStr .= FormFieldsGenerator::file($fieldTemplate, $field) . "\n\n"; break; case 'checkbox': $fieldsStr .= FormFieldsGenerator::checkbox($fieldTemplate, $field) . "\n\n"; break; case 'radio': $fieldsStr .= FormFieldsGenerator::radio($fieldTemplate, $field) . "\n\n"; break; case 'number': $fieldsStr .= FormFieldsGenerator::number($fieldTemplate, $field) . "\n\n"; break; case 'date': $fieldsStr .= FormFieldsGenerator::date($fieldTemplate, $field) . "\n\n"; break; case 'select': $fieldsStr .= FormFieldsGenerator::select($fieldTemplate, $field) . "\n\n"; break; } } } $templateData = $this->commandData->templatesHelper->getTemplate("fields.blade", $this->viewsPath); $templateData = str_replace('$FIELDS$', $fieldsStr, $templateData); $fileName = "fields.blade.php"; $path = $this->path . $fileName; $this->commandData->fileHelper->writeFile($path, $templateData); $this->commandData->commandObj->info("field.blade.php created"); }