MakeSchedule

The MakeSchedule component separates a repository's files into three groups: extra files, which are displayed at the top of the page for customisation; scheduled episodes, which are displayed in the day to which they have been assigned and which show their start time; and unscheduled episodes, which are displayed in a stash for allocation to the schedule by the user. The stash offers a button to add additional episodes by conducting a GitHub search.

Props

Name Type Default value Required? Description
recalculateItems Boolean true No Whether the time-consuming operation of detecting the files available should be conducted.

Data

Name Type Default value Description
addRemoteItems Boolean false Whether the modal for adding remote items to the stash is open.
remoteRepositoryName String "" Search string used for filtering repositories when adding items to the stash.
availableEpisodes Array.<File>|Array [ Episodes available scheduling.
expandedRepo String "" Name of the repository currently expanded in the add-items-to-stash modal.

Computed

Name Type Description
mainRepo Repository Repository currently being created by the Workshop Builder Tool.
allItems Array.<File> Items available for scheduling, including both local and remote episodes.
schedule Schedule The schedule for the workshop.
filteredTopicRepositories Array.<Repository> A list of repositories matching the current text filter in the add-items-to-stash search box.
autoCompleteOptions Array.<String> Autocomplete prompts for entering remoteRepositoryName filter string.
remoteRepositoryEpisodes Array.<File> Currently unused.

Methods

addRepositoryEpisodes(episodes)

Add episodes into the stash from a remote repository by marking them as available.
Parameters:
Name Type Description
episodes Array.<File> Episodes to add.

clearStash()

Clear stash episodes.

setEpisodeAvailable(E, available)

Mark an episode as available for including in the current project.
Parameters:
Name Type Description
E File Episode to mark.
available boolean Whether the episode should be available.

updateEpisode(episode)

Update an episode to mark its new place in the schedule.
Parameters:
Name Type Description
episode File Episode to update.

updateItemDay(item, dayId, prevOrderopt, nextOrderopt)

Update the scheduled day for an item. If attempting to update a duplicatable item, the item will be duplicated. If stashing an item that deletes when stashed, that item will be deleted.
Parameters:
Name Type Attributes Description
item File Episode to update.
dayId Number | "" Day to which the episode belongs.
prevOrder Number <optional>
The order number of the episode before this one.
nextOrder Number <optional>
The order number of the episode after this one.