Campo Select de workflow
| Attribute | Description | Required |
|---|---|---|
| label | El texto se muestra como etiqueta en la interfaz de usuario. | true |
| name | Identificador único de campo. Dos áreas no pueden tener el mismo nombre en la misma definición de tarea. El nombre debe ser único. |
true |
| type | Valor de tipo. Tipos permitidos: - simple (se permite una única selección). - multiple (se permiten varias selecciones). |
true |
| value | Puede especificar 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” se ignorará en la interfaz de KCenter. |
false |
| description | Descripción general. | false |
| optionsQuery | Se usa una consulta de metadatos o una consulta SQL para obtener las opciones del select. | * |
| className | Se usa una clase para obtener las opciones del select. | * |
| data | Cuando está presente, es un identificador usado para cargar datos. | false |
| optionsData | Cuando está presente, es un identificador usado para cargar opciones. | false |
| readonly | El campo select no puede modificarse en la interfaz de usuario. Por defecto, el valor es “false”. | false |
-
* Hay tres opciones para obtener los valores de las opciones:
-
Elementos hijo:
Ejemplo básico de select
Sección titulada «Ejemplo básico de select»- Type es igual a simple.
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.13//EN" "http://www.openkm.com/dtd/workflow-forms-2.13.dtd"><workflow-forms> <workflow-form task="select test"> <select label="select label" name="select" type="simple"> <option label="one" value="001" /> <option label="two" value="002" /> <option label="three" value="003" /> </select> </workflow-form></workflow-forms>Permitir selección múltiple
Sección titulada «Permitir selección múltiple»- Type es igual a multiple.
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.13//EN" "http://www.openkm.com/dtd/workflow-forms-2.13.dtd"><workflow-forms> <workflow-form task="select test"> <select label="select label" name="select" type="multiple" > <option label="one" value="001" /> <option label="two" value="002" /> <option label="three" value="003" /> </select> </workflow-form></workflow-forms>Basado en consulta SQL
Sección titulada «Basado en consulta SQL»También podemos obtener estos valores de opciones usando una consulta SQL. Esta sentencia SQL debe colocarse en el atributo optionsQuery, pero el atributo table debe estar vacío (de lo contrario, esta consulta es una consulta de metadatos). Tenga en cuenta que el primer elemento devuelto en cada fila es el valor de la opción, y el segundo es la etiqueta de la opción.
<?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="select test"> <select label="country" name="country" type="simple" optionsQuery="select CT_ID, CT_NAME from COUNTRY order by CT_NAME"/> </workflow-form></workflow-forms>La tabla usada en este ejemplo se define de la siguiente manera:
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');Basado en className
Sección titulada «Basado en className»Para recuperar una lista de aplicaciones externas o para otros propósitos, puede construir una clase para obtener los valores de las opciones 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="select test"> <select label="select label" name="select" type="simple" className="com.openkm.plugin.form.values.OptionSelectUserList" /> </workflow-form></workflow-forms>Para más información, lea: Creating your own Option Select Values plugin.
Relación jerárquica
Sección titulada «Relación jerárquica»- El valor de opción del campo “childrenSelect” tiene una relación de padre con “parentSelect.” Se define mediante parentElement=“parentSelect.”
- El valor de opción “benefits” del campo “childrenSelect” tiene un valor padre de “directives” del área “parentSelect”.
Relaciones de árbol:
- directives
- benefits
- eligibility
- services
- handbook
- basic
- normal
- advanced
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.13//EN" "http://www.openkm.com/dtd/workflow-forms-2.13.dtd"><workflow-forms> <workflow-form task="select test"> <select label="Parent" name="parentSelect" type="simple"> <option value="directives" label="Directives" /> <option value="handbook" label="Handbook Paragraphs" /> </select> <select label="Children" name="childrenSelect" type="simple" parentElement="parentSelect"> <option value="benefits" label="Benefits" parentValue="directives" /> <option value="elegibility" label="Eligibility" parentValue="directives" /> <option value="services" label="Services" parentValue="directives" /> <option value="basic" label="Basic" parentValue="handbook" /> <option value="normal" label="Advanced" parentValue="handbook" /> <option value="advanced" label="Normal" parentValue="handbook" /> </select> </workflow-form></workflow-forms>Relación jerárquica con SQL
Sección titulada «Relación jerárquica con SQL»En este caso usamos un par de tablas para obtener la información.
create table LOCALIDAD ( LOC_ID varchar(8), LOC_NAME varchar(32), primary key (LOC_ID));
create table UBICACION ( UBI_ID varchar(8), UBI_LOC varchar(8), UBI_NAME varchar(32), primary key (UBI_ID));
insert into LOCALIDAD (LOC_ID, LOC_NAME) values ('l0', 'Localidad 0');insert into LOCALIDAD (LOC_ID, LOC_NAME) values ('l1', 'Localidad 1');insert into LOCALIDAD (LOC_ID, LOC_NAME) values ('l2', 'Localidad 2');
insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u0', 'l0', 'Ubicación 0');insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u1', 'l0', 'Ubicación 1');insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u2', 'l0', 'Ubicación 2');insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u3', 'l1', 'Ubicación 4');insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u4', 'l1', 'Ubicación 5');insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u5', 'l1', 'Ubicación 6');insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u6', 'l2', 'Ubicación 7');insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u7', 'l2', 'Ubicación 8');insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u8', 'l2', 'Ubicación 9');Esta es la definición del formulario:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.13//EN" "http://www.openkm.com/dtd/workflow-forms-2.13.dtd"><workflow-forms> <workflow-form task="task"> <!-- Parent child --> <select name="localidad" label="Localidad" optionsQuery="select LOC_ID, LOC_NAME from LOCALIDAD" /> <select name="ubicacion" label="Ubicacion" parentElement="localidad" optionsQuery="select UBI_ID, UBI_NAME, UBI_LOC from UBICACION" /> </workflow-form></workflow-forms>