Compare commits

...

2 Commits

Author SHA1 Message Date
Boris Voropaev e3a84efda8 edit switch 2023-11-03 14:59:43 +03:00
Boris Voropaev 57797b191f bug fix 2023-11-03 11:23:40 +03:00
23 changed files with 88 additions and 59 deletions

View File

@ -190,7 +190,9 @@
"projects/app-vniigaz/src/assets/css/list-items.scss",
"projects/app-vniigaz/src/assets/css/documents-lists.scss",
"projects/app-vniigaz/src/assets/css/slider.scss",
"projects/app-vniigaz/src/assets/css/main-content.scss",
"projects/app-vniigaz/src/styles.scss"
],
"scripts": []
},
@ -283,6 +285,7 @@
"projects/app-vniigaz/src/assets/css/list-items.scss",
"projects/app-vniigaz/src/assets/css/documents-lists.scss",
"projects/app-vniigaz/src/assets/css/slider.scss",
"projects/app-vniigaz/src/assets/css/main-content.scss",
"projects/app-vniigaz/src/styles.scss"
],
"scripts": []

View File

@ -126,4 +126,8 @@
}
}
.main-content edit-switch{
display: none;
}

View File

@ -0,0 +1,8 @@
.content{
.nav-info{
.toggle{
display: none !important;
}
}
}

View File

@ -12,9 +12,4 @@
</div>
</div>
</div>
<div class="edit-field" *ngIf="editable">
<div class="edit-field-row switch-host" (click)="toggleEditMode()">
Режим редактирования
<switch [val]="editMode"></switch>
</div>
</div>
<edit-switch></edit-switch>

View File

Before

Width:  |  Height:  |  Size: 239 B

After

Width:  |  Height:  |  Size: 239 B

View File

@ -21,7 +21,6 @@ export class HeaderUserBarComponent {
private router: Router,
private pagesService: PagesService) {
this.subscriptionUser = this.authService.user.subscribe(user => {
console.log(user)
this.user = user;
});
}

View File

@ -31,38 +31,18 @@ export class LeftContentComponent {
}
ngOnInit(){
this.routeSubscription = this.router.events.subscribe(event => {
if (event instanceof NavigationEnd) this.onNavigationEnd(event);
});
this.pagesService.editMode.subscribe(
mode => {
this.editMode = mode;
}
)
}
onNavigationEnd(event: NavigationEnd) {
let url = event.url.split('(')[0];
url = url.split('?')[0];
if (url !== this.url) {
this.url = url;
this.fetch()
}
}
fetch(){
let include = [
'permissions',
'parents'
];
this.pagesService.find(this.url, {include: include.join(',')}).subscribe(
resp => {
let page = resp?.data;
this.pagesService.currentPage.subscribe(
page => {
if (page){
this.background = page.image?.data?.links?.full;
if (this.background) this.background = `url(${this.background})`;
this.pageName = (page.parents.data[2]||page).name;
this.editable = page.permissions.edit || page.permissions.anything;
this.pageName = (page.parents?.data[2]||page).name;
this.editable = page.permissions?.edit || page.permissions?.anything;
this.pageID = page.id
}else{
this.pageName = null;
@ -73,10 +53,6 @@ export class LeftContentComponent {
)
}
toggleEditMode(){
this.pagesService.editMode.next(!this.editMode)
}
editBackground() {
this.formsService.createModel('page-background', {extraProps: {attach: {pageId: this.pageID}}});
}

View File

@ -1,10 +1,13 @@
<div class="content" *ngIf="page">
<div class="nav-info switch-host" *ngIf="isEditable">
<!-- <div class="nav-info switch-host" *ngIf="isEditable">
<div class="toggle" (click)="toggleEditMode()">
<div class="label">Режим редактирования</div>
<switch [val]="editMode"></switch>
</div>
</div>
</div> -->
<edit-switch></edit-switch>
<div class="limiter">
<page-breadcrumbs [page]="page"></page-breadcrumbs>

View File

@ -45,6 +45,11 @@ export class PageComponent {
this.listsService.controls().subscribe(res => {
this.inited ? this.fetch() : this.inited = true;
});
this.pagesService.editMode.subscribe(
mode => {
this.editMode = mode;
}
)
}
ngOnDestroy() {
@ -75,16 +80,13 @@ export class PageComponent {
];
this.pagesService.find(this.url, {include: include.join(',')}).subscribe(res => {
this.page = res?.data;
this.pagesService.currentPage.next(this.page)
this.loading = false;
}, error => {
this.loading = false;
});
}
toggleEditMode() {
this.editMode = !this.editMode;
}
editBackground() {
this.formsService.createModel('page-background', {extraProps: {attach: {pageId: this.page.id}}});
}

View File

@ -34,7 +34,7 @@ const routes: Routes = [
PageSidebarsModule,
RegistriesModule,
PublicationsModule,
VigetModule
VigetModule,
],
declarations: [
PageComponent,
@ -43,10 +43,10 @@ const routes: Routes = [
ContentPageComponent,
PublicationsPageComponent,
RegistryPageComponent,
TkStructurePageComponent
TkStructurePageComponent,
],
exports: [
RouterModule
RouterModule,
]
})
export class PagesRoutingModule {}

View File

@ -19,6 +19,7 @@ import {SortablejsModule} from "@dustfoundation/ngx-sortablejs";
import { VigetModule } from '../viget/viget.module';
import { SliderMenuComponent } from './menu/slider-menu/slider-menu.component';
@NgModule({
imports: [
CommonModule,
@ -41,13 +42,13 @@ import { SliderMenuComponent } from './menu/slider-menu/slider-menu.component';
PagesTreeItemComponent,
SearchSectionsComponent,
SearchSectionsItemComponent,
SliderMenuComponent,
SliderMenuComponent
],
exports: [
PagesMenuComponent,
PagesListComponent,
SearchSectionsComponent,
PagesTreeComponent,
PagesTreeComponent
]
})
export class PagesModule {}

View File

@ -18,7 +18,7 @@ export class PageMenuComponent {
}
ngOnInit() {
//console.log(this.section)
}

View File

@ -13,7 +13,6 @@ export class DocumentSectionComponent {
}
ngOnInit() {
// console.log(this.section);
}
get title(){

View File

@ -15,7 +15,7 @@ export class ImageGroupSectionComponent {
}
ngOnInit() {
// console.log(this.section);
}

View File

@ -30,7 +30,6 @@ export class MemberSectionListComponent {
}
})
})
console.log(fields['member-doc'].links.download);
return fields
}

View File

@ -23,7 +23,7 @@ export class PublicationsListItemMenuComponent {
}
ngOnInit() {
//console.log(this.data);
}
edit(id: string) {

View File

@ -0,0 +1,6 @@
<div class="edit-field" *ngIf="editable">
<div class="edit-field-row switch-host" (click)="toggle()">
Режим редактирования
<switch [val]="editMode"></switch>
</div>
</div>

View File

@ -0,0 +1,36 @@
import {Component,OnInit} from '@angular/core';
import {PagesService} from "@app/_services/pages.service";
import {Subscription} from "rxjs";
@Component({
selector: 'edit-switch',
templateUrl: 'edit-switch.component.html',
styleUrls: ['edit-switch.component.scss']
})
export class EditSwitch implements OnInit {
public editMode = false;
public editable:string;
constructor(
private pagesService: PagesService,
// private subscription: Subscription
) {}
ngOnInit(){
console.log('es',this.pagesService.currentPage)
this.pagesService.currentPage.subscribe( page =>{
console.log('PAGE',page)
this.editable = page.permissions?.edit || page.permissions?.anything;
});
this.pagesService.editMode.subscribe(
editMode => this.editMode = editMode
)
}
toggle(){
this.pagesService.editMode.next(!this.editMode)
}
}

View File

@ -6,6 +6,7 @@ import { QRCodeModule } from "angularx-qrcode";
import {DropDownComponent } from "./drop-down/drop-down.component";
import { SliderComponent } from './slider/slider.component';
import { SwitchComponent } from './switch/switch.component';
import { EditSwitch } from "./edit-switch/edit-switch.component";
@NgModule({
@ -19,13 +20,15 @@ import { SwitchComponent } from './switch/switch.component';
DropDownComponent,
SliderComponent,
SwitchComponent,
EditSwitch
],
exports: [
IcoComponent,
QRCodeComponent,
DropDownComponent,
SliderComponent,
SwitchComponent
SwitchComponent,
EditSwitch
]
})
export class VigetModule {

View File

@ -35,8 +35,6 @@ export class AuthenticationService {
return this.privileges?.mainCompanyMember;
}
signup(data: any): Observable<any> {
return this.http.post(`${environment.apiUrl}/api/signup`, data);
}
@ -52,24 +50,20 @@ export class AuthenticationService {
}
checkUser(params?: any) {
console.log('checkUser',params)
if (this.token.value) {
if (!params) params = {include: 'avatar,privileges'};
console.log('URL',environment.apiUrl)
this.http.get(`${environment.apiUrl}/api/me`, {params: params}).subscribe((res: any) => {
this.user.next(res?.data);
});
}
}
logout() {
localStorage.removeItem('oauthToken');
this.token.next(null);
this.user.next(null);
}
forget(email: string): Observable<any> {
return this.http.post(`${environment.apiUrl}/api/passwords/reset`, {email});
}

View File

@ -13,6 +13,7 @@ export class PagesService {
public pagesTree: BehaviorSubject<any>
public editMode = new BehaviorSubject<boolean>(false);
public currentPage = new BehaviorSubject<any>({data:[]})
changedPages(){
let include = ['children.children.children.children.children.children.children'];

View File

@ -15,7 +15,7 @@ import {ApplicationsModule} from "@app/_modules/applications/applications.module
import {UsersModule} from "@app/_modules/users/users.module";
import {SearchModule} from "@app/_modules/search/search.module";
import {PagesRoutingModule} from "@app/_modules/pages/pages-routing.module";
@NgModule({
imports: [
BrowserModule,