diff --git a/publishable/lang/en/generic.php b/publishable/lang/en/generic.php index 484122f22d..e3b41d1898 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', @@ -22,6 +23,10 @@ 'choose_type' => 'Choose Type', 'click_here' => 'Click Here', 'close' => 'Close', + 'column' => 'Column', + 'column_first' => 'First Column', + 'column_second' => 'Second Column', + 'column_third' => 'Third Column', 'compass' => 'Compass', 'created_at' => 'Created at', 'custom' => 'Custom', diff --git a/publishable/lang/pt/generic.php b/publishable/lang/pt/generic.php index f2f1899c86..e387036499 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', @@ -17,6 +18,10 @@ 'choose_type' => 'Escolha o tipo', 'click_here' => 'Clique aqui', 'close' => 'Fechar', + 'column' => 'Coluna', + 'column_first' => 'Primeira Coluna', + 'column_second' => 'Segunda Coluna', + 'column_third' => 'Terceira Coluna', 'compass' => 'Bússola', 'created_at' => 'Criado em', 'custom' => 'Personalizado', diff --git a/publishable/lang/pt_br/generic.php b/publishable/lang/pt_br/generic.php index fb5d440c2c..b9a81a33d2 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', @@ -22,6 +23,10 @@ 'choose_type' => 'Escolha o tipo', 'click_here' => 'Clique aqui', 'close' => 'Fechar', + 'column' => 'Coluna', + 'column_first' => 'Primeira Coluna', + 'column_seconf' => 'Segunda Coluna', + 'column_third' => 'Terceira Coluna', 'compass' => 'Bússola', 'created_at' => 'Criado em', 'custom' => 'Personalizado', diff --git a/resources/views/bread/browse.blade.php b/resources/views/bread/browse.blade.php index 3498a56443..bb6889a7ca 100644 --- a/resources/views/bread/browse.blade.php +++ b/resources/views/bread/browse.blade.php @@ -185,6 +185,27 @@ @elseif($row->type == 'text_area') @include('voyager::multilingual.input-hidden-bread-browse')
{{ mb_strlen( $data->{$row->field} ) > 200 ? mb_substr($data->{$row->field}, 0, 200) . ' ...' : $data->{$row->field} }}
+ @elseif($row->type == 'two_columns_list') + @php + $currentTwoColumnsList = isset($data->{$row->field}) ? $data->{$row->field} : '{}'; + $currentTwoColumnsList = json_decode($currentTwoColumnsList, true); + @endphp + @if(isset($currentTwoColumnsList) && (count($currentTwoColumnsList))) + + @endif @elseif($row->type == 'file' && !empty($data->{$row->field}) ) @include('voyager::multilingual.input-hidden-bread-browse') @if(json_decode($data->{$row->field}) !== null) diff --git a/resources/views/bread/read.blade.php b/resources/views/bread/read.blade.php index 658f46b401..e8706fcf37 100644 --- a/resources/views/bread/read.blade.php +++ b/resources/views/bread/read.blade.php @@ -126,6 +126,27 @@ {{ __('voyager::generic.download') }} @endif + @elseif($row->type == 'two_columns_list') + @php + $currentTwoColumnsList = isset($dataTypeContent->{$row->field}) ? $dataTypeContent->{$row->field} : '{}'; + $currentTwoColumnsList = json_decode($currentTwoColumnsList, true); + @endphp + @if(isset($currentTwoColumnsList) && (count($currentTwoColumnsList))) + + @endif @else @include('voyager::multilingual.input-hidden-bread-read')

{{ $dataTypeContent->{$row->field} }}

diff --git a/resources/views/formfields/two_columns_list.blade.php b/resources/views/formfields/two_columns_list.blade.php new file mode 100644 index 0000000000..2bf33f7386 --- /dev/null +++ b/resources/views/formfields/two_columns_list.blade.php @@ -0,0 +1,145 @@ +
+@php + $currentTwoColumnsList = isset($dataTypeContent->{$row->field}) ? $dataTypeContent->{$row->field} : '{}'; + $currentTwoColumnsList = json_decode($currentTwoColumnsList, true); +@endphp +
+
+ +
+ + + + + + + + + + @if(isset($currentTwoColumnsList) && (count($currentTwoColumnsList))) + @foreach($currentTwoColumnsList as $value) + + + + + + @endforeach + @else + + + + + + @endif + +
{{ __('voyager::generic.column_first') }}{{ __('voyager::generic.column_second') }}{{ __('voyager::generic.action') }}
{{ $value['0'] }}{{ $value['1'] }} + + + +
+ + + +
+
+ +
+
+ + \ No newline at end of file diff --git a/src/FormFields/TwoColumnsListHandler.php b/src/FormFields/TwoColumnsListHandler.php new file mode 100644 index 0000000000..d2e23ef08b --- /dev/null +++ b/src/FormFields/TwoColumnsListHandler.php @@ -0,0 +1,18 @@ + $row, + 'options' => $options, + 'dataType' => $dataType, + 'dataTypeContent' => $dataTypeContent, + ]); + } +} diff --git a/src/Http/Controllers/ContentTypes/TwoColumnsList.php b/src/Http/Controllers/ContentTypes/TwoColumnsList.php new file mode 100644 index 0000000000..d5b225b795 --- /dev/null +++ b/src/Http/Controllers/ContentTypes/TwoColumnsList.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..1a8fb0f4d0 100644 --- a/src/Http/Controllers/Controller.php +++ b/src/Http/Controllers/Controller.php @@ -21,6 +21,7 @@ use TCG\Voyager\Http\Controllers\ContentTypes\SelectMultiple; use TCG\Voyager\Http\Controllers\ContentTypes\Text; use TCG\Voyager\Http\Controllers\ContentTypes\Timestamp; +use TCG\Voyager\Http\Controllers\ContentTypes\TwoColumnsList; use TCG\Voyager\Traits\AlertsMessages; use Validator; @@ -284,6 +285,9 @@ public function getContentBasedOnType(Request $request, $slug, $row, $options = /********** TIMESTAMP TYPE **********/ case 'timestamp': return (new Timestamp($request, $slug, $row, $options))->handle(); + /********** TWO COLUMNS LIST TYPE **********/ + case 'two_columns_list': + return (new TwoColumnsList($request, $slug, $row, $options))->handle(); /********** COORDINATES TYPE **********/ case 'coordinates': return (new Coordinates($request, $slug, $row, $options))->handle(); diff --git a/src/VoyagerServiceProvider.php b/src/VoyagerServiceProvider.php index 053556c1ad..d0c7a49d00 100644 --- a/src/VoyagerServiceProvider.php +++ b/src/VoyagerServiceProvider.php @@ -332,6 +332,7 @@ protected function registerFormFields() 'text_area', 'time', 'timestamp', + 'two_columns_list', 'hidden', 'coordinates', ];