Commit Graph

1491 Commits

Author SHA1 Message Date
Jackson Howe 9057b4a765 Don't load planner again when switching students
When an observer switches students on the classic dashboard, we let
the planner know by calling `reloadPlannerForObserver` (from
DashboardHeader.js). The planner handles saving the new state
internally and makes requests to get new data. We don't need to call
`loadPlannerDashboard` after a switch (unless it hasn't been loaded
yet) since this will cause duplicate requests; in this case, the
first request didn't yet contain the correct context code data for the
selected student and was resulting in 401s.

Additionally, clear the loading state when resetting for a new observee;
this could contain bookmarks to fetch more items that are only
applicable to the previous observee.

closes LS-3213
flag = observer_picker

Test plan:
 - Enable observer_picker flag
 - Visit dashboard (planner view) as an observer with at least 2
   students, each of which is enrolled in different courses
 - Switch from one student to another in the picker
 - Expect everything to load smoothly
 - Make sure the planner still works for students in classic and k5
   mode

Change-Id: I0e1c7fe0213558863b357be5f0f47c38fad9bf83
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/293565
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2022-06-10 15:32:51 +00:00
Ahmad Amireh 0301bb58aa remove canvas's i18n clone in RCE
refs FOO-2801
flag = none

the code has since been ported to use format-message and the only
straggler was the natcompare module, which really only needed the active
locale, which is now exposed to it by the entrypoint

~ test plan ~

the file browser in the RCE continues to work

Change-Id: Iaf6fc588fe86117f9cc63701f70992987be547ba
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/293551
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2022-06-09 17:08:16 +00:00
Juan Chavez 124cb126c4 IM: Add zoom numeric input in cropper modal
fixes MAT-829

flag=buttons_and_icons_root_account
flag=buttons_and_icons_cropper

test plan:
- Navigate to a RCE instance.
- Open Icon Maker.
- Select a Course Image.
- Click Crop button.
> Verify that the preview can zoom with:
  - Clicking zoom in/out buttons (should keep working).
  - Using keyboard up/down arrows for +/-1º.
  - Changing the text using valid values like: 150, 150.0% or 150%
    (need to blur the input or wait a second after debounce).
    > Verify that adding an empty text or a word should show
       an error message.
      > Using a Screen Reader, verify that it reads out the
        error message.
    > Using a Screen Reader, verify that it reads out the
      formatted value.
- Click Save button
> Verify that the cropped image has the same zoom as shown in
the preview.

Change-Id: Iba33917fcbd0b57ce772cda97074013aa14bfe95
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/293155
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-06-07 21:26:27 +00:00
Ethan Knapp 947fc1b84a add 'extended' late_policy_status
flag=extended_submission_state
[fsc-max-nodes=15]
[fsc-timeout=45]

refs PFS-19811

Change-Id: Ia151a868913e6cd1d3998e0602595509b45b16d9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290850
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Petra Ashment <pashment@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
2022-05-31 16:58:35 +00:00
Joe Hernandez 048ec4a757 Detect if Icon Maker tray has unsaved changes
If IM tray has unsaved changes and user closes tray, provide
a browser prompt about unsaved changes being lost if not saved

fixes MAT-727
flag=none

Test plan:
- For test plan below, when instructed to "close the tray" use
both options in the tray. They should behave consistently.
1. The close button in the top right of the tray
2. The "Cancel" button at the bottom of the tray
CREATING A NEW ICON
- Go to a resource with an RCE (e.g. Page Edit)
- Open the Icon Maker tray in Create mode
- Make a change to one of the options then close the tray
* VERIFY: you get the browser confirm dialog box
- Click on the "Cancel" option in the dialog
* VERIFY: the Icon Maker tray remains open
- Close the tray again, this time selecting "OK" in the
browser confirm dialog
* VERIFY: Icon Maker tray does close with when "OK" is selected
- Repeat this process for various options within the IM tray
EDITING AN EXISTING ICON
- Add an existing icon into the RCE
- Select the option to edit the existing icon
- Repeat the steps above, verifying the same things again
NO CHANGES
- Open Icon Maker tray in Create mode
- Close the tray without making any changes
* VERIFY: the Icon Maker tray closes without the "confirm" dialog
- Open Icon Maker tray in Edit mode (edit existing icon)
- Close the tray without making any changes
* VERIFY: the Icon Maker tray closes without the "confirm" dialog

Change-Id: I9d607b1f1d4f664689f51f3227ec6bbb8c0dee0c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/292723
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-05-27 17:59:11 +00:00
Gonzalo Penaranda be867a400a Set 'below' as default TextPosition in IM
fixes MAT-879
flag=none

Test Plan:
- Open an RCE instance
- Go to Icon Maker > Create Icon Maker icon
- Check the TextPosition dropdown input.
'Below' is now selected as default

** ADDITIONAL INFO **

- This fix can be directly verified when creating
a new icon, making sure an icon text is specified.
In case of editing, it would depend on if an icon
text was specified in the first place and, if the
text position selected is different that 'below',
that option is expected to be marked in the dropdown
- The options in the Text Position dropdown keep
their original order due to relevance

Change-Id: I034ac546c58b62561d58d56cde31c3e15e059286
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/292552
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-05-26 15:47:10 +00:00
Spencer Olson 43e6393a7a add media comments to message students who
closes EVAL-2185
flag=message_observers_of_students_who

Test Plan:
1. Enable the Site Admin Flag "Message Observers of Students Who..."
2. In Gradebook, verify you can now add media comments when using
   "Message Students Who...". Things to check:
   - You can capture video/audio, or upload an existing video/audio
     file.
   - You can add caption files along with your video, and they show up
     as expected when playing the video.
   - After a media file is attached, a playable preview of the video
     shows up under the message. The video can be set to full-screen.
   - If a custom name is provided for an uploaded media file, that name
     is shown under the media preview (and not the original file name).
   - After actually sending the message, verify in Canvas Inbox as a
     student that the received message includes the media file.

Change-Id: I0dfba779c55ba6dbe88c100f3b45f5715038e3d6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/291759
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
2022-05-24 20:48:11 +00:00
Gonzalo Penaranda abac155aa5 Unify constants in single file for IM
fixes MAT-766
flag=none

Test Plan:
- All tests should pass
- Jenkins should pass
- Essentially, Canvas should work as it
normally does

** ADDITIONAL INFO **

- Some additional changes and values
can be considered for constants in
the main constants file

Change-Id: Iab2291dd6ef5f3886b778564547f4fa3981688fa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/292336
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-05-24 16:22:14 +00:00
Juan Chavez 455e9b6547 Fix backward compatibility for single-color icons
fixes MAT-861

flag=buttons_and_icons_root_account

prerequisites:
- Its needed to have an old SVG Icon Maker icon that
uses the old metadata scructure.
In case you don't have any ask for it to Juan,
Jake or #mat-icon-maker channel.
- This icon needs to be embed in an RCE content.
- You can inject the SVG code via DB, via RCS or
injecting it while debugging via browser dev tools
before saving an IM icon.

test plan:
- Navigate to a RCE instance.
- Select the icon and click Edit.
> Verify that the Tray is opened and load the icon data
correctly. It should show the icon, label and its color loaded.
> Verify that no error console logs are shown (There could
be some warnings not related to the changes).
- Select a different icon color.
- Click Save
> Verify that the updated icon is shown inside RCE.
- Click Edit again.
> Verify that the Tray is opened and load the new icon data
correctly. It should show the icon, label and its color loaded.
> Verify that no error console logs are shown (There could
be some warnings not related to the changes).

Change-Id: I9912f14b3203f03dc075537f89547491c80dd783
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/292228
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-05-23 20:12:11 +00:00
jake.oeding 8e1a54a675 NEE: add separate button for indefinite integral
also have the svg generation script automatically
format the svg.js output file so you don't have to
run a separate command after using the script

fixes MAT-844
flag=new_equation_editor

test plan:
-enable ff and find an RCE
-open the equation editor
>check that you now see a button for definite
 integrals and another for indefinite integrals
>test using the buttons in basic and advanced mode
 and ensure they work

Change-Id: I9d205d760232655753e7195bec6ebfe64bb2c1d7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/292127
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-05-19 18:11:49 +00:00
jake.oeding bcd8ac4343 skip flakey NEE tests
test plan:
-specs pass

Change-Id: I0f4dfd1139286cb405cd4b8b880e30d8ec74a678
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/292132
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Jacob DeWar <jacob.dewar@instructure.com>
2022-05-19 17:34:08 +00:00
jake.oeding 5af5f22604 NEE: block canvas keyboard shortcuts while in use
fixes MAT-819
flag=new_equation_editor

test plan:
-enable the ff
-make sure the discussion redesign flag is NOT enabled
-create a discussion topic
-start a reply. in the RCE, open the equation editor
>type "n"; it should appear in the basic mode editor
 as you would expect

Change-Id: If024570a13199cc3c5729f1170946387df28ec66
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/292055
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-05-18 18:08:04 +00:00
Gonzalo Penaranda bf2a9d226c Change color for SingleImageIcon when editing
fixes MAT-724
flag=none

Test Plan:
 - Open a RCE instance
 - Go to "Icon Maker Icons" and
 select "Create Icon Maker Icon"
 - Create a new icon with any
 shape, color and outline you wish,
 but make sure to select "Single Image Icon"
 on Image. Select any.
 - Click on "Apply" and check the
 new icon being embedded on the RCE
 - Click on the icon to select it and,
 then, click on "Edit" tooltip
 - The data loaded for the icon now
 includes the color picker selector
 for the Single Image Icon. Pick a new
 color and save changes
 - The new color is applied

** IMPORTANT INFO **

- Most part of the fixes made here were
covered on the following ticket: g/290464.
Metadata are required for this to work.

Change-Id: Ic253a341cce2c6ade78aae9fb23038fd68f37b60
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/291493
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
2022-05-18 01:52:57 +00:00
jake.oeding 68ed9fa5e9 stop requesting media access after modal close
prevents issue in a2 student workflow media submission
where camera access is retriggered for a momemnt after
closing the record modal

fixes MAT-781
flag=assignments_2_student

test plan:
-enable the ff
-create an assignment that allows for media submissions
-publish the assignment and then masquerade as a student
 and start a submission for the assignment
-click on the record media button
>close the modal after it opens and observe the camera
 light does not flicker back on after modal close

Change-Id: Ife02c0b3dccdf6b4a63669f4ffde2f154b1e01c3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/291755
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-05-16 22:19:54 +00:00
jake.oeding ef803c51b2 NEE: add vector button
also update svg generation script to account
for recent changes in babel config

closes MAT-871
flag=new_equation_editor

test plan:
-enable ff and find an RCE
-launch equation editor
>ensure there is a new button for vectors
 on the basic tab
-try inserting a vector
>ensure the result looks something like the
 image here in both basic and advanced modes:
 https://latex.codecogs.com/gif.latex?\vec{v}
>insert the equation and ensure it renders
 properly on the page

Change-Id: Id8ead7bdf270bb3cd0ad56dfdba21cf020def194
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/291615
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
2022-05-13 16:02:10 +00:00
Gonzalo Penaranda 9e757e7841 Keep width and height for video answers in quizzes
fixes MAT-639
flag=none

Test Plan:
 - Create a course if you haven't created
 one before
 - Create a new quiz and specify questions
 with these types: Multiple choice and
 Multiple answers. You can add as many
 as you please, in the order you want,
 but it is important for the questions
 to have, at least, 2 answers each one
 - When creating the answers, click on
 'Record/Upload Media' and upload a video
 - Once video is fully uploaded, save the
 changes in the answers for the questions
 and save the quiz.

 From here, you can do the following:
 - Edit the quiz questions and answers:
 the video previews load keeping width
 and height
 - Preview the quiz as a teacher
 - Take the quiz as a student: this
 requires having the course and desired
 quizzes published, as well as, at least,
 one student created and subscribed to
 the course

 Whatever the case is, the width and height
 of the videos in the answers is being kept,
 solving the initial problem

Change-Id: Ia7de087c2294345f9be8e215beb23ed9d8a16aa4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290661
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
2022-05-10 20:36:00 +00:00
Joe Hernandez 626c31ff29 Rename buttons and icons to icon maker
Almost all changes affect Javascript files
Includes two small changes to RSpec files

refs MAT-763
flag=none

Test plan
- SETUP
  -- Get the corresponding code changes from the canvas-rce-api repo
    --- g/289717
    --- run a local instance of the RCS with these code changes
  -- Get these code changes
    --- these changes cover rails and Javascript changes in canvas-lms
- TESTING
  -- Navigate to a resource with the RCE (e.g. Pages)
  -- Create several different icons using Icon Maker
    --- use different options for each: shapes, sizes, text, images, etc
    --- Verify save works with each combination
  -- Edit one or more of the newly created icons
    --- Verify clicking "Save" persists your changes
  -- Navigate to another resource with the RCE (e.g. Assignments)
  -- Use "Saved Icon Maker Icons" to insert one or more existing icons
     --- Verify existing icon added to RCE
  -- Edit the exising icon
     --- Select "Apply changes to all instances ..." then "Save"
     --- Verify changes were saved here
  -- Navigate back to where icon was originally created
    --- Verify edit changes above are present here too

Change-Id: I738395a9193df889f06615a366fad67264f265aa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289836
Tested-by: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
2022-05-02 14:10:05 +00:00
Joe Hernandez 8a2d64d592 Rename in Javascript code
Anything with "buttons%and%icons" to "icon%maker"
Included two small rename changes to RSpec files

refs MAT-763
flag=none

Test plan
- NONE for this commit
- g/289836 will be the final commit for this ticket and will
contain the test plan

Change-Id: I867a614de4a33d64eb71083dc297768deb46854c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289720
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-05-02 14:08:14 +00:00
jake.oeding 9cbd1c4ec1 NEE: stop \Sigma forcing advanced mode
fixes MAT-859
flag=new_equation_editor

test plan:
-enable ff and find an RCE
-launch the equation editor
-click the uppercase sigma button (Σ) on the 'Greek' tab
>ensure that it doesn't force you into the
 advanced mode and that you can toggle freely
 between basic and advanced modes

Change-Id: I8a9185385903f19f5235730165d2751440fc19cd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290812
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-29 16:12:24 +00:00
Juan Chavez acd43d3152 IM: Save and load image cropper metadata
closes MAT-433

flag=buttons_and_icons_cropper

test plan:
- Navigate to a RCE instance.
- Open Icon Maker.
- Select a Course Image.
- Click Crop button.
- Modify image in modal (shape, rotation and/or image).
- Click Submit on modal.
- Save Icon.
- Wait until icon is added to RCE.
- Click Edit in pop-up menu.
> Verify that the cropped image is loaded in
image section.
- Click Crop button.
> Verify that all old image crop settings were saved.

Change-Id: I62cc3559c90ad822037949e812adf7a6337f62b0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290464
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-04-28 16:56:02 +00:00
Jon Scheiding e46a3ddf01 Bump RCE version for publish
flag=none
test plan=none

Change-Id: I2602fded64a620e77438069cc506ff90f73671b3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290586
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-04-28 13:13:13 +00:00
Jon Scheiding 72376f58c4 RCE: Fix some broken tests
flag=none
test plan:
 - Tests pass in Jenkins
 - Tests pass locally

Change-Id: I321da700485dbaad0e4fc7d6db211df9a7397020
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290585
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-04-28 13:12:59 +00:00
jake.oeding 00d1048fbb NEE: remember user's last mode choice
if user toggles to advanced mode, reopen the
new equation editor in advanced mode. if user
toggles to basic mode, reopen the new equation
editor in basic mode

closes MAT-842
flag=new_equation_editor

test plan:
-enable ff and find an RCE
-open your browser tools and keep an eye on
 the session storage
-open the equation editor and toggle from basic
 mode to advanced mode
>observe a key is added to session storage that
 indicates the NEE should reopen in advanced mode
>close the editor, reopen, and observe it jumps
 right to the advanced mode
>toggle back to basic, observe the key is removed
 from session storage
>close the editor, reopen, observe it opens in
 basic mode
-toggle to advanced mode, close the editor, and
 navigate to a completely different page with
 an RCE
>open the equation editor again and observe it
 jumps right to the advanced mode

Change-Id: If9515171d0697596fb6577a48e1f0df7f550ca40
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290425
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-04-27 19:08:37 +00:00
Jonathan Guardado 8c271744db Add error to reducer when To Do request fails
This PS adds the request error to the SIDEBAR_ITEMS_LOADING_FAILED
action, so we can present the error in the To Do list to let the user
know, something went wrong.

closes: LS-2998
flag= none

Test plan:

- In the classic canvas, go to the dashboard
- In the file, packages/canvas-planner/src/actions/sidebar-actions.js
change the planner items API URL in line 113 to generate a request
error
- Expect to see a flash alert for the To Do request and the 404 error
in the To Do sidebar

Change-Id: I9d83abe8cd47b4b51ff323f8d57c06246a88cb89
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290188
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
2022-04-27 18:43:26 +00:00
Juan Chavez ca5e7e65b6 IM: Scroll when selecting SingleColor/MultiColor/Course mode
fixes MAT-837

flag=buttons_and_icons_root_account

test plan:
- Navigate to RCE intance
- Open Icon Maker
- Scroll to Image Section
- Select Single Color/MultiColor/Course option
> Verify that pane scroll to show the respective images

Change-Id: I91ddf18e3c77abeba7832825cf387c9b4382fc85
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290101
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2022-04-26 16:51:21 +00:00
jake.oeding d0133b8e16 ensure all MediaPanel tests are run
remove accidental .only so the full test
suite is run

test plan:
-specs pass

Change-Id: Id1f61d200856ccda691947610a9ba0382a967751
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290279
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
2022-04-25 21:03:55 +00:00
jake.oeding 3918f19335 IM: disallow none option in certain color fields
stops letting users select none for the outline and
text colors in icon maker. updates the defaults
accordingly. removes unnecessary conditions from
icon validation logic

closes MAT-821
flag=buttons_and_icons_root_account

test plan:
-enable ff and find an RCE
-create a new IM icon
>observe that in the tray, the default outline size
 is now 'none' and the default outline color is black
>check that the text color and outline color pickers
 do not have a 'none' option
>check that the icon color and text background color
 pickers do have a 'none' option
-create an icon and make sure you can still insert
 without issue
-double check icon validation still works (it must have
 a background color, an image, text, or an outline)

Change-Id: Ib6289bee5c3b9ddc9afe05cd14bd7aad8c2802c7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290184
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-04-22 16:13:48 +00:00
jake.oeding bba3ef8818 NEE: add common name labels for symbols
add a common name label for screenreaders to
read for each button on the equation editor

closes MAT-831
flag=new_equation_editor

test plan:
-enable ff and find an RCE
-turn on voice over
-launch equation editor and tab through each
 button on each tab
>ensure each has a friendly name label that is
 read prior to the latex that the button inserts

Change-Id: Ib1883797a5728648e00fe8d93cccc5d2d4b4002c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289982
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-04-20 21:11:37 +00:00
Juan Chavez ff67c53eb6 IM: Generate rotated image via modal
closes MAT-429

flag=buttons_and_icons_cropper

test plan:
- Navigate to a RCE instance.
- Open Icon Maker.
- Select a Course Image.
- Click Crop button.
- Select a shape.
> Verify that the preview can rotate with:
  - Clicking right/left rotation buttons for +/-90º.
  - Using keyboard up/down arrows for +/-1º.
  - Changing the text using valid values like: 15, 15.0 or 15º
    (need to blur the input or wait a second after debounce).
    > Verify that adding an empty text or a word should show
       an error message.
      > Using a Screen Reader, verify that it reads out the
        error message.
    > Using a Screen Reader, verify that it reads out the
      formatted value.
- Click Save
> Verify that the expected cropped image with
the respective rotation is replaced in image preview
and icon preview.
> Verify this trying different rotation degrees.

Note: Verify that zoom is still working combined with rotation.

Change-Id: I0e8f28a6e64fc66ff3e66cf62f2ae7f9ea18c36f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289654
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-04-19 18:47:57 +00:00
jake.oeding affdc509f1 IM: swap fields and update labels
closes MAT-822
flag=buttons_and_icons_root_account

test plan:
-enable ff, find an RCE
-open the IM tray
>validate the field labels are updated
 and fields are swapped
-insert an icon
>edit said icon and again ensure the
 fields have the updated labels and are
 swapped

Change-Id: I68231fae3269aeaa77c63ae0ecb7132ff9e0fa74
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289762
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-04-19 15:13:06 +00:00
jake.oeding 1a43678ef0 NEE: enable MathJax rendering in modal on quizzes
this prevents an issue where MathJax doesn't run
on the advanced preview in the new equation editor
in classic quizzes due to the lack of usage of
new math handling

fixes MAT-825
flag=new_equation_editor

TEST PLAN:
1. Pre-reqs
  -enable the feature flag
  -create a classic quiz and add a question
2. Setup
  -add formulas to the question using the equation
   editor using the advanced edit mode
  -observe that mathjax correctly renders the preview
   of whatever equation you enter
3. Verify no regressions
  -insert the equation into the RCE, save the question,
   save the quiz
  -preview the quiz and make sure the equation you
   entered looks correct
  -edit the quiz, edit the equation, save again and make
   sure everything still looks correct
  -masquerade as a student and take the quiz, again make
   sure everything still looks right
  -test that you can add equations in pages, assignments,
   and discussions without any issue

Change-Id: I9c2778195c7057147abfa917445063f7cbee37fc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289552
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-14 17:32:20 +00:00
Jackson Howe b625f47e09 Ensure course list ready before loading missing items
A race condition where getInitialOpportunities() was called before
getPlannerItems finished loading getCourseList() resulted in 401s
because requests to the missing_submissions endpoint contained an
observed_user_id but no course_ids. This race condition occurred
randomly and infrequently. To prevent this from happening, only call
getInitialOpportunities() once getPlannerItems() is finished (and has
loaded the course list).

closes LS-3069
flag = observer_picker

Test plan:
 - As an observer, visit the planner dashboard (classic canvas) and
   select one of the observed students in the list
 - Click 'Dashboard' in the global nav over and over; expect the items
   and opportunities (missing assignments) to load successfully every
   time without raising errors (the race condition typically occurred
   within 30-40 attempts)

Change-Id: I4f5b1d0e299961790cffad930fcac9fc3b8f3b18
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289229
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2022-04-13 16:00:37 +00:00
jake.oeding f3125ee8f8 validate icon before embedding
stop letting people create invisible icons.
ensure they have something visible selected,
and if not, prompt them to do so

closes MAT-652
flag=buttons_and_icons_root_account

test plan:
-enable the ff and find an RCE
-try to insert an IM icon with the default
 settings
>observe that the icon is not embedded in the
 RCE
>observe that an alert appears that informs the
 user that they need to take action to make their
 icon visible
-now select a color for the icon
>observe the error message disappears
-submit the icon again by pressing apply
>observe the icon is embedded in the RCE
-edit the inserted icon by removing the color and
 setting it to 'none'
>try to insert and observe the behavior is in line
 with what is outlined above when creating a new
 icon

Change-Id: Iea8f9219272f5bf8bab36d8e96d625136970155e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288965
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-04-12 18:57:26 +00:00
Juan Chavez 442833f7e8 IM: Generate cropped/zoomed image via modal
closes MAT-174

flag=none

test plan:
- Navigate to a RCE instance
- Open Icon Maker
- Select a Course Image
- Click Crop button
- Select a shape
- Zoom the image if you want (from 1.0x to 2.0x)
- Click Save
> Verify that the expected cropped image with
the respective shape/zoom is replaced in image preview
and icon preview.
> Verify this combining shapes and zoom ratios.

note: For the moment we are not able to recover the
original image (before cropping).

Change-Id: I1100a7f84a73be57000617df5fd72f45404126f3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289264
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-04-12 16:14:44 +00:00
jake.oeding 39be4eaf69 NEE: add support for launching inline displaystyle
closes MAT-817
flag=new_equation_editor

test plan:
-enable ff and find an RCE
-insert some inline latex into the RCE that uses
 displaystayle, i.e. something like "$$\sqrt{x}$$'
-select the inline latex, i.e. highlight it
-launch the equation editor
>ensure that it is preloaded with the latex you
 entered in the RCE
-repeat, but this time don't select the text and
 instead just put your cursor somewhere in the latex
>ensure that the equation editor is preloaded with
 your entered latex
-try the above after adding some spaces between the
 $$ and the actual latex commands
>when the editor launches, the spaces should be removed

Change-Id: I7840d162f4967266f2c3276ace3bc1b91df02232
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289320
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-11 15:09:14 +00:00
Jenkins 52e7309895 [i18n] Update RCE translations.
Change-Id: I374b953a2744abc73d15dfa96adbe46e0e14ecb3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289339
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-09 04:49:58 +00:00
Jenkins 925522f7ff [i18n] Update package translations
Change-Id: I3174d58c1be9016e84691dce9bfd333583c8cb2f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289338
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-09 04:49:42 +00:00
Jenkins b86de54958 [i18n] Update RCE translations.
Change-Id: I0cc8652cc4c0f6e30cb51d633a620235c168082e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289250
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-08 04:49:20 +00:00
Jenkins 161ce9fb50 [i18n] Update package translations
Change-Id: Ibc324022194364d1e1db5c42ff9b9f57acaf2bd4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289249
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-08 04:49:05 +00:00
jake.oeding 03bb1f0b1f fix missing file type icons in tree browser
fixes MAT-739
flag=none

test plan:
-make sure you have uploaded one of each of the
 following file types:
 -image
 -video
 -audio
 -.docx
 -.xlsx
 -.pptx
 -.pdf
 -.rb/.yml/.js/etc. (just outside the other categories)
-go to an rce -> insert course links
-flip the selector from links to files
-click on the folder containing your uploaded files
>ensure the correct icons appear next to the file
 names in the tree; the image should have a small
 thumbnail instead of an icon

Change-Id: I46ddc228320b39763e5b2ab11ffccfbb8135f857
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288881
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-04-07 19:51:57 +00:00
Weston Dransfield f93bbb51fc Add changelog for canvas-rce
Refs MAT-669
flag=none

Test Plan:
New changelog is free of grammer/spelling problems

Change-Id: I727df3479547310d6e3684fa4ab4d81d22790d08
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289063
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2022-04-06 21:15:25 +00:00
Jenkins f9dadf0861 [i18n] Update RCE translations.
Change-Id: I6e3817ae148dd899fec77ddcc3d1d343bdb758f4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288983
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-06 04:51:05 +00:00
Jenkins f3ebf9277a [i18n] Update package translations
Change-Id: I07046223138e5b2e9555d9e79d83803c401d5e43
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288982
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-06 04:50:55 +00:00
Jon Scheiding 19a2a8571f Allow typing while searching for course links
For this to work correctly without race conditions, we need to discard
the results of in-flight searches if somebody types more stuff. We
introduce a "cancel" mechanic for this purpose.

closes MAT-701
flag=none
test plan
- Find an RCE
- Open the links sidebar
- Expand one of the collections, e.g. Assignments
  Make sure your course has enough of that kind of thing so you can
  construct useful search things
- Enter something in the Search textbox
  > Confirm that the results match what you entered
- Change your value in the search textbox
- BEFORE THE SEARCH COMPLETES*, change your value again
  > Confirm that you are actually able to type (the text box should not
    prevent you from entering text while the search is in progress)
  > Confirm that the results match what your latest entry

* This can be tough if your searches are coming back quickly. Consider
  installing something like Requestly (https://requestly.io/) which you
  can use to slow them down.

Change-Id: I465db0461aabb3a03ed05e487fe88df29587ff42
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288708
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-04 22:35:11 +00:00
Jenkins da1dfa15ab [i18n] Update RCE translations.
Change-Id: I0c1b068a1e757c78d8f9d44e64dae38ab38b2ec6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288777
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-02 04:51:01 +00:00
Jenkins 37fe8b3e38 [i18n] Update package translations
Change-Id: I89f2c743c756bc9521929c7e43f8e691fa70a827
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288776
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-02 04:50:53 +00:00
Weston Dransfield dab8674e75 Fix vague error and refactor errors
Closes MAT-810
flag=none

Test Plan:
- Modify Attachment#get_quota (in models/
  attachment.rb) to return the following Hash:
  { quota: 1, quota_used: 1 }

  This is a quick way to make it appear you've
  used all your file storage quota
- In an RCE, attempt to upload a file
- Verify you see an error in an alert describing
  the quota exceeded error

Change-Id: I165516a1721601f9c796d604e838be038f2c7788
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288634
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-04-01 22:24:42 +00:00
Jenkins f64e03abc5 [i18n] Update RCE translations.
Change-Id: Ia402f3f28927b262931d4e3cffca76e7ef85294a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288672
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-01 04:51:30 +00:00
Jenkins 58b5591f68 [i18n] Update package translations
Change-Id: I079a5ec65229630b1ad198d7020d81937e0fd267
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288671
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-01 04:51:22 +00:00
Jonathan Guardado 77ab196b06 Disable mutating UI in student planner observer mode
Options to edit, create and dismiss content were remove from the
planner UI when the user is observing a student

refs: LS-2990
flag= none

Test plan:
- Create an observer user and link it to some students
- As one of the linked students create some events and to-dos
- As the observer, go to the classic canvas planner
- Select the cards view and expect not to see the X icon to
dismiss the items in the To-Do list
- Select the List View and expect not to see the icon to create a
To-do
- Click on the notifications bell icon, and expect not to see the X
to dismiss events
- Look for one of the To-do you created as a student and expect not
to see the edit icon in the planner item row
- Access as a student and expect to see the create, dismiss, and edit
actions as usual

Change-Id: I9258a11a7e6120091dd98bbcbc6f8c21f34909d7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288567
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
2022-03-31 17:41:31 +00:00