few fixes

master
Константин 2023-11-09 11:07:30 +03:00
parent a6c86c097a
commit 2e320778bd
12 changed files with 47 additions and 32 deletions

27
package-lock.json generated
View File

@ -14938,7 +14938,8 @@
"version": "15.2.9",
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.9.tgz",
"integrity": "sha512-nOXUGqKkAEMlCcrhkDwWDzcVdKNH7MNRUXfNzsFc9zdeR/5p3qt6SVMN7OOE3NREyI7P6nzARc3S+6QDBjf3Jg==",
"dev": true
"dev": true,
"requires": {}
},
"@nodelib/fs.scandir": {
"version": "2.1.5",
@ -15572,7 +15573,8 @@
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
"integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
"dev": true
"dev": true,
"requires": {}
},
"adjust-sourcemap-loader": {
"version": "4.0.0",
@ -17634,7 +17636,8 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
"dev": true
"dev": true,
"requires": {}
},
"ieee754": {
"version": "1.2.1",
@ -18331,7 +18334,8 @@
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz",
"integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==",
"dev": true
"dev": true,
"requires": {}
},
"karma-source-map-support": {
"version": "1.4.0",
@ -19697,7 +19701,8 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
"integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
"dev": true
"dev": true,
"requires": {}
},
"postcss-modules-local-by-default": {
"version": "4.0.0",
@ -20905,7 +20910,8 @@
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
"dev": true,
"requires": {}
},
"json-schema-traverse": {
"version": "0.4.1",
@ -21295,7 +21301,8 @@
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
"dev": true,
"requires": {}
},
"json-schema-traverse": {
"version": "0.4.1",
@ -21383,7 +21390,8 @@
"version": "8.12.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz",
"integrity": "sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==",
"dev": true
"dev": true,
"requires": {}
}
}
},
@ -21537,7 +21545,8 @@
"version": "8.11.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
"integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
"dev": true
"dev": true,
"requires": {}
},
"y18n": {
"version": "5.0.8",

View File

@ -2,6 +2,7 @@ import {Component} from '@angular/core';
import {ActivatedRoute, NavigationEnd, Router} from "@angular/router";
import {Subscription} from "rxjs";
import {AuthenticationService} from "@app/_services";
import {PagesService} from "@app/_services/pages.service";
@Component({
templateUrl: 'administration-page.component.html',
@ -11,7 +12,7 @@ export class AdministrationPageComponent {
public tabs = <any>[];
routeSubscription: Subscription;
constructor(private route: ActivatedRoute, private router: Router, private authService: AuthenticationService) {
constructor(private route: ActivatedRoute, private router: Router, private authService: AuthenticationService, private pagesService: PagesService) {
this.routeSubscription = this.router.events.subscribe(event => {
if (event instanceof NavigationEnd && (this.route.snapshot.paramMap.get('tab') !== this.tab?.name)) this.switchTab(this.route.snapshot.paramMap.get('tab'));
});

View File

@ -15,4 +15,4 @@
</div>
</div> -->
<!-- <pages-tree [parent]="mainPage" *ngIf="mainPage"></pages-tree> -->
<pages-tree-item [page]="mainPage" *ngIf="mainPage?.children"></pages-tree-item>
<pages-tree></pages-tree>

View File

@ -16,13 +16,13 @@ export class AdministrateSitePagesComponent {
public mainPage:any;
ngOnInit() {
this.fetchRootPage();
this.fetchRootPage();
}
fetchRootPage() {
let include = ['children.children','parent.children'];
this.pagesService.root({include: include}).subscribe(res => {
this.mainPage = res.data[0].parent.data;
this.mainPage = res.data[0].parent?.data;
});
}

View File

@ -1,4 +1,3 @@
<setting-site></setting-site>
<router-outlet name="auth"></router-outlet>
<router-outlet name="slider"></router-outlet>
@ -10,16 +9,16 @@
<router-outlet></router-outlet>
</div>
<footer></footer>
</div> -->
<div class="wrapper">
<header></header>
<div class="content">
<left-content></left-content>
<div class="content">
<left-content></left-content>
<div class="main-content">
<router-outlet></router-outlet>
</div>
</div>
<right-content></right-content>
</div>
<footer></footer>

View File

@ -19,7 +19,7 @@ export class HomepageComponent {
}
ngOnInit() {
this.router.navigate(['glavnaia']);
//this.router.navigate(['glavnaia']);
this.load();
}
ngOnDestroy() {

View File

@ -40,7 +40,7 @@ export class PageComponent {
}
ngAfterContentInit() {
ngAfterContentInit() {
this.listsService.controls().subscribe(res => {
this.inited ? this.fetch() : this.inited = true;
});
@ -76,9 +76,10 @@ export class PageComponent {
'children.children'
];
this.pagesService.find(this.url, {include: include.join(',')}).subscribe(res => {
this.page = res?.data;
this.page = res?.data;
this.loading = false;
this.fetchMenu();
this.pagesService.setMetaFromPage(this.page);
}, error => {
this.loading = false;
});

View File

@ -17,7 +17,6 @@ import {HomepageModule} from "@app/_modules/pages/home/homepage.module";
import { SliderMenuComponent } from './menu/slider-menu/slider-menu.component';
const routes: Routes = [
{path: '', component: HomepageComponent},
{path: '**', component: PageComponent},
{path: 'pages-menu', component:SliderMenuComponent, outlet: 'slider'},
];

View File

@ -17,9 +17,9 @@ export class PagesTreeItemComponent {
public subscription: Subscription;
constructor(
private router: Router,
private pagesService:
PagesService, private formsService: FormsService,
private router: Router,
private pagesService:
PagesService, private formsService: FormsService,
private listsService: ListsService) {
}
@ -27,9 +27,6 @@ export class PagesTreeItemComponent {
this.subscription = this.listsService.controls(this.listId).subscribe(res => {
if (this.touched) this.fetch();
});
if(!this.parent){
this.active = true;
}
}

View File

@ -1,4 +1,3 @@
<div class="items" [sortablejs]="pages" [sortablejsOptions]="options">
<pages-tree-item [id]="page.id" [page]="page" [parent]="parent" *ngFor="let page of pages"></pages-tree-item>
</div>

View File

@ -35,7 +35,7 @@ export class PagesTreeComponent {
}
ngOnInit() {
this.fetchSubpages()
this.fetch()
// if (!this.parent) this.subscription = this.listsService.controls(this.listId).subscribe(res => {
// this.fetch();
// });
@ -80,7 +80,7 @@ export class PagesTreeComponent {
this.listsService.changed.next(event);
});
}
}

View File

@ -8,11 +8,13 @@ import {Observable, BehaviorSubject} from "rxjs";
export class PagesService {
constructor(private http: HttpClient) {
this.pagesTree = new BehaviorSubject({data:[]})
this.pageMeta = new BehaviorSubject<any>({title: '', description: '', keywords: ''});
this.changedPages()
}
public pagesTree: BehaviorSubject<any>
public pagesTree: BehaviorSubject<any>;
public editMode = new BehaviorSubject<boolean>(false);
public pageMeta: BehaviorSubject<any>;
changedPages(){
let include = ['children.children.children.children.children.children.children'];
@ -51,4 +53,12 @@ export class PagesService {
move(id: string, data: any): Observable<any> {
return this.http.put(`${environment.apiUrl}/api/pages/${id}`, data);
}
setMetaFromPage(page: any) {
this.setMeta({title: page?.title || page?.name, description: page?.description || '', keywords: page?.keywords || ''});
}
setMeta(meta: any) {
this.pageMeta.next(meta);
}
}