canvas-lms/app/presenters
Jeff Largent c01113638b Initial pace plans import
This change brings in the basic pace plans frontend with
styled-components and several other smaller libraries replaced with
InstUI 7 components. It also adds the 'reselect' library as a direct
dependency (which we already had through @instructure/outcomes-ui) and
'tsc-files' for type-checking of staged TS files on commit. There were
also some tweaks to typescript and eslint configs, mostly to get both
up to speed with the typescript code.

Finally, this also adds a `pace_plans` endpoint to
`courses_controller` to bootstrap the frontend-- this will get moved
to `pace_plans_controller` once it has been merged.

It's also worth noting that no frontend tests are included with this
change-- the existing tests were written with enzyme and are heavily
snapshot-based, so we will be replacing those with
@testing-library/react tests in later updates (in keeping with current
testing best practices at Instructure).

closes LS-2431, LS-2432, LS-2433, LS-2434, LS-2452
flag = pace_plans

Test plan:
  - Set up a course with at least one module and several module items
  - Turn on the pace_plans feature flag in the account associated with
    that course
  - Turn on the "Enable pace plans" setting in course settings
  - Create a pace plan for the course via the Rails console:
    c = Course.find<id>
    pp = c.pace_plans.create! workflow_state: 'active'
    c.context_module_tags.each_with_index do |t, i|
      pp.pace_plan_module_items.create! module_item: t, duration: i*2
    end

  - Go to the course as a teacher or admin
  - Expect to see a "Pace Plans" link in the course navigation
  - Click it, expect the pace plan you created earlier to load and
    render
  - Expect to be able to pick dates, change durations, and toggle
    checkboxes (although saves will fail, since there is no API yet).

  - Expect to not see the "Pace Plans" course nav link when the feature
    flag or course setting is off
  - Expect /courses/<id>/pace_plans to return a 404 when the feature
    flag or course setting is off
  - Expect to not see the "Pace Plans" course nav link as a student
  - Expect /courses/<id>/pace_plans to display an "Unauthorized" page
    as a student

Change-Id: If4dc5d17f2c6a2109d4b4cb652c9e9ef00d7cc33
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271650
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: Jeff Largent <jeff.largent@instructure.com>
2021-09-01 19:58:33 +00:00
..
quizzes add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00
submission add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00
assignment_presenter.rb add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00
authentication_providers_presenter.rb add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00
course_for_menu_presenter.rb Fix homeroom courses having annoucements mistakenly hidden 2021-09-01 17:26:51 +00:00
discussion_topic_presenter.rb granularize adding and deleting assignments 2021-08-18 22:39:15 +00:00
grade_summary_assignment_presenter.rb Round grade summary score stats to 2 places 2021-03-17 14:57:20 +00:00
grade_summary_presenter.rb add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00
grades_presenter.rb add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00
grading_period_grade_summary_presenter.rb add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00
mark_done_presenter.rb add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00
override_list_presenter.rb add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00
override_tooltip_presenter.rb add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00
pace_plan_presenter.rb Initial pace plans import 2021-09-01 19:58:33 +00:00
section_tab_presenter.rb add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00
to_do_list_presenter.rb add frozen_string_literal_comment to remaining app files 2021-03-30 17:51:08 +00:00