canvas-lms/frontend_build
Ahmad Amireh 46f8efd61f modernize canvas_quizzes
fixes FOO-1409
flag  = none

no more client_apps, canvas_quizzes now lives as part of canvas-lms
proper inside app/jsx/, which makes the build leaner and leaves us with
one less thing to reason about

logical changes:

- converted from AMD to ES modules
- upgraded to recent react + react-router
- dropped RSVP in favor of native Promises
- used CanvasModal instead of home-grown Dialog
- removed dead code; notifications in particular were fishy as there had
  no dependents at all and did not even show up in the graph
- ported tests to Jest, added more unit ones and two integration ones
- removed "config.onError" and now throws errors where appropriate
- disabled console statements in non-dev

:: test plan ::

- create a (old-school) quiz containing all types of questions
- as 3 distinct students, take the quiz and try to randomize your
  answers

at this point it's helpful to have a reference to compare the screens; I
replicated the quiz on my production sandbox for this

- go to /courses/:id/quizzes/:id/submissions/:id/log
  - verify it looks OK
  - click on a specific question in the stream and verify the question
    inspector widget works OK
  - go back to stream and push "View table"
  - verify the table and its controls are OK

- go to /courses/:id/quizzes/:id/statistics
  - verify it looks OK
  - click on ? in the discrimination index chart and verify it displays
    a dialog with help content
  - click on "X respondents" in one of the charts and verify it displays
    a dialog with the respondent names
  - verify the interactive charts do interact as expected (no logic
    changed here so just a quick glance)
  - link to "View in SpeedGrader" for essay-like questions works

Change-Id: I79af5ff4f1479503b5e2528b613255dde5bc45d3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256118
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2021-01-14 22:45:10 +00:00
..
webpackHooks add webpack notification hooks for gnome/linux 2018-03-14 19:54:40 +00:00
CompiledReferencePlugin.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00
SourceFileExtensionsPlugin.js extend JS source files without relying on filepath 2021-01-14 17:15:06 +00:00
baseWebpackConfig.js modernize canvas_quizzes 2021-01-14 22:45:10 +00:00
bundles.js mv non-bundle-entries out of app/coffeescrips/bundles 2019-05-31 04:10:11 +00:00
emberHandlebars.js [node12] upgrade i18nliner-handlebars 2020-11-25 03:30:20 +00:00
i18n.js Remove add-module-exports babel plugin & use esModules 2019-05-03 22:49:58 +00:00
i18nLinerHandlebars.js [node12] upgrade i18nliner-handlebars 2020-11-25 03:30:20 +00:00
i18nPlugin.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00
momentBundles.js add support for catalan (CA) locale 2020-09-02 15:49:02 +00:00
webpackHooks.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00
webpackPublicPath.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00