This is a migrated thread and some comments may be shown as answers.

All Meetings Missing in Internet Explorer

7 Answers 194 Views
Scheduler
This is a migrated thread and some comments may be shown as answers.
Andrew
Top achievements
Rank 1
Andrew asked on 31 Mar 2016, 01:46 PM

In Chrome my scheduler works fine, but in IE 11) no meetings show up under the same configurations that show meetings in Chrome. There are no errors in the developer console. Could anyone indicate what could be going wrong with Internet Explorer? I have heard it doesn't accept event.preventDefault(), which I use often.

 

Here is my entire configuration:

$("#scheduler").kendoScheduler({
       /* date: new Date(),
        startTime: new Date(),*/
        timezone: "US/Central",
        height: 750,
        eventTemplate: $("#event-template").html(), //kendo.template(eventTemplateString), //$("#event-template").html(),
        editable: {
            template: $("#editorx").html()
        },
        add: scheduler_add,
        //editable: false,
        dataBound: function(e) {
            if (!dangLoad) {
                dangLoad = true;//wut? ok Brenden. DANGLOAD
 
                hideEvent();
            }
            //console.log(e);
            var scheduler = this;
            var view = scheduler.view();
 
            view.table.find("td[role=gridcell]").each(function() {
 
                var element = $(this);
                var slot = scheduler.slotByElement(element);
                if (slot.startDate < new Date) {
                    element.addClass("greyCell");
                }
            });
            $("#scheduler").kendoTooltip({
                filter: ".k-event",
                position: "top",
                width: 250,
                content: kendo.template($('#templatezz').html())
                    //content: "Tooltip content"
            });
        },
        change: function(e) {
 
            console.log("Changing.");
 
            if (user.role == "read-only") {
                console.log("You can not execute this action from a read-only account");
                e.preventDefault();
                return 1;
            }
 
            console.log('change');
            if (e.event.result == 'Manual') {} else {
                alert("cannot change " + e.event.case_name + " as it was created in Access");
                e.preventDefault();
            }
            //e.preventDefault();
            //console.log("Editing", e.event.title);
        },
        edit: function(e) {
 
            this.one("save", function () {
                console.log("saving: \n");
                console.log(e);
                e.preventDefault();
            });
 
            if (user.role == "read-only") {
                alert("You can not perform this action from a read-only account");
                e.preventDefault();
                showReadOnlyModal(e.event);
                return 1;
            }
 
            console.log(meds);
            console.log(e.event.created_by);
 
            if (user.role == "mediator") {
                editRights = _.contains(meds, e.event.created_by);
            } else {
                editRights = !_.contains(meds, e.event.created_by); //Admins edit everything not created by a mediator.
            }
 
            console.log("edit rights: " + editRights);
 
            if (e.event.created_by == "SOL Converter") {
                console.log("Created by SOL Converter");
                editRights = false;
            } else if (e.event.created_by == "MOCSync") {
                console.log("Created by SOL Converter");
                editRights = false;
            }
 
            if (!editRights) {
                 
                //alert("You do not have the right to edit this entry.");
                showReadOnlyModal(e.event);
                e.preventDefault();
                return 1;
            }
 
            console.log("editing");
 
            var addr, body, subject; //For automated emails.
                addr = "";
            console.log(e.event.mediatorIds);
            e.event.last_updated = Date();
            e.event.last_updated_by = Cookies.get("name");
             
            if (e.event.result == 'Manual') {
                console.log(e.event);
                var getInfoPromise = getWhoCreatedModified(e.event._id);
                console.log(e.event._id);
                getInfoPromise.then(onGetWhoCreatedModifiedComplete, onErrorFunction);
 
            } else {
                showPartyInfoModal(e.event.parties, e.event.description, e.event.caseNumber, e.event);
                e.preventDefault();
            }
        },
        remove: function(e) {
            if (user.role == "mediator") {
                editRights = _.contains(meds, e.event.created_by);
            } else {
                editRights = !_.contains(meds, e.event.created_by); //Admins edit everything not created by a mediator.
            }
 
            if (e.event.created_by == "SOL Converter") {
                console.log("Created by SOL Converter");
                editRights = false;
            } else if (e.event.created_by == "MOCSync") {
                console.log("Created by SOL Converter");
                editRights = false;
            }
 
            console.log("edit rights: " + editRights);
 
            if (user.role == "read-only") {
                console.log("You can not execute this action from a read-only account");
                e.preventDefault();
                return 1;
            }
 
            if (e.event.result == 'Manual') {
                console.log("hey you try and remove");
                console.log(e);
 
                var meetingToDelete = e.event._id;
                var deleteEntryPromise = deleteEntry(meetingToDelete);
                deleteEntryPromise.then(onDeleteEntryComplete, onErrorFunction);
 
            } else {
                alert("cannot remove " + e.event.case_name + " as it was created in Access");
                e.preventDefault();
            }
            //e.preventDefault();
            //console.log("Editing", e.event.title);
        },
        views: [{
                    type: "day"
                }, {
                    type: "workWeek"
                }, {
                    type: "month",
                    selected: true,
                    eventHeight: 35
                }, {
                    type: "agenda"
                }
            /*, {
                                type: "timeline"
                            }, {
                                type: "timelineWorkWeek"
                            }, {
                                type: "timelineMonth"
                            }*/
        ],
        dataSource: {
            //data: scheduleDataz,
            transport: {
                read: {
                    //url: "getData.pl?ACTION=GETMEETINGS", //node rewrite
                    url: "/meetings",
                    dataType: "JSON" // "jsonp" is required for cross-domain requests; use "json" for same-domain requests
                },
                update: {
                    url: "/meeting", //node rewrite
                    dataType: "JSON",
                    type: "POST",
                    contentType: "application/json; charset=utf-8"
                },
                //last_updated, last_updated_by
                destroy: {
                    url: "/deleteMeeting",
                    dataType: "JSON",
                    type: "POST",
                    contentType: "application/json; charset=utf-8"
                },
                parameterMap: function (data, op) {
                    return JSON.stringify(data);
                }
            },
            requestEnd: function(e) {
                //check the "response" argument to skip the local operations
                if (e.type === "read" && e.response) {
                    console.log("Current request is 'read'.");
                    console.log(e.response);
                }
              },
            schema: {
                parse: function (res) {
                    var meetings = [];
                    for (var i = 0; i < res.length; i++) {
                        var meet = res[i];
                        meet.start_time = new Date(meet.start_time);
                        meet.end_time = new Date(meet.end_time);
                        meetings.push(meet);
                    }
                    return meetings;
                },
                data: function (data) {
                    console.log(data);
                     
                    if (data.length == 0) {
                        return [];
                    }
                    return data;
                },
                model: {
                    id: "MeetingID",
                    fields: {
                        MeetingID: {
                            from: "meeting_id"
                        },
                        title: {
                            from: "case_name",
                            defaultValue: "No title",
                            validation: {
                                required: true
                            }
                        },
                        start: {
                            type: "date",
                            from: "start_time"
                        },
                        end: {
                            type: "date",
                            from: "end_time"
                        },
                        description: {
                            from: "case_desc"
                        },
                        caseManager: {
                            from: "case_manager",
                            nullable: true
                        },
                        mediatorIds: {
                            from: "mediator_LawyerIDs"
                        },
                        result: {
                            from: "meeting_result",
                            nullable: true
                        },
                        caseNumber: {
                            from: "case_number",
                            nullable: true
                        },
                        case_location: {
                            from: "location",
                            nullable: true
                        },
                        parties: {
                            from: "parties",
                            nullable: true
                        },
                        numParties: {
                            from: "number_of_parties",
                            nullable: true
                        },
                        created_by: {
                            from: "created_by",
                            nullable: true
                        },
                        creation_timestamp: {
                            from: "creation_timestamp",
                            nullable: true
                        },
 
                        //Recurrence specific fields
                        recurrenceId: {
                            from: "RecurrenceId"
                        },
                        recurrenceRule: {
                            from: "RecurrenceRule"
                        },
                        recurrenceException: {
                            from: "RecurrenceException"
                        }                       
                    }
                }
            }
        },
        resources: [{
            field: "result",
            title: "Meeting Result",
            dataSource: [{
                text: "_",
                value: "Manual",
                color: "#661155"
            }, {
                text: "Canceled",
                value: "Canceled",
                color: "#CCCCCC"
            }, {
                text: "Settled",
                value: "Settled"
            }, {
                text: "Not settled",
                value: "Not settled"
            }, {
                text: "Settled Without Mediation",
                value: "Settled w/o Mediation"
            }]
        }, {
            field: "mediatorIds", // The field of the scheduler event which contains the resource identifier
            title: "Mediator", // The label displayed in the scheduler edit form for this resource
            dataSource: mediatorResources,
            multiple: true
        }]
    });

7 Answers, 1 is accepted

Sort by
0
Vladimir Iliev
Telerik team
answered on 11 Apr 2016, 07:22 AM
Hi Andrew,

Could you please provide the following additional information in order to investigate further current behavior: 

1) The exact IE version that you are using as well as the exact browser mode that is turned on (make sure that the compatibility/quirks mode is not turned on as it's not supported).

2) Runable example where the issue is reproduced.


Regards,
Vladimir Iliev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Andrew
Top achievements
Rank 1
answered on 13 Apr 2016, 08:01 PM

I'm only worried about IE 11 with compatibility mode turned off. I'm attempting to isolate the issue, this is my dojo: http://dojo.telerik.com/oqoDa/12

 

None of my meetings are showing up in chrome, however. I'm getting this error: 

 

POST https://api.everlive.com/v1/izOSS1wy0B0axfiB/Revision 500 (Internal Server Error)

 

Can anyone help me get this Dojo up? I've never worked on kendo with static data before, but according to the docs it seems I have it set up more or less correctly.

0
Vladimir Iliev
Telerik team
answered on 14 Apr 2016, 09:23 AM
Hello Andrew,

After inspecting the provided demo it appears that it's not working due to the invalid static data provided. Please check the updated demo below:

The reason for the change is that when you provide static data to the dataSource, it should be already parsed (including the mapping of the fields).

Regards,
Vladimir Iliev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Andrew
Top achievements
Rank 1
answered on 14 Apr 2016, 02:41 PM
So, this Dojo currently doesn't work on IE 11 (no compatability mode) on my computer. It doesn't even begin to render however, so this doesn't properly reproduce my error.
0
Vladimir Iliev
Telerik team
answered on 15 Apr 2016, 06:47 AM
Hi Andrew,

There might be some server glitch which prevented the previous example from working - that why I created new dojo using the same code which works as expected on our side. Could you please check it and let me know of the result:

Regards,
Vladimir Iliev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Andrew
Top achievements
Rank 1
answered on 01 Jun 2016, 04:24 PM
My site is still not working in IE, and some meetings do not render in FF. The Dojo will also not load in IE at all on my computer (IE 11 on Windows 10), so I'm unable to reproduce my error. Does this perhaps have to do with the resources endpoint? This is quite a critical issue. No errors are being thrown.
0
Vladimir Iliev
Telerik team
answered on 03 Jun 2016, 07:16 AM
Hello Andrew,

Basically it's possible to be due to resources or events endpoint not responding as expected. As you unable to open the provided Dojos I will paste the entire code below - you can use it to test on your side:

<div id="scheduler"></div>
 
<script>
    var now = new Date();
 
    var dat = [{
        MeetingID: 2,
        title: "kendo on IE",
        start: now,
        end: now
    }, {
        MeetingID: 1,
        title: "this work",
        start: now,
        end: now
    }]
 
    $("#scheduler").kendoScheduler({
        //date: new Date(),
        //startTime: new Date(),
        height: 750,
        dataBound: function(e) {
 
        },
        change: function(e) {
 
        },
        edit: function(e) {
 
        },
        remove: function(e) {
 
        },
        views: [{
            type: "day"
        }],
        dataSource: {
            data: dat
        },
        schema: {
            model: {
                id: "MeetingID",
                fields: {
                    MeetingID: {
                        from: "meeting_id",
                    },
                    title: {
                        from: "case_name",
                        defaultValue: "No title",
                        validation: {
                            required: true
                        }
                    },
                    start: {
                        type: "date",
                        from: "start_time"
                    },
                    end: {
                        type: "date",
                        from: "end_time"
                    },
                    description: {
                        from: "case_desc"
                    },
                    caseManager: {
                        from: "case_manager",
                        nullable: true
                    },
                    mediatorIds: {
                        from: "mediator_LawyerIDs"
                    },
                    result: {
                        from: "meeting_result",
                        nullable: true
                    },
                    caseNumber: {
                        from: "case_number",
                        nullable: true
                    },
                    case_location: {
                        from: "location",
                        nullable: true
                    },
                    parties: {
                        from: "parties",
                        nullable: true
                    },
                    numParties: {
                        from: "number_of_parties",
                        nullable: true
                    }
                }
            }
        }
 
    });
</script>

If the above code is not working as well I would suggest to open the IE11 dev tools and set the document mode to IE11.

Regards,
Vladimir Iliev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
Tags
Scheduler
Asked by
Andrew
Top achievements
Rank 1
Answers by
Vladimir Iliev
Telerik team
Andrew
Top achievements
Rank 1
Share this question
or