onEventChanged bug?

Hello everyone,

     I'm not certain whether this is a bug or not, but here's what I was trying to do: On the scheduler, when a person drags a Todo around, he can actually change the person it was originally assigned to. Now, since all of my labels for the events are something like:

TODO - lastname - ID

If the assigned person changes, I want to change the label accordingly. Server-side, no problem at all. The data’s changed into the database and everything’s fine and dandy. Of course, since the client doesn’t interrogates the database, then the changes inside the table aren’t reflected. So I figured I would just reload the content of the calendar when such a thing happens, not the most optimal of solutions, I know but it’s the best I could come up with and it works.

In any case, to do this. I used the this:

 scheduler.attachEvent("onEventChanged", function(event_id,event_object){
     	scheduler.load("calendrierConnecteur.php");
     });

The event “onEventChanged” supposedly occurs

But in this particular case, I was able to confirm that it actually occurs BEFORE the data was committed to the database which, in my point of view, is not ‘after saving changes’ but ‘before’.

So, with that being said, I have two questions:

  1. Is there an event that occurs after the data was committed to the database (not ‘onEventIdChange’ please, because it’s not fired in this case since the event’s ID did not change)

  2. Is there a way to force one particular event to requery itself or do I have to reload everything? The updateEvent method sadly does not requery the event’s data from the database, I’ve checked.

Thanks in advance

Osu

Event occurs after closing editor, but it can be before data is really saved in DB.
You can use “onAfterUpdate” event of dataprocessor, which occurs after recieving saving response

dp.attachEvent("onAfterUpdate", function(sid, action, tid){ if (action == "update") scheduler.load("some.xml"); return true; })

Is there a way to force one particular event to requery itself or do I have to reload everything
You can call a separate script
scheduler.load(“some.script?id=”+id);
which will return xml only for one event - in such case only that event will be updated.

Also, you can redefine event_text template, so text of event will be changed automatically on client side, without reloading from server side.

docs.dhtmlx.com/doku.php?id=dhtm … ng_content

Thanks a lot :slight_smile:,

  Still, I'm not certain whether I checked at the right place, but this event's not listed on the API list:

docs.dhtmlx.com/doku.php?id=dhtm … ler:events

Anyway, great work you guys and thanks again for your help :slight_smile:.

Osu

Hello,

This is an event of dataprocessor, not scheduler so you should check another page:
http://docs.dhtmlx.com/doku.php?id=dhtmlxdataprocessor:events

Best regards,
Ilya

Oh, I’m sorry I didn’t check the line properly :blush: