Kaynağa Gözat

[add]

没年月日と氏名順にソートする処理を追加
poohr 3 hafta önce
ebeveyn
işleme
448aa81cfd
1 değiştirilmiş dosya ile 9 ekleme ve 6 silme
  1. 9
    6
      src/app/pages/memorial-list/memorial-list.ts

+ 9
- 6
src/app/pages/memorial-list/memorial-list.ts Dosyayı Görüntüle

@@ -15,7 +15,7 @@ import { FormsModule } from '@angular/forms';
15 15
 })
16 16
 export class MemorialList {
17 17
   memorialList: Memorial[] = [];
18
-  targetYear: number = 2026;
18
+  targetYear: number = new Date().getFullYear();
19 19
   selectedMemorialType = 'all';
20 20
   memorialTypeFilters = [
21 21
     { label: 'すべて', value: 'all' },
@@ -35,22 +35,17 @@ export class MemorialList {
35 35
   createMemorialList(): void {
36 36
     this.memorialList = [];
37 37
     const kakochoList = this.kakochoService.getKakochoList();
38
-
39 38
     kakochoList.forEach((kakocho) => {
40 39
       const deathYear = Number(kakocho.deathDate.slice(0, 4));
41 40
       const yearDiff = this.targetYear - deathYear;
42 41
       const memorialType = this.getMemorialType(yearDiff);
43
-
44 42
       if (memorialType === '') {
45 43
         return;
46 44
       }
47
-
48 45
       if (this.selectedMemorialType !== 'all' && this.selectedMemorialType !== memorialType) {
49 46
         return;
50 47
       }
51
-
52 48
       const danka = this.dankaService.getDankaById(kakocho.dankaId);
53
-
54 49
       const memorialTarget: Memorial = {
55 50
         id: kakocho.id,
56 51
         dankaId: kakocho.dankaId,
@@ -63,6 +58,14 @@ export class MemorialList {
63 58
       };
64 59
       this.memorialList.push(memorialTarget);
65 60
     });
61
+    this.memorialList.sort((a, b) => {
62
+      const deathDateA = new Date(a.deathDate).getTime();
63
+      const deathDateB = new Date(b.deathDate).getTime();
64
+      if (deathDateA !== deathDateB) {
65
+        return deathDateA - deathDateB;
66
+      }
67
+      return a.name.localeCompare(b.name, 'ja');
68
+    });
66 69
   }
67 70
 
68 71
   changeMemorialType(memorialType: string): void {

Loading…
İptal
Kaydet