Skip to content
GitHub

ViewIslands Reference

Los ViewIslands son componentes SolidJS interactivos que manejan la lógica de visualización y edición de datos. Cada ViewIsland se conecta con un endpoint del Orchestrator API.

Arquitectura: ADR-004: Frontend Framework


Todos los ViewIslands siguen un patrón común:

EmployeesViewIsland.tsx
import { createSignal, createResource, For } from 'solid-js';
import { fetchData, postData } from '@/lib/api';
interface Employee {
id: string;
rut: string;
name: string;
// ...
}
export default function EmployeesViewIsland() {
const [employees] = createResource(() => fetchData('/api/query/employees'));
const [selected, setSelected] = createSignal<Employee | null>(null);
return (
<div class="view-container">
<header class="view-header">
<h2>Empleados</h2>
<button onClick={handleCreate}>Nuevo</button>
</header>
<table class="data-table">
<For each={employees()}>
{(emp) => <EmployeeRow data={emp} onSelect={setSelected} />}
</For>
</table>
{selected() && <EmployeeModal data={selected()} />}
</div>
);
}

Archivo: src/components/islands/payroll/EmployeesViewIsland.tsx

Propósito: CRUD de empleados del tenant.

EndpointMétodoDescripción
/api/query/employeesGETListar empleados
/api/command/employeesPOSTCrear empleado
/api/command/employees/:idPUTActualizar empleado
/api/command/employees/:idDELETEEliminar empleado

Archivo: src/components/islands/payroll/ContractsViewIsland.tsx

Propósito: Gestión de contratos laborales.

EndpointMétodoDescripción
/api/query/contractsGETListar contratos
/api/command/contractsPOSTCrear contrato
/api/command/contracts/:idPUTRenovar/modificar

Archivo: src/components/islands/payroll/PayrollViewIsland.tsx

Propósito: Visualización y cálculo de nóminas mensuales.

EndpointMétodoDescripción
/api/query/payrollGETListar nóminas
/api/command/payroll/calculatePOSTCalcular nómina
/api/command/payroll/closePOSTCerrar período

Archivo: src/components/islands/payroll/APVContractsViewIsland.tsx

Propósito: Gestión de contratos de Ahorro Previsional Voluntario.

EndpointMétodoDescripción
/api/query/apv-contractsGETListar contratos APV
/api/command/apv-contractsPOSTCrear contrato APV

Archivo: src/components/islands/payroll/AttendanceViewIsland.tsx

Propósito: Control de asistencia y marcaciones.

EndpointMétodoDescripción
/api/query/attendanceGETListar registros
/api/command/attendancePOSTRegistrar marcación

Archivo: src/components/islands/payroll/CargosViewIsland.tsx

Propósito: Gestión de cargos y posiciones laborales.

EndpointMétodoDescripción
/api/query/cargosGETListar cargos
/api/command/cargosPOSTCrear cargo

Archivo: src/components/islands/payroll/DepartmentsViewIsland.tsx

Propósito: Gestión de departamentos/áreas.

EndpointMétodoDescripción
/api/query/departmentsGETListar departamentos
/api/command/departmentsPOSTCrear departamento

Archivo: src/components/islands/payroll/FiniquitosViewIsland.tsx

Propósito: Cálculo y gestión de finiquitos laborales.

EndpointMétodoDescripción
/api/query/finiquitosGETListar finiquitos
/api/command/finiquitos/calculatePOSTCalcular finiquito
/api/command/finiquitos/generatePOSTGenerar documento

Archivo: src/components/islands/payroll/HonorariosViewIsland.tsx

Propósito: Gestión de pagos por honorarios (boletas).

EndpointMétodoDescripción
/api/query/honorariosGETListar honorarios
/api/command/honorariosPOSTRegistrar pago

Archivo: src/components/islands/payroll/IsapreContractsViewIsland.tsx

Propósito: Gestión de contratos con ISAPREs.

EndpointMétodoDescripción
/api/query/isapre-contractsGETListar contratos
/api/command/isapre-contractsPOSTCrear contrato

Archivo: src/components/islands/payroll/PrevisionsViewIsland.tsx

Propósito: Cálculo y visualización de previsiones (AFP, salud).

EndpointMétodoDescripción
/api/query/previsionsGETListar previsiones
/api/command/previsions/generatePOSTGenerar previsiones

Archivo: src/components/islands/payroll/VacationsViewIsland.tsx

Propósito: Gestión de vacaciones y feriados.

EndpointMétodoDescripción
/api/query/vacationsGETListar vacaciones
/api/command/vacationsPOSTSolicitar vacaciones

Archivo: src/components/islands/payroll/WorkingDayViewIsland.tsx

Propósito: Configuración de jornadas laborales.

EndpointMétodoDescripción
/api/query/working-daysGETListar jornadas
/api/command/working-daysPOSTCrear jornada

Archivo: src/components/islands/payroll/PermissionsViewIsland.tsx

Propósito: Gestión de permisos laborales (licencias, permisos).

EndpointMétodoDescripción
/api/query/permissionsGETListar permisos
/api/command/permissionsPOSTRegistrar permiso

Archivo: src/components/islands/declaraciones/DeclaracionesViewIsland.tsx

Propósito: Gestión de declaraciones juradas (F29, DJ1879, etc.).

EndpointMétodoDescripción
/api/query/declaracionesGETListar declaraciones
/api/query/declaraciones/f29GETObtener F29
/api/command/declaraciones/generatePOSTGenerar declaración

Archivo: src/components/islands/admin/TenantsViewIsland.tsx

Propósito: Gestión de tenants (superadmin only).

EndpointMétodoDescripción
/api/admin/tenantsGETListar tenants
/api/admin/tenantsPOSTCrear tenant
/api/admin/tenants/:id/activatePOSTActivar/desactivar

Archivo: src/components/islands/admin/CompanyViewIsland.tsx

Propósito: Configuración de empresa del tenant actual.

EndpointMétodoDescripción
/api/query/companyGETObtener datos empresa
/api/command/companyPUTActualizar datos

Archivo: src/components/islands/admin/ChartOfAccountsViewIsland.tsx

Propósito: Plan de cuentas contable.

EndpointMétodoDescripción
/api/query/chart-of-accountsGETListar cuentas
/api/command/chart-of-accountsPOSTCrear cuenta

Archivo: src/components/islands/admin/EtlViewIsland.tsx

Propósito: Monitoreo y ejecución de procesos ETL.

EndpointMétodoDescripción
/api/query/etl/statusGETEstado de ETL
/api/command/etl/runPOSTEjecutar ETL manual

Archivo: src/components/islands/admin/SessionsViewIsland.tsx

Propósito: Ver sesiones activas de usuarios.

EndpointMétodoDescripción
/api/admin/sessionsGETListar sesiones
/api/admin/sessions/:id/revokePOSTRevocar sesión

Archivo: src/components/islands/admin/SystemConfigViewIsland.tsx

Propósito: Configuración del sistema.

EndpointMétodoDescripción
/api/query/system-configGETObtener config
/api/command/system-configPUTActualizar config

Archivo: src/components/islands/admin/MonitoringViewIsland.tsx

Propósito: Dashboard de métricas del sistema.

EndpointMétodoDescripción
/api/admin/metricsGETObtener métricas
/api/admin/healthGETHealth check

Archivo: src/components/islands/admin/LegalRepresentativesViewIsland.tsx

Propósito: Gestión de representantes legales.

EndpointMétodoDescripción
/api/query/legal-representativesGETListar reps
/api/command/legal-representativesPOSTCrear rep

Archivo: src/components/islands/admin/CapitalViewIsland.tsx

Propósito: Gestión de capital social.

EndpointMétodoDescripción
/api/query/capitalGETObtener capital
/api/command/capitalPUTActualizar capital

Archivo: src/components/islands/accounting/OperationsViewIsland.tsx

Propósito: Operaciones contables (compras, ventas).

EndpointMétodoDescripción
/api/query/operationsGETListar operaciones
/api/command/operationsPOSTRegistrar operación

Archivo: src/components/islands/registry/RegistryViewIsland.tsx

Propósito: Registro de eventos del sistema.

EndpointMétodoDescripción
/api/query/registryGETListar eventos

Archivo: src/components/islands/DocumentationWidget.tsx

Propósito: Widget de enlaces rápidos a documentación.


Archivo: src/components/islands/SystemStatusWidget.tsx

Propósito: Widget de estado del sistema (health, versión).

EndpointMétodoDescripción
/api/healthGETHealth check


FechaVersionCambios
2026-01-181.0Documentación inicial - 26 ViewIslands