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]);
}
}
@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.