Usages
Used to extend ways of searching the data listing. (Eg. Filter record using Drop down list). Please refer to Datalist Builder - Filter.
A useable Datalist Filter Type plugin must extends org.joget.apps.datalist.model.DataListFilterTypeDefault abstract class.
Abstract Class
org.joget.apps.datalist.model.DataListFilterTypeDefault
Under wflow-core module
Extended org.joget.plugin.base.ExtDefaultPlugin. Please refer to Plugin Base Abstract Class and Interface.
Implemented org.joget.plugin.property.model.PropertyEditable. Please refer to Plugin Base Abstract Class and Interface.
A base abstract class to develop a Datalist Filter Type plugin.
Method Detail
Abstract Methods
getTemplate
public java.lang.String getTemplate(org.joget.apps.datalist.model.DataList datalist, java.lang.String name, java.lang.String label)
HTML template of the filter.
getQueryObject
public org.joget.apps.datalist.model.DataListFilterQueryObject getQueryObject(org.joget.apps.datalist.model.DataList datalist, java.lang.String name)
Condition and parameters to construct query.
Utility Methods
getValue
public java.lang.String getValue(org.joget.apps.datalist.model.DataList datalist, java.lang.String name)
Convenience method to get value from request parameters.
getValue
public java.lang.String getValue(org.joget.apps.datalist.model.DataList datalist, java.lang.String name, java.lang.String defaultValue)
Convenience method to get value from request parameters.Return default value if empty
getValues
public java.lang.String[] getValues(org.joget.apps.datalist.model.DataList datalist, java.lang.String name)
Convenience method to get values from request parameters.
getValues
public java.lang.String[] getValues(org.joget.apps.datalist.model.DataList datalist, java.lang.String name, java.lang.String defaultValue)
Convenience method to get values from request parameters.Return default values if empty. default values can be separated by semicolon ";" if multiple value.
Plugin Properties Options
Please refer to Plugin Properties Options for more information.
Datalist Filter Type Plugin Template Sample
Following is a sample template of a Text Field Filter Type. It is constructed using FreeMaker syntax. This template will be used and returned by getTemplate method.
public String getTemplate(DataList datalist, String name, String label) { PluginManager pluginManager = (PluginManager) AppUtil.getApplicationContext().getBean("pluginManager"); Map dataModel = new HashMap(); dataModel.put("name", datalist.getDataListEncodedParamName(DataList.PARAMETER_FILTER_PREFIX+name)); dataModel.put("label", label); dataModel.put("value", getValue(datalist, name, getPropertyString("defaultValue"))); dataModel.put("contextPath", WorkflowUtil.getHttpServletRequest().getContextPath()); return pluginManager.getPluginFreeMarkerTemplate(dataModel, getClassName(), "/templates/textFieldDataListFilterType.ftl", null); }
<script type="text/javascript" src="${contextPath}/plugin/org.joget.apps.datalist.lib.TextFieldDataListFilterType/js/jquery.placeholder.min.js"></script> <input id="${name!}" name="${name!}" type="text" size="10" value="${value!?html}" placeholder="${label!?html}"/> <script type="text/javascript"> $(document).ready(function(){ $('#${name!}').placeholder(); }); </script>
Explanations
There are no specify format need to follow.
Please make sure that the filter input name is the value get from datalist.getDataListEncodedParamName(DataList.PARAMETER_FILTER_PREFIX+name).
Tutorials
Related Community Plugins
Text Field Data List Filter Typeorg.joget.apps.datalist.lib.TextFieldDataListFilterType (wflow-core)