Crear su propio Default Form Values
Puede crear su propio Default Form Values.
Condiciones:
- La nueva clase Default Form Values debe implementar la interfaz “FormDefaultValues”.
- La nueva clase Default Form Values debe declararse bajo el paquete “com.openkm.plugin.form.values”.
- La nueva clase Default Form Values debe estar anotada con “@PluginImplementation”.
- La nueva clase Default Form Values debe extender “BasePlugin”.
Interfaz Default Form Values:
package com.openkm.plugin.form.values;
import com.openkm.bean.form.FormElement;import net.xeoh.plugins.base.Plugin;
import java.util.List;
public interface FormDefaultValues extends Plugin {
String getName();
void setDefaultValues(String uuid, String grpName, List<FormElement> formElementList);}La nueva clase debe cargarse en el paquete com.openkm.plugin.form.values porque el sistema de plugins de la aplicación intentará cargarla desde ahí. Vea el ejemplo a continuación:
Descripción del método
Sección titulada «Descripción del método»| Método | Tipo | Descripción |
|---|---|---|
| setDefaultValues(String uuid, String grpName, List |
void | El método establece valores por defecto para los elementos de formulario del grupo. |
Ejemplo de implementación de valores por defecto de formulario
Sección titulada «Ejemplo de implementación de valores por defecto de formulario»package com.openkm.plugin.form.values;
import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;
import com.openkm.bean.form.FormElement;import com.openkm.bean.form.Input;import com.openkm.plugin.BasePlugin;
import net.xeoh.plugins.base.annotations.PluginImplementation;
/** * Implementation of default form values */@PluginImplementationpublic class FormDefaultValuesDate extends BasePlugin implements FormDefaultValues {
@Override public String getName() { return "Date Default Values"; }
@Override public void setDefaultValues(String uuid, String grpName, List<FormElement> formElementList) { if (grpName.equalsIgnoreCase("okg:test")) { for (FormElement element : formElementList) { if (element.getName().equals("okp:test.date")) { Input input = (Input) element; if (input.getValue().isEmpty()) { DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); Date date = new Date(); input.setValue(dateFormat.format(date)); } } } } }
}Definición de metadatos
Sección titulada «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="Test" name="okg:test" defaultValueClassName="com.openkm.plugin.form.values.FormDefaultValuesDate"> <input label="Date" type="date" name="okp:test.date"/> </property-group></property-groups>