static filter data is cleared after a search is performed - yadcf plugin

178 views Asked by At

i am trying to setup a true/false filter with the yadcf plugin. As far as i can tell, it works fine and the filtering works fine, until after you have performed a search. At which point the select list is no longer rendered (Even clearing the filter doesn't bring it back) and a page refresh is needed to bring it back.

Here are some screenshots that should help demonstrate the problem.

This is before a search has been performed

This is before a search has been performed

This is after a search has been performed

This is after a search has been performed

Here is the datatable/yadcf init (I've removed some code for brevity).

_grid.init({
loadingMessage: 'Loading...',
src: _connectionsTable,
dataTable: {
    ajax: {
        url: _connectionsTable.data('url')
    },
    columns: [
        {
            data: 'IsAssigned',
            sortable: false,
            "render": function (data, type, full, meta) {
                return (data === false
                    ? '<span class="label label-sm label-danger"> No </span>'
                    : '<span class="label label-sm label-success"> Yes </span>');
            }

        }
    ],
    dom:
        "<'row'<'col-md-8 col-sm-12'pli><'col-md-4 col-sm-12'<'table-group-actions pull-right'>>r>t<'row'<'col-md-8 col-sm-12'pli><'col-md-4 col-sm-12'>>",
    initComplete: function (settings, json) {
        var _table = new $.fn.dataTable.Api(settings);

        // search options
        yadcf.init(_table, [
            {
                column_number: 11,
                data: [{ value: 'true', label: 'Yes' }, { value: 'false', label: 'No' }],
                filter_container_id: 'IsAssignedFilter',
                filter_reset_button_text: false,
                style_class: 'form-control form-filter input-sm'
            }
        ]);
    },
    order: [
        [1, 'desc']
    ],
    responsive: true,
    stateSave: true
}
});

The other types of searches seem to be working ok, but this is the first one i have provided static data for. Also Chrome dev tools doesn't show any errors when this happens. Any help is appreciated!

1

There are 1 answers

0
Daniel On BEST ANSWER

You should not init yadcf in initComplete , instead do it after you init datatables, like this:

var oTable = $('#example').DataTable({...});
yadcf.init(oTable, [{column_number: 0}]);