Détecter Cliquer sur l'élément extérieur dans l'angle 4 en utilisant les directives

J'ai utilisé un personnalisé directive pour détecter cliquez sur l'extérieur d'un élément angulaire 2 mais cela n'est pas possible dans angulaire 4.

[plunkr] https://plnkr.co/edit/aKcZVQ?p=info

Quand j'ai essayer d'utiliser le même code dans angulaires-4 j'obtiens les erreurs suivantes:

1. Argument of type '{ template: string; directives: typeof ClickOutside[]; }' is not assignable to parameter of type 'Component'. ==> 

    @Component({
    templateUrl: "",
    directives: [ClickOutside]
    })


2. Type 'Subscription' is not assignable to type 'Observable<MouseEvent>'. in the directive inside ngOnInit() and ngOnDestroy() 

ngOnInit() {
    this.globalClick = Observable
        .fromEvent(document, 'click')
        .delay(1)
        .do(() => {
            this.listening = true;
         }).subscribe((event:MouseEvent) => {
            this.onGlobalClick(event);
         });
}

ngOnDestroy() {
    this.globalClick.unsubscribe();
}

Si il y a un changement dans la directive déclaration angulaire 4 s'il vous plaît laissez-moi savoir, l'officiel docs ne sont d'aucune aide dans cette affaire.

source d'informationauteur Ronit