Commit Graph

1491 Commits

Author SHA1 Message Date
Weston Dransfield 5b206f3b82 Use data-download-url for editing B&I
closes MAT-700
flag=buttons_and_icons_root_account

Test Plan:
- Build canvas-rce and Canavs JS bundles
- Naviate to and RCE and open the Buttons &
  Icons tray
- Create a button and icon and embed it in
  the RCE
- Switch to the HTML view of the RCE and validate
  the image has a data-download-url attribute
  with a value that looks like this:
  "http://canvas.docker/files/1578/
    download?download_frd=1"
  Especially note that the attribute value does not
  contain "courses/:id".
- Switch back to the WYSIWYG view of RCE
- Open the saved buttons & icons tray and insert
  a previously created button & icon
- Validate that the button and icon inserted this
  way also has the data-download-url attribute
  with a similar URL
- Save the content on the assignment/page/whatever
- Edit the assignment/page/whatever
- Switch to the HTML view of the RCE
- Note that both images "src" attributes have now
  changed to include the course context
- Validate the "data-download-url" values have not
  changed (meaning they don't have "courses/:id"
  in them like the "src" attribute now does)
- Switch back to the WYSIWYG view of the RCE
- Open the browser's network inspector and/or
  clear the network history in the inspector
- Select one of the buttons and icons and click "edit"
- Verify GET request is made to the URL found in the
  "data-download-url" attribute
- Verify the edit tray opens and is pre-populated with
  the SVGs data
- Verify you can make changes and save them

Change-Id: Ia509999cdc2ad9ffe53f803a84850e1d68a80275
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285540
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
2022-02-23 14:29:22 +00:00
Jon Scheiding 156dcb0811 Revert "Fix equation image resize for quizzes"
This reverts commit 14544ba024.

Reason for revert: This change removes mathjax typesetting, reverting to image equations.

Change-Id: I7d5e7d8357ff94720181dd4e0b08750abb27e7ce
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284105
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-02-19 00:22:21 +00:00
jake.oeding 210efa95a6 add bar and hat buttons to new eq editor
closes MAT-697
flag=new_equation_editor

test plan:
-enable the ff
-open up an RCE
-navigate to equation editor
>notice there are 2 new buttons at the
 end of the 'Basic' tab
>test inserting an equation using the
 new buttons and ensure it works properly

Change-Id: I561922034bb25c3077a69627f1b71558867600ca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285465
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-02-18 21:20:27 +00:00
Jenkins a99a76000b [i18n] Update RCE translations.
Change-Id: Ic4eb02c561afd159a1cfb0f01b3163bc950a337a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285492
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-18 04:51:58 +00:00
Jenkins 2d1023b7f2 [i18n] Update package translations
Change-Id: I52ae849733148ddc205bdd73fd1bf0d5cbea914f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285491
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-18 04:51:51 +00:00
Weston Dransfield a76c7c6bf0 Allow setting custom colors in B&I
It turns out the text input was not disabled
by design. Users should be able to enter custom
colors.

Closes MAT-695
flag=buttons_and_icons_root_account

Test Plan
- Re-build canvas-rce and canvas JS bundles
- Navigate to an RCE and open the buttons and
  icons tray
- Verify you can enter custom colors (as hex)
  in all color inputs.
- Verify those custom colors are reflectedin the preview
  and the final button & icon

Change-Id: I863ef03a632c0b730858e6ef006da1e1c6647ef0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285413
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-02-17 16:27:29 +00:00
jake.oeding f338e69e8f have a11y checker ignore equation images
set attribute on equation images so that
the a11y checker does not falsely flag
them for a11y violations

fixes MAT-610
flag=none

test plan:
-go to a page with an RCE
-insert an equation that uses a number
 with a decimal point
>run the a11y checker and ensure it
 does not flag the equation image for
 an alt text violation

Change-Id: I55685d64b20588156ef458ba03140678f2e38411
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285268
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-02-16 19:38:26 +00:00
Jenkins 5fdc936daf [i18n] Update RCE translations.
Change-Id: Ife35b97d3d5a1805b6bfe3fc3d58946907303dc3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285273
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-16 04:51:40 +00:00
Jenkins 813b119a30 [i18n] Update package translations
Change-Id: I4f8b60020a544c0ba50ee05db2338ed3b98b0232
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285272
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-16 04:51:24 +00:00
Weston Dransfield d247950192 Bump tinymce-a11y-checker to 3.3.4
This new version includes a fix to add consistency
to the header length check

Closes MAT-655
flag=none

Test Plan:
- Run a yarn install in Canvas and re-build JS
  bundles
- Navigate to an RCE and insert a heading with length
  121
- Verify the a11y checker notifies of the error
- Change the heading length to 120
- Verify the a11y checker does not complain about
  the length

Change-Id: I0671fe7357a3bdd9f7fd327f57faaf13fec2cbe8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285220
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-15 19:18:40 +00:00
Charley Kline 3af92969b2 Redo the locale polyfiller using new features from @formatjs
Fixes FOO-2330
flag=none

Canvas supports locales that not all browsers support, so we have
to check for those cases and pull in a polyfilled version of the
Intl functions that we use (DateTimeFormat, NumberFormat, and
RelativeTimeFormat) when a locale is called for that the browser
does not support.

The first time the locale polyfiller was implemented, a lot of
tests had to be done to see if there was an available polyfill for
the given locale; this somehow broke Chrome after Version 92 so it
was disabled for Chrome. However, latest versions of the @formatjs
polyfillers are much smarter and can perform those checks and
fallbacks themselves, which makes the Canvas polyfiller code way
simpler and more stable.

An additional issue was uncovered: when the locale is being polyfilled,
NONE of the native locales can be accessed any more, so code relying on
being able to get at, say, 'en-US' to do date arithmetic was failing.
So when a polyfill loads, we save the browser's version as Native*
(so Intl.DateTimeFormat --> Intl.NativeDateTimeFormat) so it can
be accessed if needed (shouldn't be anywhere except in the ui/shared
datetime support code).

Another issue uncovered is that when a polyfill is necessary, it
seems to take a long time... it can be SECONDS before it is fully
loaded and its Promises resolve, at least in dev. Unfortunately a
lot of front-end code can start up and begin to use Intl functions
during that time, possibly with unpredictable results. The only real
answer is to make the execution of immediate bundles, and the call
to ready() to finish front-end initialization, wait pending the
resolution of the Promise indicating that the locales have loaded.
This is a bit unfortunate as it delays the execution of front-end
code, but will only be noticeable in locales that need polyfilling
because if a native locale is detected, the bundle loading and
call to ready() will happen immediately as before.

This commit does the following:

  - changes the Rails js_env to include LOCALES instead of LOCALE.
    LOCALES is a full list of locale strings in fallback order, so
    that if `sv-SE-x-k12` isn't found, it will try `sv-SE` and
    `sv-x-k12` and `sv` before finally falling back to `en`.
    The front-end startup code backfills ENV.LOCALE to ENV.LOCALES[0]
    for backward compatibility.

  - up-revs @formatjs to a more recent version that implements the
    check if a polyfill is available and leverages the LOCALES list
    to find an available polyfill.

  - Rewrites intl-polyfills to be smarter about detecting when a
    polyfill is necessary and whether it is possible.

  - Makes it easier to add new Intl subsystems to the polyfill code
    should they start getting used in the Canvas code somewhere.

  - Fixes up the helpers that relied upon the 'en-US' locale
    specifically.  They now specifically check for the Native version
    of an Intl subsystem first.

  - Fixes up the changeTimezone helpers in ui/shared/datetime because
    they relied on the `en-US` locale always being available, which
    is not true when the locale has been polyfilled. That was kind of
    sketchy anyway because it relied on new Date() parsing a fairly
    free-form English date and time string; it now constructs an
    ISO8601 string which is much more supported as an argument to
    new Date().

Test plan:
* Try some different locale scenarios and observe the behavior of
  Canvas in that language in general, and also specifically how it
  formats dates and times (this may be faster to do in console).
* Pay particular attention to places where datepickers are used,
  specifically, create a new assignment and fiddle with the due
  dates down near the bottom.
* Locale scenarios to try:
  a native locale like de or es
    -should just work
  a native locale with an extension like sv-x-k12
    -should just work
  a polyfillable locale like cy or nn
    -should work with a console message saying it is polyfilled
  the one non-polyfillable locale: Kreyòl Ayisyen
    -should work via a fallback all the way to 'en' on console

Change-Id: I93a1f2c3f0b3002747f564aba24c93d77244383e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284509
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-15 17:53:56 +00:00
Juan Chavez 1666fe5d23 B&I: Support of single color images
closes MAT-170

flag=buttons_and_icons_root_account

test plan:
- Navigate to a RCE instance
- Click Buttons & Icons button.
- In the tray, navigate to images section
- Click Add Image button
- Select Single Color options
- Select an icon
> Verify that the image thumbnail has
the selected icon with black fill
- On the fill color chooser, select a valid
color (not white or none).  Fe: green
> Verify that the image thumbnail changes
its fill color

Change-Id: I495458c378a133f0dac804d0dd24e562cc4a9a9b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285091
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-02-15 16:26:38 +00:00
Weston Dransfield 1d3809d19c Embed selected image in B&I
closes MAT-676
flag=buttons_and_icons_root_account

Test Plan:
- Enable the listed feature flag ^
- Re-build canvas-rce and Canvas webpack
- Naviage to an RCE and open the create button
  and icons tray
- Set every property using a multi-color image
  for the embedded image
- Verify all options are reflected in the preview
- Create the button to embed it in the RCE
- Verify the options you selected are reflected in
  the image embedded in the RCE
- Click the imagein the RCE and choose "Edit"
- Verify you can edit the button and persist changes.
  Especially test changing the embedded image

Change-Id: I0d4af3eb7f083481bb1d81b71ebf8e8eb12dcad4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284900
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-02-11 21:54:06 +00:00
Weston Dransfield b8c11b1760 Fix visual bug in B&I
flag=buttons_and_icons_root_account

When the tray got turned into a form, the
small padding made it stop taking up the
full-with of the tray.

Test Plan:
- Before pulling down the code, note that
  there is extra padding on the left and
  right edges of the button & icons tray
- Pull down the code and rebuild canvas-rce
  and canvas webpack
- Open the buttons & icons tray and node the
  extra padding is gone

Change-Id: I22db1b51b755b0dd284a5c2a0a7fd819a2d9da61
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284969
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-02-11 18:07:23 +00:00
Weston Dransfield f476deb19d Hide B&I features based on cropper FF
Closes MAT-671
flag=buttons_and_icons_cropper,buttons_and_icons_root_account

This commit hides the cropper, image upload, and course images
features unless enabled.

Test Plan:
- re-build canvas-rce and canvas webpack
- Navigate to an RCE and open buttons and icons
- Validate course images, upload image, and cropper are
  not shown.
- Navigate to site admin feature settings (on your dev Canvas)
- Enable "Cropper & Associated Features in Buttons & Icons" and
  flush redis if needed
- Navigate back to the RCE and open buttons & icons
- Validate course images, upload images, and cropper are shown

Change-Id: I310ce6300cbda671fdc69f887ce80eb28520f961
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284787
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-02-10 18:44:46 +00:00
Jenkins 48f20560db [i18n] Update RCE translations.
Change-Id: Ibc39fbafed1c40896b564bae446627e95ff57c54
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284824
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-10 04:50:10 +00:00
Jenkins 6f4438ae30 [i18n] Update package translations
Change-Id: Ie01e555d588deb63bc2ebee071ad9daa4eacdc0d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284823
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-10 04:49:59 +00:00
Juan Chavez b01a2bca52 B&I: Adds Trash icon to Image Section
closes MAT-502

flag=rce_buttons_and_icons

test plan:
- Navigate to a RCE instance
- Click Buttons & Icons button.
- In the tray, navigate to images section
- Select a course image
> Verify that the trash button is rendered
- Click trash button
> Verify that the image data is cleared

test plan 2 (cropper button):
 - Navigate to a RCE instance
- Click Buttons & Icons button.
- In the tray, navigate to images section
- Select a course image
> Verify that the crop button is rendered
- Click trash button
- Select a multicolor image
> Verify that the crop icon is NOT rendered

Notes: This PS includes some changes in
the image section layout.

Change-Id: I94d7dd1a16657b23fed7429b1edd700c57352ba1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284718
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-02-09 23:56:45 +00:00
Weston Dransfield bcfaf11091 Close B&I course images on selection
refs MAT-502
flag=rce_buttons_and_icons

Test Plan:
- Re-build canvas rce and Canvas webpack
- Navigate to an RCE and open the buttons and
  icons tray
- Scroll to the image section and select "coures image"
  from the "add image" dropdown
- Click a course image
- Verify the preview is populated and the course image
  list closes

Change-Id: I81fca4686c0db56340bac2bd71c3ff108e58d24a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284678
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2022-02-09 19:36:34 +00:00
Jon Scheiding 32f2cf1349 Fix commitTranslations to not miss wrapper file
flag=none

test plan
- jenkins passes

Change-Id: Iac2a3d9d0057e08da328de61cb2a74a08e06d468
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284788
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-02-09 19:08:44 +00:00
jake.oeding 1303b45dd0 enable MathIcon rendering in new Eq. Editor
replaces the previous text based button icons
with the new svg icons in the new equation
editor

fixes MAT-621
flag=new_equation_editor

test plan:
-enable the ff
-navigate to a page with an RCE
-open the equation editor
-ensure that the svg icons are rendering
 properly
-try entering a few equations using the
 buttons and ensure they function as
 expected

Change-Id: I6a917e2fbce77708b86f49c030bc38b0d7fbea16
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284693
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-02-09 17:25:27 +00:00
Weston Dransfield 8e08ecda72 Make SVG sources functions
refs MAT-169
flag=rce_buttons_and_icons

This change will make it easier to implement sing-color
icons, which require setting a color.

By making the source a function, we can pass the chosen
color to retrieve the SVG source with the correct color set.

The user-specified color will likely be set in the ImageSection
state and controlled via the ImageSection reducer.

Test Plan:
- tests pass and no functionality of choosing a multi-color
  image has changed

Change-Id: I038952246f78ae0383884b1553f8c01fa3c8c17a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284645
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2022-02-09 17:06:59 +00:00
Weston Dransfield ec56ddf7cf Handle multi-color SVG click in B&I
closes MAT-169
flag=rce_buttons_and_icons

Test Plan
1. Re-build canvas-rce and Canvas webpack
2. Navigate to an RCE and open the tray to
   create a new button and icon
3. Scroll to the image section and choose
   "Multi Color Image"
4. Select a multi-color image and verify
   the image preview is populated with the
   chosen image

Change-Id: Id50bcff94dcecf9ea87d55a534ca27ec51da90c4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284608
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-02-09 16:20:52 +00:00
Juan Chavez 45296ec049 B&I: Zoom image using mouse wheel
closes MAT-427, MAT-428

flag=rce_buttons_and_icons

test plan:
- Navigate to a RCE instance
- Click Buttons & Icons button.
- In the tray, navigate to images section
- Select a course image
- Wait until the preview is loaded
- Click crop button
> Verify zoom in/out buttons work as expected,
also consider zoom should not
exceed thresholds (1.0 - 2.0)
> Verify mouse wheel zooms in/out the image,
also consider zoom should not
exceed thresholds (1.0 - 2.0)

Change-Id: Iba5de5eddd621d5f794e5030a7838800344deb11
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284505
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-02-09 16:12:45 +00:00
Joe Hernandez 32ca3311b0 Fix KBO (keyboard-only) navigation in B&I sidetray
Also made text input of color pickers readonly

refs MAT-466
flag=rce_buttons_and_icons

Test plan:
- Enable buttons and icons feature if not yet enabled
- Go to page that has RCE (e.g. Pages)
- Click on the B&I icon to bring up the sidetray
- Use keyboard to navigate through the sidetray
  - E.g. TAB, SHIFT+TAB, SPACE

Change-Id: Ib34d02ce19fcc1658d715bdce2c4ea1897518308
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284683
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-02-09 15:43:49 +00:00
jake.oeding 857fd39e34 update svg generation script
remove unnecessary dependencies by handling
the mathjax interaction directly. this allows
us to get the unique path ids that we need
for each svg path

refs MAT-621
flag=new_equation_editor

test plan:
-navigate to packages/canvas-rce
-run the script with "yarn generate-svgs"
-ensure it completes without error
-enable the ff
-double check that the equation editor
 has not been affected by the changes

Change-Id: I7177df28dde79a69780ca5a6b36969624d768c7a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284591
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
2022-02-08 15:47:04 +00:00
Jenkins b7495a1045 [i18n] Update RCE translations.
Change-Id: I7aeed203ebca3ac66c9094df5f8deb9e27798b44
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284621
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-08 04:59:01 +00:00
Jenkins ed60e1a2c8 [i18n] Update package translations
Change-Id: I24a36c80f1cbfb76814349612bbe3bdac6afc2dd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284620
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-08 04:58:50 +00:00
Weston Dransfield 9be8b46085 List multi-color icons in B&I
Note that clicking the mutli-color icon
will do nothing yet, this just lists them

Refs MAT-169
flag=rce_buttons_and_icons

Test Plan
1. Re-build canvas-rce and Canvas webpack
2. Navigate to an RCE and open the create
   buttons and icons tray
3. Scroll down to the "Image" section and choose
   "Multi Color Image"
4. Verify a list of multi-color images is shown

Change-Id: I454b1726f2868ea08353cec9e5882509e66d3eed
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284474
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-02-07 22:50:55 +00:00
Jacob Burroughs ac099719c0 Stop using google fonts on user-facing pages
fixes FOO-2704

Change-Id: I4894c8177a9644c4e037bd81e015bb0273d59c14
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284587
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
2022-02-07 20:55:16 +00:00
Ed Schiebel bca737defc Rename packages/get-cookie package
from 'get-cookie', which yarn confuses with an npm package,
to '@instructure/get-cookie' where it gets resolved by our
packages/get-cookie

closes LS-2982
flag=none

test plan: jenkins passes

Change-Id: I73974d444e1877693c226979863de8e2d4efb731
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284555
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2022-02-07 18:37:05 +00:00
jake.oeding d8ed6257bd add script for generating math icon svgs
adds the script for generating the svgs
needed for the icons on the buttons of the
equation editor toolbar and other related
setup

refs MAT-621
flag=new_equation_editor

test plan:

for the script:
-open the web container and do the following
  * run the build script in packages/canvas-rce
  * run the generateSvgs script
-confirm the script ran without error

ensure the equation editor works as before:
-enable the ff
-open a page with the RCE
-open up the new equation editor
-make sure that you can still click buttons
 and insert equations as before

Change-Id: I96b9c0d2a3b9c6004713d7f78182bd842750fd8f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284342
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-02-04 21:00:25 +00:00
Weston Dransfield 3f8179fcc1 Change default B&I text color
refs MAT-613
flag=rce_buttons_and_icons

Test Plan
- Build canvas-rce and Canvas webpack
- Navigate to an RCE and create a new button & icon
- Verify the "Text Color" property defaults to #000000
  in the tray

Change-Id: I32bde74ab9fb9ef571ad88347bfb8d9591c00efe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284332
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-02-03 23:19:24 +00:00
Weston Dransfield 24282ccb00 Detect B&Is during RCE uploads
closes MAT-364
flag=rce_buttons_and_icons

Test Plan
- Re-build canvas-rce and canvas webpack
- Verify you have the latest canvas-rce-api
  checked out and running
- Create a button and icon. Navigate to
  course files and download it
- Delete that button and icon from course files
- In the RCE, choose use the toolbar to upload
  an image. Choose the button & icon previously
  downloaded
- Verify the image uploads and is inserted into RCE
- Open the "saved buttons & icons" tray
- Verify the image you just uploaded is now listed
  as a button and icon

Change-Id: I379e53c05976511729faaf07b6a70c1dc2c4985e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284188
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-02-03 22:15:35 +00:00
Weston Dransfield bdb74d5404 Detect B&I on File upload
refs MAT-364
flag=rce_buttons_and_icons

This commit causes the File upload UI to tag button and icons
that are uploaded as button and icons.

Note that this change does not yet apply the correct cateagory
if an image is uploaded via the "documents" tool in RCE

Test Plan:

Note that this test plan involves a fair amount of regression
testing because this change touches the upload code used in
/files

1. Rebuild canvas-rce JS and canvas-lms webpack. Run DB
   migrations if it's been a bit
2. Make sure you've pulled down the latest canvas-rce-api
   code and have it running
3. Enable buttons & icons in if you've not already
4. Create a button & icon
6. Navigate to to the course files and download the
   buton and icon to your computer
7. Delete the button and icon from the "Buttons and Icons"
   folder in the course files
8. In an RCE in the same course, open the "saved buttons & icons"
   tray. Note that the button & icon you previously downloaded
   and deleted is not listed.
9. Navigte to course files and create a new folder. It can
   be named anything, just make sure not to nest it in the
   "Buttons and Icons" folder.
10. Upload the image downloaded in step 6 into the new
    folder
11. Navigate to an RCE and open the "saved buttons & icons"
    tray
12. validate the image you uploaded in step 10 is listed \o/
13. Verify you can upload non-images to course files still
14. Verify you can upload a zipped file to course files still.
    This should give the option of unzipping or leaving zipped.
    make sure both paths work
15. Upload a file and then attempt to upload the same file. This
    should result in a collision of names. Verify you can choose
    the option to replace the file with success. Do the same thing
    again, but verify you can rename the file with success
16. Verify you can upload files in batches with success

Change-Id: I0fc0ffa45f5b4757a347ebe631461eb3e00bb25e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284085
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: Weston Dransfield <wdransfield@instructure.com>
2022-02-03 22:15:25 +00:00
Jon Scheiding bfc1931b09 Remove CLI option that doesn't exist in Jenkins
flag=none
test plan
- next time new translations are committed, ensure we got a Slack message

Change-Id: Id644710c6b35d1dfc5a5e0de3bb579513c45e07d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284343
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-03 20:39:09 +00:00
Weston Dransfield 450521daee Don't show B&I in course image tray
Closes MAT-650
flag=rce_buttons_and_icons

Test Plan:
- Build canvas-rce and Canvas webpack
- Navigate to an RCE and create a button and
  icon
- Open "Course Images" in the toolbar and verify
  no buttons and icons are present, just regular
  cousre images

Change-Id: I2644219c3ee6c7040eea7f3d2c2db183552a7c60
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284277
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-02-03 20:27:03 +00:00
Weston Dransfield df657ecadd Add standard "type" metadata to all B&I SVG
refs MAT-364
flag=rce_buttons_and_icons

This new bit of metadata will be used on image upload
to detect if Canvas should apply the "buttons_and_icons"
category to the Attachment

Test Plan:
- Re-build canvas-rce and re-run canvas webpack
- Create a new button & icon
- Navigate to course files and find the new button &
  icon. Download it to your machine
- Open the file with a text editor
> Verify the "metadata" contains a new "type" key set to
  "images/svg+xml-buttons-and-icons"

Change-Id: Ief1aa9f7c65893b1f31190f4dc4bea9706df6226
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284061
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: Weston Dransfield <wdransfield@instructure.com>
2022-02-03 20:03:13 +00:00
Jenkins 6b7624c53f [i18n] Update RCE translations.
Change-Id: I9bc730ca452493dafb50f309fc81ae77143ba449
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284156
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-02 04:53:18 +00:00
Jenkins 1e1441450b [i18n] Update package translations
Change-Id: I43a0f271ba7ff839e89770b85448d868f2ee6a54
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284155
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-02 04:53:02 +00:00
Weston Dransfield 7f20fd23e2 Filter by category when viewing saved B&I
Closes MAT-633
flag=buttons_and_icons

Test Plan
- Enable buttons & icons in your site admin
  account if needed
- Build packages/canvas-rce and re-bundle Canvas
  JS with webpack
- In a course, create more than 50 buttons & icons.
  this can be done programatically. Chat with Weston
  if you would like directions.
- In that course, open the "Saved Buttons & Icons" tray
  by clicking the small arrow next to the buttons and
  icons tool.
- Verify buttons and icons are loaded (50) with an option
  to load more at the bottom of the tray.
- Click "Load More" and verify the rest of the buttons and
  icons are rendered.
- Click one of the buttons and icons and verify it is embedded
  into the RCE
- Focus the embedded button and icon in the RCE. Verify an "Edit"
  option appears in the floating toolbar. Verify you can edit the
  button and icon
- Navigate to the files UI for the course and navigate to the
  Buttons and Icons folder
- Select the menu button on one of the svg files (the vertical "...")
- Choose "Move" and move the button and icon svg to a new folder
  in the course (not nested in the "Buttons and Icons" folder)
- Navigate to an RCE in the course and open the "Saved Buttons & Icons"
  tray again.
- Verify the button that is no longer in the primary "Buttons and Icons"
  folder still shows up and is embedable.

Change-Id: I583f32d59330b8e3bf067ab606eac348882173ee
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283795
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
2022-02-01 21:38:19 +00:00
Weston Dransfield 9c49a0ef07 Send "category" in course image request for B&I
refs MAT-633
flag=buttons_and_icons

Test Plan
- Check out the associated RCS commit at g/283765
- Restart RCS if it's already running
- Rebuild canvas-rce + canvas webpack bundles
- In a course, create a button and icon
- In the same course, upload some images via the
  "files" UI
- Open the buttons & icons tray and navigate to the
  "Image" section
- Choose "Course Images"
> Verify the button and icon created ins tep 4 does
  not appear on the list. Note you may see older buttons
  and icons that were created previous to recent changes
> Verify the image uploaded in step 5 is listed
> Verify you can still list and insert course images
  as expected via the images tool in the RCE toolbar

Change-Id: I3120712734f115985dfbb90d715d50939c693521
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283766
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
2022-02-01 19:40:24 +00:00
Jon Scheiding 68b5d63142 Update commitTranslations (properly this time)
- Actually add the auto-submit parameter
- Handle Slack send failures
- Deal with Jenkins environment causing ignored files to get committed
- Add some parameters to make local testing simpler

flag=none

test plan
1. build the package-translations build Docker image
  `docker build -f Dockerfile.package-translations -t package-translations .`
   (this takes a WHILE ... sorry)
2. run the commitTranslations script
  `docker run --rm package-translations \
     yarn wsrun --exclude-missing commitTranslations`
3. review the output to ensure that nothing happened
   (should contain "nothing to commit, working tree clean")
4. make a change to one of the files in
   `packages/canvas-rce/src/translations/locales/`
5. repeat steps 1-2
6. review the output to ensure that a commit was created
   (the push will fail because it attempts to auto-submit)

post-merge testing
- after merge, ensure that there is no more spurious commits with es/
- then just have to wait for new translations to show up

Change-Id: Ibd7ed2da53dee5ec20d9a4b0902c96de90c6b2a5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283887
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-01-31 20:52:48 +00:00
jake.oeding 225bd03a80 bump tinymce-a11y-checker version
fixes MAT-531
flag=none

test plan:
-open up the RCE
-type 5 characters of the same class (lowercase,
 uppercase, or digits) followed by a period or
 closing parenthesis, a space, and then arbitrary
 text
-observe this is not flagged by the a11y checker
-remove one of the 5 initial characters
-observe this is now flagged by the a11y checker

Change-Id: I0758fb697333bbe3234d0074192e679df8496b8b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283969
Product-Review: Jake Oeding <jake.oeding@instructure.com>
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-31 20:18:09 +00:00
Joe Hernandez 8616c84621 Implement tests for tinymce valid elements config
refs MAT-339
flag=none

Test Plan:
- Use google sheet attached to JIRA ticket as reference
  - ALLOWED: rows with light green backgrounds
  - NOT ALLOWED: rows with light red backgrounds
- Navigate to location in canvas with RCE (e.g. Pages)
- Switch to the HTML editor in the RCE
- TEST 1:
  - Enter html from allowed list and verify content preserved on save
  - E.g. <p>Preserve me!</p>
- TEST 2:
  - Enter html from not allowed list and verify content removed on save
  - E.g. <form action="/action_page.php">...</form>

Change-Id: Idabca7798419e273615732712304cbba16bf2037
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283851
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-01-31 16:44:57 +00:00
Jon Scheiding 9222e26a03 Revert "[i18n] Update RCE translations."
This reverts commit ac2fb2a717.

Reason for revert: Somehow included es directory again

Change-Id: Iaa8a8cbad40ed0d67bf904665a673b80bc4a6099
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283260
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-28 20:52:15 +00:00
Jenkins ac2fb2a717 [i18n] Update RCE translations.
Change-Id: I1411e6c751536056a5ac557a005ca95111a75501
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283808
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jon Scheiding <jon.scheiding@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-01-28 19:50:54 +00:00
Jenkins 966bb11d25 [i18n] Update package translations
Change-Id: Ib4525d8b59a20acb0e79e979280f05ed60b41a02
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283807
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-28 04:54:26 +00:00
Weston Dransfield ddf0904cb4 Use a buttons and icons constant on client-side
closes MAT-631
flag=rce_buttons_and_icons

Test Plan:
- Create a button and icon and observe the network
  requests being made for the file upload
- Verify a category: "buttons_and_icons" param
  is sent in the post request to the
  "http://rce.canvas.docker/api/upload" endpoint

Change-Id: I5748cc8ea496eb3306a58e33feff0c88aebf55b8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283669
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-01-27 19:35:15 +00:00
Weston Dransfield 2af540b641 Set category when creating button & icon files
closes MAT-631
flag=rce_buttons_and_icons

Test Plan:
- Create a button and icon and observe the network
  requests being made for the file upload
- Verify a category: "buttons_and_icons" param
  is sent in the post request to the
  "http://rce.canvas.docker/api/upload" endpoint

Change-Id: I21ee4d7af00f6b8642c44c4388497df62759674b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283594
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: Weston Dransfield <wdransfield@instructure.com>
2022-01-26 22:03:19 +00:00
Juan Chavez 5a59aee3e6 Fix undefined error in video custom size
fixes MAT-586

flag=none

test plan
- Navigate to a RCE instance
- Embed a video and wait until it's loaded
- Click it and open Video Options
- Click on Size dropdown and select Custom
- Select Percentage radio button
> Verify that there is no error
- Change the number input to 5
> Verify that a error frame appears and
is says "Must be at least 10%"

Change-Id: I52d9a76629dae7168e936eaf38d63b1f7bb14d2f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283488
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: Juan Chavez <juan.chavez@instructure.com>
2022-01-25 19:57:34 +00:00
Jenkins 919e13a218 [i18n] Update package translations
Change-Id: Ia65d89183cabe1414e033b25a33eb004a0622113
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283490
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-25 04:58:04 +00:00
Weston Dransfield 021b91d612 Set selected upload image in B&I
refs MAT-168
flag=rce_buttons_and_icons

Test Plan:
- Navigate to a buttons and icons tray
- Navigate to the "Image" section and choose
  "Upload Image"
- Click the "Upload Image" pane
> Validate only images are visible by default in
  the system file exporer that opens
- Select an image in the file explorer and click
  "open"
> Validate the modal closes
> Validate the chosen image is shown in the B&I
  tray "Current Image" preview
> Validate the chosen image name is shown in the
  B&I tray

Change-Id: I8b6817e5edcbda3b8930fe1697425edb70978c6b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283343
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
2022-01-24 18:50:19 +00:00
Weston Dransfield 162b421ea6 Allow closing upload modal in B&I
refs MAT-168
flag=rce_buttons_and_icons

Test Plan
- Open a buttons and icons tray
- Navigate to the image section
- Click "Upload Image"
> Verify an image upload modal appears
> Verify pressing "escape" key closes
  the modal
> Verify pressing the "x" in the top
  right corner closes the modal
> Verify pressing the "Close" button in
  the modal footer closes the modal
> Verify the modal can be re-opened after
  being closed

Change-Id: I139885b1d693a910b22a4a2e64a9cf5170031596
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283227
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: Weston Dransfield <wdransfield@instructure.com>
2022-01-24 18:50:07 +00:00
Weston Dransfield ba9bfc7b42 Add upload image modal to B&I
refs MAT-168
flag=rce_buttons_and_icons

Test plan:
- Open the buttons and icons tray
- Navigate to the "Image" section
- Click "Add Image" -> "Upload Image"
- Verify a modal to upload an image
  pops up

Note that this modal does not quite function
yet. Image uploads will not work correctly and
the modal is not dismissable.

Change-Id: I45d0ed394e0a571ac5c67fa9da16d60d1ff01604
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283154
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: Weston Dransfield <wdransfield@instructure.com>
2022-01-24 18:49:52 +00:00
Juan Chavez 0d7616a418 Use image in image cropper preview in B&I
closes MAT-424

flag=rce_buttons_and_icons

test plan
- Prerequisites: RCS running and course image
uploaded
- Navigate to a RCE instance
- Open buttons and icons tray
- Click Upload Course image
- Select an image
- Wait until the thumbnail is loaded
- Click crop button
> Verify that the image is loaded in
the cropping modal and you can still
change the crop shape

Change-Id: Ied4a1af3025748918c3166ab2ecedb2e7ff322bf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283311
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2022-01-24 16:27:39 +00:00
jake.oeding 70b9488681 end internal to external link conversion on edit
stop automatically adding attributes to internal
links that make them behave as if they were
external when editing in 'Link Options' tray

fixes MAT-565
flag=none

test plan:
-open up a page in Canvas with an RCE
-add a course link to something like a Page
-click on the link in the RCE
-click on 'Link Options' to open the edit tray
-in the tray, update the link text or link and
 click the 'Done' button
-observe no target='_blank' or class="inline_disabled"
 is added to the <a> tag in the RCE's html view
-save your RCE edits and then click the link and
 observe that your browser redirects to the linked
 page and DOES NOT open in a new tab
-repeat the steps above this time using an external
 link
-observe that the external link's target and class
 attributes are preserved
-oberserve that following the external link opens
 a new tab in your browser

Change-Id: I5b5e55b1b8409a401e8745d6c7883549cc7f17c2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283219
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-01-21 19:10:17 +00:00
Jon Scheiding 2eb2064da2 Auto-commit translation patchsets
Also add a Slack notification about them

flag=none
test plan:
- jenkins passes

followup testing:
next time there are translations, PS is created and auto-submitted

Change-Id: Id7e39ba5d04ba47feac497622854d74816c92320
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283326
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-01-21 17:48:20 +00:00
Weston Dransfield 4b97e8bb80 Update RCE translations
Change-Id: Ia4db4fe6794d37ccb325713d8fa4c8d501f1d0ee
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283321
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2022-01-21 15:55:08 +00:00
Jenkins 5f1ed95aa1 [i18n] Update package translations
Change-Id: Ife0e38f9eade0fb2e7b387872a52c5e28dfda3e1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283168
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-20 04:58:05 +00:00
Weston Dransfield 77bd6f8e78 Use "info" color for A11y notification badge
closes MAT-401
flag=rce_a11y_checker_notifications

Test Plan:
- Enable the rce_a11y_checker_notifications flag
  in your root account
- Create a page in a course with an image that
  has no alt text
- Verify the notification bubble on the A11y checker
  button now matches the the InstUI "info" color
- Turn on high contrast mode for your Canvas user
- Repeat the above steps and verify the "info" color
  matches still

Change-Id: I4dd342a88afc96e1d1c043edda77432649c405cd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283045
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-01-19 20:44:52 +00:00
Jon Scheiding 3ce2dd2929 Avoid errors at RCE initialization when RCS is not available
Defer errors until the Canvas URL provided by the RCS is actually needed
See https://instructure.slack.com/archives/C01M74AT65A/p1642114749205300

flag=none

test plan
- Ensure you don't have an RCS running
- Go to a page that contains an RCE
- Validate that when the page loads, there are no RCE-related errors in
  the console, and no "Something went wrong" message shown on the page
- Insert an equation
- Validate that some errors about RCS are displayed on the console, and
  the "Something went wrong message" is shown on the page
- Validate that the equation still inserts
- Switch the RCE to HTML view
- Validate that the equation image URL is relative but otherwise valid
  (i.e. `/equation_images/<LaTeX>`)

Change-Id: Ic52aaead39e44b58cf9dd1be24f4530336acbdca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282947
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Brian Watson <bwatson@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-01-19 20:33:51 +00:00
Ahmad Amireh 4d0de671d3 ensure workspace pkgs aren't fetched from registry
refs SEC-4437
flag = none

[pin-commit-respondus_lockdown_browser=8746ff2ccfd6e9ac1d7280687c88e9fa67c0f693]
[pin-commit-multiple_root_accounts=7b11533084764b3a34f390e9a75df26e9dd871f9]

rationale in the script file and more context in the accompanying ticket

~ test plan ~

edit package.json and modify one of the explicit workspace dependencies
such as @instructure/ready to have a specifier other than "*", run the
script and verify it exits with 1

    yarn --silent workspaces info --json | \
    node script/yarn-validate-workspace-deps.js 2>/dev/null

Change-Id: I6624ada67a21d433477a7ad4d36acf5801853b7a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282948
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ben Rinaca <brinaca@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2022-01-18 19:15:21 +00:00
Jenkins 989533fedb [i18n] Update package translations
Change-Id: I36ce34be21658a6c684297dee72c667ef614cbff
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282958
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-18 04:49:14 +00:00
Ed Schiebel cc6d569bfc Ensure consistent timezone for pace plan dates
This commit displays all dates in pace_plans in its course timezone.
It required a couple changes to some of our date-time handling
utilities so we could specify a timezone.

closes LS-2938
flag=pace_plans

test plan:
  - put your course in different timezone
  - in a course with a pace plan, do to /courses/:id/pace_plans
  - open projected dates
  - play around in the start date input
    - type in a new date
    - pick a new date in the calendar
  > expect the date shown in the textbox to reflect
    what you entered or picked
  > expect the calendar to highlight the right date
    when you pop it open
  - try a couple timezones, some +hours, some -hours
  > expect DateInputs elsewhere in canvas still work
    - there's one in the student planner +todo item tray

Change-Id: I117b5553ffc8f076ef2143dd4d6d25f809eddb7f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282536
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2022-01-14 21:48:59 +00:00
Ahmad Amireh 657b27fc0b fix gerrit notation for pushing rce translations
refs MAT-393

the rce translations job had been failing to push the patches because of
a syntax error in the push command, see g/281732

~= test plan =~

the package-translations job is functional again (might need to merge
this first)

Change-Id: Id7e61fd965dd8c93db450b01ab1456a962ee5187
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282477
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-01-11 03:22:09 +00:00
Juan Chavez ebe0e98103 Use timezone on items' dates for links and docs
fixes MAT-542

flag=none

test plan considerations:
It's needed to use dates that could
change depending of timezones, so I suggest
to use 11:59 PM & Mountain Time (US & CA)

test plan 1:
- Create assignment with a due date
Ex. Jan 13, 2022, 11:59 PM ("2022-01-14T06:59:59Z")
- Navigate to RCE instance
- Click course links and open the tray
- Click assignments
> Verify that the created assignment
shows January 13, 2022

test plan 2:
- Upload a doc to course files
- Change its upload date via DB
Ex. Jan 13, 2022, 11:59 PM ("2022-01-14T06:59:59Z")
- Navigate to RCE instance
- Click course documents and open the tray
> Verify that the upload date
shows January 13, 2022

Change-Id: I477ab45c5830df496fcfeb3d44326e34f54c417e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282236
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-01-10 21:04:34 +00:00
Jenkins b666c1e77a [i18n] Update package translations
Change-Id: Id8c9239d147432444ef59eae08251b472e3324b7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282387
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-08 04:58:18 +00:00
Gonzalo Penaranda 14544ba024 Fix equation image resize for quizzes
fixes MAT-327
flag=none

Test Plan:
 - As a teacher, create a new quiz and
   create a new question (any type)
 - Once RCE loads, insert a new
   equation and save the changes
   on question and quiz
 - When clicking on 'Preview' or
   'Keep Editing this Quiz' (teacher)
   there is the equation image with the
   size assigned at first when creating
   the question
 - This also applies for the student when
   taking the quiz

Change-Id: Ifcd84f1f9fc2f4c17c88e2a0192c5b63c91982f5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282121
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-01-06 22:56:44 +00:00
Jon Scheiding 4b7c3a4e00 Fix mocha tests
flag=none

Some tests were being skipped by the process.exit
in the RCEWrapper tests

Broken tests:
- sanitizePlugins FKA sanitizeEditorOptions
  behavior changed when old RCE was removed
- normalizeProps
  behavior changed when old RCE was removed
- RCE api tests
  apparent behavior change with introduction of a search term option
- sidebar
  mostly these tests were just wrong, one needed a mock
- equation insertion refactor
  problems with async usage

test plan:
- jenkins passes

Change-Id: I68b08e468d21bdf8205e2089848ed7bc5e7e751d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281981
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-03 23:06:03 +00:00
Jon Scheiding 97e7cdd219 Move RCS interface out of sidebar
Just a refactor to make the structure more sensible

flag=none
test plan
- jenkins passes

Change-Id: I23fba5b0383350f789085bc7a385539146b16dc3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281968
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-01-03 19:54:52 +00:00
Jon Scheiding 084b9e2083 Bump canvas-rce version to 5.3.0
flag=none
test plan
- jenkins passes

Change-Id: I8c6fa144ba5bef0e91f4541cce0e3d60a6b5437c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281953
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2022-01-03 19:48:58 +00:00
Jon Scheiding 6d83b744b7 Use absolute URLs for equation images
- Refactor new math editor to use existing insertMathEquation method
- Copy mathml lib into RCE to support new math editor 😔

flag=none
Fixes MAT-471

test plan
Note: depends on RCS changes in
https://gerrit.instructure.com/c/canvas-rce-api/+/281790

- make sure you're using an RCS that includes the above changes
- find an RCE
- insert an equation
- switch to HTML view and verify that the equation image uses an
  absolute URL

Change-Id: I132c3447060941f8a00d526d9d55543080952c51
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281797
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2021-12-22 20:34:40 +00:00
Gonzalo Penaranda d5aa1af887 Replace CSS colors with new values
fixes MAT-525
flag=none

Test Plan 1:
 - Click on 'Admin' option and click on the user
 - Go to 'Themes' and select 'Minimalist'. It is possible
 that you need to save it with an alias before applying
 changes
 - On 'Themes', right-click on the 'Current' card for the
 applied theme. Check for the following property:
.ic-ThemeCard-status.ic-ThemeCard-status--is-active-theme
- The "background" value is #0B874B (one of the required
values)

NOTE: this also applies for the 'Apply theme' button

Test plan 2
 - Click on 'Account'
 - Right-click on the avatar element and check for the
 property --Avatar__elMgc-Color. Value is #0374b5.
 Changes apply as expected

** ADDITIONAL DETAILS **

- Considering the number of modified files, the
changes made may affect many different options
that aren't listed here, so the support and
validation from other teams related to the
nature of this fix is being requested.

Change-Id: I973a081d18fee74fa1e4f4b904760276e303b124
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280894
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-12-22 20:10:56 +00:00
Juan Chavez 77ce1d8bff Set image preview on editing B&I
closes MAT-511

flag=rce_buttons_and_icons

test plan:
- Navigate to a RCE instance
- Open the B&I tray
- Set some props of the shape if wanted
(not necessary, but for verify that encoding still works)
- On image section, select course images in dropdown
- Select an image and wait until it appears on preview
- Save icon
- Wait until it is added to RCE
- Click icon and click Edit pop-up
> Verify that the selected image is loaded initially
in preview.
> Verify that the name of the selected image is loaded
initially next to image preview.

Change-Id: Ieb1db8f0ae9f853e2c9045d58d6632d38f053c69
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281671
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2021-12-22 04:33:33 +00:00
Jon Scheiding ad72dce5b7 Fix incorrect commit options for translations, and add lint-review
flag=none
refs MAT-393

test plan:
- jenkins passes

followup testing:
next time there are translations
- make sure the  directory doesn't get committed
- confirm Gergich doesn't give a -2 LR

Change-Id: Id25b9a326666986ace352f70307402d56e26dba6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281732
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2021-12-21 21:50:39 +00:00
Jon Scheiding 3bca56bf81 Remove accidentally-committed es directory
flag=none
refs MAT-393

test plan:
- jenkins passes

Change-Id: Id24841f874ac74c12e2379a4927f98fcb72ed2c6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281729
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-12-21 21:50:27 +00:00
Weston Dransfield f4c0c8f4d0 Remove cc_in_rce_video_tray flag
Closes MAT-137
flag=none

Test Plan:
- Navigate to the site admin account on your
  local Canvas and verify the flag is gone
- Navigate to an RCE and upload a video
- Click the video and then click "Video Options"
- Verify you can upload closed captions from the
  tray that opens

Change-Id: I4457585873a341d1b3944729a2407f9340a18328
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280803
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-12-21 21:16:02 +00:00
Omar Gerardo Soto-Fortuño 8d65aa15ac Fix Find Outcome button when Adding/Viewing Rubric
closes VICE-2325

flag=none

test plan:
  - Specs pass
  - Go to a graded discussion topic.
  - Click on the kebab menu, Add Rubric.
  - On the dialog, click on the dialog Add Rubric button.
  - Click on Find Outcome, it should open the dialog with it.

qa risk: low

Change-Id: I73a2518951822d16f6c7f08bea7b2e92bf5a049d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281632
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
QA-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
2021-12-21 21:04:21 +00:00
Jenkins 2bdee31fa0 [i18n] Update RCE translations.
After submitting, make sure to publish a new version of canvas-rce to NPM.

Change-Id: I0ce1e42fcdde5b571911cc468997836e06ea6eca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281667
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2021-12-21 17:37:47 +00:00
Jenkins 7848fd3305 [i18n] Update package translations
Change-Id: I609a68c3d03107b8e85be8e19ac1c7fa9abfa533
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281666
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-12-21 04:58:52 +00:00
Jenkins 3105a17168 [i18n] Update RCE translations.
After submitting, make sure to publish a new version of canvas-rce to NPM.

Change-Id: I7779eabc3ad3816cdf4c54ffa41924ff8d66d97c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281578
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jon Scheiding <jon.scheiding@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2021-12-20 18:24:45 +00:00
Jenkins 29f33196ea [i18n] Update package translations
Change-Id: I4b5773111d2bb94ca6385e367bd5f662f5ea9ed5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281577
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-12-19 04:49:50 +00:00
Jenkins b0fec2716d [i18n] Update package translations
Change-Id: Ieae2f49ab7ab81d4ee9fc5d9b758a10fe7c812d9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281538
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-12-18 04:51:27 +00:00
Weston Dransfield 0cb9ad5619 Remove inline_math_everywhere release flag
Closes MAT-132
flag=none

Test Plan:
- Create an assignment with title set to
  $$ax^2 + by + c = 0$$
- Save the assignment and verify the title
  is type set by mathjax
- Create an assignment with title set to
  \(\sqrt{x}\)
- Save the assignment and verify the title
  is once again type set by mathjax

Change-Id: I58269a2ccd5dfe902737a64f83018e4348f021de
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281083
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-12-17 21:35:20 +00:00
Juan Chavez e4b598b095 Move math to a canvas-rce plugin
closes MAT-470

flag=new_equation_editor

test plan:
- Navigate to RCE instance
- Open equation editor
- Click a toolbar button
> Verify that the equation is added to the text area
> Verify that the editor preserves the text from
initial and advanced views(use toggle button)
> Verify that modifying text from advanced view
updates the equation preview

test plan:
- Navigate to RCE instance
- Select an already created equation image
> Verify that the modal initializes with the selected
equation

Change-Id: I05255e9cc40441f5a060198a66ac151f63d14fd1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278860
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2021-12-17 17:39:36 +00:00
Weston Dransfield 5446316493 Use proper schema for one-off html sanitization
closes ARC-8003
flag=none

Test Plan:
- Embed a video via LTI 1.1 content item
  into an RCE in a discussion topic
- Save the discussion topic
- Validate the video is embedded in the
  iframe
- validate the video can be played
- validate the iframe contains the proper
  "allow" attribute values
- Edit the discussion topic and switch
  to the HTML view of RCE
- Add a script tag with an alert:
  <script>alert('test')</script>
- Save the discussion entry
- Verify the script does not execute and
  is removed from the discussion topic
  text

Change-Id: Ib40931044c07f0d76c7d563a598d01cca9bd7d47
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281459
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-12-17 15:46:28 +00:00
Jenkins 8a06556212 [i18n] Update package translations
Change-Id: Iaf199e62a0f997993552a1d1b591f8926730b359
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281461
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-12-17 04:50:04 +00:00
Weston Dransfield 1fb2488831 Store encoded images in SVG state
closes MAT-194
flag=rce_buttons_and_icons

Test Plan:
- Navigate to the "create page" view in a course
- Open the buttons and icons tray in RCE
- Scroll down and choose "Current Image"
  section and choose "Course Images"
- Select an image
- Open the web console
- Click "Apply" at the bottom of the B&I
  Tray
- Save the page
- View the page and downoad the embedded image
- Open the image with a text editor and verify
  the metadata contains the selected image
  base 64 encoded.

Change-Id: Id1af30a9e0d9b650b176a0b0b3629a36855e0165
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277531
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-12-15 17:57:24 +00:00
Jackson Howe 949c9aec1b Filter missing to current grading period
In the weekly planner (visible on the k5 dashboard and subject),
only include missing items that are in the current grading period
(if grading periods exist for the subject). This adds a param to
the missing_submissions endpoint to do the filtering.

closes LS-2853
flag = none

Test plan:
 - Make sure you have a k5 student enrolled in a course with grading
   periods and a course without grading periods. Make sure each
   course has some assignments with due dates in the past and future
   (which the student hasn't submitted).
 - Visit the k5 dashboard as the student, switch to schedule tab
 - Under missing items, expect to see only assignments that meet the
   following criteria:
   - due date in past
   - student hasn't submitted
   - course either has no grading periods or assignment is in current
     period
 - Make sure this works on the schedule tab within a subject as well
 - As a classic canvas student, expect to see all missing items in the
   planner, regardless of grading period

Change-Id: I6e26483963359284748efa0b2d335927de655fd0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280757
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jonathan Guardado <jonathan.guardado@instructure.com>
QA-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2021-12-14 04:02:32 +00:00
Jon Scheiding ef7ed59301 Install and commit translations in packages
(specifically canvas-rce)

closes MAT-393
flag=none

Test Plan
- Check out commit 111b6aa
  (this commit has translations which are not synced to canvas-rce)
- Manually run `yarn wsrun --exclude-missing installTranslations`
- Manually run `yarn wsrun --exclude-missing commitTranslations`
- Observe that a patchset was created in Gerrit

Make sure to abandon the patchset

Change-Id: I33654c064ff8a22b5d78588d9946e94bb5460d18
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280766
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
2021-12-09 22:10:37 +00:00
Jon Scheiding 9c35c4f3ef Prep canvas-rce for npm publish @5.2.0
refs MAT-239
flag=none

test plan:
  - jenkins passes

Change-Id: I1d49e6fb581be7086f113532ae780985f68610de
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280772
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2021-12-09 18:21:45 +00:00
Weston Dransfield 0d31e05c0b Update package translations
flag=none

Test Plan:
Automated tests pass

Change-Id: I1f941c24a285673e2b1476bf29f9cdd73bb089d2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280526
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-12-09 17:24:04 +00:00
Jon Scheiding e650830c04 Update tinymce-a11y-checker dependency
flag=none
fixes MAT-533

test plan
- change your Canvas language to Thai (ไทย)
- find an RCE
- launch the a11y checker
- confirm that the a11y checker messages are in Thai
- repeat above steps for Castilian Spanish (Español (españa))

Change-Id: Ib0519bdec16f41672e4e6247f463c04595a94511
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280185
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2021-12-09 17:09:52 +00:00
Jenkins 111b6aa5ff [i18n] Update package translations
Change-Id: I577d7c2e3de0c93be7642fc428e4f73218bff788
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280539
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-12-08 04:49:19 +00:00
Jenkins 1a3ab9ad49 [i18n] Update package translations
Change-Id: Ife8343312b7bfdd281eb6dde388bade14311f05c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280424
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-12-07 04:52:20 +00:00
Ed Schiebel 5c971d365d Fix oddities with pace plan start/end date input
- There were issues inferring what props PacePlanDateSelector should
  send to PacePlanDateInput, so that component was deleted and
  ProjectedDates now creates PacePlanDateInput directly.
- ProjectedDates now validates required end date against the course's
  valid date range ignoring the projected start date
- updates the plan on changing the projected start date when
  a required end date is specified
- updates the projected date labels, captions, and error messages

closes LS-2844
flag=pace_plans

test plan:
  - with a pace plan and a few items
  - show projections
  > expect the show/hide projections animation to work
  > expect the "Hypothetical..." hint below start date
  > expect the "Required by..." hint below the end date
    - "Required by course end date" if no specified end is set
    - "Required by specified end date" if there is
  > expect the end date to be the specified end or course end date
    depending on state of specified end date.
  - play with start date
  > expect end date to remain the same and item dates to change accordingly
  > expect dates before/after the course dates to be disabled in the popup
    calendar
  - set start date to be before the course start date
  > expect an error message under the start date
  - set start date to be after the course end date
  > expect an error message
  - set the start date to be after the specified end date
  > expect an error message
  - set the start date so there's not enough days left
    before the course end date
  > expect a "Not enough days..." message under the start date

  - read the page with a screen reader
  > expect the captions (not error essages) to be read as part
    of the start/end date's label and not after the dates

  - check skip weekends
  > expect the projeted start date calendar picker to disable
    weekends
  - type a weekend date into the start date text box
  > expect an error message

Change-Id: Ie17cd3b33cf546d3cc9676aa654a138c116b8d94
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278831
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jonathan Guardado <jonathan.guardado@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
2021-12-06 19:09:17 +00:00
Ed Schiebel 487b6cf7f3 Update INSTUI to the latest: 7.14.0
closes LS-2878
flag=none

test plan: jenkins passes

Change-Id: I2f1c3df380342463601a5e9693424ed6d2de6137
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280154
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2021-12-06 19:05:18 +00:00
Weston Dransfield 49e0c48430 Sanitize "message" content in backbone forms
Closes MAT-543
flag=none

Test Plan:
1. Create or edit a discussion topic
2. Switch to the pretty HTML editor
3. Type in something in a script tag:
   <script>alert('hi!')</script>
4. Without switching back to the WYSIWYG
   view, save the discussion topic
5. Verify the script is not executed

Change-Id: Id37d2f1b26f371bb0c6952c9abc19ab7cd843c5b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280184
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2021-12-06 18:20:34 +00:00
Jenkins d951e43d7a [i18n] Update package translations
Change-Id: I5e6940d976c8d23c276c527263b2b60c080d7609
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280296
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-12-04 04:50:17 +00:00
Juan Chavez 78dc885a20 Add ability to add subtitles to audios
fixes MAT-413

flag=none

test plan:
- Navigate to a RCE instance
- Embed an audio media file to content
- Click audio frame
- Click "Audio Options"
> Verify it should open an Audio Options
tray where you can add cc tracks
- Add a subtitles file
- Submit tray
> Verify that an API query using the media
object and subtitles is done
- Click "Audio Options"
> Verify it should open an Audio Options
tray with the last subtitle
- Add another subtitles file
- Remove old subtitle
- Submit tray
> Verify that an API query using the media
object and subtitles is done
- Save page
> Verify on preview that audio player
contains the subtitles

test plan:
- Navigate to a RCE instance
- Click on Upload/Record Media button
- Add an audio file
- Click Captions checkbox
- Add a subtitles file
- Submit modal
- Save page
> Verify on preview that audio player
contains the subtitles

Change-Id: Iee6f342c3986161829ee04ab6a3584821d7b5d12
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279135
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2021-12-03 13:11:35 +00:00
Weston Dransfield 97d9f7d865 Update canvas-media translations
flag=none

Test Plan:
Automated tests pass

Change-Id: I98d79a86f369d78cf129c9029720728ee4858b38
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280153
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-12-02 20:38:38 +00:00
Ed Schiebel 8bfbde4e04 Fix planner translation snafu
This started out confirming that the planner supported Castilian
Spanish, but morphed into something a bit broader.  The code
that loads the translation json files based on the user's locale
had a bug that it wouldn't map locales using '-' to their corresponding
file names uising '_' (e.g es-ES => es_ES.json).

Once that was fixed I noticed that the planner was only partially
translated until it updated/rerendered. This is because importing
the translation json is async and the code loading the planner wasn't
waiting on it or general planner initialization. Now that code
initializing the planner waits for it to complete, the planner is
translated on first render.

This exposed an issue where code calling initializePlanner wasn't
waiting for the returned promise to resolve before doing more work.
That's fixed too.

closes LS-2738
flag=none

test plan:
  prereqs
  1. build with the js with `RAILS_LOAD_ALL_LOCALES=1`
  2. run your canvas server with `RAILS_LOAD_ALl_LOCALES=1`

  - change your user's language to Espanol (espana)
  - open the student planner
  > expect it to be in Spanish.

  - open a course page
  > expect the To Do sidebar to load

  - turn on Canvas for Elementary
  > expect the Schedule tabs to work

Change-Id: I0da78e0c14000496044e37ea287a48218262bb0f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279861
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2021-12-02 19:57:14 +00:00
Weston Dransfield 1ce2adca72 Update canvas-rce translations
flag=none

Test Plan
Automated tests pass

Change-Id: I8cccd687a0db6fd12ba224e300ea3a1ef5a7f896
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279878
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-12-01 14:39:13 +00:00
Jenkins 3c883d5aef [i18n] Update package translations
Change-Id: I8f07d29a9d8d5aa9262c84ebfdacd7dda5a2de08
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279768
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-11-30 04:50:11 +00:00
Juan Chavez ae1ee02a08 Fix UI/UX issue for image options percentage
closes MAT-71

flag=none

test plan:
- Open a RCE instance
- Embed an image to RCE
- Click image options
- In tray, notice that pixels radio button
is selected
- Select percentage radio button
- Put a text value (ex: "Infinity")
> Verify that ONLY the input field is wrapped
by an red border
> Verify that the message says "Percentage must be a number"
- Put a value lower than 10& (Ex: 5)
> Verify that ONLY the input field is wrapped
by an red border
> Verify that the message says "Must be at least 10%"

Change-Id: I6bdb63ca9d1f39de364aae58c47b2a18decf2e26
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278787
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2021-11-29 23:27:30 +00:00
Jonathan Guardado b47390a04d sync missing items on subject cards with observed user
The effect used to update the link of the missing items in the
SchedulePage component is now executed every time the observee picker
changes, even if the planner is not visible, we need to do this as
the link on the dashboards cards depends on the redux state in the
same way that the link in the planner does

closes LS-2824
flag= none

Test plan:

- As an observer with some linked students
- Go to the dashboard and expect to see the missing items link on the
dashboard cards showing the right information for the selected
student
- Change the selected student in the picker
- Expect to see a loading skeleton in the assignments row and the
right information in the missing items link when it finishes loading

Change-Id: I79464e1f3508b1ab98ed8bc814f1bfbddd0c1bbe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279472
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Nate Armstrong <narmstrong@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
2021-11-29 21:49:03 +00:00
Weston Dransfield 2474cc2927 Update canvas-rce translations
flag=none

Test Plan:
Automated testing passes

Change-Id: I26954a01d7421793f849da958bf7fbe658a6498a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279684
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-11-29 20:34:49 +00:00
Jenkins 628846ccb4 [i18n] Update package translations
Change-Id: I6847e1d21300f7479155bb4f6a6e3766e5247bbc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279627
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-11-27 04:51:18 +00:00
Jenkins 6f2f670176 [i18n] Update package translations
Change-Id: If711f37995950a057fe33e9fbb71502762c7e977
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279473
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-11-24 04:51:26 +00:00
Juan Chavez 9e5e523925 Update tinymce-a11y-checker version usage
fixes MAT-517

flag=none

Test plan (copied from MAT-464):
- Navigate to an RCE instance
- Upload an image (jpg, png mainly) and assign an alt attribute
as a filename with spaces (i.e this image.jpg)
- After upload and preview, click the accesibility checker.
> Verify it must warn of a filename not allowed as an alt attribute

Change-Id: Id7fb911db5d1090c192be90cf9c5b2537942d5d9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279220
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2021-11-23 21:16:46 +00:00
Jenkins 60dff967c8 [i18n] Update package translations
Change-Id: Iedb073ee21c678b6b40c1126ab953894f04caae7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279321
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-11-23 04:49:57 +00:00
Gary Mei e6c54d1c57 add translation commands to canvas-media
closes MAT-498
flag=none

Test Plan
- Delete locales/en.json.
- Run `yarn run i18n:extract` and verify it creates an en.json.

- Delete src/getTranslations.js
- Create a fake translation file in the translations package
  directory by copying an existing file.
  ```
  cp ${canvas_dir}/packages/translations/lib/canvas-rce/es.json \
    packages/translations/lib/canvas-media/
  ```
- Run `yarn run installTranslations` from the canvas-media directory.
  - If there's an error about a folder not existing, create the
    folder and re-run.
- Verify that a new locale file was added to canvas-media with the
  content from the fake translation file.

Change-Id: I09120fe3f386d29776b722abe999463a6ab89e30
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276873
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-11-22 22:57:54 +00:00
Weston Dransfield 4f2f5d13cc Update canvas-rce translations
flag=none

Test Plan:
Automated tests pass

Change-Id: Ibe88915c67b2abda195ac8e9bd9dde2a1caf94d1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279218
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-11-22 19:56:21 +00:00
Jenkins 3f0a256404 [i18n] Update package translations
Change-Id: If147b2c7850c307db8e0c7912f6f22880689000a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/279034
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-11-20 04:50:09 +00:00
Weston Dransfield b4b285f9c7 Update canvas-rce translations
flag=none

Test Plan:
Automated testing succeeds

Change-Id: Id9fa250230c176bf001fd6febab428f26aaa7e4a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278897
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2021-11-19 21:56:14 +00:00
Jenkins dedd8f9aab [i18n] Update package translations
Change-Id: I80bda70edd769037da424a0ee1980474a5e1e2ec
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278859
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-11-19 04:51:25 +00:00
Gonzalo Penaranda ff3051d172 fix for button with wrong color on theme
fixes MAT-506
flag=none

Test Plan:
 - Go to 'Admin' on left sidebar and select user account.
 - Click on 'Themes' and then click on '+ Theme' button.
   (for this test, choose'Minimalist theme' from the list
   of options displayed)
 - On the left, pick a dark color for Primary
   Brand Color and a light color for the Primary
   Button.
 - Click on 'Preview your changes'
 - Save the created theme with any name you like and,
   then, click on 'Apply theme'
 - Click on 'Courses' and create a new course.
 - Click on created course and click on 'Pages'.
 -  Create a new page.
 - Once the RCE loads, insert a table of any size. Once the
   table is created, click on 'Table properties'. The button
   colour must be the same one chosen on the Themes setting.
 - Additionally, you can type anything out of the table and,then,
   click on 'Tools'>'Word count'. The button color must correspond
   to the specified value as well.

Change-Id: Iff063b37171ae61c4c53f905e453436ef33ce822
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278594
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2021-11-18 19:37:11 +00:00
Juan Chavez fb1ec2e450 Add support for diamond and pentagon in B&I
closes MAT-514

flag=rce_buttons_and_icons

test plan 1:
- Open a RCE instance
- Click buttons & icons button
- In tray, select diamond/pentagon shape type
> Verify that preview shows the selected shape
> Verify that user can continue using other features
with selected shape(ex: sizes, color, outline)
> Verify that saving the shape adds the shape to rce

test plan 2:
- Open a RCE instance
- Click buttons & icons button
- Click crop image button
- In modal, select diamond/pentagon shape type
> Verify that the shape is applied to the
crop mask

Change-Id: I4d9879f556c0cab76e02771726f6e591e2f9182e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277578
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
2021-11-18 17:17:28 +00:00
Juan Chavez 6306346596 Add support for percentage units dimensions in image options tray
closes MAT-71

flag=none

test plan:
- Open a RCE instance
- Embed an image to RCE
- Click image options
- In tray, notice that pixels radio button
is selected
- Select percetage radio button
- Put a value in the input ex. 50
- Click confirm
- Switch to html view
> Verify that width/height has the percentage
units ex: 50%
- Change manually the percentage units in html
ex. 75%
- Switch to wysiwyg view
- Click image options
> Verify that percentage radio button is
selected
> Verify that the changed percentage is set

Change-Id: I3608451e983b73a1707a7e0aca63c3f025ba9300
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277577
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
2021-11-18 14:41:10 +00:00
August Thornton 5ee427d92b add support for Thai (th) locale
fixes FOO-2493
flag = none

test plan:
• compile assets and ensure Rails and Webpack are ran with
  the following ENV variable: RAILS_LOAD_ALL_LOCALES=1
• change your language via profile/course/account to:
   • Thai (ไทย)
• verify _most_ strings are being translated properly
• see Thai within our Style Guide for verifications below
  • https://instructure.atlassian.net/wiki/spaces/ENG/pages/134802178/ \
    Style+Guide+-+Instructure#StyleGuide-Instructure-Thai
• verify the RCE is localized
• verify assignment edit date picker (JQuery) works as expected
   • selecting specific days, hours/minutes, and typing
• verify we're formatting the numbers as expected by punching in a
  large number into "Points"
• verify the assignment index date picker(React) is localized
• go to calendar and verify the month/day names look appropriate
  for the Thai locale

Change-Id: I9de044775b3ee492b8cc96e6d1234d64462c94b6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276201
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
2021-11-17 22:46:39 +00:00
Weston Dransfield 74bd63d3e2 Show output on RCE build:watch
It was previously a bit difficult to
see exactly what changes were being
made by babel --watch

flag=none

Test Plan:
Run build:watch in canvas-rce, make
a file chagne, and verify the name of
the updated file is printed in the
console

Change-Id: I29e9c7d93c660c8ca238d992bf81c22ef44635ce
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278518
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-11-17 16:51:01 +00:00
Jackson Howe 30a951ecd4 Update rce translations
Change-Id: I29dd81eeae462526f71f5b37aeb852c5c160c08b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278371
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2021-11-16 14:52:01 +00:00
Ed Schiebel 66cbbf1dac Size equations to surrounding text
closes LS-2845
flag=scale_equation_images

test plan:
  - turn on site admin flag scale_equation_images
  - in the rce, create some content with a large font
  - with the text caret in the large font area (you can tell by
    looking at the blinking cursor) insert a math equation
  > expect the equation to be scaled to match the surrounding font size
  - click on the equation image and change its font size using the rce toolbar
  - edit equation and save. you don't have to change anything
  > expect the equation to be in the new font size
  (some day we'll detect the change in font size and automagically fix it)

Change-Id: I323bf4162521cf88d2a993b8e62ef697114f8959
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278299
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2021-11-15 20:10:39 +00:00
Aaron Shafovaloff 2ea330397b Upgrade Jest to 26
Test plan:
 - tests pass

flag=none

Change-Id: Iaf7a40b5b2c3f5afd286eaaa6b5f010d0b35feda
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278231
Reviewed-by: Brian Watson <bwatson@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-11-15 19:28:14 +00:00
Jenkins d4b8c31c72 [i18n] Update package translations
Change-Id: Idbe5174b17967c2017bf9a98491c58e346abfad0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278227
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-11-13 04:49:50 +00:00
Jenkins 9d9e11876d [i18n] Update package translations
Change-Id: I3f591cc59d4757e65f0f197044bd1b02030fff62
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/278110
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-11-12 04:49:37 +00:00
August Thornton 1bbb788d91 add support for Castilian Spanish (es-ES) locale
fixes FOO-2494
flag = none

test plan:
• compile assets and ensure Rails and Webpack are ran with
  the following ENV variable: RAILS_LOAD_ALL_LOCALES=1
• change your language via profile/course/account to:
   • Español (españa)
• verify _most_ strings are being translated properly
• see Spanish (Spain) in our Style Guide for verifications below
  • https://instructure.atlassian.net/wiki/spaces/ENG/pages/134802178/ \
    Style+Guide+-+Instructure#StyleGuide-Instructure-Spanish(Spain)
• verify the RCE is localized
• verify assignment edit date picker (JQuery) works as expected
   • selecting specific days, hours/minutes, and typing
• verify we're formatting the numbers as expected by punching in a
  large number into "Points"
• verify the assignment index date picker(React) is localized
• go to calendar and verify the month/day names look appropriate
  for the Español (españa) es-ES locale
• please note that we fall back to es Spanish (Latin America) for
  Moment and TinyMCE (canvas-rce)

Change-Id: I441d5c15fcfb55c8695d7b82c643ab74c68318b2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276642
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2021-11-11 23:12:16 +00:00
Weston Dransfield 550699defb B&I: Populate image preview
refs MAT-423
flag=rce_buttons_and_icons

Test Plan:
- Navigate to an RCE instance
- Open buttons and icons
- Choose "course images" in the image
  section
- Click an image
> Verify the "current image" label updates
  to show the selected image name
> Verify the preview icon updates to show
  the image
> Inspect the preview icon. Verify the image
  being displayed is a base-64 data URL

Change-Id: I6492b57c27860296ef5d53183282bcf3e72cb418
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276961
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
2021-11-11 22:12:04 +00:00
Weston Dransfield 358e1a7193 Update Canvas RCE Translations
flag=none

Test Plan:
Automted testing passes

Change-Id: I0cea83ed574eb6b2e8e92296dc76e47ef20e32c2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277863
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-11-11 15:18:38 +00:00
Adrian Packel eb77b606b1 show SG student menu focus ring when tabbing
fixes EVAL-1439
flag=none

Test plan:

Attempt the following in Chrome, Safari and Firefox. Note that Safari
will not focus some elements like the previous/next buttons (this has
not changed).

- Open SpeedGrader
- Hit Tab repeatedly to move through the elements in the header
- When you tab to the student select menu, it should have a focus ring
  with the browser's customary styling (a dashed outline in Firefox, a
  bluish solid outline in Chrome/Safari)
  - (note at this point hitting Space or Enter will access the invisible
    UI-native select menu rather than the visible widget; this has not
    changed)
- Click on the menu and select a student, or just click on the dropdown
  again to close the menu
- Check that tab and shift-tab still take you forward/back now that the
  menu is closed, rather than getting stuck

Change-Id: I23804980e1b842576e55228bfaefc7a4d997af9c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277795
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Daniel Sasaki <dsasaki@instructure.com>
2021-11-10 19:40:33 +00:00
Ed Schiebel 2a277632c2 Make typeset math and math image match
at least get them much closer.
1. typeset math using svg by default, which is how the image is generated
2. size the image so it matches the surrounding font-size

Also, still typeset math from images even if the image fails to load.

closes MAT-501
flag=new_math_equation_handling

SIZING MATH REQUIRES A COMPANION CHANGE TO MATHMAN (the other stuff doesn't)
  - clone git clone ssh://<yourid>@gerrit.instructure.com:29418/mathman
    and follow the instructions for building.
  - checkout https://gerrit.instructure.com/c/mathman/+/277389
  - build it (once built, you don't have to run in in docker)
  - in a canvas rails console:
    Setting.set(
      'equation_image_url,
      'http://localhost:8000/svg?tex='
    )
    http://localhost:8000 is where mathman is via `node app.js`
    it's at http://mathman.docker if in docker (at least that's
    what the README says, I don't really know)
  - test mathman by requesting `http://<mathman-url>/svg?tex=17`
    and expect an image of "17". now try with `request /svg?tex=17&scale=2`
    and your "17" shoul be twice as large.
  - restart your canvas server

test plan:
  Updated typesetting:
  - have a question_bank quetsion with math and answers with math
  - include the question in a quiz
  > verify that the question looks the same in the question bank
    as it does when previewing/taking the quiz
    - if your math includes a "g", it should look the same
    - the size of the equation should be pretty close
  Sizing to match:
  - turn on scale_math_equations site admin feature
  - put an equation w/in a paragraph with a large font, or
    add an equation to the rce, select it, and change the font size
  - click on the equation, edit equation, click insert equation
    w/o changing anything
  > expect the equation to match the larger font.

  - extra credit: DO THIS WITH AND WITHOUT MATHMAN PLUGIN ENABLED
    (yes, there are 2 paths canvas takes to mathman)
    make sure to update dyanmic-settings.yml's math-man entry
    math-man:
      base_url: 'http://localhost:8000'
      use_for_svg: 'true'
      use_for_mml: 'false'
  - at /plugins, enable mathman plugin and ensure use_for_svg istrue

  Error handling:
  - change the URL to mathman to a dead end
  - load a page with math equation images
  > expect the math to be typeset by mathjax

Change-Id: I354e98a0a0256740ce5b4937f5b4e3adc690fe51
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277245
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2021-11-09 19:28:42 +00:00
Jonathan Guardado 5a1fc9f92b C4E Schedule missing items look bad on small screen
Most of the problem was solved passing the responsiveSize prop to the
MissingAssignment component, I just added some tweaks to make the
icon appear in order to match with the mockup

closes LS-2736
flag= none

Test Plan:

- Go to a course with some missing assignments
- Go to the Schedule tab
- Open the mobile view
Right-click, select inspect and click on the toggle device toolbar
option.
- Look for the show missing items link toggle on the planner
- Expect the missing items to look good as in the mockup
- Repeat the process with the k5 Dashboard

Change-Id: Icfdf7be24d8e5e1a7127de0ee5b0796145a1d14f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277064
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
2021-11-09 17:08:29 +00:00
Aaron Shafovaloff 29973bc869 mediumPadding -> mediumPaddingHorizontal
mediumPadding will no longer work in InstUI 8

This noisy warning is polluting our test output.

Test plan:
 - All tests pass

flag=none

Change-Id: I4db876745b643755ec907f9d591381de933f6359
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277573
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eszter Szabo <eszter.szabo@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-11-09 14:28:30 +00:00
Aaron Shafovaloff fc856c854e Use "danger" InstUI Text color value
The "error" value was deprecated.

This noisy warning is polluting our test output.

Test plan:
 - All tests pass

flag=none

Change-Id: I2f9b2af706d242e75f4797c9609dc73f86eb91b5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277572
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eszter Szabo <eszter.szabo@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-11-09 14:25:25 +00:00
Jenkins 61fc1fd2b8 [i18n] Update package translations
Change-Id: I4e53bfbe9c5b9e2fb1a84831a85af9e3f767d4d5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277652
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-11-09 04:50:18 +00:00
Weston Dransfield 53cb52aae3 Convert image to base64 data URL
Refs MAT-423
flag=rce_buttons_and_icons

Test Plan:
- Navigate to an RCE instance and open
  the tray to create a button & icon
- Scroll down to the image section and
  choose "coure images"
- Click an image
> Verify a base 64 data URL representing
  the image is printed to the console

In the next commit this base 64 data url
will be used to populate the preview icon

Change-Id: Icb6c619c4078c0b18c9f5d5d5b9e6286ac1dc9a6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276942
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
2021-11-08 22:47:52 +00:00
Ed Schiebel 5c6cae1d3f Update some rce unit tests
closes MAT-507
flag=none

test plan: passes jenkins

Change-Id: Ibd76101c4a7a75c5656a70a03b46afa25e86fdcc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/277430
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2021-11-04 15:38:06 +00:00
Weston Dransfield ecc8d442a5 Support images in PreviewIcon
Refs MAT-423
flag=none

Test Plan:
- Observe new test passing
- Verify the icon continues to show colors
  and "empty" state as before

Future commits will set the image in the preview
icon

Change-Id: I2ecfb6f2193e2e3d5e017c3e4c31794a55b50e2c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276865
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-10-28 21:10:10 +00:00
Weston Dransfield 04bdbb9fdb Update canvas-rce translations
flag=none

Test Plan:
new strings are available in canvas-rce

Change-Id: I637892ba3c46c990ca1d9220758a38248def7013
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276817
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-10-26 15:56:24 +00:00
Jenkins 9933a4c3fe [i18n] Update package translations
Change-Id: Ia26d0d213494033b25cceb5b5c5aa550dbf89bf8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276653
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-10-23 04:50:40 +00:00
Weston Dransfield fc215fdd13 Add course image list to B&I tray
Closes MAT-167
flag=rce_buttons_and_icons

Test Plan:
- Start the RCS
- Navigate to an RCE instance in Canvas
- Open the "create" button and icons tray
- Scroll down to the "Image" section and
  select "Course Images"
> Verify the current course images load

Note that most of the functionality of
this image list is already covered in
automated tests. We will be adding more
as we add a click handler

Also note that for now this list of images
_will_ include previously created
buttons and icons. These will be filtered
out in the future.

Change-Id: I8ea6def5b92a0c7456ef29a20bb846db4f54e1db
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276508
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2021-10-22 21:23:18 +00:00
Juan Chavez b55dad68da Remove rce_pretty_html_editor feature flag
fixes MAT-133

flag=none

test plan:
- Verify that there is no rce_pretty_html_editor
feature flag (site admin).
- Navigate to an RCE instance.
- Verify that pretty html editor is enabled by default.

Change-Id: Ibe76738577d0716e30f06815c9a072f41ca48103
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275197
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2021-10-22 19:03:08 +00:00
Jenkins ae7a2ad851 [i18n] Update package translations
Change-Id: Ifb0c06d880601b83f4b0090c387d33bd1bfbdd56
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276566
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-10-22 04:49:42 +00:00
Juan Chavez 137a782ee9 B&I: Add SVG paths for crop shapes and modal
closes MAT-422, MAT-426

flag=rce_buttons_and_icons

test plan:
- Navigate to a RCE instance
- Click Buttons & Icons button.
- In the tray, navigate to images section and
click crop button placeholder.
- Vefify that you can change the crop shapes
in dropdown and it changes in the preview.

Change-Id: Iba478fd3aef8c45a511e21f4c2025499ef7c4796
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276028
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2021-10-22 00:54:21 +00:00
Adrian Packel ac102ba9e8 Fix SpeedGrader keyboard navigation when menu open
Make SpeedGrader update the currently selected student in response to
keystrokes when the custom dropdown menu is open, and fix a couple of
the most salient issues, but do not attempt to fix everything.

closes EVAL-1610
flag=none

Test plan:

SpeedGrader provides a veritable bonanza of methods to select students
using the dropdown menu at the upper right:

1. Click on the dropdown to open it, navigate between students
   using the arrow keys or the Home/End keys, and hit Enter or Space to
   close the dropdown and select the last-focused student. As you
   navigate between students, the currently-selected item should have a
   distinct background. Avoid using both the mouse and the keyboard at
   once here, or the menu will get very confused.
2. Open the dropdown as described in (1), then close it. There should
   now be a focus rectangle around the dropdown, and you should be able
   to navigate between students using the arrow keys and Home/End.
3. Click somewhere on the header, tab until the left arrow is focused,
   then tab once more to focus the invisible browser-native select menu.
   Use the arrow keys to select a student.

Test that all three methods work to select students in SpeedGrader. Note
that methods 1 and 2 currently do not support switching sections using
the keyboard.

Change-Id: I3007324165ae7fa5b5cace1e2f5d7e0019e9ecc7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275524
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jody Sailor
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
2021-10-21 17:55:02 +00:00
Weston Dransfield 5e0f828c20 Add current image preview icon
refs MAT-465
flag=rce_buttons_and_icons

Test Plan:
- Navigate to an RCE instance
- Open the buttons and icons tray
  to create a new button
- Verify the color pickers work as before
- Verify the bottom of the tray has an
  empty image preview (red line through a box)
  with text reading "None Selected"

Change-Id: If45027317902b8be7e529da69c2a51596134f839
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274679
Product-Review: David Lyons <lyons@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
2021-10-21 14:37:04 +00:00
Jenkins 387d11d7d0 [i18n] Update package translations
Change-Id: If82e98f9a4acf98ed935f4a01fc1da3072ac5dfa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276453
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-10-21 04:49:12 +00:00
Jackson Howe dcd871fbce Filter missing submissions by observed student
Also make the planner overrides checkbox read-only for observers.

closes LS-2722
flag = k5_parent_support

Test plan:
 - Open up the schedule tab on k5 dashboard as an observer with
   several linked students
 - Switch between students, expect to see one network request each
   time for missing_submissions and expect the observed student's
   missing assignments to appear
 - As an obsever, expect to see the overrides checkbox reflect the
   student's state, but read-only
 - Expect the planner to still work for k5 and classic students

Change-Id: Ife22e5361c6c5516506db5c908c05fff0f65bfab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276061
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
2021-10-19 21:46:44 +00:00
Gary Mei a74f6aaf7d avoid doubling results in rce image content tray
If you type at a specific cadence, you could trigger two api requests
for images and the second one would be for the stale search term, but
the images would still come be inserted into the content tray. This
ignores the stale queries when they resolve.

fixes MAT-400
flag=none

Test Plan
- Upload two files with at least the first six letters of their
  filenames the same.
- Type in the search bar the first three letters, then at a slight
  pause, type the other characters such that they would match both
  files again.
- Do the above over and over again, verifying that the tray never
  has duplicate results.

Change-Id: Ib41c1c16ec1f48aa118ddc4b0f4d658723c08d1e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274943
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2021-10-19 19:23:18 +00:00
Weston Dransfield faec9490aa Add support for custom locales in canvas-rce
Also update some tranlation strings

Closes MAT-241
flag=none

Test Plan:
1. Enable the custom locale "English (UK HE)"
   via the i18n plugin
2. Set the english (uk he) locale as the language
   on a course and save
3. Notice the modules tab now is labeled as units
   and the "course code" field on the settings says
   "module code"
4. Go to the pages tab of the course and make a new page
5. Verify clicking the arrow on the links button now says
  "module link" and not "course links"

Change-Id: I93e67c7db48ad751c465f67f5be553033730c8a6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276093
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-10-18 18:56:04 +00:00
Jenkins bb7e541441 [i18n] Update package translations
Change-Id: I54aa59c575402387d12a54230b2074653bb42b2d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276089
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-10-15 18:40:46 +00:00
Aaron Shafovaloff d02369cef3 Add new Gradebook filters button and tray
This is groundwork for subsequent filters work.

Test plan:

- Enable enhanced gradebook filters
 - "Applied Filters: None" should show above grid
 - Filters button should show above grid
  - Click button
  - Tray should expand
- Bonus: See FilterNav in Storybook

flag=enhanced_gradebook_filters

Closes EVAL-1891

Change-Id: I45e44415bcd39b420a962cb79face12b7d6eef54
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275899
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
2021-10-15 18:37:29 +00:00
Ed Schiebel 746750533c Simpler and static way to handle planner translations
closes LS-2739
flag=none

test plan:
  confirm that each language is in its own bundle
  - rm -r public/dist/webpack-dev/*
  - yarn build:packages && yarn build
  - look into packages/translations/lib/canvas-planner/ar.json
    for the first key. It will be something like
     a_great_discussion_6526a6d9
  - grep for it in the build output. for exmaple:
    $ fgrep -Rl a_great_discussion_6526a6d9 public/dist/webpack-dev/*.js
  > expect many files

Change-Id: Ibfafb4c2139a6d1e2991dd88d064b5ee0303a5f9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275912
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Jeff Largent <jeff.largent@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2021-10-14 19:57:43 +00:00
Jackson Howe dbc052c093 Support observers in planner
This commit will load the correct plannable items into the planner
when an observer is selected; a successive commit will filter missing
items and planner overrides.

closes LS-2700
flag = k5_parent_support

Test plan:
 - Open k5 dashboard as an observer with multiple linked students
   and student enrollments of their own
 - Switch between students in the observer picker
 - Expect to see items only from courses where the selected student
   has enrollments
 - Expect this to work the same way on the subject schedule tab
 - Expect the planner to work as before with the flag off

Change-Id: I2612707c24e6c42110120c7cbdc26369539bb94d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275538
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Jeff Largent <jeff.largent@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Nate Armstrong <narmstrong@instructure.com>
2021-10-14 15:12:13 +00:00
Ed Schiebel c9dd2b20ac Fix React errors from MissingAssignments
- redux's connect has to take a component with shouldComponentUpdate
  which means no PureComponent and no functional component
- while updating snapshots for the specs, I decided to address the warnings
  and errors getting spit out. This started to snowball, so I stopped
  after fixing some missing required prop stuff and renaming instui
  padding props. Forgive me.

closes LS-2725
flag=none

test plan: specs all pass

Change-Id: I2c9ac7ef45b3e5e40e0029d21905be79e458944b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275909
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2021-10-14 12:26:54 +00:00
Ed Schiebel 2cc5e3e22e Fix planner importing ALL translations
Fixes it so only the planner's translations for the user's
locale are loaded, not all of them.

closes LS-2717
flag=none

test plan:
  - build canvas
  - make note of a translation key by looking in
    packages/translations/lib/canvas-planner/<anyfile>.json. The
    first key looks something like "a_great_discussion_6526a6d9"
  - grep public/dist/webpack-[dev|production] (which one depends on
    what you built) for a translation key.
    $ grep -Rl a_great_discussion_6526a6d9 public/dist/webpack-dev/
  > expect there to be one file, and if you search it for the key
    you'll find all the languages

  - checkout this commit and repeat
  > expect many files with the key, one for each language (or almost,
    not all languages have all the strings and if it's missing the
    key you're looking for the grep won't find the bundle)
    If you _really_ want to account for all the bundles, try
    fgrepping for "!*** ./packages/translations/lib/canvas-planner/"

  - log into canvas as a user in a language other than 'en'
  > expect the planner to be in the user's language

Change-Id: Ic7e64bf279cc3e2b175d89ba4aa71683440563f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275516
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Jeff Largent <jeff.largent@instructure.com>
2021-10-12 13:54:30 +00:00
Juan Chavez 05010b8476 Remove rce_limit_init_render_on_page feature flag
fixes MAT-405

flag=none

test plan:
- Verify that there is no rce_limit_init_render_on_page
feature flag (root account).
- Open a quiz with more than five question in the
same page.
- Verify that the max rendered RCEs are limited (5).

Change-Id: I9d4a51c2e1005ac4f8e38c5a18986c2707fcae48
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274948
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2021-10-11 19:28:31 +00:00
Jon Scheiding 251b87f0d0 Return full embed URL from POST media_objects
Also refactor media_objects routes to all be in the same controller

Fixes MAT-440
flag=none

Test plan:
- Find an RCE
- Insert -> Media -> Upload/Record Media
- Upload an audio or video file
- Switch the RCE to HTML view
- Confirm that the iframe src URL is an absolute URL
  including host and protocol

Change-Id: If7288562980ee49dd50f5796f82afbadb7d0a575
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275434
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2021-10-11 18:20:49 +00:00
Weston Dransfield 8475bc10a2 Add support for Ukrainian to canvas-rce
Support is acheived by mapping uk (Ukranian) to
uk_UA (Ukrainian (Ukraine)).

refs MAT-438
flag=none

Test Plan:
- Change your language to uk (український) OR
  create a course with it's locale set to український.
- Load the RCE as that user or in that course
- Verify TinyMCE menu items are translated
- Verify custom plugin strings are translated

Change-Id: I7daebd71d8fff39a8280b160b4b721a444769533
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275352
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-10-08 18:31:45 +00:00
Weston Dransfield f7ba9e9682 Add better support for Russian in canvas-rce
refs MAT-438
flag=none

Test Plan:
- Change your language to Russian (pу́сский) OR
  create a course with it's locale set to pу́сский.
- Load the RCE as that user or in that course
- Verify TinyMCE menu items are translated
- Verify custom plugin strings are translated

Change-Id: Ie1600a16e690f0933f5dfa22fee6ac93bc6f63f5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275355
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-10-08 17:47:46 +00:00
Weston Dransfield ff2c72761f Add partial support for Finnish in canvas-rce
refs MAT-438
flag=none

Note: Tiny does not yet officially support Finnish.
This commit adds support for Finnish in RCE for Instructure-
owned strings only

Test Plan:
- Change your language to Finnish (Suomi) OR
  create a course with it's locale set to Suomi.
- Load the RCE as that user or in that course
- Verify custom plugin strings are translated

Change-Id: Iabd5075b019e4047c4573b457d13d4fe9712d577
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275342
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-10-08 17:47:32 +00:00
Weston Dransfield 58be39c3f0 Add B&I image mode selector
Closes MAT-465
flag=rce_buttons_and_icons

Test Plan:
- Navigate to an RCE and click and open the
  "create" buttons and icons tray.
- Scroll to the bottom of the tray.
> Verify the "Image" group has a preview placeholder,
  a "Current Image" label, and a "Add Image" button
- Click the "Add Image" button
> Verify the menu has four entries: Course Images,
  Upload Images, Single Color Images, and Mutli
  Color Images
- Click "Course Images"
> Verify a "Course Image" placeholder is shown

Note that only the course images mode has a
placeholder component. The other modes do nothing
when clicked.

Change-Id: I93cf8c6f16cb596ff27b80c16c2d48b96e89bfd9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274678
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2021-10-08 17:42:25 +00:00
Weston Dransfield 3c84a2b7c2 Add support for Slovene in canvas-rce
refs MAT-438
flag=none

Test Plan:
- Change your language to Slovene (Slovenščina) OR
  create a course with it's locale set to Slovenščina.
- Load the RCE as that user or in that course
- Verify TinyMCE menu items are translated
- Verify custom plugin strings are translated

Change-Id: Ie35e58d2b9bb053ab4814219600a743750c4d7a3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275329
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-10-08 17:08:40 +00:00
Weston Dransfield e27769beb3 Add initial RCE I18n docs
refs MAT-438
flag=none

Test Plan:
- Review the new documentation for clarity and
  grammar

Change-Id: I1befc09f96570f3e6a1bd4501845c904e7d231be
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275339
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-10-08 17:04:14 +00:00
Ed Schiebel e9afcfcce3 Remove rce_enhancements flag from canvas - phase 1
refs LS-2655
flag=none

- this updates the files under ./ui, a few ancillary files and specs.
- Sadly the commit hook ran prettier and
  fiddled with the formatting of a handful of files too.
- Also made a few changes to quiet lint errors
- Also updated OutcomeManagement.test.js. I don't understand why,
  but 'renders ManagementHeader with lhsGroupId if selected a group in lhs'
  started failing with this change, even though nothing obviously related
  changed. The problem is that the modal isn't getting attached to the
  document being tested. The spec changed to test that the modal contained
  what it's supposed to contain.

test plan: jenkins passes and the RCE works

Change-Id: I48d85077bdbf7563cb07510d3e71d2b448c55e49
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275301
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2021-10-08 16:59:19 +00:00
Adrian Packel 60a677a493 Update SpeedGrader dropdown for keyboard changes
closes EVAL-1609
flag=none

Test plan:
- Have a course with multiple students and sections
- Open an assignment in SpeedGrader
- Focus the student dropdown in the upper right
  - It has no visible focus, but a reliable way is to click on the
    header, tab until the left arrow is focused, then tab once more
- Hit spacebar or the up/down arrows to bring up the options for the
  native select menu (instead of the abominable jQuery widget)
- Using the keyboard, select a different student
  - Check that the widget has updated to show the new student
- Repeat the above, but this time choose a different course section
  - Note that you are taken to the new course section

Change-Id: I70f497850c2fc17ea1ca87c9d16b17993677c26d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274924
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Syed Hussain <shussain@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Dustin Cowles <dustin.cowles@instructure.com>
2021-10-07 20:37:08 +00:00
Nate Armstrong 98694df8be Fix loading missing planner items with no due date
fixes LS-2694
flag=none

test plan:
1. Setup a course in an account using the elementary theme
2. Create an assignment with no due date
3. Manually mark a student as 'missing' in the gradebook
4. As the student navigate to the course home page
5. Click on 'Schedule' and then the missing notification
6. The missing assignment should load without a due date

Change-Id: Ie88673e6fd508d0d926322a3d5f4d1b226b9adbd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275363
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: Nate Armstrong <narmstrong@instructure.com>
2021-10-07 15:31:18 +00:00
Jeffrey Johnson 6510219aea Fix jQuery Kyle Menu to support JAWS
fixes VICE-2101
fixes VICE-2102
fixes VICE-2103
fixes EVAL-1979
fixes EVAL-1980
fixes LS-2674
fixes QUIZ-8883
fixes MAT-462
fixes LS-2676
fixes MAT-463
fixes OUT-4789
fixes VICE-2104
fixes LS-2675

Test plan
1. Download patchset
2. Navigate to a Course -> Click People in sidebar
3. Open JAWS
4. Navigate using JAWS to the elipsis in the Table
5. Open menu using appripriate JAWS keys
6. Expect: Menu Items should read out loud in JAWS

Note: Only change is removing ARIA-owns from button, the rest is lint
rules that were auto run.
Note: This issue only reproduces in JAWS + Chrome
Note: This should be tested in other places that single test plan listed

Change-Id: I2d0b5c50c1ee1c72a9ce1038928d244c3073efb7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275149
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
Product-Review: Matthew Lemon <mlemon@instructure.com>
QA-Review: Daniel Sasaki <dsasaki@instructure.com>
2021-10-06 21:47:54 +00:00
Weston Dransfield 7a95ff0914 Add B&I Image mode part 1
Removes the UI no longer needed as part of
the image mode selection redesign

refs MAT-465
flag=rce_buttons_and_icons

Test Plan:
- Open the button and icons create tray
> Verify the "Images" group now only has
  a placeholder

Change-Id: I9ee2e74165539192a53d77e391f70d6c32502f20
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274655
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-10-06 21:31:30 +00:00
Weston Dransfield bbe7c5d357 Warn on file size issues for cc
Refs MAT-373
flag=none

Test Plan:
- Verify the latest RCS is pulled and running
- Start notorious
- Attempt to upload a CC file for a video
  that exceeds 295kb
- Verify that an error message is shown indicating
  the file size is too large
- Verify that you can still upload CC files < 295 kb
- Upload a another video. In the upload modal, choose
  the option to also add captions.
- Attempt to add a caption file > 295 kb and upload
  the video
- Verify a file size error is shown
- Verify you can upload captions for a video in the
  upload modal if the caption file size < 295 kb

Change-Id: Ie089d273a0591b3e00f9d1ccc25ec227249d0256
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275118
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-10-06 15:52:21 +00:00
Charley Kline afbbf8b635 Pass metadata to DatetimeField on picker change
Refs FOO-2347
flag=none

There's still a sneak code path through the jquery
date-time picker that forces DatetimeField to use
tz.parse to guess at what the user selected. And as
is the theme through all of these picker fixes, tz.parse
very often can't handle the formatted output it is given.

So this tries to close that hole once and for all by
having the picker onSelect action recreate the inputdate
metadata that DatetimeField can use in lieu of trying to
parse.

This also changes the hasMeridiem() function in timezone
to use the browser Intl library rather than tz's locale
inferences.

Test plan:
* See original ticket steps to reproduce
* In particular, use the popup calendar date picker
  to select dates in various months from now to the
  middle of next year
* NOTE that some of the following locales do not have
  Intl support on all browsers so the resulting display
  may fall back to English, but the correct date should
  still be selected in all cases.
* Locales of interest:
       en    English       (United States)
       en-AU English       (Australian)
       fr    Français      (French)
       hu    Magyar        (Hungarian)
       pl    Polski        (Polish)
       nn    Nynorsk       (New Norwegian)
       el    Ελληνικά      (Greek)
       uk    український   (Ukrainian)

Change-Id: I2aa4bad55eb77b86e9158bc0f445301c0cb060e4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275062
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2021-10-05 19:53:58 +00:00
Gary Mei 56f1fad194 remove rce_better_file_previewing flag
closes MAT-135
flag=rce_better_file_previewing

Test Plan
- Upload a file to a course.
- In the RCE, add a file to the body.
- After saving, click the link to the file.
- Verify that a preview opens up in an overlay.

- Edit the link options in the RCE to preview inline instead.
- Save and verify that a preview opens up inline.

- Edit the link options in the RCE to preview inline with it expanded
  by default.
- Save and verify that a preview opens up inline without requiring
  any clicking of the link.

Change-Id: I34f01d3bd4ae3d8a8f7e235721ea6b67b69d71ad
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275018
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Gary Mei <gmei@instructure.com>
2021-10-04 18:12:45 +00:00
Weston Dransfield 7c04ed4a19 Remove accidental "it.only"
flag=none

Test Plan:
all tests in api.test.js pass in canvas-rce

Change-Id: I8b6e668209c4da6df56ed08fb743cf67b5175335
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274930
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-09-30 22:27:43 +00:00
Jackson Howe 7967c518b1 Update rce translations
Change-Id: I99de7eaabfb05056ff2afb8bfab9f57801fe3673
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274797
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2021-09-29 18:56:03 +00:00
Charley Kline 7e7746346b Address date/time parsing issues in non-en locales
Refs FOO-2347
flag=none
[fsc-max-nodes=18] [fsc-timeout=30]

The old jQuery-based date picker was relying on the ability
to parse what it formats, which is far, far from a safe bet in
non-English locales. One example is that in French, a date in
September will format as, say, "1 Sep 2021" but that does not
parse properly (it has to be "1 Sept 2021" which is the French
abbreviation for the month). This caused no end of trouble in
those date pickers.

This modifies the DatetimeField and the jQuery date picker
so that it always uses a stored ISO string date (which is
guaranteed to be able to be parsed by new Date()), thus
eliminating the parsing errors when the pickers are used.
The only exception is when the field is being typed into,
which still uses tz.parse and also includes a running value
underneath the field to help the user get the format right.

Test plan:
* Go to an assignment editor (/courses/:id/assignments/:id/edit)
* Scroll down to the dates at the bottom
* Those date and time pickers should all still work normally
* Try it in the fr locale, especially selecting a date in the
  month of September and setting the time to 11:11
* It should still work!
* Try other locales, too.

Change-Id: Idd4ba1684dc4e3679ec2360ffa4f362924756103
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273803
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
2021-09-29 06:15:56 +00:00
Jenkins a842a8d517 [i18n] Update package translations
Change-Id: I100e4c6b92aed4d6f732456a6842ad4d865beb98
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274714
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-09-29 04:47:51 +00:00
Jared Crystal c6f0016762 fix VO navigation for Create Outcome modal
fixes OUT-4764
flag=none

test plan:
 - test using KO and VO
 - from the account outcomes page, click +Create
   to open the Create Outcome Modal
 - TAB or VO navigate to the hidden keyboard shortcuts
   modal trigger button
 - click the button to open the keyboard shortcuts modal
 - close the keyboard shortcuts modal
 - focus should return to that same hidden button
 - subsequent navigation via TAB/VO forwards or backwards
   should proceed as expected (to the next/prev element)

Change-Id: Ied3835943f9d9eeba8a43f29324f7d211ad44708
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273786
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
QA-Review: Marcus Pompeu <marcus.pompeu@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
2021-09-29 04:15:30 +00:00
Isaac Moore 06b6ab48a1 Add option to embed K5 subject view in a hybrid manner
This change adds an `embed` param to the K5 subject `show` action that,
when set to `true`, hides global nav, the K5 Hero header, and the K5
tab bar. Navigation between tabs is still possible by changing the hash
fragment at the end of the URL.

closes LS-2590
flag=none

test plan:
- browse to a k5 subject
- append `?embed=true` to the URL
- verify that the global nav and subject tabs disappear
- navigate between different subject tabs by modifying the hash fragment
  at the end of the URL (#home, #grades, #modules, #resources, #groups,
  #schedule)
- verify that the content changes appropriately
- remove `embed=true`, and click between the subject tabs
- verify that navigation in non-embed mode still works correctly

Change-Id: I9a3bbdf4e5d4fd4da5e98bd8c85133ff2498cefb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273352
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Nate Armstrong <narmstrong@instructure.com>
QA-Review: Nate Armstrong <narmstrong@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
2021-09-28 19:28:49 +00:00
Jon Scheiding c4106bd532 Remove upper bound from Chrome version polyfill exclusion.
See original PS at https://gerrit.instructure.com/c/canvas-lms/+/271227

Refs MAT-458
flag=none

Test plan:
* Be on Chrome 94
* Set your language to Icelandic (Íslenska)
* Find an RCE
* Confirm that it loads properly

Change-Id: I6f3daba6484c49c5fe43188fbfe65dfa894ed2ad
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274374
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-09-24 15:54:31 +00:00
Gary Mei 5f6fcaf303 hide buttons and icons option from tray
This hides it when the SiteAdmin feature flag is not enabled.

closes MAT-452
flag=rce_buttons_and_icons

Test Plan
- Disable the flag.
- Open an RCE instance.
- Open a content tray, such as the Images one.
- Verify that in the dropdown of options for content subtypes,
  Buttons and Icons is missing.

- Enable the flag.
- Verify that in the dropdown of options for content subtypes,
  Buttons and Icons is present.

Change-Id: Iac81f32fef2f2b4fd9ded54bac85ddc6c8f9e2cf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274020
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Gary Mei <gmei@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
2021-09-21 18:53:09 +00:00
Ed Schiebel 8d4f7564b7 Commit new rce translated string
closes MAT-448
flag=none

test plan: n/a

Change-Id: Ia058997502d88f81283b21bf0a4a6bed715f9829
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273798
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2021-09-20 12:25:41 +00:00
Ed Schiebel 1ce4e053ec Show "Join" button in standard student planner
closes LS-2646 LS-2650
flag=conferencing_in_planner

test plan:
  - in an account with "Canvas for Elementary" turned off
  - create a calendar event in a course calendar with a zoom link
    in the description or location
  - as a student in the course, do to the List View dashboard
  > expect no "Join" button

  - in site admin > settings > features, enable
    "Conferencing in plnner"
  - refresh the student's planner
  > expect to see the "Join" button

Change-Id: Iaf6024415f8effea8731a9a2722ba724e728dc08
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273788
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
2021-09-20 12:25:28 +00:00
Marcus Vinicius Pompeu 23feaf3cb3 Add renderKBShortcutModal property to canvas-rce component
fixes OUT-4764
flag=improved-outcomes-management

Temporary fix while #material and #outcomes keep investigating

Test plan:

  - the test must be run in Safari

  - assert that the problem with OUT-4764 does not occurr
  - navigate to any other form with RCE (like Courses/Discussions):

    - activate VoiceOver
    - with TAB check that the keyboard shortcut button appears right above RCE when focused
    - with VO + arrows do the same test

Change-Id: I9515583f94f6235355bcd0e210d43bb3568f6cdd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273780
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Chrystal Langston <chrystal.langston@instructure.com>
Product-Review: Jon Scheiding <jon.scheiding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-09-17 20:42:32 +00:00
Weston Dransfield 0c2bf38317 Dedup "onDuplicate" params in Button & Icons
refs MAT-182
flag=rce_buttons_and_icons

Test Plan:
- Edit and button & icon
> Verify the "upload" request made to RCS
  only includes one instance of "onDuplicate"
  parameter

Change-Id: I961514a79eb947e26387ff7ddc8e0fd948f01285
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273579
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-09-17 19:43:42 +00:00
Jenkins bd086b7b83 [i18n] Update package translations
Change-Id: I06e1b06f0a55acc15ac0914172d2ec096642f310
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273746
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-09-17 04:48:27 +00:00
Ahmad Amireh b9c0c26541 instrument datetime natural parsing
refs FOO-2280
flag = none

monitor the use of date-picker widgets to learn more about the use of
the free-form/natural parsing feature.

I've opted to track the events at the innermost layer (DatetimeField
and DateInput) and shove them onto a localStorage buffer that gets
posted to the (TBD) backend on the subsequent page load. This feels like
a simple approach with downsides that we can live with.

The buffer is capped at 50 events, and each event will truncate values
that are longer than 32 characters. There's an ID attached to each event
that points to the widget it came from, which we can use to group
related events to analyze the larger interaction.

:: test plan ::

first, we test the monitoring of the jQuery widget. Create an assignment
and go to its edit page. Scroll down to the "Assign" section as we'll be
spending our time with the date fields there.

- type something like "aug 17" into a date field like Due
- wait for a second and verify the buffer gets filled with a new event
  of method "type" (run this or just look at ur localStorage):

    console.log(
      JSON.stringify(
        JSON.parse(
          localStorage.getItem('dtnpi')
        ), null, 4
      )
    )

- now, pick a date from the Picker widget
- wait for a second and verify the event this time is of the
  method "pick"
- now, paste some value into the field and verify the new event is of
  method "paste" and that "value" actually points to the PASTED VALUE
  and not to whatever the widget ended up translating it to

at this point, we will exercise the same steps but for the React
<DateInput /> widget. Go to the course Assignments page and click on
"..." then "Edit Assignment Dates". You will see many date fields, any
of them will suffice:

- verify typing generates the expected event
- verify picking generates the expected event
- verify pasting generates the expected event

Change-Id: I1f3a4e82a62fb19487516a324dcb0ea34236725e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272364
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
2021-09-16 18:33:40 +00:00
Juan Chavez 25dd16a589 Fix issue for a11y tray/notifications errors count
fixes MAT-367

flag=rce_a11y_checker_notifications

Test plan:
- Navigate to a RCE instance
- Create an a11y issue in content
- See the a11y notification badge errors count
- Open a11y tray
- Verify that the tray errors count matches

Change-Id: I1526a1d8ab533c985407c77a6d961dd0af3a9600
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272303
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
2021-09-15 16:44:20 +00:00
Weston Dransfield 48e44d079a Update save/cancel button UX
refs MAT-181
flag=rce_buttons_and_icons

Test Plan
- Create a new Button & Icon
> Verify the create button tray has
  functioning "save" and "cancel" buttons
- Edit the button
> Verify a new checkbox is at the bottom of the
  tray reading "Apply changes to all instances of
  this Button and Icon in the Course."
- Check the box and click "save"
> Verify all instances of that button/icon in the
  course are updated
- Edit the button again. This time, don't check the
  box before clicking "Save"
- Verify only that instanec of the button/icon is
  updated

Change-Id: I30a1779d711d5409a9745860c0c5b907ff10635f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273446
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
2021-09-14 21:34:00 +00:00
Weston Dransfield 3d4f1b1bd0 Enable save & replace functionality for B&I
Closes MAT-182
flag=rce_buttons_and_icons

Test Plan
- Create a page and embed a button/icon
- Create a second page with the same button/icon.
  Be sure to use the "saved button and icons"
  tool bar item and select the same image from the
  first step
- On the second page, edit the button/icon
- Make noticable changes and choose the option
  to "save and replace"
- Save the second page
> Navigate to the first page and verify the changes
  to the button/icon on the second page are present
  on the first page
- Edit the button/icon on the fist page. Make noticable
  changes and choose the option to "save as a copy"
> Navigate to the second page and verify the changes
  from the previous step are only applied to the first
  page

Change-Id: I253a683b9afd8f952d68a0deaf974e0241b5deb3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273434
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-09-14 20:41:41 +00:00
Ed Schiebel 397f789717 commit new RCE translations
closes LS-2656
flag=rce_enhancements

test plan: it passes jenkins

Change-Id: I91342f1f2d84eb7dc063961418be810b1815bf6d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273560
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2021-09-14 19:01:36 +00:00
Jenkins 46361032d3 [i18n] Update package translations
Change-Id: I581e4917fce2177f95344b0dbcf1b01e5e8abda6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273493
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-09-14 04:49:23 +00:00
Weston Dransfield 28e682fd6c Add save / save + replace buttons B&I edit tray
Closes MAT-181
flag=rce_buttons_and_icons

Test Plan:
- Create a button using buttons & icons
- Edit the button
> Verify Cancel, Save and Replace, and Save
  buttons are present in the edit tray

Change-Id: Ibe398da56f1fc4be91652afb42effe6bf4ce7d8d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273268
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
2021-09-13 17:05:41 +00:00
Math Costa c490de0a4d Supress graded badge for hidden grades
fixes: LS-2587
flag=none

test plan:
1. Have a published course, a published assignment and a student enrollment
2. Set the assignment or course grade posting policy to manual
3. As the student, submit the assignment
4. As yourself, enter a grade for the submission and ensure that the grade is hidden
5. As the student, choose 'list view' from the dashboard
6. Look at the assignment on that list and check the 'graded' stamp is not present

Change-Id: I67006d974d9cd1abcc98d61e666ba646753deb61
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273295
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Jeff Largent <jeff.largent@instructure.com>
Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
2021-09-13 16:32:59 +00:00
Juan Chavez 310210a23d Add label to input after uploading file
fixes MAT-334

flag=none

test plan
- Navigate to a RCE intance
- Upload a media (video)
- Verify that the file name text input has
its label

Change-Id: Ie4287b1efda6cccdccf52229606fbe37a9aa66c6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273197
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2021-09-11 05:48:16 +00:00
Weston Dransfield 193bd12dc2 Update RCE translations
flag=none

Test Plan:
Verify only translation files are updated and that
builds pass

Change-Id: If75fe658d53d726f642979b2b112e9ffececff07
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273303
Reviewed-by: Robin Kuss <rkuss@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2021-09-10 19:48:18 +00:00
Jenkins 6697d541d6 [i18n] Update package translations
Change-Id: I7764f78042ceff180078d3b3336bb01b0a642935
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273294
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-09-10 04:49:03 +00:00
Weston Dransfield 95118f315c Load button/icon metadata on edit
Closes MAT-180
flag=rce_buttons_and_icons

Test Plan:
- Navigate to an RCE instance
- Use the buttons and icons tool to create
  a button/icon. Change each supported property
  in the tray to a non-default value
- Insert the button/icon, save the content, and refresh
  the page
- Edit the content with the button/icon previously
  created
> Verify clicking the button/icon shows an "edit" inline
  toolbar item
- Click "edit"
> Verify the buttons and icons tray is populated with
  the correct properties

Note: A future ticket will handle saving the edits

Change-Id: I46b3b3a37f86bf1eb3e05667dbdc8337a33bca03
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272614
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2021-09-09 15:37:37 +00:00
Gary Mei 096429aa76 add null check to rce image plugin settings
fixes MAT-361
flag=none

Test Plan
- Specs pass.

Change-Id: I7f11ca091d70df869bb50604b2eaa94453b28af3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272756
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Product-Review: Gary Mei <gmei@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-09-03 03:29:23 +00:00
Ed Schiebel 34747017eb Fix PlannerItem spec that fails around midnight
closes LS-2598
flag=none

test plan:
  - it passes jenkins
  - extra credit if it passes jenkins around 11:30pm
    but let's not wait.

Change-Id: I2a5561f55b377e6e8e4cd70cba7e10642215742c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272789
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
2021-09-02 20:35:32 +00:00