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')