From ff6dc4f4b55439b5573d7b5ce6eb597ab596c2e9 Mon Sep 17 00:00:00 2001 From: mansurskTarento Date: Mon, 24 Feb 2025 12:05:01 +0530 Subject: [PATCH 1/5] added duration --- .../create-event/create-event.component.ts | 13 +++++++++++++ .../event-competencies.component.html | 6 +++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.ts b/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.ts index eb7b984f..5e681564 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.ts +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.ts @@ -305,6 +305,10 @@ export class CreateEventComponent implements OnInit, AfterViewInit { eventDetails['competencies_v6'] = this.competencies } + if (startTime && endTime) { + eventDetails['duration'] = this.getTimeDifferenceInMinutes(startTime, endTime) + } + eventDetails['status'] = status return eventDetails @@ -340,6 +344,15 @@ export class CreateEventComponent implements OnInit, AfterViewInit { return `${hoursFormatted}:${minutesFormatted}:${seconds}` } + getTimeDifferenceInMinutes(time1: string, time2: string): number { + const time1Date = new Date(`1970-01-01T${time1}`) + const time2Date = new Date(`1970-01-01T${time2}`) + + const diffInMilliseconds = time2Date.getTime() - time1Date.getTime() + + return diffInMilliseconds / (1000 * 60) + } + //#endregion private openSnackBar(message: string) { diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/event-competencies/event-competencies.component.html b/project/ws/app/src/lib/routes/home/routes/events-2/components/event-competencies/event-competencies.component.html index cb3dfbbf..a891c4ef 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/event-competencies/event-competencies.component.html +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/event-competencies/event-competencies.component.html @@ -18,7 +18,7 @@
{{competency?.competencyAreaName}}
-
+
delete
@@ -40,7 +40,7 @@
delete + *ngIf="competency?.themes?.length > 1 && openMode === 'edit'">delete
@@ -56,7 +56,7 @@
- delete
From ec49d0bdee48ce05200a2c30f7af126daabeff23 Mon Sep 17 00:00:00 2001 From: mansurskTarento Date: Mon, 24 Feb 2025 14:42:23 +0530 Subject: [PATCH 2/5] fixing KB-7790 Leader/Admin should not be allowed to create an event with Start time that is already passed for today --- .../event-basic-details.component.html | 4 +- .../event-basic-details.component.ts | 95 +++++++++++++++---- .../events-list/events-list.component.ts | 2 +- 3 files changed, 78 insertions(+), 23 deletions(-) diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.html b/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.html index 1af6aa3a..7d91e532 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.html +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.html @@ -149,7 +149,7 @@ + formControlName="startDate" readonly> @@ -163,7 +163,7 @@ + [max]="maxTimeToStart" [min]="minTimeToStart" readonly> diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.ts b/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.ts index 4433fafd..165758c3 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.ts +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.ts @@ -9,6 +9,7 @@ import { environment } from '../../../../../../../../../../../src/environments/e import { HttpErrorResponse } from '@angular/common/http' import moment from 'moment' import { LoaderService } from '../../../../../../../../../../../src/app/services/loader.service' +import { DatePipe } from '@angular/common' @Component({ selector: 'ws-app-event-basic-details', @@ -26,6 +27,7 @@ export class EventBasicDetailsComponent implements OnInit, OnChanges { todayDate = new Date() maxTimeToStart = '11:45 pm' + minTimeToStart: string | null = '12:00 am' minTimeToEnd = '12:15 am' timeGap = 15 disableUpload = false @@ -36,7 +38,8 @@ export class EventBasicDetailsComponent implements OnInit, OnChanges { constructor( private matSnackBar: MatLegacySnackBar, private eventSvc: EventsService, - private loaderService: LoaderService + private loaderService: LoaderService, + private datePipe: DatePipe, ) { } ngOnChanges(changes: SimpleChanges): void { @@ -56,6 +59,10 @@ export class EventBasicDetailsComponent implements OnInit, OnChanges { this.eventDetails.controls.endTime.patchValue(this.convertTo12HourFormat(endTime)) } + if (_.get(this.eventDetails, 'value.startDate')) { + this.checkMinTimeToStart(_.get(this.eventDetails, 'value.startDate')) + } + if (_.get(this.eventDetails, 'value.registrationLink') && _.get(this.eventDetails, 'value.registrationLink') !== '') { this.disableUpload = true } else if (_.get(this.eventDetails, 'value.recoredEventUrl') && _.get(this.eventDetails, 'value.recoredEventUrl').length) { @@ -82,29 +89,77 @@ export class EventBasicDetailsComponent implements OnInit, OnChanges { } ngOnInit(): void { - if (this.eventDetails.controls.startTime) { - this.eventDetails.controls.startTime.valueChanges.subscribe((time) => { - this.generatMinTimeToEnd(time) - }) - } - if (this.eventDetails.controls.registrationLink) { - this.eventDetails.controls.registrationLink.valueChanges.subscribe((url) => { - if (url && url !== '') { - if (this.disableUpload === false) { - this.disableUpload = true - this.eventDetails.controls.recoredEventUrl.patchValue('') - this.eventDetails.controls.recoredEventUrl.clearValidators() - this.eventDetails.controls.registrationLink.setValidators([Validators.required, Validators.pattern(URL_PATRON)]) - this.eventDetails.controls.recoredEventUrl.updateValueAndValidity() - this.eventDetails.controls.registrationLink.updateValueAndValidity() + if (this.eventDetails && this.eventDetails.controls) { + if (this.eventDetails.controls.startDate) { + this.eventDetails.controls.startDate.valueChanges.subscribe((date) => { + this.checkMinTimeToStart(date) + }) + } + if (this.eventDetails.controls.startTime) { + this.eventDetails.controls.startTime.valueChanges.subscribe((time) => { + this.generatMinTimeToEnd(time) + }) + } + if (this.eventDetails.controls.registrationLink) { + this.eventDetails.controls.registrationLink.valueChanges.subscribe((url) => { + if (url && url !== '') { + if (this.disableUpload === false) { + this.disableUpload = true + this.eventDetails.controls.recoredEventUrl.patchValue('') + this.eventDetails.controls.recoredEventUrl.clearValidators() + this.eventDetails.controls.registrationLink.setValidators([Validators.required, Validators.pattern(URL_PATRON)]) + this.eventDetails.controls.recoredEventUrl.updateValueAndValidity() + this.eventDetails.controls.registrationLink.updateValueAndValidity() + } + } else { + this.disableUpload = false } - } else { - this.disableUpload = false - } - }) + }) + } } } + checkMinTimeToStart(selectedDate: any) { + const todayFormatted = this.datePipe.transform(new Date(), 'yyyy-MM-dd') + const inputDateFormatted = this.datePipe.transform(selectedDate, 'yyyy-MM-dd') + if (todayFormatted === inputDateFormatted) { + this.generatMinTimeToStart() + } else { + this.minTimeToStart = '12:00 am' + } + } + + generatMinTimeToStart() { + const formattedTime = this.datePipe.transform(new Date(), 'h:mm a') + this.minTimeToStart = formattedTime + if (_.get(this.eventDetails, 'controls.startTime.value')) { + if (this.isTimeLessThanNow(_.get(this.eventDetails, 'controls.startTime.value'))) { + this.eventDetails.controls.startTime.patchValue('') + this.eventDetails.controls.endTime.patchValue('') + } + } + } + + isTimeLessThanNow(givenTime: string): boolean { + const datePipe = new DatePipe('en-US') + const currentTime = datePipe.transform(new Date(), 'h:mm a') as string + const currentMinutes = this.timeToMinutes(currentTime) + const givenMinutes = this.timeToMinutes(givenTime) + + return givenMinutes < currentMinutes + } + + timeToMinutes(time: string): number { + const [timePart, period] = time.split(' ') + const [hours, minutes] = timePart.split(':').map(Number) + + let totalMinutes = hours % 12 * 60 + minutes // Convert to 24-hour format + if (period === 'PM') { + totalMinutes += 12 * 60 // Add 12 hours if PM + } + + return totalMinutes + } generatMinTimeToEnd(time: string, resetEndTime = true) { let [timePart, period] = time.split(' ') diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/events-list/events-list.component.ts b/project/ws/app/src/lib/routes/home/routes/events-2/components/events-list/events-list.component.ts index 0ca39ce4..0095e147 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/events-list/events-list.component.ts +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/events-list/events-list.component.ts @@ -171,7 +171,7 @@ export class EventsListComponent implements OnInit, OnDestroy { ], showSearchBox: true, showPagination: true, - noDataMessage: 'There are no rejected events.' + noDataMessage: 'There are no cancelled events.' } this.menuItems = [ From eab5cb9d219b9ee21edb22f88881b78f873186fa Mon Sep 17 00:00:00 2001 From: mansurskTarento Date: Mon, 24 Feb 2025 16:35:59 +0530 Subject: [PATCH 3/5] KB-8573: fixing For Events home page UI need to adjust as data is not particularly showing or adjusting. --- .../components/events-table/events-table.component.html | 4 +++- .../components/events-table/events-table.component.scss | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/events-table/events-table.component.html b/project/ws/app/src/lib/routes/home/routes/events-2/components/events-table/events-table.component.html index 02103c24..79705a2b 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/events-table/events-table.component.html +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/events-table/events-table.component.html @@ -23,7 +23,9 @@ - logo +
+ logo +
{{element[col.key]}} diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/events-table/events-table.component.scss b/project/ws/app/src/lib/routes/home/routes/events-2/components/events-table/events-table.component.scss index d76eccf1..4d90823d 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/events-table/events-table.component.scss +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/events-table/events-table.component.scss @@ -40,7 +40,14 @@ } } +.imageDiv { + // max-width: 75%; + width: 135px; + height: 76px; +} + .imageCell { + // max-width: 100%; width: 135px; height: 76px; object-fit: scale-down; From b8cc15008826971e371b9cf9ecda3bdc99538ca2 Mon Sep 17 00:00:00 2001 From: mansurskTarento Date: Mon, 24 Feb 2025 19:01:51 +0530 Subject: [PATCH 4/5] =?UTF-8?q?fixing=20KB-8539:=20The=20current=20date=20?= =?UTF-8?q?and=20time=20should=20be=20lesser=20than=20the=20event=E2=80=99?= =?UTF-8?q?s=20end=20date=20and=20time=20to=20be=20listed=20under=20upcomi?= =?UTF-8?q?ng=20events,=20KB-8588=20while=20clicking=20on=20back=20arrow?= =?UTF-8?q?=20of=20page=20not=20any=20confirmation=20pop=20up=20is=20showi?= =?UTF-8?q?ng?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../create-event/create-event.component.html | 2 +- .../create-event/create-event.component.ts | 83 +++++++++++++++++-- .../events-list/events-list.component.ts | 45 +++++----- .../events-2/services/events.service.ts | 1 + 4 files changed, 100 insertions(+), 31 deletions(-) diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.html b/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.html index cf2c7925..c6a4bf93 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.html +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.html @@ -1,7 +1,7 @@
- arrow_back + arrow_back Event chevron_right Event Builder diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.ts b/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.ts index 5e681564..c95c4df8 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.ts +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/create-event/create-event.component.ts @@ -10,6 +10,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack import { HttpErrorResponse } from '@angular/common/http' import { DatePipe } from '@angular/common' import { LoaderService } from '../../../../../../../../../../../src/app/services/loader.service' +import { MatLegacyDialog } from '@angular/material/legacy-dialog' +import { ConfirmDialogComponent } from '../../../../../workallocation-v2/components/confirm-dialog/confirm-dialog.component' @Component({ selector: 'ws-app-create-event', @@ -43,7 +45,8 @@ export class CreateEventComponent implements OnInit, AfterViewInit { private matSnackBar: MatSnackBar, private datePipe: DatePipe, private loaderService: LoaderService, - private cdr: ChangeDetectorRef + private cdr: ChangeDetectorRef, + private dialog: MatLegacyDialog ) { } //#region (onInit) @@ -143,6 +146,46 @@ export class CreateEventComponent implements OnInit, AfterViewInit { } } + openConforamtionPopup() { + if (this.openMode === 'edit') { + const dialgData = { + dialogType: 'warning', + icon: { + iconName: 'error_outline', + iconClass: 'warning-icon' + }, + message: 'Are you sure you want to exit without saving?', + buttonsList: [ + { + btnAction: false, + displayText: 'No', + btnClass: 'btn-outline-primary' + }, + { + btnAction: true, + displayText: 'Yes', + btnClass: 'successBtn' + }, + ] + } + + const dialogRef = this.dialog.open(ConfirmDialogComponent, { + width: '500px', + height: '210px', + data: dialgData, + autoFocus: false + }) + + dialogRef.afterClosed().subscribe((btnAction: any) => { + if (btnAction) { + this.navigateBack() + } + }) + } else { + this.navigateBack() + } + } + navigateBack() { this.router.navigate([`/app/home/events/${this.pathUrl}`]) } @@ -200,7 +243,7 @@ export class CreateEventComponent implements OnInit, AfterViewInit { if (this.isMaterialsValid) { currentFormIsValid = true } else { - this.openSnackBar('Please provied valid name for matrial') + this.openSnackBar('Please provied valid name and matrial') } } return currentFormIsValid @@ -208,7 +251,8 @@ export class CreateEventComponent implements OnInit, AfterViewInit { get isMaterialsValid(): boolean { if (this.materialsList && this.materialsList.length > 0 && - this.materialsList.findIndex((material) => !material.title || material.title === '') > -1) { + this.materialsList.findIndex((material) => !material.title || material.title === '') > -1 || + this.materialsList.findIndex((material) => !material.content || material.content === '') > -1) { return false } return true @@ -225,7 +269,7 @@ export class CreateEventComponent implements OnInit, AfterViewInit { // return false // } if (!this.isMaterialsValid) { - this.openSnackBar('Please provied valid name for matrial in Add Material') + this.openSnackBar('Please provied valid name and matrial in Add Material') return false } if (!(this.competencies && this.competencies.length)) { @@ -273,19 +317,30 @@ export class CreateEventComponent implements OnInit, AfterViewInit { const eventDetails: any = JSON.parse(JSON.stringify(this.eventDetails)) const eventBaseDetails = this.eventDetailsForm.value let startTime = '' + let endTime = '' + let startDateTime = '' + let endDateTime = '' + let startDate = eventBaseDetails.startDate ? this.datePipe.transform(eventBaseDetails.startDate, 'yyyy-MM-dd') : '' if (eventBaseDetails.startTime) { startTime = this.getFormatedTime(eventBaseDetails.startTime) } - let endTime = '' if (eventBaseDetails.endTime) { endTime = this.getFormatedTime(eventBaseDetails.endTime) } + if (startDate) { + if (startTime) { + startDateTime = this.combineDateAndTime(startDate, startTime) + } + if (endTime) { + endDateTime = this.combineDateAndTime(startDate, endTime) + } + } eventDetails['name'] = eventBaseDetails.eventName eventDetails['description'] = eventBaseDetails.description eventDetails['resourceType'] = eventBaseDetails.eventCategory eventDetails['streamType'] = eventBaseDetails.streamType - eventDetails['startDate'] = eventBaseDetails.startDate ? this.datePipe.transform(eventBaseDetails.startDate, 'yyyy-MM-dd') : '' - eventDetails['endDate'] = eventBaseDetails.startDate ? this.datePipe.transform(eventBaseDetails.startDate, 'yyyy-MM-dd') : '' + eventDetails['startDate'] = startDate + eventDetails['endDate'] = startDate eventDetails['startTime'] = startTime eventDetails['endTime'] = endTime eventDetails['registrationLink'] = eventBaseDetails.registrationLink ? eventBaseDetails.registrationLink : eventBaseDetails.recoredEventUrl @@ -304,10 +359,15 @@ export class CreateEventComponent implements OnInit, AfterViewInit { if (this.competencies) { eventDetails['competencies_v6'] = this.competencies } - if (startTime && endTime) { eventDetails['duration'] = this.getTimeDifferenceInMinutes(startTime, endTime) } + if (startDateTime) { + eventDetails['startDateTime'] = startDateTime + } + if (endDateTime) { + eventDetails['endDateTime'] = endDateTime + } eventDetails['status'] = status @@ -353,6 +413,13 @@ export class CreateEventComponent implements OnInit, AfterViewInit { return diffInMilliseconds / (1000 * 60) } + combineDateAndTime(date: string, time: string): string { + const combinedDateTime = `${date}T${time}` + const dateObj = new Date(combinedDateTime) + const isoString = dateObj.toISOString() + return isoString.replace('Z', '+0000') + } + //#endregion private openSnackBar(message: string) { diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/events-list/events-list.component.ts b/project/ws/app/src/lib/routes/home/routes/events-2/components/events-list/events-list.component.ts index 0095e147..45229fb4 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/events-list/events-list.component.ts +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/events-list/events-list.component.ts @@ -8,7 +8,6 @@ import { EventsService } from '../../services/events.service' import * as _ from 'lodash' import { MatLegacyDialog } from '@angular/material/legacy-dialog' import { RejectionReasonComponent } from '../../dialogs/rejection-reason/rejection-reason.component' -import { DatePipe } from '@angular/common' import { ConfirmDialogComponent } from '../../../../../workallocation-v2/components/confirm-dialog/confirm-dialog.component' @Component({ @@ -35,8 +34,7 @@ export class EventsListComponent implements OnInit, OnDestroy { private matSnackBar: MatSnackBar, private activatedRoute: ActivatedRoute, private route: Router, - private dialog: MatLegacyDialog, - private datePipe: DatePipe + private dialog: MatLegacyDialog ) { } //#endregion @@ -70,6 +68,10 @@ export class EventsListComponent implements OnInit, OnDestroy { action: 'view', }, // { + // btnText: 'Edit', + // action: 'edit', + // }, + // { // btnText: 'Start Broadcast', // action: 'broadcast', // }, @@ -226,7 +228,7 @@ export class EventsListComponent implements OnInit, OnDestroy { request: { query: this.searchKey, limit: _.get(this.paginationDetails, 'pageSize', 20), - offset: _.get(this.paginationDetails, 'pageIndex', 0), + offset: _.get(this.paginationDetails, 'pageSize', 20) * _.get(this.paginationDetails, 'pageIndex', 0), filters: { status: ['Live'], contentType: 'Event', @@ -239,16 +241,11 @@ export class EventsListComponent implements OnInit, OnDestroy { }, } - const today = new Date() - const year = today.getFullYear() - const month = (today.getMonth() + 1).toString().padStart(2, '0') // Months are 0-indexed - const day = today.getDate().toString().padStart(2, '0') - switch (this.pathUrl) { case 'upcoming': requestObj.request.filters.status = ['Live'] - requestObj.request.filters['endDate'] = { - '>=': `${year}-${month}-${day}` + requestObj.request.filters['endDateTime'] = { + '>=': this.getCurrentTimeInUTC } break case 'draft': @@ -259,8 +256,8 @@ export class EventsListComponent implements OnInit, OnDestroy { break case 'past': requestObj.request.filters.status = ['Live'] - requestObj.request.filters['endDate'] = { - '<': `${year}-${month}-${day}` + requestObj.request.filters['endDateTime'] = { + '<': this.getCurrentTimeInUTC } break case 'canceled': @@ -291,12 +288,10 @@ export class EventsListComponent implements OnInit, OnDestroy { ) } - get formattedCurrentTime(): string { - const now = new Date() - const hours = now.getHours().toString().padStart(2, '0') - const minutes = now.getMinutes().toString().padStart(2, '0') - const seconds = now.getSeconds().toString().padStart(2, '0') - return `${hours}:${minutes}:${seconds}+05:30` + get getCurrentTimeInUTC(): string { + const currentDate = new Date() + const isoString = currentDate.toISOString() + return isoString.replace('Z', '+0000') } //#endregion @@ -378,18 +373,24 @@ export class EventsListComponent implements OnInit, OnDestroy { } cancelEvent(rowData: any) { + + const currentDate = new Date() + let isoString = currentDate.toISOString() + isoString = isoString.replace('Z', '+0000') + const requestBody = { request: { event: { identifier: rowData.identifier, versionKey: rowData.versionKey, status: 'Cancelled', - cancelledOn: this.datePipe.transform(new Date(), 'dd MMM,yyyy'), + cancelledOn: isoString, cancelledByName: _.get(this.userProfile, 'givenName', _.get(this.userProfile, 'firstName', '')), cancelledBy: _.get(this.userProfile, 'userId', '') } } } + this.eventSvc.updateEvent(requestBody, rowData.identifier).subscribe({ next: res => { if (res) { @@ -408,9 +409,9 @@ export class EventsListComponent implements OnInit, OnDestroy { const remarks = _.get(rowData, 'rejectComment') if (remarks) { this.dialog.open(RejectionReasonComponent, { - minHeight: '200px', minWidth: '400px', - data: remarks + data: remarks, + autoFocus: false }) } } diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/services/events.service.ts b/project/ws/app/src/lib/routes/home/routes/events-2/services/events.service.ts index 685c4284..89a1591a 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/services/events.service.ts +++ b/project/ws/app/src/lib/routes/home/routes/events-2/services/events.service.ts @@ -35,6 +35,7 @@ export class EventsService { formatedData.Event.forEach((event: any) => { event['startDate'] = event['startDate'] ? this.datePipe.transform(event['startDate'], 'dd MMM, yyyy') : '' event['createdOn'] = event['createdOn'] ? this.datePipe.transform(event['createdOn'], 'dd MMM, yyyy') : '' + event['cancelledOn'] = event['cancelledOn'] ? this.datePipe.transform(event['cancelledOn'], 'dd MMM, yyyy') : '' }) return formatedData })) From 91b38605a80842eada96f3fe63513a7af9ce1bc8 Mon Sep 17 00:00:00 2001 From: mansurskTarento Date: Mon, 24 Feb 2025 19:03:39 +0530 Subject: [PATCH 5/5] fixing ui issues --- .../event-basic-details.component.ts | 14 ++++++----- .../material-details.component.html | 12 ++++++--- .../material-details.component.scss | 8 +++++- .../material-details.component.ts | 25 +++++++++++++++++-- .../rejection-reason.component.html | 7 ++++-- .../rejection-reason.component.scss | 7 ++---- 6 files changed, 54 insertions(+), 19 deletions(-) diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.ts b/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.ts index 165758c3..4cbfbf14 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.ts +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/event-basic-details/event-basic-details.component.ts @@ -48,10 +48,12 @@ export class EventBasicDetailsComponent implements OnInit, OnChanges { if (startTime) { const convertedStartTime = this.convertTo12HourFormat(startTime) this.eventDetails.controls.startTime.patchValue(convertedStartTime) - setTimeout(() => { - const resetEndTime = false - this.generatMinTimeToEnd(convertedStartTime, resetEndTime) - }, 100) + if (this.openMode === 'edit') { + setTimeout(() => { + const resetEndTime = false + this.generatMinTimeToEnd(convertedStartTime, resetEndTime) + }, 100) + } } const endTime = _.get(this.eventDetails, 'value.endTime') @@ -59,7 +61,7 @@ export class EventBasicDetailsComponent implements OnInit, OnChanges { this.eventDetails.controls.endTime.patchValue(this.convertTo12HourFormat(endTime)) } - if (_.get(this.eventDetails, 'value.startDate')) { + if (_.get(this.eventDetails, 'value.startDate') && this.openMode === 'edit') { this.checkMinTimeToStart(_.get(this.eventDetails, 'value.startDate')) } @@ -89,7 +91,7 @@ export class EventBasicDetailsComponent implements OnInit, OnChanges { } ngOnInit(): void { - if (this.eventDetails && this.eventDetails.controls) { + if (this.eventDetails && this.eventDetails.controls && this.openMode === 'edit') { if (this.eventDetails.controls.startDate) { this.eventDetails.controls.startDate.valueChanges.subscribe((date) => { this.checkMinTimeToStart(date) diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.html b/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.html index 3f9ce316..a17c51fd 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.html +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.html @@ -1,6 +1,6 @@
-
{{materialDetails?.title}}
+
{{materialDetails?.title}}
edit @@ -8,6 +8,12 @@
+
+ + material type + {{materialType}} + +
@@ -32,8 +38,8 @@
- pdf -
{{materialName}}
+ material type +
{{materialName}}
clear diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.scss b/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.scss index 438ee17a..cf65069a 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.scss +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.scss @@ -4,7 +4,6 @@ } .closedCard { - height: 20px; background-color: #0000000A; padding: 10px; border: 1px solid #00000029; @@ -23,6 +22,13 @@ font-size: 15px; cursor: pointer; } + + .material-type { + color: #00000099; + /* stylelint-disable */ + font: 400 12px Lato; + /* stylelint-enable */ + } } .openCard { diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.ts b/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.ts index 87ddaa25..1709206e 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.ts +++ b/project/ws/app/src/lib/routes/home/routes/events-2/components/material-details/material-details.component.ts @@ -28,6 +28,9 @@ export class MaterialDetailsComponent implements OnChanges { eventForm!: FormGroup content = '' + uploadedDocTypeImg = '/assets/icons/pdf.svg' + materialName = '' + materialType = 'pdf' constructor( private formBuilder: FormBuilder, @@ -51,6 +54,7 @@ export class MaterialDetailsComponent implements OnChanges { title: new FormControl(_.get(this.materialDetails, 'title', ''), [Validators.required]), content: new FormControl(_.get(this.materialDetails, 'content', ''), [Validators.required]), }) + this.genrateMaterialName() this.eventForm.controls.title.valueChanges.subscribe((value: string) => { if (value && _.get(this.materialDetails, 'title') !== value && this.currentMaterialSaved) { @@ -66,7 +70,7 @@ export class MaterialDetailsComponent implements OnChanges { } } - get materialName(): string { + genrateMaterialName() { let name = '' const appiconurl = _.get(this.eventForm, 'value.content', '') if (appiconurl) { @@ -75,13 +79,29 @@ export class MaterialDetailsComponent implements OnChanges { name = urlSplit[urlSplit.length - 1] } } - return name + this.materialName = name + this.genrateUploadedDocTypeImg() + } + + genrateUploadedDocTypeImg() { + const materialName = this.materialName + if (materialName.includes('.pdf')) { + this.uploadedDocTypeImg = '/assets/icons/pdf.svg' + this.materialType = '1 pdf' + } else if (materialName.includes('.ppt')) { + this.uploadedDocTypeImg = '/assets/icons/ppt.svg' + this.materialType = '1 ppt' + } else if (materialName.includes('.doc')) { + this.uploadedDocTypeImg = '/assets/icons/doc.svg' + this.materialType = '1 doc' + } } removeMaterial() { if (this.eventForm && this.eventForm.controls && this.eventForm.controls.content) { this.eventForm.controls.content.patchValue('') this.eventForm.controls.content.updateValueAndValidity() + this.materialName = '' } } @@ -185,6 +205,7 @@ export class MaterialDetailsComponent implements OnChanges { if (this.eventForm && this.eventForm.controls && this.eventForm.controls.content) { this.eventForm.controls.content.patchValue(fileUrl) this.eventForm.controls.content.updateValueAndValidity() + this.genrateMaterialName() } } }, diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/dialogs/rejection-reason/rejection-reason.component.html b/project/ws/app/src/lib/routes/home/routes/events-2/dialogs/rejection-reason/rejection-reason.component.html index 2eec00a1..0a24619b 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/dialogs/rejection-reason/rejection-reason.component.html +++ b/project/ws/app/src/lib/routes/home/routes/events-2/dialogs/rejection-reason/rejection-reason.component.html @@ -1,10 +1,13 @@ -
+
Remarks
- clear
{{rejectReason}}
+ +
+ +
\ No newline at end of file diff --git a/project/ws/app/src/lib/routes/home/routes/events-2/dialogs/rejection-reason/rejection-reason.component.scss b/project/ws/app/src/lib/routes/home/routes/events-2/dialogs/rejection-reason/rejection-reason.component.scss index 0c291ebd..4df16db3 100644 --- a/project/ws/app/src/lib/routes/home/routes/events-2/dialogs/rejection-reason/rejection-reason.component.scss +++ b/project/ws/app/src/lib/routes/home/routes/events-2/dialogs/rejection-reason/rejection-reason.component.scss @@ -1,8 +1,3 @@ -.closIcon { - margin-right: -12px; - color: #666666; -} - .remarks { /* stylelint-disable */ font: 600 17px Lato; @@ -14,3 +9,5 @@ font: 400 14px Lato; /* stylelint-enable */ } + +.ok-btn {}