1- import { Component , Input , OnInit } from '@angular/core' ;
1+ import { Component , HostListener , Input , OnInit } from '@angular/core' ;
22import { Note } from '../../core/model/note' ;
33import { Observable , of } from 'rxjs' ;
44import { UserInfoStore } from '../../core/user/user-info.store' ;
55import { ActivatedRoute , Router } from '@angular/router' ;
66import { switchMap } from 'rxjs/operators' ;
77import { PersonalNotesService } from '../../core/personal-notes.service' ;
8+ import * as screenfull from 'screenfull' ;
89
910@Component ( {
1011 selector : 'app-note-details' ,
1112 templateUrl : './note-details.component.html' ,
13+ styleUrls : [ './note-details.component.scss' ] ,
1214} )
1315export class NoteDetailsComponent implements OnInit {
1416 @Input ( )
@@ -26,6 +28,8 @@ export class NoteDetailsComponent implements OnInit {
2628 userId$ : Observable < string > ;
2729 noteId : string ;
2830
31+ isFullScreen = false ;
32+
2933 constructor (
3034 private personalNotesService : PersonalNotesService ,
3135 private userInfoStore : UserInfoStore ,
@@ -61,4 +65,16 @@ export class NoteDetailsComponent implements OnInit {
6165 const link = [ `/my-notes/${ note . _id } /clone` ] ;
6266 this . router . navigate ( link , { state : { note : note } } ) ;
6367 }
68+
69+ toggleFullScreen ( part : HTMLElement ) {
70+ if ( screenfull . isEnabled ) {
71+ this . isFullScreen = ! this . isFullScreen ;
72+ screenfull . toggle ( part ) ;
73+ }
74+ }
75+
76+ @HostListener ( 'document:fullscreenchange' , [ '$event' ] )
77+ fullscreenChangeHandler ( event : Event ) {
78+ this . isFullScreen = ! ! document . fullscreenElement ;
79+ }
6480}
0 commit comments