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,215 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ConfirmRecording {
|
|
4
|
-
/**
|
|
5
|
-
* Confirms the recording settings based on the provided parameters and updates the recording state.
|
|
6
|
-
*
|
|
7
|
-
* @param {ConfirmRecordingOptions} options - The options for confirming the recording.
|
|
8
|
-
* @param {Parameters} options.parameters - The parameters for the recording.
|
|
9
|
-
*
|
|
10
|
-
* @returns {Promise<void>} A promise that resolves when the recording settings have been confirmed.
|
|
11
|
-
*
|
|
12
|
-
* @remarks
|
|
13
|
-
* This function performs several checks to ensure that the recording settings are valid based on the provided parameters.
|
|
14
|
-
* If any of the checks fail, an alert is shown and the function returns early without updating the recording state.
|
|
15
|
-
*
|
|
16
|
-
* The function checks for the following conditions:
|
|
17
|
-
* - Whether recording videos of all participants is allowed.
|
|
18
|
-
* - Whether recording all participants is allowed.
|
|
19
|
-
* - Whether recording other video participants is allowed.
|
|
20
|
-
* - Whether recording all orientations is allowed.
|
|
21
|
-
* - Whether recording the preferred orientation is allowed.
|
|
22
|
-
* - Whether recording all formats is allowed.
|
|
23
|
-
* - Whether the recording display type is valid based on the meeting display type.
|
|
24
|
-
* - Whether recording all participants with media is allowed.
|
|
25
|
-
*
|
|
26
|
-
* If all checks pass, the function constructs the `mainSpecs`, `dispSpecs`, and `textSpecs` objects based on the state variables,
|
|
27
|
-
* updates the user recording parameters, and confirms the recording.
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```typescript
|
|
31
|
-
* const options: ConfirmRecordingOptions = { parameters: someParameters };
|
|
32
|
-
* await confirmRecording(options);
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
confirmRecording = async ({ parameters }) => {
|
|
36
|
-
let { getUpdatedAllParams } = parameters;
|
|
37
|
-
parameters = getUpdatedAllParams();
|
|
38
|
-
let { showAlert, recordingMediaOptions, recordingAudioOptions, recordingVideoOptions, recordingVideoType, recordingDisplayType, recordingNameTags, recordingBackgroundColor, recordingNameTagsColor, recordingOrientationVideo, recordingAddHLS, recordingAddText, recordingCustomText, recordingCustomTextPosition, recordingCustomTextColor, meetingDisplayType, recordingVideoParticipantsFullRoomSupport, recordingAllParticipantsSupport, recordingVideoParticipantsSupport, recordingSupportForOtherOrientation, recordingPreferredOrientation, recordingMultiFormatsSupport, recordingVideoOptimized, recordingAllParticipantsFullRoomSupport, meetingVideoOptimized, eventType, breakOutRoomStarted, breakOutRoomEnded, updateRecordingDisplayType, updateRecordingVideoOptimized, updateRecordingVideoParticipantsFullRoomSupport, updateRecordingAllParticipantsSupport, updateRecordingVideoParticipantsSupport, updateRecordingSupportForOtherOrientation, updateRecordingPreferredOrientation, updateRecordingMultiFormatsSupport, updateUserRecordingParams, updateConfirmedToRecord, } = parameters;
|
|
39
|
-
// Retrieve the values from the state
|
|
40
|
-
const mediaOptions = recordingMediaOptions;
|
|
41
|
-
// Other variables not provided in the guide
|
|
42
|
-
const selectedRecordOption = recordingDisplayType;
|
|
43
|
-
// Additional logic similar to the provided guide
|
|
44
|
-
// recordingVideoParticipantsFullRoomSupport = minigrid and main video
|
|
45
|
-
if (eventType !== 'broadcast') {
|
|
46
|
-
if (!recordingVideoParticipantsFullRoomSupport &&
|
|
47
|
-
recordingVideoOptions === 'all' &&
|
|
48
|
-
mediaOptions === 'video') {
|
|
49
|
-
if (meetingDisplayType == 'all') {
|
|
50
|
-
if (breakOutRoomStarted && !breakOutRoomEnded) {
|
|
51
|
-
// breakout rooms are started
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
showAlert?.({
|
|
55
|
-
message: 'You are not allowed to record videos of all participants; change the meeting display type to video or video optimized.',
|
|
56
|
-
type: 'danger',
|
|
57
|
-
duration: 3000,
|
|
58
|
-
});
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
// recordingAllParticipantsSupport = others other than host screen (video + audio)
|
|
64
|
-
if (!recordingAllParticipantsSupport && recordingVideoOptions === 'all') {
|
|
65
|
-
showAlert?.({
|
|
66
|
-
message: 'You are only allowed to record yourself.',
|
|
67
|
-
type: 'danger',
|
|
68
|
-
duration: 3000,
|
|
69
|
-
});
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
// recordingVideoParticipantsSupport (maingrid + non-host screenshare person)
|
|
73
|
-
if (!recordingVideoParticipantsSupport && recordingDisplayType === 'video') {
|
|
74
|
-
showAlert?.({
|
|
75
|
-
message: 'You are not allowed to record other video participants.',
|
|
76
|
-
type: 'danger',
|
|
77
|
-
duration: 3000,
|
|
78
|
-
});
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
if (!recordingSupportForOtherOrientation && recordingOrientationVideo === 'all') {
|
|
83
|
-
showAlert?.({
|
|
84
|
-
message: 'You are not allowed to record all orientations.',
|
|
85
|
-
type: 'danger',
|
|
86
|
-
duration: 3000,
|
|
87
|
-
});
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
if (recordingPreferredOrientation === 'landscape' &&
|
|
91
|
-
recordingOrientationVideo === 'portrait' &&
|
|
92
|
-
!recordingSupportForOtherOrientation) {
|
|
93
|
-
showAlert?.({
|
|
94
|
-
message: 'You are not allowed to record portrait orientation.',
|
|
95
|
-
type: 'danger',
|
|
96
|
-
duration: 3000,
|
|
97
|
-
});
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
else if (recordingPreferredOrientation === 'portrait' &&
|
|
101
|
-
recordingOrientationVideo === 'landscape' &&
|
|
102
|
-
!recordingSupportForOtherOrientation) {
|
|
103
|
-
showAlert?.({
|
|
104
|
-
message: 'You are not allowed to record landscape orientation.',
|
|
105
|
-
type: 'danger',
|
|
106
|
-
duration: 3000,
|
|
107
|
-
});
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
if (!recordingMultiFormatsSupport && recordingVideoType === 'all') {
|
|
111
|
-
showAlert?.({
|
|
112
|
-
message: 'You are not allowed to record all formats.',
|
|
113
|
-
type: 'danger',
|
|
114
|
-
duration: 3000,
|
|
115
|
-
});
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if (eventType !== 'broadcast') {
|
|
119
|
-
if (recordingMediaOptions === 'video') {
|
|
120
|
-
if (meetingDisplayType === 'media') {
|
|
121
|
-
if (recordingDisplayType === 'all') {
|
|
122
|
-
showAlert?.({
|
|
123
|
-
message: 'Recording display type can be either video, video optimized, or media when meeting display type is media.',
|
|
124
|
-
type: 'danger',
|
|
125
|
-
duration: 3000,
|
|
126
|
-
});
|
|
127
|
-
recordingDisplayType = meetingDisplayType;
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
else if (meetingDisplayType === 'video') {
|
|
132
|
-
if (recordingDisplayType === 'all' || recordingDisplayType === 'media') {
|
|
133
|
-
showAlert?.({
|
|
134
|
-
message: 'Recording display type can be either video or video optimized when meeting display type is video.',
|
|
135
|
-
type: 'danger',
|
|
136
|
-
duration: 3000,
|
|
137
|
-
});
|
|
138
|
-
recordingDisplayType = meetingDisplayType;
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
if (meetingVideoOptimized && !recordingVideoOptimized) {
|
|
142
|
-
showAlert?.({
|
|
143
|
-
message: 'Recording display type can be only video optimized when meeting display type is video optimized.',
|
|
144
|
-
type: 'danger',
|
|
145
|
-
duration: 3000,
|
|
146
|
-
});
|
|
147
|
-
recordingVideoOptimized = meetingVideoOptimized;
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
if (recordingDisplayType === 'all' || recordingDisplayType === 'media') {
|
|
154
|
-
// do nothing
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
recordingDisplayType = 'media';
|
|
158
|
-
}
|
|
159
|
-
recordingVideoOptimized = false;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
if (recordingDisplayType === 'all' && !recordingAllParticipantsFullRoomSupport) {
|
|
163
|
-
showAlert?.({
|
|
164
|
-
message: 'You can only record all participants with media.',
|
|
165
|
-
type: 'danger',
|
|
166
|
-
duration: 3000,
|
|
167
|
-
});
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
// Construct mainSpecs and dispSpecs objects based on the state variables
|
|
171
|
-
const mainSpecs = {
|
|
172
|
-
mediaOptions: recordingMediaOptions,
|
|
173
|
-
audioOptions: recordingAudioOptions,
|
|
174
|
-
videoOptions: recordingVideoOptions,
|
|
175
|
-
videoType: recordingVideoType,
|
|
176
|
-
videoOptimized: recordingVideoOptimized,
|
|
177
|
-
recordingDisplayType: recordingDisplayType,
|
|
178
|
-
addHLS: recordingAddHLS,
|
|
179
|
-
};
|
|
180
|
-
const dispSpecs = {
|
|
181
|
-
nameTags: recordingNameTags,
|
|
182
|
-
backgroundColor: recordingBackgroundColor,
|
|
183
|
-
nameTagsColor: recordingNameTagsColor,
|
|
184
|
-
orientationVideo: recordingOrientationVideo,
|
|
185
|
-
};
|
|
186
|
-
const textSpecs = {
|
|
187
|
-
addText: recordingAddText,
|
|
188
|
-
customText: recordingCustomText,
|
|
189
|
-
customTextPosition: recordingCustomTextPosition,
|
|
190
|
-
customTextColor: recordingCustomTextColor,
|
|
191
|
-
};
|
|
192
|
-
// Construct userRecordingParams object
|
|
193
|
-
const userRecordingParams = { mainSpecs, dispSpecs, textSpecs };
|
|
194
|
-
// Update state variables based on the logic
|
|
195
|
-
updateUserRecordingParams(userRecordingParams);
|
|
196
|
-
updateConfirmedToRecord(true);
|
|
197
|
-
updateRecordingDisplayType(selectedRecordOption);
|
|
198
|
-
updateRecordingVideoOptimized(recordingVideoOptimized);
|
|
199
|
-
updateRecordingVideoParticipantsFullRoomSupport(recordingVideoParticipantsFullRoomSupport);
|
|
200
|
-
updateRecordingAllParticipantsSupport(recordingAllParticipantsSupport);
|
|
201
|
-
updateRecordingVideoParticipantsSupport(recordingVideoParticipantsSupport);
|
|
202
|
-
updateRecordingSupportForOtherOrientation(recordingSupportForOtherOrientation);
|
|
203
|
-
updateRecordingPreferredOrientation(recordingPreferredOrientation);
|
|
204
|
-
updateRecordingMultiFormatsSupport(recordingMultiFormatsSupport);
|
|
205
|
-
};
|
|
206
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConfirmRecording, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
207
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConfirmRecording, providedIn: 'root' });
|
|
208
|
-
}
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConfirmRecording, decorators: [{
|
|
210
|
-
type: Injectable,
|
|
211
|
-
args: [{
|
|
212
|
-
providedIn: 'root',
|
|
213
|
-
}]
|
|
214
|
-
}] });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1yZWNvcmRpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL3JlY29yZGluZy1tZXRob2RzL2NvbmZpcm0tcmVjb3JkaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUEyRDNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQThCRztJQUVILGdCQUFnQixHQUFHLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBMkIsRUFBaUIsRUFBRTtRQUNsRixJQUFJLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDekMsVUFBVSxHQUFHLG1CQUFtQixFQUFFLENBQUM7UUFFbkMsSUFBSSxFQUNGLFNBQVMsRUFDVCxxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQiwyQkFBMkIsRUFDM0Isd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQix5Q0FBeUMsRUFDekMsK0JBQStCLEVBQy9CLGlDQUFpQyxFQUNqQyxtQ0FBbUMsRUFDbkMsNkJBQTZCLEVBQzdCLDRCQUE0QixFQUM1Qix1QkFBdUIsRUFDdkIsdUNBQXVDLEVBQ3ZDLHFCQUFxQixFQUNyQixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUVqQiwwQkFBMEIsRUFDMUIsNkJBQTZCLEVBQzdCLCtDQUErQyxFQUMvQyxxQ0FBcUMsRUFDckMsdUNBQXVDLEVBQ3ZDLHlDQUF5QyxFQUN6QyxtQ0FBbUMsRUFDbkMsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qix1QkFBdUIsR0FDeEIsR0FBRyxVQUFVLENBQUM7UUFFZixxQ0FBcUM7UUFFckMsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUM7UUFFM0MsNENBQTRDO1FBQzVDLE1BQU0sb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7UUFFbEQsaURBQWlEO1FBQ2pELHNFQUFzRTtRQUN0RSxJQUFJLFNBQVMsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUM5QixJQUNFLENBQUMseUNBQXlDO2dCQUMxQyxxQkFBcUIsS0FBSyxLQUFLO2dCQUMvQixZQUFZLEtBQUssT0FBTyxFQUN4QixDQUFDO2dCQUNELElBQUksa0JBQWtCLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ2hDLElBQUksbUJBQW1CLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO3dCQUM5Qyw2QkFBNkI7b0JBQy9CLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixTQUFTLEVBQUUsQ0FBQzs0QkFDVixPQUFPLEVBQ0wsd0hBQXdIOzRCQUMxSCxJQUFJLEVBQUUsUUFBUTs0QkFDZCxRQUFRLEVBQUUsSUFBSTt5QkFDZixDQUFDLENBQUM7d0JBRUgsT0FBTztvQkFDVCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBRUQsbUZBQW1GO1lBQ25GLElBQUksQ0FBQywrQkFBK0IsSUFBSSxxQkFBcUIsS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDeEUsU0FBUyxFQUFFLENBQUM7b0JBQ1YsT0FBTyxFQUFFLDBDQUEwQztvQkFDbkQsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQyxDQUFDO2dCQUVILE9BQU87WUFDVCxDQUFDO1lBRUQsNkVBQTZFO1lBQzdFLElBQUksQ0FBQyxpQ0FBaUMsSUFBSSxvQkFBb0IsS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDM0UsU0FBUyxFQUFFLENBQUM7b0JBQ1YsT0FBTyxFQUFFLHlEQUF5RDtvQkFDbEUsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQyxDQUFDO2dCQUVILE9BQU87WUFDVCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxtQ0FBbUMsSUFBSSx5QkFBeUIsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNoRixTQUFTLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsaURBQWlEO2dCQUMxRCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsSUFBSTthQUNmLENBQUMsQ0FBQztZQUVILE9BQU87UUFDVCxDQUFDO1FBRUQsSUFDRSw2QkFBNkIsS0FBSyxXQUFXO1lBQzdDLHlCQUF5QixLQUFLLFVBQVU7WUFDeEMsQ0FBQyxtQ0FBbUMsRUFDcEMsQ0FBQztZQUNELFNBQVMsRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSxxREFBcUQ7Z0JBQzlELElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1lBRUgsT0FBTztRQUNULENBQUM7YUFBTSxJQUNMLDZCQUE2QixLQUFLLFVBQVU7WUFDNUMseUJBQXlCLEtBQUssV0FBVztZQUN6QyxDQUFDLG1DQUFtQyxFQUNwQyxDQUFDO1lBQ0QsU0FBUyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLHNEQUFzRDtnQkFDL0QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQUM7WUFFSCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyw0QkFBNEIsSUFBSSxrQkFBa0IsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNsRSxTQUFTLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsNENBQTRDO2dCQUNyRCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsSUFBSTthQUNmLENBQUMsQ0FBQztZQUVILE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxTQUFTLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDOUIsSUFBSSxxQkFBcUIsS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxrQkFBa0IsS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDbkMsSUFBSSxvQkFBb0IsS0FBSyxLQUFLLEVBQUUsQ0FBQzt3QkFDbkMsU0FBUyxFQUFFLENBQUM7NEJBQ1YsT0FBTyxFQUNMLDJHQUEyRzs0QkFDN0csSUFBSSxFQUFFLFFBQVE7NEJBQ2QsUUFBUSxFQUFFLElBQUk7eUJBQ2YsQ0FBQyxDQUFDO3dCQUVILG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO3dCQUMxQyxPQUFPO29CQUNULENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxJQUFJLGtCQUFrQixLQUFLLE9BQU8sRUFBRSxDQUFDO29CQUMxQyxJQUFJLG9CQUFvQixLQUFLLEtBQUssSUFBSSxvQkFBb0IsS0FBSyxPQUFPLEVBQUUsQ0FBQzt3QkFDdkUsU0FBUyxFQUFFLENBQUM7NEJBQ1YsT0FBTyxFQUNMLG1HQUFtRzs0QkFDckcsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsUUFBUSxFQUFFLElBQUk7eUJBQ2YsQ0FBQyxDQUFDO3dCQUVILG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO3dCQUMxQyxPQUFPO29CQUNULENBQUM7b0JBRUQsSUFBSSxxQkFBcUIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7d0JBQ3RELFNBQVMsRUFBRSxDQUFDOzRCQUNWLE9BQU8sRUFDTCxrR0FBa0c7NEJBQ3BHLElBQUksRUFBRSxRQUFROzRCQUNkLFFBQVEsRUFBRSxJQUFJO3lCQUNmLENBQUMsQ0FBQzt3QkFFSCx1QkFBdUIsR0FBRyxxQkFBcUIsQ0FBQzt3QkFDaEQsT0FBTztvQkFDVCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxvQkFBb0IsS0FBSyxLQUFLLElBQUksb0JBQW9CLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQ3ZFLGFBQWE7Z0JBQ2YsQ0FBQztxQkFBTSxDQUFDO29CQUNOLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztnQkFDakMsQ0FBQztnQkFDRCx1QkFBdUIsR0FBRyxLQUFLLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLG9CQUFvQixLQUFLLEtBQUssSUFBSSxDQUFDLHVDQUF1QyxFQUFFLENBQUM7WUFDL0UsU0FBUyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLGtEQUFrRDtnQkFDM0QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQUM7WUFFSCxPQUFPO1FBQ1QsQ0FBQztRQUNELHlFQUF5RTtRQUN6RSxNQUFNLFNBQVMsR0FBYztZQUMzQixZQUFZLEVBQUUscUJBQXFCO1lBQ25DLFlBQVksRUFBRSxxQkFBcUI7WUFDbkMsWUFBWSxFQUFFLHFCQUFxQjtZQUNuQyxTQUFTLEVBQUUsa0JBQWtCO1lBQzdCLGNBQWMsRUFBRSx1QkFBdUI7WUFDdkMsb0JBQW9CLEVBQUUsb0JBQW9CO1lBQzFDLE1BQU0sRUFBRSxlQUFlO1NBQ3hCLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBYztZQUMzQixRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLGVBQWUsRUFBRSx3QkFBd0I7WUFDekMsYUFBYSxFQUFFLHNCQUFzQjtZQUNyQyxnQkFBZ0IsRUFBRSx5QkFBeUI7U0FDNUMsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUFjO1lBQzNCLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixrQkFBa0IsRUFBRSwyQkFBMkI7WUFDL0MsZUFBZSxFQUFFLHdCQUF3QjtTQUMxQyxDQUFDO1FBRUYsdUNBQXVDO1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2hFLDRDQUE0QztRQUM1Qyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9DLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLDBCQUEwQixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDakQsNkJBQTZCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUN2RCwrQ0FBK0MsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQzNGLHFDQUFxQyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDdkUsdUNBQXVDLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUMzRSx5Q0FBeUMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQy9FLG1DQUFtQyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDbkUsa0NBQWtDLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNuRSxDQUFDLENBQUM7dUdBblJTLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNob3dBbGVydCxcbiAgTWFpblNwZWNzLFxuICBEaXNwU3BlY3MsXG4gIFRleHRTcGVjcyxcbiAgRXZlbnRUeXBlLFxuICBVc2VyUmVjb3JkaW5nUGFyYW1zLFxufSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1SZWNvcmRpbmdQYXJhbWV0ZXJzIHtcbiAgc2hvd0FsZXJ0PzogU2hvd0FsZXJ0O1xuICByZWNvcmRpbmdNZWRpYU9wdGlvbnM6IHN0cmluZztcbiAgcmVjb3JkaW5nQXVkaW9PcHRpb25zOiBzdHJpbmc7XG4gIHJlY29yZGluZ1ZpZGVvT3B0aW9uczogc3RyaW5nO1xuICByZWNvcmRpbmdWaWRlb1R5cGU6IHN0cmluZztcbiAgcmVjb3JkaW5nRGlzcGxheVR5cGU6ICd2aWRlbycgfCAnbWVkaWEnIHwgJ2FsbCc7XG4gIHJlY29yZGluZ05hbWVUYWdzOiBib29sZWFuO1xuICByZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgcmVjb3JkaW5nTmFtZVRhZ3NDb2xvcjogc3RyaW5nO1xuICByZWNvcmRpbmdPcmllbnRhdGlvblZpZGVvOiBzdHJpbmc7XG4gIHJlY29yZGluZ0FkZEhMUzogYm9vbGVhbjtcbiAgcmVjb3JkaW5nQWRkVGV4dDogYm9vbGVhbjtcbiAgcmVjb3JkaW5nQ3VzdG9tVGV4dDogc3RyaW5nO1xuICByZWNvcmRpbmdDdXN0b21UZXh0UG9zaXRpb246IHN0cmluZztcbiAgcmVjb3JkaW5nQ3VzdG9tVGV4dENvbG9yOiBzdHJpbmc7XG4gIG1lZXRpbmdEaXNwbGF5VHlwZTogc3RyaW5nO1xuICByZWNvcmRpbmdWaWRlb1BhcnRpY2lwYW50c0Z1bGxSb29tU3VwcG9ydDogYm9vbGVhbjtcbiAgcmVjb3JkaW5nQWxsUGFydGljaXBhbnRzU3VwcG9ydDogYm9vbGVhbjtcbiAgcmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNTdXBwb3J0OiBib29sZWFuO1xuICByZWNvcmRpbmdTdXBwb3J0Rm9yT3RoZXJPcmllbnRhdGlvbjogYm9vbGVhbjtcbiAgcmVjb3JkaW5nUHJlZmVycmVkT3JpZW50YXRpb246IHN0cmluZztcbiAgcmVjb3JkaW5nTXVsdGlGb3JtYXRzU3VwcG9ydDogYm9vbGVhbjtcbiAgcmVjb3JkaW5nVmlkZW9PcHRpbWl6ZWQ6IGJvb2xlYW47XG4gIHJlY29yZGluZ0FsbFBhcnRpY2lwYW50c0Z1bGxSb29tU3VwcG9ydDogYm9vbGVhbjtcbiAgbWVldGluZ1ZpZGVvT3B0aW1pemVkOiBib29sZWFuO1xuICBldmVudFR5cGU6IEV2ZW50VHlwZTtcbiAgYnJlYWtPdXRSb29tU3RhcnRlZDogYm9vbGVhbjtcbiAgYnJlYWtPdXRSb29tRW5kZWQ6IGJvb2xlYW47XG4gIHVwZGF0ZVJlY29yZGluZ0Rpc3BsYXlUeXBlOiAodmFsdWU6ICd2aWRlbycgfCAnbWVkaWEnIHwgJ2FsbCcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ1ZpZGVvT3B0aW1pemVkOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZVVzZXJSZWNvcmRpbmdQYXJhbXM6IChwYXJhbXM6IFVzZXJSZWNvcmRpbmdQYXJhbXMpID0+IHZvaWQ7XG4gIHVwZGF0ZUNvbmZpcm1lZFRvUmVjb3JkOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgLy8gTWVkaWFzZnUgZnVuY3Rpb25zXG4gIGdldFVwZGF0ZWRBbGxQYXJhbXM6ICgpID0+IENvbmZpcm1SZWNvcmRpbmdQYXJhbWV0ZXJzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybVJlY29yZGluZ09wdGlvbnMge1xuICBwYXJhbWV0ZXJzOiBDb25maXJtUmVjb3JkaW5nUGFyYW1ldGVycztcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgQ29uZmlybVJlY29yZGluZ1R5cGUgPSAob3B0aW9uczogQ29uZmlybVJlY29yZGluZ09wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtUmVjb3JkaW5nIHtcbiAgLyoqXG4gICAqIENvbmZpcm1zIHRoZSByZWNvcmRpbmcgc2V0dGluZ3MgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMgYW5kIHVwZGF0ZXMgdGhlIHJlY29yZGluZyBzdGF0ZS5cbiAgICpcbiAgICogQHBhcmFtIHtDb25maXJtUmVjb3JkaW5nT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBjb25maXJtaW5nIHRoZSByZWNvcmRpbmcuXG4gICAqIEBwYXJhbSB7UGFyYW1ldGVyc30gb3B0aW9ucy5wYXJhbWV0ZXJzIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSByZWNvcmRpbmcuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSByZWNvcmRpbmcgc2V0dGluZ3MgaGF2ZSBiZWVuIGNvbmZpcm1lZC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBmdW5jdGlvbiBwZXJmb3JtcyBzZXZlcmFsIGNoZWNrcyB0byBlbnN1cmUgdGhhdCB0aGUgcmVjb3JkaW5nIHNldHRpbmdzIGFyZSB2YWxpZCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAgICogSWYgYW55IG9mIHRoZSBjaGVja3MgZmFpbCwgYW4gYWxlcnQgaXMgc2hvd24gYW5kIHRoZSBmdW5jdGlvbiByZXR1cm5zIGVhcmx5IHdpdGhvdXQgdXBkYXRpbmcgdGhlIHJlY29yZGluZyBzdGF0ZS5cbiAgICpcbiAgICogVGhlIGZ1bmN0aW9uIGNoZWNrcyBmb3IgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICAgKiAtIFdoZXRoZXIgcmVjb3JkaW5nIHZpZGVvcyBvZiBhbGwgcGFydGljaXBhbnRzIGlzIGFsbG93ZWQuXG4gICAqIC0gV2hldGhlciByZWNvcmRpbmcgYWxsIHBhcnRpY2lwYW50cyBpcyBhbGxvd2VkLlxuICAgKiAtIFdoZXRoZXIgcmVjb3JkaW5nIG90aGVyIHZpZGVvIHBhcnRpY2lwYW50cyBpcyBhbGxvd2VkLlxuICAgKiAtIFdoZXRoZXIgcmVjb3JkaW5nIGFsbCBvcmllbnRhdGlvbnMgaXMgYWxsb3dlZC5cbiAgICogLSBXaGV0aGVyIHJlY29yZGluZyB0aGUgcHJlZmVycmVkIG9yaWVudGF0aW9uIGlzIGFsbG93ZWQuXG4gICAqIC0gV2hldGhlciByZWNvcmRpbmcgYWxsIGZvcm1hdHMgaXMgYWxsb3dlZC5cbiAgICogLSBXaGV0aGVyIHRoZSByZWNvcmRpbmcgZGlzcGxheSB0eXBlIGlzIHZhbGlkIGJhc2VkIG9uIHRoZSBtZWV0aW5nIGRpc3BsYXkgdHlwZS5cbiAgICogLSBXaGV0aGVyIHJlY29yZGluZyBhbGwgcGFydGljaXBhbnRzIHdpdGggbWVkaWEgaXMgYWxsb3dlZC5cbiAgICpcbiAgICogSWYgYWxsIGNoZWNrcyBwYXNzLCB0aGUgZnVuY3Rpb24gY29uc3RydWN0cyB0aGUgYG1haW5TcGVjc2AsIGBkaXNwU3BlY3NgLCBhbmQgYHRleHRTcGVjc2Agb2JqZWN0cyBiYXNlZCBvbiB0aGUgc3RhdGUgdmFyaWFibGVzLFxuICAgKiB1cGRhdGVzIHRoZSB1c2VyIHJlY29yZGluZyBwYXJhbWV0ZXJzLCBhbmQgY29uZmlybXMgdGhlIHJlY29yZGluZy5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBvcHRpb25zOiBDb25maXJtUmVjb3JkaW5nT3B0aW9ucyA9IHsgcGFyYW1ldGVyczogc29tZVBhcmFtZXRlcnMgfTtcbiAgICogYXdhaXQgY29uZmlybVJlY29yZGluZyhvcHRpb25zKTtcbiAgICogYGBgXG4gICAqL1xuXG4gIGNvbmZpcm1SZWNvcmRpbmcgPSBhc3luYyAoeyBwYXJhbWV0ZXJzIH06IENvbmZpcm1SZWNvcmRpbmdPcHRpb25zKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgbGV0IHsgZ2V0VXBkYXRlZEFsbFBhcmFtcyB9ID0gcGFyYW1ldGVycztcbiAgICBwYXJhbWV0ZXJzID0gZ2V0VXBkYXRlZEFsbFBhcmFtcygpO1xuXG4gICAgbGV0IHtcbiAgICAgIHNob3dBbGVydCxcbiAgICAgIHJlY29yZGluZ01lZGlhT3B0aW9ucyxcbiAgICAgIHJlY29yZGluZ0F1ZGlvT3B0aW9ucyxcbiAgICAgIHJlY29yZGluZ1ZpZGVvT3B0aW9ucyxcbiAgICAgIHJlY29yZGluZ1ZpZGVvVHlwZSxcbiAgICAgIHJlY29yZGluZ0Rpc3BsYXlUeXBlLFxuICAgICAgcmVjb3JkaW5nTmFtZVRhZ3MsXG4gICAgICByZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3IsXG4gICAgICByZWNvcmRpbmdOYW1lVGFnc0NvbG9yLFxuICAgICAgcmVjb3JkaW5nT3JpZW50YXRpb25WaWRlbyxcbiAgICAgIHJlY29yZGluZ0FkZEhMUyxcbiAgICAgIHJlY29yZGluZ0FkZFRleHQsXG4gICAgICByZWNvcmRpbmdDdXN0b21UZXh0LFxuICAgICAgcmVjb3JkaW5nQ3VzdG9tVGV4dFBvc2l0aW9uLFxuICAgICAgcmVjb3JkaW5nQ3VzdG9tVGV4dENvbG9yLFxuICAgICAgbWVldGluZ0Rpc3BsYXlUeXBlLFxuICAgICAgcmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNGdWxsUm9vbVN1cHBvcnQsXG4gICAgICByZWNvcmRpbmdBbGxQYXJ0aWNpcGFudHNTdXBwb3J0LFxuICAgICAgcmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNTdXBwb3J0LFxuICAgICAgcmVjb3JkaW5nU3VwcG9ydEZvck90aGVyT3JpZW50YXRpb24sXG4gICAgICByZWNvcmRpbmdQcmVmZXJyZWRPcmllbnRhdGlvbixcbiAgICAgIHJlY29yZGluZ011bHRpRm9ybWF0c1N1cHBvcnQsXG4gICAgICByZWNvcmRpbmdWaWRlb09wdGltaXplZCxcbiAgICAgIHJlY29yZGluZ0FsbFBhcnRpY2lwYW50c0Z1bGxSb29tU3VwcG9ydCxcbiAgICAgIG1lZXRpbmdWaWRlb09wdGltaXplZCxcbiAgICAgIGV2ZW50VHlwZSxcbiAgICAgIGJyZWFrT3V0Um9vbVN0YXJ0ZWQsXG4gICAgICBicmVha091dFJvb21FbmRlZCxcblxuICAgICAgdXBkYXRlUmVjb3JkaW5nRGlzcGxheVR5cGUsXG4gICAgICB1cGRhdGVSZWNvcmRpbmdWaWRlb09wdGltaXplZCxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzRnVsbFJvb21TdXBwb3J0LFxuICAgICAgdXBkYXRlUmVjb3JkaW5nQWxsUGFydGljaXBhbnRzU3VwcG9ydCxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzU3VwcG9ydCxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ1N1cHBvcnRGb3JPdGhlck9yaWVudGF0aW9uLFxuICAgICAgdXBkYXRlUmVjb3JkaW5nUHJlZmVycmVkT3JpZW50YXRpb24sXG4gICAgICB1cGRhdGVSZWNvcmRpbmdNdWx0aUZvcm1hdHNTdXBwb3J0LFxuICAgICAgdXBkYXRlVXNlclJlY29yZGluZ1BhcmFtcyxcbiAgICAgIHVwZGF0ZUNvbmZpcm1lZFRvUmVjb3JkLFxuICAgIH0gPSBwYXJhbWV0ZXJzO1xuXG4gICAgLy8gUmV0cmlldmUgdGhlIHZhbHVlcyBmcm9tIHRoZSBzdGF0ZVxuXG4gICAgY29uc3QgbWVkaWFPcHRpb25zID0gcmVjb3JkaW5nTWVkaWFPcHRpb25zO1xuXG4gICAgLy8gT3RoZXIgdmFyaWFibGVzIG5vdCBwcm92aWRlZCBpbiB0aGUgZ3VpZGVcbiAgICBjb25zdCBzZWxlY3RlZFJlY29yZE9wdGlvbiA9IHJlY29yZGluZ0Rpc3BsYXlUeXBlO1xuXG4gICAgLy8gQWRkaXRpb25hbCBsb2dpYyBzaW1pbGFyIHRvIHRoZSBwcm92aWRlZCBndWlkZVxuICAgIC8vIHJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzRnVsbFJvb21TdXBwb3J0ID0gbWluaWdyaWQgYW5kIG1haW4gdmlkZW9cbiAgICBpZiAoZXZlbnRUeXBlICE9PSAnYnJvYWRjYXN0Jykge1xuICAgICAgaWYgKFxuICAgICAgICAhcmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNGdWxsUm9vbVN1cHBvcnQgJiZcbiAgICAgICAgcmVjb3JkaW5nVmlkZW9PcHRpb25zID09PSAnYWxsJyAmJlxuICAgICAgICBtZWRpYU9wdGlvbnMgPT09ICd2aWRlbydcbiAgICAgICkge1xuICAgICAgICBpZiAobWVldGluZ0Rpc3BsYXlUeXBlID09ICdhbGwnKSB7XG4gICAgICAgICAgaWYgKGJyZWFrT3V0Um9vbVN0YXJ0ZWQgJiYgIWJyZWFrT3V0Um9vbUVuZGVkKSB7XG4gICAgICAgICAgICAvLyBicmVha291dCByb29tcyBhcmUgc3RhcnRlZFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgICAgICAgJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gcmVjb3JkIHZpZGVvcyBvZiBhbGwgcGFydGljaXBhbnRzOyBjaGFuZ2UgdGhlIG1lZXRpbmcgZGlzcGxheSB0eXBlIHRvIHZpZGVvIG9yIHZpZGVvIG9wdGltaXplZC4nLFxuICAgICAgICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyByZWNvcmRpbmdBbGxQYXJ0aWNpcGFudHNTdXBwb3J0ICA9IG90aGVycyBvdGhlciB0aGFuIGhvc3Qgc2NyZWVuICh2aWRlbyArIGF1ZGlvKVxuICAgICAgaWYgKCFyZWNvcmRpbmdBbGxQYXJ0aWNpcGFudHNTdXBwb3J0ICYmIHJlY29yZGluZ1ZpZGVvT3B0aW9ucyA9PT0gJ2FsbCcpIHtcbiAgICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICAgIG1lc3NhZ2U6ICdZb3UgYXJlIG9ubHkgYWxsb3dlZCB0byByZWNvcmQgeW91cnNlbGYuJyxcbiAgICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyByZWNvcmRpbmdWaWRlb1BhcnRpY2lwYW50c1N1cHBvcnQgKG1haW5ncmlkICsgbm9uLWhvc3Qgc2NyZWVuc2hhcmUgcGVyc29uKVxuICAgICAgaWYgKCFyZWNvcmRpbmdWaWRlb1BhcnRpY2lwYW50c1N1cHBvcnQgJiYgcmVjb3JkaW5nRGlzcGxheVR5cGUgPT09ICd2aWRlbycpIHtcbiAgICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICAgIG1lc3NhZ2U6ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIHJlY29yZCBvdGhlciB2aWRlbyBwYXJ0aWNpcGFudHMuJyxcbiAgICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghcmVjb3JkaW5nU3VwcG9ydEZvck90aGVyT3JpZW50YXRpb24gJiYgcmVjb3JkaW5nT3JpZW50YXRpb25WaWRlbyA9PT0gJ2FsbCcpIHtcbiAgICAgIHNob3dBbGVydD8uKHtcbiAgICAgICAgbWVzc2FnZTogJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gcmVjb3JkIGFsbCBvcmllbnRhdGlvbnMuJyxcbiAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICByZWNvcmRpbmdQcmVmZXJyZWRPcmllbnRhdGlvbiA9PT0gJ2xhbmRzY2FwZScgJiZcbiAgICAgIHJlY29yZGluZ09yaWVudGF0aW9uVmlkZW8gPT09ICdwb3J0cmFpdCcgJiZcbiAgICAgICFyZWNvcmRpbmdTdXBwb3J0Rm9yT3RoZXJPcmllbnRhdGlvblxuICAgICkge1xuICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICBtZXNzYWdlOiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byByZWNvcmQgcG9ydHJhaXQgb3JpZW50YXRpb24uJyxcbiAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgcmVjb3JkaW5nUHJlZmVycmVkT3JpZW50YXRpb24gPT09ICdwb3J0cmFpdCcgJiZcbiAgICAgIHJlY29yZGluZ09yaWVudGF0aW9uVmlkZW8gPT09ICdsYW5kc2NhcGUnICYmXG4gICAgICAhcmVjb3JkaW5nU3VwcG9ydEZvck90aGVyT3JpZW50YXRpb25cbiAgICApIHtcbiAgICAgIHNob3dBbGVydD8uKHtcbiAgICAgICAgbWVzc2FnZTogJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gcmVjb3JkIGxhbmRzY2FwZSBvcmllbnRhdGlvbi4nLFxuICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghcmVjb3JkaW5nTXVsdGlGb3JtYXRzU3VwcG9ydCAmJiByZWNvcmRpbmdWaWRlb1R5cGUgPT09ICdhbGwnKSB7XG4gICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgIG1lc3NhZ2U6ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIHJlY29yZCBhbGwgZm9ybWF0cy4nLFxuICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudFR5cGUgIT09ICdicm9hZGNhc3QnKSB7XG4gICAgICBpZiAocmVjb3JkaW5nTWVkaWFPcHRpb25zID09PSAndmlkZW8nKSB7XG4gICAgICAgIGlmIChtZWV0aW5nRGlzcGxheVR5cGUgPT09ICdtZWRpYScpIHtcbiAgICAgICAgICBpZiAocmVjb3JkaW5nRGlzcGxheVR5cGUgPT09ICdhbGwnKSB7XG4gICAgICAgICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgICAgICAgJ1JlY29yZGluZyBkaXNwbGF5IHR5cGUgY2FuIGJlIGVpdGhlciB2aWRlbywgdmlkZW8gb3B0aW1pemVkLCBvciBtZWRpYSB3aGVuIG1lZXRpbmcgZGlzcGxheSB0eXBlIGlzIG1lZGlhLicsXG4gICAgICAgICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZWNvcmRpbmdEaXNwbGF5VHlwZSA9IG1lZXRpbmdEaXNwbGF5VHlwZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAobWVldGluZ0Rpc3BsYXlUeXBlID09PSAndmlkZW8nKSB7XG4gICAgICAgICAgaWYgKHJlY29yZGluZ0Rpc3BsYXlUeXBlID09PSAnYWxsJyB8fCByZWNvcmRpbmdEaXNwbGF5VHlwZSA9PT0gJ21lZGlhJykge1xuICAgICAgICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICAgICAgICdSZWNvcmRpbmcgZGlzcGxheSB0eXBlIGNhbiBiZSBlaXRoZXIgdmlkZW8gb3IgdmlkZW8gb3B0aW1pemVkIHdoZW4gbWVldGluZyBkaXNwbGF5IHR5cGUgaXMgdmlkZW8uJyxcbiAgICAgICAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJlY29yZGluZ0Rpc3BsYXlUeXBlID0gbWVldGluZ0Rpc3BsYXlUeXBlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChtZWV0aW5nVmlkZW9PcHRpbWl6ZWQgJiYgIXJlY29yZGluZ1ZpZGVvT3B0aW1pemVkKSB7XG4gICAgICAgICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgICAgICAgJ1JlY29yZGluZyBkaXNwbGF5IHR5cGUgY2FuIGJlIG9ubHkgdmlkZW8gb3B0aW1pemVkIHdoZW4gbWVldGluZyBkaXNwbGF5IHR5cGUgaXMgdmlkZW8gb3B0aW1pemVkLicsXG4gICAgICAgICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZWNvcmRpbmdWaWRlb09wdGltaXplZCA9IG1lZXRpbmdWaWRlb09wdGltaXplZDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChyZWNvcmRpbmdEaXNwbGF5VHlwZSA9PT0gJ2FsbCcgfHwgcmVjb3JkaW5nRGlzcGxheVR5cGUgPT09ICdtZWRpYScpIHtcbiAgICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVjb3JkaW5nRGlzcGxheVR5cGUgPSAnbWVkaWEnO1xuICAgICAgICB9XG4gICAgICAgIHJlY29yZGluZ1ZpZGVvT3B0aW1pemVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlY29yZGluZ0Rpc3BsYXlUeXBlID09PSAnYWxsJyAmJiAhcmVjb3JkaW5nQWxsUGFydGljaXBhbnRzRnVsbFJvb21TdXBwb3J0KSB7XG4gICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgIG1lc3NhZ2U6ICdZb3UgY2FuIG9ubHkgcmVjb3JkIGFsbCBwYXJ0aWNpcGFudHMgd2l0aCBtZWRpYS4nLFxuICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBDb25zdHJ1Y3QgbWFpblNwZWNzIGFuZCBkaXNwU3BlY3Mgb2JqZWN0cyBiYXNlZCBvbiB0aGUgc3RhdGUgdmFyaWFibGVzXG4gICAgY29uc3QgbWFpblNwZWNzOiBNYWluU3BlY3MgPSB7XG4gICAgICBtZWRpYU9wdGlvbnM6IHJlY29yZGluZ01lZGlhT3B0aW9ucyxcbiAgICAgIGF1ZGlvT3B0aW9uczogcmVjb3JkaW5nQXVkaW9PcHRpb25zLFxuICAgICAgdmlkZW9PcHRpb25zOiByZWNvcmRpbmdWaWRlb09wdGlvbnMsXG4gICAgICB2aWRlb1R5cGU6IHJlY29yZGluZ1ZpZGVvVHlwZSxcbiAgICAgIHZpZGVvT3B0aW1pemVkOiByZWNvcmRpbmdWaWRlb09wdGltaXplZCxcbiAgICAgIHJlY29yZGluZ0Rpc3BsYXlUeXBlOiByZWNvcmRpbmdEaXNwbGF5VHlwZSxcbiAgICAgIGFkZEhMUzogcmVjb3JkaW5nQWRkSExTLFxuICAgIH07XG5cbiAgICBjb25zdCBkaXNwU3BlY3M6IERpc3BTcGVjcyA9IHtcbiAgICAgIG5hbWVUYWdzOiByZWNvcmRpbmdOYW1lVGFncyxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogcmVjb3JkaW5nQmFja2dyb3VuZENvbG9yLFxuICAgICAgbmFtZVRhZ3NDb2xvcjogcmVjb3JkaW5nTmFtZVRhZ3NDb2xvcixcbiAgICAgIG9yaWVudGF0aW9uVmlkZW86IHJlY29yZGluZ09yaWVudGF0aW9uVmlkZW8sXG4gICAgfTtcblxuICAgIGNvbnN0IHRleHRTcGVjczogVGV4dFNwZWNzID0ge1xuICAgICAgYWRkVGV4dDogcmVjb3JkaW5nQWRkVGV4dCxcbiAgICAgIGN1c3RvbVRleHQ6IHJlY29yZGluZ0N1c3RvbVRleHQsXG4gICAgICBjdXN0b21UZXh0UG9zaXRpb246IHJlY29yZGluZ0N1c3RvbVRleHRQb3NpdGlvbixcbiAgICAgIGN1c3RvbVRleHRDb2xvcjogcmVjb3JkaW5nQ3VzdG9tVGV4dENvbG9yLFxuICAgIH07XG5cbiAgICAvLyBDb25zdHJ1Y3QgdXNlclJlY29yZGluZ1BhcmFtcyBvYmplY3RcbiAgICBjb25zdCB1c2VyUmVjb3JkaW5nUGFyYW1zID0geyBtYWluU3BlY3MsIGRpc3BTcGVjcywgdGV4dFNwZWNzIH07XG4gICAgLy8gVXBkYXRlIHN0YXRlIHZhcmlhYmxlcyBiYXNlZCBvbiB0aGUgbG9naWNcbiAgICB1cGRhdGVVc2VyUmVjb3JkaW5nUGFyYW1zKHVzZXJSZWNvcmRpbmdQYXJhbXMpO1xuICAgIHVwZGF0ZUNvbmZpcm1lZFRvUmVjb3JkKHRydWUpO1xuICAgIHVwZGF0ZVJlY29yZGluZ0Rpc3BsYXlUeXBlKHNlbGVjdGVkUmVjb3JkT3B0aW9uKTtcbiAgICB1cGRhdGVSZWNvcmRpbmdWaWRlb09wdGltaXplZChyZWNvcmRpbmdWaWRlb09wdGltaXplZCk7XG4gICAgdXBkYXRlUmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNGdWxsUm9vbVN1cHBvcnQocmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNGdWxsUm9vbVN1cHBvcnQpO1xuICAgIHVwZGF0ZVJlY29yZGluZ0FsbFBhcnRpY2lwYW50c1N1cHBvcnQocmVjb3JkaW5nQWxsUGFydGljaXBhbnRzU3VwcG9ydCk7XG4gICAgdXBkYXRlUmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNTdXBwb3J0KHJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzU3VwcG9ydCk7XG4gICAgdXBkYXRlUmVjb3JkaW5nU3VwcG9ydEZvck90aGVyT3JpZW50YXRpb24ocmVjb3JkaW5nU3VwcG9ydEZvck90aGVyT3JpZW50YXRpb24pO1xuICAgIHVwZGF0ZVJlY29yZGluZ1ByZWZlcnJlZE9yaWVudGF0aW9uKHJlY29yZGluZ1ByZWZlcnJlZE9yaWVudGF0aW9uKTtcbiAgICB1cGRhdGVSZWNvcmRpbmdNdWx0aUZvcm1hdHNTdXBwb3J0KHJlY29yZGluZ011bHRpRm9ybWF0c1N1cHBvcnQpO1xuICB9O1xufVxuIl19
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class LaunchRecording {
|
|
4
|
-
/**
|
|
5
|
-
* Launches the recording process based on various conditions and updates the UI accordingly.
|
|
6
|
-
*
|
|
7
|
-
* @param {Object} options - The options for launching the recording.
|
|
8
|
-
* @param {Function} options.updateIsRecordingModalVisible - Function to update the visibility of the recording modal.
|
|
9
|
-
* @param {boolean} options.isRecordingModalVisible - Indicates if the recording modal is currently visible.
|
|
10
|
-
* @param {Function} options.showAlert - Function to show an alert message.
|
|
11
|
-
* @param {boolean} options.stopLaunchRecord - Indicates if the recording launch should be stopped.
|
|
12
|
-
* @param {boolean} options.canLaunchRecord - Indicates if the recording can be launched.
|
|
13
|
-
* @param {boolean} options.recordingAudioSupport - Indicates if audio recording is supported.
|
|
14
|
-
* @param {boolean} options.recordingVideoSupport - Indicates if video recording is supported.
|
|
15
|
-
* @param {Function} options.updateCanRecord - Function to update the recording capability.
|
|
16
|
-
* @param {Function} options.updateClearedToRecord - Function to update the cleared-to-record status.
|
|
17
|
-
* @param {boolean} options.recordStarted - Indicates if the recording has started.
|
|
18
|
-
* @param {boolean} options.recordPaused - Indicates if the recording is paused.
|
|
19
|
-
* @param {boolean} options.localUIMode - Indicates if the local UI mode is active.
|
|
20
|
-
*
|
|
21
|
-
* @returns {void}
|
|
22
|
-
*/
|
|
23
|
-
launchRecording({ updateIsRecordingModalVisible, isRecordingModalVisible, showAlert, stopLaunchRecord, canLaunchRecord, recordingAudioSupport, recordingVideoSupport, updateCanRecord, updateClearedToRecord, recordStarted, recordPaused, localUIMode, }) {
|
|
24
|
-
// Check if recording is already launched
|
|
25
|
-
if (!isRecordingModalVisible && stopLaunchRecord && !localUIMode) {
|
|
26
|
-
showAlert?.({
|
|
27
|
-
message: 'Recording has already ended or you are not allowed to record',
|
|
28
|
-
type: 'danger',
|
|
29
|
-
duration: 3000,
|
|
30
|
-
});
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
// Check if recording initiation is allowed
|
|
34
|
-
if (!isRecordingModalVisible && canLaunchRecord && !localUIMode) {
|
|
35
|
-
// Check if both audio and video recording are not allowed
|
|
36
|
-
if (!recordingAudioSupport && !recordingVideoSupport) {
|
|
37
|
-
showAlert?.({
|
|
38
|
-
message: 'You are not allowed to record',
|
|
39
|
-
type: 'danger',
|
|
40
|
-
duration: 3000,
|
|
41
|
-
});
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
// update clearedToRecord to false
|
|
45
|
-
updateClearedToRecord(false);
|
|
46
|
-
// update canRecord to false
|
|
47
|
-
updateCanRecord(false);
|
|
48
|
-
}
|
|
49
|
-
if (!isRecordingModalVisible && recordStarted) {
|
|
50
|
-
if (!recordPaused) {
|
|
51
|
-
showAlert?.({
|
|
52
|
-
message: 'You can only re-configure recording after pausing it',
|
|
53
|
-
type: 'danger',
|
|
54
|
-
duration: 3000,
|
|
55
|
-
});
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (!isRecordingModalVisible &&
|
|
60
|
-
!recordingAudioSupport &&
|
|
61
|
-
!recordingVideoSupport &&
|
|
62
|
-
!localUIMode) {
|
|
63
|
-
showAlert?.({
|
|
64
|
-
message: 'You are not allowed to record',
|
|
65
|
-
type: 'danger',
|
|
66
|
-
duration: 3000,
|
|
67
|
-
});
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
// Update the visibility of the recording modal
|
|
71
|
-
updateIsRecordingModalVisible(!isRecordingModalVisible);
|
|
72
|
-
}
|
|
73
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchRecording, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchRecording, providedIn: 'root' });
|
|
75
|
-
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchRecording, decorators: [{
|
|
77
|
-
type: Injectable,
|
|
78
|
-
args: [{
|
|
79
|
-
providedIn: 'root',
|
|
80
|
-
}]
|
|
81
|
-
}] });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLXJlY29yZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL21ldGhvZHMvcmVjb3JkaW5nLW1ldGhvZHMvbGF1bmNoLXJlY29yZGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBMEIzQyxNQUFNLE9BQU8sZUFBZTtJQUMxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Ba0JHO0lBRUgsZUFBZSxDQUFDLEVBQ2QsNkJBQTZCLEVBQzdCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixxQkFBcUIsRUFDckIsYUFBYSxFQUNiLFlBQVksRUFDWixXQUFXLEdBQ1k7UUFDdkIseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyx1QkFBdUIsSUFBSSxnQkFBZ0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pFLFNBQVMsRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSw4REFBOEQ7Z0JBQ3ZFLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1lBRUgsT0FBTztRQUNULENBQUM7UUFFRCwyQ0FBMkM7UUFDM0MsSUFBSSxDQUFDLHVCQUF1QixJQUFJLGVBQWUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hFLDBEQUEwRDtZQUMxRCxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNyRCxTQUFTLEVBQUUsQ0FBQztvQkFDVixPQUFPLEVBQUUsK0JBQStCO29CQUN4QyxJQUFJLEVBQUUsUUFBUTtvQkFDZCxRQUFRLEVBQUUsSUFBSTtpQkFDZixDQUFDLENBQUM7Z0JBRUgsT0FBTztZQUNULENBQUM7WUFFRCxrQ0FBa0M7WUFDbEMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsNEJBQTRCO1lBQzVCLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsSUFBSSxDQUFDLHVCQUF1QixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDbEIsU0FBUyxFQUFFLENBQUM7b0JBQ1YsT0FBTyxFQUFFLHNEQUFzRDtvQkFDL0QsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQyxDQUFDO2dCQUVILE9BQU87WUFDVCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQ0UsQ0FBQyx1QkFBdUI7WUFDeEIsQ0FBQyxxQkFBcUI7WUFDdEIsQ0FBQyxxQkFBcUI7WUFDdEIsQ0FBQyxXQUFXLEVBQ1osQ0FBQztZQUNELFNBQVMsRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSwrQkFBK0I7Z0JBQ3hDLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1lBRUgsT0FBTztRQUNULENBQUM7UUFFRCwrQ0FBK0M7UUFDL0MsNkJBQTZCLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFELENBQUM7dUdBOUZVLGVBQWU7MkdBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2hvd0FsZXJ0IH0gZnJvbSAnLi4vLi4vQHR5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hSZWNvcmRpbmdPcHRpb25zIHtcbiAgdXBkYXRlSXNSZWNvcmRpbmdNb2RhbFZpc2libGU6ICh2aXNpYmxlOiBib29sZWFuKSA9PiB2b2lkO1xuICBpc1JlY29yZGluZ01vZGFsVmlzaWJsZTogYm9vbGVhbjtcbiAgc2hvd0FsZXJ0PzogU2hvd0FsZXJ0O1xuICBzdG9wTGF1bmNoUmVjb3JkOiBib29sZWFuO1xuICBjYW5MYXVuY2hSZWNvcmQ6IGJvb2xlYW47XG4gIHJlY29yZGluZ0F1ZGlvU3VwcG9ydDogYm9vbGVhbjtcbiAgcmVjb3JkaW5nVmlkZW9TdXBwb3J0OiBib29sZWFuO1xuICB1cGRhdGVDYW5SZWNvcmQ6IChjYW5SZWNvcmQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZUNsZWFyZWRUb1JlY29yZDogKGNsZWFyZWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHJlY29yZFN0YXJ0ZWQ6IGJvb2xlYW47XG4gIHJlY29yZFBhdXNlZDogYm9vbGVhbjtcbiAgbG9jYWxVSU1vZGU6IGJvb2xlYW47XG5cbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBMYXVuY2hSZWNvcmRpbmdUeXBlID0gKG9wdGlvbnM6IExhdW5jaFJlY29yZGluZ09wdGlvbnMpID0+IHZvaWQ7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYXVuY2hSZWNvcmRpbmcge1xuICAvKipcbiAgICogTGF1bmNoZXMgdGhlIHJlY29yZGluZyBwcm9jZXNzIGJhc2VkIG9uIHZhcmlvdXMgY29uZGl0aW9ucyBhbmQgdXBkYXRlcyB0aGUgVUkgYWNjb3JkaW5nbHkuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGxhdW5jaGluZyB0aGUgcmVjb3JkaW5nLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZUlzUmVjb3JkaW5nTW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSByZWNvcmRpbmcgbW9kYWwuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5pc1JlY29yZGluZ01vZGFsVmlzaWJsZSAtIEluZGljYXRlcyBpZiB0aGUgcmVjb3JkaW5nIG1vZGFsIGlzIGN1cnJlbnRseSB2aXNpYmxlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnNob3dBbGVydCAtIEZ1bmN0aW9uIHRvIHNob3cgYW4gYWxlcnQgbWVzc2FnZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnN0b3BMYXVuY2hSZWNvcmQgLSBJbmRpY2F0ZXMgaWYgdGhlIHJlY29yZGluZyBsYXVuY2ggc2hvdWxkIGJlIHN0b3BwZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5jYW5MYXVuY2hSZWNvcmQgLSBJbmRpY2F0ZXMgaWYgdGhlIHJlY29yZGluZyBjYW4gYmUgbGF1bmNoZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5yZWNvcmRpbmdBdWRpb1N1cHBvcnQgLSBJbmRpY2F0ZXMgaWYgYXVkaW8gcmVjb3JkaW5nIGlzIHN1cHBvcnRlZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnJlY29yZGluZ1ZpZGVvU3VwcG9ydCAtIEluZGljYXRlcyBpZiB2aWRlbyByZWNvcmRpbmcgaXMgc3VwcG9ydGVkLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZUNhblJlY29yZCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgcmVjb3JkaW5nIGNhcGFiaWxpdHkuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlQ2xlYXJlZFRvUmVjb3JkIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBjbGVhcmVkLXRvLXJlY29yZCBzdGF0dXMuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5yZWNvcmRTdGFydGVkIC0gSW5kaWNhdGVzIGlmIHRoZSByZWNvcmRpbmcgaGFzIHN0YXJ0ZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5yZWNvcmRQYXVzZWQgLSBJbmRpY2F0ZXMgaWYgdGhlIHJlY29yZGluZyBpcyBwYXVzZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5sb2NhbFVJTW9kZSAtIEluZGljYXRlcyBpZiB0aGUgbG9jYWwgVUkgbW9kZSBpcyBhY3RpdmUuXG4gICAqXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cblxuICBsYXVuY2hSZWNvcmRpbmcoe1xuICAgIHVwZGF0ZUlzUmVjb3JkaW5nTW9kYWxWaXNpYmxlLFxuICAgIGlzUmVjb3JkaW5nTW9kYWxWaXNpYmxlLFxuICAgIHNob3dBbGVydCxcbiAgICBzdG9wTGF1bmNoUmVjb3JkLFxuICAgIGNhbkxhdW5jaFJlY29yZCxcbiAgICByZWNvcmRpbmdBdWRpb1N1cHBvcnQsXG4gICAgcmVjb3JkaW5nVmlkZW9TdXBwb3J0LFxuICAgIHVwZGF0ZUNhblJlY29yZCxcbiAgICB1cGRhdGVDbGVhcmVkVG9SZWNvcmQsXG4gICAgcmVjb3JkU3RhcnRlZCxcbiAgICByZWNvcmRQYXVzZWQsXG4gICAgbG9jYWxVSU1vZGUsXG4gIH06IExhdW5jaFJlY29yZGluZ09wdGlvbnMpOiB2b2lkIHtcbiAgICAvLyBDaGVjayBpZiByZWNvcmRpbmcgaXMgYWxyZWFkeSBsYXVuY2hlZFxuICAgIGlmICghaXNSZWNvcmRpbmdNb2RhbFZpc2libGUgJiYgc3RvcExhdW5jaFJlY29yZCAmJiAhbG9jYWxVSU1vZGUpIHtcbiAgICAgIHNob3dBbGVydD8uKHtcbiAgICAgICAgbWVzc2FnZTogJ1JlY29yZGluZyBoYXMgYWxyZWFkeSBlbmRlZCBvciB5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIHJlY29yZCcsXG4gICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgcmVjb3JkaW5nIGluaXRpYXRpb24gaXMgYWxsb3dlZFxuICAgIGlmICghaXNSZWNvcmRpbmdNb2RhbFZpc2libGUgJiYgY2FuTGF1bmNoUmVjb3JkICYmICFsb2NhbFVJTW9kZSkge1xuICAgICAgLy8gQ2hlY2sgaWYgYm90aCBhdWRpbyBhbmQgdmlkZW8gcmVjb3JkaW5nIGFyZSBub3QgYWxsb3dlZFxuICAgICAgaWYgKCFyZWNvcmRpbmdBdWRpb1N1cHBvcnQgJiYgIXJlY29yZGluZ1ZpZGVvU3VwcG9ydCkge1xuICAgICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgICAgbWVzc2FnZTogJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gcmVjb3JkJyxcbiAgICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyB1cGRhdGUgY2xlYXJlZFRvUmVjb3JkIHRvIGZhbHNlXG4gICAgICB1cGRhdGVDbGVhcmVkVG9SZWNvcmQoZmFsc2UpO1xuICAgICAgLy8gdXBkYXRlIGNhblJlY29yZCB0byBmYWxzZVxuICAgICAgdXBkYXRlQ2FuUmVjb3JkKGZhbHNlKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzUmVjb3JkaW5nTW9kYWxWaXNpYmxlICYmIHJlY29yZFN0YXJ0ZWQpIHtcbiAgICAgIGlmICghcmVjb3JkUGF1c2VkKSB7XG4gICAgICAgIHNob3dBbGVydD8uKHtcbiAgICAgICAgICBtZXNzYWdlOiAnWW91IGNhbiBvbmx5IHJlLWNvbmZpZ3VyZSByZWNvcmRpbmcgYWZ0ZXIgcGF1c2luZyBpdCcsXG4gICAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhaXNSZWNvcmRpbmdNb2RhbFZpc2libGUgJiZcbiAgICAgICFyZWNvcmRpbmdBdWRpb1N1cHBvcnQgJiZcbiAgICAgICFyZWNvcmRpbmdWaWRlb1N1cHBvcnQgJiZcbiAgICAgICFsb2NhbFVJTW9kZVxuICAgICkge1xuICAgICAgc2hvd0FsZXJ0Py4oe1xuICAgICAgICBtZXNzYWdlOiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byByZWNvcmQnLFxuICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgcmVjb3JkaW5nIG1vZGFsXG4gICAgdXBkYXRlSXNSZWNvcmRpbmdNb2RhbFZpc2libGUoIWlzUmVjb3JkaW5nTW9kYWxWaXNpYmxlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class RecordPauseTimer {
|
|
4
|
-
/**
|
|
5
|
-
* Controls the pause and resume functionality of a recording timer.
|
|
6
|
-
*
|
|
7
|
-
* @param {Object} options - The options for controlling the timer.
|
|
8
|
-
* @param {boolean} [options.stop=false] - Indicates whether to stop the timer.
|
|
9
|
-
* @param {Object} options.parameters - The parameters for the timer control.
|
|
10
|
-
* @param {boolean} options.parameters.isTimerRunning - Indicates if the timer is currently running.
|
|
11
|
-
* @param {boolean} options.parameters.canPauseResume - Indicates if the timer can be paused or resumed.
|
|
12
|
-
* @param {Function} [options.parameters.showAlert] - Optional function to show an alert message.
|
|
13
|
-
* @returns {boolean} - Returns true if the timer can be paused or resumed, otherwise false.
|
|
14
|
-
*/
|
|
15
|
-
recordPauseTimer = ({ stop = false, isTimerRunning, canPauseResume, showAlert, }) => {
|
|
16
|
-
// Ensure the timer is running and pause/resume actions are allowed
|
|
17
|
-
if (isTimerRunning && canPauseResume) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
const message = stop
|
|
22
|
-
? 'Can only stop after 15 seconds of starting or pausing or resuming recording'
|
|
23
|
-
: 'Can only pause or resume after 15 seconds of starting or pausing or resuming recording';
|
|
24
|
-
showAlert?.({
|
|
25
|
-
message,
|
|
26
|
-
type: 'danger',
|
|
27
|
-
});
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordPauseTimer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordPauseTimer, providedIn: 'root' });
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordPauseTimer, decorators: [{
|
|
35
|
-
type: Injectable,
|
|
36
|
-
args: [{
|
|
37
|
-
providedIn: 'root',
|
|
38
|
-
}]
|
|
39
|
-
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLXBhdXNlLXRpbWVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9yZWNvcmRpbmctbWV0aG9kcy9yZWNvcmQtcGF1c2UtdGltZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWUzQyxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOzs7Ozs7Ozs7O09BVUc7SUFFSCxnQkFBZ0IsR0FBRyxDQUFDLEVBQ2xCLElBQUksR0FBRyxLQUFLLEVBQ1osY0FBYyxFQUNkLGNBQWMsRUFDZCxTQUFTLEdBQ2UsRUFBVyxFQUFFO1FBQ3JDLG1FQUFtRTtRQUNuRSxJQUFJLGNBQWMsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxPQUFPLEdBQUcsSUFBSTtnQkFDbEIsQ0FBQyxDQUFDLDZFQUE2RTtnQkFDL0UsQ0FBQyxDQUFDLHdGQUF3RixDQUFDO1lBQzdGLFNBQVMsRUFBRSxDQUFDO2dCQUNWLE9BQU87Z0JBQ1AsSUFBSSxFQUFFLFFBQVE7YUFDZixDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDLENBQUM7dUdBaENTLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNob3dBbGVydCB9IGZyb20gJy4uLy4uL0B0eXBlcy90eXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIFJlY29yZFBhdXNlVGltZXJPcHRpb25zIHtcbiAgc3RvcD86IGJvb2xlYW47XG4gIGlzVGltZXJSdW5uaW5nOiBib29sZWFuO1xuICBjYW5QYXVzZVJlc3VtZTogYm9vbGVhbjtcbiAgc2hvd0FsZXJ0PzogU2hvd0FsZXJ0O1xufVxuXG4vLyBleHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBSZWNvcmRQYXVzZVRpbWVyVHlwZSA9IChvcHRpb25zOiBSZWNvcmRQYXVzZVRpbWVyT3B0aW9ucykgPT4gYm9vbGVhbjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlY29yZFBhdXNlVGltZXIge1xuICAvKipcbiAgICogQ29udHJvbHMgdGhlIHBhdXNlIGFuZCByZXN1bWUgZnVuY3Rpb25hbGl0eSBvZiBhIHJlY29yZGluZyB0aW1lci5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgY29udHJvbGxpbmcgdGhlIHRpbWVyLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLnN0b3A9ZmFsc2VdIC0gSW5kaWNhdGVzIHdoZXRoZXIgdG8gc3RvcCB0aGUgdGltZXIuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLnBhcmFtZXRlcnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHRpbWVyIGNvbnRyb2wuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmlzVGltZXJSdW5uaW5nIC0gSW5kaWNhdGVzIGlmIHRoZSB0aW1lciBpcyBjdXJyZW50bHkgcnVubmluZy5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMuY2FuUGF1c2VSZXN1bWUgLSBJbmRpY2F0ZXMgaWYgdGhlIHRpbWVyIGNhbiBiZSBwYXVzZWQgb3IgcmVzdW1lZC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW29wdGlvbnMucGFyYW1ldGVycy5zaG93QWxlcnRdIC0gT3B0aW9uYWwgZnVuY3Rpb24gdG8gc2hvdyBhbiBhbGVydCBtZXNzYWdlLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIHRpbWVyIGNhbiBiZSBwYXVzZWQgb3IgcmVzdW1lZCwgb3RoZXJ3aXNlIGZhbHNlLlxuICAgKi9cblxuICByZWNvcmRQYXVzZVRpbWVyID0gKHtcbiAgICBzdG9wID0gZmFsc2UsXG4gICAgaXNUaW1lclJ1bm5pbmcsXG4gICAgY2FuUGF1c2VSZXN1bWUsXG4gICAgc2hvd0FsZXJ0LFxuICB9OiBSZWNvcmRQYXVzZVRpbWVyT3B0aW9ucyk6IGJvb2xlYW4gPT4ge1xuICAgIC8vIEVuc3VyZSB0aGUgdGltZXIgaXMgcnVubmluZyBhbmQgcGF1c2UvcmVzdW1lIGFjdGlvbnMgYXJlIGFsbG93ZWRcbiAgICBpZiAoaXNUaW1lclJ1bm5pbmcgJiYgY2FuUGF1c2VSZXN1bWUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gc3RvcFxuICAgICAgICA/ICdDYW4gb25seSBzdG9wIGFmdGVyIDE1IHNlY29uZHMgb2Ygc3RhcnRpbmcgb3IgcGF1c2luZyBvciByZXN1bWluZyByZWNvcmRpbmcnXG4gICAgICAgIDogJ0NhbiBvbmx5IHBhdXNlIG9yIHJlc3VtZSBhZnRlciAxNSBzZWNvbmRzIG9mIHN0YXJ0aW5nIG9yIHBhdXNpbmcgb3IgcmVzdW1pbmcgcmVjb3JkaW5nJztcbiAgICAgIHNob3dBbGVydD8uKHtcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH07XG59XG4iXX0=
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./record-update-timer.service";
|
|
4
|
-
export class RecordResumeTimer {
|
|
5
|
-
RecordUpdateTimerService;
|
|
6
|
-
constructor(RecordUpdateTimerService) {
|
|
7
|
-
this.RecordUpdateTimerService = RecordUpdateTimerService;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Resumes the recording timer if it is not already running and can be paused/resumed.
|
|
11
|
-
*
|
|
12
|
-
* @param {RecordResumeTimerOptions} options - The options for resuming the recording timer.
|
|
13
|
-
* @param {Object} options.parameters - The parameters for the recording timer.
|
|
14
|
-
* @param {Function} options.parameters.getUpdatedAllParams - Function to get updated parameters.
|
|
15
|
-
* @param {boolean} options.parameters.isTimerRunning - Indicates if the timer is currently running.
|
|
16
|
-
* @param {boolean} options.parameters.canPauseResume - Indicates if the timer can be paused/resumed.
|
|
17
|
-
* @param {number} options.parameters.recordElapsedTime - The elapsed recording time in seconds.
|
|
18
|
-
* @param {number} options.parameters.recordStartTime - The start time of the recording.
|
|
19
|
-
* @param {number | null} options.parameters.recordTimerInterval - The interval ID for the recording timer.
|
|
20
|
-
* @param {Function} options.parameters.showAlert - Function to show an alert message.
|
|
21
|
-
* @param {Function} options.parameters.updateRecordStartTime - Function to update the recording start time.
|
|
22
|
-
* @param {Function} options.parameters.updateRecordTimerInterval - Function to update the recording timer interval.
|
|
23
|
-
* @param {Function} options.parameters.updateIsTimerRunning - Function to update the timer running status.
|
|
24
|
-
* @param {Function} options.parameters.updateCanPauseResume - Function to update the pause/resume status.
|
|
25
|
-
*
|
|
26
|
-
* @returns {Promise<boolean>} - Returns a promise that resolves to true if the timer was successfully resumed, otherwise false.
|
|
27
|
-
*/
|
|
28
|
-
recordResumeTimer = async ({ parameters }) => {
|
|
29
|
-
let { getUpdatedAllParams } = parameters;
|
|
30
|
-
parameters = getUpdatedAllParams();
|
|
31
|
-
let { isTimerRunning, canPauseResume, recordElapsedTime, recordStartTime, recordTimerInterval, showAlert, updateRecordStartTime, updateRecordTimerInterval, updateIsTimerRunning, updateCanPauseResume,
|
|
32
|
-
//mediasfu Functions
|
|
33
|
-
// recordUpdateTimer,
|
|
34
|
-
} = parameters;
|
|
35
|
-
if (!isTimerRunning && canPauseResume) {
|
|
36
|
-
recordStartTime = new Date().getTime() - recordElapsedTime * 1000; // Calculate the starting time based on elapsed time
|
|
37
|
-
updateRecordStartTime(recordStartTime);
|
|
38
|
-
recordTimerInterval = setInterval(() => {
|
|
39
|
-
// Update the timer every second (1000 milliseconds)
|
|
40
|
-
this.RecordUpdateTimerService.recordUpdateTimer({
|
|
41
|
-
recordElapsedTime: recordElapsedTime,
|
|
42
|
-
recordStartTime: recordStartTime,
|
|
43
|
-
updateRecordElapsedTime: parameters['updateRecordElapsedTime'],
|
|
44
|
-
updateRecordingProgressTime: parameters['updateRecordingProgressTime'],
|
|
45
|
-
});
|
|
46
|
-
parameters = getUpdatedAllParams();
|
|
47
|
-
// Check if recording is paused or stopped, and close the interval if needed
|
|
48
|
-
if (parameters['recordPaused'] ||
|
|
49
|
-
parameters['recordStopped'] ||
|
|
50
|
-
parameters['roomName'] == '' ||
|
|
51
|
-
parameters['roomName'] == null) {
|
|
52
|
-
if (recordTimerInterval != null) {
|
|
53
|
-
clearInterval(recordTimerInterval);
|
|
54
|
-
}
|
|
55
|
-
updateRecordTimerInterval(null);
|
|
56
|
-
isTimerRunning = false;
|
|
57
|
-
updateIsTimerRunning(isTimerRunning);
|
|
58
|
-
canPauseResume = false;
|
|
59
|
-
updateCanPauseResume(canPauseResume);
|
|
60
|
-
}
|
|
61
|
-
}, 1000);
|
|
62
|
-
updateRecordTimerInterval(recordTimerInterval);
|
|
63
|
-
isTimerRunning = true;
|
|
64
|
-
updateIsTimerRunning(isTimerRunning);
|
|
65
|
-
canPauseResume = false; // Disable pause/resume actions until paused again
|
|
66
|
-
updateCanPauseResume(canPauseResume);
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
showAlert?.({
|
|
71
|
-
type: 'danger',
|
|
72
|
-
message: 'Can only pause or resume after 15 seconds of starting or pausing or resuming recording',
|
|
73
|
-
});
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordResumeTimer, deps: [{ token: i1.RecordUpdateTimer }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
78
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordResumeTimer, providedIn: 'root' });
|
|
79
|
-
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordResumeTimer, decorators: [{
|
|
81
|
-
type: Injectable,
|
|
82
|
-
args: [{
|
|
83
|
-
providedIn: 'root',
|
|
84
|
-
}]
|
|
85
|
-
}], ctorParameters: () => [{ type: i1.RecordUpdateTimer }] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLXJlc3VtZS10aW1lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL21ldGhvZHMvcmVjb3JkaW5nLW1ldGhvZHMvcmVjb3JkLXJlc3VtZS10aW1lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQTZCM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUNSO0lBQXBCLFlBQW9CLHdCQUEyQztRQUEzQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQW1CO0lBQUcsQ0FBQztJQUVuRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Ba0JHO0lBRUgsaUJBQWlCLEdBQUcsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUE0QixFQUFvQixFQUFFO1FBQ3ZGLElBQUksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUN6QyxVQUFVLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztRQUVuQyxJQUFJLEVBQ0YsY0FBYyxFQUNkLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixTQUFTLEVBQ1QscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixvQkFBb0IsRUFDcEIsb0JBQW9CO1FBRXBCLG9CQUFvQjtRQUNwQixxQkFBcUI7VUFDdEIsR0FBRyxVQUFVLENBQUM7UUFFZixJQUFJLENBQUMsY0FBYyxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ3RDLGVBQWUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLGlCQUFpQixHQUFHLElBQUksQ0FBQyxDQUFDLG9EQUFvRDtZQUN2SCxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN2QyxtQkFBbUIsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO2dCQUNyQyxvREFBb0Q7Z0JBQ3BELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDOUMsaUJBQWlCLEVBQUUsaUJBQWlCO29CQUNwQyxlQUFlLEVBQUUsZUFBZTtvQkFDaEMsdUJBQXVCLEVBQUUsVUFBVSxDQUFDLHlCQUF5QixDQUFDO29CQUM5RCwyQkFBMkIsRUFBRSxVQUFVLENBQUMsNkJBQTZCLENBQUM7aUJBQ3ZFLENBQUMsQ0FBQztnQkFFSCxVQUFVLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztnQkFFbkMsNEVBQTRFO2dCQUM1RSxJQUNFLFVBQVUsQ0FBQyxjQUFjLENBQUM7b0JBQzFCLFVBQVUsQ0FBQyxlQUFlLENBQUM7b0JBQzNCLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO29CQUM1QixVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxFQUM5QixDQUFDO29CQUNELElBQUksbUJBQW1CLElBQUksSUFBSSxFQUFFLENBQUM7d0JBQ2hDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO29CQUNyQyxDQUFDO29CQUNELHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNoQyxjQUFjLEdBQUcsS0FBSyxDQUFDO29CQUN2QixvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDckMsY0FBYyxHQUFHLEtBQUssQ0FBQztvQkFDdkIsb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3ZDLENBQUM7WUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDVCx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQy9DLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDdEIsb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDckMsY0FBYyxHQUFHLEtBQUssQ0FBQyxDQUFDLGtEQUFrRDtZQUMxRSxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsT0FBTyxFQUNMLHdGQUF3RjthQUMzRixDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDLENBQUM7dUdBeEZTLGlCQUFpQjsyR0FBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaG93QWxlcnQgfSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHsgUmVjb3JkVXBkYXRlVGltZXIgfSBmcm9tICcuL3JlY29yZC11cGRhdGUtdGltZXIuc2VydmljZSc7XG5leHBvcnQgaW50ZXJmYWNlIFJlY29yZFJlc3VtZVRpbWVyUGFyYW1ldGVycyB7XG4gIGlzVGltZXJSdW5uaW5nOiBib29sZWFuO1xuICBjYW5QYXVzZVJlc3VtZTogYm9vbGVhbjtcbiAgcmVjb3JkRWxhcHNlZFRpbWU6IG51bWJlcjtcbiAgcmVjb3JkU3RhcnRUaW1lOiBudW1iZXI7XG4gIHJlY29yZFRpbWVySW50ZXJ2YWw/OiBOb2RlSlMuVGltZW91dCB8IG51bGw7XG4gIHNob3dBbGVydD86IFNob3dBbGVydDtcbiAgdXBkYXRlUmVjb3JkU3RhcnRUaW1lOiAodGltZTogbnVtYmVyKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRUaW1lckludGVydmFsOiAoaW50ZXJ2YWw6IE5vZGVKUy5UaW1lb3V0IHwgbnVsbCkgPT4gdm9pZDtcbiAgdXBkYXRlSXNUaW1lclJ1bm5pbmc6IChpc1J1bm5pbmc6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZUNhblBhdXNlUmVzdW1lOiAoY2FuUGF1c2U6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgZ2V0VXBkYXRlZEFsbFBhcmFtczogKCkgPT4gUmVjb3JkUmVzdW1lVGltZXJQYXJhbWV0ZXJzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkUmVzdW1lVGltZXJPcHRpb25zIHtcbiAgcGFyYW1ldGVyczogUmVjb3JkUmVzdW1lVGltZXJQYXJhbWV0ZXJzO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBSZWNvcmRSZXN1bWVUaW1lclR5cGUgPSAob3B0aW9uczogUmVjb3JkUmVzdW1lVGltZXJPcHRpb25zKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmVjb3JkUmVzdW1lVGltZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIFJlY29yZFVwZGF0ZVRpbWVyU2VydmljZTogUmVjb3JkVXBkYXRlVGltZXIpIHt9XG5cbiAgLyoqXG4gICAqIFJlc3VtZXMgdGhlIHJlY29yZGluZyB0aW1lciBpZiBpdCBpcyBub3QgYWxyZWFkeSBydW5uaW5nIGFuZCBjYW4gYmUgcGF1c2VkL3Jlc3VtZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVjb3JkUmVzdW1lVGltZXJPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHJlc3VtaW5nIHRoZSByZWNvcmRpbmcgdGltZXIuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLnBhcmFtZXRlcnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHJlY29yZGluZyB0aW1lci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmdldFVwZGF0ZWRBbGxQYXJhbXMgLSBGdW5jdGlvbiB0byBnZXQgdXBkYXRlZCBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5pc1RpbWVyUnVubmluZyAtIEluZGljYXRlcyBpZiB0aGUgdGltZXIgaXMgY3VycmVudGx5IHJ1bm5pbmcuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmNhblBhdXNlUmVzdW1lIC0gSW5kaWNhdGVzIGlmIHRoZSB0aW1lciBjYW4gYmUgcGF1c2VkL3Jlc3VtZWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLnBhcmFtZXRlcnMucmVjb3JkRWxhcHNlZFRpbWUgLSBUaGUgZWxhcHNlZCByZWNvcmRpbmcgdGltZSBpbiBzZWNvbmRzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlY29yZFN0YXJ0VGltZSAtIFRoZSBzdGFydCB0aW1lIG9mIHRoZSByZWNvcmRpbmcuXG4gICAqIEBwYXJhbSB7bnVtYmVyIHwgbnVsbH0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlY29yZFRpbWVySW50ZXJ2YWwgLSBUaGUgaW50ZXJ2YWwgSUQgZm9yIHRoZSByZWNvcmRpbmcgdGltZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy5zaG93QWxlcnQgLSBGdW5jdGlvbiB0byBzaG93IGFuIGFsZXJ0IG1lc3NhZ2UuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRTdGFydFRpbWUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHJlY29yZGluZyBzdGFydCB0aW1lLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkVGltZXJJbnRlcnZhbCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgcmVjb3JkaW5nIHRpbWVyIGludGVydmFsLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlSXNUaW1lclJ1bm5pbmcgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHRpbWVyIHJ1bm5pbmcgc3RhdHVzLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlQ2FuUGF1c2VSZXN1bWUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHBhdXNlL3Jlc3VtZSBzdGF0dXMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSAtIFJldHVybnMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdHJ1ZSBpZiB0aGUgdGltZXIgd2FzIHN1Y2Nlc3NmdWxseSByZXN1bWVkLCBvdGhlcndpc2UgZmFsc2UuXG4gICAqL1xuXG4gIHJlY29yZFJlc3VtZVRpbWVyID0gYXN5bmMgKHsgcGFyYW1ldGVycyB9OiBSZWNvcmRSZXN1bWVUaW1lck9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBsZXQgeyBnZXRVcGRhdGVkQWxsUGFyYW1zIH0gPSBwYXJhbWV0ZXJzO1xuICAgIHBhcmFtZXRlcnMgPSBnZXRVcGRhdGVkQWxsUGFyYW1zKCk7XG5cbiAgICBsZXQge1xuICAgICAgaXNUaW1lclJ1bm5pbmcsXG4gICAgICBjYW5QYXVzZVJlc3VtZSxcbiAgICAgIHJlY29yZEVsYXBzZWRUaW1lLFxuICAgICAgcmVjb3JkU3RhcnRUaW1lLFxuICAgICAgcmVjb3JkVGltZXJJbnRlcnZhbCxcbiAgICAgIHNob3dBbGVydCxcbiAgICAgIHVwZGF0ZVJlY29yZFN0YXJ0VGltZSxcbiAgICAgIHVwZGF0ZVJlY29yZFRpbWVySW50ZXJ2YWwsXG4gICAgICB1cGRhdGVJc1RpbWVyUnVubmluZyxcbiAgICAgIHVwZGF0ZUNhblBhdXNlUmVzdW1lLFxuXG4gICAgICAvL21lZGlhc2Z1IEZ1bmN0aW9uc1xuICAgICAgLy8gcmVjb3JkVXBkYXRlVGltZXIsXG4gICAgfSA9IHBhcmFtZXRlcnM7XG5cbiAgICBpZiAoIWlzVGltZXJSdW5uaW5nICYmIGNhblBhdXNlUmVzdW1lKSB7XG4gICAgICByZWNvcmRTdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHJlY29yZEVsYXBzZWRUaW1lICogMTAwMDsgLy8gQ2FsY3VsYXRlIHRoZSBzdGFydGluZyB0aW1lIGJhc2VkIG9uIGVsYXBzZWQgdGltZVxuICAgICAgdXBkYXRlUmVjb3JkU3RhcnRUaW1lKHJlY29yZFN0YXJ0VGltZSk7XG4gICAgICByZWNvcmRUaW1lckludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAvLyBVcGRhdGUgdGhlIHRpbWVyIGV2ZXJ5IHNlY29uZCAoMTAwMCBtaWxsaXNlY29uZHMpXG4gICAgICAgIHRoaXMuUmVjb3JkVXBkYXRlVGltZXJTZXJ2aWNlLnJlY29yZFVwZGF0ZVRpbWVyKHtcbiAgICAgICAgICByZWNvcmRFbGFwc2VkVGltZTogcmVjb3JkRWxhcHNlZFRpbWUsXG4gICAgICAgICAgcmVjb3JkU3RhcnRUaW1lOiByZWNvcmRTdGFydFRpbWUsXG4gICAgICAgICAgdXBkYXRlUmVjb3JkRWxhcHNlZFRpbWU6IHBhcmFtZXRlcnNbJ3VwZGF0ZVJlY29yZEVsYXBzZWRUaW1lJ10sXG4gICAgICAgICAgdXBkYXRlUmVjb3JkaW5nUHJvZ3Jlc3NUaW1lOiBwYXJhbWV0ZXJzWyd1cGRhdGVSZWNvcmRpbmdQcm9ncmVzc1RpbWUnXSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcGFyYW1ldGVycyA9IGdldFVwZGF0ZWRBbGxQYXJhbXMoKTtcblxuICAgICAgICAvLyBDaGVjayBpZiByZWNvcmRpbmcgaXMgcGF1c2VkIG9yIHN0b3BwZWQsIGFuZCBjbG9zZSB0aGUgaW50ZXJ2YWwgaWYgbmVlZGVkXG4gICAgICAgIGlmIChcbiAgICAgICAgICBwYXJhbWV0ZXJzWydyZWNvcmRQYXVzZWQnXSB8fFxuICAgICAgICAgIHBhcmFtZXRlcnNbJ3JlY29yZFN0b3BwZWQnXSB8fFxuICAgICAgICAgIHBhcmFtZXRlcnNbJ3Jvb21OYW1lJ10gPT0gJycgfHxcbiAgICAgICAgICBwYXJhbWV0ZXJzWydyb29tTmFtZSddID09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKHJlY29yZFRpbWVySW50ZXJ2YWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChyZWNvcmRUaW1lckludGVydmFsKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdXBkYXRlUmVjb3JkVGltZXJJbnRlcnZhbChudWxsKTtcbiAgICAgICAgICBpc1RpbWVyUnVubmluZyA9IGZhbHNlO1xuICAgICAgICAgIHVwZGF0ZUlzVGltZXJSdW5uaW5nKGlzVGltZXJSdW5uaW5nKTtcbiAgICAgICAgICBjYW5QYXVzZVJlc3VtZSA9IGZhbHNlO1xuICAgICAgICAgIHVwZGF0ZUNhblBhdXNlUmVzdW1lKGNhblBhdXNlUmVzdW1lKTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwMCk7XG4gICAgICB1cGRhdGVSZWNvcmRUaW1lckludGVydmFsKHJlY29yZFRpbWVySW50ZXJ2YWwpO1xuICAgICAgaXNUaW1lclJ1bm5pbmcgPSB0cnVlO1xuICAgICAgdXBkYXRlSXNUaW1lclJ1bm5pbmcoaXNUaW1lclJ1bm5pbmcpO1xuICAgICAgY2FuUGF1c2VSZXN1bWUgPSBmYWxzZTsgLy8gRGlzYWJsZSBwYXVzZS9yZXN1bWUgYWN0aW9ucyB1bnRpbCBwYXVzZWQgYWdhaW5cbiAgICAgIHVwZGF0ZUNhblBhdXNlUmVzdW1lKGNhblBhdXNlUmVzdW1lKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBzaG93QWxlcnQ/Lih7XG4gICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICdDYW4gb25seSBwYXVzZSBvciByZXN1bWUgYWZ0ZXIgMTUgc2Vjb25kcyBvZiBzdGFydGluZyBvciBwYXVzaW5nIG9yIHJlc3VtaW5nIHJlY29yZGluZycsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH07XG59XG4iXX0=
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./record-update-timer.service";
|
|
4
|
-
export class RecordStartTimer {
|
|
5
|
-
RecordUpdateTimerService;
|
|
6
|
-
constructor(RecordUpdateTimerService) {
|
|
7
|
-
this.RecordUpdateTimerService = RecordUpdateTimerService;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Starts the recording timer.
|
|
11
|
-
* @function
|
|
12
|
-
* @param {RecordStartTimerOptions} options - The options object containing necessary variables and functions.
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* Starts a recording timer and manages its state.
|
|
16
|
-
*
|
|
17
|
-
* @param {RecordStartTimerOptions} options - The options for starting the recording timer.
|
|
18
|
-
* @param {Function} options.parameters.getUpdatedAllParams - Function to get updated parameters.
|
|
19
|
-
* @param {number} options.parameters.recordStartTime - The start time of the recording.
|
|
20
|
-
* @param {number | null} options.parameters.recordTimerInterval - The interval ID for the recording timer.
|
|
21
|
-
* @param {boolean} options.parameters.isTimerRunning - Flag indicating if the timer is running.
|
|
22
|
-
* @param {boolean} options.parameters.canPauseResume - Flag indicating if pause/resume actions are enabled.
|
|
23
|
-
* @param {number} options.parameters.recordChangeSeconds - The time after which pause/resume actions are enabled.
|
|
24
|
-
* @param {Function} options.parameters.updateRecordStartTime - Function to update the recording start time.
|
|
25
|
-
* @param {Function} options.parameters.updateRecordTimerInterval - Function to update the recording timer interval.
|
|
26
|
-
* @param {Function} options.parameters.updateIsTimerRunning - Function to update the timer running state.
|
|
27
|
-
* @param {Function} options.parameters.updateCanPauseResume - Function to update the pause/resume state.
|
|
28
|
-
*
|
|
29
|
-
* @returns {Promise<void>} A promise that resolves when the timer is started.
|
|
30
|
-
*
|
|
31
|
-
* @remarks
|
|
32
|
-
* This function initializes the recording start time and sets up an interval to update the timer every second.
|
|
33
|
-
* It also manages the state of the timer, including enabling and disabling pause/resume actions.
|
|
34
|
-
* The timer is stopped if the recording is paused, stopped, or if the room name is invalid.
|
|
35
|
-
*/
|
|
36
|
-
recordStartTimer = async ({ parameters }) => {
|
|
37
|
-
let { getUpdatedAllParams } = parameters;
|
|
38
|
-
parameters = getUpdatedAllParams();
|
|
39
|
-
let { recordStartTime, recordTimerInterval, isTimerRunning, canPauseResume, recordChangeSeconds, updateRecordStartTime, updateRecordTimerInterval, updateIsTimerRunning, updateCanPauseResume, } = parameters;
|
|
40
|
-
/**
|
|
41
|
-
* Utility function to enable pause/resume actions after a specified time.
|
|
42
|
-
*/
|
|
43
|
-
function enablePauseResume() {
|
|
44
|
-
canPauseResume = true;
|
|
45
|
-
updateCanPauseResume(canPauseResume);
|
|
46
|
-
}
|
|
47
|
-
if (!isTimerRunning) {
|
|
48
|
-
recordStartTime = new Date().getTime(); // Get the current timestamp
|
|
49
|
-
updateRecordStartTime(recordStartTime);
|
|
50
|
-
recordTimerInterval = setInterval(() => {
|
|
51
|
-
// Update the timer every second (1000 milliseconds)
|
|
52
|
-
this.RecordUpdateTimerService.recordUpdateTimer({
|
|
53
|
-
recordElapsedTime: parameters.recordElapsedTime,
|
|
54
|
-
recordStartTime: recordStartTime,
|
|
55
|
-
updateRecordElapsedTime: parameters.updateRecordElapsedTime,
|
|
56
|
-
updateRecordingProgressTime: parameters.updateRecordingProgressTime,
|
|
57
|
-
});
|
|
58
|
-
parameters = getUpdatedAllParams();
|
|
59
|
-
// Check if recording is paused or stopped, and close the interval if needed
|
|
60
|
-
if (parameters.recordPaused ||
|
|
61
|
-
parameters.recordStopped ||
|
|
62
|
-
parameters.roomName == '' ||
|
|
63
|
-
parameters.roomName == null) {
|
|
64
|
-
clearInterval(recordTimerInterval);
|
|
65
|
-
updateRecordTimerInterval(null);
|
|
66
|
-
isTimerRunning = false;
|
|
67
|
-
updateIsTimerRunning(isTimerRunning);
|
|
68
|
-
canPauseResume = false;
|
|
69
|
-
updateCanPauseResume(canPauseResume);
|
|
70
|
-
}
|
|
71
|
-
}, 1000);
|
|
72
|
-
updateRecordTimerInterval(recordTimerInterval);
|
|
73
|
-
isTimerRunning = true;
|
|
74
|
-
updateIsTimerRunning(isTimerRunning);
|
|
75
|
-
canPauseResume = false; // Disable pause/resume actions initially
|
|
76
|
-
updateCanPauseResume(canPauseResume);
|
|
77
|
-
setTimeout(enablePauseResume, recordChangeSeconds); // Enable pause/resume actions after specified time
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordStartTimer, deps: [{ token: i1.RecordUpdateTimer }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
81
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordStartTimer, providedIn: 'root' });
|
|
82
|
-
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordStartTimer, decorators: [{
|
|
84
|
-
type: Injectable,
|
|
85
|
-
args: [{
|
|
86
|
-
providedIn: 'root',
|
|
87
|
-
}]
|
|
88
|
-
}], ctorParameters: () => [{ type: i1.RecordUpdateTimer }] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLXN0YXJ0LXRpbWVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9yZWNvcmRpbmctbWV0aG9kcy9yZWNvcmQtc3RhcnQtdGltZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFnQzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDUDtJQUFwQixZQUFvQix3QkFBMkM7UUFBM0MsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUFtQjtJQUFHLENBQUM7SUFFbkU7Ozs7T0FJRztJQUNIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFFSCxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQXVCLEVBQWlCLEVBQUU7UUFDOUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQ3pDLFVBQVUsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBRW5DLElBQUksRUFDRixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxjQUFjLEVBQ2QsbUJBQW1CLEVBRW5CLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLG9CQUFvQixHQUNyQixHQUFHLFVBQVUsQ0FBQztRQUVmOztXQUVHO1FBQ0gsU0FBUyxpQkFBaUI7WUFDeEIsY0FBYyxHQUFHLElBQUksQ0FBQztZQUN0QixvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLGVBQWUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsNEJBQTRCO1lBQ3BFLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3ZDLG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3JDLG9EQUFvRDtnQkFDcEQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDO29CQUM5QyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsaUJBQWlCO29CQUMvQyxlQUFlLEVBQUUsZUFBZTtvQkFDaEMsdUJBQXVCLEVBQUUsVUFBVSxDQUFDLHVCQUF1QjtvQkFDM0QsMkJBQTJCLEVBQUUsVUFBVSxDQUFDLDJCQUEyQjtpQkFDcEUsQ0FBQyxDQUFDO2dCQUVILFVBQVUsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO2dCQUVuQyw0RUFBNEU7Z0JBQzVFLElBQ0UsVUFBVSxDQUFDLFlBQVk7b0JBQ3ZCLFVBQVUsQ0FBQyxhQUFhO29CQUN4QixVQUFVLENBQUMsUUFBUSxJQUFJLEVBQUU7b0JBQ3pCLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUMzQixDQUFDO29CQUNELGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO29CQUNuQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDaEMsY0FBYyxHQUFHLEtBQUssQ0FBQztvQkFDdkIsb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQ3JDLGNBQWMsR0FBRyxLQUFLLENBQUM7b0JBQ3ZCLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUN2QyxDQUFDO1lBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ1QseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMvQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3JDLGNBQWMsR0FBRyxLQUFLLENBQUMsQ0FBQyx5Q0FBeUM7WUFDakUsb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDckMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxtREFBbUQ7UUFDekcsQ0FBQztJQUNILENBQUMsQ0FBQzt1R0E1RlMsZ0JBQWdCOzJHQUFoQixnQkFBZ0IsY0FGZixNQUFNOzsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVjb3JkVXBkYXRlVGltZXIgfSBmcm9tICcuL3JlY29yZC11cGRhdGUtdGltZXIuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkU3RhcnRUaW1lclBhcmFtZXRlcnMge1xuICByZWNvcmRTdGFydFRpbWU6IG51bWJlcjtcbiAgcmVjb3JkVGltZXJJbnRlcnZhbD86IE5vZGVKUy5UaW1lb3V0IHwgbnVsbDtcbiAgaXNUaW1lclJ1bm5pbmc6IGJvb2xlYW47XG4gIGNhblBhdXNlUmVzdW1lOiBib29sZWFuO1xuICByZWNvcmRDaGFuZ2VTZWNvbmRzOiBudW1iZXI7XG4gIHJlY29yZFBhdXNlZDogYm9vbGVhbjtcbiAgcmVjb3JkU3RvcHBlZDogYm9vbGVhbjtcbiAgcm9vbU5hbWU6IHN0cmluZyB8IG51bGw7XG4gIHVwZGF0ZVJlY29yZFN0YXJ0VGltZTogKHRpbWU6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkVGltZXJJbnRlcnZhbDogKGludGVydmFsOiBOb2RlSlMuVGltZW91dCB8IG51bGwpID0+IHZvaWQ7XG4gIHVwZGF0ZUlzVGltZXJSdW5uaW5nOiAoaXNSdW5uaW5nOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVDYW5QYXVzZVJlc3VtZTogKGNhblBhdXNlOiBib29sZWFuKSA9PiB2b2lkO1xuXG4gIC8vIE1lZGlhc2Z1IGZ1bmN0aW9uc1xuICBnZXRVcGRhdGVkQWxsUGFyYW1zOiAoKSA9PiBSZWNvcmRTdGFydFRpbWVyUGFyYW1ldGVycztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29yZFN0YXJ0VGltZXJPcHRpb25zIHtcbiAgcGFyYW1ldGVyczogUmVjb3JkU3RhcnRUaW1lclBhcmFtZXRlcnM7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIFJlY29yZFN0YXJ0VGltZXJUeXBlID0gKG9wdGlvbnM6IFJlY29yZFN0YXJ0VGltZXJPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmVjb3JkU3RhcnRUaW1lciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgUmVjb3JkVXBkYXRlVGltZXJTZXJ2aWNlOiBSZWNvcmRVcGRhdGVUaW1lcikge31cblxuICAvKipcbiAgICogU3RhcnRzIHRoZSByZWNvcmRpbmcgdGltZXIuXG4gICAqIEBmdW5jdGlvblxuICAgKiBAcGFyYW0ge1JlY29yZFN0YXJ0VGltZXJPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgb2JqZWN0IGNvbnRhaW5pbmcgbmVjZXNzYXJ5IHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuICAgKi9cbiAgLyoqXG4gICAqIFN0YXJ0cyBhIHJlY29yZGluZyB0aW1lciBhbmQgbWFuYWdlcyBpdHMgc3RhdGUuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVjb3JkU3RhcnRUaW1lck9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3Igc3RhcnRpbmcgdGhlIHJlY29yZGluZyB0aW1lci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmdldFVwZGF0ZWRBbGxQYXJhbXMgLSBGdW5jdGlvbiB0byBnZXQgdXBkYXRlZCBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlY29yZFN0YXJ0VGltZSAtIFRoZSBzdGFydCB0aW1lIG9mIHRoZSByZWNvcmRpbmcuXG4gICAqIEBwYXJhbSB7bnVtYmVyIHwgbnVsbH0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlY29yZFRpbWVySW50ZXJ2YWwgLSBUaGUgaW50ZXJ2YWwgSUQgZm9yIHRoZSByZWNvcmRpbmcgdGltZXIuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmlzVGltZXJSdW5uaW5nIC0gRmxhZyBpbmRpY2F0aW5nIGlmIHRoZSB0aW1lciBpcyBydW5uaW5nLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5jYW5QYXVzZVJlc3VtZSAtIEZsYWcgaW5kaWNhdGluZyBpZiBwYXVzZS9yZXN1bWUgYWN0aW9ucyBhcmUgZW5hYmxlZC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IG9wdGlvbnMucGFyYW1ldGVycy5yZWNvcmRDaGFuZ2VTZWNvbmRzIC0gVGhlIHRpbWUgYWZ0ZXIgd2hpY2ggcGF1c2UvcmVzdW1lIGFjdGlvbnMgYXJlIGVuYWJsZWQuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRTdGFydFRpbWUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHJlY29yZGluZyBzdGFydCB0aW1lLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkVGltZXJJbnRlcnZhbCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgcmVjb3JkaW5nIHRpbWVyIGludGVydmFsLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlSXNUaW1lclJ1bm5pbmcgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHRpbWVyIHJ1bm5pbmcgc3RhdGUuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVDYW5QYXVzZVJlc3VtZSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgcGF1c2UvcmVzdW1lIHN0YXRlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgdGltZXIgaXMgc3RhcnRlZC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgcmVjb3JkaW5nIHN0YXJ0IHRpbWUgYW5kIHNldHMgdXAgYW4gaW50ZXJ2YWwgdG8gdXBkYXRlIHRoZSB0aW1lciBldmVyeSBzZWNvbmQuXG4gICAqIEl0IGFsc28gbWFuYWdlcyB0aGUgc3RhdGUgb2YgdGhlIHRpbWVyLCBpbmNsdWRpbmcgZW5hYmxpbmcgYW5kIGRpc2FibGluZyBwYXVzZS9yZXN1bWUgYWN0aW9ucy5cbiAgICogVGhlIHRpbWVyIGlzIHN0b3BwZWQgaWYgdGhlIHJlY29yZGluZyBpcyBwYXVzZWQsIHN0b3BwZWQsIG9yIGlmIHRoZSByb29tIG5hbWUgaXMgaW52YWxpZC5cbiAgICovXG5cbiAgcmVjb3JkU3RhcnRUaW1lciA9IGFzeW5jICh7IHBhcmFtZXRlcnMgfTogeyBwYXJhbWV0ZXJzOiBhbnkgfSk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGxldCB7IGdldFVwZGF0ZWRBbGxQYXJhbXMgfSA9IHBhcmFtZXRlcnM7XG4gICAgcGFyYW1ldGVycyA9IGdldFVwZGF0ZWRBbGxQYXJhbXMoKTtcblxuICAgIGxldCB7XG4gICAgICByZWNvcmRTdGFydFRpbWUsXG4gICAgICByZWNvcmRUaW1lckludGVydmFsLFxuICAgICAgaXNUaW1lclJ1bm5pbmcsXG4gICAgICBjYW5QYXVzZVJlc3VtZSxcbiAgICAgIHJlY29yZENoYW5nZVNlY29uZHMsXG5cbiAgICAgIHVwZGF0ZVJlY29yZFN0YXJ0VGltZSxcbiAgICAgIHVwZGF0ZVJlY29yZFRpbWVySW50ZXJ2YWwsXG4gICAgICB1cGRhdGVJc1RpbWVyUnVubmluZyxcbiAgICAgIHVwZGF0ZUNhblBhdXNlUmVzdW1lLFxuICAgIH0gPSBwYXJhbWV0ZXJzO1xuXG4gICAgLyoqXG4gICAgICogVXRpbGl0eSBmdW5jdGlvbiB0byBlbmFibGUgcGF1c2UvcmVzdW1lIGFjdGlvbnMgYWZ0ZXIgYSBzcGVjaWZpZWQgdGltZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBlbmFibGVQYXVzZVJlc3VtZSgpIHtcbiAgICAgIGNhblBhdXNlUmVzdW1lID0gdHJ1ZTtcbiAgICAgIHVwZGF0ZUNhblBhdXNlUmVzdW1lKGNhblBhdXNlUmVzdW1lKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzVGltZXJSdW5uaW5nKSB7XG4gICAgICByZWNvcmRTdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsgLy8gR2V0IHRoZSBjdXJyZW50IHRpbWVzdGFtcFxuICAgICAgdXBkYXRlUmVjb3JkU3RhcnRUaW1lKHJlY29yZFN0YXJ0VGltZSk7XG4gICAgICByZWNvcmRUaW1lckludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAvLyBVcGRhdGUgdGhlIHRpbWVyIGV2ZXJ5IHNlY29uZCAoMTAwMCBtaWxsaXNlY29uZHMpXG4gICAgICAgIHRoaXMuUmVjb3JkVXBkYXRlVGltZXJTZXJ2aWNlLnJlY29yZFVwZGF0ZVRpbWVyKHtcbiAgICAgICAgICByZWNvcmRFbGFwc2VkVGltZTogcGFyYW1ldGVycy5yZWNvcmRFbGFwc2VkVGltZSxcbiAgICAgICAgICByZWNvcmRTdGFydFRpbWU6IHJlY29yZFN0YXJ0VGltZSxcbiAgICAgICAgICB1cGRhdGVSZWNvcmRFbGFwc2VkVGltZTogcGFyYW1ldGVycy51cGRhdGVSZWNvcmRFbGFwc2VkVGltZSxcbiAgICAgICAgICB1cGRhdGVSZWNvcmRpbmdQcm9ncmVzc1RpbWU6IHBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nUHJvZ3Jlc3NUaW1lLFxuICAgICAgICB9KTtcblxuICAgICAgICBwYXJhbWV0ZXJzID0gZ2V0VXBkYXRlZEFsbFBhcmFtcygpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHJlY29yZGluZyBpcyBwYXVzZWQgb3Igc3RvcHBlZCwgYW5kIGNsb3NlIHRoZSBpbnRlcnZhbCBpZiBuZWVkZWRcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHBhcmFtZXRlcnMucmVjb3JkUGF1c2VkIHx8XG4gICAgICAgICAgcGFyYW1ldGVycy5yZWNvcmRTdG9wcGVkIHx8XG4gICAgICAgICAgcGFyYW1ldGVycy5yb29tTmFtZSA9PSAnJyB8fFxuICAgICAgICAgIHBhcmFtZXRlcnMucm9vbU5hbWUgPT0gbnVsbFxuICAgICAgICApIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKHJlY29yZFRpbWVySW50ZXJ2YWwpO1xuICAgICAgICAgIHVwZGF0ZVJlY29yZFRpbWVySW50ZXJ2YWwobnVsbCk7XG4gICAgICAgICAgaXNUaW1lclJ1bm5pbmcgPSBmYWxzZTtcbiAgICAgICAgICB1cGRhdGVJc1RpbWVyUnVubmluZyhpc1RpbWVyUnVubmluZyk7XG4gICAgICAgICAgY2FuUGF1c2VSZXN1bWUgPSBmYWxzZTtcbiAgICAgICAgICB1cGRhdGVDYW5QYXVzZVJlc3VtZShjYW5QYXVzZVJlc3VtZSk7XG4gICAgICAgIH1cbiAgICAgIH0sIDEwMDApO1xuICAgICAgdXBkYXRlUmVjb3JkVGltZXJJbnRlcnZhbChyZWNvcmRUaW1lckludGVydmFsKTtcbiAgICAgIGlzVGltZXJSdW5uaW5nID0gdHJ1ZTtcbiAgICAgIHVwZGF0ZUlzVGltZXJSdW5uaW5nKGlzVGltZXJSdW5uaW5nKTtcbiAgICAgIGNhblBhdXNlUmVzdW1lID0gZmFsc2U7IC8vIERpc2FibGUgcGF1c2UvcmVzdW1lIGFjdGlvbnMgaW5pdGlhbGx5XG4gICAgICB1cGRhdGVDYW5QYXVzZVJlc3VtZShjYW5QYXVzZVJlc3VtZSk7XG4gICAgICBzZXRUaW1lb3V0KGVuYWJsZVBhdXNlUmVzdW1lLCByZWNvcmRDaGFuZ2VTZWNvbmRzKTsgLy8gRW5hYmxlIHBhdXNlL3Jlc3VtZSBhY3Rpb25zIGFmdGVyIHNwZWNpZmllZCB0aW1lXG4gICAgfVxuICB9O1xufVxuIl19
|