diff --git a/js/__internal/scheduler/appointment_popup/m_form.ts b/js/__internal/scheduler/appointment_popup/m_form.ts
index 5e76203bbec0..f1822a29ad8e 100644
--- a/js/__internal/scheduler/appointment_popup/m_form.ts
+++ b/js/__internal/scheduler/appointment_popup/m_form.ts
@@ -128,7 +128,7 @@ export class AppointmentForm {
const element = $('
');
- this.form = this.scheduler.createComponent(element, Form, {
+ this.scheduler.createComponent(element, Form, {
items,
showValidationSummary: true,
scrollingEnabled: true,
@@ -140,6 +140,9 @@ export class AppointmentForm {
formData,
showColonAfterLabel: false,
labelLocation: 'top',
+ onInitialized: (e) => {
+ this.form = e.component;
+ },
customizeItem: (e) => {
if (this.form && e.itemType === 'group') {
const dataExprs = this.scheduler.getDataAccessors().expr;
diff --git a/testing/testcafe/tests/scheduler/appointmentForm/showAppointmentPopup.ts b/testing/testcafe/tests/scheduler/appointmentForm/showAppointmentPopup.ts
index 5d6f54f49062..505ec2388c79 100644
--- a/testing/testcafe/tests/scheduler/appointmentForm/showAppointmentPopup.ts
+++ b/testing/testcafe/tests/scheduler/appointmentForm/showAppointmentPopup.ts
@@ -29,6 +29,30 @@ test('Invoke showAppointmentPopup method shouldn\'t raise error if value of curr
height: 600,
}));
+test('Appointment popup shouldn\'t raise error if appoitment is recursive', async (t) => {
+ const scheduler = new Scheduler('#container');
+ await t.doubleClick(scheduler.getAppointment('Meeting of Instructors').element);
+ await t.click(Scheduler.getEditRecurrenceDialog().series);
+
+ const consoleMessages = await t.getBrowserConsoleMessages();
+ await t.expect(consoleMessages.error.length).eql(0);
+}).before(async () => {
+ const data = [{
+ text: 'Meeting of Instructors',
+ startDate: new Date('2020-11-01T17:00:00.000Z'),
+ endDate: new Date('2020-11-01T17:15:00.000Z'),
+ recurrenceRule: 'FREQ=DAILY;BYDAY=TU;UNTIL=20201203',
+ }];
+
+ return createWidget('dxScheduler', {
+ timeZone: 'America/Los_Angeles',
+ dataSource: data,
+ currentView: 'month',
+ currentDate: new Date(2020, 10, 25),
+ height: 600,
+ });
+});
+
test('Show appointment popup if deffereRendering is false (T1069753)', async (t) => {
const scheduler = new Scheduler('#container');
const appointment = scheduler.getAppointmentByIndex(0);