A self hosted chat application with end-to-end encrypted messaging.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.5 KiB

  1. import { Controller } from "./AbstractController";
  2. import "../model/AbstractModel"
  3. import "../model/UserModel"
  4. import "../view/AbstractView"
  5. import "../view/UserView"
  6. import { Model } from "../model/AbstractModel";
  7. import { View } from "../view/AbstractView";
  8. import { ActiveUserViewModel } from "../viewmodel/ActiveUserViewModel";
  9. import { UserView } from "../view/UserView";
  10. import { UserModel } from "../model/UserModel";
  11. export class UserController {
  12. private _model: UserModel;
  13. private _view: UserView;
  14. constructor(model: UserModel, view: UserView) {
  15. this._model = model;
  16. this._view = view;
  17. }
  18. /**
  19. * eventHandler
  20. */
  21. public eventHandler(vm: ActiveUserViewModel[]): void {
  22. this._model.someBusinessMethod(vm);
  23. }
  24. public test(): void {
  25. const activeUsersMock: ActiveUserViewModel[] = [];
  26. let activeUserViewModelMock = new ActiveUserViewModel();
  27. activeUserViewModelMock.userName = "some user";
  28. // activeUserViewModelMock.lastActive = "3 hrs ago";
  29. activeUserViewModelMock.online = true;
  30. activeUsersMock.push(activeUserViewModelMock);
  31. activeUserViewModelMock = new ActiveUserViewModel();
  32. // activeUserViewModelMock.lastActive = "3 hrs ago";
  33. activeUserViewModelMock.online = true;
  34. activeUserViewModelMock.userName = "some user 2";
  35. activeUsersMock.push(activeUserViewModelMock);
  36. this.eventHandler(activeUsersMock);
  37. }
  38. public getActiveUsers(): void {
  39. this._model.getActiveUsers();
  40. }
  41. }