Ir al contenido
Otras versiones

Cargando…

Crear sus propios valores predeterminados de formulario

Puede crear sus propios valores predeterminados de formulario.

Condiciones:

  • La nueva clase de valores predeterminados de formulario debe implementar la interfaz “FormDefaultValues”.
  • La nueva clase de valores predeterminados de formulario debe declararse en el paquete “com.openkm.plugin.form.values”.
  • La nueva clase de valores predeterminados de formulario debe estar anotada con “@PluginImplementation”.
  • La nueva clase de valores predeterminados de formulario debe extender “BasePlugin”.

Interfaz de valores predeterminados de formulario:

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 allí. Consulte el ejemplo siguiente:

Método Tipo Descripción
setDefaultValues(String grpName, List formElementList) void El método establece los valores predeterminados de los elementos de formulario del grupo.

Ejemplo de implementación de valores predeterminados de formulario

Sección titulada «Ejemplo de implementación de valores predeterminados 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
*/
@PluginImplementation
public 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));
}
}
}
}
}
}
<?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="Fecha" type="date" name="okp:test.date"/>
</property-group>
</property-groups>