Disable Scheduler Calendar Event

I’m wondering if it’s possible to disable a calendar event if the color of the event meets a certain criteria?



I have some events which are colored grey (using css). Is it possible (having access to the color / event style) to disable this event from either editing or dragging / resizing while all other events can still be dragged / resized /edited?



Thanks,

Steve

Please check the next article, it shows how you can make a readonly event based on any event’s property.
dhtmlx.com/docs/products/kb/ … kb&q=11090

I’ve read the link that you provided and attempted to implement the solution, but it doesn’t work for me. I’m using build 90722 which is pretty new.

Here is what I’ve done.

        scheduler.attachEvent(“onBeforeDrag”, readonly_check);
       
        function readonly_check(id){ alert(id);
            var ev = scheduler.getEvent(id);
            return !ev.readonly;
        }

I’m a bit confused as to how this is suppose to stop the drag of a specific event (based on the style / color of the event).

I’m using build 90722
Please update your version of js file with one , which attached in the above post. onBeforeDrag event was added after build 90722 and not included in any officially released version yet.

>>I’m a bit confused as to how this is suppose to stop the drag of a specific event
The color of event is defined based on some other property of event object, right?
So you can use the same property inside the readonly_check
return some_check_against(ev.some_field);

If it still doesn’t work for you - we can provide some kind of sample.

Okay we are making progress… Here is what I have currently.

    // disable task events
        scheduler.attachEvent(“onBeforeDrag”, readonly_check);
       
        function readonly_check(id){
            var ev = scheduler.getEvent(id);
           
            return (event.task?!ev.readonly:ev.readonly);
        }

When this is done, none of the calendar events are movable (only wanted the task events - events with a task node in xml none movable). All events are still editable.

Note: only task events have a node “task”, all other events don’t have this node.

Thanks for the help

Okay I figured it out. Wasn’t thinking it through.

Here is what I have. It disables moving, editing (single & double click) for events where there is a node called task

    // disable task events
        scheduler.attachEvent(“onBeforeDrag”, readonly_check);
        scheduler.attachEvent(“onClick”, readonly_check);
        scheduler.attachEvent(“onDblClick”, readonly_check);
       
        function readonly_check(id){
            var ev = scheduler.getEvent(id);
           
            return (ev.task?false:true);
        }

Thanks again for your help.