From 8aab5393c344782020f7da216dcca4c246f880f0 Mon Sep 17 00:00:00 2001 From: Roman Semenov Date: Wed, 20 Sep 2023 18:08:11 +0400 Subject: [PATCH] Scheduler - The E1035 - The editor cannot be created error appears on an attempt to edit a recurring appointment (T1188098) (#25628) --- .../scheduler/appointment_popup/m_form.ts | 5 +++- .../appointmentForm/showAppointmentPopup.ts | 24 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) 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);