Skip to content

Commit 10b4da3

Browse files
committed
FilterDrawer Overflow & Overlay
1 parent fb7cac4 commit 10b4da3

File tree

3 files changed

+36
-5
lines changed

3 files changed

+36
-5
lines changed

src/app/shared/filter-drawer/filter-drawer.component.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,28 @@
1-
import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
1+
import {Component, EventEmitter, Input, OnChanges, OnInit, Output, Renderer2, SimpleChanges} from '@angular/core';
22

33
@Component({
44
selector: 't4e-filter-drawer',
55
templateUrl: './filter-drawer.component.html',
66
styleUrls: ['./filter-drawer.component.scss']
77
})
8-
export class FilterDrawerComponent implements OnInit {
8+
export class FilterDrawerComponent implements OnChanges {
99

1010
@Input() isOpened: boolean = false;
1111
@Output() onClose: EventEmitter<boolean> = new EventEmitter<boolean>();
1212

13-
constructor() { }
14-
15-
ngOnInit(): void {
13+
constructor(
14+
private renderer: Renderer2
15+
) { }
1616

17+
ngOnChanges(changes: SimpleChanges): void {
18+
if (changes['isOpened'].currentValue === true) {
19+
this.renderer.addClass(document.body, 'overflow-hidden')
20+
this.renderer.addClass(document.body, 'overlay')
21+
document.querySelector('.t4e-filter-drawer__content').scroll(0,0);
22+
} else {
23+
this.renderer.removeClass(document.body, 'overflow-hidden')
24+
this.renderer.removeClass(document.body, 'overlay')
25+
}
1726
}
1827

1928
handleClose() {

src/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<link rel="icon" type="image/x-icon" href="favicon.ico">
99
</head>
1010
<body>
11+
<div class="body-overlay"></div>
1112
<t4e-root></t4e-root>
1213
</body>
1314
</html>

src/theme/index.scss

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,27 @@
22
@import './mixins';
33
@import "./reset";
44

5+
body {
6+
&.overflow-hidden {
7+
overflow: hidden;
8+
}
9+
10+
&.overlay {
11+
.body-overlay {
12+
position: fixed;
13+
width: 100%;
14+
height: 100%;
15+
top: 0;
16+
bottom: 0;
17+
left: 0;
18+
right: 0;
19+
background-color: $color-text-blue;
20+
opacity: 0.6;
21+
z-index: 150;
22+
}
23+
}
24+
}
25+
526
t4e-root {
627
.t4e-page-container {
728
padding-left: 220px;

0 commit comments

Comments
 (0)