now removing issue is possible

This commit is contained in:
Alexander Kacheryants 2024-04-07 23:55:09 +03:00
parent 622b67047d
commit 1d7224ae42
4 changed files with 45 additions and 15 deletions

View File

@ -101,6 +101,15 @@ export class StorageService {
return this.set('booksIssued', issueBook); return this.set('booksIssued', issueBook);
} }
public async removeBookIssued(issue: bookIssued): Promise<void | undefined> {
let issueBook: bookIssued[] = await this.getBooksIssued();
issueBook = issueBook.filter((book) => {
return !(issue.bookId === book.bookId && issue.userId === book.userId);
});
console.log(issueBook);
return await this.set('booksIssued', issueBook);
}
public async getBookIssuedUsers(bookId: string): Promise<userIssue[]> { public async getBookIssuedUsers(bookId: string): Promise<userIssue[]> {
const issueBook: bookIssued[] = await this.getBooksIssued(); const issueBook: bookIssued[] = await this.getBooksIssued();
const book: Array<bookIssued> = issueBook.filter( const book: Array<bookIssued> = issueBook.filter(

View File

@ -18,21 +18,27 @@
</ion-toolbar> </ion-toolbar>
</ion-header> </ion-header>
<ion-list *ngFor="let item of booksName; index as i"> <ion-list *ngFor="let item of booksName; index as i" inset>
<ion-item [id]="'issue' + i" lines="none" button> <ion-item-sliding>
<ion-item lines="none" button>
<ion-card> <ion-card class="rent-card" [id]="'issue' + i">
<img class="itemImg" [alt]="item.book.volumeInfo.title" [src]="item.book.volumeInfo.imageLinks.thumbnail" /> <img class="itemImg" [alt]="item.book.volumeInfo.title" [src]="item.book.volumeInfo.imageLinks.thumbnail"/>
<ion-card-header> <ion-card-header>
<ion-card-title>{{item.book.volumeInfo.title}}</ion-card-title> <ion-card-title>{{ item.book.volumeInfo.title }}</ion-card-title>
<ion-card-subtitle>Выдан: {{item.user?.fio}}</ion-card-subtitle> <ion-card-subtitle>Выдан: {{ item.user?.fio }}</ion-card-subtitle>
</ion-card-header> </ion-card-header>
<ion-card-content> <ion-card-content>
Книга выдана {{dateParse(item.issue.date)}}. До {{dateParse(item.issue.dateTo)}} Книга выдана {{ dateParse(item.issue.date) }}. До {{ dateParse(item.issue.dateTo) }}
</ion-card-content> </ion-card-content>
<app-book-page [trigger]="'issue' + i" [item]="item.book"/>
</ion-card> </ion-card>
<app-book-page [trigger]="'issue' + i" [item]="item.book" />
</ion-item> </ion-item>
<ion-item-options>
<ion-item-option (click)="removeIssue(item.issue)" color="danger" expandable="true">
<ion-icon slot="icon-only" name="trash"></ion-icon>
</ion-item-option>
</ion-item-options>
</ion-item-sliding>
</ion-list> </ion-list>
</ion-content> </ion-content>

View File

@ -4,3 +4,10 @@
margin-top: 2vh; margin-top: 2vh;
display: block; display: block;
} }
.rent-card{
display: block;
margin-left: auto;
margin-right: auto;
width: 100%;
}

View File

@ -51,6 +51,14 @@ export class RentPage implements OnInit {
}); });
} }
public removeIssue(issue: bookIssued) {
this.storage.init().then(() => {
this.storage.removeBookIssued(issue).then(() => {
this.refresh();
});
});
}
public dateParse(date: string) { public dateParse(date: string) {
let _date = new Date(date); let _date = new Date(date);
return _date.toLocaleDateString(); return _date.toLocaleDateString();