diff --git a/projects/app/_modules/layout/footer/footer.component.ts b/projects/app/_modules/layout/footer/footer.component.ts index e7919b7..e913293 100644 --- a/projects/app/_modules/layout/footer/footer.component.ts +++ b/projects/app/_modules/layout/footer/footer.component.ts @@ -1,10 +1,29 @@ import {Component} from '@angular/core'; +import {AuthenticationService} from "@app/_services"; +import {Subscription} from "rxjs"; + +import { html } from '@environments/htmlenv'; + @Component({ selector: 'footer', - templateUrl: 'footer.component.html', + templateUrl: html.footer||'footer.component.html', styleUrls: ['footer.component.scss'] }) export class FooterComponent { + subscription: Subscription; + public user: any; + constructor(public authenticationService: AuthenticationService) { + this.subscription = this.authenticationService.user.subscribe(user => { + this.user = user; + }); + } + + ngOnInit() { + } + + login() { + this.authenticationService.popup('login'); + } } diff --git a/projects/app/_modules/layout/header/header.component.ts b/projects/app/_modules/layout/header/header.component.ts index f0a98f5..26d854a 100644 --- a/projects/app/_modules/layout/header/header.component.ts +++ b/projects/app/_modules/layout/header/header.component.ts @@ -3,10 +3,11 @@ import {PagesService} from "@app/_services/pages.service"; import {AuthenticationService, ListsService} from "@app/_services"; import {Subscription} from "rxjs"; import { Router } from '@angular/router'; +import { html } from '@environments/htmlenv'; @Component({ selector: 'header', - templateUrl: 'header.component.html', + templateUrl: html.header||'header.component.html', styleUrls: ['header.component.scss'] }) export class HeaderComponent { @@ -29,6 +30,7 @@ export class HeaderComponent { } ngOnInit() { + console.log(html.header) let showSettingSite = localStorage.getItem('showSettingSite'); if (showSettingSite === null || showSettingSite === 'no') { localStorage.setItem('showSettingSite', 'no'); diff --git a/projects/app/_modules/layout/left-content/left-content.component.ts b/projects/app/_modules/layout/left-content/left-content.component.ts index 333ed5b..100b87b 100644 --- a/projects/app/_modules/layout/left-content/left-content.component.ts +++ b/projects/app/_modules/layout/left-content/left-content.component.ts @@ -1,10 +1,95 @@ import { Component } from '@angular/core'; +import { Router, NavigationEnd } from '@angular/router'; +import { Subscription } from "rxjs"; +import { PagesService } from '@app/_services/pages.service'; +import { FormsService } from '@app/_services'; +import { html } from '@environments/htmlenv'; + @Component({ selector: 'left-content', - templateUrl: './left-content.component.html', + templateUrl: html.leftContent||'./left-content.component.html', styleUrls: ['./left-content.component.scss'] }) export class LeftContentComponent { - + + public url: string = ""; + public background:string; + public pageName:string; + public editable:string; + public editMode: boolean = false; + private pageID: string; + private routeSubscription: Subscription; + + + + constructor( + private router: Router, + private pagesService:PagesService, + private formsService: FormsService) { + + } + + 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; + if (page){ + console.log(page.parents.data); + 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.pageID = page.id + }else{ + this.pageName = null; + this.editable = null; + this.pagesService.editMode.next(false) + } + } + ) + } + + toggleEditMode(){ + this.pagesService.editMode.next(!this.editMode) + } + + editBackground() { + this.formsService.createModel('page-background', {extraProps: {attach: {pageId: this.pageID}}}); + } + + removeBackground() { + if (confirm('Вы деествительно хотите удалить этот фон?')) { + this.pagesService.deleteBackground(this.pageID).subscribe(res => { + }); + } + } + } + + + diff --git a/projects/app/_services/pages.service.ts b/projects/app/_services/pages.service.ts index 8dafb06..c536f8e 100644 --- a/projects/app/_services/pages.service.ts +++ b/projects/app/_services/pages.service.ts @@ -12,6 +12,7 @@ export class PagesService { } public pagesTree: BehaviorSubject + public editMode = new BehaviorSubject(false); changedPages(){ let include = ['children.children.children.children.children.children.children']; diff --git a/projects/environments/htmlenv.ts b/projects/environments/htmlenv.ts index 42ef743..369221e 100644 --- a/projects/environments/htmlenv.ts +++ b/projects/environments/htmlenv.ts @@ -1,3 +1,6 @@ export const html = { - project:'root' + project:'root', + header:'', + leftContent:'', + footer:'', } \ No newline at end of file diff --git a/projects/vniigaz/environments/htmlenv.ts b/projects/vniigaz/environments/htmlenv.ts index f6aff3e..8b9f2dd 100644 --- a/projects/vniigaz/environments/htmlenv.ts +++ b/projects/vniigaz/environments/htmlenv.ts @@ -1,3 +1,6 @@ export const html = { - project:'vniigaz' + project:'vniigaz', + header:'../../../../../projects/vniigaz/src/assets/html/header.component.html', + leftContent:'../../../../../projects/vniigaz/src/assets/html/left-content.component.html', + footer:'../../../../../projects/vniigaz/src/assets/html/footer.component.html', } \ No newline at end of file diff --git a/projects/vniigaz/src/assets/css/documents-lists.scss b/projects/vniigaz/src/assets/css/documents-lists.scss index 953a2c2..ac4224b 100644 --- a/projects/vniigaz/src/assets/css/documents-lists.scss +++ b/projects/vniigaz/src/assets/css/documents-lists.scss @@ -1,5 +1,5 @@ .documents.list.default { - background: transparent url('~src/assets/images/icons/document/document_pdf_60dp.svg') 0 0 no-repeat; + background: transparent url('~projects/vniigaz/src/assets/images/icons/document/document_pdf_60dp.svg') 0 0 no-repeat; min-height: 60px; padding-left: 72px; font-size: 20px; @@ -40,7 +40,7 @@ margin: 0 12px 4px 0; border: solid 1px rgba(0, 0, 0, 0.06); border-radius: 12px; - //background: #e3eff9 url('~src/assets/images/icons/open_in_new_18dp.svg') calc(100% - 8px) 50% no-repeat; + //background: #e3eff9 url('~projects/vniigaz/src/assets/images/icons/open_in_new_18dp.svg') calc(100% - 8px) 50% no-repeat; font-size: 0.875rem; a { color: #000000; diff --git a/projects/vniigaz/src/assets/css/grid.scss b/projects/vniigaz/src/assets/css/grid.scss index e69de29..e283d26 100644 --- a/projects/vniigaz/src/assets/css/grid.scss +++ b/projects/vniigaz/src/assets/css/grid.scss @@ -0,0 +1,63 @@ +.footer { + + width: 100%; + padding: 40px 100px; + background-color: var(--prime-act); + color: white; + display: flex; + flex-direction: column; + .block{ + a{ + cursor: pointer; + color: white; + :hover{ + color: white; + } + } + display: flex; + flex-wrap: wrap; + grid-gap: 20px; + &>div{ + padding-bottom: 40px; + } + div{ + display: block; + flex-grow: 1; + flex-basis: 196px; + flex-shrink: 0; + margin-bottom: -16px; + div { + margin-bottom: 16px; + } + } + .icons a{ + margin-right: 16px; + } + .menu{ + display: block; + } + } + + .line{ + width: 100%; + height: 1px; + background-color: var(--prime); + margin-bottom: 40px; + } + + .copyright{ + display: flex; + justify-content: space-between; + font-size: 16px; + font-style: normal; + font-weight: 400; + } + } + + + @media screen and (max-width: 1330px){ + .footer{ + padding: 40px 24px; + } + } + \ No newline at end of file diff --git a/projects/vniigaz/src/assets/css/list-items.scss b/projects/vniigaz/src/assets/css/list-items.scss index 8d98622..58ce24f 100644 --- a/projects/vniigaz/src/assets/css/list-items.scss +++ b/projects/vniigaz/src/assets/css/list-items.scss @@ -52,15 +52,15 @@ .green, .active {color: #669933;} .red, .declined {color: #e60046;} .edit { - //background-image: url("~src/assets/images/icons/edit_24dp.svg"); + //background-image: url("~projects/vniigaz/src/assets/images/icons/edit_24dp.svg"); } .delete { - //background-image: url("~src/assets/images/icons/delete_24dp.svg"); + //background-image: url("~projects/vniigaz/src/assets/images/icons/delete_24dp.svg"); } .toggle { margin-top: auto; margin-left: auto; - //background-image: url("~src/assets/images/icons/arrow_down_24dp.svg"); + //background-image: url("~projects/vniigaz/src/assets/images/icons/arrow_down_24dp.svg"); transition: transform 0.2s; &.active { transform: rotateZ(180deg); diff --git a/projects/vniigaz/src/assets/css/page-top-panel.scss b/projects/vniigaz/src/assets/css/page-top-panel.scss index 9892dbb..d1b97df 100644 --- a/projects/vniigaz/src/assets/css/page-top-panel.scss +++ b/projects/vniigaz/src/assets/css/page-top-panel.scss @@ -34,7 +34,7 @@ padding: 8px 52px 8px 16px; border: #BFBFBF solid 1px; border-radius: 12px; - background: #ffffff url('~src/assets/images/icons/search_24dp.svg') calc(100% - 12px) 50% no-repeat; + background: #ffffff url('~projects/vniigaz/src/assets/images/icons/search_24dp.svg') calc(100% - 12px) 50% no-repeat; } } .advanced { @@ -55,11 +55,11 @@ &:before { width: 24px; height: 24px; - background: transparent url('~src/assets/images/icons/filter_empty_24.svg') 50% 50% no-repeat; + background: transparent url('~projects/vniigaz/src/assets/images/icons/filter_empty_24.svg') 50% 50% no-repeat; content: ''; } &.filled:before { - background-image: url('~src/assets/images/icons/filter_filled_24.svg'); + background-image: url('~projects/vniigaz/src/assets/images/icons/filter_filled_24.svg'); } } } diff --git a/projects/vniigaz/src/assets/css/slider.scss b/projects/vniigaz/src/assets/css/slider.scss index 0bd700b..7d95801 100644 --- a/projects/vniigaz/src/assets/css/slider.scss +++ b/projects/vniigaz/src/assets/css/slider.scss @@ -62,7 +62,7 @@ top: 0; width: 13px; height: 100%; - background: transparent url('~src/assets/images/icons/step_upcoming.svg') 100% 50% no-repeat; + background: transparent url('~projects/vniigaz/src/assets/images/icons/step_upcoming.svg') 100% 50% no-repeat; content: ''; } } @@ -75,7 +75,7 @@ background-color: #B88E12; color: #ffffff; &:after { - background-image: url('~src/assets/images/icons/step_active.svg'); + background-image: url('~projects/vniigaz/src/assets/images/icons/step_active.svg'); } } .name { @@ -88,7 +88,7 @@ background-color: rgba(184, 142, 18, 0.2); color: #B88E12; &:after { - background-image: url('~src/assets/images/icons/step_finished.svg'); + background-image: url('~projects/vniigaz/src/assets/images/icons/step_finished.svg'); } } .name { @@ -277,7 +277,7 @@ // top: 0; // width: 13px; // height: 100%; -// background: transparent url('~src/assets/images/icons/step_upcoming.svg') 100% 50% no-repeat; +// background: transparent url('~projects/vniigaz/src/assets/images/icons/step_upcoming.svg') 100% 50% no-repeat; // content: ''; // } // } @@ -290,7 +290,7 @@ // background-color: #B88E12; // color: #ffffff; // &:after { -// background-image: url('~src/assets/images/icons/step_active.svg'); +// background-image: url('~projects/vniigaz/src/assets/images/icons/step_active.svg'); // } // } // .name { @@ -303,7 +303,7 @@ // background-color: rgba(184, 142, 18, 0.2); // color: #B88E12; // &:after { -// background-image: url('~src/assets/images/icons/step_finished.svg'); +// background-image: url('~projects/vniigaz/src/assets/images/icons/step_finished.svg'); // } // } // .name { diff --git a/projects/vniigaz/src/assets/html/footer.component.html b/projects/vniigaz/src/assets/html/footer.component.html new file mode 100644 index 0000000..f31a04b --- /dev/null +++ b/projects/vniigaz/src/assets/html/footer.component.html @@ -0,0 +1,63 @@ + diff --git a/projects/vniigaz/src/assets/html/header.component.html b/projects/vniigaz/src/assets/html/header.component.html new file mode 100644 index 0000000..b032eaf --- /dev/null +++ b/projects/vniigaz/src/assets/html/header.component.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + diff --git a/projects/vniigaz/src/assets/html/left-content.component.html b/projects/vniigaz/src/assets/html/left-content.component.html new file mode 100644 index 0000000..6c8d3b5 --- /dev/null +++ b/projects/vniigaz/src/assets/html/left-content.component.html @@ -0,0 +1,20 @@ +
+
+ +

+ {{pageName}} +

+ +
+
+
+
+ Режим редактирования + +
+
diff --git a/projects/vniigaz/src/styles.scss b/projects/vniigaz/src/styles.scss index 754678b..6cd4f57 100644 --- a/projects/vniigaz/src/styles.scss +++ b/projects/vniigaz/src/styles.scss @@ -5,7 +5,7 @@ } // li { - // list-style-image: url("~src/assets/images/icons/add_24dp.svg"); + // list-style-image: url("~projects/vniigaz/src/assets/images/icons/add_24dp.svg"); // } // .btn { @@ -37,12 +37,12 @@ width: 24px; height: 24px; } - &.up {background-image: url("~src/assets/images/icons/arrow_upward_24dp.svg");} - &.down {background-image: url("~src/assets/images/icons/arrow_downward_24dp.svg");} - &.edit {background-image: url("~src/assets/images/icons/edit_24dp.svg");} - &.publish {background-image: url("~src/assets/images/icons/visibility_on_24dp.svg");} - &.unpublish {background-image: url("~src/assets/images/icons/visibility_off_24dp.svg");} - &.delete {background-image: url("~src/assets/images/icons/trash_24dp.svg");} + &.up {background-image: url("~projects/vniigaz/src/assets/images/icons/arrow_upward_24dp.svg");} + &.down {background-image: url("~projects/vniigaz/src/assets/images/icons/arrow_downward_24dp.svg");} + &.edit {background-image: url("~projects/vniigaz/src/assets/images/icons/edit_24dp.svg");} + &.publish {background-image: url("~projects/vniigaz/src/assets/images/icons/visibility_on_24dp.svg");} + &.unpublish {background-image: url("~projects/vniigaz/src/assets/images/icons/visibility_off_24dp.svg");} + &.delete {background-image: url("~projects/vniigaz/src/assets/images/icons/trash_24dp.svg");} } } } diff --git a/tsconfig.json b/tsconfig.json index 0f27c3f..6bed4e2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,7 +17,8 @@ ], "paths": { "@app/*": ["projects/app/*"], - "@environments/*": ["projects/environments/*"] + "@environments/*": ["projects/environments/*"], + "@vniigaz*": ["projects/vniigaz*"] } } }