@php $employeesGrouped = $employeesGrouped ?? collect(); $selectedEmployees = []; // Decode selected employees if available if (!empty($data->who_can_access_employee)) { $selectedEmployees = is_array($data->who_can_access_employee) ? $data->who_can_access_employee : json_decode($data->who_can_access_employee, true); if (!is_array($selectedEmployees)) { $selectedEmployees = explode(',', $data->who_can_access_employee); } } // Normalize to array of strings $selectedEmployees = array_map('strval', $selectedEmployees); // $preselectAll = empty($selectedEmployees); @endphp @forelse($employeesGrouped as $roleName => $roleEmployees) {{-- Role heading, disabled and non-clickable --}} @if($roleEmployees->count()) @foreach($roleEmployees as $emp) @php // Skip employees with empty or whitespace-only names $empName = trim($emp->name ?? ''); if ($empName === '') continue; // Determine if this employee should be preselected // $preselected = $preselectAll || in_array((string)$emp->id, $selectedEmployees); $preselected = in_array((string)$emp->id, $selectedEmployees); @endphp @endforeach @endif @empty @endforelse