From 03c8365522cabe87260765a569869464b9f50caf Mon Sep 17 00:00:00 2001
From: Rajesh Kumaravel <rajesh.kumaravel@tarento.com>
Date: Wed, 21 Dec 2022 17:20:52 +0530
Subject: [PATCH] Issue #ED-612 fix: End date picker reset on start date change
 event

---
 .../update-course-batch.component.html              |  2 +-
 .../update-course-batch.component.ts                | 13 ++++++++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/app/client/src/app/modules/learn/components/batch/update-course-batch/update-course-batch.component.html b/src/app/client/src/app/modules/learn/components/batch/update-course-batch/update-course-batch.component.html
index dcd9759b06..17edb7d51b 100644
--- a/src/app/client/src/app/modules/learn/components/batch/update-course-batch/update-course-batch.component.html
+++ b/src/app/client/src/app/modules/learn/components/batch/update-course-batch/update-course-batch.component.html
@@ -97,7 +97,7 @@
                   <!-- <mat-label>{{resourceService?.frmelmnts?.lbl?.startdate}}</mat-label> -->
                   <input [attr.disabled]="(batchDetails.status !== 0 || showFormInViewMode ) ? true : null" matInput
                     [matDatepicker]="startDatePicker" formControlName="startDate"
-                    [min]='batchDetails.status !== 0 ? batchUpdateForm.controls["startDate"].value : pickerMinDate'>
+                    [min]='batchDetails.status !== 0 ? batchUpdateForm.controls["startDate"].value : pickerMinDate' (dateChange)="onStartDateChange($event)">
                   <mat-datepicker-toggle matSuffix [for]="startDatePicker"
                     [disabled]="(batchDetails.status !== 0 || showFormInViewMode ) ? true : null">
                   </mat-datepicker-toggle>
diff --git a/src/app/client/src/app/modules/learn/components/batch/update-course-batch/update-course-batch.component.ts b/src/app/client/src/app/modules/learn/components/batch/update-course-batch/update-course-batch.component.ts
index 93aadf2a12..676432ee3f 100644
--- a/src/app/client/src/app/modules/learn/components/batch/update-course-batch/update-course-batch.component.ts
+++ b/src/app/client/src/app/modules/learn/components/batch/update-course-batch/update-course-batch.component.ts
@@ -16,6 +16,7 @@ import { CsModule } from '@project-sunbird/client-services';
 import { CsLibInitializerService } from '../../../../../service/CsLibInitializer/cs-lib-initializer.service';
 import { IFetchForumConfig } from '../../../../groups/interfaces';
 import { DiscussionService } from '../../../../../../app/modules/discussion/services/discussion/discussion.service';
+import { MatDatepickerInputEvent } from '@angular/material/datepicker';
 
 @Component({
   selector: 'app-update-course-batch',
@@ -201,11 +202,12 @@ export class UpdateCourseBatchComponent implements OnInit, OnDestroy, AfterViewI
         const userList = this.sortUsers(data.userDetails);
         this.participantList = userList.participantList;
         this.mentorList = userList.mentorList;
+        if (_.get(this.batchDetails, 'startDate')) this.pickerMinDateForEndDate = new Date(_.get(this.batchDetails, 'startDate'));
         this.initializeUpdateForm();
         this.getEnabledForumId();
         this.fetchParticipantDetails();
       }, (err) => {
-        if (err.error && err.error.params.errmsg) {
+        if (err?.error && err.error?.params?.errmsg) {
           this.toasterService.error(err.error.params.errmsg);
         } else {
           this.toasterService.error(this.resourceService.messages.fmsg.m0054);
@@ -667,4 +669,13 @@ export class UpdateCourseBatchComponent implements OnInit, OnDestroy, AfterViewI
       });
     }
   }
+
+  /**
+   * @param  {MatDatepickerInputEvent<Date>} event
+   * @description - Function to reset the end date picker value on start date change
+   */
+  onStartDateChange(event: MatDatepickerInputEvent<Date>) {
+    this.pickerMinDateForEndDate = new Date(event.value);
+    this.batchUpdateForm.controls['endDate'].reset();
+  }
 }
-- 
GitLab