Hola Claudio,
no, para los iconos de utileria no hay API JS… siempre se los penso como algo final, que ya salian configurados desde el server. Igual eso no quiere decir que no se pueda meter garfio.
En primer lugar, al crear el icono utilería en la configuración del formulario en el php agrego el parámetro pero con un valor nulo. Eso es para que el texto de la función onclick sea siempre igual en lo referente al parámetro quedeseo modificar y de ese modo poder reemplazarlo sin complicaciones.
El nombre del parametro es fijo?.. si es asi lo podes agregar directamente en JS con algo asi:
var link_a = document.getElementById('ubi_geo');
link_a.href = vinculador.concatenar_parametros_url(link_a.href , {'punto_geom', valor});
Eso lo podrias poner en el procesar del ef.
La otra es hacerlo de una manera mas rebuscada (osea a lo Satan Claus :p)
#-- pongo el ícono para el link de Ubicación geográfica
$imagen = 'img/ubicacion.png';
$mensaje = "Ver la Ubicación Geográfica";
$id = "'ubi_geo'";
$mi_icono = new mi_icono();
//--Generamos el vinculo a pìco y pala
$vinculo = new toba_vinculol('organigrama', "250000276");
$vinculo->set_celda_memoria('celda_ubi_geo');
//-- Le indicamos al vinculador que tiene que enviar este vinculo al cliente y devolvernos un identificador para su invocacion
$id_vinculo = toba::vinculador()->registrar_vinculo($vinculo);
//-- Le pasamos el id de vinculo a la clase del icono
$mi_icono->set_parametros($imagen,$mensaje,$id,$id_vinculo);
$form->ef('c01ubi_geo_id')->agregar_icono_utileria($mi_icono);
Internamente, la clase del icono lo que tiene que hacer al enviar el “onclick” es poner algo asi (necesitas el id js del form):
onclick='{$this->objeto_js}.invocar_vinculo(id_evento, $id_vinculo);'
Eso te permite definir un metodo tipo callback para modificar los parametros:
{$this->objeto_js}.modificar_vinculo__id_evento = function(id_vinculo)
{
var valor_geom = this.ef('c01ubi_geo_id').get_estado();
vinculador.agregar_parametros(id_vinculo, {'punto_geom': valor_geom});
}
Con eso te metes en el medio de la invocacion y le agregas el parametro solo cuando lo necesitas. Tiene su lado mas corto en Js… pero mas vueltero en PHP… es solo otra forma mas.
Lo bueno es que te las rebuscaste y le encontraste solucion, bien ahi! y ojo con el eval en JS.
Saludos