From 6f0b696d9e6001e6cc96199432e4321439095e08 Mon Sep 17 00:00:00 2001 From: nitinraj-tarento Date: Sat, 18 Jan 2025 15:26:46 +0530 Subject: [PATCH] org select limit fix --- .../import-designation.component.html | 8 ++-- .../import-designation.component.ts | 38 ++++++++++++++----- .../services/designations.service.ts | 4 ++ 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/project/ws/app/src/lib/routes/create-mdo/routes/designation/components/import-designation/import-designation.component.html b/project/ws/app/src/lib/routes/create-mdo/routes/designation/components/import-designation/import-designation.component.html index 34faeed7..c048caf6 100644 --- a/project/ws/app/src/lib/routes/create-mdo/routes/designation/components/import-designation/import-designation.component.html +++ b/project/ws/app/src/lib/routes/create-mdo/routes/designation/components/import-designation/import-designation.component.html @@ -59,15 +59,17 @@
+ 'disableCard': designation?.isOrgDesignation}" (click)="selectDesignation(i)">

{{designation?.designation | titlecase}}

- + +
diff --git a/project/ws/app/src/lib/routes/create-mdo/routes/designation/components/import-designation/import-designation.component.ts b/project/ws/app/src/lib/routes/create-mdo/routes/designation/components/import-designation/import-designation.component.ts index b7957f8e..0f6623fa 100644 --- a/project/ws/app/src/lib/routes/create-mdo/routes/designation/components/import-designation/import-designation.component.ts +++ b/project/ws/app/src/lib/routes/create-mdo/routes/designation/components/import-designation/import-designation.component.ts @@ -135,17 +135,30 @@ export class ImportDesignationComponent implements OnInit, OnDestroy { }) } - selectDesignation(checked: Boolean, id: number) { - const index = this.igotDesignationsList.findIndex((e: any) => e.id === id) + // selectDesignation(checked: Boolean, id: number) { + + selectDesignation(index: number) { + // const index = this.igotDesignationsList.findIndex((e: any) => e.id === id) const designation = this.igotDesignationsList[index] - if (checked) { - designation['selected'] = true - this.selectedDesignationsList.push(designation) - this.designationsService.updateSelectedDesignationList(this.selectedDesignationsList) - // this.igotDesignationsList.splice(index, 1) - // this.igotDesignationsList.unshift(designation) - } else { - this.removeDesignation([designation]) + const maxSelectedDesignation = 1000 + const errorMessages = `You have exceeded more than ${maxSelectedDesignation} designation please talk to support team for support` + if (designation && !designation.isOrgDesignation) { + const checked = designation['selected'] !== true ? true : false + if (checked) { + designation['selected'] = true + this.selectedDesignationsList.push(designation) + if (this.totalSelectedCount > maxSelectedDesignation) { + this.openSnackbar(errorMessages, 2000, 'error') + designation['selected'] = false + } else { + this.designationsService.updateSelectedDesignationList(this.selectedDesignationsList) + } + + // this.igotDesignationsList.splice(index, 1) + // this.igotDesignationsList.unshift(designation) + } else { + this.removeDesignation([designation]) + } } } @@ -153,6 +166,11 @@ export class ImportDesignationComponent implements OnInit, OnDestroy { return this.selectedDesignationsList.length } + get totalSelectedCount() { + const designationCount = this.designationsService.selecteDesignationCount + return designationCount + } + removeDesignation(designationToRemoveList: any[]) { designationToRemoveList.forEach((designationToRemove: any) => { this.selectedDesignationsList = this.selectedDesignationsList diff --git a/project/ws/app/src/lib/routes/create-mdo/routes/designation/services/designations.service.ts b/project/ws/app/src/lib/routes/create-mdo/routes/designation/services/designations.service.ts index 2fce1640..8adb9139 100644 --- a/project/ws/app/src/lib/routes/create-mdo/routes/designation/services/designations.service.ts +++ b/project/ws/app/src/lib/routes/create-mdo/routes/designation/services/designations.service.ts @@ -75,6 +75,10 @@ export class DesignationsService { this.selectedDesignationList = selectedList } + get selecteDesignationCount(): number { + return this.orgDesignationList.length + this.selectedDesignationList.length + } + formateMasterDesignationList(response: any): Observable { const result: any = { formatedDesignationsLsit: [],