Row status (XMLView)

Este tipo permite colorear las filas en base al valor de un campo del registro o de una serie de condiciones. Se declara mediante la inclusión de una relación de uno o varios registros option indicando la configuración que se aplicará para la fila. Los atributos que se pueden informar son: el color (obligatorio) para indicar el color deseado, fieldname para indicar sobre que campo se valida la opción y title como el texto identificativo para el usuario de la opción.

<rows>
    <row type="status">
        <option color="success" fieldname="estado" title="open">ABIERTO</option>
        <option color="warning" fieldname="estado" title="closed">CERRADO</option>
    </row>
</rows>

Colores

Para la selección del color se utilizan los colores para tablas de bootstrap.

  • info: azul
  • success: verde
  • warning: amarillo
  • danger: rojo
  • light: gris claro
  • secondary: negro

Operadores

Podemos usar estos operadores en el valor de la etiqueta option.

  • Si el valor empieza por gt: se aplicará si el valor del campo del modelo es mayor que el valor indicado.
  • Si el valor empieza por gte: se aplicará si el valor del campo del modelo es mayor o igual que el valor indicado.
  • Si el valor empieza por lt: se aplicará si el valor del campo del modelo es menor que el valor indicado.
  • Si el valor empieza por lte: se aplicará si el valor del campo del modelo es menor o igual que el valor indicado.
  • Si el valor empieza por neq: se aplicara si el valor del campo del modelo es distinto que el valor indicado.
  • Si el valor es null: se aplicara si el valor del campo del modelo es nulo.
  • Si el valor es notnull: se aplicara si el valor del campo del modelo no es nulo.
  • En cualquier otro caso se realizará una comprobación de igualdad, es decir que el valor del campo del modelo es igual al valor indicado.

También podemos usar el comodín field:XXX para comprar con el valor de otra columna.

Declaración de las condiciones

Para la declaración de condiciones se puede utilizar alguno de los siguientes métodos:

  • Un único campo: se declara el atributo fieldname dentro de la declaración del row indicando el nombre del campo que contendrá los valores.
  • Varios campos: se declara el atributo fieldname dentro de la declaración del option indicando el nombre del campo que contendrá los valores.
  • Ambos: se declara el atributo fieldname dentro de row y dentro de los option que no usen el campo general indicado dentro de row.

Ejemplo para condiciones con un mismo campo

<rows>
    <row type="status" fieldname="estado">
        <option color="info" title="pending">Pendiente</option>
        <option color="warning" title="partial">Parcial</option>
    </row>
</rows>
  • Pinta la fila de color azul si el campo 'estado' es 'Pendiente'.
  • Pinta la fila de color amarillo si el campo 'estado' es 'Parcial'.

Ejemplo para condiciones con distintos campos y valores

<rows>
    <row type="status">
        <option color="info" fieldname="nostock">1</option>
        <option color="danger" fieldname="bloqueado">1</option>
        <option color="success" fieldname="stockfis">gt:1</option>
        <option color="warning" fieldname="stockfis">lt:1</option>
    </row>
</rows>
  • Pinta la fila de color azul si el campo 'nostock' es 'Verdadero'
  • Pinta la fila de color rojo si el campo 'bloqueado' es 'Verdadero'
  • Pinta la fila de color verde si el campo 'stockfis' es mayor que '0'
  • Pinta la fila de color amarillo si el campo 'stockfis' es menor que '1'

Ejemplo para comparar con otro campo

<rows>
    <row type="status">
        <option color="danger" fieldname="disponible">lt:field:stockmin</option>
    </row>
</rows>
  • Pinta la fila de color rojo si el campo 'disponible' es menor que el valor del campo 'stockmin'

Añadir colores desde el controlador

Desde ListController también podemos añadir colores a los listados.

$this->addColor($viewName, 'nostock', 1, 'info', 'no controla stock');

Desde los EditController también podemos añadir colores a los listados.

$this->view[$viewName]->addColor('nostock', 1, 'info', 'no controla stock');

La función addColor() tiene los siguientes parámetros:

  • $fieldName: Nombre del campo donde hacer la comprobación, igual a fieldname del xml.
  • $value: Valor a comprobar, el fieldName se comprobará con este valor.
  • $color: El color a mostrar en la fila.
  • $title: Será el texto a mostrar en la leyenda de los colores.
Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2025 FacturaScripts
0.48259s

Soporte