Ir al contenido
Otras versiones

Cargando…

Campo de metadatos Suggestbox

Esta es una implementación del típico componente AJAX de cuadro de sugerencias:

Atributo Descripción Obligatorio
label El texto se muestra como etiqueta en la interfaz de usuario. true
name Identificador único del campo.
Dos campos de metadatos no pueden tener el mismo nombre. El nombre debe ser único.
El nombre debe comenzar por “okp:”.
Es una buena práctica utilizar el nombre de un grupo de metadatos como base para el nombre de un campo de metadatos. Por ejemplo, utilice “okg:consulting” como nombre del grupo para el campo “okp:consulting.suggestbox”, cambiando “okg” por “okp”. Eso ayuda a encontrar el grupo de metadatos a partir del nombre del campo de metadatos.
Utilice únicamente letras, números y guiones bajos: “0-9a-zA-Z_”.
true
width El ancho del elemento HTML.
En el caso de KCenter, la interfaz de usuario debe utilizar valores de ancho basados en porcentajes; por ejemplo:
- width=“50%” funcionará.
- width=“100px” se ignorará en la interfaz de usuario de KCenter.
false
height La altura del elemento HTML. false
description Descripción general. false
filterQuery Una consulta SQL para filtrar los datos. Utilice {0} para colocar la entrada del usuario. *
valueQuery Una consulta SQL para obtener el valor de un identificador. Utilice {0} para colocar el identificador. *
className Una clase que se utiliza para obtener las opciones seleccionadas. *
filterMinLen El número mínimo de caracteres de la entrada para comenzar a filtrar los resultados. true
dialogTitle El título del diálogo HTML. true
readonly El campo no se puede modificar en la interfaz de usuario. Por defecto, el valor es “false”. false
dbColumnSize Establece el tamaño del campo de la base de datos donde se almacena el valor.
Por defecto, los campos se almacenan en una columna de la base de datos con un tamaño de 128 caracteres. Como la longitud de sus datos puede ser superior a 128 caracteres, el administrador debe actualizar el tamaño de columna predeterminado.
Consulte la sección de documentación Definición XML de metadatos para una explicación detallada del almacenamiento de metadatos en la base de datos de OpenKM.
defaultAccess Política de acceso de seguridad predeterminada. Por defecto, está establecida en “grant”, por lo que todos los usuarios verán la propiedad.
  • * Hay tres opciones para obtener los valores del cuadro de sugerencias (es obligatorio utilizar una de ellas):

  • Elementos hijo:

Ahora filterQuery y valueQuery pueden ser consultas SQL normales.

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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 3.10//EN"
"http://www.openkm.com/dtd/property-groups-3.10.dtd">
<property-groups>
<property-group label="Consulting" name="okg:consulting">
<suggestbox label="country" name="okp:consulting.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}'" />
</property-group>
</property-groups>

Para ayudar a obtener una lista de aplicaciones externas o para otros fines, puede construir su clase de modo que obtenga los valores de las opciones de esos sistemas.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 3.10//EN"
"http://www.openkm.com/dtd/property-groups-3.10.dtd">
<property-groups>
<property-group label="Consulting" name="okg:consulting">
<suggestbox label="country" name="okp:consulting.suggestbox"
width="200px" dialogTitle="Choose country" filterMinLen="3"
className="com.openkm.plugin.form.values.SuggestBoxUserList" />
</property-group>
</property-groups>

Para más información, lea Crear su propio plugin Suggestbox