@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-presentation/presentation/presentation.component.html
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<div class="rtsee-presentation">
|
|
2
|
+
<div class="rtsee-presentation-header-block">
|
|
3
|
+
<rtsee-presentation-header [presentation]="presentation"
|
|
4
|
+
></rtsee-presentation-header>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="rtsee-presentation-stories-list"
|
|
7
|
+
*ngIf="!presentation.activeStory"
|
|
8
|
+
>
|
|
9
|
+
<div class="rtsee-presentation-story-thumbnail-container"
|
|
10
|
+
*ngFor="let story of presentation.stories"
|
|
11
|
+
(click)="presentation.setActiveStory(story)"
|
|
12
|
+
>
|
|
13
|
+
<rtsee-story-thumbnail
|
|
14
|
+
[story]="story"
|
|
15
|
+
></rtsee-story-thumbnail>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="rtsee-presentation-story-viewer-container"
|
|
19
|
+
*ngIf="presentation.activeStory"
|
|
20
|
+
>
|
|
21
|
+
<rtsee-story-player [story]="presentation.activeStory"
|
|
22
|
+
></rtsee-story-player>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
package/projects/ngx/src/lib/components/rtsee-presentation/presentation/presentation.component.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {Component, Input} from '@angular/core';
|
|
2
|
+
import { RTSeePresentation } from "@rtsee/presentation";
|
|
3
|
+
import {PresentationHeaderComponent} from "../presentation-header/presentation-header.component";
|
|
4
|
+
import {NgForOf, NgIf} from "@angular/common";
|
|
5
|
+
import {StoryThumbnailComponent} from "../story-thumbnail/story-thumbnail.component";
|
|
6
|
+
import {StoryPlayerComponent} from "../story-player/story-player.component";
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
selector: 'rtsee-presentation',
|
|
10
|
+
templateUrl: './presentation.component.html',
|
|
11
|
+
imports: [
|
|
12
|
+
PresentationHeaderComponent,
|
|
13
|
+
NgIf,
|
|
14
|
+
StoryThumbnailComponent,
|
|
15
|
+
StoryPlayerComponent
|
|
16
|
+
],
|
|
17
|
+
standalone: true
|
|
18
|
+
})
|
|
19
|
+
export class PresentationComponent {
|
|
20
|
+
@Input() presentation!: RTSeePresentation;
|
|
21
|
+
|
|
22
|
+
constructor() {}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<div class="rtsee-presentation-header">
|
|
2
|
+
<div class="rtsee-presentation-room-block">
|
|
3
|
+
<div class="rtsee-presentation-active-room" *ngIf="presentation.activeRoom">
|
|
4
|
+
<p>{{presentation.activeRoom.id}}</p>
|
|
5
|
+
<button (click)="presentation.emitJoinRoomCallEvent()">Join Video Call</button>
|
|
6
|
+
</div>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="rtsee-story-info" *ngIf="presentation.activeStory">
|
|
9
|
+
<p>{{presentation.activeStory.name}}</p>
|
|
10
|
+
<span class="rtsee-story-thumbnail-info-time-icon material-icons-outlined"
|
|
11
|
+
(click)="presentation.disableActiveStory()"
|
|
12
|
+
>close</span>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {Component, Input} from '@angular/core';
|
|
2
|
+
import {RTSeePresentation} from "@rtsee/presentation";
|
|
3
|
+
import {NgIf} from "@angular/common";
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
selector: 'rtsee-presentation-header',
|
|
7
|
+
templateUrl: './presentation-header.component.html',
|
|
8
|
+
imports: [
|
|
9
|
+
NgIf
|
|
10
|
+
],
|
|
11
|
+
standalone: true
|
|
12
|
+
})
|
|
13
|
+
export class PresentationHeaderComponent {
|
|
14
|
+
@Input() public presentation!: RTSeePresentation;
|
|
15
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<div class="rtsee-presentation-slide">
|
|
2
|
+
<ng-template *ngIf="slide.widget" widgetHost></ng-template>
|
|
3
|
+
<div class="rtsee-presentation-slide-default">
|
|
4
|
+
<div class="rtsee-presentation-slide-image-container"
|
|
5
|
+
[ngStyle]="" ]="{'background-image': 'url(' + slide.imageUrl + ')'}"
|
|
6
|
+
*ngIf="slide.imageUrl"
|
|
7
|
+
>
|
|
8
|
+
</div>
|
|
9
|
+
<div class="rtsee-presentation-slide-text">
|
|
10
|
+
<p>{{slide.text}}</p>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="rtsee-presentation-slide-controls">
|
|
13
|
+
<button class="slide-navigation-btn navigation-prev"
|
|
14
|
+
(click)="slideRewindClicked(false)"
|
|
15
|
+
*ngIf="story.activeSlideNumber !== 1"
|
|
16
|
+
>
|
|
17
|
+
<span class="rtsee-story-thumbnail-info-time-icon material-icons-outlined"
|
|
18
|
+
>arrow_back_ios</span>
|
|
19
|
+
</button>
|
|
20
|
+
<button class="slide-navigation-btn navigation-next"
|
|
21
|
+
(click)="slideRewindClicked(true)"
|
|
22
|
+
*ngIf="story.activeSlideNumber !== this.story.totalSlides"
|
|
23
|
+
>
|
|
24
|
+
<span class="rtsee-story-thumbnail-info-time-icon material-icons-outlined"
|
|
25
|
+
>arrow_forward_ios</span>
|
|
26
|
+
</button>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import {RTSeeStory, RTSeeStorySlide} from "@rtsee/presentation";
|
|
3
|
+
import {NgIf, NgStyle} from "@angular/common";
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
selector: 'rtsee-slide',
|
|
7
|
+
templateUrl: './slide.component.html',
|
|
8
|
+
imports: [
|
|
9
|
+
NgStyle,
|
|
10
|
+
NgIf
|
|
11
|
+
],
|
|
12
|
+
standalone: true
|
|
13
|
+
})
|
|
14
|
+
export class SlideComponent {
|
|
15
|
+
@Input() story!: RTSeeStory;
|
|
16
|
+
@Input() slide!: RTSeeStorySlide;
|
|
17
|
+
|
|
18
|
+
slideRewindClicked(forward: boolean) {
|
|
19
|
+
if (forward) {
|
|
20
|
+
this.story.nextSlide();
|
|
21
|
+
} else {
|
|
22
|
+
this.story.previousSlide();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
package/projects/ngx/src/lib/components/rtsee-presentation/story-player/story-player.component.html
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<div class="rtsee-story-player">
|
|
2
|
+
<div class="rtsee-story-player-slider">
|
|
3
|
+
<div class="story-player-slide-container"
|
|
4
|
+
*ngFor="let slide of story.slides"
|
|
5
|
+
[ngClass]="{'story-player-slide-active': slide.isActive}"
|
|
6
|
+
>
|
|
7
|
+
<rtsee-slide [slide]="slide" [story]="story"></rtsee-slide>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
package/projects/ngx/src/lib/components/rtsee-presentation/story-player/story-player.component.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, Input, OnInit } from '@angular/core';
|
|
2
|
+
import {RTSeeStory} from "@rtsee/presentation";
|
|
3
|
+
import {NgClass, NgForOf} from "@angular/common";
|
|
4
|
+
import {SlideComponent} from "../slide/slide.component";
|
|
5
|
+
|
|
6
|
+
@Component({
|
|
7
|
+
selector: 'rtsee-story-player',
|
|
8
|
+
templateUrl: './story-player.component.html',
|
|
9
|
+
imports: [
|
|
10
|
+
NgForOf,
|
|
11
|
+
NgClass,
|
|
12
|
+
SlideComponent
|
|
13
|
+
],
|
|
14
|
+
standalone: true
|
|
15
|
+
})
|
|
16
|
+
export class StoryPlayerComponent implements OnInit {
|
|
17
|
+
@Input() story!: RTSeeStory;
|
|
18
|
+
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
console.log('Story Player: Story = ', this.story);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<div class="rtsee-story-thumbnail">
|
|
2
|
+
<div class="rtsee-story-thumbnail-image-container"
|
|
3
|
+
[ngStyle]="{'background-image': 'url(' + story.imageUrl + ')'}"
|
|
4
|
+
>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="rtsee-story-thumbnail-body-container">
|
|
7
|
+
<div class="rtsee-story-thumbnail-title-container">
|
|
8
|
+
<h4 class="rtsee-story-thumbnail-title">{{story.name}}</h4>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="rtsee-story-thumbnail-info-container" *ngIf="story.averageReadTime">
|
|
11
|
+
<span class="rtsee-story-thumbnail-info-time-icon material-icons-outlined">schedule</span>
|
|
12
|
+
<span class="rtsee-story-thumbnail-info-read-time">{{ Math.ceil(story.averageReadTime / 60) }} хв</span>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
File without changes
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {Component, Input} from '@angular/core';
|
|
2
|
+
import {RTSeeStory} from "@rtsee/presentation";
|
|
3
|
+
import {NgIf, NgStyle} from "@angular/common";
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
selector: 'rtsee-story-thumbnail',
|
|
7
|
+
templateUrl: './story-thumbnail.component.html',
|
|
8
|
+
styleUrls: ['./story-thumbnail.component.scss'],
|
|
9
|
+
imports: [
|
|
10
|
+
NgStyle,
|
|
11
|
+
NgIf
|
|
12
|
+
],
|
|
13
|
+
standalone: true
|
|
14
|
+
})
|
|
15
|
+
export class StoryThumbnailComponent {
|
|
16
|
+
@Input() story!: RTSeeStory;
|
|
17
|
+
|
|
18
|
+
protected readonly Math = Math;
|
|
19
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<div class="rtsee-settings" [ngClass]="{'rtsee-full-screen-settings' : fullScreenMode}">
|
|
2
|
+
<div class="rtsee-devices">
|
|
3
|
+
<div class="rtsee-device-select-wrapper">
|
|
4
|
+
<label class="rtsee-select-label" for="audio-input">Audio Input:</label>
|
|
5
|
+
<select (click)="refreshSelectOptions()"
|
|
6
|
+
(ngModelChange)="audioInputChanged()"
|
|
7
|
+
[(ngModel)]="audioInputDeviceId"
|
|
8
|
+
class="rtsee-select"
|
|
9
|
+
id="audio-input"
|
|
10
|
+
>
|
|
11
|
+
<option *ngFor="let device of rtSee.audioInputDevices"
|
|
12
|
+
[value]="device.deviceId">
|
|
13
|
+
{{device.label}}
|
|
14
|
+
</option>
|
|
15
|
+
</select>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="rtsee-device-select-wrapper">
|
|
18
|
+
<label class="rtsee-select-label" for="audio-output">Audio Output:</label>
|
|
19
|
+
<select (click)="refreshSelectOptions()"
|
|
20
|
+
(ngModelChange)="audioOutputChanged()"
|
|
21
|
+
[(ngModel)]="audioOutputDeviceId"
|
|
22
|
+
class="rtsee-select"
|
|
23
|
+
id="audio-output"
|
|
24
|
+
>
|
|
25
|
+
<option *ngFor="let device of rtSee.audioOutputDevices" [value]="device.deviceId" >
|
|
26
|
+
{{device.label}}
|
|
27
|
+
</option>
|
|
28
|
+
</select>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="rtsee-device-select-wrapper">
|
|
31
|
+
<label class="rtsee-select-label" for="video-input">Video Input:</label>
|
|
32
|
+
<select (click)="refreshSelectOptions()"
|
|
33
|
+
(ngModelChange)="videoInputChanged()"
|
|
34
|
+
[(ngModel)]="videoInputDeviceId"
|
|
35
|
+
class="rtsee-select"
|
|
36
|
+
id="video-input"
|
|
37
|
+
>
|
|
38
|
+
<option *ngFor="let device of rtSee.videoInputDevices" [value]="device.deviceId">
|
|
39
|
+
{{device.label}}
|
|
40
|
+
</option>
|
|
41
|
+
</select>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
$video-container-height: 240px;
|
|
2
|
+
$container-offset: 16px;
|
|
3
|
+
$container-inner-offset: 8px;
|
|
4
|
+
$controls-panel-height: 60px;
|
|
5
|
+
|
|
6
|
+
.rtsee-settings {
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
background-color: #404040;
|
|
9
|
+
border-bottom: 1px solid;
|
|
10
|
+
max-height: $video-container-height - $controls-panel-height;
|
|
11
|
+
padding: $container-offset 0;
|
|
12
|
+
overflow: auto;
|
|
13
|
+
color: #ffffff;
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
.rtsee-device-select-wrapper {
|
|
17
|
+
padding: 0 10px;
|
|
18
|
+
|
|
19
|
+
.rtsee-select-label {
|
|
20
|
+
font-family: monospace;
|
|
21
|
+
display: inline-block;
|
|
22
|
+
margin: $container-inner-offset;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&.rtsee-full-screen-settings {
|
|
27
|
+
max-height: unset;
|
|
28
|
+
overflow: unset;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Component, Input, OnInit } from '@angular/core';
|
|
2
|
+
import { RTSeeConference } from '@rtsee/conference';
|
|
3
|
+
import {NgClass, NgForOf} from "@angular/common";
|
|
4
|
+
import {FormsModule} from "@angular/forms";
|
|
5
|
+
|
|
6
|
+
@Component({
|
|
7
|
+
selector: 'ngx-rtsee-settings',
|
|
8
|
+
templateUrl: './rtsee-settings.component.html',
|
|
9
|
+
styleUrls: ['./rtsee-settings.component.scss'],
|
|
10
|
+
imports: [
|
|
11
|
+
NgClass,
|
|
12
|
+
FormsModule,
|
|
13
|
+
NgForOf
|
|
14
|
+
],
|
|
15
|
+
standalone: true
|
|
16
|
+
})
|
|
17
|
+
export class RtseeSettingsComponent implements OnInit {
|
|
18
|
+
availableAudioInputDevices: MediaDeviceInfo[];
|
|
19
|
+
availableVideoInputDevices: MediaDeviceInfo[];
|
|
20
|
+
availableAudioOutputDevices: MediaDeviceInfo[];
|
|
21
|
+
|
|
22
|
+
audioOutputDeviceId?: string;
|
|
23
|
+
videoInputDeviceId?: string;
|
|
24
|
+
audioInputDeviceId?: string;
|
|
25
|
+
|
|
26
|
+
@Input() rtSee!: RTSeeConference;
|
|
27
|
+
@Input() fullScreenMode!: boolean;
|
|
28
|
+
constructor() {
|
|
29
|
+
this.availableAudioInputDevices = [];
|
|
30
|
+
this.availableVideoInputDevices = [];
|
|
31
|
+
this.availableAudioOutputDevices = [];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
ngOnInit(): void {
|
|
35
|
+
this.refreshSelectOptions();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
refreshSelectOptions() {
|
|
39
|
+
void this.rtSee.refreshMediaDevicesList();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
audioInputChanged() {
|
|
43
|
+
if (!this.audioInputDeviceId) { return; }
|
|
44
|
+
this.rtSee.setAudioInputDevice(this.audioInputDeviceId);
|
|
45
|
+
console.log(this.audioInputDeviceId);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
audioOutputChanged() {
|
|
49
|
+
if (!this.audioOutputDeviceId) { return; }
|
|
50
|
+
this.rtSee.setAudioOutputDevice(this.audioOutputDeviceId);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
videoInputChanged() {
|
|
54
|
+
if (!this.videoInputDeviceId) { return; }
|
|
55
|
+
this.rtSee.setVideoInputDevice(this.videoInputDeviceId);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<div class="rtsee-soundbar">
|
|
2
|
+
<div class="rtsee-soundbar-scale">
|
|
3
|
+
<div class="rtsee-soundbar-scale-item">
|
|
4
|
+
<div class="rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-one"
|
|
5
|
+
[style.height.%]="scaleOneLevel"
|
|
6
|
+
></div>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="rtsee-soundbar-scale-item">
|
|
9
|
+
<div class="rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-two"
|
|
10
|
+
[style.height.%]="scaleTwoLevel"
|
|
11
|
+
></div>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="rtsee-soundbar-scale-item">
|
|
14
|
+
<div class="rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-three"
|
|
15
|
+
[style.height.%]="scaleThreeLevel"
|
|
16
|
+
></div>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
$scale-item-height: 15px;
|
|
2
|
+
$scale-item-width: 5px;
|
|
3
|
+
$soundbar-inner-offset: 2px;
|
|
4
|
+
$soundbar-height: $scale-item-height + $soundbar-inner-offset * 2;
|
|
5
|
+
$soundbar-width: $scale-item-width * 3 + $soundbar-inner-offset * 4;
|
|
6
|
+
$min-scale-height: 25%;
|
|
7
|
+
$soundbar-scale-item-color: #00CE00;
|
|
8
|
+
|
|
9
|
+
.rtsee-soundbar {
|
|
10
|
+
height: $soundbar-height;
|
|
11
|
+
width: $soundbar-width;
|
|
12
|
+
padding: $soundbar-inner-offset 0 0 0;
|
|
13
|
+
|
|
14
|
+
.rtsee-soundbar-scale {
|
|
15
|
+
height: 100%;
|
|
16
|
+
|
|
17
|
+
.rtsee-soundbar-scale-item {
|
|
18
|
+
float: left;
|
|
19
|
+
height: 15px;
|
|
20
|
+
width: 5px;
|
|
21
|
+
margin-left: 2px;
|
|
22
|
+
position: relative;
|
|
23
|
+
border-radius: 4px;
|
|
24
|
+
|
|
25
|
+
&:last-child:after {
|
|
26
|
+
content: '';
|
|
27
|
+
display: block;
|
|
28
|
+
clear: both;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.rtsee-soundbar-scale-item-level {
|
|
32
|
+
position: absolute;
|
|
33
|
+
bottom: 0;
|
|
34
|
+
left: 0;
|
|
35
|
+
height: 10%;
|
|
36
|
+
width: 100%;
|
|
37
|
+
transition: height 0.05s;
|
|
38
|
+
background-color: $soundbar-scale-item-color;
|
|
39
|
+
min-height: $min-scale-height;
|
|
40
|
+
border-radius: 1px;
|
|
41
|
+
|
|
42
|
+
&.rtsee-soundbar-scale-item-level-one {
|
|
43
|
+
max-height: 33.3%;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&.rtsee-soundbar-scale-item-level-two {
|
|
47
|
+
max-height: 66.6%;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&.rtsee-soundbar-scale-item-level-three {
|
|
51
|
+
max-height: 100%;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Component, Input, OnInit } from '@angular/core';
|
|
2
|
+
import { RTSeePeerConnection } from '@rtsee/conference';
|
|
3
|
+
import { interval } from 'rxjs';
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
selector: 'ngx-rtsee-soundbar',
|
|
7
|
+
templateUrl: './rtsee-soundbar.component.html',
|
|
8
|
+
styleUrls: ['./rtsee-soundbar.component.scss'],
|
|
9
|
+
standalone: true
|
|
10
|
+
})
|
|
11
|
+
export class RtseeSoundbarComponent implements OnInit {
|
|
12
|
+
intervalLength: number;
|
|
13
|
+
noiceLevel: number;
|
|
14
|
+
scaleOneLevel: number;
|
|
15
|
+
scaleTwoLevel: number;
|
|
16
|
+
scaleThreeLevel: number;
|
|
17
|
+
|
|
18
|
+
@Input() peer!: RTSeePeerConnection;
|
|
19
|
+
constructor() {
|
|
20
|
+
this.intervalLength = 1000;
|
|
21
|
+
this.noiceLevel = 0;
|
|
22
|
+
this.scaleOneLevel = 0;
|
|
23
|
+
this.scaleTwoLevel = 0;
|
|
24
|
+
this.scaleThreeLevel = 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
ngOnInit(): void {
|
|
28
|
+
this.startSoundMeterListening();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
startSoundMeterListening() {
|
|
32
|
+
const step = interval(1000 / 10);
|
|
33
|
+
step.subscribe(() => {
|
|
34
|
+
if (!this.peer.soundMeter || !this.peer.soundMeter.level) {
|
|
35
|
+
this.noiceLevel = 0;
|
|
36
|
+
} else {
|
|
37
|
+
this.noiceLevel = this.peer.soundMeter?.level * 100 || 0;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
this.setSoundMeterHeights();
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
setSoundMeterHeights() {
|
|
45
|
+
const ZERO_LEVEL = 25;
|
|
46
|
+
const SCALE_STEP = 25;
|
|
47
|
+
const SCALE_ONE_TOP = ZERO_LEVEL + SCALE_STEP;
|
|
48
|
+
const SCALE_TWO_TOP = SCALE_ONE_TOP + SCALE_STEP;
|
|
49
|
+
|
|
50
|
+
if (!this.peer || !this.peer.soundMeter || this.noiceLevel < ZERO_LEVEL) {
|
|
51
|
+
this.scaleOneLevel = 0;
|
|
52
|
+
this.scaleTwoLevel = 0;
|
|
53
|
+
this.scaleThreeLevel = 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const scaleOneValue = ((this.noiceLevel - ZERO_LEVEL) / SCALE_STEP) * 100;
|
|
57
|
+
const scaleTwoValue =
|
|
58
|
+
((this.noiceLevel - SCALE_ONE_TOP) / SCALE_STEP) * 100;
|
|
59
|
+
const scaleThreeValue =
|
|
60
|
+
((this.noiceLevel - SCALE_TWO_TOP) / SCALE_STEP) * 100;
|
|
61
|
+
|
|
62
|
+
this.scaleOneLevel = scaleOneValue > 0 ? scaleOneValue : 0;
|
|
63
|
+
this.scaleTwoLevel = scaleTwoValue > 0 ? scaleTwoValue : 0;
|
|
64
|
+
this.scaleThreeLevel = scaleThreeValue > 0 ? scaleTwoValue : 0;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AfterViewInit, Directive, ElementRef } from '@angular/core';
|
|
2
|
+
import shave from 'shave';
|
|
3
|
+
|
|
4
|
+
@Directive({
|
|
5
|
+
selector: '[rtseeShave]',
|
|
6
|
+
standalone: true
|
|
7
|
+
})
|
|
8
|
+
export class ShaveDirective implements AfterViewInit {
|
|
9
|
+
constructor(private elem: ElementRef<HTMLDivElement>) {}
|
|
10
|
+
|
|
11
|
+
ngAfterViewInit() {
|
|
12
|
+
const height = this.elem.nativeElement?.offsetHeight;
|
|
13
|
+
shave(this.elem.nativeElement as unknown as NodeList, height);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
|
2
|
+
import { RTSeeControlsComponent } from './components/rtsee/rtsee-controls/rtsee-controls.component';
|
|
3
|
+
import { CommonModule, NgOptimizedImage } from '@angular/common';
|
|
4
|
+
import { RtseePeerComponent } from './components/rtsee-peer/rtsee-peer.component';
|
|
5
|
+
import { RtseeSoundbarComponent } from './components/rtsee-soundbar/rtsee-soundbar.component';
|
|
6
|
+
import { RtseePeersListComponent } from './components/rtsee-peers-list/rtsee-peers-list.component';
|
|
7
|
+
import { RtseeSettingsComponent } from './components/rtsee-settings/rtsee-settings.component';
|
|
8
|
+
import { MessengerComponent } from './components/rtsee-messenger/messenger/messenger.component';
|
|
9
|
+
import { ChatComponent } from './components/rtsee-messenger/chat/chat.component';
|
|
10
|
+
import { MessageComponent } from './components/rtsee-messenger/message/message.component';
|
|
11
|
+
import { ChatsListComponent } from './components/rtsee-messenger/chats-list/chats-list.component';
|
|
12
|
+
import { MessagesListComponent } from './components/rtsee-messenger/messages-list/messages-list.component';
|
|
13
|
+
import { ChatThumbnailComponent } from './components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component';
|
|
14
|
+
import { ChatInputComponent } from './components/rtsee-messenger/chat-input/chat-input.component';
|
|
15
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
16
|
+
import { MessengerHeaderComponent } from './components/rtsee-messenger/messenger-header/messenger-header.component';
|
|
17
|
+
import { RtseeEventsDashboardComponent } from './components/rtsee-events-dashboard/rtsee-events-dashboard.component';
|
|
18
|
+
import { RtseeEventsDashboardClientComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component';
|
|
19
|
+
import { RtseeEventsDashboardClientThumbnailComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component';
|
|
20
|
+
import { WidgetDirective } from './directives/widget.directive';
|
|
21
|
+
import { CallWidgetComponent } from './components/rtsee-messenger/message-widgets/call-widget/call-widget.component';
|
|
22
|
+
import { AutosizeModule } from 'ngx-autosize';
|
|
23
|
+
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
24
|
+
import { MainMenuComponent } from './components/rtsee-messenger/main-menu/main-menu.component';
|
|
25
|
+
import { MessageTimeAndStatusComponent } from './components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component';
|
|
26
|
+
import { PreloaderComponent } from './common/components/preloader/preloader.component';
|
|
27
|
+
import { SearchComponent } from './components/rtsee-messenger/main-menu/components/search/search.component';
|
|
28
|
+
import { ManageChatComponent } from './components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component';
|
|
29
|
+
import { ContactsMultiselectComponent } from './components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component';
|
|
30
|
+
import { ShaveDirective } from './directives/shave.directive';
|
|
31
|
+
import { ProfileComponent } from './components/rtsee-messenger/profile/profile.component';
|
|
32
|
+
import { EventThumbnailComponent } from './components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component';
|
|
33
|
+
import { RtseeEventsDashboardSessionComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component';
|
|
34
|
+
import { RTSeeContainerComponent } from './components/rtsee-container/rtsee-container.component';
|
|
35
|
+
import { RTSeeConferenceComponent } from './components/rtsee/rtsee-conference.component';
|
|
36
|
+
import { PresentationComponent } from './components/rtsee-presentation/presentation/presentation.component';
|
|
37
|
+
import { StoryPlayerComponent } from './components/rtsee-presentation/story-player/story-player.component';
|
|
38
|
+
import { SlideComponent } from './components/rtsee-presentation/slide/slide.component';
|
|
39
|
+
import { StoryThumbnailComponent } from './components/rtsee-presentation/story-thumbnail/story-thumbnail.component';
|
|
40
|
+
import { SignUpComponent } from "./components/rtsee-auth/sign-up/sign-up.component";
|
|
41
|
+
import { SignInComponent } from "./components/rtsee-auth/sign-in/sign-in.component";
|
|
42
|
+
import { ForgotPasswordComponent } from "./components/rtsee-auth/forgot-password/forgot-password.component";
|
|
43
|
+
import { VendorsComponent } from "./components/rtsee-auth/vendors/vendors.component";
|
|
44
|
+
import { AuthComponent } from './components/rtsee-auth/auth/auth.component';
|
|
45
|
+
import { RtseeSidenavComponent } from './components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component';
|
|
46
|
+
import { RtseeBottomNavComponent } from './components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component';
|
|
47
|
+
import { RouterLink, RouterLinkActive } from "@angular/router";
|
|
48
|
+
import { ResetPasswordComponent } from './components/rtsee-auth/reset-password/reset-password.component';
|
|
49
|
+
import { PresentationHeaderComponent } from './components/rtsee-presentation/presentation-header/presentation-header.component';
|
|
50
|
+
|
|
51
|
+
@NgModule({
|
|
52
|
+
declarations: [],
|
|
53
|
+
imports: [
|
|
54
|
+
AuthComponent,
|
|
55
|
+
VendorsComponent,
|
|
56
|
+
ForgotPasswordComponent,
|
|
57
|
+
SignInComponent,
|
|
58
|
+
SignUpComponent,
|
|
59
|
+
RtseeEventsDashboardSessionComponent,
|
|
60
|
+
EventThumbnailComponent,
|
|
61
|
+
ShaveDirective,
|
|
62
|
+
ContactsMultiselectComponent,
|
|
63
|
+
ManageChatComponent,
|
|
64
|
+
CallWidgetComponent,
|
|
65
|
+
WidgetDirective,
|
|
66
|
+
RtseeEventsDashboardClientComponent,
|
|
67
|
+
ResetPasswordComponent,
|
|
68
|
+
RtseeEventsDashboardClientThumbnailComponent,
|
|
69
|
+
RtseePeersListComponent,
|
|
70
|
+
ChatComponent,
|
|
71
|
+
MessageComponent,
|
|
72
|
+
MessagesListComponent,
|
|
73
|
+
ChatThumbnailComponent,
|
|
74
|
+
ChatInputComponent,
|
|
75
|
+
RtseeEventsDashboardComponent,
|
|
76
|
+
MessengerComponent,
|
|
77
|
+
RTSeeControlsComponent,
|
|
78
|
+
RTSeeContainerComponent,
|
|
79
|
+
RTSeeConferenceComponent,
|
|
80
|
+
RtseePeerComponent,
|
|
81
|
+
RtseeSoundbarComponent,
|
|
82
|
+
RtseeSettingsComponent,
|
|
83
|
+
RtseeSidenavComponent,
|
|
84
|
+
MessengerHeaderComponent,
|
|
85
|
+
ChatsListComponent,
|
|
86
|
+
ProfileComponent,
|
|
87
|
+
MainMenuComponent,
|
|
88
|
+
MessageTimeAndStatusComponent,
|
|
89
|
+
PreloaderComponent,
|
|
90
|
+
SearchComponent,
|
|
91
|
+
PresentationComponent,
|
|
92
|
+
StoryPlayerComponent,
|
|
93
|
+
SlideComponent,
|
|
94
|
+
StoryThumbnailComponent,
|
|
95
|
+
RtseeBottomNavComponent,
|
|
96
|
+
PresentationHeaderComponent,
|
|
97
|
+
CommonModule,
|
|
98
|
+
ReactiveFormsModule,
|
|
99
|
+
AutosizeModule,
|
|
100
|
+
InfiniteScrollModule,
|
|
101
|
+
FormsModule,
|
|
102
|
+
NgOptimizedImage,
|
|
103
|
+
RouterLink,
|
|
104
|
+
RouterLinkActive,
|
|
105
|
+
],
|
|
106
|
+
exports: [
|
|
107
|
+
RTSeeConferenceComponent,
|
|
108
|
+
MessengerComponent,
|
|
109
|
+
RtseeEventsDashboardComponent,
|
|
110
|
+
RTSeeContainerComponent,
|
|
111
|
+
PresentationComponent,
|
|
112
|
+
AuthComponent
|
|
113
|
+
],
|
|
114
|
+
schemas: [
|
|
115
|
+
CUSTOM_ELEMENTS_SCHEMA,
|
|
116
|
+
],
|
|
117
|
+
|
|
118
|
+
})
|
|
119
|
+
export class RTSeeModule {}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { NgxService } from './ngx.service';
|
|
4
|
+
|
|
5
|
+
describe('NgxService', () => {
|
|
6
|
+
let service: NgxService;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
TestBed.configureTestingModule({});
|
|
10
|
+
service = TestBed.inject(NgxService);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it('should be created', () => {
|
|
14
|
+
expect(service).toBeTruthy();
|
|
15
|
+
});
|
|
16
|
+
});
|