45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
// #docregion
|
|
import { Component, HostBinding } from '@angular/core';
|
|
import { Router } from '@angular/router';
|
|
|
|
import { slideInDownAnimation } from './animations';
|
|
|
|
@Component({
|
|
moduleId: module.id,
|
|
templateUrl: 'compose-message.component.html',
|
|
styles: [ ':host { position: relative; bottom: 10%; }' ],
|
|
animations: [ slideInDownAnimation ]
|
|
})
|
|
export class ComposeMessageComponent {
|
|
@HostBinding('@routeAnimation') routeAnimation = true;
|
|
@HostBinding('style.display') display = 'block';
|
|
@HostBinding('style.position') position = 'absolute';
|
|
|
|
details: string;
|
|
sending: boolean = false;
|
|
|
|
constructor(private router: Router) {}
|
|
|
|
send() {
|
|
this.sending = true;
|
|
this.details = 'Sending Message...';
|
|
|
|
setTimeout(() => {
|
|
this.sending = false;
|
|
this.closePopup();
|
|
}, 1000);
|
|
}
|
|
|
|
cancel() {
|
|
this.closePopup();
|
|
}
|
|
|
|
// #docregion closePopup
|
|
closePopup() {
|
|
// Providing a `null` value to the named outlet
|
|
// clears the contents of the named outlet
|
|
this.router.navigate([{ outlets: { popup: null }}]);
|
|
}
|
|
// #enddocregion closePopup
|
|
}
|