Skip to content

Commit bd59be6

Browse files
authored
Merge pull request #165 from KB-iGOT/designation-select-limit-fix
org select limit fix
2 parents e5626ff + 6f0b696 commit bd59be6

File tree

3 files changed

+37
-13
lines changed

3 files changed

+37
-13
lines changed

project/ws/app/src/lib/routes/create-mdo/routes/designation/components/import-designation/import-designation.component.html

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,17 @@
5959
<div class="w-full flex flex-4 flex-row designations-card-container flex-wrap gap-5">
6060
<ng-container *ngFor="let designation of igotDesignationsList let i = index">
6161
<div class="flex flex-4 custom-user-card items-center justify-center" [ngClass]="{'active-card': (designation?.selected && !designation?.isOrgDesignation),
62-
'disableCard': designation?.isOrgDesignation}">
62+
'disableCard': designation?.isOrgDesignation}" (click)="selectDesignation(i)">
6363
<div class="custom-user-desc">
6464
<p [matTooltip]="designation?.designation" matTooltipPosition="above">{{designation?.designation |
6565
titlecase}}</p>
6666
</div>
6767

6868
<div class="check-action">
69-
<mat-checkbox [checked]="designation?.selected" [disabled]="designation?.isOrgDesignation"
70-
(change)="selectDesignation($event.checked, designation.id)"></mat-checkbox>
69+
<!-- <mat-checkbox [checked]="designation?.selected" [disabled]="designation?.isOrgDesignation"
70+
(change)="selectDesignation($event.checked, designation.id)"></mat-checkbox> -->
71+
<mat-checkbox [checked]="designation?.selected" (click)="$event.preventDefault()"
72+
[disabled]="designation?.isOrgDesignation"></mat-checkbox>
7173
</div>
7274
</div>
7375
</ng-container>

project/ws/app/src/lib/routes/create-mdo/routes/designation/components/import-designation/import-designation.component.ts

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -135,24 +135,42 @@ export class ImportDesignationComponent implements OnInit, OnDestroy {
135135
})
136136
}
137137

138-
selectDesignation(checked: Boolean, id: number) {
139-
const index = this.igotDesignationsList.findIndex((e: any) => e.id === id)
138+
// selectDesignation(checked: Boolean, id: number) {
139+
140+
selectDesignation(index: number) {
141+
// const index = this.igotDesignationsList.findIndex((e: any) => e.id === id)
140142
const designation = this.igotDesignationsList[index]
141-
if (checked) {
142-
designation['selected'] = true
143-
this.selectedDesignationsList.push(designation)
144-
this.designationsService.updateSelectedDesignationList(this.selectedDesignationsList)
145-
// this.igotDesignationsList.splice(index, 1)
146-
// this.igotDesignationsList.unshift(designation)
147-
} else {
148-
this.removeDesignation([designation])
143+
const maxSelectedDesignation = 1000
144+
const errorMessages = `You have exceeded more than ${maxSelectedDesignation} designation please talk to support team for support`
145+
if (designation && !designation.isOrgDesignation) {
146+
const checked = designation['selected'] !== true ? true : false
147+
if (checked) {
148+
designation['selected'] = true
149+
this.selectedDesignationsList.push(designation)
150+
if (this.totalSelectedCount > maxSelectedDesignation) {
151+
this.openSnackbar(errorMessages, 2000, 'error')
152+
designation['selected'] = false
153+
} else {
154+
this.designationsService.updateSelectedDesignationList(this.selectedDesignationsList)
155+
}
156+
157+
// this.igotDesignationsList.splice(index, 1)
158+
// this.igotDesignationsList.unshift(designation)
159+
} else {
160+
this.removeDesignation([designation])
161+
}
149162
}
150163
}
151164

152165
get selctedDesignationsCount() {
153166
return this.selectedDesignationsList.length
154167
}
155168

169+
get totalSelectedCount() {
170+
const designationCount = this.designationsService.selecteDesignationCount
171+
return designationCount
172+
}
173+
156174
removeDesignation(designationToRemoveList: any[]) {
157175
designationToRemoveList.forEach((designationToRemove: any) => {
158176
this.selectedDesignationsList = this.selectedDesignationsList

project/ws/app/src/lib/routes/create-mdo/routes/designation/services/designations.service.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ export class DesignationsService {
7575
this.selectedDesignationList = selectedList
7676
}
7777

78+
get selecteDesignationCount(): number {
79+
return this.orgDesignationList.length + this.selectedDesignationList.length
80+
}
81+
7882
formateMasterDesignationList(response: any): Observable<any> {
7983
const result: any = {
8084
formatedDesignationsLsit: [],

0 commit comments

Comments
 (0)