Vinculos
Un vinculo es una accion predefinida que permite asociar la activacion de un boton con la carga de un nuevo item, ya sea en la pantalla actual, en un frame distinto o en un popup. Para definir un evento como vinculo es necesario entrar en las propiedades extendidas del mismo y establecer el campo llamado "Accion predefinida" en el valor "Vinculo".
La api disponible para modificar vinculos se describe a continuacion:
API de la clase vinculo
- set_item( proyecto,item )
- get_item()
- get_proyecto()
- set_parametros( $parametros )
- agregar_parametro(clave,valor)
- get_parametros()
- set_opciones($datos)
- get_opciones()
- agregar_opcion(clave,valor)
- activar_popup()
- desactivar_popup()
- estado_popup()
- set_popup_parametros($parametros)
- get_popup_parametros()
- set_target($id)
- get_target()
Extension en Javascript
Existen dos casos en los que puede ser necesario modificar vinculos en el cliente: algun valor dinamico de la pantalla desea informarse al item subsiguiente, o la ejecucion de la vinculacion desea cancelarse. Para resolver estos casos es necesario extender la clase javascript del objeto en cuestion y agregar el metodo modificar_vinculo__[id_evento]( id_vinculo ). En este caso, el parametro de la funcion no es un objeto de tipo vinculo sino un ID que referencia una posicion en un objeto denominado vinculador, disponible en el entorno de ejecucion de JS. Con ese ID y referenciando a esta clase es posible manipular el vinculo.
Ejemplo: En este caso se desea invocar un item con el valor que cargo el usuario en el campo dia.
function extender_objeto_js()
{
echo "{$this->objeto_js}.modificar_vinculo__popup = function(id_vinculo){
var parametros = { dia: this.ef('dia').valor() };
vinculador.agregar_parametros(id_vinculo, parametros);
}";
}
API de la clase vinculador
- agregar_parametros()
- desactivar_vinculo()
- activar_vinculo()