planner wasn't being initialized with the proper timezone when the todo
sidebar was being loaded. The api data was being parsed in UTC, but then
displayed in the user's timezone.
fixes ADMIN-1335
test plan:
- have an assignment due at exactly midnight in the UTC timezone
- have a student in a different timezone.
- the todo sidebar on the dashboard should show the proper time to the
student in their timezone
- make sure planner and to-do sidebar still work:
- when you're a teacher on the card view dashboard
- when you're a student on the card view dashboard
- when you're a student on the list view dashboard
- when you're a teacher on the course show page
- when you're a student on the course show page
Change-Id: Ia5320bc4866dbebeec6e6a80ca66b1c3f16c7c07
Reviewed-on: https://gerrit.instructure.com/162462
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Jenkins
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
Closes: CORE-1778
Before, we were needlessly making these Ajax requests to fetch the
sidebar even on the planner dashboard even though it was being rendered
into an element that was display:none’ed
Test plan:
* load the dashcard or “recent history” dashboards,
* open the network panel, you should see an XHR request to get
‘/dashboard-sidebar’
* if, and only if, the student planner feature flag is enabled:
You should also see a request to ‘/planner-items’
* they should show the sidebar to do list exactly as they did before
* load the student planner dashboard
* open the network panel, you should NOT see an XHR request to get
‘/dashboard-sidebar’
* use the toggle to show one of the “Recent Activity” or “Card View”
dashboards without reloading the page
* at that moment, you should now see a xhr get request for
‘/dashboard-sidebar’ and you should see a loading spinner show up
on the sidebar then it should populate with your todo list, just like
it did before
Change-Id: If9d9cc39b1b1c1a0afb26a614b7ed6479276a2b7
Reviewed-on: https://gerrit.instructure.com/162135
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
fixes ADMIN-1296
test plan:
- have a student with some upcoming assignments and ungraded pages
with todo dates in her planner
associated with a couple different courses.
- load the planner
> expect to see her stuff
- load the card dashboard
> expect to see all her upcoming to dos in the sidebar
- click the Show All button
> expect to be taken to the planner
- refresh the page
> expect the card dashboard is still her default
- go to one of the courses with upcoming to dos
> expect to see just the todos in the course To Do sidebar for that
course
> expect no Show All button below the to do list
- disable student planner
- go to a course with upcoming to dos
> expect the legacy to do sidebar
Change-Id: Ic00549abd25a17227a697fc99a2584af6e9ae788
Reviewed-on: https://gerrit.instructure.com/160669
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
closes: CORE-114
make it so the dashboard
only loads the dashboards by default and only loads
the stream items via ajax when you say you want them.
test plan:
* load your dashboard
* it should load faster than it did before (especially
for a user in a lot of classes with a lot of activity)
* click the toggle to see the "stream item view"
* it should show a spinner then load your stream items
* click any expand or collapse links on the stream items,
those should still work
* click the toggle a few more times, it should not
re-load the stream items
Change-Id: Id3b79ec30a238d13949a6f209d34d22669c1c64e
Reviewed-on: https://gerrit.instructure.com/89235
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
fixes ADMIN-1154, ADMIN-1171
test plan:
- load the planner in card view with < 5 items todo
> shouldn't break or report errors.
> should be able to dismiss all items
- load the planner in card view with lots and lots of todo items
> should see 5 items in sidebar
> should not exhaust pagination before showing todo list
> unless it must to get 5 incomplete items
- start dismissing items
> should see network requests only as needed to keep 10 items in memory
> should be able to dismiss all items without errors.
- click on show all
> should take you to list view
Change-Id: Ideb90a439f27683c9bb67f7dfa7ab2eb3b0a8611
Reviewed-on: https://gerrit.instructure.com/154945
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Luke Kingsley <lkingsley@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
This moves the sidebar code from main canvas into the canvas-planner
repository. This allows us to merge the redux state into one redux store
and allows the list view and the sidebar respond to each other's
actions.
Right now their state is still somewhat separated and they do individual
loads. It would be nice to make them use the same data and only have a
single loading process, but for now this is simple and works.
closes ADMIN-1048
fixes ADMIN-1097
test plan:
- in general, make sure the completion status of the todo side bar on
the card view syncs up with the list view.
- dismissing an item on the sidebar should mark it as complete in the
list view.
- completing an item in the list view should remove it from the side
bar.
- uncompleting an item in the list view should add it back to the side
bar.
- if the dashboard is initially in card view, dismissing items should
work fine and not cause any console errors.
- adding an incomplete item in list view within two weeks of today
should add it to the side bar.
- adding an incomplete item in list view outside of two weeks from today
should not add it to the side bar.
- changing the date of an item should also change its date in the
sidebar, potentially removing it from the side bar if the new date is
outside of the two weeks.
- changing the date of an item that was outside the two weeks to inside
the two weeks should add it to the side bar.
- deleting an item in list view should also delete it from the side bar.
- items in the side bar should always be sorted by their date and title,
even when these have been edited in list view.
Change-Id: I52660ec4102ffd4a0bba94210e77041da8e6a486
Reviewed-on: https://gerrit.instructure.com/150663
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
QA-Review: Luke Kingsley <lkingsley@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
This requires some rearranging so the new activity button appears after
the kabob menu in the DOM. Used a Portal to implement that so we didn't
have to have yet another separate top-level render, and so the logic
of whether to show the new activity button can stay in the header.
fixes ADMIN-1104
test plan:
- new activity button should still behave as before.
- it should come after the kabob menu in the tab order.
- it should be shown and hidden when changing dashboards in the kabob
menu.
Change-Id: Icd50dc09d7f769f04911218c0f026c7a1278185b
Reviewed-on: https://gerrit.instructure.com/152742
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
refs: CORE-1437
This commit just upgrades these components to use instUI 5 instead of
getting them from ui-core in instUI 4.
It is mostly just path renaming.
Test plan:
* verify these components still work as they used to and tests pass
Change-Id: Idec02d4f36e44ec7e421eca0445113de27fb01f1
Reviewed-on: https://gerrit.instructure.com/151788
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
fixes ADMIN-1017
test plan:
- have a planner with items due in the future and past, but not today.
- load planner and click the Today button
> expect screenreaders to tell the user meaningful information about
> what just happened
- scroll away from today and click the button again
> expect the screenreader to tell the user meaningful info.
Change-Id: Iea9b668ce3502e167c30516f60f7be18db2845d1
Reviewed-on: https://gerrit.instructure.com/149336
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
closes: CORE-1433
This upgrades us to use @instructure/ui-icons everywhere instead
Of the old ‘instructure-icons’
Note here is the magic regex I used:
Find: (instructure-icons/lib/)(Line|Solid)(/Icon.*)(Line|Solid)
Replace: @instructure/ui-icons/lib/$2$3
test plan:
* all instUI icons should look/behave (as in, have same
tooltips/screnreader labels/etc) the same as before.
Change-Id: I239a0545e5e3f4279ad5a3254eb28ea35c079a4d
Reviewed-on: https://gerrit.instructure.com/149288
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
fixes ADMIN-934
test plan:
- view 'card view' of ToDo items in student dashboard
- using NVDA or JAWS on Windows, the dismissal button for each
ToDo should read 'Dismiss <title>', not generic 'Dismiss This'
Change-Id: Id1b08b4402c415593a4d8f1a81c4ebeb4ea8045f
Reviewed-on: https://gerrit.instructure.com/149443
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Carl Kibler <ckibler@instructure.com>
Moves the focus management on deleted items from the manager to the new
animation stuff.
fixes ADMIN-784
test plan:
- In the dashboard list view, have a to do item at the beginning of the
list. One way to do this is to create one with a date before the
existing items.
- Delete the item at the beginning of the list. Focus should go to the
triple dot menu button.
- Have a to do item in the middle of the list.
- Delete the mid-list item. Focus should still go to the prior item.
Change-Id: I22869e37c5e9af5f87893d4f117c92b459739d8a
Reviewed-on: https://gerrit.instructure.com/145645
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
Closes ADMIN-634
Test Plan:
* As an admin
* With the student planner feature flag disabled
* Set the account's Default Dashboard View setting to 'activity'
* Masquerade as a newly created user in that account
* View their dashboard
* It should match the account's setting
* Repeat the process above, but enable the student planner feature
flag and make sure the new user for testing the
dashboard is a student
* It should still work as above
Change-Id: Ic9a99c5710ac0eeca22afaf4a5c76f3c542ce65f
Reviewed-on: https://gerrit.instructure.com/138160
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Christi Wruck
Fixes: UIDEV-162
Test plan:
- Confirm on all supported browsers that the bottom
border of the dashboard header lines up with the
bottom border of the To Do List header:
https://www.screencast.com/t/M3BURi4nT
(Test the dashboard in its List, Card, and Recent
Activity states.)
- Confirm that when there is a logo in the right
sidebar that the top of the logo approximately lines
up with the top of the "..." icon in the dashboard
header:
https://www.screencast.com/t/FsQ5EywJ8sc
- Confirm that the dashboard header and the Canvas
breadcrumbs nav are now the exact same height
(4.5rem):
https://www.screencast.com/t/J8JtIRnKuyh7
Change-Id: I812e089f6da0c6babd1af87062bcc31a9230deaf
Reviewed-on: https://gerrit.instructure.com/139315
Tested-by: Jenkins
Reviewed-by: Pam Hiett <phiett@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Kyle Follett <kfollett@instructure.com>
This is on the dashboard in card view or recent activity view, with
planner enabled.
Made the todo header focusable because otherwise there's no good place
to set the focus when you delete the first item.
fixes ADMIN-699
test plan:
- Have some items on the todo sidebar, including planner notes.
- Play around with deleting them. Focus should go to the prior item.
- Deleting the first or only item should set focus to the todo title.
Change-Id: I1c9deb31341d4de84ecfa8b0142088e1b0bb8891
Reviewed-on: https://gerrit.instructure.com/141281
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
moment has a bug, in that moment.format() doesn't generate a correct
ISO8601 string when the locale is ar. This fix works around that.
fixes ADMIN-728
test plan:
- log in as a student with some todos in the planner
- set her language to Arabic (6th from the bottom)
- open the planner
> expect the planner to load. no network errors
> expect the todos to be on the correct dates dates and the
> times to be correct (if you're in chrome, you can translate the page)
- go to the card dashboard
> expect the todo sidebar to look right too.
Change-Id: I1d0dc3ea7c3a7e6d8265918f1f66b14bd1761206
Reviewed-on: https://gerrit.instructure.com/141000
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
fixes ADMIN-574
Test plan
- Ensure only the API calls for the current
dashboard are called on page load
- Ensure each dashboard can properly load
when you select a new one
- Ensure that if you turn off the to do feature
that after the setting has saved properly (it
takes a few seconds) that the option disappears
from the drop down and the view changes to card
view if list view was selected
- Load up the planner dashboard and then switch to
another dashboard and ensure API calls are NOT made
to load future or past items for the planner when
scrolling
Change-Id: Ibb5f640440179a667a128993a6effd3f898e8465
Reviewed-on: https://gerrit.instructure.com/138566
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
fixes ADMIN-727
test plan:
- have a course in Mountain Time, with a teacher in MT.
- log in as the teacher and create an assignment due at 1pm some day.
- log in as a user with a profile timezone set to Atlantic Time
(Canada)
- load the card dashbaord
> expect the assignment's due date to show up at 4pm
- load the list dashboard
> expect the assignment's due data to also be 4pm
- open the planner dashboard
- create a to do
> expect the date to default to today
- save
> expect the todo to show up in the planner on today
- click the todo to edit it
> expect the date field to still show the same date
Change-Id: I43c8985f11354bd06b5b8af6b64eeb7eb8bb02fd
Reviewed-on: https://gerrit.instructure.com/140523
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
The code handling the ToDoSidebar query for /planner/items didn't
account for no "link" header in the response.
fixes ADMIN-710
test plan:
- have some upcoming things in the todo list
- enable planner
- load Card dashboard
> expect all your todos to be in the sidebar
Change-Id: Ib3f3869762b952f4a68a2bd4de9d6d77e15cf225
Reviewed-on: https://gerrit.instructure.com/140152
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Mysti Sadler <mysti@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
Closes: CORE-755
this is the result of running these code mods:
http://instructure.github.io/instructure-ui/#ui-codemods
against these files to upgrade them from instui 3 to 4.
Test plan:
* if this passes Jenkins, you can probably merge this as-is
* but first have the devs on your team give it a code-review
* and have QA manually click around and make sure these
pages/components still work
* if it doesn’t pass Jenkins. You, or someone on the team that “owns”
this part of the code needs to check out this commit and push new
patchsets until it does pass. Please do so ASAP
Change-Id: I7f7d2c1444ae5b303f93d2b19906c33813e2dd94
Reviewed-on: https://gerrit.instructure.com/135359
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
fixes ADMIN-596
Test plan
- Have at least 6 to do items
- Load non-planner dashboard with planner feature flag enabled
- Ensure link text works
Change-Id: If1243465b263685ccf744f10c9c6a4b5addd6a2b
Reviewed-on: https://gerrit.instructure.com/135095
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
this just makes it so redux-logger is not included in the production
webpack bundle for the scheduler.
Test plan:
* the todo sidebar should work
* it should log actions in development mode in the browser console
* it shouldn’t in production
Change-Id: Idd8b593f1025b0f92cc91793216dd464ef45a185
Reviewed-on: https://gerrit.instructure.com/133701
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
closes FALCOR-508
closes FALCOR-509
Test Plan
* Open up teacher account and make sure that
old dashboard widget shows
* Use a student account
* Have dashboard feature flag on
* Make sure the correct assignments show on dashboard
* Dismissing should work correctly on dashboard
* This shows assignments only 2 weeks prior
and 2 weeks after the current day
Change-Id: I473b764989192d8764b9324c24ad4f2933df4cd1
Reviewed-on: https://gerrit.instructure.com/122705
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Aaron Kc Hsu <ahsu@instructure.com>
closes FALCOR-505
closes FALCOR-554
Test Plan:
- Enable the planner feature flag
- Create some To Do items from the planner
- Add some other items that have due dates or "to do" dates
- These items should show in the widget
NOTE: The widget only shows when on the card view or recent activity views
of the dashboard
- Click the X icon on one of the items, it should remove the item.
- Click the title of a non-todo note item and it should take you to the
show page for that item.
- See if show more button shows up only when you have more then 5 todos
- Click show more buttons shows all the todos
Some things to note for future changes this only pulls first 10
for now but we will add pagination and day limiting in the future
Change-Id: Ie1babd4de190bcfb62df87e40676d9c9293feed2
Reviewed-on: https://gerrit.instructure.com/118917
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: David Mirabile <dmirabile-c@instructure.com>
Product-Review: Aaron Kc Hsu <ahsu@instructure.com>
closes FALCOR-408
Test Plan:
- Go to the dashboard
- You shouldn't seen any warnings or errors in the
console relating to invalid or missing props
Change-Id: I344a892ede66cb5f9f3ec62859642153bbfe80d1
Reviewed-on: https://gerrit.instructure.com/117609
Tested-by: Jenkins
Reviewed-by: Aaron Kc Hsu <ahsu@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
Fixes: FALCOR-378
Note for CR:
Sticky positioning CSS has to be applied to the outermost dashboard
header DIV for it to work (it needs to be a sibling of the main dashboard
content).
Unfortunately, the dashboard header DIV is also the mount point for the
<DashboardHeader /> component, and I couldn't figure out how to add
classes to it based on what dashboard view was showing.
This is why I'm adding classes to the body :(
Test plan:
Log into Canvas as a student. Make sure the planner
is turned on in accounts settings first.
Chrome, Firefox, Safari:
- All dashboard headers (Cards, List, Recent Activity) should be sticky
IE:
- The dashboard header will only be sticky for Planner
- You should no longer see the bug described in the JIRA ticket
Change-Id: Ie1bcf30567ff91413ee0b569c9ed434d1fd1320f
Reviewed-on: https://gerrit.instructure.com/116620
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
closes FALCOR-319
Test Plan:
- Load up the user dashboard
- The header works like it has before
- Options menu works, etc.
Change-Id: Iba08847fda295fbdac04733b8a2d486b029087b9
Reviewed-on: https://gerrit.instructure.com/114708
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>