Subscribe to scheduling runs, refine computation and display of scheduling status, and allow users to cancel the current scheduling request if pending or incomplete.
Changes:
Subscribe to the scheduling_requests table, filtered by current scheduling spec id
Subscribe to current scheduling spec
Refactor effects.schedule to use a temporary subscription on the schedulingRequests store (which is now a gql subscription) instead of polling the schedule action
Display modified status for scheduling when out of date with scheduling spec or plan revision
Closes #1040, closes #1047.
Testing:
Make a plan
Verify that scheduling status in the navbar is not present as no scheduling runs have been performed
Add a scheduling goal to the plan in a new tab that should add activities
Verify that the scheduling status for the plan is marked as modified without having to refresh the page
Run scheduling analysis
Scheduling status should transition to in-progress and then to failure
Inside the plan's scheduling panel the goal should indicate that not all goals were satisfied
Verify that the navbar status on hover indicates 1 unsatisfied goal
Run scheduling
Scheduling status should transition to in-progress and then to success
Refresh the page and ensure that the status remains success
Modify the plan (move an activity)
Re-run scheduling
Ensure that a new simulation is loaded in the UI (check simulation panel) after scheduling completes
Subscribe to scheduling runs, refine computation and display of scheduling status, and allow users to cancel the current scheduling request if pending or incomplete.
Changes:
scheduling_requests
table, filtered by current scheduling spec ideffects.schedule
to use a temporary subscription on theschedulingRequests
store (which is now a gql subscription) instead of polling theschedule
actionCloses #1040, closes #1047.
Testing: