Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

TODO: what we learned from the first three checkpoints.

Implementation

View

The interface was implemented using Jquery UI which included libraries to create draggable and resizable boxes, as well as the autocomplete input box in the form.  

When the page first loads, it renders the calendar grid based on the length of the schedule and the starting time.  Each time the start or end times of the day changes, the entire calendar grid and all items in the schedule get redrawn.  Each time an activity is added to the “List of Activities” either from the form or from being unscheduled, a new activity box is drawn in the “List of Activities” column.  This means that the “List of Activities” column is modified with each change, but not completely redrawn.  The one time the entire “List of Activities” is redrawn is when the undo and redo buttons are used.  On the other hand, whenever any part of the schedule column changes, the entire schedule is redrawn because often times, more than one element in the schedule is moving and it is hard to keep track of what changed.

In addition to rendering the boxes for each activity, the view also dynamically updates the activity boxes as they are moved and resized so that they show error messages, map labels and the current duration and times.  A single activity can be selected, at which point, it greys out parts of the schedule in which the selected activity cannot be done between.TODO: Danica

Model

TODO: Andrew

Scheduling algorithms (Controller)

...