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)))
+
+ @foreach($currentTwoColumnsList as $values)
+ -
+ @if(isset($values) && (count($values)))
+
+ @foreach($values as $value)
+ - {{ $value }}
+ @endforeach
+
+
+ @endif
+
+ @endforeach
+
+ @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)))
+
+ @foreach($currentTwoColumnsList as $values)
+ -
+ @if(isset($values) && (count($values)))
+
+ @foreach($values as $value)
+ - {{ $value }}
+ @endforeach
+
+
+ @endif
+
+ @endforeach
+
+ @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
+
+
+
+
+
+
+
+ {{ __('voyager::generic.column_first') }} |
+ {{ __('voyager::generic.column_second') }} |
+ {{ __('voyager::generic.action') }} |
+
+
+
+ @if(isset($currentTwoColumnsList) && (count($currentTwoColumnsList)))
+ @foreach($currentTwoColumnsList as $value)
+
+ {{ $value['0'] }} |
+ {{ $value['1'] }} |
+
+
+
+
+ |
+
+ @endforeach
+ @else
+
+ |
+ |
+
+
+
+
+ |
+
+ @endif
+
+
+
+
+
+
+
+
\ 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',
];