Usages

Abstract Class

org.joget.apps.datalist.model.DataListFilterTypeDefault

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

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 Type
    org.joget.apps.datalist.lib.TextFieldDataListFilterType (wflow-core)

  • No labels