Skip to content

Campos de Componentes – Referencia de API

Namespace: Alxarafe\Component\Fields

Componentes de campo para generación programática de formularios. Todos extienden AbstractField.

AbstractField (abstract)

Clase base para todos los componentes de campo de formulario. Proporciona serialización JSON, renderizado Blade, botones de acción y visibilidad dependiente de módulo.

Constructor

php
public function __construct(string $field, string $label, array $options = [])

Opciones Comunes

OpciónTipoDescripción
requiredboolCampo obligatorio
readonlyboolSolo lectura
colstringClase de columna Bootstrap (defecto: 'col-12')
maxlengthintLongitud máxima (auto-enriquecida desde esquema BD)
modulestringMódulo requerido para visibilidad

Métodos Clave

MétodoFirmaDescripción
getType()abstract getType(): stringTipo del campo
isVisible()isVisible(): boolVerifica visibilidad por módulo
addAction()addAction(string $icon, string $onclick, ...): selfAñade botón de acción
render()render(array $extraData = []): stringRenderiza a HTML vía Blade

Tipos de Campo

TipoClaseUso
TextoTextnew Text('name', 'Nombre')
Área de textoTextareanew Textarea('desc', 'Descripción')
EnteroIntegernew Integer('qty', 'Cantidad', ['min' => 0])
DecimalDecimalnew Decimal('price', 'Precio', ['step' => '0.01'])
BooleanoBooleannew Boolean('active', 'Activo')
FechaDatenew Date('birth', 'Nacimiento')
Fecha y HoraDateTimenew DateTime('created', 'Creado')
HoraTimenew Time('start', 'Inicio')
SelectorSelectnew Select('status', 'Estado', ['options' => ...])
Selector mejoradoSelect2new Select2('cat', 'Categoría', ['ajax_url' => ...])
Lista de relaciónRelationListnew RelationList('orders', 'Pedidos')
OcultoHiddennew Hidden('token', 'Token')
Texto estáticoStaticTextnew StaticText('info', 'Info')
IconoIconnew Icon('icon', 'Icono')
ImagenImagenew Image('avatar', 'Avatar')