Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

การใช้งาน

Abstract Class

org.joget.apps.datalist.model.DataListFilterTypeDefault

...

รายละเอียดวิธีการ

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)

...

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)

...

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 Datalist Filter Type PlugingetTemplate method.

Code Block
languagexml
    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);
    } 
Code Block
languagexml
<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>

...

คำอธิบาย

  • 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)