Skip to content

Commit

Permalink
Refactor anime-table for empty list from server JC-642
Browse files Browse the repository at this point in the history
  • Loading branch information
sherstkov committed Jul 24, 2024
1 parent 8bf0180 commit 489f7ca
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,10 @@
width: 150px;
height: 150px;
object-fit: contain;
padding: 10px;
}

.anime-list__empty-message {
text-align: center;
padding-block: 100px;
}
Original file line number Diff line number Diff line change
@@ -1,49 +1,53 @@
@if (animeList && animeList.length > 0) {
<table mat-table [dataSource]="animeList" [trackBy]="trackByAnimeId">
<!-- Image Column -->
<ng-container matColumnDef="image">
<th mat-header-cell *matHeaderCellDef> Image </th>
<td mat-cell *matCellDef="let element">
@if (element.imageSrc){
<img [src]="element.imageSrc" class="anime-image" alt="{{element.titleEnglish}}" >
} @else {
<p>No image</p>
}
</td>
</ng-container>
<!-- English Title Column -->
<ng-container matColumnDef="englishTitle">
<th mat-header-cell *matHeaderCellDef> English Title </th>
<td mat-cell *matCellDef="let element"> {{element.englishTitle | empty}} </td>
</ng-container>
@if (animeList) {
@if (animeList.length === 0){
<p class="anime-list__empty-message"> No animes to display. </p>
} @else {
<table mat-table [dataSource]="animeList" [trackBy]="trackByAnimeId">
<!-- Image Column -->
<ng-container matColumnDef="image">
<th mat-header-cell *matHeaderCellDef> Image </th>
<td mat-cell *matCellDef="let element">
@if (element.imageSrc){
<img [src]="element.imageSrc" class="anime-image" alt="{{element.titleEnglish}}" >
} @else {
<p>No image</p>
}
</td>
</ng-container>
<!-- English Title Column -->
<ng-container matColumnDef="englishTitle">
<th mat-header-cell *matHeaderCellDef> English Title </th>
<td mat-cell *matCellDef="let element"> {{element.englishTitle | empty}} </td>
</ng-container>

<!-- Japanese Title Column -->
<ng-container matColumnDef="japaneseTitle">
<th mat-header-cell *matHeaderCellDef> Japanese Title </th>
<td mat-cell *matCellDef="let element"> {{element.japaneseTitle | empty}} </td>
</ng-container>
<!-- Japanese Title Column -->
<ng-container matColumnDef="japaneseTitle">
<th mat-header-cell *matHeaderCellDef> Japanese Title </th>
<td mat-cell *matCellDef="let element"> {{element.japaneseTitle | empty}} </td>
</ng-container>

<!-- Aired Start Column -->
<ng-container matColumnDef="airedStart">
<th mat-header-cell *matHeaderCellDef> Aired Start </th>
<td mat-cell *matCellDef="let element"> {{(element.airedStart | date: 'longDate') | empty}} </td>
</ng-container>
<!-- Aired Start Column -->
<ng-container matColumnDef="airedStart">
<th mat-header-cell *matHeaderCellDef> Aired Start </th>
<td mat-cell *matCellDef="let element"> {{(element.airedStart | date: 'longDate') | empty}} </td>
</ng-container>

<!-- Type Column -->
<ng-container matColumnDef="type">
<th mat-header-cell *matHeaderCellDef> Type </th>
<td mat-cell *matCellDef="let element"> {{element.type}} </td>
</ng-container>
<!-- Type Column -->
<ng-container matColumnDef="type">
<th mat-header-cell *matHeaderCellDef> Type </th>
<td mat-cell *matCellDef="let element"> {{element.type}} </td>
</ng-container>

<!-- Status Column -->
<ng-container matColumnDef="status">
<th mat-header-cell *matHeaderCellDef> Status </th>
<td mat-cell *matCellDef="let element"> {{element.status}} </td>
</ng-container>
<!-- Status Column -->
<ng-container matColumnDef="status">
<th mat-header-cell *matHeaderCellDef> Status </th>
<td mat-cell *matCellDef="let element"> {{element.status}} </td>
</ng-container>

<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
}
} @else {
<camp-basic-progress-spinner padding="50px"></camp-basic-progress-spinner>
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { Anime } from '@js-camp/core/models/anime';
})
export class AnimeTableComponent {
/** Anime list. */
@Input() public animeList: Anime[] | null = [];
@Input() public animeList: Anime[] | null = null;

/** Columns names. */
protected readonly displayedColumns = ['image', 'englishTitle', 'japaneseTitle', 'airedStart', 'type', 'status'] as const;
Expand Down

0 comments on commit 489f7ca

Please sign in to comment.