@rtsee/ngx 0.0.56 → 0.0.57
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.
- package/.editorconfig +16 -0
- package/CHANGELOG.md +112 -0
- package/angular.json +67 -0
- package/jest.config.ts +9 -0
- package/package.json +28 -33
- package/projects/ngx/ng-package.json +8 -0
- package/projects/ngx/package.json +20 -0
- package/projects/ngx/src/lib/common/components/preloader/preloader.component.html +5 -0
- package/projects/ngx/src/lib/common/components/preloader/preloader.component.ts +30 -0
- package/projects/ngx/src/lib/components/constans/common.const.ts +8 -0
- package/projects/ngx/src/lib/components/enums/form.enum.ts +8 -0
- package/projects/ngx/src/lib/components/rtsee/rtsee-conference.component.html +70 -0
- package/projects/ngx/src/lib/components/rtsee/rtsee-conference.component.ts +35 -0
- package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.html +54 -0
- package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.scss +70 -0
- package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.ts +24 -0
- package/projects/ngx/src/lib/components/rtsee-auth/auth/auth.component.html +12 -0
- package/projects/ngx/src/lib/components/rtsee-auth/auth/auth.component.ts +22 -0
- package/projects/ngx/src/lib/components/rtsee-auth/forgot-password/forgot-password.component.html +35 -0
- package/projects/ngx/src/lib/components/rtsee-auth/forgot-password/forgot-password.component.ts +35 -0
- package/projects/ngx/src/lib/components/rtsee-auth/reset-password/reset-password.component.html +43 -0
- package/projects/ngx/src/lib/components/rtsee-auth/reset-password/reset-password.component.ts +79 -0
- package/projects/ngx/src/lib/components/rtsee-auth/services/utils.service.ts +20 -0
- package/projects/ngx/src/lib/components/rtsee-auth/sign-in/sign-in.component.html +46 -0
- package/projects/ngx/src/lib/components/rtsee-auth/sign-in/sign-in.component.ts +44 -0
- package/projects/ngx/src/lib/components/rtsee-auth/sign-up/sign-up.component.html +51 -0
- package/projects/ngx/src/lib/components/rtsee-auth/sign-up/sign-up.component.ts +51 -0
- package/projects/ngx/src/lib/components/rtsee-auth/types/auth-form.type.ts +36 -0
- package/projects/ngx/src/lib/components/rtsee-auth/validators/form-fields-validators.ts +27 -0
- package/projects/ngx/src/lib/components/rtsee-auth/vendors/vendors.component.html +1 -0
- package/projects/ngx/src/lib/components/rtsee-auth/vendors/vendors.component.ts +10 -0
- package/projects/ngx/src/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.html +15 -0
- package/projects/ngx/src/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.ts +20 -0
- package/projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.html +50 -0
- package/projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.ts +37 -0
- package/projects/ngx/src/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.html +32 -0
- package/projects/ngx/src/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.ts +26 -0
- package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.html +20 -0
- package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.ts +89 -0
- package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.html +1 -0
- package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.ts +8 -0
- package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.html +25 -0
- package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.ts +40 -0
- package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.html +32 -0
- package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.ts +21 -0
- package/projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.html +12 -0
- package/projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.ts +19 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.html +10 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.ts +18 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.html +20 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.ts +31 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.html +28 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.ts +27 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.html +6 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.ts +22 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.html +3 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.scss +0 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.ts +18 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.html +4 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.scss +0 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.ts +18 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.ts +11 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.html +25 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.ts +36 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.html +32 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.ts +41 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.html +9 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.ts +23 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/message/message.component.html +17 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/message/message.component.ts +64 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.html +10 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.scss +1 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.ts +36 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.html +18 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.ts +91 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.html +31 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.ts +45 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.html +57 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.ts +30 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.html +20 -0
- package/projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.ts +25 -0
- package/projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.html +28 -0
- package/projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.ts +43 -0
- package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.html +1 -0
- package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.scss +0 -0
- package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.ts +9 -0
- package/projects/ngx/src/lib/components/rtsee-presentation/presentation/presentation.component.html +24 -0
- package/projects/ngx/src/lib/components/rtsee-presentation/presentation/presentation.component.ts +26 -0
- package/projects/ngx/src/lib/components/rtsee-presentation/presentation-header/presentation-header.component.html +14 -0
- package/projects/ngx/src/lib/components/rtsee-presentation/presentation-header/presentation-header.component.ts +15 -0
- package/projects/ngx/src/lib/components/rtsee-presentation/slide/slide.component.html +29 -0
- package/projects/ngx/src/lib/components/rtsee-presentation/slide/slide.component.ts +25 -0
- package/projects/ngx/src/lib/components/rtsee-presentation/story-player/story-player.component.html +10 -0
- package/projects/ngx/src/lib/components/rtsee-presentation/story-player/story-player.component.ts +22 -0
- package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.html +15 -0
- package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.scss +0 -0
- package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.ts +19 -0
- package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.html +44 -0
- package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.scss +30 -0
- package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.ts +57 -0
- package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.html +19 -0
- package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.scss +56 -0
- package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.ts +66 -0
- package/projects/ngx/src/lib/directives/shave.directive.ts +15 -0
- package/projects/ngx/src/lib/directives/widget.directive.ts +9 -0
- package/projects/ngx/src/lib/ngx.module.ts +119 -0
- package/projects/ngx/src/lib/ngx.service.spec.ts +16 -0
- package/projects/ngx/src/lib/ngx.service.ts +11 -0
- package/projects/ngx/src/lib/services/default-images.service.ts +8 -0
- package/projects/ngx/src/lib/services/events-widgets.service.ts +19 -0
- package/projects/ngx/src/lib/services/message-widgets.service.ts +26 -0
- package/projects/ngx/src/lib/services/time-format-helper.service.ts +111 -0
- package/projects/ngx/src/lib/theme/auth/auth-container.scss +186 -0
- package/projects/ngx/src/lib/theme/auth/auth.scss +0 -0
- package/projects/ngx/src/lib/theme/auth/index.scss +2 -0
- package/projects/ngx/src/lib/theme/auth/variables.scss +64 -0
- package/projects/ngx/src/lib/theme/common-components/preloader.scss +35 -0
- package/projects/ngx/src/lib/theme/common-variables.scss +108 -0
- package/projects/ngx/src/lib/theme/common.scss +7 -0
- package/projects/ngx/src/lib/theme/containers/bottom-nav.scss +15 -0
- package/projects/ngx/src/lib/theme/containers/index.scss +4 -0
- package/projects/ngx/src/lib/theme/containers/nav-item.scss +70 -0
- package/projects/ngx/src/lib/theme/containers/shell.scss +203 -0
- package/projects/ngx/src/lib/theme/containers/sidenav.scss +125 -0
- package/projects/ngx/src/lib/theme/containers/variables.scss +23 -0
- package/projects/ngx/src/lib/theme/events-manager/client-thumbnail.scss +98 -0
- package/projects/ngx/src/lib/theme/events-manager/event-thumbnail.scss +47 -0
- package/projects/ngx/src/lib/theme/events-manager/events-dashboard-session.scss +54 -0
- package/projects/ngx/src/lib/theme/events-manager/events-dashboard.scss +17 -0
- package/projects/ngx/src/lib/theme/events-manager/events-manager.scss +0 -0
- package/projects/ngx/src/lib/theme/events-manager/index.scss +6 -0
- package/projects/ngx/src/lib/theme/events-manager.scss +0 -0
- package/projects/ngx/src/lib/theme/general.scss +3 -0
- package/projects/ngx/src/lib/theme/messenger/call-widget.scss +16 -0
- package/projects/ngx/src/lib/theme/messenger/chat-input.scss +51 -0
- package/projects/ngx/src/lib/theme/messenger/chat-thumbnail.scss +106 -0
- package/projects/ngx/src/lib/theme/messenger/chat.scss +28 -0
- package/projects/ngx/src/lib/theme/messenger/chats-list.scss +14 -0
- package/projects/ngx/src/lib/theme/messenger/index.scss +12 -0
- package/projects/ngx/src/lib/theme/messenger/message-time-and-status.scss +25 -0
- package/projects/ngx/src/lib/theme/messenger/message.scss +65 -0
- package/projects/ngx/src/lib/theme/messenger/messages-list.scss +35 -0
- package/projects/ngx/src/lib/theme/messenger/messenger-header.scss +182 -0
- package/projects/ngx/src/lib/theme/messenger/messenger-search.scss +16 -0
- package/projects/ngx/src/lib/theme/messenger/messenger.scss +100 -0
- package/projects/ngx/src/lib/theme/messenger/variables.scss +4 -0
- package/projects/ngx/src/lib/theme/presentation/index.scss +3 -0
- package/projects/ngx/src/lib/theme/presentation/slide.scss +14 -0
- package/projects/ngx/src/lib/theme/presentation/story-player.scss +11 -0
- package/projects/ngx/src/lib/theme/presentation/story-thumbnail.scss +59 -0
- package/projects/ngx/src/lib/theme/presentation/variables.scss +1 -0
- package/projects/ngx/src/lib/theme/styles.scss +8 -0
- package/projects/ngx/src/lib/theme/video-chat/index.scss +2 -0
- package/projects/ngx/src/lib/theme/video-chat/video-chat.scss +264 -0
- package/projects/ngx/src/lib/theme/video-chat/video-peer.scss +71 -0
- package/projects/ngx/src/lib/theme/video-chat.scss +0 -0
- package/{dist/ngx/public-api.d.ts → projects/ngx/src/public-api.ts} +7 -0
- package/projects/ngx/tsconfig.lib.json +14 -0
- package/projects/ngx/tsconfig.lib.prod.json +10 -0
- package/projects/ngx/tsconfig.spec.json +10 -0
- package/projects/ngx/yarn.lock +8 -0
- package/scss-bundle.config.json +6 -0
- package/setup-jest.ts +1 -0
- package/tsconfig.eslint.json +4 -0
- package/tsconfig.json +38 -0
- package/tsconfig.spec.json +8 -0
- package/dist/ngx/esm2022/lib/common/components/preloader/preloader.component.mjs +0 -31
- package/dist/ngx/esm2022/lib/components/constans/common.const.mjs +0 -9
- package/dist/ngx/esm2022/lib/components/enums/form.enum.mjs +0 -10
- package/dist/ngx/esm2022/lib/components/rtsee/rtsee-conference.component.mjs +0 -28
- package/dist/ngx/esm2022/lib/components/rtsee/rtsee-controls/rtsee-controls.component.mjs +0 -23
- package/dist/ngx/esm2022/lib/components/rtsee-auth/auth/auth.component.mjs +0 -19
- package/dist/ngx/esm2022/lib/components/rtsee-auth/forgot-password/forgot-password.component.mjs +0 -28
- package/dist/ngx/esm2022/lib/components/rtsee-auth/reset-password/reset-password.component.mjs +0 -70
- package/dist/ngx/esm2022/lib/components/rtsee-auth/services/utils.service.mjs +0 -24
- package/dist/ngx/esm2022/lib/components/rtsee-auth/sign-in/sign-in.component.mjs +0 -36
- package/dist/ngx/esm2022/lib/components/rtsee-auth/sign-up/sign-up.component.mjs +0 -43
- package/dist/ngx/esm2022/lib/components/rtsee-auth/types/auth-form.type.mjs +0 -2
- package/dist/ngx/esm2022/lib/components/rtsee-auth/vendors/vendors.component.mjs +0 -11
- package/dist/ngx/esm2022/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.mjs +0 -18
- package/dist/ngx/esm2022/lib/components/rtsee-container/rtsee-container.component.mjs +0 -29
- package/dist/ngx/esm2022/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.mjs +0 -25
- package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.mjs +0 -72
- package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.mjs +0 -11
- package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.mjs +0 -30
- package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.mjs +0 -19
- package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.mjs +0 -15
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/chat/chat.component.mjs +0 -17
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/chat-input/chat-input.component.mjs +0 -33
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.mjs +0 -24
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/chats-list/chats-list.component.mjs +0 -20
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.mjs +0 -16
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.mjs +0 -19
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.mjs +0 -8
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/components/search/search.component.mjs +0 -31
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/main-menu.component.mjs +0 -32
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.mjs +0 -23
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/message/message.component.mjs +0 -50
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.mjs +0 -31
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/messages-list/messages-list.component.mjs +0 -69
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/messenger/messenger.component.mjs +0 -32
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/messenger-header/messenger-header.component.mjs +0 -30
- package/dist/ngx/esm2022/lib/components/rtsee-messenger/profile/profile.component.mjs +0 -25
- package/dist/ngx/esm2022/lib/components/rtsee-peer/rtsee-peer.component.mjs +0 -31
- package/dist/ngx/esm2022/lib/components/rtsee-peers-list/rtsee-peers-list.component.mjs +0 -11
- package/dist/ngx/esm2022/lib/components/rtsee-presentation/presentation/presentation.component.mjs +0 -18
- package/dist/ngx/esm2022/lib/components/rtsee-presentation/presentation-header/presentation-header.component.mjs +0 -14
- package/dist/ngx/esm2022/lib/components/rtsee-presentation/slide/slide.component.mjs +0 -25
- package/dist/ngx/esm2022/lib/components/rtsee-presentation/story-player/story-player.component.mjs +0 -18
- package/dist/ngx/esm2022/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.mjs +0 -17
- package/dist/ngx/esm2022/lib/components/rtsee-settings/rtsee-settings.component.mjs +0 -47
- package/dist/ngx/esm2022/lib/components/rtsee-soundbar/rtsee-soundbar.component.mjs +0 -53
- package/dist/ngx/esm2022/lib/directives/shave.directive.mjs +0 -21
- package/dist/ngx/esm2022/lib/directives/widget.directive.mjs +0 -16
- package/dist/ngx/esm2022/lib/ngx.module.mjs +0 -205
- package/dist/ngx/esm2022/lib/ngx.service.mjs +0 -16
- package/dist/ngx/esm2022/lib/services/default-images.service.mjs +0 -16
- package/dist/ngx/esm2022/lib/services/events-widgets.service.mjs +0 -25
- package/dist/ngx/esm2022/lib/services/message-widgets.service.mjs +0 -28
- package/dist/ngx/esm2022/lib/services/time-format-helper.service.mjs +0 -92
- package/dist/ngx/esm2022/public-api.mjs +0 -13
- package/dist/ngx/esm2022/rtsee-ngx.mjs +0 -5
- package/dist/ngx/fesm2022/rtsee-ngx.mjs +0 -1419
- package/dist/ngx/fesm2022/rtsee-ngx.mjs.map +0 -1
- package/dist/ngx/index.d.ts +0 -5
- package/dist/ngx/lib/common/components/preloader/preloader.component.d.ts +0 -13
- package/dist/ngx/lib/components/constans/common.const.d.ts +0 -8
- package/dist/ngx/lib/components/enums/form.enum.d.ts +0 -8
- package/dist/ngx/lib/components/rtsee/rtsee-conference.component.d.ts +0 -11
- package/dist/ngx/lib/components/rtsee/rtsee-controls/rtsee-controls.component.d.ts +0 -9
- package/dist/ngx/lib/components/rtsee-auth/auth/auth.component.d.ts +0 -6
- package/dist/ngx/lib/components/rtsee-auth/forgot-password/forgot-password.component.d.ts +0 -13
- package/dist/ngx/lib/components/rtsee-auth/reset-password/reset-password.component.d.ts +0 -21
- package/dist/ngx/lib/components/rtsee-auth/services/utils.service.d.ts +0 -7
- package/dist/ngx/lib/components/rtsee-auth/sign-in/sign-in.component.d.ts +0 -14
- package/dist/ngx/lib/components/rtsee-auth/sign-up/sign-up.component.d.ts +0 -12
- package/dist/ngx/lib/components/rtsee-auth/types/auth-form.type.d.ts +0 -27
- package/dist/ngx/lib/components/rtsee-auth/vendors/vendors.component.d.ts +0 -5
- package/dist/ngx/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.d.ts +0 -9
- package/dist/ngx/lib/components/rtsee-container/rtsee-container.component.d.ts +0 -12
- package/dist/ngx/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.d.ts +0 -11
- package/dist/ngx/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.d.ts +0 -21
- package/dist/ngx/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.d.ts +0 -5
- package/dist/ngx/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.d.ts +0 -16
- package/dist/ngx/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.d.ts +0 -10
- package/dist/ngx/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.d.ts +0 -7
- package/dist/ngx/lib/components/rtsee-messenger/chat/chat.component.d.ts +0 -8
- package/dist/ngx/lib/components/rtsee-messenger/chat-input/chat-input.component.d.ts +0 -11
- package/dist/ngx/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.d.ts +0 -13
- package/dist/ngx/lib/components/rtsee-messenger/chats-list/chats-list.component.d.ts +0 -10
- package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.d.ts +0 -9
- package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.d.ts +0 -10
- package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.d.ts +0 -9
- package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/search/search.component.d.ts +0 -14
- package/dist/ngx/lib/components/rtsee-messenger/main-menu/main-menu.component.d.ts +0 -13
- package/dist/ngx/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.d.ts +0 -13
- package/dist/ngx/lib/components/rtsee-messenger/message/message.component.d.ts +0 -20
- package/dist/ngx/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.d.ts +0 -13
- package/dist/ngx/lib/components/rtsee-messenger/messages-list/messages-list.component.d.ts +0 -22
- package/dist/ngx/lib/components/rtsee-messenger/messenger/messenger.component.d.ts +0 -11
- package/dist/ngx/lib/components/rtsee-messenger/messenger-header/messenger-header.component.d.ts +0 -14
- package/dist/ngx/lib/components/rtsee-messenger/profile/profile.component.d.ts +0 -9
- package/dist/ngx/lib/components/rtsee-peer/rtsee-peer.component.d.ts +0 -14
- package/dist/ngx/lib/components/rtsee-peers-list/rtsee-peers-list.component.d.ts +0 -5
- package/dist/ngx/lib/components/rtsee-presentation/presentation/presentation.component.d.ts +0 -8
- package/dist/ngx/lib/components/rtsee-presentation/presentation-header/presentation-header.component.d.ts +0 -7
- package/dist/ngx/lib/components/rtsee-presentation/slide/slide.component.d.ts +0 -9
- package/dist/ngx/lib/components/rtsee-presentation/story-player/story-player.component.d.ts +0 -9
- package/dist/ngx/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.d.ts +0 -8
- package/dist/ngx/lib/components/rtsee-settings/rtsee-settings.component.d.ts +0 -21
- package/dist/ngx/lib/components/rtsee-soundbar/rtsee-soundbar.component.d.ts +0 -17
- package/dist/ngx/lib/directives/shave.directive.d.ts +0 -9
- package/dist/ngx/lib/directives/widget.directive.d.ts +0 -8
- package/dist/ngx/lib/ngx.module.d.ts +0 -59
- package/dist/ngx/lib/ngx.service.d.ts +0 -7
- package/dist/ngx/lib/services/default-images.service.d.ts +0 -6
- package/dist/ngx/lib/services/events-widgets.service.d.ts +0 -8
- package/dist/ngx/lib/services/message-widgets.service.d.ts +0 -11
- package/dist/ngx/lib/services/time-format-helper.service.d.ts +0 -14
- package/dist/ngx/src/lib/common/compiled-scss/styles.scss +0 -5387
- /package/{dist → projects}/ngx/README.md +0 -0
package/projects/ngx/src/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.html
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<div class="rtsee-sidenav"
|
|
2
|
+
[ngClass]="{'rtsee-sidenav-expanded': isExpanded}">
|
|
3
|
+
<div class="rtsee-sidenav-header">
|
|
4
|
+
<div class="rtsee-site-logo">
|
|
5
|
+
<a [routerLink]="['/']" class="rtsee-home-link">
|
|
6
|
+
<span class="rtsee-site-logo-wrapper" *ngIf="config.siteLogo">
|
|
7
|
+
<img [src]="config.siteLogo.src" [ngClass]="config.siteLogo.classNames" [alt]="config.siteLogo.alt">
|
|
8
|
+
</span>
|
|
9
|
+
<span class="rtsee-site-name">{{config.siteName}}</span>
|
|
10
|
+
</a>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="rtsee-sidenav-body">
|
|
14
|
+
<div id="rtsee-nav-items-container">
|
|
15
|
+
<ul class="rtsee-nav-items">
|
|
16
|
+
<li *ngFor="let route of config.routes"
|
|
17
|
+
[ngClass]="{'rtsee-nav-item-hidden': !route.isEnabled}">
|
|
18
|
+
<a [routerLink]="route.link"
|
|
19
|
+
routerLinkActive="active"
|
|
20
|
+
class="rtsee-nav-item">
|
|
21
|
+
<span class="rtsee-nav-item-icon" [ngClass]="route.iconClassName"></span>
|
|
22
|
+
<span class="rtsee-nav-item-name">{{route.name}}</span>
|
|
23
|
+
</a>
|
|
24
|
+
</li>
|
|
25
|
+
</ul>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="rtsee-sidenav-toggle" (click)="toggleButtonClicked()">
|
|
29
|
+
<i class="fa fa-angle-right sidenav-toggle-button" *ngIf="!isExpanded"></i>
|
|
30
|
+
<i class="fa fa-angle-left sidenav-toggle-button" *ngIf="isExpanded"></i>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
package/projects/ngx/src/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {Component, EventEmitter, Input, Output} from '@angular/core';
|
|
2
|
+
import {INavigationConfig} from "@rtsee/factory";
|
|
3
|
+
import {NgClass, NgForOf, NgIf} from "@angular/common";
|
|
4
|
+
import {RouterLink} from "@angular/router";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@Component({
|
|
8
|
+
selector: 'rtsee-sidenav',
|
|
9
|
+
templateUrl: './rtsee-sidenav.component.html',
|
|
10
|
+
imports: [
|
|
11
|
+
NgClass,
|
|
12
|
+
RouterLink,
|
|
13
|
+
NgIf,
|
|
14
|
+
NgForOf
|
|
15
|
+
],
|
|
16
|
+
standalone: true
|
|
17
|
+
})
|
|
18
|
+
export class RtseeSidenavComponent {
|
|
19
|
+
@Input() public config!: INavigationConfig;
|
|
20
|
+
@Input() isExpanded!: boolean;
|
|
21
|
+
@Output() toggleClicked = new EventEmitter<boolean>();
|
|
22
|
+
|
|
23
|
+
toggleButtonClicked() {
|
|
24
|
+
this.toggleClicked.emit(true);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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>
|
|
@@ -0,0 +1,89 @@
|
|
|
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 += '
';
|
|
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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<p>rtsee-events-dashboard-client works!</p>
|
|
@@ -0,0 +1,25 @@
|
|
|
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>
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
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>
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
}
|
package/projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.html
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
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>
|
package/projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
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>
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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>
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
}
|
package/projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.html
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
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>
|
package/projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
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>
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<div class="rtsee-messenger-search">
|
|
2
|
+
<input type="text"
|
|
3
|
+
[formControl]="queryControl"
|
|
4
|
+
class="rtsee-messenger-search-input"
|
|
5
|
+
placeholder="Search"/>
|
|
6
|
+
</div>
|
|
7
|
+
|
|
8
|
+
<div class="rtsee-messenger-search-results">
|
|
9
|
+
<rtsee-preloader [diameter]="50"
|
|
10
|
+
*ngIf="search.searchInProgress"
|
|
11
|
+
></rtsee-preloader>
|
|
12
|
+
<p>Chats</p>
|
|
13
|
+
<div class="rtsee-messenger-search-results-chats">
|
|
14
|
+
<div *ngFor="let chat of search.results.chats"
|
|
15
|
+
class="rtsee-messenger-search-results-chat-wrapper">
|
|
16
|
+
<p>{{chat.name}}</p>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<p>Messages</p>
|
|
20
|
+
<div class="rtsee-messenger-search-results-messages">
|
|
21
|
+
<div *ngFor="let message of search.results.messages" class="rtsee-messenger-search-results-message-wrapper">
|
|
22
|
+
<p>{{message.chatName || message.senderName }}</p>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Component, Input, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { debounceTime } from 'rxjs/operators';
|
|
3
|
+
import {FormControl, ReactiveFormsModule} from '@angular/forms';
|
|
4
|
+
import { Subscription } from 'rxjs';
|
|
5
|
+
import { RTSeeMessengerSearch } from '@rtsee/messenger';
|
|
6
|
+
import {PreloaderComponent} from "../../../../../common/components/preloader/preloader.component";
|
|
7
|
+
import {NgForOf} from "@angular/common";
|
|
8
|
+
|
|
9
|
+
@Component({
|
|
10
|
+
selector: 'rtsee-search',
|
|
11
|
+
templateUrl: './search.component.html',
|
|
12
|
+
imports: [
|
|
13
|
+
ReactiveFormsModule,
|
|
14
|
+
PreloaderComponent,
|
|
15
|
+
NgForOf
|
|
16
|
+
],
|
|
17
|
+
standalone: true
|
|
18
|
+
})
|
|
19
|
+
export class SearchComponent implements OnInit, OnDestroy {
|
|
20
|
+
queryControl = new FormControl();
|
|
21
|
+
queryCtrlSub?: Subscription;
|
|
22
|
+
|
|
23
|
+
@Input() search!: RTSeeMessengerSearch;
|
|
24
|
+
|
|
25
|
+
ngOnInit(): void {
|
|
26
|
+
this.queryCtrlSub = this.queryControl.valueChanges
|
|
27
|
+
.pipe(debounceTime(200))
|
|
28
|
+
.subscribe((value: string) => this.search.onQueryChange(value));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
ngOnDestroy() {
|
|
32
|
+
if (this.queryCtrlSub) {
|
|
33
|
+
this.queryCtrlSub.unsubscribe();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|