From b06cd5aa9642db5288d32560d0e692ec5f6c72c1 Mon Sep 17 00:00:00 2001 From: Derek Williams Date: Tue, 23 Apr 2024 10:45:25 -0400 Subject: [PATCH] remove blocking modal when recording screen share The modal that is used to record screen share media on speed grader submission comments was blocking the page, so you could not interact with the page while the modal was open. This change removes the modal and instead shows an indicator bar. flag=speedgrader_studio_media_capture closes EVAL-4130 test plan: - go to speed grader - click on the media recorder icon - click the start button (this should default to the webcam recoring) - the modal should stay on the page - close the modal and click the media recorder icon again - select screen share this time - click the start button and the modal should disappear and the indicator bar should show at the top of the page - click the 'cancel' button and the indicator bar should disappear - click the media recorder icon again and select screen share - click the start button and the indicator bar should show at the top of the page again - click the 'finish' button and the indicator bar should disappear and the modal should show Change-Id: I20911ae96c0bd9c2ce1519e3958f9b659adc0ec0 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/345967 Reviewed-by: Cameron Ray QA-Review: Cameron Ray Tested-by: Service Cloud Jenkins Product-Review: Melissa Kruger --- app/stylesheets/bundles/common.scss | 1 + .../components/_media_recorder.scss | 18 +++ app/views/gradebooks/speed_grader.html.erb | 1 + .../media-comments/jquery/dialog_manager.jsx | 4 +- ui/shared/media-comments/jquery/index.js | 4 +- .../react/components/MediaRecorder.jsx | 145 +++++++++++++++++- ui/shared/media-recorder/renderRecorder.jsx | 37 ++++- 7 files changed, 201 insertions(+), 9 deletions(-) create mode 100644 app/stylesheets/components/_media_recorder.scss diff --git a/app/stylesheets/bundles/common.scss b/app/stylesheets/bundles/common.scss index d2a7308bfed..bd076a20905 100644 --- a/app/stylesheets/bundles/common.scss +++ b/app/stylesheets/bundles/common.scss @@ -97,3 +97,4 @@ @import 'bundles/context_cards'; @import 'bundles/rce'; @import 'pages/react_files/_FilePreview.scss'; +@import 'components/media_recorder'; diff --git a/app/stylesheets/components/_media_recorder.scss b/app/stylesheets/components/_media_recorder.scss new file mode 100644 index 00000000000..07e6308a0a0 --- /dev/null +++ b/app/stylesheets/components/_media_recorder.scss @@ -0,0 +1,18 @@ +.RecordingBar { + width: 100%; + display: flex; + justify-content: flex-end; + align-items: center; + gap: 0.8625rem; + + &__time { + display: flex; + align-items: center; + gap: 0.5rem; + } + + &__icon { + display: inline-flex; + font-size: 1.125rem; + } + } \ No newline at end of file diff --git a/app/views/gradebooks/speed_grader.html.erb b/app/views/gradebooks/speed_grader.html.erb index 09bb42b3c5c..605338f6157 100644 --- a/app/views/gradebooks/speed_grader.html.erb +++ b/app/views/gradebooks/speed_grader.html.erb @@ -106,6 +106,7 @@