Definición de Extensiones de clases (admin)

Las clases, que son los módulos básicos del modelo de Ingrid 8, se pueden ampliar incluyendo archivos de código Javascript en la página de inicio de la aplicación (index.htm), en el mismo sitio donde se incluye la librería con toda la definición de clases estándar de Ingrid.

Un módulo de definición de clases, se debe llamar ingrid.abc.js siendo abc 3 letras minúsculas correspondientes al código de clase en la aplicación. Cada modulo puede incluir:

- Los Campos requeridos en la clase (no definidos en BD, sino fijados en el código de funcionalidad de la clase).

- Controles específicos, puede incluir las piezas de funcionalidad que se incluyen de forma estándar en los conceptos (persiana de gráficos, de mapa, de listas de relaciones, visores...)

- Eventos que actúen en tiempo real sobre campos de nuestra clase.

- Documentación de ayuda en línea de uso de los controles o descripción de la funcionalidad de la clase:

Por ejemplo, el campo de Frecuencia de las Operaciones, está definido como:

{cod:'profre', abr:'Frecuencias', res:'Programación de frecuencias', tip:'t1', ayuda:'1', fijo:1},

con lo que abre la página de esa clase (ingrid.ope.htm) saltando al marcador con el nombre del campo: PROFRE.

Se puede definir un botón para una persiana como la de medidas de operaciones, que salte a una página y un marcador, como:

contenedor.icono_ayuda("ingrid.ope","medidas");

Los códigos de clases no deben coincidir con ninguna de las estándar de Ingrid, claro. Se puede ver cuáles son en la pestaña que muestra las de la base ingrid-comun: Base > Clases coumunes

 

En el código html de la página de inicio de la aplicación, tiene que contener algo como:

<link href='var/ingra2.min.css' rel='stylesheet' />
<script src='var/ingra2.min.js'></script>
<script src='var/ingrid.min.js'></script>
<script src="http://miSitioWeb/ingrid/ingrid.var.js"></script>

Las 3 primeras líneas ya existen en la página de inicio de la aplicación, y hacen referencia a las librerías generales de la aplicación en los servidores de Ingra. La siguiente, apuntaría a nuestro nuevo módulo con una url absoluta, que incluirá los campos del modelo de datos de esa clase, las funciones que se ejecutarán, eventos...