@rtsee/ngx 0.0.59 → 0.0.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/dist/ngx/fesm2022/rtsee-ngx.mjs +1689 -0
  2. package/dist/ngx/fesm2022/rtsee-ngx.mjs.map +1 -0
  3. package/dist/ngx/index.d.ts +538 -0
  4. package/package.json +21 -18
  5. package/.editorconfig +0 -16
  6. package/CHANGELOG.md +0 -120
  7. package/angular.json +0 -67
  8. package/jest.config.ts +0 -9
  9. package/projects/ngx/ng-package.json +0 -8
  10. package/projects/ngx/package.json +0 -20
  11. package/projects/ngx/src/lib/common/components/preloader/preloader.component.html +0 -5
  12. package/projects/ngx/src/lib/common/components/preloader/preloader.component.ts +0 -30
  13. package/projects/ngx/src/lib/common/interfaces/index.ts +0 -1
  14. package/projects/ngx/src/lib/common/interfaces/server-errors.ts +0 -5
  15. package/projects/ngx/src/lib/components/constans/common.const.ts +0 -8
  16. package/projects/ngx/src/lib/components/enums/form.enum.ts +0 -8
  17. package/projects/ngx/src/lib/components/rtsee/rtsee-conference.component.html +0 -70
  18. package/projects/ngx/src/lib/components/rtsee/rtsee-conference.component.ts +0 -35
  19. package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.html +0 -54
  20. package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.scss +0 -70
  21. package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.ts +0 -24
  22. package/projects/ngx/src/lib/components/rtsee-auth/auth/auth.component.html +0 -16
  23. package/projects/ngx/src/lib/components/rtsee-auth/auth/auth.component.ts +0 -48
  24. package/projects/ngx/src/lib/components/rtsee-auth/forgot-password/forgot-password.component.html +0 -35
  25. package/projects/ngx/src/lib/components/rtsee-auth/forgot-password/forgot-password.component.ts +0 -42
  26. package/projects/ngx/src/lib/components/rtsee-auth/reset-password/reset-password.component.html +0 -43
  27. package/projects/ngx/src/lib/components/rtsee-auth/reset-password/reset-password.component.ts +0 -83
  28. package/projects/ngx/src/lib/components/rtsee-auth/services/auth.service.ts +0 -40
  29. package/projects/ngx/src/lib/components/rtsee-auth/services/utils.service.ts +0 -20
  30. package/projects/ngx/src/lib/components/rtsee-auth/sign-in/sign-in.component.html +0 -84
  31. package/projects/ngx/src/lib/components/rtsee-auth/sign-in/sign-in.component.ts +0 -120
  32. package/projects/ngx/src/lib/components/rtsee-auth/sign-up/sign-up.component.html +0 -51
  33. package/projects/ngx/src/lib/components/rtsee-auth/sign-up/sign-up.component.ts +0 -67
  34. package/projects/ngx/src/lib/components/rtsee-auth/types/auth-form.type.ts +0 -36
  35. package/projects/ngx/src/lib/components/rtsee-auth/validators/form-fields-validators.ts +0 -27
  36. package/projects/ngx/src/lib/components/rtsee-auth/vendors/vendors.component.html +0 -1
  37. package/projects/ngx/src/lib/components/rtsee-auth/vendors/vendors.component.ts +0 -10
  38. package/projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.html +0 -46
  39. package/projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.ts +0 -34
  40. package/projects/ngx/src/lib/components/rtsee-container/rtsee-nav/rtsee-nav.component.html +0 -25
  41. package/projects/ngx/src/lib/components/rtsee-container/rtsee-nav/rtsee-nav.component.ts +0 -26
  42. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.html +0 -20
  43. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.ts +0 -89
  44. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.html +0 -1
  45. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.ts +0 -8
  46. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.html +0 -25
  47. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.ts +0 -40
  48. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.html +0 -32
  49. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.ts +0 -21
  50. package/projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.html +0 -12
  51. package/projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.ts +0 -19
  52. package/projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.html +0 -10
  53. package/projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.ts +0 -18
  54. package/projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.html +0 -20
  55. package/projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.ts +0 -31
  56. package/projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.html +0 -28
  57. package/projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.ts +0 -27
  58. package/projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.html +0 -6
  59. package/projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.ts +0 -22
  60. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.html +0 -3
  61. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.scss +0 -0
  62. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.ts +0 -18
  63. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.html +0 -4
  64. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.scss +0 -0
  65. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.ts +0 -18
  66. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.ts +0 -11
  67. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.html +0 -25
  68. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.ts +0 -36
  69. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.html +0 -32
  70. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.ts +0 -41
  71. package/projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.html +0 -9
  72. package/projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.ts +0 -23
  73. package/projects/ngx/src/lib/components/rtsee-messenger/message/message.component.html +0 -17
  74. package/projects/ngx/src/lib/components/rtsee-messenger/message/message.component.ts +0 -64
  75. package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.html +0 -10
  76. package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.scss +0 -1
  77. package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.ts +0 -36
  78. package/projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.html +0 -18
  79. package/projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.ts +0 -91
  80. package/projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.html +0 -31
  81. package/projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.ts +0 -45
  82. package/projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.html +0 -57
  83. package/projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.ts +0 -30
  84. package/projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.html +0 -20
  85. package/projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.ts +0 -25
  86. package/projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.html +0 -28
  87. package/projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.ts +0 -43
  88. package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.html +0 -1
  89. package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.scss +0 -0
  90. package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.ts +0 -9
  91. package/projects/ngx/src/lib/components/rtsee-presentation/presentation/presentation.component.html +0 -25
  92. package/projects/ngx/src/lib/components/rtsee-presentation/presentation/presentation.component.ts +0 -24
  93. package/projects/ngx/src/lib/components/rtsee-presentation/presentation-header/presentation-header.component.html +0 -14
  94. package/projects/ngx/src/lib/components/rtsee-presentation/presentation-header/presentation-header.component.ts +0 -15
  95. package/projects/ngx/src/lib/components/rtsee-presentation/slide/slide.component.html +0 -33
  96. package/projects/ngx/src/lib/components/rtsee-presentation/slide/slide.component.ts +0 -26
  97. package/projects/ngx/src/lib/components/rtsee-presentation/story-player/story-player.component.html +0 -10
  98. package/projects/ngx/src/lib/components/rtsee-presentation/story-player/story-player.component.ts +0 -22
  99. package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.html +0 -15
  100. package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.scss +0 -0
  101. package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.ts +0 -19
  102. package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.html +0 -44
  103. package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.scss +0 -30
  104. package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.ts +0 -57
  105. package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.html +0 -19
  106. package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.scss +0 -56
  107. package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.ts +0 -66
  108. package/projects/ngx/src/lib/directives/shave.directive.ts +0 -15
  109. package/projects/ngx/src/lib/directives/widget.directive.ts +0 -9
  110. package/projects/ngx/src/lib/ngx.module.ts +0 -127
  111. package/projects/ngx/src/lib/ngx.service.spec.ts +0 -16
  112. package/projects/ngx/src/lib/ngx.service.ts +0 -11
  113. package/projects/ngx/src/lib/services/default-images.service.ts +0 -8
  114. package/projects/ngx/src/lib/services/events-widgets.service.ts +0 -19
  115. package/projects/ngx/src/lib/services/message-widgets.service.ts +0 -26
  116. package/projects/ngx/src/lib/services/time-format-helper.service.ts +0 -111
  117. package/projects/ngx/src/public-api.ts +0 -16
  118. package/projects/ngx/tsconfig.lib.json +0 -14
  119. package/projects/ngx/tsconfig.lib.prod.json +0 -10
  120. package/projects/ngx/tsconfig.spec.json +0 -10
  121. package/projects/ngx/yarn.lock +0 -8
  122. package/scss-bundle.config.json +0 -6
  123. package/setup-jest.ts +0 -1
  124. package/tsconfig.eslint.json +0 -4
  125. package/tsconfig.json +0 -35
  126. package/tsconfig.spec.json +0 -8
  127. /package/{projects → dist}/ngx/README.md +0 -0
  128. /package/{projects → dist}/ngx/src/lib/theme/auth/auth-container.scss +0 -0
  129. /package/{projects → dist}/ngx/src/lib/theme/auth/index.scss +0 -0
  130. /package/{projects → dist}/ngx/src/lib/theme/auth/variables.scss +0 -0
  131. /package/{projects → dist}/ngx/src/lib/theme/common-components/preloader.scss +0 -0
  132. /package/{projects → dist}/ngx/src/lib/theme/common-variables.scss +0 -0
  133. /package/{projects → dist}/ngx/src/lib/theme/common.scss +0 -0
  134. /package/{projects → dist}/ngx/src/lib/theme/containers/index.scss +0 -0
  135. /package/{projects → dist}/ngx/src/lib/theme/containers/nav-item.scss +0 -0
  136. /package/{projects → dist}/ngx/src/lib/theme/containers/nav.scss +0 -0
  137. /package/{projects → dist}/ngx/src/lib/theme/containers/shell.scss +0 -0
  138. /package/{projects → dist}/ngx/src/lib/theme/containers/variables.scss +0 -0
  139. /package/{projects → dist}/ngx/src/lib/theme/events-manager/client-thumbnail.scss +0 -0
  140. /package/{projects → dist}/ngx/src/lib/theme/events-manager/event-thumbnail.scss +0 -0
  141. /package/{projects → dist}/ngx/src/lib/theme/events-manager/events-dashboard-session.scss +0 -0
  142. /package/{projects → dist}/ngx/src/lib/theme/events-manager/events-dashboard.scss +0 -0
  143. /package/{projects → dist}/ngx/src/lib/theme/events-manager/events-manager.scss +0 -0
  144. /package/{projects → dist}/ngx/src/lib/theme/events-manager/index.scss +0 -0
  145. /package/{projects → dist}/ngx/src/lib/theme/events-manager.scss +0 -0
  146. /package/{projects → dist}/ngx/src/lib/theme/forms/common.scss +0 -0
  147. /package/{projects → dist}/ngx/src/lib/theme/forms/index.scss +0 -0
  148. /package/{projects → dist}/ngx/src/lib/theme/forms/variables.scss +0 -0
  149. /package/{projects → dist}/ngx/src/lib/theme/general.scss +0 -0
  150. /package/{projects → dist}/ngx/src/lib/theme/messenger/call-widget.scss +0 -0
  151. /package/{projects → dist}/ngx/src/lib/theme/messenger/chat-input.scss +0 -0
  152. /package/{projects → dist}/ngx/src/lib/theme/messenger/chat-thumbnail.scss +0 -0
  153. /package/{projects → dist}/ngx/src/lib/theme/messenger/chat.scss +0 -0
  154. /package/{projects → dist}/ngx/src/lib/theme/messenger/chats-list.scss +0 -0
  155. /package/{projects → dist}/ngx/src/lib/theme/messenger/index.scss +0 -0
  156. /package/{projects → dist}/ngx/src/lib/theme/messenger/message-time-and-status.scss +0 -0
  157. /package/{projects → dist}/ngx/src/lib/theme/messenger/message.scss +0 -0
  158. /package/{projects → dist}/ngx/src/lib/theme/messenger/messages-list.scss +0 -0
  159. /package/{projects → dist}/ngx/src/lib/theme/messenger/messenger-header.scss +0 -0
  160. /package/{projects → dist}/ngx/src/lib/theme/messenger/messenger-search.scss +0 -0
  161. /package/{projects → dist}/ngx/src/lib/theme/messenger/messenger.scss +0 -0
  162. /package/{projects → dist}/ngx/src/lib/theme/messenger/variables.scss +0 -0
  163. /package/{projects → dist}/ngx/src/lib/theme/presentation/index.scss +0 -0
  164. /package/{projects → dist}/ngx/src/lib/theme/presentation/slide.scss +0 -0
  165. /package/{projects → dist}/ngx/src/lib/theme/presentation/story-player.scss +0 -0
  166. /package/{projects → dist}/ngx/src/lib/theme/presentation/story-thumbnail.scss +0 -0
  167. /package/{projects → dist}/ngx/src/lib/theme/presentation/variables.scss +0 -0
  168. /package/{projects → dist}/ngx/src/lib/theme/styles.scss +0 -0
  169. /package/{projects → dist}/ngx/src/lib/theme/video-chat/index.scss +0 -0
  170. /package/{projects → dist}/ngx/src/lib/theme/video-chat/video-chat.scss +0 -0
  171. /package/{projects → dist}/ngx/src/lib/theme/video-chat/video-peer.scss +0 -0
  172. /package/{projects → dist}/ngx/src/lib/theme/video-chat.scss +0 -0
@@ -1,46 +0,0 @@
1
- <div class="rtsee-shell"
2
- [ngClass]="{
3
- 'rtsee-shell-conference-mode': rtsee.conference && rtsee.conference.isInActiveCall,
4
- 'rtsee-shell-messenger-active': rtsee.messenger && rtsee.activeTab === 'messenger',
5
- 'rtsee-shell-dashboard-active': rtsee.eventsDashboard && rtsee.activeTab === 'events-dashboard',
6
- 'rtsee-shell-presentation-active': rtsee.presentation && rtsee.activeTab === 'presentation',
7
- 'rtsee-shell-side-nav-expanded': isSidenavExpanded
8
- }"
9
- >
10
- <div class="rtsee-nav-block">
11
- <rtsee-nav [config]="navigationConfig"></rtsee-nav>
12
- </div>
13
-
14
- <div class="rtsee-shell-panel">
15
- @if (rtsee.conference && rtsee.conference.isInActiveCall) {
16
- <div class="rtsee-conference-container">
17
- <rtsee-conference [rtSee]="rtsee.conference"
18
- ></rtsee-conference>
19
- </div>
20
- }
21
-
22
- @if (rtsee.messenger) {
23
- <div class="rtsee-messenger-container">
24
- <rtsee-messenger [messenger]="rtsee.messenger"
25
- ></rtsee-messenger>
26
- </div>
27
- }
28
-
29
- @if (rtsee.eventsDashboard && rtsee.eventsDashboard.isReady) {
30
- <div class="rtsee-events-dashboard-container">
31
- <rtsee-events-dashboard [eventsDashboard]="rtsee.eventsDashboard"
32
- ></rtsee-events-dashboard>
33
- </div>
34
- }
35
-
36
- @if (rtsee.presentation && rtsee.presentation.isActive) {
37
- <div class="rtsee-presentation-container">
38
- <rtsee-presentation [presentation]="rtsee.presentation"></rtsee-presentation>
39
- </div>
40
- }
41
- </div>
42
-
43
- <div class="rtsee-content">
44
- <ng-content></ng-content>
45
- </div>
46
- </div>
@@ -1,34 +0,0 @@
1
- import {Component, Input} from '@angular/core';
2
- import {RTSee, INavigationConfig, IRouteConfig} from "@rtsee/factory";
3
- import {NgClass} from "@angular/common";
4
- import {RTSeeConferenceComponent} from "../rtsee/rtsee-conference.component";
5
- import {MessengerComponent} from "../rtsee-messenger/messenger/messenger.component";
6
- import {RtseeEventsDashboardComponent} from "../rtsee-events-dashboard/rtsee-events-dashboard.component";
7
- import {PresentationComponent} from "../rtsee-presentation/presentation/presentation.component";
8
- import {RtseeNavComponent} from "./rtsee-nav/rtsee-nav.component";
9
-
10
-
11
- @Component({
12
- selector: 'rtsee-container',
13
- templateUrl: './rtsee-container.component.html',
14
- imports: [
15
- NgClass,
16
- RTSeeConferenceComponent,
17
- MessengerComponent,
18
- RtseeEventsDashboardComponent,
19
- PresentationComponent,
20
- RtseeNavComponent
21
- ],
22
- standalone: true
23
- })
24
- export class RTSeeContainerComponent {
25
- @Input() rtsee!: RTSee;
26
- @Input() public navigationConfig!: INavigationConfig<IRouteConfig>;
27
-
28
- isSidenavExpanded: boolean = true;
29
- isSidenavExpandededed: boolean = true;
30
-
31
- onSidenavToggleClicked() {
32
- this.isSidenavExpanded = !this.isSidenavExpanded;
33
- }
34
- }
@@ -1,25 +0,0 @@
1
- <div class="rtsee-nav">
2
- @if (config.siteLogo) {
3
- <div class="rtsee-site-logo">
4
- <p-image [src]="config.siteLogo.src" class="rtsee-site-logo-image"></p-image>
5
- <p-divider class="rtsee-site-logo-divider" />
6
- </div>
7
- }
8
- <div class="rtsee-nav-bar">
9
- @for (route of config.routes; track route.name) {
10
- <a [routerLink]="route.link"
11
- routerLinkActive="rtsee-nav-item-active"
12
- [ngClass]="{'rtsee-nav-item-hidden': !route.isEnabled || !route.iconClassName}"
13
- [routerLinkActiveOptions]="{ exact: route.exactActiveLinkMatcher || false }"
14
- class="rtsee-nav-item"
15
- >
16
- <span [ngClass]="route.iconClassName"
17
- class="rtsee-nav-item-icon" >
18
- </span>
19
- </a>
20
- }
21
- <p-avatar [image]="'https://primefaces.org/cdn/primeng/images/demo/avatar/amyelsner.png'"
22
- class="rtsee-nav-item rtsee-nav-image rtsee-nav-profile"
23
- ></p-avatar>
24
- </div>
25
- </div>
@@ -1,26 +0,0 @@
1
- import {Component, Input} from '@angular/core';
2
- import {INavigationConfig} from "@rtsee/factory/dist/factory/src/interfaces/NavigationConfig";
3
- import {RouterLink, RouterLinkActive} from "@angular/router";
4
- import {NgClass} from "@angular/common";
5
- import {IRouteConfig} from "@rtsee/factory/src/interfaces/NavigationConfig";
6
- import {Avatar} from "primeng/avatar";
7
- import {Image} from "primeng/image";
8
- import {Divider} from "primeng/divider";
9
-
10
-
11
- @Component({
12
- selector: 'rtsee-nav',
13
- templateUrl: './rtsee-nav.component.html',
14
- imports: [
15
- RouterLink,
16
- RouterLinkActive,
17
- NgClass,
18
- Avatar,
19
- Image,
20
- Divider
21
- ],
22
- standalone: true
23
- })
24
- export class RtseeNavComponent {
25
- @Input() public config!: INavigationConfig<IRouteConfig>;
26
- }
@@ -1,20 +0,0 @@
1
- <div class="rtsee-events-dashboard-event-thumbnail">
2
- <ng-template *ngIf="event.widget" widgetHost></ng-template>
3
- <div *ngIf="!event.widget" class="rtsee-events-dashboard-default-event-thumbnail"
4
- [ngClass]="{'rtsee-events-dashboard-default-event-thumbnail-with-data': event.data}"
5
- >
6
- <div class="rtsee-events-dashboard-default-event-thumbnail-name">{{event.name}}</div>
7
- <div class="rtsee-events-dashboard-default-event-thumbnail-info">
8
- <div *ngIf="event.data" class="rtsee-events-dashboard-default-event-thumbnail-details"
9
- [title]="tooltip"
10
- >
11
- <span class="rtsee-events-dashboard-default-event-thumbnail-details-icon material-icons-outlined"
12
- >info</span>
13
- </div>
14
- <div class="rtsee-events-dashboard-default-event-thumbnail-time">
15
- <span>{{ timeFormatService.toAgo(event.createdAt) }}</span>
16
- </div>
17
- </div>
18
-
19
- </div>
20
- </div>
@@ -1,89 +0,0 @@
1
- import {
2
- AfterViewInit,
3
- ChangeDetectorRef,
4
- Component,
5
- ComponentFactoryResolver,
6
- ComponentRef,
7
- Input,
8
- OnInit,
9
- ViewChild,
10
- } from '@angular/core';
11
- import { RTSeeDashboardEvent } from '@rtsee/events-dashboard';
12
- import { WidgetDirective } from '../../../../directives/widget.directive';
13
- import { EventsWidgetsService } from '../../../../services/events-widgets.service';
14
- import { TimeFormatHelperService } from '../../../../services/time-format-helper.service';
15
- import {NgClass, NgIf} from "@angular/common";
16
-
17
- @Component({
18
- selector: 'rtsee-event-thumbnail',
19
- templateUrl: './event-thumbnail.component.html',
20
- imports: [
21
- WidgetDirective,
22
- NgIf,
23
- NgClass
24
- ],
25
- standalone: true
26
- })
27
- export class EventThumbnailComponent implements OnInit, AfterViewInit {
28
- tooltip?: string;
29
-
30
- @Input() event!: RTSeeDashboardEvent;
31
- @ViewChild(WidgetDirective, { static: false }) widgetHost!: WidgetDirective;
32
- constructor(
33
- private widgetsService: EventsWidgetsService,
34
- private componentFactoryResolver: ComponentFactoryResolver,
35
- public timeFormatService: TimeFormatHelperService,
36
- private cd: ChangeDetectorRef,
37
- ) {}
38
-
39
- ngOnInit(): void {
40
- if (this.event.data) {
41
- this.generateTooltip();
42
- }
43
- }
44
-
45
- generateTooltip() {
46
- /* eslint-disable */
47
- let tooltip = '';
48
- if (typeof this.event.data !== 'object') {
49
- return;
50
- }
51
- try {
52
- for (const key in this.event.data) {
53
- if (this.event.data.hasOwnProperty(key)) {
54
- if (tooltip) {
55
- tooltip += '&#013;';
56
- }
57
- tooltip += key + ' -> ' + this.event.data[key];
58
- }
59
- }
60
- this.tooltip = tooltip;
61
- } catch (e) {
62
- console.log('Failed to generate a tooltip');
63
- }
64
- /* eslint-enable */
65
- }
66
-
67
- ngAfterViewInit() {
68
- this.cd.detectChanges();
69
- /* eslint-disable */
70
- if (this.event.widget) {
71
- const widget = this.widgetsService.getWidgetComponentByName(
72
- this.event.widget,
73
- );
74
- if (!widget) {
75
- return;
76
- }
77
- const viewContainerRef = this.widgetHost.viewContainerRef;
78
- viewContainerRef.clear();
79
- const componentToShow =
80
- this.componentFactoryResolver.resolveComponentFactory(widget);
81
- const componentRef: ComponentRef<typeof widget> =
82
- viewContainerRef.createComponent(componentToShow);
83
- componentRef.instance.event = this.event;
84
- componentRef.instance.event = this.event;
85
- componentRef.changeDetectorRef.detectChanges();
86
- }
87
- /* eslint-enable */
88
- }
89
- }
@@ -1,8 +0,0 @@
1
- import { Component } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ngx-rtsee-events-dashboard-client',
5
- templateUrl: './rtsee-events-dashboard-client.component.html',
6
- standalone: true
7
- })
8
- export class RtseeEventsDashboardClientComponent {}
@@ -1,25 +0,0 @@
1
- <div class="rtsee-dashboard-client-thumbnail">
2
- <div class="rtsee-dashboard-client-header">
3
- <div class="rtsee-dashboard-client-header-photo">
4
- <div class="rtsee-dashboard-client-header-image"
5
- [style.background-image]="'url(' + client.imageUrl || defaultImagesService.PROFILE + ')'"
6
- ></div>
7
- @if(client.isConnected) {
8
- <div class="rtsee-dashboard-client-live-indicator"></div>
9
- }
10
- </div>
11
- <p class="rtsee-dashboard-client-name">
12
- <span class="rtsee-dashboard-client-name-text">{{ client.name || client.id }}</span>
13
- <button (click)="openChat()" class="rtsee-dashboard-client-engage">
14
- <span class="rtsee-dashboard-client-engage-icon material-icons-outlined">chat_bubble</span>
15
- </button>
16
- </p>
17
- </div>
18
- <div class="rtsee-dashboard-sessions">
19
- @for(session of client.sessions; track session.id) {
20
- <div class="rtsee-dashboard-sessions-container">
21
- <rtsee-rtsee-events-dashboard-session [session]="session"></rtsee-rtsee-events-dashboard-session>
22
- </div>
23
- }
24
- </div>
25
- </div>
@@ -1,40 +0,0 @@
1
- import { Component, Input, OnInit } from '@angular/core';
2
- import { TimeFormatHelperService } from '../../../../services/time-format-helper.service';
3
- import { DefaultImagesService } from '../../../../services/default-images.service';
4
- import {
5
- RTSeeEventsDashboard,
6
- RTSeeDashboardClient,
7
- } from '@rtsee/events-dashboard';
8
- import {
9
- RtseeEventsDashboardSessionComponent
10
- } from "../rtsee-events-dashboard-session/rtsee-events-dashboard-session.component";
11
- import {NgForOf, NgIf} from "@angular/common";
12
-
13
- @Component({
14
- selector: 'ngx-rtsee-events-dashboard-client-thumbnail',
15
- templateUrl: './rtsee-events-dashboard-client-thumbnail.component.html',
16
- imports: [
17
- RtseeEventsDashboardSessionComponent,
18
- NgIf,
19
- NgForOf
20
- ],
21
- standalone: true
22
- })
23
- export class RtseeEventsDashboardClientThumbnailComponent implements OnInit {
24
- @Input() dashboard!: RTSeeEventsDashboard;
25
- @Input() client!: RTSeeDashboardClient;
26
-
27
- constructor(
28
- public timeFormatService: TimeFormatHelperService,
29
- public defaultImagesService: DefaultImagesService,
30
- ) {}
31
-
32
- ngOnInit(): void {
33
- console.log('client id', this.client.id);
34
- }
35
-
36
- openChat() {
37
- console.log('Open Chat Clicked! Client ID #', this.client.id);
38
- this.dashboard.openChat(this.client);
39
- }
40
- }
@@ -1,32 +0,0 @@
1
- <div class="rtsee-events-dashboard-session">
2
- <div class="rtsee-events-dashboard-session-header" *ngIf="session.info">
3
- <p class="rtsee-events-dashboard-session-client-info">{{session.info.clientThumbnail}}</p>
4
- <p class="rtsee-events-dashboard-session-os-info">{{session.info.osThumbnail}}</p>
5
- <div class="rtsee-events-dashboard-session-device-info" [title]="session.info.deviceThumbnail">
6
- <span *ngIf="session.info.deviceType === 'smartphone' && !session.info.botName"
7
- class="material-icons-outlined rtsee-events-dashboard-session-device-info-icon"
8
- >phone_iphone</span>
9
- <span class="material-icons-outlined rtsee-events-dashboard-session-device-info-icon"
10
- *ngIf="session.info.deviceType === 'tablet' && !session.info.botName"
11
- >tablet_mac</span>
12
- <span class="material-icons-outlined rtsee-events-dashboard-session-device-info-icon"
13
- *ngIf="session.info.deviceType === 'desktop' && !session.info.botName"
14
- >computer</span>
15
- <span class="material-icons-outlined rtsee-events-dashboard-session-device-info-icon"
16
- *ngIf="session.info.botName"
17
- >smart_toy</span>
18
- </div>
19
- </div>
20
- <ul *ngIf="session.events && session.events.length"
21
- class="rtsee-events-dashboard-session-events-list"
22
- >
23
- @for (event of session.events | slice:0:5; track event.id) {
24
- <li class="rtsee-events-dashboard-session-event">
25
- <rtsee-event-thumbnail [event]="event"></rtsee-event-thumbnail>
26
- </li>
27
- }
28
- </ul>
29
- <div class="rtsee-events-dashboard-session-footer">
30
- <button *ngIf="session.events.length > 5">{{session.events.length - 5}} more</button>
31
- </div>
32
- </div>
@@ -1,21 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { TimeFormatHelperService } from '../../../../services/time-format-helper.service';
3
- import { RTSeeDashboardClientSession } from '@rtsee/events-dashboard';
4
- import { NgIf, SlicePipe } from "@angular/common";
5
- import {EventThumbnailComponent} from "../event-thumbnail/event-thumbnail.component";
6
-
7
- @Component({
8
- selector: 'rtsee-rtsee-events-dashboard-session',
9
- templateUrl: './rtsee-events-dashboard-session.component.html',
10
- imports: [
11
- NgIf,
12
-
13
- EventThumbnailComponent,
14
- SlicePipe
15
- ],
16
- standalone: true
17
- })
18
- export class RtseeEventsDashboardSessionComponent {
19
- @Input() session!: RTSeeDashboardClientSession;
20
- constructor(public timeFormatService: TimeFormatHelperService) {}
21
- }
@@ -1,12 +0,0 @@
1
- <div class="rtsee-events-dashboard">
2
- <div class="rtsee-events-dashboard-client-thumbnails">
3
- @for (client of eventsDashboard.clients; track client.id) {
4
- <div class="rtsee-events-dashboard-client-thumbnail-wrapper">
5
- <ngx-rtsee-events-dashboard-client-thumbnail
6
- [client]="client"
7
- [dashboard]="eventsDashboard"
8
- ></ngx-rtsee-events-dashboard-client-thumbnail>
9
- </div>
10
- }
11
- </div>
12
- </div>
@@ -1,19 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { RTSeeEventsDashboard } from '@rtsee/events-dashboard';
3
-
4
-
5
- import {
6
- RtseeEventsDashboardClientThumbnailComponent
7
- } from "./components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component";
8
-
9
- @Component({
10
- selector: 'rtsee-events-dashboard',
11
- templateUrl: './rtsee-events-dashboard.component.html',
12
- imports: [
13
- RtseeEventsDashboardClientThumbnailComponent
14
- ],
15
- standalone: true
16
- })
17
- export class RtseeEventsDashboardComponent {
18
- @Input() eventsDashboard!: RTSeeEventsDashboard;
19
- }
@@ -1,10 +0,0 @@
1
- <div class="rtsee-chat">
2
- <div class="rtsee-chat-body-container">
3
- <rtsee-messages-list [messenger]="messenger" [chat]="chat"></rtsee-messages-list>
4
- </div>
5
- <div class="rtsee-chat-footer-container">
6
- <div class="rtsee-chat-footer-container-inner">
7
- <rtsee-chat-input [messenger]="messenger" [chat]="chat"></rtsee-chat-input>
8
- </div>
9
- </div>
10
- </div>
@@ -1,18 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';
3
- import {MessagesListComponent} from "../messages-list/messages-list.component";
4
- import {ChatInputComponent} from "../chat-input/chat-input.component";
5
-
6
- @Component({
7
- selector: 'rtsee-chat',
8
- templateUrl: './chat.component.html',
9
- imports: [
10
- MessagesListComponent,
11
- ChatInputComponent
12
- ],
13
- standalone: true
14
- })
15
- export class ChatComponent {
16
- @Input() chat!: RTSeeChat;
17
- @Input() messenger!: RTSeeMessenger;
18
- }
@@ -1,20 +0,0 @@
1
- <div class="rtsee-chat-input" xmlns="http://www.w3.org/1999/html">
2
- <div class="rtsee-send-message">
3
- <form [formGroup]="sendMessageForm" class="rtsee-chat-input-form">
4
- <textarea
5
- placeholder="Type message..."
6
- type="text"
7
- formControlName="message"
8
- class="rtsee-chat-input-field"
9
- autosize
10
- required
11
- (keyup.enter)="sendMessage()"
12
- ></textarea>
13
- </form>
14
- </div>
15
- <button (click)="sendMessage()"
16
- class="rtsee-send-message-button"
17
- type="submit">
18
- <span class="material-icons-outlined">send</span>
19
- </button>
20
- </div>
@@ -1,31 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import {FormControl, FormGroup, ReactiveFormsModule, Validators} from '@angular/forms';
3
- import { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';
4
-
5
- @Component({
6
- selector: 'rtsee-chat-input',
7
- templateUrl: './chat-input.component.html',
8
- imports: [
9
- ReactiveFormsModule
10
- ],
11
- standalone: true
12
- })
13
- export class ChatInputComponent {
14
- sendMessageForm: FormGroup = new FormGroup({
15
- /* eslint-disable */
16
- message: new FormControl('', Validators.required),
17
- /* eslint-enable */
18
- });
19
-
20
- @Input() messenger!: RTSeeMessenger;
21
- @Input() chat!: RTSeeChat;
22
-
23
- sendMessage() {
24
- const text = this.sendMessageForm.get('message')?.value as string;
25
- if (!text) {
26
- return;
27
- }
28
- this.chat.sendMessage(text);
29
- this.sendMessageForm.get('message')?.setValue('');
30
- }
31
- }
@@ -1,28 +0,0 @@
1
- <div class="rtsee-chat-thumbnail" (click)="messenger.openChatById(chat.chatId)">
2
- <div class="rtsee-chat-thumbnail-image">
3
- <img [src]="chat.chatImageUrl" alt="chat-img">
4
- </div>
5
- <div class="rtsee-chat-thumbnail-left">
6
- <div class="rtsee-chat-thumbnail-name">
7
- <span>{{ chat.chatName }}</span>
8
- <div class="rtsee-chat-thumbnail-status">
9
- <rtsee-message-time-and-status [message]="chat"
10
- [hideStatus]="chat && !!(chat.unreadMessagesCount)">
11
- </rtsee-message-time-and-status>
12
- </div>
13
- </div>
14
- <div class="rtsee-chat-thumbnail-last-message"
15
- [ngClass]="{'rtsee-has-unread': chat.unreadMessagesCount}"
16
- rtseeShave>
17
- <span class="rtsee-chat-thumbnail-last-message-sender"
18
- *ngIf="chat.chatType !== RTSeeChatTypes.INDIVIDUAL && chat.senderName"
19
- >{{chat.senderName}}</span>
20
- <span class="rtsee-chat-thumbnail-last-message-text"
21
- *ngIf="chat.text"
22
- >{{chat.text}}</span>
23
- <div class="rtsee-messenger-thumbnail-unread" *ngIf="chat.unreadMessagesCount">
24
- <span class="rtsee-messenger-thumbnail-unread-count">{{chat.unreadMessagesCount}}</span>
25
- </div>
26
- </div>
27
- </div>
28
- </div>
@@ -1,27 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { RTSeeMessenger } from '@rtsee/messenger';
3
- import { RTSeeChatTypes, IMessageThumbnail } from '@rtsee/common';
4
- import { TimeFormatHelperService } from '../../../services/time-format-helper.service';
5
- import {
6
- MessageTimeAndStatusComponent
7
- } from "../message/components/message-time-and-status/message-time-and-status.component";
8
- import {NgClass, NgIf} from "@angular/common";
9
-
10
- @Component({
11
- selector: 'rtsee-chat-thumbnail',
12
- templateUrl: './chat-thumbnail.component.html',
13
- imports: [
14
- MessageTimeAndStatusComponent,
15
- NgClass,
16
- NgIf
17
- ],
18
- standalone: true
19
- })
20
- export class ChatThumbnailComponent {
21
- @Input() chat!: IMessageThumbnail;
22
- @Input() messenger!: RTSeeMessenger;
23
-
24
- readonly RTSeeChatTypes = RTSeeChatTypes;
25
-
26
- constructor(public timeFormatService: TimeFormatHelperService) {}
27
- }
@@ -1,6 +0,0 @@
1
- <div class="rtsee-chats-list">
2
- <div class="rtsee-chat-thumbnail-container" *ngFor="let chat of chats; let last = last;">
3
- <rtsee-chat-thumbnail [chat]="chat.thumbnail" [messenger]="messenger"></rtsee-chat-thumbnail>
4
- <!-- <div class="rtsee-chat-thumbnail-separator" *ngIf="!last"></div>-->
5
- </div>
6
- </div>
@@ -1,22 +0,0 @@
1
- import { Component, Input, OnInit } from '@angular/core';
2
- import { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';
3
- import {NgForOf} from "@angular/common";
4
- import {ChatThumbnailComponent} from "../chat-thumbnail/chat-thumbnail.component";
5
-
6
- @Component({
7
- selector: 'rtsee-chats-list',
8
- templateUrl: './chats-list.component.html',
9
- imports: [
10
- NgForOf,
11
- ChatThumbnailComponent
12
- ],
13
- standalone: true
14
- })
15
- export class ChatsListComponent implements OnInit {
16
- @Input() messenger!: RTSeeMessenger;
17
- @Input() chats!: RTSeeChat[];
18
-
19
- ngOnInit(): void {
20
- // console.log(this.chats);
21
- }
22
- }
@@ -1,3 +0,0 @@
1
- <div class="rtsee-messenger-contacts-multiselect">
2
- <rtsee-search [search]="search"></rtsee-search>
3
- </div>
@@ -1,18 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { IMainMenuState } from '../models/MainMenuState';
3
- import { RTSeeMessengerSearch } from '@rtsee/messenger';
4
- import { SearchComponent } from "../search/search.component";
5
-
6
- @Component({
7
- selector: 'rtsee-contacts-multiselect',
8
- templateUrl: './contacts-multiselect.component.html',
9
- styleUrls: ['./contacts-multiselect.component.scss'],
10
- imports: [
11
- SearchComponent
12
- ],
13
- standalone: true
14
- })
15
- export class ContactsMultiselectComponent {
16
- @Input() menuState!: IMainMenuState;
17
- @Input() search!: RTSeeMessengerSearch;
18
- }
@@ -1,4 +0,0 @@
1
- <div class="rtsee-messenger-manage-chat">
2
- <p>We are going to manage chat here</p>
3
- <button (click)="onInviteContactsClicked()">Invite Contacts</button>
4
- </div>
@@ -1,18 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { RTSeeMessenger } from '@rtsee/messenger';
3
- import { IMainMenuState, MainMenuPanels } from '../models/MainMenuState';
4
-
5
- @Component({
6
- selector: 'rtsee-manage-chat',
7
- templateUrl: './manage-chat.component.html',
8
- styleUrls: ['./manage-chat.component.scss'],
9
- standalone: true
10
- })
11
- export class ManageChatComponent {
12
- @Input() messenger!: RTSeeMessenger;
13
- @Input() menuState!: IMainMenuState;
14
-
15
- onInviteContactsClicked() {
16
- this.menuState.activePanel = MainMenuPanels.CONTACTS_SELECT;
17
- }
18
- }
@@ -1,11 +0,0 @@
1
- export enum MainMenuPanels {
2
- HOME = 'home',
3
- CONTACTS_SELECT = 'contacts-select',
4
- MANAGE_CHAT = 'manage-chat',
5
- }
6
-
7
- export interface IMainMenuState {
8
- activePanel: MainMenuPanels;
9
- }
10
-
11
- export const DEFAULT_MAIN_MENU_STATE = MainMenuPanels.HOME;