mediasfu-angular 1.0.1 → 2.0.0
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/README.md +871 -769
- package/dist/README.md +870 -769
- package/dist/fesm2022/mediasfu-angular.mjs +13241 -3372
- package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
- package/dist/lib/@types/types.d.ts +22 -1
- package/dist/lib/components/background-components/background-modal/background-modal.component.d.ts +36 -0
- package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +51 -0
- package/dist/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.d.ts +48 -0
- package/dist/lib/components/co-host-components/co-host-modal/co-host-modal.component.d.ts +62 -0
- package/dist/lib/components/display-components/alert-component/alert.component.component.d.ts +24 -18
- package/dist/lib/components/display-components/audio-card/audio-card.component.d.ts +59 -0
- package/dist/lib/components/display-components/audio-grid/audio-grid.component.d.ts +20 -0
- package/dist/lib/components/display-components/card-video-display/card-video-display.component.d.ts +35 -0
- package/dist/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.d.ts +38 -0
- package/dist/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.d.ts +24 -40
- package/dist/lib/components/display-components/control-widgets/menu-participants-widget.component.d.ts +21 -0
- package/dist/lib/components/display-components/control-widgets/menu-record-widget.component.d.ts +22 -0
- package/dist/lib/components/display-components/control-widgets/menu-widget.component.d.ts +23 -0
- package/dist/lib/components/display-components/control-widgets/message-widget.component.d.ts +23 -0
- package/dist/lib/components/display-components/control-widgets/record-timer-widget.component.d.ts +15 -0
- package/dist/lib/components/display-components/control-widgets/screenshare-widget.component.d.ts +27 -0
- package/dist/lib/components/display-components/flexible-grid/flexible-grid.component.d.ts +27 -18
- package/dist/lib/components/display-components/flexible-video/flexible-video.component.d.ts +30 -45
- package/dist/lib/components/display-components/loading-modal/loading-modal.component.d.ts +19 -17
- package/dist/lib/components/display-components/main-aspect-component/main-aspect-component.component.d.ts +32 -24
- package/dist/lib/components/display-components/main-container-component/main-container-component.component.d.ts +28 -16
- package/dist/lib/components/display-components/main-grid-component/main-grid-component.component.d.ts +28 -14
- package/dist/lib/components/display-components/main-screen-component/main-screen-component.component.d.ts +43 -22
- package/dist/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.d.ts +25 -30
- package/dist/lib/components/display-components/mini-audio/mini-audio.component.d.ts +55 -62
- package/dist/lib/components/display-components/mini-card/mini-card.component.d.ts +19 -23
- package/dist/lib/components/display-components/mini-card-audio/mini-card-audio.component.d.ts +39 -39
- package/dist/lib/components/display-components/other-grid-component/other-grid-component.component.d.ts +28 -13
- package/dist/lib/components/display-components/pagination/pagination.component.d.ts +29 -23
- package/dist/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.d.ts +18 -24
- package/dist/lib/components/display-components/video-card/video-card.component.d.ts +62 -0
- package/dist/lib/components/display-settings-components/display-settings-modal.component.d.ts +28 -17
- package/dist/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.d.ts +47 -38
- package/dist/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.d.ts +35 -22
- package/dist/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.d.ts +35 -24
- package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +258 -117
- package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +254 -117
- package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +312 -162
- package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +312 -162
- package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +310 -162
- package/dist/lib/components/menu-components/custom-buttons/custom-buttons.component.d.ts +49 -51
- package/dist/lib/components/menu-components/meeting-id-component/meeting-id-component.component.d.ts +6 -1
- package/dist/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.d.ts +5 -0
- package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +27 -29
- package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +20 -15
- package/dist/lib/components/message-components/message-panel/message-panel.component.d.ts +24 -0
- package/dist/lib/components/message-components/messages-modal/messages-modal.component.d.ts +34 -0
- package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +20 -35
- package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +79 -66
- package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +19 -1
- package/dist/lib/components/misc-components/welcome-page/welcome-page.component.d.ts +15 -0
- package/dist/lib/components/participants-components/participant-list/participant-list.component.d.ts +19 -0
- package/dist/lib/components/participants-components/participant-list-item/participant-list-item.component.d.ts +19 -0
- package/dist/lib/components/participants-components/participant-list-others/participant-list-others.component.d.ts +17 -0
- package/dist/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.d.ts +17 -0
- package/dist/lib/components/participants-components/participants-modal/participants-modal.component.d.ts +24 -0
- package/dist/lib/components/polls-components/poll-modal/poll-modal.component.d.ts +27 -0
- package/dist/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.d.ts +15 -0
- package/dist/lib/components/recording-components/recording-modal/recording-modal.component.d.ts +12 -0
- package/dist/lib/components/recording-components/standard-panel-component/standard-panel-component.component.d.ts +5 -0
- package/dist/lib/components/requests-components/render-request-component/render-request-component.component.d.ts +22 -0
- package/dist/lib/components/requests-components/requests-modal/requests-modal.component.d.ts +17 -0
- package/dist/lib/components/screenboard-components/screenboard/screenboard.component.d.ts +10 -0
- package/dist/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.d.ts +11 -0
- package/dist/lib/components/waiting-components/waiting-room-modal.component.d.ts +59 -0
- package/dist/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.d.ts +21 -0
- package/dist/lib/components/whiteboard-components/whiteboard/whiteboard.component.d.ts +49 -0
- package/dist/lib/consumers/add-videos-grid.service.d.ts +49 -0
- package/dist/lib/consumers/auto-adjust.service.d.ts +26 -0
- package/dist/lib/consumers/calculate-rows-and-columns.service.d.ts +18 -0
- package/dist/lib/consumers/change-vids.service.d.ts +131 -66
- package/dist/lib/consumers/check-grid.service.d.ts +32 -18
- package/dist/lib/consumers/check-permission.service.d.ts +25 -0
- package/dist/lib/consumers/check-screen-share.service.d.ts +35 -0
- package/dist/lib/consumers/close-and-resize.service.d.ts +102 -0
- package/dist/lib/consumers/compare-active-names.service.d.ts +31 -0
- package/dist/lib/consumers/compare-screen-states.service.d.ts +35 -0
- package/dist/lib/consumers/connect-ips.service.d.ts +42 -0
- package/dist/lib/consumers/connect-local-ips.service.d.ts +81 -0
- package/dist/lib/consumers/connect-recv-transport.service.d.ts +33 -0
- package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +81 -11
- package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +96 -15
- package/dist/lib/consumers/connect-send-transport-video.service.d.ts +101 -11
- package/dist/lib/consumers/connect-send-transport.service.d.ts +59 -1
- package/dist/lib/consumers/consumer-resume.service.d.ts +36 -0
- package/dist/lib/consumers/control-media.service.d.ts +45 -0
- package/dist/lib/consumers/create-send-transport.service.d.ts +149 -13
- package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +100 -13
- package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +75 -2
- package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +99 -17
- package/dist/lib/consumers/disp-streams.service.d.ts +92 -0
- package/dist/lib/consumers/generate-page-content.service.d.ts +47 -0
- package/dist/lib/consumers/get-estimate.service.d.ts +50 -0
- package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +38 -1
- package/dist/lib/consumers/get-producers-piped.service.d.ts +33 -0
- package/dist/lib/consumers/get-videos.service.d.ts +33 -0
- package/dist/lib/consumers/mix-streams.service.d.ts +22 -0
- package/dist/lib/consumers/on-screen-changes.service.d.ts +40 -0
- package/dist/lib/consumers/prepopulate-user-media.service.d.ts +99 -0
- package/dist/lib/consumers/process-consumer-transports-audio.service.d.ts +29 -0
- package/dist/lib/consumers/process-consumer-transports.service.d.ts +37 -0
- package/dist/lib/consumers/re-port.service.d.ts +48 -0
- package/dist/lib/consumers/re-update-inter.service.d.ts +82 -0
- package/dist/lib/consumers/readjust.service.d.ts +50 -0
- package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +36 -1
- package/dist/lib/consumers/receive-room-messages.service.d.ts +27 -0
- package/dist/lib/consumers/reorder-streams.service.d.ts +58 -0
- package/dist/lib/consumers/request-screen-share.service.d.ts +34 -0
- package/dist/lib/consumers/resume-pause-audio-streams.service.d.ts +51 -0
- package/dist/lib/consumers/resume-pause-streams.service.d.ts +33 -0
- package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +76 -7
- package/dist/lib/consumers/signal-new-consumer-transport.service.d.ts +37 -37
- package/dist/lib/consumers/socket-receive-methods/join-consume-room.service.d.ts +33 -0
- package/dist/lib/consumers/socket-receive-methods/new-pipe-producer.service.d.ts +39 -0
- package/dist/lib/consumers/socket-receive-methods/producer-closed.service.d.ts +27 -0
- package/dist/lib/consumers/start-share-screen.service.d.ts +40 -0
- package/dist/lib/consumers/stop-share-screen.service.d.ts +55 -0
- package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +148 -11
- package/dist/lib/consumers/stream-success-audio.service.d.ts +61 -0
- package/dist/lib/consumers/stream-success-screen.service.d.ts +50 -0
- package/dist/lib/consumers/stream-success-video.service.d.ts +58 -0
- package/dist/lib/consumers/switch-user-audio.service.d.ts +33 -0
- package/dist/lib/consumers/switch-user-video-alt.service.d.ts +32 -0
- package/dist/lib/consumers/switch-user-video.service.d.ts +47 -0
- package/dist/lib/consumers/trigger.service.d.ts +41 -0
- package/dist/lib/consumers/update-mini-cards-grid.service.d.ts +54 -0
- package/dist/lib/consumers/update-participant-audio-decibels.service.d.ts +45 -0
- package/dist/lib/methods/background-methods/launch-background.service.d.ts +25 -0
- package/dist/lib/methods/breakout-room-methods/breakout-room-updated.service.d.ts +71 -0
- package/dist/lib/methods/breakout-room-methods/launch-breakout-rooms.service.d.ts +24 -0
- package/dist/lib/methods/co-host-methods/launch-co-host.service.d.ts +24 -0
- package/dist/lib/methods/co-host-methods/modify-co-host-settings.service.d.ts +44 -0
- package/dist/lib/methods/display-settings-methods/launch-display-settings.service.d.ts +22 -0
- package/dist/lib/methods/display-settings-methods/modify-display-settings.service.d.ts +75 -0
- package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +29 -1
- package/dist/lib/methods/exit-methods/launch-confirm-exit.service.d.ts +20 -0
- package/dist/lib/methods/media-settings-methods/launch-media-settings.service.d.ts +35 -0
- package/dist/lib/methods/menu-methods/launch-menu-modal.service.d.ts +22 -0
- package/dist/lib/methods/message-methods/launch-messages.service.d.ts +22 -0
- package/dist/lib/methods/message-methods/send-message.service.d.ts +49 -0
- package/dist/lib/methods/participants-methods/launch-participants.service.d.ts +24 -0
- package/dist/lib/methods/participants-methods/message-participants.service.d.ts +46 -0
- package/dist/lib/methods/participants-methods/mute-participants.service.d.ts +39 -0
- package/dist/lib/methods/participants-methods/remove-participants.service.d.ts +45 -0
- package/dist/lib/methods/polls-methods/handle-create-poll.service.d.ts +38 -0
- package/dist/lib/methods/polls-methods/handle-end-poll.service.d.ts +32 -0
- package/dist/lib/methods/polls-methods/handle-vote-poll.service.d.ts +34 -0
- package/dist/lib/methods/polls-methods/launch-poll.service.d.ts +20 -0
- package/dist/lib/methods/polls-methods/poll-updated.service.d.ts +31 -0
- package/dist/lib/methods/recording-methods/check-pause-state.service.d.ts +24 -0
- package/dist/lib/methods/recording-methods/check-resume-state.service.d.ts +22 -0
- package/dist/lib/methods/recording-methods/confirm-recording.service.d.ts +63 -0
- package/dist/lib/methods/recording-methods/launch-recording.service.d.ts +43 -0
- package/dist/lib/methods/recording-methods/record-pause-timer.service.d.ts +27 -0
- package/dist/lib/methods/recording-methods/record-resume-timer.service.d.ts +44 -0
- package/dist/lib/methods/recording-methods/record-start-timer.service.d.ts +45 -0
- package/dist/lib/methods/recording-methods/record-update-timer.service.d.ts +32 -0
- package/dist/lib/methods/recording-methods/start-recording.service.d.ts +53 -0
- package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +42 -1
- package/dist/lib/methods/recording-methods/update-recording.service.d.ts +51 -0
- package/dist/lib/methods/requests-methods/launch-requests.service.d.ts +25 -0
- package/dist/lib/methods/requests-methods/respond-to-requests.service.d.ts +39 -0
- package/dist/lib/methods/settings-methods/launch-settings.service.d.ts +25 -0
- package/dist/lib/methods/settings-methods/modify-settings.service.d.ts +42 -0
- package/dist/lib/methods/stream-methods/click-audio.service.d.ts +100 -0
- package/dist/lib/methods/stream-methods/click-chat.service.d.ts +31 -0
- package/dist/lib/methods/stream-methods/click-screen-share.service.d.ts +68 -0
- package/dist/lib/methods/stream-methods/click-video.service.d.ts +88 -0
- package/dist/lib/methods/stream-methods/switch-audio.service.d.ts +47 -0
- package/dist/lib/methods/stream-methods/switch-video-alt.service.d.ts +50 -0
- package/dist/lib/methods/stream-methods/switch-video.service.d.ts +56 -0
- package/dist/lib/methods/utils/check-limits-and-make-request.service.d.ts +23 -0
- package/dist/lib/methods/utils/create-response-join-room.util.d.ts +33 -0
- package/dist/lib/methods/utils/create-room-on-media-sfu.service.d.ts +25 -0
- package/dist/lib/methods/utils/format-number.service.d.ts +26 -14
- package/dist/lib/methods/utils/generate-random-messages.service.d.ts +33 -0
- package/dist/lib/methods/utils/generate-random-participants.service.d.ts +27 -0
- package/dist/lib/methods/utils/generate-random-polls.service.d.ts +26 -0
- package/dist/lib/methods/utils/generate-random-request-list.service.d.ts +36 -0
- package/dist/lib/methods/utils/generate-random-waiting-room-list.service.d.ts +21 -0
- package/dist/lib/methods/utils/get-modal-position.util.d.ts +13 -3
- package/dist/lib/methods/utils/get-overlay-position.util.d.ts +13 -3
- package/dist/lib/methods/utils/initial-values.util.d.ts +6 -0
- package/dist/lib/methods/utils/join-room-on-media-sfu.service.d.ts +52 -0
- package/dist/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.d.ts +37 -0
- package/dist/lib/methods/utils/mini-audio-player/mini-audio-player.component.d.ts +55 -0
- package/dist/lib/methods/utils/producer/a-params.service.d.ts +37 -0
- package/dist/lib/methods/utils/producer/h-params.service.d.ts +50 -0
- package/dist/lib/methods/utils/producer/screen-params.service.d.ts +37 -0
- package/dist/lib/methods/utils/producer/v-params.service.d.ts +50 -0
- package/dist/lib/methods/utils/producer/video-capture-constraints.service.d.ts +46 -0
- package/dist/lib/methods/utils/sleep.util.d.ts +9 -3
- package/dist/lib/methods/utils/sound-player.service.d.ts +21 -0
- package/dist/lib/methods/utils/validate-alphanumeric.service.d.ts +16 -0
- package/dist/lib/methods/waiting-methods/launch-waiting.service.d.ts +18 -0
- package/dist/lib/methods/waiting-methods/respond-to-waiting.service.d.ts +29 -0
- package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +46 -0
- package/dist/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.d.ts +20 -0
- package/dist/lib/producer-client/producer-client-emits/create-device-client.service.d.ts +23 -0
- package/dist/lib/producer-client/producer-client-emits/join-room-client.service.d.ts +31 -0
- package/dist/lib/producer-client/producer-client-emits/update-room-parameters-client.service.d.ts +44 -0
- package/dist/lib/producers/producer-emits/join-con-room.service.d.ts +38 -0
- package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +125 -0
- package/dist/lib/producers/producer-emits/join-room.service.d.ts +38 -0
- package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +80 -2
- package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +78 -2
- package/dist/lib/producers/socket-receive-methods/all-waiting-room-members.service.d.ts +27 -0
- package/dist/lib/producers/socket-receive-methods/ban-participant.service.d.ts +36 -0
- package/dist/lib/producers/socket-receive-methods/control-media-host.service.d.ts +37 -0
- package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +29 -1
- package/dist/lib/producers/socket-receive-methods/disconnect.service.d.ts +26 -0
- package/dist/lib/producers/socket-receive-methods/get-domains.service.d.ts +24 -9
- package/dist/lib/producers/socket-receive-methods/host-request-response.service.d.ts +31 -48
- package/dist/lib/producers/socket-receive-methods/meeting-ended.service.d.ts +29 -0
- package/dist/lib/producers/socket-receive-methods/meeting-still-there.service.d.ts +23 -0
- package/dist/lib/producers/socket-receive-methods/meeting-time-remaining.service.d.ts +27 -0
- package/dist/lib/producers/socket-receive-methods/participant-requested.service.d.ts +31 -0
- package/dist/lib/producers/socket-receive-methods/person-joined.service.d.ts +25 -0
- package/dist/lib/producers/socket-receive-methods/producer-media-closed.service.d.ts +61 -0
- package/dist/lib/producers/socket-receive-methods/producer-media-paused.service.d.ts +62 -0
- package/dist/lib/producers/socket-receive-methods/producer-media-resumed.service.d.ts +45 -0
- package/dist/lib/producers/socket-receive-methods/re-initiate-recording.service.d.ts +29 -0
- package/dist/lib/producers/socket-receive-methods/receive-message.service.d.ts +38 -0
- package/dist/lib/producers/socket-receive-methods/recording-notice.service.d.ts +38 -0
- package/dist/lib/producers/socket-receive-methods/room-record-params.service.d.ts +62 -0
- package/dist/lib/producers/socket-receive-methods/screen-producer-id.service.d.ts +41 -0
- package/dist/lib/producers/socket-receive-methods/start-records.service.d.ts +25 -0
- package/dist/lib/producers/socket-receive-methods/stopped-recording.service.d.ts +25 -0
- package/dist/lib/producers/socket-receive-methods/time-left-recording.service.d.ts +21 -0
- package/dist/lib/producers/socket-receive-methods/update-consuming-domains.service.d.ts +42 -0
- package/dist/lib/producers/socket-receive-methods/update-media-settings.service.d.ts +30 -0
- package/dist/lib/producers/socket-receive-methods/updated-co-host.service.d.ts +40 -0
- package/dist/lib/producers/socket-receive-methods/user-waiting.service.d.ts +14 -40
- package/dist/lib/sockets/socket-manager.service.d.ts +130 -0
- package/dist/public-api.d.ts +11 -1
- package/package.json +17 -20
- package/dist/esm2022/lib/@types/types.mjs +0 -2
- package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +0 -763
- package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +0 -316
- package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +0 -95
- package/dist/esm2022/lib/components/breakout-components/room-list/room-list.component.mjs +0 -40
- package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +0 -246
- package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +0 -73
- package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +0 -297
- package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +0 -60
- package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +0 -94
- package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +0 -100
- package/dist/esm2022/lib/components/display-components/control-buttons-component/control-buttons-component.component.mjs +0 -231
- package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +0 -298
- package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +0 -61
- package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +0 -43
- package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +0 -114
- package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +0 -114
- package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +0 -36
- package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +0 -74
- package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +0 -142
- package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +0 -265
- package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +0 -100
- package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +0 -132
- package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +0 -119
- package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +0 -106
- package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +0 -180
- package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +0 -120
- package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +0 -326
- package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +0 -165
- package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +0 -230
- package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +0 -111
- package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +0 -328
- package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +0 -118
- package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +0 -330
- package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +0 -95
- package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +0 -190
- package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +0 -119
- package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +0 -209
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +0 -4189
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +0 -3705
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +0 -5024
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +0 -5333
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +0 -5023
- package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +0 -85
- package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +0 -22
- package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +0 -22
- package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +0 -132
- package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +0 -104
- package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +0 -204
- package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +0 -243
- package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +0 -147
- package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +0 -335
- package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +0 -113
- package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +0 -226
- package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +0 -63
- package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +0 -120
- package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +0 -23
- package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +0 -43
- package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +0 -100
- package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +0 -174
- package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +0 -77
- package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +0 -121
- package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +0 -85
- package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +0 -59
- package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +0 -130
- package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +0 -617
- package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +0 -380
- package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +0 -142
- package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +0 -265
- package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +0 -1784
- package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +0 -296
- package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +0 -83
- package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +0 -42
- package/dist/esm2022/lib/consumers/change-vids.service.mjs +0 -486
- package/dist/esm2022/lib/consumers/check-grid.service.mjs +0 -79
- package/dist/esm2022/lib/consumers/check-permission.service.mjs +0 -80
- package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +0 -71
- package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +0 -229
- package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +0 -75
- package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +0 -63
- package/dist/esm2022/lib/consumers/connect-ips.service.mjs +0 -112
- package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +0 -113
- package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +0 -46
- package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +0 -62
- package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +0 -55
- package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +0 -86
- package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +0 -332
- package/dist/esm2022/lib/consumers/control-media.service.mjs +0 -68
- package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +0 -126
- package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +0 -58
- package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +0 -45
- package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +0 -56
- package/dist/esm2022/lib/consumers/disp-streams.service.mjs +0 -421
- package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +0 -59
- package/dist/esm2022/lib/consumers/get-estimate.service.mjs +0 -70
- package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +0 -49
- package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +0 -46
- package/dist/esm2022/lib/consumers/get-videos.service.mjs +0 -58
- package/dist/esm2022/lib/consumers/mix-streams.service.mjs +0 -73
- package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +0 -63
- package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +0 -442
- package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +0 -72
- package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +0 -91
- package/dist/esm2022/lib/consumers/re-port.service.mjs +0 -66
- package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +0 -157
- package/dist/esm2022/lib/consumers/readjust.service.mjs +0 -123
- package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +0 -56
- package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +0 -42
- package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +0 -181
- package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +0 -67
- package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +0 -99
- package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +0 -70
- package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +0 -55
- package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +0 -136
- package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +0 -63
- package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +0 -61
- package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +0 -51
- package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +0 -80
- package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +0 -120
- package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +0 -132
- package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +0 -149
- package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +0 -143
- package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +0 -202
- package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +0 -87
- package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +0 -228
- package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +0 -125
- package/dist/esm2022/lib/consumers/trigger.service.mjs +0 -172
- package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +0 -81
- package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +0 -39
- package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +0 -23
- package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +0 -112
- package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +0 -22
- package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +0 -22
- package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +0 -60
- package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +0 -24
- package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +0 -119
- package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +0 -28
- package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +0 -22
- package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +0 -50
- package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +0 -22
- package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +0 -23
- package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +0 -94
- package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +0 -23
- package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +0 -52
- package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +0 -57
- package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +0 -62
- package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +0 -37
- package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +0 -40
- package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +0 -49
- package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +0 -23
- package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +0 -64
- package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +0 -45
- package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +0 -34
- package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +0 -215
- package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +0 -82
- package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +0 -40
- package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +0 -86
- package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +0 -89
- package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +0 -48
- package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +0 -147
- package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +0 -74
- package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +0 -224
- package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +0 -26
- package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +0 -45
- package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +0 -26
- package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +0 -67
- package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +0 -178
- package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +0 -44
- package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +0 -110
- package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +0 -183
- package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +0 -33
- package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +0 -66
- package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +0 -76
- package/dist/esm2022/lib/methods/utils/format-number.service.mjs +0 -45
- package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +0 -87
- package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +0 -99
- package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +0 -52
- package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +0 -54
- package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +0 -38
- package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +0 -22
- package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +0 -21
- package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +0 -379
- package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +0 -59
- package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +0 -260
- package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +0 -21
- package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +0 -37
- package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +0 -24
- package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +0 -37
- package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +0 -38
- package/dist/esm2022/lib/methods/utils/sleep.util.mjs +0 -11
- package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +0 -42
- package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +0 -33
- package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +0 -23
- package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +0 -40
- package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +0 -69
- package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +0 -24
- package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +0 -51
- package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +0 -65
- package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +0 -232
- package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +0 -114
- package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +0 -114
- package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +0 -155
- package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +0 -147
- package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +0 -30
- package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +0 -40
- package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +0 -146
- package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +0 -26
- package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +0 -38
- package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +0 -63
- package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +0 -167
- package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +0 -44
- package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +0 -24
- package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +0 -36
- package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +0 -32
- package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +0 -29
- package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +0 -68
- package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +0 -90
- package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +0 -54
- package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +0 -38
- package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +0 -96
- package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +0 -195
- package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +0 -59
- package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +0 -45
- package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +0 -35
- package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +0 -37
- package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +0 -36
- package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +0 -63
- package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +0 -36
- package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +0 -56
- package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +0 -78
- package/dist/esm2022/lib/sockets/socket-manager.service.mjs +0 -73
- package/dist/esm2022/mediasfu-angular.mjs +0 -5
- package/dist/esm2022/public-api.mjs +0 -187
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class RespondToRequests {
|
|
4
|
-
/**
|
|
5
|
-
* Responds to incoming requests by updating the request list and emitting a response to the server.
|
|
6
|
-
*
|
|
7
|
-
* @param {Object} options - The options for responding to requests.
|
|
8
|
-
* @param {Socket} options.socket - The socket instance used to emit the response.
|
|
9
|
-
* @param {Request} options.request - The request object containing details of the request.
|
|
10
|
-
* @param {Function} options.updateRequestList - The function to update the request list.
|
|
11
|
-
* @param {Request[]} options.requestList - The current list of requests.
|
|
12
|
-
* @param {string} options.action - The action to be taken on the request.
|
|
13
|
-
* @param {string} options.roomName - The name of the room to which the response should be emitted.
|
|
14
|
-
*
|
|
15
|
-
* @returns {Promise<void>} A promise that resolves when the response has been emitted.
|
|
16
|
-
*/
|
|
17
|
-
async respondToRequests({ socket, request, updateRequestList, requestList, action, roomName, }) {
|
|
18
|
-
// Filter out the request that is being responded to
|
|
19
|
-
let newRequestList = requestList.filter((request_) => {
|
|
20
|
-
return !(request_.id === request.id &&
|
|
21
|
-
request_.icon === request.icon &&
|
|
22
|
-
request_.name === request.name);
|
|
23
|
-
});
|
|
24
|
-
// Update the request list
|
|
25
|
-
updateRequestList(newRequestList);
|
|
26
|
-
// Prepare the request response object
|
|
27
|
-
let requestResponse = {
|
|
28
|
-
id: request.id,
|
|
29
|
-
name: request.name,
|
|
30
|
-
type: request.icon,
|
|
31
|
-
action: action,
|
|
32
|
-
};
|
|
33
|
-
// Emit the response via the socket
|
|
34
|
-
socket.emit('updateUserofRequestStatus', { requestResponse, roomName });
|
|
35
|
-
}
|
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RespondToRequests, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RespondToRequests, providedIn: 'root' });
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RespondToRequests, decorators: [{
|
|
40
|
-
type: Injectable,
|
|
41
|
-
args: [{
|
|
42
|
-
providedIn: 'root',
|
|
43
|
-
}]
|
|
44
|
-
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uZC10by1yZXF1ZXN0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL21ldGhvZHMvcmVxdWVzdHMtbWV0aG9kcy9yZXNwb25kLXRvLXJlcXVlc3RzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFtQjNDLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUI7Ozs7Ozs7Ozs7OztPQVlHO0lBRUgsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQ3RCLE1BQU0sRUFDTixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxNQUFNLEVBQ04sUUFBUSxHQUNpQjtRQUN6QixvREFBb0Q7UUFDcEQsSUFBSSxjQUFjLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3hELE9BQU8sQ0FBQyxDQUNOLFFBQVEsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUU7Z0JBQzFCLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLElBQUk7Z0JBQzlCLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLElBQUksQ0FDL0IsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsMEJBQTBCO1FBQzFCLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWxDLHNDQUFzQztRQUN0QyxJQUFJLGVBQWUsR0FBb0I7WUFDckMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ2QsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUM7UUFFRixtQ0FBbUM7UUFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7dUdBN0NVLGlCQUFpQjsyR0FBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcbmltcG9ydCB7IFJlcXVlc3QsIFJlcXVlc3RSZXNwb25zZSB9IGZyb20gJy4uLy4uL0B0eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uZFRvUmVxdWVzdHNPcHRpb25zIHtcbiAgc29ja2V0OiBTb2NrZXQ7XG4gIHJlcXVlc3Q6IFJlcXVlc3Q7XG4gIHVwZGF0ZVJlcXVlc3RMaXN0OiAobmV3UmVxdWVzdExpc3Q6IFJlcXVlc3RbXSkgPT4gdm9pZDtcbiAgcmVxdWVzdExpc3Q6IFJlcXVlc3RbXTtcbiAgYWN0aW9uOiBzdHJpbmc7XG4gIHJvb21OYW1lOiBzdHJpbmc7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIFJlc3BvbmRUb1JlcXVlc3RzVHlwZSA9IChvcHRpb25zOiBSZXNwb25kVG9SZXF1ZXN0c09wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNwb25kVG9SZXF1ZXN0cyB7XG4gIC8qKlxuICAgKiBSZXNwb25kcyB0byBpbmNvbWluZyByZXF1ZXN0cyBieSB1cGRhdGluZyB0aGUgcmVxdWVzdCBsaXN0IGFuZCBlbWl0dGluZyBhIHJlc3BvbnNlIHRvIHRoZSBzZXJ2ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHJlc3BvbmRpbmcgdG8gcmVxdWVzdHMuXG4gICAqIEBwYXJhbSB7U29ja2V0fSBvcHRpb25zLnNvY2tldCAtIFRoZSBzb2NrZXQgaW5zdGFuY2UgdXNlZCB0byBlbWl0IHRoZSByZXNwb25zZS5cbiAgICogQHBhcmFtIHtSZXF1ZXN0fSBvcHRpb25zLnJlcXVlc3QgLSBUaGUgcmVxdWVzdCBvYmplY3QgY29udGFpbmluZyBkZXRhaWxzIG9mIHRoZSByZXF1ZXN0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZVJlcXVlc3RMaXN0IC0gVGhlIGZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgcmVxdWVzdCBsaXN0LlxuICAgKiBAcGFyYW0ge1JlcXVlc3RbXX0gb3B0aW9ucy5yZXF1ZXN0TGlzdCAtIFRoZSBjdXJyZW50IGxpc3Qgb2YgcmVxdWVzdHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmFjdGlvbiAtIFRoZSBhY3Rpb24gdG8gYmUgdGFrZW4gb24gdGhlIHJlcXVlc3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnJvb21OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHJvb20gdG8gd2hpY2ggdGhlIHJlc3BvbnNlIHNob3VsZCBiZSBlbWl0dGVkLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVzcG9uc2UgaGFzIGJlZW4gZW1pdHRlZC5cbiAgICovXG5cbiAgYXN5bmMgcmVzcG9uZFRvUmVxdWVzdHMoe1xuICAgIHNvY2tldCxcbiAgICByZXF1ZXN0LFxuICAgIHVwZGF0ZVJlcXVlc3RMaXN0LFxuICAgIHJlcXVlc3RMaXN0LFxuICAgIGFjdGlvbixcbiAgICByb29tTmFtZSxcbiAgfTogUmVzcG9uZFRvUmVxdWVzdHNPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gRmlsdGVyIG91dCB0aGUgcmVxdWVzdCB0aGF0IGlzIGJlaW5nIHJlc3BvbmRlZCB0b1xuICAgIGxldCBuZXdSZXF1ZXN0TGlzdCA9IHJlcXVlc3RMaXN0LmZpbHRlcigocmVxdWVzdF86IGFueSkgPT4ge1xuICAgICAgcmV0dXJuICEoXG4gICAgICAgIHJlcXVlc3RfLmlkID09PSByZXF1ZXN0LmlkICYmXG4gICAgICAgIHJlcXVlc3RfLmljb24gPT09IHJlcXVlc3QuaWNvbiAmJlxuICAgICAgICByZXF1ZXN0Xy5uYW1lID09PSByZXF1ZXN0Lm5hbWVcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgdGhlIHJlcXVlc3QgbGlzdFxuICAgIHVwZGF0ZVJlcXVlc3RMaXN0KG5ld1JlcXVlc3RMaXN0KTtcblxuICAgIC8vIFByZXBhcmUgdGhlIHJlcXVlc3QgcmVzcG9uc2Ugb2JqZWN0XG4gICAgbGV0IHJlcXVlc3RSZXNwb25zZTogUmVxdWVzdFJlc3BvbnNlID0ge1xuICAgICAgaWQ6IHJlcXVlc3QuaWQsXG4gICAgICBuYW1lOiByZXF1ZXN0Lm5hbWUsXG4gICAgICB0eXBlOiByZXF1ZXN0Lmljb24sXG4gICAgICBhY3Rpb246IGFjdGlvbixcbiAgICB9O1xuXG4gICAgLy8gRW1pdCB0aGUgcmVzcG9uc2UgdmlhIHRoZSBzb2NrZXRcbiAgICBzb2NrZXQuZW1pdCgndXBkYXRlVXNlcm9mUmVxdWVzdFN0YXR1cycsIHsgcmVxdWVzdFJlc3BvbnNlLCByb29tTmFtZSB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// settings.service.ts
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class LaunchSettings {
|
|
5
|
-
/**
|
|
6
|
-
* Toggles the visibility state of the settings modal.
|
|
7
|
-
*
|
|
8
|
-
* @param {LaunchSettingsOptions} options - The options for launching settings.
|
|
9
|
-
* @param {Function} options.updateIsSettingsModalVisible - Function to update the visibility state of the settings modal.
|
|
10
|
-
* @param {boolean} options.isSettingsModalVisible - Current visibility state of the settings modal.
|
|
11
|
-
* @returns {void}
|
|
12
|
-
*/
|
|
13
|
-
launchSettings({ updateIsSettingsModalVisible, isSettingsModalVisible, }) {
|
|
14
|
-
// Toggle the visibility of the display settings modal.
|
|
15
|
-
updateIsSettingsModalVisible(!isSettingsModalVisible);
|
|
16
|
-
}
|
|
17
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchSettings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchSettings, providedIn: 'root' });
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchSettings, decorators: [{
|
|
21
|
-
type: Injectable,
|
|
22
|
-
args: [{
|
|
23
|
-
providedIn: 'root',
|
|
24
|
-
}]
|
|
25
|
-
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLXNldHRpbmdzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9zZXR0aW5ncy1tZXRob2RzL2xhdW5jaC1zZXR0aW5ncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNCQUFzQjtBQUV0QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVkzQyxNQUFNLE9BQU8sY0FBYztJQUN6Qjs7Ozs7OztPQU9HO0lBRUgsY0FBYyxDQUFDLEVBQ2IsNEJBQTRCLEVBQzVCLHNCQUFzQixHQUNBO1FBQ3RCLHVEQUF1RDtRQUN2RCw0QkFBNEIsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDeEQsQ0FBQzt1R0FoQlUsY0FBYzsyR0FBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzZXR0aW5ncy5zZXJ2aWNlLnRzXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCBpbnRlcmZhY2UgTGF1bmNoU2V0dGluZ3NPcHRpb25zIHtcbiAgdXBkYXRlSXNTZXR0aW5nc01vZGFsVmlzaWJsZTogKGlzVmlzaWJsZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgaXNTZXR0aW5nc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgTGF1bmNoU2V0dGluZ3NUeXBlID0gKG9wdGlvbnM6IExhdW5jaFNldHRpbmdzT3B0aW9ucykgPT4gdm9pZDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExhdW5jaFNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHNldHRpbmdzIG1vZGFsLlxuICAgKlxuICAgKiBAcGFyYW0ge0xhdW5jaFNldHRpbmdzT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBsYXVuY2hpbmcgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlSXNTZXR0aW5nc01vZGFsVmlzaWJsZSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgc2V0dGluZ3MgbW9kYWwuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5pc1NldHRpbmdzTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBzZXR0aW5ncyBtb2RhbC5cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuXG4gIGxhdW5jaFNldHRpbmdzKHtcbiAgICB1cGRhdGVJc1NldHRpbmdzTW9kYWxWaXNpYmxlLFxuICAgIGlzU2V0dGluZ3NNb2RhbFZpc2libGUsXG4gIH06IExhdW5jaFNldHRpbmdzT3B0aW9ucyk6IHZvaWQge1xuICAgIC8vIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZGlzcGxheSBzZXR0aW5ncyBtb2RhbC5cbiAgICB1cGRhdGVJc1NldHRpbmdzTW9kYWxWaXNpYmxlKCFpc1NldHRpbmdzTW9kYWxWaXNpYmxlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ModifySettings {
|
|
4
|
-
/**
|
|
5
|
-
* Modifies the settings for a given room and updates the state accordingly.
|
|
6
|
-
*
|
|
7
|
-
* @param {Object} options - The options for modifying settings.
|
|
8
|
-
* @param {Function} options.showAlert - Function to show alert messages.
|
|
9
|
-
* @param {string} options.roomName - The name of the room.
|
|
10
|
-
* @param {string} options.audioSet - The audio setting to be applied.
|
|
11
|
-
* @param {string} options.videoSet - The video setting to be applied.
|
|
12
|
-
* @param {string} options.screenshareSet - The screenshare setting to be applied.
|
|
13
|
-
* @param {string} options.chatSet - The chat setting to be applied.
|
|
14
|
-
* @param {Object} options.socket - The socket instance for emitting events.
|
|
15
|
-
* @param {Function} options.updateAudioSetting - Function to update the audio setting state.
|
|
16
|
-
* @param {Function} options.updateVideoSetting - Function to update the video setting state.
|
|
17
|
-
* @param {Function} options.updateScreenshareSetting - Function to update the screenshare setting state.
|
|
18
|
-
* @param {Function} options.updateChatSetting - Function to update the chat setting state.
|
|
19
|
-
* @param {Function} options.updateIsSettingsModalVisible - Function to update the visibility of the settings modal.
|
|
20
|
-
*
|
|
21
|
-
* @returns {Promise<void>} A promise that resolves when the settings have been modified.
|
|
22
|
-
*
|
|
23
|
-
* @throws Will show an alert if any setting is set to "approval" in demo mode (room name starts with "d").
|
|
24
|
-
*/
|
|
25
|
-
modifySettings = async ({ showAlert, roomName, audioSet, videoSet, screenshareSet, chatSet, socket, updateAudioSetting, updateVideoSetting, updateScreenshareSetting, updateChatSetting, updateIsSettingsModalVisible, }) => {
|
|
26
|
-
if (roomName.toLowerCase().startsWith('d')) {
|
|
27
|
-
// none should be approval
|
|
28
|
-
if (audioSet === 'approval' ||
|
|
29
|
-
videoSet === 'approval' ||
|
|
30
|
-
screenshareSet === 'approval' ||
|
|
31
|
-
chatSet === 'approval') {
|
|
32
|
-
showAlert?.({
|
|
33
|
-
message: 'You cannot set approval for demo mode.',
|
|
34
|
-
type: 'danger',
|
|
35
|
-
duration: 3000,
|
|
36
|
-
});
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
// Check and update state variables based on the provided logic
|
|
41
|
-
if (audioSet) {
|
|
42
|
-
updateAudioSetting(audioSet);
|
|
43
|
-
}
|
|
44
|
-
if (videoSet) {
|
|
45
|
-
updateVideoSetting(videoSet);
|
|
46
|
-
}
|
|
47
|
-
if (screenshareSet) {
|
|
48
|
-
updateScreenshareSetting(screenshareSet);
|
|
49
|
-
}
|
|
50
|
-
if (chatSet) {
|
|
51
|
-
updateChatSetting(chatSet);
|
|
52
|
-
}
|
|
53
|
-
const settings = [audioSet, videoSet, screenshareSet, chatSet];
|
|
54
|
-
socket.emit('updateSettingsForRequests', { settings, roomName });
|
|
55
|
-
// Close modal
|
|
56
|
-
updateIsSettingsModalVisible(false);
|
|
57
|
-
};
|
|
58
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModifySettings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
59
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModifySettings, providedIn: 'root' });
|
|
60
|
-
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModifySettings, decorators: [{
|
|
62
|
-
type: Injectable,
|
|
63
|
-
args: [{
|
|
64
|
-
providedIn: 'root',
|
|
65
|
-
}]
|
|
66
|
-
}] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kaWZ5LXNldHRpbmdzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9zZXR0aW5ncy1tZXRob2RzL21vZGlmeS1zZXR0aW5ncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBd0IzQyxNQUFNLE9BQU8sY0FBYztJQUN6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFFSCxjQUFjLEdBQUcsS0FBSyxFQUFFLEVBQ3RCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixjQUFjLEVBQ2QsT0FBTyxFQUNQLE1BQU0sRUFDTixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsNEJBQTRCLEdBQ04sRUFBaUIsRUFBRTtRQUN6QyxJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzQywwQkFBMEI7WUFDMUIsSUFDRSxRQUFRLEtBQUssVUFBVTtnQkFDdkIsUUFBUSxLQUFLLFVBQVU7Z0JBQ3ZCLGNBQWMsS0FBSyxVQUFVO2dCQUM3QixPQUFPLEtBQUssVUFBVSxFQUN0QixDQUFDO2dCQUNELFNBQVMsRUFBRSxDQUFDO29CQUNWLE9BQU8sRUFBRSx3Q0FBd0M7b0JBQ2pELElBQUksRUFBRSxRQUFRO29CQUNkLFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQztnQkFFSCxPQUFPO1lBQ1QsQ0FBQztRQUNILENBQUM7UUFFRCwrREFBK0Q7UUFDL0QsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2Isa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsd0JBQXdCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvRCxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFakUsY0FBYztRQUNkLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQzt1R0ExRVMsY0FBYzsyR0FBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBtb2RpZnktc2V0dGluZ3Muc2VydmljZS50c1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaG93QWxlcnQgfSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGlmeVNldHRpbmdzT3B0aW9ucyB7XG4gIHNob3dBbGVydD86IFNob3dBbGVydDtcbiAgcm9vbU5hbWU6IHN0cmluZztcbiAgYXVkaW9TZXQ6IHN0cmluZztcbiAgdmlkZW9TZXQ6IHN0cmluZztcbiAgc2NyZWVuc2hhcmVTZXQ6IHN0cmluZztcbiAgY2hhdFNldDogc3RyaW5nO1xuICBzb2NrZXQ6IFNvY2tldDtcbiAgdXBkYXRlQXVkaW9TZXR0aW5nOiAoYXVkaW9TZXQ6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlVmlkZW9TZXR0aW5nOiAodmlkZW9TZXQ6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlU2NyZWVuc2hhcmVTZXR0aW5nOiAoc2NyZWVuc2hhcmVTZXQ6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlQ2hhdFNldHRpbmc6IChjaGF0U2V0OiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZUlzU2V0dGluZ3NNb2RhbFZpc2libGU6IChpc1Zpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIE1vZGlmeVNldHRpbmdzVHlwZSA9IChvcHRpb25zOiBNb2RpZnlTZXR0aW5nc09wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RpZnlTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBNb2RpZmllcyB0aGUgc2V0dGluZ3MgZm9yIGEgZ2l2ZW4gcm9vbSBhbmQgdXBkYXRlcyB0aGUgc3RhdGUgYWNjb3JkaW5nbHkuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIG1vZGlmeWluZyBzZXR0aW5ncy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5zaG93QWxlcnQgLSBGdW5jdGlvbiB0byBzaG93IGFsZXJ0IG1lc3NhZ2VzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yb29tTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSByb29tLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5hdWRpb1NldCAtIFRoZSBhdWRpbyBzZXR0aW5nIHRvIGJlIGFwcGxpZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnZpZGVvU2V0IC0gVGhlIHZpZGVvIHNldHRpbmcgdG8gYmUgYXBwbGllZC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuc2NyZWVuc2hhcmVTZXQgLSBUaGUgc2NyZWVuc2hhcmUgc2V0dGluZyB0byBiZSBhcHBsaWVkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5jaGF0U2V0IC0gVGhlIGNoYXQgc2V0dGluZyB0byBiZSBhcHBsaWVkLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5zb2NrZXQgLSBUaGUgc29ja2V0IGluc3RhbmNlIGZvciBlbWl0dGluZyBldmVudHMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlQXVkaW9TZXR0aW5nIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBhdWRpbyBzZXR0aW5nIHN0YXRlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZVZpZGVvU2V0dGluZyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlkZW8gc2V0dGluZyBzdGF0ZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVTY3JlZW5zaGFyZVNldHRpbmcgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHNjcmVlbnNoYXJlIHNldHRpbmcgc3RhdGUuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlQ2hhdFNldHRpbmcgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGNoYXQgc2V0dGluZyBzdGF0ZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVJc1NldHRpbmdzTW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBzZXR0aW5ncyBtb2RhbC5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNldHRpbmdzIGhhdmUgYmVlbiBtb2RpZmllZC5cbiAgICpcbiAgICogQHRocm93cyBXaWxsIHNob3cgYW4gYWxlcnQgaWYgYW55IHNldHRpbmcgaXMgc2V0IHRvIFwiYXBwcm92YWxcIiBpbiBkZW1vIG1vZGUgKHJvb20gbmFtZSBzdGFydHMgd2l0aCBcImRcIikuXG4gICAqL1xuXG4gIG1vZGlmeVNldHRpbmdzID0gYXN5bmMgKHtcbiAgICBzaG93QWxlcnQsXG4gICAgcm9vbU5hbWUsXG4gICAgYXVkaW9TZXQsXG4gICAgdmlkZW9TZXQsXG4gICAgc2NyZWVuc2hhcmVTZXQsXG4gICAgY2hhdFNldCxcbiAgICBzb2NrZXQsXG4gICAgdXBkYXRlQXVkaW9TZXR0aW5nLFxuICAgIHVwZGF0ZVZpZGVvU2V0dGluZyxcbiAgICB1cGRhdGVTY3JlZW5zaGFyZVNldHRpbmcsXG4gICAgdXBkYXRlQ2hhdFNldHRpbmcsXG4gICAgdXBkYXRlSXNTZXR0aW5nc01vZGFsVmlzaWJsZSxcbiAgfTogTW9kaWZ5U2V0dGluZ3NPcHRpb25zKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgaWYgKHJvb21OYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnZCcpKSB7XG4gICAgICAvLyBub25lIHNob3VsZCBiZSBhcHByb3ZhbFxuICAgICAgaWYgKFxuICAgICAgICBhdWRpb1NldCA9PT0gJ2FwcHJvdmFsJyB8fFxuICAgICAgICB2aWRlb1NldCA9PT0gJ2FwcHJvdmFsJyB8fFxuICAgICAgICBzY3JlZW5zaGFyZVNldCA9PT0gJ2FwcHJvdmFsJyB8fFxuICAgICAgICBjaGF0U2V0ID09PSAnYXBwcm92YWwnXG4gICAgICApIHtcbiAgICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICAgIG1lc3NhZ2U6ICdZb3UgY2Fubm90IHNldCBhcHByb3ZhbCBmb3IgZGVtbyBtb2RlLicsXG4gICAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDaGVjayBhbmQgdXBkYXRlIHN0YXRlIHZhcmlhYmxlcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgbG9naWNcbiAgICBpZiAoYXVkaW9TZXQpIHtcbiAgICAgIHVwZGF0ZUF1ZGlvU2V0dGluZyhhdWRpb1NldCk7XG4gICAgfVxuICAgIGlmICh2aWRlb1NldCkge1xuICAgICAgdXBkYXRlVmlkZW9TZXR0aW5nKHZpZGVvU2V0KTtcbiAgICB9XG4gICAgaWYgKHNjcmVlbnNoYXJlU2V0KSB7XG4gICAgICB1cGRhdGVTY3JlZW5zaGFyZVNldHRpbmcoc2NyZWVuc2hhcmVTZXQpO1xuICAgIH1cbiAgICBpZiAoY2hhdFNldCkge1xuICAgICAgdXBkYXRlQ2hhdFNldHRpbmcoY2hhdFNldCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2V0dGluZ3MgPSBbYXVkaW9TZXQsIHZpZGVvU2V0LCBzY3JlZW5zaGFyZVNldCwgY2hhdFNldF07XG4gICAgc29ja2V0LmVtaXQoJ3VwZGF0ZVNldHRpbmdzRm9yUmVxdWVzdHMnLCB7IHNldHRpbmdzLCByb29tTmFtZSB9KTtcblxuICAgIC8vIENsb3NlIG1vZGFsXG4gICAgdXBkYXRlSXNTZXR0aW5nc01vZGFsVmlzaWJsZShmYWxzZSk7XG4gIH07XG59XG4iXX0=
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ClickAudio {
|
|
4
|
-
/**
|
|
5
|
-
* Handles the click event for toggling audio in a media session.
|
|
6
|
-
*
|
|
7
|
-
* @param {ClickAudioOptions} parameters - The parameters required for handling the audio click event.
|
|
8
|
-
* @returns {Promise<void>} A promise that resolves when the audio click event has been handled.
|
|
9
|
-
*
|
|
10
|
-
* The function performs the following actions:
|
|
11
|
-
* - If the event is audio-only, it shows an alert and exits.
|
|
12
|
-
* - If the audio is already on, it handles the logic for turning it off, including checking recording states and permissions.
|
|
13
|
-
* - If the audio is off, it checks for admin restrictions, user permissions, and handles the logic for turning the audio on.
|
|
14
|
-
* - It updates various states and emits socket events as necessary.
|
|
15
|
-
*
|
|
16
|
-
* The function makes use of several helper functions and state update functions passed in through the parameters.
|
|
17
|
-
*/
|
|
18
|
-
async clickAudio({ parameters }) {
|
|
19
|
-
let { checkMediaPermission, hasAudioPermission, audioPaused, audioAlreadyOn, audioOnlyRoom, recordStarted, recordResumed, recordPaused, recordStopped, recordingMediaOptions, islevel, youAreCoHost, adminRestrictSetting, audioRequestState, audioRequestTime, member, socket, roomName, userDefaultAudioInputDevice, micAction, localStream, audioSetting, videoSetting, screenshareSetting, chatSetting, updateRequestIntervalSeconds, participants, showAlert, transportCreated, transportCreatedAudio, updateAudioAlreadyOn, updateAudioRequestState, updateAudioPaused, updateLocalStream, updateParticipants, updateTransportCreated, updateTransportCreatedAudio, updateMicAction, checkPermission, streamSuccessAudio, requestPermissionAudio, resumeSendTransportAudio, disconnectSendTransportAudio, } = parameters;
|
|
20
|
-
if (audioOnlyRoom) {
|
|
21
|
-
showAlert?.({
|
|
22
|
-
message: 'You cannot turn on your camera in an audio-only event.',
|
|
23
|
-
type: 'danger',
|
|
24
|
-
duration: 3000,
|
|
25
|
-
});
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (audioAlreadyOn) {
|
|
29
|
-
if (islevel === '2' && (recordStarted || recordResumed)) {
|
|
30
|
-
if (!(recordPaused || recordStopped)) {
|
|
31
|
-
if (recordingMediaOptions === 'audio') {
|
|
32
|
-
showAlert?.({
|
|
33
|
-
message: 'You cannot turn off your audio while recording, please pause or stop recording first.',
|
|
34
|
-
type: 'danger',
|
|
35
|
-
duration: 3000,
|
|
36
|
-
});
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
audioAlreadyOn = false;
|
|
42
|
-
updateAudioAlreadyOn(audioAlreadyOn);
|
|
43
|
-
if (localStream) {
|
|
44
|
-
localStream.getAudioTracks()[0].enabled = false;
|
|
45
|
-
}
|
|
46
|
-
updateLocalStream(localStream);
|
|
47
|
-
await disconnectSendTransportAudio({ parameters }); //disconnect function here actuall calls audioProducer.pause() instead of close() as in mediasfu
|
|
48
|
-
audioPaused = true;
|
|
49
|
-
updateAudioPaused(audioPaused);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
if (adminRestrictSetting) {
|
|
53
|
-
showAlert?.({
|
|
54
|
-
message: 'You cannot turn on your microphone. Access denied by host.',
|
|
55
|
-
type: 'danger',
|
|
56
|
-
duration: 3000,
|
|
57
|
-
});
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
let response = 2;
|
|
61
|
-
if (!micAction && islevel !== '2' && !youAreCoHost) {
|
|
62
|
-
response = await checkPermission({
|
|
63
|
-
permissionType: 'audioSetting',
|
|
64
|
-
audioSetting,
|
|
65
|
-
videoSetting,
|
|
66
|
-
screenshareSetting,
|
|
67
|
-
chatSetting,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
response = 0;
|
|
72
|
-
}
|
|
73
|
-
switch (response) {
|
|
74
|
-
case 1: {
|
|
75
|
-
if (audioRequestState === 'pending') {
|
|
76
|
-
showAlert?.({
|
|
77
|
-
message: 'A request is pending. Please wait for the host to respond.',
|
|
78
|
-
type: 'danger',
|
|
79
|
-
duration: 3000,
|
|
80
|
-
});
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
showAlert?.({
|
|
84
|
-
message: 'Request sent to host.',
|
|
85
|
-
type: 'success',
|
|
86
|
-
duration: 3000,
|
|
87
|
-
});
|
|
88
|
-
audioRequestState = 'pending';
|
|
89
|
-
updateAudioRequestState(audioRequestState);
|
|
90
|
-
//create a request and add to the request list and send to host
|
|
91
|
-
const userRequest = {
|
|
92
|
-
id: socket.id,
|
|
93
|
-
name: member,
|
|
94
|
-
icon: 'fa-microphone',
|
|
95
|
-
};
|
|
96
|
-
socket.emit('participantRequest', { userRequest, roomName });
|
|
97
|
-
break;
|
|
98
|
-
}
|
|
99
|
-
case 2:
|
|
100
|
-
if (audioRequestState === 'rejected' &&
|
|
101
|
-
Date.now() - audioRequestTime < updateRequestIntervalSeconds * 1000) {
|
|
102
|
-
showAlert?.({
|
|
103
|
-
message: `A request was rejected. Please wait for ${updateRequestIntervalSeconds} seconds before sending another request.`,
|
|
104
|
-
type: 'danger',
|
|
105
|
-
duration: 3000,
|
|
106
|
-
});
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
break;
|
|
110
|
-
case 0:
|
|
111
|
-
//allow
|
|
112
|
-
if (audioPaused) {
|
|
113
|
-
if (localStream) {
|
|
114
|
-
localStream.getAudioTracks()[0].enabled = true;
|
|
115
|
-
}
|
|
116
|
-
updateAudioAlreadyOn(true);
|
|
117
|
-
await resumeSendTransportAudio({ parameters });
|
|
118
|
-
socket.emit('resumeProducerAudio', { mediaTag: 'audio', roomName });
|
|
119
|
-
updateLocalStream(localStream);
|
|
120
|
-
updateAudioAlreadyOn(audioAlreadyOn);
|
|
121
|
-
if (micAction == true) {
|
|
122
|
-
micAction = false;
|
|
123
|
-
updateMicAction(micAction);
|
|
124
|
-
}
|
|
125
|
-
participants.forEach((participant) => {
|
|
126
|
-
if (participant['socketId'] === socket.id && participant.name === member) {
|
|
127
|
-
participant.muted = false;
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
updateParticipants(participants);
|
|
131
|
-
transportCreated = true;
|
|
132
|
-
updateTransportCreated(transportCreated);
|
|
133
|
-
transportCreatedAudio = true;
|
|
134
|
-
updateTransportCreatedAudio(transportCreatedAudio);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
if (!hasAudioPermission && checkMediaPermission) {
|
|
138
|
-
const statusMic = await requestPermissionAudio();
|
|
139
|
-
if (statusMic !== 'granted') {
|
|
140
|
-
showAlert?.({
|
|
141
|
-
message: 'Allow access to your microphone or check if your microphone is not being used by another application.',
|
|
142
|
-
type: 'danger',
|
|
143
|
-
duration: 3000,
|
|
144
|
-
});
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
const mediaConstraints = userDefaultAudioInputDevice
|
|
149
|
-
? { audio: { deviceId: userDefaultAudioInputDevice }, video: false }
|
|
150
|
-
: { audio: true, video: false };
|
|
151
|
-
try {
|
|
152
|
-
const stream = await navigator.mediaDevices.getUserMedia(mediaConstraints);
|
|
153
|
-
await streamSuccessAudio({ stream, parameters });
|
|
154
|
-
}
|
|
155
|
-
catch (error) {
|
|
156
|
-
console.error(error);
|
|
157
|
-
showAlert?.({
|
|
158
|
-
message: 'Allow access to your microphone or check if your microphone is not being used by another application.',
|
|
159
|
-
type: 'danger',
|
|
160
|
-
duration: 3000,
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
break;
|
|
165
|
-
default:
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClickAudio, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
170
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClickAudio, providedIn: 'root' });
|
|
171
|
-
}
|
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClickAudio, decorators: [{
|
|
173
|
-
type: Injectable,
|
|
174
|
-
args: [{
|
|
175
|
-
providedIn: 'root',
|
|
176
|
-
}]
|
|
177
|
-
}] });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stYXVkaW8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL3N0cmVhbS1tZXRob2RzL2NsaWNrLWF1ZGlvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpRjNDLE1BQU0sT0FBTyxVQUFVO0lBQ3JCOzs7Ozs7Ozs7Ozs7O09BYUc7SUFFSCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFxQjtRQUNoRCxJQUFJLEVBQ0Ysb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsY0FBYyxFQUNkLGFBQWEsRUFDYixhQUFhLEVBQ2IsYUFBYSxFQUNiLFlBQVksRUFDWixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLE9BQU8sRUFDUCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLE1BQU0sRUFDTixRQUFRLEVBQ1IsMkJBQTJCLEVBQzNCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLDRCQUE0QixFQUM1QixZQUFZLEVBQ1osU0FBUyxFQUNULGdCQUFnQixFQUNoQixxQkFBcUIsRUFFckIsb0JBQW9CLEVBQ3BCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLGVBQWUsRUFFZixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0Qix3QkFBd0IsRUFDeEIsNEJBQTRCLEdBQzdCLEdBQUcsVUFBVSxDQUFDO1FBRWYsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixTQUFTLEVBQUUsQ0FBQztnQkFD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SyxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUNyQixTQUFTLEVBQUUsQ0FBQztnQ0FDVixPQUFPLEVBQ0wsdUdBQXVHO2dDQUN6RyxJQUFJLEVBQUUsUUFBUTtnQ0FDZCxRQUFRLEVBQUUsSUFBSTs2QkFDZixDQUFDLENBQUM7d0JBQ0wsQ0FBQztvQkFDSCxDQUFDO29CQUNELE1BQU07Z0JBRVIsUUFBUTtZQUNWLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzt1R0F4T1UsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTs7MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDaGVja1Blcm1pc3Npb25UeXBlLFxuICBEaXNjb25uZWN0U2VuZFRyYW5zcG9ydEF1ZGlvUGFyYW1ldGVycyxcbiAgRGlzY29ubmVjdFNlbmRUcmFuc3BvcnRBdWRpb1R5cGUsXG4gIFBhcnRpY2lwYW50LFxuICBSZXF1ZXN0UGVybWlzc2lvbkF1ZGlvVHlwZSxcbiAgUmVzdW1lU2VuZFRyYW5zcG9ydEF1ZGlvUGFyYW1ldGVycyxcbiAgUmVzdW1lU2VuZFRyYW5zcG9ydEF1ZGlvVHlwZSxcbiAgU2hvd0FsZXJ0LFxuICBTdHJlYW1TdWNjZXNzQXVkaW9QYXJhbWV0ZXJzLFxuICBTdHJlYW1TdWNjZXNzQXVkaW9UeXBlLFxufSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5cbi8qIGVzbGludC1kaXNhYmxlIGVxZXFlcSAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGlja0F1ZGlvUGFyYW1ldGVyc1xuICBleHRlbmRzIERpc2Nvbm5lY3RTZW5kVHJhbnNwb3J0QXVkaW9QYXJhbWV0ZXJzLFxuICAgIFJlc3VtZVNlbmRUcmFuc3BvcnRBdWRpb1BhcmFtZXRlcnMsXG4gICAgU3RyZWFtU3VjY2Vzc0F1ZGlvUGFyYW1ldGVycyB7XG4gIGNoZWNrTWVkaWFQZXJtaXNzaW9uOiBib29sZWFuO1xuICBoYXNBdWRpb1Blcm1pc3Npb246IGJvb2xlYW47XG4gIGF1ZGlvUGF1c2VkOiBib29sZWFuO1xuICBhdWRpb0FscmVhZHlPbjogYm9vbGVhbjtcbiAgYXVkaW9Pbmx5Um9vbTogYm9vbGVhbjtcbiAgcmVjb3JkU3RhcnRlZDogYm9vbGVhbjtcbiAgcmVjb3JkUmVzdW1lZDogYm9vbGVhbjtcbiAgcmVjb3JkUGF1c2VkOiBib29sZWFuO1xuICByZWNvcmRTdG9wcGVkOiBib29sZWFuO1xuICByZWNvcmRpbmdNZWRpYU9wdGlvbnM6IHN0cmluZztcbiAgaXNsZXZlbDogc3RyaW5nO1xuICB5b3VBcmVDb0hvc3Q6IGJvb2xlYW47XG4gIGFkbWluUmVzdHJpY3RTZXR0aW5nOiBib29sZWFuO1xuICBhdWRpb1JlcXVlc3RTdGF0ZTogc3RyaW5nIHwgbnVsbDtcbiAgYXVkaW9SZXF1ZXN0VGltZTogbnVtYmVyO1xuICBtZW1iZXI6IHN0cmluZztcbiAgc29ja2V0OiBTb2NrZXQ7XG4gIHJvb21OYW1lOiBzdHJpbmc7XG4gIHVzZXJEZWZhdWx0QXVkaW9JbnB1dERldmljZTogc3RyaW5nO1xuICBtaWNBY3Rpb246IGJvb2xlYW47XG4gIGxvY2FsU3RyZWFtOiBNZWRpYVN0cmVhbSB8IG51bGw7XG4gIGF1ZGlvU2V0dGluZzogc3RyaW5nO1xuICB2aWRlb1NldHRpbmc6IHN0cmluZztcbiAgc2NyZWVuc2hhcmVTZXR0aW5nOiBzdHJpbmc7XG4gIGNoYXRTZXR0aW5nOiBzdHJpbmc7XG4gIHVwZGF0ZVJlcXVlc3RJbnRlcnZhbFNlY29uZHM6IG51bWJlcjtcbiAgcGFydGljaXBhbnRzOiBQYXJ0aWNpcGFudFtdO1xuICB0cmFuc3BvcnRDcmVhdGVkOiBib29sZWFuO1xuICB0cmFuc3BvcnRDcmVhdGVkQXVkaW86IGJvb2xlYW47XG5cbiAgdXBkYXRlQXVkaW9BbHJlYWR5T246IChzdGF0dXM6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZUF1ZGlvUmVxdWVzdFN0YXRlOiAoc3RhdGU6IHN0cmluZyB8IG51bGwpID0+IHZvaWQ7XG4gIHVwZGF0ZUF1ZGlvUGF1c2VkOiAoc3RhdHVzOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVMb2NhbFN0cmVhbTogKHN0cmVhbTogTWVkaWFTdHJlYW0gfCBudWxsKSA9PiB2b2lkO1xuICB1cGRhdGVQYXJ0aWNpcGFudHM6IChwYXJ0aWNpcGFudHM6IFBhcnRpY2lwYW50W10pID0+IHZvaWQ7XG4gIHVwZGF0ZVRyYW5zcG9ydENyZWF0ZWQ6IChzdGF0dXM6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZVRyYW5zcG9ydENyZWF0ZWRBdWRpbzogKHN0YXR1czogYm9vbGVhbikgPT4gdm9pZDtcbiAgdXBkYXRlTWljQWN0aW9uOiAoYWN0aW9uOiBib29sZWFuKSA9PiB2b2lkO1xuICBzaG93QWxlcnQ/OiBTaG93QWxlcnQ7XG5cbiAgLy8gbWVkaWFzZnUgZnVuY3Rpb25zXG4gIGNoZWNrUGVybWlzc2lvbjogQ2hlY2tQZXJtaXNzaW9uVHlwZTtcbiAgc3RyZWFtU3VjY2Vzc0F1ZGlvOiBTdHJlYW1TdWNjZXNzQXVkaW9UeXBlO1xuICBkaXNjb25uZWN0U2VuZFRyYW5zcG9ydEF1ZGlvOiBEaXNjb25uZWN0U2VuZFRyYW5zcG9ydEF1ZGlvVHlwZTtcbiAgcmVxdWVzdFBlcm1pc3Npb25BdWRpbzogUmVxdWVzdFBlcm1pc3Npb25BdWRpb1R5cGU7XG4gIHJlc3VtZVNlbmRUcmFuc3BvcnRBdWRpbzogUmVzdW1lU2VuZFRyYW5zcG9ydEF1ZGlvVHlwZTtcblxuICBnZXRVcGRhdGVkQWxsUGFyYW1zOiAoKSA9PiBDbGlja0F1ZGlvUGFyYW1ldGVycztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsaWNrQXVkaW9PcHRpb25zIHtcbiAgcGFyYW1ldGVyczogQ2xpY2tBdWRpb1BhcmFtZXRlcnM7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIENsaWNrQXVkaW9UeXBlID0gKG9wdGlvbnM6IENsaWNrQXVkaW9PcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xpY2tBdWRpbyB7XG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBjbGljayBldmVudCBmb3IgdG9nZ2xpbmcgYXVkaW8gaW4gYSBtZWRpYSBzZXNzaW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge0NsaWNrQXVkaW9PcHRpb25zfSBwYXJhbWV0ZXJzIC0gVGhlIHBhcmFtZXRlcnMgcmVxdWlyZWQgZm9yIGhhbmRsaW5nIHRoZSBhdWRpbyBjbGljayBldmVudC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGF1ZGlvIGNsaWNrIGV2ZW50IGhhcyBiZWVuIGhhbmRsZWQuXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIGFjdGlvbnM6XG4gICAqIC0gSWYgdGhlIGV2ZW50IGlzIGF1ZGlvLW9ubHksIGl0IHNob3dzIGFuIGFsZXJ0IGFuZCBleGl0cy5cbiAgICogLSBJZiB0aGUgYXVkaW8gaXMgYWxyZWFkeSBvbiwgaXQgaGFuZGxlcyB0aGUgbG9naWMgZm9yIHR1cm5pbmcgaXQgb2ZmLCBpbmNsdWRpbmcgY2hlY2tpbmcgcmVjb3JkaW5nIHN0YXRlcyBhbmQgcGVybWlzc2lvbnMuXG4gICAqIC0gSWYgdGhlIGF1ZGlvIGlzIG9mZiwgaXQgY2hlY2tzIGZvciBhZG1pbiByZXN0cmljdGlvbnMsIHVzZXIgcGVybWlzc2lvbnMsIGFuZCBoYW5kbGVzIHRoZSBsb2dpYyBmb3IgdHVybmluZyB0aGUgYXVkaW8gb24uXG4gICAqIC0gSXQgdXBkYXRlcyB2YXJpb3VzIHN0YXRlcyBhbmQgZW1pdHMgc29ja2V0IGV2ZW50cyBhcyBuZWNlc3NhcnkuXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBtYWtlcyB1c2Ugb2Ygc2V2ZXJhbCBoZWxwZXIgZnVuY3Rpb25zIGFuZCBzdGF0ZSB1cGRhdGUgZnVuY3Rpb25zIHBhc3NlZCBpbiB0aHJvdWdoIHRoZSBwYXJhbWV0ZXJzLlxuICAgKi9cblxuICBhc3luYyBjbGlja0F1ZGlvKHsgcGFyYW1ldGVycyB9OiBDbGlja0F1ZGlvT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGxldCB7XG4gICAgICBjaGVja01lZGlhUGVybWlzc2lvbixcbiAgICAgIGhhc0F1ZGlvUGVybWlzc2lvbixcbiAgICAgIGF1ZGlvUGF1c2VkLFxuICAgICAgYXVkaW9BbHJlYWR5T24sXG4gICAgICBhdWRpb09ubHlSb29tLFxuICAgICAgcmVjb3JkU3RhcnRlZCxcbiAgICAgIHJlY29yZFJlc3VtZWQsXG4gICAgICByZWNvcmRQYXVzZWQsXG4gICAgICByZWNvcmRTdG9wcGVkLFxuICAgICAgcmVjb3JkaW5nTWVkaWFPcHRpb25zLFxuICAgICAgaXNsZXZlbCxcbiAgICAgIHlvdUFyZUNvSG9zdCxcbiAgICAgIGFkbWluUmVzdHJpY3RTZXR0aW5nLFxuICAgICAgYXVkaW9SZXF1ZXN0U3RhdGUsXG4gICAgICBhdWRpb1JlcXVlc3RUaW1lLFxuICAgICAgbWVtYmVyLFxuICAgICAgc29ja2V0LFxuICAgICAgcm9vbU5hbWUsXG4gICAgICB1c2VyRGVmYXVsdEF1ZGlvSW5wdXREZXZpY2UsXG4gICAgICBtaWNBY3Rpb24sXG4gICAgICBsb2NhbFN0cmVhbSxcbiAgICAgIGF1ZGlvU2V0dGluZyxcbiAgICAgIHZpZGVvU2V0dGluZyxcbiAgICAgIHNjcmVlbnNoYXJlU2V0dGluZyxcbiAgICAgIGNoYXRTZXR0aW5nLFxuICAgICAgdXBkYXRlUmVxdWVzdEludGVydmFsU2Vjb25kcyxcbiAgICAgIHBhcnRpY2lwYW50cyxcbiAgICAgIHNob3dBbGVydCxcbiAgICAgIHRyYW5zcG9ydENyZWF0ZWQsXG4gICAgICB0cmFuc3BvcnRDcmVhdGVkQXVkaW8sXG5cbiAgICAgIHVwZGF0ZUF1ZGlvQWxyZWFkeU9uLFxuICAgICAgdXBkYXRlQXVkaW9SZXF1ZXN0U3RhdGUsXG4gICAgICB1cGRhdGVBdWRpb1BhdXNlZCxcbiAgICAgIHVwZGF0ZUxvY2FsU3RyZWFtLFxuICAgICAgdXBkYXRlUGFydGljaXBhbnRzLFxuICAgICAgdXBkYXRlVHJhbnNwb3J0Q3JlYXRlZCxcbiAgICAgIHVwZGF0ZVRyYW5zcG9ydENyZWF0ZWRBdWRpbyxcbiAgICAgIHVwZGF0ZU1pY0FjdGlvbixcblxuICAgICAgY2hlY2tQZXJtaXNzaW9uLFxuICAgICAgc3RyZWFtU3VjY2Vzc0F1ZGlvLFxuICAgICAgcmVxdWVzdFBlcm1pc3Npb25BdWRpbyxcbiAgICAgIHJlc3VtZVNlbmRUcmFuc3BvcnRBdWRpbyxcbiAgICAgIGRpc2Nvbm5lY3RTZW5kVHJhbnNwb3J0QXVkaW8sXG4gICAgfSA9IHBhcmFtZXRlcnM7XG5cbiAgICBpZiAoYXVkaW9Pbmx5Um9vbSkge1xuICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICBtZXNzYWdlOiAnWW91IGNhbm5vdCB0dXJuIG9uIHlvdXIgY2FtZXJhIGluIGFuIGF1ZGlvLW9ubHkgZXZlbnQuJyxcbiAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGF1ZGlvQWxyZWFkeU9uKSB7XG4gICAgICBpZiAoaXNsZXZlbCA9PT0gJzInICYmIChyZWNvcmRTdGFydGVkIHx8IHJlY29yZFJlc3VtZWQpKSB7XG4gICAgICAgIGlmICghKHJlY29yZFBhdXNlZCB8fCByZWNvcmRTdG9wcGVkKSkge1xuICAgICAgICAgIGlmIChyZWNvcmRpbmdNZWRpYU9wdGlvbnMgPT09ICdhdWRpbycpIHtcbiAgICAgICAgICAgIHNob3dBbGVydD8uKHtcbiAgICAgICAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAgICAgICAnWW91IGNhbm5vdCB0dXJuIG9mZiB5b3VyIGF1ZGlvIHdoaWxlIHJlY29yZGluZywgcGxlYXNlIHBhdXNlIG9yIHN0b3AgcmVjb3JkaW5nIGZpcnN0LicsXG4gICAgICAgICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhdWRpb0FscmVhZHlPbiA9IGZhbHNlO1xuICAgICAgdXBkYXRlQXVkaW9BbHJlYWR5T24oYXVkaW9BbHJlYWR5T24pO1xuICAgICAgaWYgKGxvY2FsU3RyZWFtKSB7XG4gICAgICAgIGxvY2FsU3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0uZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgdXBkYXRlTG9jYWxTdHJlYW0obG9jYWxTdHJlYW0pO1xuICAgICAgYXdhaXQgZGlzY29ubmVjdFNlbmRUcmFuc3BvcnRBdWRpbyh7IHBhcmFtZXRlcnMgfSk7IC8vZGlzY29ubmVjdCBmdW5jdGlvbiBoZXJlIGFjdHVhbGwgY2FsbHMgYXVkaW9Qcm9kdWNlci5wYXVzZSgpIGluc3RlYWQgb2YgY2xvc2UoKSBhcyBpbiBtZWRpYXNmdVxuICAgICAgYXVkaW9QYXVzZWQgPSB0cnVlO1xuICAgICAgdXBkYXRlQXVkaW9QYXVzZWQoYXVkaW9QYXVzZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoYWRtaW5SZXN0cmljdFNldHRpbmcpIHtcbiAgICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICAgIG1lc3NhZ2U6ICdZb3UgY2Fubm90IHR1cm4gb24geW91ciBtaWNyb3Bob25lLiBBY2Nlc3MgZGVuaWVkIGJ5IGhvc3QuJyxcbiAgICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbGV0IHJlc3BvbnNlID0gMjtcbiAgICAgIGlmICghbWljQWN0aW9uICYmIGlzbGV2ZWwgIT09ICcyJyAmJiAheW91QXJlQ29Ib3N0KSB7XG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgY2hlY2tQZXJtaXNzaW9uKHtcbiAgICAgICAgICBwZXJtaXNzaW9uVHlwZTogJ2F1ZGlvU2V0dGluZycsXG4gICAgICAgICAgYXVkaW9TZXR0aW5nLFxuICAgICAgICAgIHZpZGVvU2V0dGluZyxcbiAgICAgICAgICBzY3JlZW5zaGFyZVNldHRpbmcsXG4gICAgICAgICAgY2hhdFNldHRpbmcsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2UgPSAwO1xuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlKSB7XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgIGlmIChhdWRpb1JlcXVlc3RTdGF0ZSA9PT0gJ3BlbmRpbmcnKSB7XG4gICAgICAgICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6ICdBIHJlcXVlc3QgaXMgcGVuZGluZy4gUGxlYXNlIHdhaXQgZm9yIHRoZSBob3N0IHRvIHJlc3BvbmQuJyxcbiAgICAgICAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICAgICAgbWVzc2FnZTogJ1JlcXVlc3Qgc2VudCB0byBob3N0LicsXG4gICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGF1ZGlvUmVxdWVzdFN0YXRlID0gJ3BlbmRpbmcnO1xuICAgICAgICAgIHVwZGF0ZUF1ZGlvUmVxdWVzdFN0YXRlKGF1ZGlvUmVxdWVzdFN0YXRlKTtcbiAgICAgICAgICAvL2NyZWF0ZSBhIHJlcXVlc3QgYW5kIGFkZCB0byB0aGUgcmVxdWVzdCBsaXN0IGFuZCBzZW5kIHRvIGhvc3RcblxuICAgICAgICAgIGNvbnN0IHVzZXJSZXF1ZXN0ID0ge1xuICAgICAgICAgICAgaWQ6IHNvY2tldC5pZCxcbiAgICAgICAgICAgIG5hbWU6IG1lbWJlcixcbiAgICAgICAgICAgIGljb246ICdmYS1taWNyb3Bob25lJyxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHNvY2tldC5lbWl0KCdwYXJ0aWNpcGFudFJlcXVlc3QnLCB7IHVzZXJSZXF1ZXN0LCByb29tTmFtZSB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBhdWRpb1JlcXVlc3RTdGF0ZSA9PT0gJ3JlamVjdGVkJyAmJlxuICAgICAgICAgICAgRGF0ZS5ub3coKSAtIGF1ZGlvUmVxdWVzdFRpbWUgPCB1cGRhdGVSZXF1ZXN0SW50ZXJ2YWxTZWNvbmRzICogMTAwMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICAgICAgICBtZXNzYWdlOiBgQSByZXF1ZXN0IHdhcyByZWplY3RlZC4gUGxlYXNlIHdhaXQgZm9yICR7dXBkYXRlUmVxdWVzdEludGVydmFsU2Vjb25kc30gc2Vjb25kcyBiZWZvcmUgc2VuZGluZyBhbm90aGVyIHJlcXVlc3QuYCxcbiAgICAgICAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAvL2FsbG93XG5cbiAgICAgICAgICBpZiAoYXVkaW9QYXVzZWQpIHtcbiAgICAgICAgICAgIGlmIChsb2NhbFN0cmVhbSkge1xuICAgICAgICAgICAgICBsb2NhbFN0cmVhbS5nZXRBdWRpb1RyYWNrcygpWzBdLmVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBkYXRlQXVkaW9BbHJlYWR5T24odHJ1ZSk7XG4gICAgICAgICAgICBhd2FpdCByZXN1bWVTZW5kVHJhbnNwb3J0QXVkaW8oeyBwYXJhbWV0ZXJzIH0pO1xuICAgICAgICAgICAgc29ja2V0LmVtaXQoJ3Jlc3VtZVByb2R1Y2VyQXVkaW8nLCB7IG1lZGlhVGFnOiAnYXVkaW8nLCByb29tTmFtZSB9KTtcblxuICAgICAgICAgICAgdXBkYXRlTG9jYWxTdHJlYW0obG9jYWxTdHJlYW0pO1xuICAgICAgICAgICAgdXBkYXRlQXVkaW9BbHJlYWR5T24oYXVkaW9BbHJlYWR5T24pO1xuXG4gICAgICAgICAgICBpZiAobWljQWN0aW9uID09IHRydWUpIHtcbiAgICAgICAgICAgICAgbWljQWN0aW9uID0gZmFsc2U7XG4gICAgICAgICAgICAgIHVwZGF0ZU1pY0FjdGlvbihtaWNBY3Rpb24pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXJ0aWNpcGFudHMuZm9yRWFjaCgocGFydGljaXBhbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHBhcnRpY2lwYW50Wydzb2NrZXRJZCddID09PSBzb2NrZXQuaWQgJiYgcGFydGljaXBhbnQubmFtZSA9PT0gbWVtYmVyKSB7XG4gICAgICAgICAgICAgICAgcGFydGljaXBhbnQubXV0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB1cGRhdGVQYXJ0aWNpcGFudHMocGFydGljaXBhbnRzKTtcblxuICAgICAgICAgICAgdHJhbnNwb3J0Q3JlYXRlZCA9IHRydWU7XG4gICAgICAgICAgICB1cGRhdGVUcmFuc3BvcnRDcmVhdGVkKHRyYW5zcG9ydENyZWF0ZWQpO1xuXG4gICAgICAgICAgICB0cmFuc3BvcnRDcmVhdGVkQXVkaW8gPSB0cnVlO1xuICAgICAgICAgICAgdXBkYXRlVHJhbnNwb3J0Q3JlYXRlZEF1ZGlvKHRyYW5zcG9ydENyZWF0ZWRBdWRpbyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghaGFzQXVkaW9QZXJtaXNzaW9uICYmIGNoZWNrTWVkaWFQZXJtaXNzaW9uKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHN0YXR1c01pYyA9IGF3YWl0IHJlcXVlc3RQZXJtaXNzaW9uQXVkaW8oKTtcbiAgICAgICAgICAgICAgaWYgKHN0YXR1c01pYyAhPT0gJ2dyYW50ZWQnKSB7XG4gICAgICAgICAgICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICAgICAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAgICAgICAgICAgJ0FsbG93IGFjY2VzcyB0byB5b3VyIG1pY3JvcGhvbmUgb3IgY2hlY2sgaWYgeW91ciBtaWNyb3Bob25lIGlzIG5vdCBiZWluZyB1c2VkIGJ5IGFub3RoZXIgYXBwbGljYXRpb24uJyxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG1lZGlhQ29uc3RyYWludHMgPSB1c2VyRGVmYXVsdEF1ZGlvSW5wdXREZXZpY2VcbiAgICAgICAgICAgICAgPyB7IGF1ZGlvOiB7IGRldmljZUlkOiB1c2VyRGVmYXVsdEF1ZGlvSW5wdXREZXZpY2UgfSwgdmlkZW86IGZhbHNlIH1cbiAgICAgICAgICAgICAgOiB7IGF1ZGlvOiB0cnVlLCB2aWRlbzogZmFsc2UgfTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEobWVkaWFDb25zdHJhaW50cyk7XG4gICAgICAgICAgICAgIGF3YWl0IHN0cmVhbVN1Y2Nlc3NBdWRpbyh7IHN0cmVhbSwgcGFyYW1ldGVycyB9KTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAgICAgICAgICdBbGxvdyBhY2Nlc3MgdG8geW91ciBtaWNyb3Bob25lIG9yIGNoZWNrIGlmIHlvdXIgbWljcm9waG9uZSBpcyBub3QgYmVpbmcgdXNlZCBieSBhbm90aGVyIGFwcGxpY2F0aW9uLicsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ClickChat {
|
|
4
|
-
/**
|
|
5
|
-
* Toggles the visibility of the chat modal based on the current state and event settings.
|
|
6
|
-
*
|
|
7
|
-
* @param {Object} options - The options for the clickChat function.
|
|
8
|
-
* @param {boolean} options.isMessagesModalVisible - Indicates if the messages modal is currently visible.
|
|
9
|
-
* @param {Function} options.updateIsMessagesModalVisible - Function to update the visibility state of the messages modal.
|
|
10
|
-
* @param {string} options.chatSetting - The chat setting for the event, which can be "allow" or other values.
|
|
11
|
-
* @param {string} options.islevel - The participant's level, where "2" indicates a level that allows chat.
|
|
12
|
-
* @param {Function} [options.showAlert] - Optional function to show an alert message.
|
|
13
|
-
*
|
|
14
|
-
* @returns {Promise<void>} A promise that resolves when the operation is complete.
|
|
15
|
-
*/
|
|
16
|
-
async clickChat({ isMessagesModalVisible, updateIsMessagesModalVisible, chatSetting, islevel, showAlert, }) {
|
|
17
|
-
if (isMessagesModalVisible) {
|
|
18
|
-
updateIsMessagesModalVisible(false);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
// Check if chat is allowed based on event settings and participant level
|
|
22
|
-
if (chatSetting !== 'allow' && islevel !== '2') {
|
|
23
|
-
updateIsMessagesModalVisible(false);
|
|
24
|
-
showAlert?.({
|
|
25
|
-
message: 'Chat is disabled for this event.',
|
|
26
|
-
type: 'danger',
|
|
27
|
-
duration: 3000,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
updateIsMessagesModalVisible(true);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClickChat, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClickChat, providedIn: 'root' });
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClickChat, decorators: [{
|
|
39
|
-
type: Injectable,
|
|
40
|
-
args: [{
|
|
41
|
-
providedIn: 'root',
|
|
42
|
-
}]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL21ldGhvZHMvc3RyZWFtLW1ldGhvZHMvY2xpY2stY2hhdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBZ0IzQyxNQUFNLE9BQU8sU0FBUztJQUNwQjs7Ozs7Ozs7Ozs7T0FXRztJQUVILEtBQUssQ0FBQyxTQUFTLENBQUMsRUFDZCxzQkFBc0IsRUFDdEIsNEJBQTRCLEVBQzVCLFdBQVcsRUFDWCxPQUFPLEVBQ1AsU0FBUyxHQUNRO1FBQ2pCLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUMzQiw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNOLHlFQUF5RTtZQUN6RSxJQUFJLFdBQVcsS0FBSyxPQUFPLElBQUksT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUMvQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEMsU0FBUyxFQUFFLENBQUM7b0JBQ1YsT0FBTyxFQUFFLGtDQUFrQztvQkFDM0MsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzt1R0FwQ1UsU0FBUzsyR0FBVCxTQUFTLGNBRlIsTUFBTTs7MkZBRVAsU0FBUztrQkFIckIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaG93QWxlcnQgfSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBDbGlja0NoYXRPcHRpb25zIHtcbiAgaXNNZXNzYWdlc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcbiAgdXBkYXRlSXNNZXNzYWdlc01vZGFsVmlzaWJsZTogKGlzVmlzaWJsZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgY2hhdFNldHRpbmc6IHN0cmluZztcbiAgaXNsZXZlbDogc3RyaW5nO1xuICBzaG93QWxlcnQ/OiBTaG93QWxlcnQ7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIENsaWNrQ2hhdFR5cGUgPSAob3B0aW9uczogQ2xpY2tDaGF0T3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENsaWNrQ2hhdCB7XG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBjaGF0IG1vZGFsIGJhc2VkIG9uIHRoZSBjdXJyZW50IHN0YXRlIGFuZCBldmVudCBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIGNsaWNrQ2hhdCBmdW5jdGlvbi5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLmlzTWVzc2FnZXNNb2RhbFZpc2libGUgLSBJbmRpY2F0ZXMgaWYgdGhlIG1lc3NhZ2VzIG1vZGFsIGlzIGN1cnJlbnRseSB2aXNpYmxlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZUlzTWVzc2FnZXNNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIG1lc3NhZ2VzIG1vZGFsLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5jaGF0U2V0dGluZyAtIFRoZSBjaGF0IHNldHRpbmcgZm9yIHRoZSBldmVudCwgd2hpY2ggY2FuIGJlIFwiYWxsb3dcIiBvciBvdGhlciB2YWx1ZXMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmlzbGV2ZWwgLSBUaGUgcGFydGljaXBhbnQncyBsZXZlbCwgd2hlcmUgXCIyXCIgaW5kaWNhdGVzIGEgbGV2ZWwgdGhhdCBhbGxvd3MgY2hhdC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW29wdGlvbnMuc2hvd0FsZXJ0XSAtIE9wdGlvbmFsIGZ1bmN0aW9uIHRvIHNob3cgYW4gYWxlcnQgbWVzc2FnZS5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZS5cbiAgICovXG5cbiAgYXN5bmMgY2xpY2tDaGF0KHtcbiAgICBpc01lc3NhZ2VzTW9kYWxWaXNpYmxlLFxuICAgIHVwZGF0ZUlzTWVzc2FnZXNNb2RhbFZpc2libGUsXG4gICAgY2hhdFNldHRpbmcsXG4gICAgaXNsZXZlbCxcbiAgICBzaG93QWxlcnQsXG4gIH06IENsaWNrQ2hhdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoaXNNZXNzYWdlc01vZGFsVmlzaWJsZSkge1xuICAgICAgdXBkYXRlSXNNZXNzYWdlc01vZGFsVmlzaWJsZShmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENoZWNrIGlmIGNoYXQgaXMgYWxsb3dlZCBiYXNlZCBvbiBldmVudCBzZXR0aW5ncyBhbmQgcGFydGljaXBhbnQgbGV2ZWxcbiAgICAgIGlmIChjaGF0U2V0dGluZyAhPT0gJ2FsbG93JyAmJiBpc2xldmVsICE9PSAnMicpIHtcbiAgICAgICAgdXBkYXRlSXNNZXNzYWdlc01vZGFsVmlzaWJsZShmYWxzZSk7XG4gICAgICAgIHNob3dBbGVydD8uKHtcbiAgICAgICAgICBtZXNzYWdlOiAnQ2hhdCBpcyBkaXNhYmxlZCBmb3IgdGhpcyBldmVudC4nLFxuICAgICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVwZGF0ZUlzTWVzc2FnZXNNb2RhbFZpc2libGUodHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
// screen-share.service.ts
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ClickScreenShare {
|
|
5
|
-
/**
|
|
6
|
-
* Handles the action for the screen button, including starting and stopping screen sharing.
|
|
7
|
-
*
|
|
8
|
-
* @param {ClickScreenShareParams} options - Options for handling the screen button action.
|
|
9
|
-
* @returns {Promise<void>}
|
|
10
|
-
*/
|
|
11
|
-
clickScreenShare = async ({ parameters }) => {
|
|
12
|
-
parameters = { ...parameters, ...parameters.getUpdatedAllParams() };
|
|
13
|
-
let { showAlert, roomName, member, socket, islevel, youAreCoHost, adminRestrictSetting, audioSetting, videoSetting, screenshareSetting, chatSetting, screenAction, screenAlreadyOn, screenRequestState, screenRequestTime, audioOnlyRoom, updateRequestIntervalSeconds, updateScreenRequestState, updateScreenAlreadyOn, checkPermission, checkScreenShare, stopShareScreen, } = parameters;
|
|
14
|
-
if (audioOnlyRoom) {
|
|
15
|
-
showAlert?.({
|
|
16
|
-
message: 'You cannot turn on your camera in an audio-only event.',
|
|
17
|
-
type: 'danger',
|
|
18
|
-
duration: 3000,
|
|
19
|
-
});
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
if (roomName.startsWith('d')) {
|
|
23
|
-
showAlert?.({
|
|
24
|
-
message: 'You cannot start screen share in a demo room.',
|
|
25
|
-
type: 'danger',
|
|
26
|
-
duration: 3000,
|
|
27
|
-
});
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
if (screenAlreadyOn) {
|
|
31
|
-
screenAlreadyOn = false;
|
|
32
|
-
updateScreenAlreadyOn(screenAlreadyOn);
|
|
33
|
-
await stopShareScreen({ parameters });
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
if (adminRestrictSetting) {
|
|
37
|
-
showAlert?.({
|
|
38
|
-
message: 'You cannot start screen share. Access denied by host.',
|
|
39
|
-
type: 'danger',
|
|
40
|
-
duration: 3000,
|
|
41
|
-
});
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
let response = 2;
|
|
45
|
-
if (!screenAction && islevel != '2' && !youAreCoHost) {
|
|
46
|
-
response = await checkPermission({
|
|
47
|
-
permissionType: 'screenshareSetting',
|
|
48
|
-
audioSetting,
|
|
49
|
-
videoSetting,
|
|
50
|
-
screenshareSetting,
|
|
51
|
-
chatSetting,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
response = 0;
|
|
56
|
-
}
|
|
57
|
-
switch (response) {
|
|
58
|
-
case 0:
|
|
59
|
-
checkScreenShare({ parameters });
|
|
60
|
-
break;
|
|
61
|
-
case 1: {
|
|
62
|
-
if (screenRequestState === 'pending') {
|
|
63
|
-
showAlert?.({
|
|
64
|
-
message: 'A request is already pending. Please wait for the host to respond.',
|
|
65
|
-
type: 'danger',
|
|
66
|
-
duration: 3000,
|
|
67
|
-
});
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
if (screenRequestState === 'rejected' &&
|
|
71
|
-
Date.now() - screenRequestTime < updateRequestIntervalSeconds) {
|
|
72
|
-
showAlert?.({
|
|
73
|
-
message: 'You cannot send another request at this time.',
|
|
74
|
-
type: 'danger',
|
|
75
|
-
duration: 3000,
|
|
76
|
-
});
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
showAlert?.({
|
|
80
|
-
message: 'Your request has been sent to the host.',
|
|
81
|
-
type: 'success',
|
|
82
|
-
duration: 3000,
|
|
83
|
-
});
|
|
84
|
-
screenRequestState = 'pending';
|
|
85
|
-
updateScreenRequestState(screenRequestState);
|
|
86
|
-
let userRequest = { id: socket.id, name: member, icon: 'fa-desktop' };
|
|
87
|
-
socket.emit('participantRequest', { userRequest, roomName });
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
case 2:
|
|
91
|
-
showAlert?.({
|
|
92
|
-
message: 'You are not allowed to start screen share.',
|
|
93
|
-
type: 'danger',
|
|
94
|
-
duration: 3000,
|
|
95
|
-
});
|
|
96
|
-
break;
|
|
97
|
-
default:
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClickScreenShare, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
102
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClickScreenShare, providedIn: 'root' });
|
|
103
|
-
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClickScreenShare, decorators: [{
|
|
105
|
-
type: Injectable,
|
|
106
|
-
args: [{
|
|
107
|
-
providedIn: 'root',
|
|
108
|
-
}]
|
|
109
|
-
}] });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stc2NyZWVuLXNoYXJlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9zdHJlYW0tbWV0aG9kcy9jbGljay1zY3JlZW4tc2hhcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFxRDNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQTJCLEVBQWlCLEVBQUU7UUFDbEYsVUFBVSxHQUFHLEVBQUUsR0FBRyxVQUFVLEVBQUUsR0FBRyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1FBQ3BFLElBQUksRUFDRixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxFQUNQLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLFlBQVksRUFDWixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixlQUFlLEdBQ2hCLEdBQUcsVUFBVSxDQUFDO1FBRWYsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixTQUFTLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsd0RBQXdEO2dCQUNqRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsSUFBSTthQUNmLENBQUMsQ0FBQztZQUNILE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENB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QjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzY3JlZW4tc2hhcmUuc2VydmljZS50c1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQge1xuICBDaGVja1Blcm1pc3Npb25UeXBlLFxuICBDaGVja1NjcmVlblNoYXJlUGFyYW1ldGVycyxcbiAgQ2hlY2tTY3JlZW5TaGFyZVR5cGUsXG4gIFNob3dBbGVydCxcbiAgU3RvcFNoYXJlU2NyZWVuUGFyYW1ldGVycyxcbiAgU3RvcFNoYXJlU2NyZWVuVHlwZSxcbn0gZnJvbSAnLi4vLi4vQHR5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBDbGlja1NjcmVlblNoYXJlUGFyYW1ldGVyc1xuICBleHRlbmRzIENoZWNrU2NyZWVuU2hhcmVQYXJhbWV0ZXJzLFxuICAgIFN0b3BTaGFyZVNjcmVlblBhcmFtZXRlcnMge1xuICBzaG93QWxlcnQ/OiBTaG93QWxlcnQ7XG4gIHJvb21OYW1lOiBzdHJpbmc7XG4gIG1lbWJlcjogc3RyaW5nO1xuICBzb2NrZXQ6IFNvY2tldDtcbiAgaXNsZXZlbDogc3RyaW5nO1xuICB5b3VBcmVDb0hvc3Q6IGJvb2xlYW47XG4gIGFkbWluUmVzdHJpY3RTZXR0aW5nOiBib29sZWFuO1xuICBhdWRpb1NldHRpbmc6IHN0cmluZztcbiAgdmlkZW9TZXR0aW5nOiBzdHJpbmc7XG4gIHNjcmVlbnNoYXJlU2V0dGluZzogc3RyaW5nO1xuICBjaGF0U2V0dGluZzogc3RyaW5nO1xuICBzY3JlZW5BY3Rpb246IGJvb2xlYW47XG4gIHNjcmVlbkFscmVhZHlPbjogYm9vbGVhbjtcbiAgc2NyZWVuUmVxdWVzdFN0YXRlOiBzdHJpbmcgfCBudWxsO1xuICBzY3JlZW5SZXF1ZXN0VGltZTogbnVtYmVyO1xuICBhdWRpb09ubHlSb29tOiBib29sZWFuO1xuICB1cGRhdGVSZXF1ZXN0SW50ZXJ2YWxTZWNvbmRzOiBudW1iZXI7XG4gIHVwZGF0ZVNjcmVlblJlcXVlc3RTdGF0ZTogKHN0YXRlOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkO1xuICB1cGRhdGVTY3JlZW5BbHJlYWR5T246IChzdGF0dXM6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgLy8gbWVkaWFzZnUgZnVuY3Rpb25zXG4gIGNoZWNrUGVybWlzc2lvbjogQ2hlY2tQZXJtaXNzaW9uVHlwZTtcbiAgY2hlY2tTY3JlZW5TaGFyZTogQ2hlY2tTY3JlZW5TaGFyZVR5cGU7XG4gIHN0b3BTaGFyZVNjcmVlbjogU3RvcFNoYXJlU2NyZWVuVHlwZTtcblxuICBnZXRVcGRhdGVkQWxsUGFyYW1zOiAoKSA9PiBDbGlja1NjcmVlblNoYXJlUGFyYW1ldGVycztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsaWNrU2NyZWVuU2hhcmVPcHRpb25zIHtcbiAgcGFyYW1ldGVyczogQ2xpY2tTY3JlZW5TaGFyZVBhcmFtZXRlcnM7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIENsaWNrU2NyZWVuU2hhcmVUeXBlID0gKG9wdGlvbnM6IENsaWNrU2NyZWVuU2hhcmVPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xpY2tTY3JlZW5TaGFyZSB7XG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBhY3Rpb24gZm9yIHRoZSBzY3JlZW4gYnV0dG9uLCBpbmNsdWRpbmcgc3RhcnRpbmcgYW5kIHN0b3BwaW5nIHNjcmVlbiBzaGFyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0ge0NsaWNrU2NyZWVuU2hhcmVQYXJhbXN9IG9wdGlvbnMgLSBPcHRpb25zIGZvciBoYW5kbGluZyB0aGUgc2NyZWVuIGJ1dHRvbiBhY3Rpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgY2xpY2tTY3JlZW5TaGFyZSA9IGFzeW5jICh7IHBhcmFtZXRlcnMgfTogQ2xpY2tTY3JlZW5TaGFyZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBwYXJhbWV0ZXJzID0geyAuLi5wYXJhbWV0ZXJzLCAuLi5wYXJhbWV0ZXJzLmdldFVwZGF0ZWRBbGxQYXJhbXMoKSB9O1xuICAgIGxldCB7XG4gICAgICBzaG93QWxlcnQsXG4gICAgICByb29tTmFtZSxcbiAgICAgIG1lbWJlcixcbiAgICAgIHNvY2tldCxcbiAgICAgIGlzbGV2ZWwsXG4gICAgICB5b3VBcmVDb0hvc3QsXG4gICAgICBhZG1pblJlc3RyaWN0U2V0dGluZyxcbiAgICAgIGF1ZGlvU2V0dGluZyxcbiAgICAgIHZpZGVvU2V0dGluZyxcbiAgICAgIHNjcmVlbnNoYXJlU2V0dGluZyxcbiAgICAgIGNoYXRTZXR0aW5nLFxuICAgICAgc2NyZWVuQWN0aW9uLFxuICAgICAgc2NyZWVuQWxyZWFkeU9uLFxuICAgICAgc2NyZWVuUmVxdWVzdFN0YXRlLFxuICAgICAgc2NyZWVuUmVxdWVzdFRpbWUsXG4gICAgICBhdWRpb09ubHlSb29tLFxuICAgICAgdXBkYXRlUmVxdWVzdEludGVydmFsU2Vjb25kcyxcbiAgICAgIHVwZGF0ZVNjcmVlblJlcXVlc3RTdGF0ZSxcbiAgICAgIHVwZGF0ZVNjcmVlbkFscmVhZHlPbixcbiAgICAgIGNoZWNrUGVybWlzc2lvbixcbiAgICAgIGNoZWNrU2NyZWVuU2hhcmUsXG4gICAgICBzdG9wU2hhcmVTY3JlZW4sXG4gICAgfSA9IHBhcmFtZXRlcnM7XG5cbiAgICBpZiAoYXVkaW9Pbmx5Um9vbSkge1xuICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICBtZXNzYWdlOiAnWW91IGNhbm5vdCB0dXJuIG9uIHlvdXIgY2FtZXJhIGluIGFuIGF1ZGlvLW9ubHkgZXZlbnQuJyxcbiAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHJvb21OYW1lLnN0YXJ0c1dpdGgoJ2QnKSkge1xuICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICBtZXNzYWdlOiAnWW91IGNhbm5vdCBzdGFydCBzY3JlZW4gc2hhcmUgaW4gYSBkZW1vIHJvb20uJyxcbiAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHNjcmVlbkFscmVhZHlPbikge1xuICAgICAgc2NyZWVuQWxyZWFkeU9uID0gZmFsc2U7XG4gICAgICB1cGRhdGVTY3JlZW5BbHJlYWR5T24oc2NyZWVuQWxyZWFkeU9uKTtcbiAgICAgIGF3YWl0IHN0b3BTaGFyZVNjcmVlbih7IHBhcmFtZXRlcnMgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChhZG1pblJlc3RyaWN0U2V0dGluZykge1xuICAgICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgICAgbWVzc2FnZTogJ1lvdSBjYW5ub3Qgc3RhcnQgc2NyZWVuIHNoYXJlLiBBY2Nlc3MgZGVuaWVkIGJ5IGhvc3QuJyxcbiAgICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbGV0IHJlc3BvbnNlID0gMjtcbiAgICAgIGlmICghc2NyZWVuQWN0aW9uICYmIGlzbGV2ZWwgIT0gJzInICYmICF5b3VBcmVDb0hvc3QpIHtcbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBjaGVja1Blcm1pc3Npb24oe1xuICAgICAgICAgIHBlcm1pc3Npb25UeXBlOiAnc2NyZWVuc2hhcmVTZXR0aW5nJyxcbiAgICAgICAgICBhdWRpb1NldHRpbmcsXG4gICAgICAgICAgdmlkZW9TZXR0aW5nLFxuICAgICAgICAgIHNjcmVlbnNoYXJlU2V0dGluZyxcbiAgICAgICAgICBjaGF0U2V0dGluZyxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNwb25zZSA9IDA7XG4gICAgICB9XG5cbiAgICAgIHN3aXRjaCAocmVzcG9uc2UpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIGNoZWNrU2NyZWVuU2hhcmUoeyBwYXJhbWV0ZXJzIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICBpZiAoc2NyZWVuUmVxdWVzdFN0YXRlID09PSAncGVuZGluZycpIHtcbiAgICAgICAgICAgIHNob3dBbGVydD8uKHtcbiAgICAgICAgICAgICAgbWVzc2FnZTogJ0EgcmVxdWVzdCBpcyBhbHJlYWR5IHBlbmRpbmcuIFBsZWFzZSB3YWl0IGZvciB0aGUgaG9zdCB0byByZXNwb25kLicsXG4gICAgICAgICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHNjcmVlblJlcXVlc3RTdGF0ZSA9PT0gJ3JlamVjdGVkJyAmJlxuICAgICAgICAgICAgRGF0ZS5ub3coKSAtIHNjcmVlblJlcXVlc3RUaW1lIDwgdXBkYXRlUmVxdWVzdEludGVydmFsU2Vjb25kc1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICAgICAgICBtZXNzYWdlOiAnWW91IGNhbm5vdCBzZW5kIGFub3RoZXIgcmVxdWVzdCBhdCB0aGlzIHRpbWUuJyxcbiAgICAgICAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgICAgICBtZXNzYWdlOiAnWW91ciByZXF1ZXN0IGhhcyBiZWVuIHNlbnQgdG8gdGhlIGhvc3QuJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgc2NyZWVuUmVxdWVzdFN0YXRlID0gJ3BlbmRpbmcnO1xuICAgICAgICAgIHVwZGF0ZVNjcmVlblJlcXVlc3RTdGF0ZShzY3JlZW5SZXF1ZXN0U3RhdGUpO1xuXG4gICAgICAgICAgbGV0IHVzZXJSZXF1ZXN0ID0geyBpZDogc29ja2V0LmlkLCBuYW1lOiBtZW1iZXIsIGljb246ICdmYS1kZXNrdG9wJyB9O1xuICAgICAgICAgIHNvY2tldC5lbWl0KCdwYXJ0aWNpcGFudFJlcXVlc3QnLCB7IHVzZXJSZXF1ZXN0LCByb29tTmFtZSB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICAgICAgbWVzc2FnZTogJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gc3RhcnQgc2NyZWVuIHNoYXJlLicsXG4gICAgICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuIl19
|