From 109772f967edd9422479fbcba5f95b38694a77d6 Mon Sep 17 00:00:00 2001 From: Boris Voropaev Date: Thu, 23 Nov 2023 15:46:10 +0300 Subject: [PATCH] refresh root pages --- .../site-pages/administrate-site-pages.component.ts | 5 +++++ .../objects/form/slider/slider-form.component.ts | 3 +++ .../pages/tree/item/pages-tree-item.component.ts | 12 ++++++++++++ src/app/_modules/pages/tree/pages-tree.component.ts | 3 +++ src/app/app.component.ts | 8 +++----- 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/app/_modules/administration/site-pages/administrate-site-pages.component.ts b/src/app/_modules/administration/site-pages/administrate-site-pages.component.ts index 333f91f..385edb6 100644 --- a/src/app/_modules/administration/site-pages/administrate-site-pages.component.ts +++ b/src/app/_modules/administration/site-pages/administrate-site-pages.component.ts @@ -24,6 +24,11 @@ export class AdministrateSitePagesComponent { addLocale() { this.formsService.createModel('localePage', null, 'pages-tree-root'); + this.pagesService.root({include:'children'}).subscribe( + res => { + this.pagesService.rootPages = res + } + ) } toggle() { diff --git a/src/app/_modules/objects/form/slider/slider-form.component.ts b/src/app/_modules/objects/form/slider/slider-form.component.ts index b77c414..18a2935 100644 --- a/src/app/_modules/objects/form/slider/slider-form.component.ts +++ b/src/app/_modules/objects/form/slider/slider-form.component.ts @@ -132,6 +132,9 @@ export class SliderFormComponent { window.open(res.asset.data.links[res.action || 'download'], "_blank"); } else { this.listsService.refresh(this.list); + this.pagesService.root({include:'children'}).subscribe( + res => { this.pagesService.rootPages = res } + ) if(this.type=='page')this.menuService.setPagesTree(); this.close(); } diff --git a/src/app/_modules/pages/tree/item/pages-tree-item.component.ts b/src/app/_modules/pages/tree/item/pages-tree-item.component.ts index eb7fd39..adab3d8 100644 --- a/src/app/_modules/pages/tree/item/pages-tree-item.component.ts +++ b/src/app/_modules/pages/tree/item/pages-tree-item.component.ts @@ -77,6 +77,7 @@ export class PagesTreeItemComponent { add() { this.formsService.createModel('page', {extraProps: {parent: this.page.id}}, this.listId); this.active = true; + this.refresh() } edit() { @@ -86,21 +87,32 @@ export class PagesTreeItemComponent { delete() { if (confirm('r u sure?')) this.pagesService.delete(this.page.id).subscribe(res => { this.listsService.refresh(this.parentListId); + this.refresh(); }); + } restore() { if (confirm(`Восстановить страницу ${this.page.name}?`)) this.pagesService.restore(this.page.id, {}).subscribe(res => { this.listsService.refresh(this.parentListId); + this.refresh(); }); + } clone() { if (confirm(`Копировать страницу ${this.page.name}?`)) this.pagesService.clone(this.page.id, {recursive: true}).subscribe(res => { this.listsService.refresh(this.parentListId); + this.refresh(); }); } + private refresh(){ + this.pagesService.root({include:'children'}).subscribe( + res => { this.pagesService.rootPages = res } + ) + } + toggle() { this.active = !this.active; } diff --git a/src/app/_modules/pages/tree/pages-tree.component.ts b/src/app/_modules/pages/tree/pages-tree.component.ts index 548d55d..69b9bc0 100644 --- a/src/app/_modules/pages/tree/pages-tree.component.ts +++ b/src/app/_modules/pages/tree/pages-tree.component.ts @@ -72,6 +72,9 @@ export class PagesTreeComponent { move(event: any) { this.pagesService.move(event.item.id, {parent: this.parent?.id, ord: event.newIndex}).subscribe(res => { this.listsService.refresh(this.parent?.id); + this.pagesService.root({include:'children'}).subscribe( + res => { this.pagesService.rootPages = res } + ) }); } } diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 833981b..bd11696 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -10,7 +10,6 @@ import {Subscription} from "rxjs"; styleUrls: ['app.component.scss']}) export class AppComponent { public subscription: Subscription; - private rootSubscription: Subscription constructor(private authService: AuthenticationService, private pagesService: PagesService, private titleService: Title, private metaService: Meta) { authService.checkUser(); @@ -20,15 +19,14 @@ export class AppComponent { } ngOnInit() { - this.rootSubscription = this.pagesService.root({include:'children'}).subscribe(res => { - this.pagesService.rootPages = res - }); + this.pagesService.root({include:'children'}).subscribe( + res => { this.pagesService.rootPages = res } + ) } ngOnDestroy() { this.subscription?.unsubscribe(); - this.rootSubscription.unsubscribe() } applyMetaData(data: any) {