mirror of
https://github.com/richard-loafle/fuse-angular.git
synced 2025-12-03 07:36:05 +00:00
Fix: Auth page v2 styles iOS height issue
+ Fix: Perfect scrollbar causes issues on outside of the zone + Fix: Navigation must unsubscribe the nav toggle and clear the timeout + Fix: Chat view is not scrollable on mobile + Fix: Terms & Conditions checkbox styling issues on Auth forms + Fix: Sidenav z-index issue on certain page layouts + Fix: Some page layout header heights not correct on small devices
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { AfterViewInit, Directive, ElementRef, NgZone, OnDestroy, OnInit } from '@angular/core';
|
||||
import { AfterViewInit, Directive, ElementRef, OnDestroy, OnInit } from '@angular/core';
|
||||
import PerfectScrollbar from 'perfect-scrollbar';
|
||||
import { FuseConfigService } from '../../services/config.service';
|
||||
import { Subscription } from 'rxjs/Subscription';
|
||||
@@ -17,7 +17,6 @@ export class FusePerfectScrollbarDirective implements OnInit, AfterViewInit, OnD
|
||||
|
||||
constructor(
|
||||
private element: ElementRef,
|
||||
private zone: NgZone,
|
||||
private fuseConfig: FuseConfigService,
|
||||
private platform: Platform
|
||||
)
|
||||
@@ -49,11 +48,8 @@ export class FusePerfectScrollbarDirective implements OnInit, AfterViewInit, OnD
|
||||
return;
|
||||
}
|
||||
|
||||
this.zone.runOutsideAngular(() => {
|
||||
|
||||
// Initialize the perfect-scrollbar
|
||||
this.ps = new PerfectScrollbar(this.element.nativeElement);
|
||||
});
|
||||
// Initialize the perfect-scrollbar
|
||||
this.ps = new PerfectScrollbar(this.element.nativeElement);
|
||||
}
|
||||
|
||||
ngOnDestroy()
|
||||
@@ -127,7 +123,6 @@ export class FusePerfectScrollbarDirective implements OnInit, AfterViewInit, OnD
|
||||
|
||||
// PS has weird event sending order, this is a workaround for that
|
||||
this.update();
|
||||
|
||||
this.update();
|
||||
}
|
||||
else if ( value !== this.element.nativeElement[target] )
|
||||
|
||||
@@ -132,7 +132,7 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
|
||||
min-width: 240px;
|
||||
max-width: 240px;
|
||||
height: auto;
|
||||
z-index: 2;
|
||||
z-index: 4;
|
||||
overflow-y: hidden;
|
||||
@include mat-elevation(7);
|
||||
|
||||
@@ -145,6 +145,12 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
|
||||
height: $carded-header-height;
|
||||
min-height: $carded-header-height;
|
||||
max-height: $carded-header-height;
|
||||
|
||||
@include media-breakpoint-down('sm') {
|
||||
height: $carded-header-height-sm;
|
||||
min-height: $carded-header-height-sm;
|
||||
max-height: $carded-header-height-sm;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
@@ -175,6 +181,12 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
|
||||
height: $carded-header-height-without-toolbar;
|
||||
min-height: $carded-header-height-without-toolbar;
|
||||
max-height: $carded-header-height-without-toolbar;
|
||||
|
||||
@include media-breakpoint-down('sm') {
|
||||
height: $carded-header-height-without-toolbar-sm;
|
||||
min-height: $carded-header-height-without-toolbar-sm;
|
||||
max-height: $carded-header-height-without-toolbar-sm;
|
||||
}
|
||||
}
|
||||
|
||||
.content-card {
|
||||
@@ -341,7 +353,6 @@ $top-bg-image: url('assets/images/backgrounds/header-bg.png');
|
||||
> mat-sidenav-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
//flex-direction: row;
|
||||
flex: 1;
|
||||
background: none;
|
||||
z-index: 2;
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
|
||||
#chat-content {
|
||||
background: transparent;
|
||||
overflow: auto;
|
||||
|
||||
.message-row {
|
||||
padding: 16px;
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
width: 400px;
|
||||
min-width: 400px;
|
||||
max-width: 400px;
|
||||
height: 100%;
|
||||
background: #FFFFFF;
|
||||
@include mat-elevation(7);
|
||||
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
width: 400px;
|
||||
min-width: 400px;
|
||||
max-width: 400px;
|
||||
height: 100%;
|
||||
background: #FFFFFF;
|
||||
@include mat-elevation(7);
|
||||
|
||||
|
||||
@@ -62,8 +62,8 @@
|
||||
</mat-form-field>
|
||||
|
||||
<div class="terms" fxLayout="row" fxLayoutAlign="center center">
|
||||
<mat-checkbox name="terms" aria-label="I read and accept" required>
|
||||
<span>I read and accept</span>
|
||||
<mat-checkbox name="terms" aria-label="Accept" required>
|
||||
<span>Accept</span>
|
||||
</mat-checkbox>
|
||||
<a href="#">terms and conditions</a>
|
||||
</div>
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
width: 400px;
|
||||
min-width: 400px;
|
||||
max-width: 400px;
|
||||
height: 100%;
|
||||
background: #FFFFFF;
|
||||
@include mat-elevation(7);
|
||||
|
||||
@@ -99,10 +98,10 @@
|
||||
}
|
||||
|
||||
.terms {
|
||||
font-size: 13px;
|
||||
margin: 16px 0 32px 0;
|
||||
|
||||
a {
|
||||
font-size: 16px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,10 +52,10 @@
|
||||
}
|
||||
|
||||
.terms {
|
||||
font-size: 13px;
|
||||
margin: 16px 0 32px 0;
|
||||
|
||||
a {
|
||||
font-size: 16px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
width: 400px;
|
||||
min-width: 400px;
|
||||
max-width: 400px;
|
||||
height: 100%;
|
||||
background: #FFFFFF;
|
||||
@include mat-elevation(7);
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@ export class FuseNavbarVerticalComponent implements OnInit, OnDestroy
|
||||
@ViewChild(FusePerfectScrollbarDirective) fusePerfectScrollbarDirective;
|
||||
|
||||
matchMediaWatcher: Subscription;
|
||||
navigationServiceWatcher: Subscription;
|
||||
fusePerfectScrollbarUpdateTimeout;
|
||||
|
||||
player: AnimationPlayer;
|
||||
|
||||
@@ -43,11 +45,12 @@ export class FuseNavbarVerticalComponent implements OnInit, OnDestroy
|
||||
{
|
||||
navBarService.setNavBar(this);
|
||||
|
||||
this.fuseNavigationService.onNavCollapseToggle.subscribe(() => {
|
||||
setTimeout(() => {
|
||||
this.fusePerfectScrollbarDirective.update();
|
||||
}, 310);
|
||||
});
|
||||
this.navigationServiceWatcher =
|
||||
this.fuseNavigationService.onNavCollapseToggle.subscribe(() => {
|
||||
this.fusePerfectScrollbarUpdateTimeout = setTimeout(() => {
|
||||
this.fusePerfectScrollbarDirective.update();
|
||||
}, 310);
|
||||
});
|
||||
|
||||
this.matchMediaWatcher =
|
||||
this.fuseMatchMedia.onMediaChange
|
||||
@@ -112,6 +115,13 @@ export class FuseNavbarVerticalComponent implements OnInit, OnDestroy
|
||||
}
|
||||
}
|
||||
|
||||
ngOnDestroy()
|
||||
{
|
||||
clearTimeout(this.fusePerfectScrollbarUpdateTimeout);
|
||||
this.matchMediaWatcher.unsubscribe();
|
||||
this.navigationServiceWatcher.unsubscribe();
|
||||
}
|
||||
|
||||
openBar()
|
||||
{
|
||||
this.isClosed = false;
|
||||
@@ -235,9 +245,4 @@ export class FuseNavbarVerticalComponent implements OnInit, OnDestroy
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
ngOnDestroy()
|
||||
{
|
||||
this.matchMediaWatcher.unsubscribe();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ export class NavigationModel
|
||||
'url' : '/pages/auth/forgot-password'
|
||||
},
|
||||
{
|
||||
'title': 'Forgot Password 2',
|
||||
'title': 'Forgot Password v2',
|
||||
'type' : 'item',
|
||||
'url' : '/pages/auth/forgot-password-2'
|
||||
},
|
||||
@@ -127,7 +127,7 @@ export class NavigationModel
|
||||
'url' : '/pages/auth/reset-password'
|
||||
},
|
||||
{
|
||||
'title': 'Reset Password 2',
|
||||
'title': 'Reset Password v2',
|
||||
'type' : 'item',
|
||||
'url' : '/pages/auth/reset-password-2'
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user