Jam.py documentation

create_filter_inputs

create_filter_inputs(container, options)

domain: client

language: javascript

Description

Use create_filter_inputs to create data-aware visual controls (inputs, cheboxes) for editing filters of an item.

This method is usually used in on_filter_form_created events triggered by create_filter_form method.

The following parameters are passed to the method:

  • container - a JQuery object that will contain visual controls, if container length is 0 (no container), the method returns.

  • options - options that specify how controls are displayed

The options parameter is an object that may have following attributes:

  • filters - a list of filter names. If specified, a visual control will be created for each filter whose name is in this list, if not specified (the default) then the fields attribute of an filter_options will be used (by default it lists all visible filters specified in the Application builder),

  • col_count - the number of columns that will be created for visual controls, the default value is 1.

  • label_on_top: the default value is false. If this value is false, the labels are placed to the left of controls, otherwise the are created above the controls

  • tabindex - if tabindex is specified, it will the tabindex of the first visual control, tabindex of all subsequent controls will be increased by 1.

  • autocomplete - the default value is false. If this attribute is set to true, the autocomplete attribute of controls is set to “on”

Before creating controls the application empties the container.

Example

function on_filter_form_created(item) {
    item.filter_options.title = item.item_caption + ' - filter';
    item.create_filter_inputs(item.filter_form.find(".edit-body"));
    item.filter_form.find("#cancel-btn").on('click.task', function() {
        item.close_filter()
    });
    item.filter_form.find("#ok-btn").on('click.task', function() {
        item.apply_filter()
    });
}