Visual Studio 2012 Pro MVC 5 Razor views
Kendo DevCraft MVC Web 2014.1.318.545
I have a scheduler with a custom edit template -
In IE and Firefox, double clicking an event in the calendar displays the popup perfectly.
In Chrome, Safari or Opera, the popup does not show up on double click.
Is there any way for me to decipher why? Is there a log to show why it's not working?
Scheduler definition:
and the edit item template:
The div named DutyPanel is a panelBar that is loaded in JS in the onScheduleEdit event:
Why would this work in IE and FF, but not Chrome, Safari or Opera?
Is this a bug?
Kendo DevCraft MVC Web 2014.1.318.545
I have a scheduler with a custom edit template -
In IE and Firefox, double clicking an event in the calendar displays the popup perfectly.
In Chrome, Safari or Opera, the popup does not show up on double click.
Is there any way for me to decipher why? Is there a log to show why it's not working?
Scheduler definition:
01.@(Html.Kendo().Scheduler<HTServices.Models.TaskViewModel>()02. .Name("scheduler")03. .Date(new DateTime(2014,4,21,7,0,0))04. .StartTime(new DateTime(2014,4,21,7,0,0))05. .Height(600)06. .Editable(edit =>07. {08. edit.TemplateName("ScheduleItemTemplate");09. edit.Create(false);10. edit.Destroy(false);11. })12. .Views(views =>13. {14. views.DayView();15. views.WeekView(weekView => weekView.Selected(true));16. views.MonthView();17. views.AgendaView();18. })19. .Timezone("Etc/UTC")20. .DataSource(d => d21. .Model(m =>22. {23. m.Id(f => f.TaskID);24. m.Field(f => f.Title).DefaultValue("No title");25. m.Field(f => f.OwnerID).DefaultValue(1);26. m.Field(f => f.Title).DefaultValue("No title");27. m.RecurrenceId(f => f.RecurrenceID);28. })29. .Read("Read", "Scheduler")30. .Create("Create", "Scheduler")31. .Destroy("Destroy", "Scheduler")32. .Update("Update", "Scheduler")33. )34.)and the edit item template:
001.@model HTServices.Models.TaskViewModel002.@{003. //required in order to render validation attributes004. ViewContext.FormContext = new FormContext();005.}006. 007.@functions{008. public Dictionary<string, object> generateDatePickerAttributes(009. string elementId,010. string fieldName,011. string dataBindAttribute,012. Dictionary<string, object> additionalAttributes = null)013. {014. 015. Dictionary<string, object> datePickerAttributes = additionalAttributes != null ? new Dictionary<string, object>(additionalAttributes) : new Dictionary<string, object>();016. 017. datePickerAttributes["id"] = elementId;018. datePickerAttributes["name"] = fieldName;019. datePickerAttributes["data-bind"] = dataBindAttribute;020. datePickerAttributes["required"] = "required";021. datePickerAttributes["style"] = "z-index: inherit;";022. 023. return datePickerAttributes;024. }025. 026.}027.<style type="text/css">028. .panelbarHeader {029. font-size: 1em;030. font-weight: normal;031. }032. 033. .panelbarItem {034. text-decoration: none;035. font-size: .9em;036. font-weight: normal;037. padding-left: 20px;038. }039. .dutyPanel {040. height: 200px;041. }042. 043. .displayDate {044. 045. }046. 047.</style>048.<div class="k-edit-label">049. @(Html.LabelFor(model => model.Client))050.</div>051.<div data-container-for="client" class="k-edit-field">052. @(Html.TextBoxFor(model => model.Client, new { style = "width:100%;", @readonly = "readonly", @class = "k-textbox col-lg-12", data_bind = "text: client" }))053.</div>054.<div class="k-edit-label">055. @(Html.LabelFor(model => model.Address))056.</div>057.<div data-container-for="address" class="k-edit-field">058. @(Html.TextBoxFor(model => model.Address, new { style = "width:100%;", @readonly = "readonly", @class = "k-textbox", data_bind = "text: address" }))059.</div>060. 061.<div class="k-edit-label">062. @(Html.LabelFor(model => model.Start))063.</div>064.<div data-container-for="start" class="k-edit-field">065. 066. @(Html.Kendo().DateTimePickerFor(model => model.Start)067. .HtmlAttributes(generateDatePickerAttributes("startDateTime", "start", "value:start,invisible:isAllDay"))068. .Enable(false))069. 070.</div>071. 072.<div class="k-edit-label">073. @(Html.LabelFor(model => model.End))074.</div>075.<div data-container-for="end" class="k-edit-field">076. @(Html.Kendo().DateTimePickerFor(model => model.End)077. .HtmlAttributes(generateDatePickerAttributes(078. "endDateTime",079. "end",080. "value:end,invisible:isAllDay",081. new Dictionary<string, object>() {{"data-dateCompare-msg", "End date should be greater than or equal to the start date"}}))082. .Enable(false))083.</div>084. 085.<div class="k-edit-label">086. @(Html.LabelFor(model => model.IsAllDay))087.</div>088.<div data-container-for="isAllDay" class="k-edit-field">089. @(Html.DisplayFor(model => model.IsAllDay, new { @class = "k-checkbox", @readonly = "readonly", data_bind = "value: isAllDay" }))090.</div>091. 092.<div class="k-edit-label">093. @(Html.LabelFor(model => model.Description))094.</div>095.<div data-container-for="description" class="k-edit-field">096. @(Html.TextAreaFor(model => model.Description, new { @class = "k-textbox", @readonly = "readonly", data_bind = "value: description" }))097.</div>098. 099.<div class="k-edit-label">100. @(Html.LabelFor(model => model.DutyID))101.</div>102.<div data-container-for="duties" data-task-id="@Model.TaskID" class="k-edit-field dutyPanel">103. <div id="dutyPanel" class="dutyPanel"></div>104.</div>105. 106.@{107. ViewContext.FormContext = null;108.}The div named DutyPanel is a panelBar that is loaded in JS in the onScheduleEdit event:
01.$(function () {02. 03. ////bind to the scheduler edit event04. var scheduler = $("#scheduler").data("kendoScheduler");05. scheduler.bind("edit", onSchedulerEdit);06. 07. function onSelect(e) {08. 09. e.preventDefault();10. }11. 12. function onSchedulerEdit(e) {13. 14. var d = e.event.Duties;15. $("#dutyPanel").kendoPanelBar({16. expandMode: "multiple",17. select: onSelect,18. dataSource: jQuery.makeArray(d)19. });20. 21. var panelBar = $("#dutyPanel").data("kendoPanelBar").expand($("#dutyPanel .k-item"), true);22. 23. };24. 25. 26.});Why would this work in IE and FF, but not Chrome, Safari or Opera?
Is this a bug?