mirror of
https://gitlab.com/walljm/dynamicbible.git
synced 2025-07-23 07:19:50 -04:00
Edit saved page title
This commit is contained in:
parent
f723efbf66
commit
b9739a3933
@ -2,6 +2,7 @@ import { Component, Inject } from '@angular/core';
|
||||
import { FormGroup, FormBuilder } from '@angular/forms';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
import { AppService } from '../../services/app.service';
|
||||
import { SavedPage } from 'src/app/models/page-state';
|
||||
|
||||
@Component({
|
||||
selector: 'app-page-edit-modal',
|
||||
@ -13,18 +14,21 @@ export class PageEditModalComponent {
|
||||
dialogTitle = 'Save Page using Current Cards';
|
||||
|
||||
constructor(
|
||||
@Inject(MAT_DIALOG_DATA) public title: string,
|
||||
@Inject(MAT_DIALOG_DATA) public title: PageEditModalData,
|
||||
public dialogRef: MatDialogRef<PageEditModalComponent>,
|
||||
private appService: AppService,
|
||||
private fb: FormBuilder
|
||||
) {
|
||||
if (title) {
|
||||
this.dialogTitle = 'Edit Page Name';
|
||||
} else {
|
||||
title = {
|
||||
title: '',
|
||||
savedPage: null,
|
||||
};
|
||||
}
|
||||
|
||||
this.form = this.fb.group({
|
||||
title,
|
||||
});
|
||||
this.form = this.fb.group(title);
|
||||
}
|
||||
|
||||
cancel() {
|
||||
@ -32,7 +36,19 @@ export class PageEditModalComponent {
|
||||
}
|
||||
|
||||
save() {
|
||||
this.appService.savePage(this.form.get('title').value);
|
||||
if (this.dialogTitle === 'Edit Page Name') {
|
||||
this.appService.updateSavedPage({
|
||||
...this.title.savedPage,
|
||||
title: this.form.get('title').value,
|
||||
});
|
||||
} else {
|
||||
this.appService.savePage(this.form.get('title').value);
|
||||
}
|
||||
this.dialogRef.close();
|
||||
}
|
||||
}
|
||||
|
||||
export interface PageEditModalData {
|
||||
title: string;
|
||||
savedPage: SavedPage;
|
||||
}
|
||||
|
@ -29,6 +29,10 @@
|
||||
<mat-icon>more_vert</mat-icon>
|
||||
</button>
|
||||
<mat-menu #moreMenu="matMenu">
|
||||
<button mat-menu-item (click)="onEditPageTitle()">
|
||||
<mat-icon>edit</mat-icon>
|
||||
<span>Edit Page Title</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="onRemovePage()">
|
||||
<mat-icon>delete</mat-icon>
|
||||
<span>Delete Saved Page</span>
|
||||
|
@ -8,6 +8,7 @@ import { CardItem, CardType } from 'src/app/models/card-state';
|
||||
import { NoteItem } from 'src/app/models/note-state';
|
||||
import { OkCancelModalComponent, OkCancelResult } from '../ok-cancel-modal/ok-cancel-modal.component';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { PageEditModalComponent } from '../page-edit-modal/page-edit-modal.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-saved-page-card',
|
||||
@ -81,6 +82,15 @@ export class SavedPageCardComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
onEditPageTitle() {
|
||||
this.dialog.open(PageEditModalComponent, {
|
||||
data: {
|
||||
title: this.savedPage.title,
|
||||
savedPage: this.savedPage,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
moveSavedPageCard(event: CdkDragDrop<string[]>) {
|
||||
this.appService.moveSavedPageCard(this.savedPage, event.previousIndex, event.currentIndex);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user