Dear DHX-Team,
just a little question: How can i check if lightbox is opened in scheduler?
I need to check this because i want to log the keys pressed when it is opened for edit or create mode.
Is there an argument i can use in a if-clause?
Thanks, Steve MC
You can use onBeforeLightbox and onAfterLightbox events of the scheduler , which occurs before and after lightbox.
>>Is there an argument i can use in a if-clause?
if (scheduler._lightbox_id) do_something();
This is inner variable, so it can be changed in some future versions. ( above mentioned events a bit more complex way, but more stable as well )
Hey There!
Yes, i tried the onBefore and onAfter use, but it is not useable wirth the document.onkeydown - Function i am using.
So i THINK i need the second way, by if-Clause… but there i got a problem… what is my lightbox_id ???
Or have i got you right, the funciton is working or is it not working?
<<< Bad english so not axactlyy got what you wanted to say
what is my lightbox_id
this is just name of var, you can use it as is, without any changes
scheduler._lightbox_id - contains the ID of item, for which form is shown, so it is empty if form is not shown
>>Yes, i tried the onBefore and onAfter
var my_flag = false;
scheduler.attachEvent(“onBeforeLightbox”,function(){ my_flag = true; return true; })
scheduler.attachEvent(“onAfterLightbox”,function(){ my_flag = false; return true; })
…
if (my_flag) do_something();
Works perfectly, thank you!
Can’t find the Question where i had my question from so i post it here:
FOR ALL WHO WANTS TO SWITCH THROUGH THE DAYS VIA ARROWKEYS (left + right) WITHOUT WHILE LIGHTBOX IS OPENED:
var lightboxopen = false;
scheduler.attachEvent(“onBeforeLightbox”,function(){ lightboxopen = true; return true; })
scheduler.attachEvent(“onAfterLightbox”,function(){ lightboxopen = false; return true; })
document.onkeydown = function(event) {
if (event.keyCode == 37) {
// Left-Arrow
event.cancelBubble = true;
event.returnValue = true;
if (!lightboxopen) {
var next = scheduler.date.add(scheduler._date,-1,scheduler._mode);
scheduler.setCurrentView(next);
}
}
if (event.keyCode == 39) {
// Right-Arrow
event.cancelBubble = true;
event.returnValue = true;
if (!lightboxopen) {
var next = scheduler.date.add(scheduler._date,1,scheduler._mode);
scheduler.setCurrentView(next);
}
}
return event.returnValue;
}