Search code examples
javascriptjquerymysqlschedulerdhtmlx

how to get event name in combobox DHTMLX scheduler


i m using DHTMLX scheduler. i want to display events based on search criteria. i coded for filtering events bt i m unable to get event name in combobox from database. how i can retrieve event names from mysql on front page.

my code for filtering event

scheduler.filter_week = function(id, event)
{
    if(event.name == 'New event')
        return false; // event will be filtered (not rendered)
        //or
        return true; // event will be rendered
} 

how to retrieve event name ? any suggestions ?


Solution

  • If you need a server-side search, you have to reload scheduler events each time search value has changed

    function search(value){
        scheduler.clearAll();
    
        scheduler.load("data source url" + "?search=" + encodeURIComponent(value));
       //you may need to handle scenario when user has already typed some other criteria, by the time data is loaded
    }
    

    And do appropriate search on the server based on 'search' request parameter. If you use such approach, you may not need client-side filters.

    However, if you load all events to the page initially, client-side search could be much more responsive, as user won't have to wait until each new portion of data is loaded.

    function search(value){
    
        scheduler.filter_week = function(id, event){
            var haystack = (event.name || "").toLowerCase(),
                needle = (value || "").toLowerCase();
    
            return haystack.indexOf(needle) != -1;
        }
    
        scheduler.setCurrentView();
    }