@php /** * @var string $mode create|edit|filter * @var iterable $permissoesDisponiveis * @var array>|null $selectedPermissions * @var \Illuminate\Support\Collection|null $permissoesUsuario */ $mode = $mode ?? 'create'; $selectedPermissions = $selectedPermissions ?? []; $permissoesUsuario = $permissoesUsuario ?? collect(); $searchInputId = $searchInputId ?? 'permissions-search'; $wrapperId = $wrapperId ?? 'checkboxCategoriasNoticias'; $selectAllTarget = $selectAllTarget ?? $wrapperId; $permissoesOrdenadas = collect($permissoesDisponiveis)->sortBy('value'); @endphp
@foreach($permissoesOrdenadas as $status) @php $permissaoUsuario = $permissoesUsuario->firstWhere('permissao', $status->name); $selectedRow = $selectedPermissions[$status->name] ?? null; $isMainChecked = match ($mode) { 'edit' => (bool) $permissaoUsuario, 'filter' => $selectedRow !== null, default => (bool) old("permission.{$status->name}", false), }; $actionChecked = function (string $action) use ($mode, $permissaoUsuario, $selectedRow, $status) { if ($mode === 'edit') { return $permissaoUsuario && $permissaoUsuario->{$action}; } if ($mode === 'filter' && $selectedRow !== null) { return !empty($selectedRow[$action]); } return (bool) old("{$action}.{$status->name}", false); }; @endphp @foreach(['visualizar', 'adicionar', 'editar', 'excluir'] as $action) @endforeach @endforeach
{{ __('Permissão') }} {{ __('Visualizar') }} {{ __('Adicionar') }} {{ __('Editar') }} {{ __('Excluir') }}
@if($mode === 'edit') @else @endif