Create an Event - Single Click

I need to create an event with a single click. I tried the following code, but it doesn’t work:

    ...
    
    function show_minical() {
        if (scheduler.isCalendarVisible())
            scheduler.destroyCalendar();
        else
            scheduler.renderCalendar({
                "navigation" : true,
                "date" : scheduler._date,
                "position" :"dhx_minical_icon",
                "handler" : function(date, calendar) {
                    scheduler.setCurrentView(date);
                    scheduler.destroyCalendar();
                }
            });
    }
    
    scheduler.config.init_date = new Date();
    scheduler.config.details_on_create = true;
    scheduler.config.details_on_dblclick = true;
    scheduler.config.prevent_cache = true;
    scheduler.config.show_loading = true;
    scheduler.config.multi_day = true;
    scheduler.config.limit_view = true;
    scheduler.config.limit_end = max;
    scheduler.config.limit_start = min;
    scheduler.config.prevent_cache = true;
    scheduler.config.full_day = true;
    
    scheduler.init('scheduler_here', new Date(), 'unit');
    
    dp = new dataProcessor("myurl");
    dp.init(scheduler);
    dp.setTransactionMode("POST", false);

    // Create an Event with a Single Click - Doesn't work
    
    var setter = scheduler._click.dhx_cal_data;

    scheduler._click.dhx_cal_data = function(e) {
        if (!scheduler._locate_event(e ? e.target : event.srcElement)) {
            scheduler._on_dbl_click(e || event);
        }
        setter.apply(this, arguments);
    };

    // This Code works - Edit an Event with a Single Click

    scheduler.attachEvent("onClick", function(id, e) {
        scheduler._on_dbl_click(e);
        return false;
    });
    
    scheduler.setLoadMode("day");
    scheduler.load("myurl", "json");

I only able to edit an event but not create one.

Try following:

var fix_date = function(date) { // 17:48:56 -> 17:30:00 date = new Date(date); if (date.getMinutes() > 30) date.setMinutes(30); else date.setMinutes(0); date.setSeconds(0); return date; }; scheduler.attachEvent("onClick", function(id, e){ scheduler.showLightbox(id); }); var event_step = 120; scheduler.attachEvent("onEmptyClick", function(date, native_event){ var fixed_date = fix_date(date); scheduler.addEventNow(fixed_date, scheduler.date.add(fixed_date, event_step, "minute")); });
Kind regards,
Ilya

Thanks Ilya!! It works.