From b020f09fd4b7b7291aca939c1d70b8a977841aaa Mon Sep 17 00:00:00 2001 From: Jason Wall Date: Wed, 5 Aug 2020 18:36:45 -0400 Subject: [PATCH] Update Saved pages --- app/db/src/app/app.component.ts | 4 ++++ app/db/src/app/services/app.service.ts | 33 ++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/app/db/src/app/app.component.ts b/app/db/src/app/app.component.ts index 8de66df7..3cbd79b6 100644 --- a/app/db/src/app/app.component.ts +++ b/app/db/src/app/app.component.ts @@ -64,6 +64,10 @@ export class AppComponent extends SubscriberComponent implements AfterViewInit { this.dialog.open(PageEditModalComponent); } + updatePage() { + this.appService.updatePage(); + } + createNote() { this.dialog.open(NoteEditModalComponent); } diff --git a/app/db/src/app/services/app.service.ts b/app/db/src/app/services/app.service.ts index e11f15ad..7e3c130d 100644 --- a/app/db/src/app/services/app.service.ts +++ b/app/db/src/app/services/app.service.ts @@ -317,6 +317,39 @@ export class AppService extends createStateService(reducer, initialState) { ); } + updatePage() { + const state = this.getState(); + + const savedPages = [ + ...state.savedPages.filter((o) => o.id === state.currentPage.id), + { + id: state.currentPage.id, + title: state.currentPage.title, + queries: [...state.cards], + }, + ]; + + this.localStorageService.set('savedPages', savedPages).subscribe( + // success + () => { + this.dispatch({ + type: 'UPDATE_SAVED_PAGES', + savedPages, + }); + }, + // error + () => { + this.dispatch({ + type: 'UPDATE_ERROR', + error: { + // tslint:disable-next-line: quotemark + msg: "Something went wrong and the page wasn't saved. :(", + }, + }); + } + ); + } + //#endregion //#region Display Settings