@extends('layouts.admin') @section('title', 'Organismos') @push('styles') @vite(['resources/css/admin.css']) @endpush @section('content')

Listado de Organismos

Nuevo
@php // Función recursiva para renderizar organismos y sus hijos function renderOrganismo($organismo, $allOrganismos, $level = 0, $colorIndex = 0, $parentIds = []) { $children = $allOrganismos->where('parent_id', $organismo->id); $hasChildren = $children->count() > 0; $colorClass = ($colorIndex % 2 == 0) ? 'color-even' : 'color-odd'; $isVisible = $level == 0 ? '' : 'style="display: none;"'; $levelClass = $level > 0 ? "level-{$level}" : ''; $parentIdsStr = implode(',', $parentIds); // Iconos según nivel $icons = [ 0 => '', 1 => '', 2 => '', 3 => '' ]; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // Renderizar hijos recursivamente if ($hasChildren && $level < 3) { foreach ($children as $child) { $newParentIds = array_merge($parentIds, [$organismo->id]); renderOrganismo($child, $allOrganismos, $level + 1, $colorIndex, $newParentIds); } } } // Obtener organismos raíz (sin padre) $rootOrganismos = $organismos->whereNull('parent_id'); @endphp @if($rootOrganismos->count() > 0) @php $colorIndex = 0; foreach ($rootOrganismos as $organismo) { renderOrganismo($organismo, $organismos, 0, $colorIndex); $colorIndex++; } @endphp @else @endif
ID Nombre Descripción Dirección Teléfono Email Acciones
'; if ($hasChildren && $level < 3) { // Máximo 4 niveles (0,1,2,3) echo ''; } else { echo ''; } echo '' . ($level == 0 ? '' . $organismo->id . '' : $organismo->id) . ''; echo ($level > 0 ? $icons[$level] : ''); echo ($level == 0 ? '' . $organismo->nombre . '' : $organismo->nombre); if ($hasChildren) { echo ' ' . $children->count() . ''; } echo '' . $organismo->descripcion . '' . $organismo->direccion . '' . $organismo->telefono . '' . $organismo->email . '
' . csrf_field() . ' ' . method_field('DELETE') . '

No hay organismos registrados.

{{-- Incluir el modal dinámico --}} @include('components.dynamic-modal') @endsection @push('scripts') @endpush