Guest User

Untitled

a guest
Jul 22nd, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. @Component({
  2. selector: 'app-root',
  3. templateUrl: './app.component.html',
  4. styleUrls: ['./app.component.css']
  5. })
  6. export class AppComponent implements OnInit, OnDestroy {
  7.  
  8. private messages$: Observable<IMessage[]>;
  9. private messagesMulti$: Observable<IMessage[]>;
  10. private counter$: Observable<number>;
  11. private texts$: Observable<string[]>;
  12.  
  13. public form: FormGroup;
  14.  
  15. constructor(
  16. private fb: FormBuilder,
  17. private wsService: WebsocketService) {
  18. }
  19.  
  20. ngOnInit() {
  21. this.form = this.fb.group({
  22. text: [null, [
  23. Validators.required
  24. ]]
  25. });
  26.  
  27. // get messages
  28. this.messages$ = this.wsService
  29. .addEventListener<IMessage[]>(WS_API.EVENTS.MESSAGES);
  30.  
  31. // get messages multi
  32. this.messagesMulti$ = this.wsService
  33. .addEventListener<IMessage[]>([WS_API.EVENTS.MESSAGES, WS_API.EVENTS.MESSAGES_1]);
  34.  
  35. // get counter
  36. this.counter$ = this.wsService
  37. .addEventListener<number>(WS_API.EVENTS.COUNTER);
  38.  
  39. // get texts
  40. this.texts$ = this.wsService
  41. .addEventListener<string[]>(WS_API.EVENTS.UPDATE_TEXTS);
  42. }
  43.  
  44. ngOnDestroy() {
  45.  
  46. }
  47.  
  48. public sendText(): void {
  49. if (this.form.valid) {
  50. this.wsService
  51. .sendMessage(WS_API.COMMANDS.SEND_TEXT, this.form.value.text);
  52.  
  53. this.form.reset();
  54. }
  55. }
  56.  
  57. public removeText(index: number): void {
  58. this.wsService.sendMessage(WS_API.COMMANDS.REMOVE_TEXT, index);
  59. }
  60.  
  61. }
Add Comment
Please, Sign In to add comment