diff --git a/Http/Controllers/CustomersGroupsController.php b/Http/Controllers/CustomersGroupsController.php index 1404512..3f1c8aa 100644 --- a/Http/Controllers/CustomersGroupsController.php +++ b/Http/Controllers/CustomersGroupsController.php @@ -53,6 +53,12 @@ class CustomersGroupsController extends Controller { ->pluck('emails') ->flatten() ->sortBy('email'); + // Group Emails by their first character. + // This is used to display them in collapsible groups. + $emails = $emails->mapToGroups(function ($email) { + $first_character = substr($email->email, $offset = 0, $length = 1); + return [ $first_character => $email ]; + }); return view('mmfcustomersgroups::groups/edit', [ 'mailboxes' => $mailboxes, diff --git a/Resources/views/groups/partials/edit_form.blade.php b/Resources/views/groups/partials/edit_form.blade.php index 76cfd69..08284f0 100644 --- a/Resources/views/groups/partials/edit_form.blade.php +++ b/Resources/views/groups/partials/edit_form.blade.php @@ -84,27 +84,36 @@
- @foreach ( $emails as $email ) -
-
- -
-
+ @foreach ( $emails as $first_character => $emails_group ) +
+ + {{ $first_character }}… + + @foreach ( $emails_group as $email ) +
+
+ +
+
+ @endforeach +
@endforeach
{{-- @include('partials/field_error', ['field'=>'emails.*']) --}}