Campo Workflow Suggestbox
Esta es una implementación del típico componente AJAX suggest box:
| Atributo | Descripción | Obligatorio |
|---|---|---|
| label | El texto mostrado como etiqueta en la interfaz de usuario. | true |
| name | Identificador único del campo. Dos campos no pueden tener el mismo nombre en la misma definición de tarea. El nombre debe ser único. |
true |
| value | Especifica un valor por defecto para este componente. | false |
| width | El ancho del elemento HTML. En el caso de KCenter, la interfaz debe usar valores de ancho en porcentaje; por ejemplo: - width=“50%” funcionará - width=“100px” se ignorará en la interfaz de KCenter. |
false |
| description | Descripción general. | false |
| filterQuery | Una consulta SQL para filtrar sugerencias. Use {0} como marcador de posición para la entrada del usuario. | * |
| valueQuery | Una consulta SQL para recuperar el valor a mostrar para un identificador dado. Use {0} como marcador de posición para el identificador. | * |
| className | Una clase Java usada para recuperar los valores del suggest box. | * |
| filterMinLen | El número mínimo de caracteres en la entrada necesarios para empezar a filtrar resultados. Por defecto es 3. |
false |
| dialogTitle | El título del diálogo HTML. | true |
| data | Cuando está presente, un identificador que se usa para cargar dinámicamente el valor. | false |
| visible | Este atributo solo tiene sentido cuando se usa junto con un objeto mapeado en el atributo data; el valor visible del objeto mapeado en data se asigna al campo del formulario, provocando que se muestre u oculte (el uso más habitual es ocultarlo). El valor por defecto de visible es true. | false |
| readonly | Cuando es true, el campo no puede modificarse. Por defecto es false. |
false |
-
* Hay dos formas mutuamente excluyentes de obtener los valores del suggest box (una es obligatoria):
-
Elementos hijos:
Basado en filterQuery y valueQuery
Sección titulada «Basado en filterQuery y valueQuery»filterQuery y valueQuery aceptan consultas SQL normales. Use {0} como parámetro que representa la entrada del usuario para filtrar valores.
Cree la tabla COUNTRY:
create table COUNTRY ( CT_ID varchar(2), CT_NAME varchar(32), primary key(CT_ID));
insert into COUNTRY (CT_ID, CT_NAME) values ('es', 'Spain');insert into COUNTRY (CT_ID, CT_NAME) values ('pt', 'Portugal');insert into COUNTRY (CT_ID, CT_NAME) values ('it', 'Italy');Definición del formulario:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.6//EN" "http://www.openkm.com/dtd/workflow-forms-2.6.dtd"><workflow-forms> <workflow-form task="suggestbox test"> <suggestbox label="country" name="country" width="200px" dialogTitle="Choose country" filterMinLen="3" filterQuery="select ct_id, ct_name from country where ct_name like '%{0}%' order by ct_name" valueQuery="select ct_id, ct_name from country where ct_id='{0}'" /> </workflow-form></workflow-forms>Basado en className
Sección titulada «Basado en className»Para obtener una lista desde aplicaciones externas o para otros fines, se puede construir una clase personalizada que recupere los valores de opción desde esos sistemas.
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.6//EN" "http://www.openkm.com/dtd/workflow-forms-2.6.dtd"><workflow-forms> <workflow-form task="suggestbox test"> <suggestbox label="country" name="country" width="200px" dialogTitle="Choose country" filterMinLen="3" className="com.openkm.plugin.form.values.SuggestBoxUserList" /> </workflow-form></workflow-forms>Para más información, lea Creating your own Suggestbox plugin