mirror of
				https://github.com/richard-loafle/fuse-angular.git
				synced 2025-11-04 07:13:34 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { Component, HostBinding, OnInit, OnDestroy } from '@angular/core';
 | 
						|
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
 | 
						|
import { fuseAnimations } from '../../core/animations';
 | 
						|
import { FuseConfigService } from '../../core/services/config.service';
 | 
						|
import { Subscription } from 'rxjs/Subscription';
 | 
						|
import 'rxjs/add/operator/filter';
 | 
						|
import 'rxjs/add/operator/map';
 | 
						|
 | 
						|
@Component({
 | 
						|
    selector   : 'fuse-content',
 | 
						|
    templateUrl: './content.component.html',
 | 
						|
    styleUrls  : ['./content.component.scss'],
 | 
						|
    animations : fuseAnimations
 | 
						|
})
 | 
						|
export class FuseContentComponent implements OnInit, OnDestroy
 | 
						|
{
 | 
						|
    onSettingsChanged: Subscription;
 | 
						|
    fuseSettings: any;
 | 
						|
 | 
						|
    @HostBinding('@routerTransitionUp') routeAnimationUp = false;
 | 
						|
    @HostBinding('@routerTransitionDown') routeAnimationDown = false;
 | 
						|
    @HostBinding('@routerTransitionRight') routeAnimationRight = false;
 | 
						|
    @HostBinding('@routerTransitionLeft') routeAnimationLeft = false;
 | 
						|
    @HostBinding('@routerTransitionFade') routeAnimationFade = false;
 | 
						|
 | 
						|
    constructor(
 | 
						|
        private router: Router,
 | 
						|
        private activatedRoute: ActivatedRoute,
 | 
						|
        private fuseConfig: FuseConfigService
 | 
						|
    )
 | 
						|
    {
 | 
						|
        this.router.events
 | 
						|
            .filter((event) => event instanceof NavigationEnd)
 | 
						|
            .map(() => this.activatedRoute)
 | 
						|
            .subscribe((event) => {
 | 
						|
                switch ( this.fuseSettings.routerAnimation )
 | 
						|
                {
 | 
						|
                    case 'fadeIn':
 | 
						|
                        this.routeAnimationFade = !this.routeAnimationFade;
 | 
						|
                        break;
 | 
						|
                    case 'slideUp':
 | 
						|
                        this.routeAnimationUp = !this.routeAnimationUp;
 | 
						|
                        break;
 | 
						|
                    case 'slideDown':
 | 
						|
                        this.routeAnimationDown = !this.routeAnimationDown;
 | 
						|
                        break;
 | 
						|
                    case 'slideRight':
 | 
						|
                        this.routeAnimationRight = !this.routeAnimationRight;
 | 
						|
                        break;
 | 
						|
                    case 'slideLeft':
 | 
						|
                        this.routeAnimationLeft = !this.routeAnimationLeft;
 | 
						|
                        break;
 | 
						|
                }
 | 
						|
            });
 | 
						|
 | 
						|
        this.onSettingsChanged =
 | 
						|
            this.fuseConfig.onSettingsChanged
 | 
						|
                .subscribe(
 | 
						|
                    (newSettings) => {
 | 
						|
                        this.fuseSettings = newSettings;
 | 
						|
                    }
 | 
						|
                );
 | 
						|
    }
 | 
						|
 | 
						|
    ngOnInit()
 | 
						|
    {
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    ngOnDestroy()
 | 
						|
    {
 | 
						|
        this.onSettingsChanged.unsubscribe();
 | 
						|
    }
 | 
						|
}
 |