diff --git a/publishable/lang/en/generic.php b/publishable/lang/en/generic.php index 484122f22d..5d2ffccbbc 100644 --- a/publishable/lang/en/generic.php +++ b/publishable/lang/en/generic.php @@ -5,6 +5,7 @@ 'action' => 'Action', 'actions' => 'Actions', 'add' => 'Add', + 'add_element' => 'Add Element', 'add_folder' => 'Add Folder', 'add_new' => 'Add New', 'all_done' => 'All done', @@ -37,6 +38,7 @@ 'download' => 'Download', 'drag_drop_info' => 'Drag and drop the Items below to re-arrange them.', 'edit' => 'Edit', + 'element' => 'Element', 'email' => 'E-mail', 'error_deleting' => 'Sorry it appears there was a problem deleting this', 'error_restoring' => 'Sorry it appears there was a problem restoring this', diff --git a/publishable/lang/pt/generic.php b/publishable/lang/pt/generic.php index f2f1899c86..f0b2cef564 100644 --- a/publishable/lang/pt/generic.php +++ b/publishable/lang/pt/generic.php @@ -5,6 +5,7 @@ 'action' => 'Ação', 'actions' => 'Ações', 'add' => 'Adicionar', + 'add_element' => 'Adicionar Elemento', 'add_folder' => 'Adicionar Pasta', 'add_new' => 'Adicionar', 'all_done' => 'Concluído', @@ -30,6 +31,7 @@ 'deselect_all' => 'Desmarcar todos', 'download' => 'Descarregar', 'edit' => 'Editar', + 'element' => 'Elemento', 'email' => 'E-mail', 'error_deleting' => 'Oops, ocorreu um problema ao remover', 'exception' => 'Exceção', diff --git a/publishable/lang/pt_br/generic.php b/publishable/lang/pt_br/generic.php index fb5d440c2c..ef53e99d5b 100644 --- a/publishable/lang/pt_br/generic.php +++ b/publishable/lang/pt_br/generic.php @@ -5,6 +5,7 @@ 'action' => 'Ação', 'actions' => 'Ações', 'add' => 'Adicionar', + 'add_element' => 'Adicionar Elemento', 'add_folder' => 'Adicionar Pasta', 'add_new' => 'Adicionar', 'all_done' => 'Concluído', @@ -37,6 +38,7 @@ 'download' => 'Baixar', 'drag_drop_info' => 'Arraste e solte os itens abaixo para reorganizá-los.', 'edit' => 'Editar', + 'element' => 'Elemento', 'email' => 'E-mail', 'error_deleting' => 'Oops, ocorreu um problema ao remover', 'error_restoring' => 'Oops, ocorreu um erro ao restaurar', diff --git a/resources/views/bread/browse.blade.php b/resources/views/bread/browse.blade.php index 3498a56443..82b311eff1 100644 --- a/resources/views/bread/browse.blade.php +++ b/resources/views/bread/browse.blade.php @@ -161,6 +161,18 @@ {!! $row->details->options->{$data->{$row->field}} ?? '' !!} + @elseif($row->type == 'simple_list') + @php + $currentSimpleList = isset($data->{$row->field}) ? $data->{$row->field} : '{}'; + $currentSimpleList = json_decode($currentSimpleList, true); + @endphp + @if(isset($currentSimpleList) && (count($currentSimpleList))) + + @endif @elseif($row->type == 'date' || $row->type == 'timestamp') @if ( property_exists($row->details, 'format') && !is_null($data->{$row->field}) ) {{ \Carbon\Carbon::parse($data->{$row->field})->formatLocalized($row->details->format) }} diff --git a/resources/views/bread/read.blade.php b/resources/views/bread/read.blade.php index 658f46b401..7b2bb9aaeb 100644 --- a/resources/views/bread/read.blade.php +++ b/resources/views/bread/read.blade.php @@ -90,6 +90,18 @@ {{ __('voyager::generic.none') }} @endif @endif + @elseif($row->type == 'simple_list') + @php + $currentSimpleList = isset($dataTypeContent->{$row->field}) ? $dataTypeContent->{$row->field} : '{}'; + $currentSimpleList = json_decode($currentSimpleList, true); + @endphp + @if(isset($currentSimpleList) && (count($currentSimpleList))) + + @endif @elseif($row->type == 'date' || $row->type == 'timestamp') @if ( property_exists($row->details, 'format') && !is_null($dataTypeContent->{$row->field}) ) {{ \Carbon\Carbon::parse($dataTypeContent->{$row->field})->formatLocalized($row->details->format) }} diff --git a/resources/views/formfields/simple_list.blade.php b/resources/views/formfields/simple_list.blade.php new file mode 100644 index 0000000000..6143711c78 --- /dev/null +++ b/resources/views/formfields/simple_list.blade.php @@ -0,0 +1,138 @@ +
+@php + $currentSimpleList = isset($dataTypeContent->{$row->field}) ? $dataTypeContent->{$row->field} : '{}'; + $currentSimpleList = json_decode($currentSimpleList, true); +@endphp +
+
+ +
+ + + + + + + + + @if(isset($currentSimpleList) && (count($currentSimpleList))) + @foreach($currentSimpleList as $value) + + + + + @endforeach + @else + + + + + @endif + +
{{ __('voyager::generic.element') }}{{ __('voyager::generic.action') }}
{{ $value }} + + + +
+ + + +
+
+ +
+
+ + \ No newline at end of file diff --git a/src/FormFields/SimpleListHandler.php b/src/FormFields/SimpleListHandler.php new file mode 100644 index 0000000000..014700036a --- /dev/null +++ b/src/FormFields/SimpleListHandler.php @@ -0,0 +1,18 @@ + $row, + 'options' => $options, + 'dataType' => $dataType, + 'dataTypeContent' => $dataTypeContent, + ]); + } +} diff --git a/src/Http/Controllers/ContentTypes/SimpleList.php b/src/Http/Controllers/ContentTypes/SimpleList.php new file mode 100644 index 0000000000..452d09a49d --- /dev/null +++ b/src/Http/Controllers/ContentTypes/SimpleList.php @@ -0,0 +1,14 @@ +request->input($this->row->field) ?? '{}'; + } +} diff --git a/src/Http/Controllers/Controller.php b/src/Http/Controllers/Controller.php index a37e26c276..1a04222268 100644 --- a/src/Http/Controllers/Controller.php +++ b/src/Http/Controllers/Controller.php @@ -19,6 +19,7 @@ use TCG\Voyager\Http\Controllers\ContentTypes\Password; use TCG\Voyager\Http\Controllers\ContentTypes\Relationship; use TCG\Voyager\Http\Controllers\ContentTypes\SelectMultiple; +use TCG\Voyager\Http\Controllers\ContentTypes\SimpleList; use TCG\Voyager\Http\Controllers\ContentTypes\Text; use TCG\Voyager\Http\Controllers\ContentTypes\Timestamp; use TCG\Voyager\Traits\AlertsMessages; @@ -273,6 +274,9 @@ public function getContentBasedOnType(Request $request, $slug, $row, $options = /********** MULTIPLE IMAGES TYPE **********/ case 'multiple_images': return (new MultipleImage($request, $slug, $row, $options))->handle(); + /********** SIMPLE LIST TYPE **********/ + case 'simple_list': + return (new SimpleList($request, $slug, $row, $options))->handle(); /********** SELECT MULTIPLE TYPE **********/ case 'select_multiple': return (new SelectMultiple($request, $slug, $row, $options))->handle(); diff --git a/src/VoyagerServiceProvider.php b/src/VoyagerServiceProvider.php index 053556c1ad..1796ae9427 100644 --- a/src/VoyagerServiceProvider.php +++ b/src/VoyagerServiceProvider.php @@ -328,6 +328,7 @@ protected function registerFormFields() 'markdown_editor', 'select_dropdown', 'select_multiple', + 'simple_list', 'text', 'text_area', 'time',