diff --git a/src/app/components/application-list/application-list.component.html b/src/app/components/application-list/application-list.component.html
index 512643f..57cab10 100644
--- a/src/app/components/application-list/application-list.component.html
+++ b/src/app/components/application-list/application-list.component.html
@@ -32,7 +32,7 @@
@if (viewMode() === 'map') {
}
diff --git a/src/app/components/application-list/application-list.component.ts b/src/app/components/application-list/application-list.component.ts
index b517db8..3e7794e 100644
--- a/src/app/components/application-list/application-list.component.ts
+++ b/src/app/components/application-list/application-list.component.ts
@@ -43,16 +43,15 @@ export class ApplicationListComponent implements OnInit {
snackBar = inject(MatSnackBar)
environment = environment;
- applicationList = signal([]);
searchTerm = signal('');
filterCity = signal('');
sortField = signal('fullName');
- viewMode = signal<'map' | 'charts'>('map');
+ viewMode = signal<'map' | 'charts'>('map');
availableCities = signal(CITY_LIST);
filteredList = computed(() => {
- const apps = this.applicationList();
+ const apps = this.dataService.cachedApplicationList();
const term = this.searchTerm().toLowerCase();
const city = this.filterCity();
@@ -99,7 +98,7 @@ export class ApplicationListComponent implements OnInit {
constructor() {
effect(() => {
- const data = this.applicationList();
+ const data = this.dataService.cachedApplicationList();
if (data.length === 0) {
this.ageChartData.set({ labels: [], datasets: [] });
@@ -183,27 +182,27 @@ export class ApplicationListComponent implements OnInit {
ngOnInit(): void {
this.dataService.loadCandidateList().subscribe(data => {
- this.applicationList.set(data);
+ this.dataService.cachedApplicationList.set(data);
this.availableCities.set(this.getUniqueCities(data));
});
this.socketService.onCandidateRegistered().subscribe(newCandidate => {
- this.applicationList.update(list => [newCandidate, ...list]);
- this.availableCities.set(this.getUniqueCities(this.applicationList()));
+ this.dataService.cachedApplicationList.update(list => [newCandidate, ...list]);
+ this.availableCities.set(this.getUniqueCities(this.dataService.cachedApplicationList()));
});
this.socketService.onCandidateUpdated().subscribe(updatedCandidate => {
- this.applicationList.update(list =>
+ this.dataService.cachedApplicationList.update(list =>
list.map(app => app.id === updatedCandidate.id ? updatedCandidate : app)
);
- this.availableCities.set(this.getUniqueCities(this.applicationList()));
+ this.availableCities.set(this.getUniqueCities(this.dataService.cachedApplicationList()));
});
this.socketService.onCandidateDeleted().subscribe(deletedCandidateId => {
- this.applicationList.update(list =>
+ this.dataService.cachedApplicationList.update(list =>
list.filter(app => app.id !== deletedCandidateId)
);
- this.availableCities.set(this.getUniqueCities(this.applicationList()));
+ this.availableCities.set(this.getUniqueCities(this.dataService.cachedApplicationList()));
});
}
diff --git a/src/app/components/application/application.component.html b/src/app/components/application/application.component.html
index 34c3e88..ed765df 100644
--- a/src/app/components/application/application.component.html
+++ b/src/app/components/application/application.component.html
@@ -18,7 +18,7 @@
chevron_left
- {{ currentIndex() + 1 }} of {{ applicationList().length }}
+ {{ currentIndex() + 1 }} of {{ this.dataService.cachedApplicationList().length }}