We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to customize the Recurrence editor?

The following steps shows the way to customize the recurrence editor.

 

Step 1:  Create a scheduler default sample and bind the appointmentWindowOpen event as shown below,  

$(function () {

            $("#Schedule1").ejSchedule({

                width: "100%",

                height: "525px",

                currentDate: new Date(2014, 4, 5),

                appointmentSettings: {

                    dataSource: [],

                    id: "Id",

                    subject: "Subject",

                    startTime: "StartTime",

                    endTime: "EndTime",

                    description: "Description",

                    allDay: "AllDay",

                    recurrence: "Recurrence",

                    recurrenceRule: "RecurrenceRule"

                },

                appointmentWindowOpen: "OnAppointmentWindowOpen"

            });

        });

 

Step 2: Define the appointmentWindowOpen event function OnAppointmentWindowOpen which contains the code to customize the recurrence editor. The following code example shows the logic.

function OnAppointmentWindowOpen() {

    this._appointmentAddWindow.find(".e-recurrenceeditor").ejRecurrenceEditor({ frequencies: ["daily", "weekly", "monthly"] }); // Repeat field is customized

    if (this._appointmentAddWindow.find(".e-recurrenceeditor").children().eq(0).hasClass("e-floatright")) {

        var element = this._appointmentAddWindow.find(".e-recurrenceeditor").children();

        element[0].parentNode.replaceChild(element[0], element[1]);

        element[0].parentNode.insertBefore(element[1], element[0]);

    }

    var recurEdit = this._appointmentAddWindow.find(".e-recurrenceeditor").data("ejRecurrenceEditor");

    $(".e-recurrenceeditor").ejRecurrenceEditor({

        change: function (args) {

            this.element.find('.monthposition').ejRadioButton({ checked: true });

            this.element.find('.e-recuruntil').ejRadioButton({ checked: true });

            // Every field is customized

            if (this._rRuleFreq != "WEEKLY")

                recurEdit._recurrenceContent.find("#" + recurEdit._id + "_every").addClass("custom");

            else

                recurEdit._recurrenceContent.find("#" + recurEdit._id + "_every").removeClass("custom");

        }

    });

    // Ends fields are customized

    recurEdit._recurrenceContent.find("#endsonnever").addClass("custom");

    recurEdit._recurrenceContent.find("#endsonafter").addClass("custom");

    recurEdit._recurrenceContent.find("#monthdaytr").addClass("custom");

 

}

 

Sample: http://jsplayground.syncfusion.com/kvtttmen

 

Step 3: Run the above sample and the recurrence editor is customized as shown below.

Figure 1: Scheduler with customized recurrence editor.

 

Article ID: Published Date: Last Revised Date: Platform: Control:
7802 06/30/2017 06/30/2017 JavaScript ejSchedule
Did you find this information helpful?
Add Comment
You must log in to leave a comment

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon