Ir al contenido

Workflow Suggestbox field

Esta es una implementación del componente típico de cuadro de sugerencias (suggest box) mediante AJAX:

Atributo Descripción Obligatorio
label El texto se muestra como una etiqueta en la interfaz de usuario. true
name Identificador único del campo.
Dos campos no pueden tener el mismo nombre dentro de 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 basados en %; por ejemplo:
- width=“50%” funcionará
- width=“100px” será ignorado en la interfaz de KCenter.
false
description Descripción general. false
filterQuery Una consulta Hibernate para filtrar los datos. Use {0} para colocar la entrada del usuario. *
valueQuery Una consulta Hibernate para obtener el valor de un identificador. Use {0} para colocar el identificador. *
className Se usa una clase para obtener las opciones seleccionadas. *
filterMinLen El número mínimo de caracteres en la entrada necesario para comenzar a filtrar resultados. true
dialogTitle El título del diálogo HTML. true
data Cuando está presente, es un identificador usado para cargar datos. false
readonly El campo no puede modificarse en la interfaz de usuario. Por defecto, el valor es “false”. false

Elementos hijos:

* Hay tres opciones para obtener los valores del suggest box (es obligatorio usar una de ellas):

  • filterQuery + valueQuery
  • className

Basado en filterQuery y valueQuery (sin atributo table)

Sección titulada «Basado en filterQuery y valueQuery (sin atributo table)»

Ahora filterQuery y valueQuery pueden ser consultas SQL normales.

Crear 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 de metadatos:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow-form PUBLIC "-//OpenKM//DTD Workflow Form 1.0//EN"
"https://www.openkm.com/dtd/workflow-form-1.0.dtd">
<workflow-form>
<suggestbox label="country" name="suggestbox"
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>

Para obtener una lista desde aplicaciones externas o para otros propósitos, puede construir su propia clase para recuperar los valores de las opciones desde esos sistemas.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow-form PUBLIC "-//OpenKM//DTD Workflow Form 1.0//EN"
"https://www.openkm.com/dtd/workflow-form-1.0.dtd">
<workflow-form>
<suggestbox label="country" name="suggestbox"
width="200px" dialogTitle="Choose country" filterMinLen="3"
className="com.openkm.plugin.form.values.SuggestBoxUserList" />
</workflow-form>

Para más información, consulte Creating your own Suggestbox plugin