Преглед изворни кода

[add]

没年月日と氏名順にソートする処理を追加
poohr пре 3 недеља
родитељ
комит
448aa81cfd
1 измењених фајлова са 9 додато и 6 уклоњено
  1. 9
    6
      src/app/pages/memorial-list/memorial-list.ts

+ 9
- 6
src/app/pages/memorial-list/memorial-list.ts Прегледај датотеку

15
 })
15
 })
16
 export class MemorialList {
16
 export class MemorialList {
17
   memorialList: Memorial[] = [];
17
   memorialList: Memorial[] = [];
18
-  targetYear: number = 2026;
18
+  targetYear: number = new Date().getFullYear();
19
   selectedMemorialType = 'all';
19
   selectedMemorialType = 'all';
20
   memorialTypeFilters = [
20
   memorialTypeFilters = [
21
     { label: 'すべて', value: 'all' },
21
     { label: 'すべて', value: 'all' },
35
   createMemorialList(): void {
35
   createMemorialList(): void {
36
     this.memorialList = [];
36
     this.memorialList = [];
37
     const kakochoList = this.kakochoService.getKakochoList();
37
     const kakochoList = this.kakochoService.getKakochoList();
38
-
39
     kakochoList.forEach((kakocho) => {
38
     kakochoList.forEach((kakocho) => {
40
       const deathYear = Number(kakocho.deathDate.slice(0, 4));
39
       const deathYear = Number(kakocho.deathDate.slice(0, 4));
41
       const yearDiff = this.targetYear - deathYear;
40
       const yearDiff = this.targetYear - deathYear;
42
       const memorialType = this.getMemorialType(yearDiff);
41
       const memorialType = this.getMemorialType(yearDiff);
43
-
44
       if (memorialType === '') {
42
       if (memorialType === '') {
45
         return;
43
         return;
46
       }
44
       }
47
-
48
       if (this.selectedMemorialType !== 'all' && this.selectedMemorialType !== memorialType) {
45
       if (this.selectedMemorialType !== 'all' && this.selectedMemorialType !== memorialType) {
49
         return;
46
         return;
50
       }
47
       }
51
-
52
       const danka = this.dankaService.getDankaById(kakocho.dankaId);
48
       const danka = this.dankaService.getDankaById(kakocho.dankaId);
53
-
54
       const memorialTarget: Memorial = {
49
       const memorialTarget: Memorial = {
55
         id: kakocho.id,
50
         id: kakocho.id,
56
         dankaId: kakocho.dankaId,
51
         dankaId: kakocho.dankaId,
63
       };
58
       };
64
       this.memorialList.push(memorialTarget);
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
   changeMemorialType(memorialType: string): void {
71
   changeMemorialType(memorialType: string): void {

Loading…
Откажи
Сачувај