dhx_multi_day location - hidden by scrolling

Is there a way to change the location of the multi-day events?
I understand that they do not display in the same way as shorter events, but the multi day event box appears above the first hour: 00:00
When the scroll is set to later in the day with scheduler.config.scroll_hour, the multi day events are not immediately obvious.

I would like to either ensure that the multi day event box is always visible (ideally within dhx_cal_header[0]) or that the box is visible both before 00:00 and after 23:00, so that the events will be visible more often.

This behavior will be changed in the next version ( multi-day area will always be at top, without relation to scroll state of data area ), as for now - unfortunately it can’t be configured.

I have been able to implement something that copies the events on a page and places them in a box below. I have done this with a 3L layout, where cell b is the calendar, cell c is the multi-day display. It’s not ideal, but has emulated the core functionality.

The styling of the event bars means that they line up perfectly if placed in a cell directly below. i.e. it wouldn’t work to do this between cells a and b of a 3L layout.

You can see in the code below that I have done this with the dojo toolkit. There is no reason why you would have to use dojo; it’s just that I wrote it for my existing project and do not have the time/need to translate it. Perhaps someone else would like to.

[code]
MyHandler.prototype.copyMultiDay = function()
{
this.MDHolder = dojo.create(“div”, {id: “md_newholder”}, “md_newholder”, “replace”); //must regenerate holder to cope with deletions/amendments - also forces box to clear on month/year views
if(scheduler.getState().mode == “day” || scheduler.getState().mode == “week”)//not suitable (nor required) for month/year views
{
this.MDEvents = dojo.clone(dojo.query(".dhx_cal_event_line")); //create a clone of elements with this class
this.MDBackground = dojo.clone(dojo.query(".dhx_multi_day")); //create a clone of elements with this class

	this.Layout.cells("c").setHeight(dojo.position(dojo.query(".dhx_multi_day")[0]).h + 10);//automatically increase/reduce size as elements are added
	this.panelResize(); //custom function to refresh all cells' content size/overflow upon panel size change
	
	this.MDHolder.appendChild(this.MDBackground[0]); //add existing background to holder
	for(var i = 0; i < this.MDEvents.length; i++)//add each event
	{
		var A = dojo.create("div", {ondblclick: "scheduler.showLightbox("+dojo.attr(this.MDEvents[i], "event_id")+")"}, this.MDHolder); //enable lightbox editing with double-click - create the div inside the holder
		A.appendChild(this.MDEvents[i]);
	}
	
	if(this.MDEvents.length == 1)
	{
		this.MDIconSmall = dojo.clone(dojo.query(".dhx_multi_day_icon_small"));
		this.MDHolder.appendChild(this.MDIconSmall[0]);
	}
	else if(this.MDEvents.length > 1)
	{
		this.MDIcon = dojo.clone(dojo.query(".dhx_multi_day_icon"));
		this.MDHolder.appendChild(this.MDIcon[0]);
	}
}

}[/code]

@Stanislav : Can you let me know which version can we expect this behaviour change? I see that in 3.5 feature list this is not mentioned, so let me know the version.

Hello,

I believe this was changed in 3.0 already. Either way it’s there now.

Kind regards,
Ilya