the current behaviour of Kendo Scheduler stands like this - you have to double-click to create / view / edit an event.
Is there a way how to change this to:
Single click selects a timeslot and next single click on that timeslots goes to the create screen. Thank you,
Jakub
22 Answers, 1 is accepted
In general, the double click behavior cannot be changed. Nevertheless, you can implement the required functionality manually using Scheduler API. Check this Kendo Scratchpad demo, which shows how to add new event on mousedown.
Regards,
Georgi Krustev
Telerik
we are facing the same problem.
We do need a single-click, because we want to have the scheduler used on touch devices, and for touch devices a double-click is often breaking the ui usability.
The demo you provided is also quite a hacky way for client-side coders (by the way, its not working!? Shouldnt the demo open a dialog on single-click? I just see a selected slot...).
You really should implement clean way to change the click behaviors.
Is there any way how to force this issue? By creating a support ticket?
kind regards
Christian
The scheduler supports the so called "adaptive rendering" where the editing/creation is done on tap. I would suggest you check the Adaptive Rendering demo. Notice the "mobile" option usage.
Regards,
Georgi Krustev
Telerik
this is quite a nice feature, but -unfortunately- not solving our problem.
We use your scheduler integrated on a webpage with several other ui elements beside and we dont have such a single full screen view of the scheduler.
Further more, we are listening on the 'edit' event and do some very custom special dialog implementations.
So, what we just need is firing the 'edit'-event for a single-click.
kind regards
Here is a demo that edit on single click (mouseup) / touchend. I believe that it covers your requirement.
Regards,
Georgi Krustev
Telerik
ok, it works.
Thanx for your support.
kind regards
could you please extend your example to have a single click also for events, not only for empty slots?
( Your example/solution slightly missed the use-case )
thanx a lot and kind regards
Check the updated demo. It uses editEvent method when an event is clicked:
Regards,
Georgi Krustev
Telerik
thanx for your update.
I had to modify it not to get in conflicts with delete-case / click on X.
http://dojo.telerik.com/ALEYI
Please have a look, if its ok.
I'm not sure about the different target types.
First I check target, later I check currentTarget.
I've only seen 'k-si-close' class only in target, not in currentTarget.
So, I it seem to work, but you should have a review, please.
regards
Christian
The shared demo is for custom templates in the Calendar widget (not Scheduler), hence I will not be able to review the mentioned changes.
Regards,
Georgi Krustev
Telerik
Sorry, I dont understand your concern. I didnt create a modified shared demo of the Calendar Widget.
Its a scheduler demo... just follow this link.
http://dojo.telerik.com/ALEYI
Did I something wrong?
Christian
Thank you for the updated link (the previous one pointed to a calendar demo).
The applied modifications seems OK and I think it should be fine to use it as it is.
Regards,
Georgi Krustev
Telerik
All examples I found here are working wrong with moving event.
Please try to move & you will see flickering of the event dialog.
Could you provide a more specific repro steps? A screencast that demonstrates the required actions to replicate the issue will be of a great help to observe the erroneous behavior.
Regards,
Georgi Krustev
Telerik by Progress
Hi guys,
I have got same issue and need to be single click instead of Double click when create/edit event.
I have tried your dojo, but it doesn't work with angularjs. How can i get the scheduler instance and register event for k-event, slot,...?
Thanks,
Lam
A possible approach you could use is to attach the mouseup/touchend handler not on init but when the page loads. Here's a link to the dojo example modified accordingly. I've also modified the way a reference to the Scheduler is obtained:
var
scheduler = $scope.myScheduler;
Regards,
Ivan Danchev
Progress Telerik
Hello Juan,
Here's a modified version of the dojo example, which demonstrates how to extract information about the resource the clicked slot belongs to and pass that data to the addEvent method.
The relevant logic is the following:
var slotResource = scheduler.resourcesBySlot(scheduler.slotByElement($(target[0])));
var attendees = slotResource.attendees.slice();
scheduler.addEvent({
start: slot.startDate,
end: slot.endDate,
roomId: slotResource.roomId,
attendees: attendees
});
Regards,
Ivan Danchev
Progress Telerik
I would be grateful if you could provide a working example with one-click event for vue.js. I can't figure out how to call wrapper with the scheduler vue component.
Regards
Axel Mitura
Hello Axel,
You can get a reference to the Vue Scheduler as shown below:
var scheduler = this.$refs.scheduler1.kendoWidget();
Note that "scheduler1" is the value of the ref attribute we've set to the Scheduler:
<kendo-scheduler ref="scheduler1" :data-source="localDataSource"
Regards,
Ivan Danchev
Progress Telerik
Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.