diff --git a/README.md b/README.md
index ba8060e..fcb5ef4 100644
--- a/README.md
+++ b/README.md
@@ -42,7 +42,8 @@ Attainly then distributes the selected elements across the available days.
When there are fewer assignments than days, the user can spread them across
the full range or pack them into consecutive days at the start, middle, or
end. When an uneven schedule has more than one assignment per day, the user
-can place the consecutive heavier days at the start, middle, or end.
+can spread the heavier days across the full range or keep them together at
+the start, middle, or end.
For example, a user could choose to schedule:
diff --git a/frontend/website/src/views/CreateScheduleView.vue b/frontend/website/src/views/CreateScheduleView.vue
index f0bdd1e..91fdb29 100644
--- a/frontend/website/src/views/CreateScheduleView.vue
+++ b/frontend/website/src/views/CreateScheduleView.vue
@@ -14,7 +14,6 @@ import { useSetLayoutStore } from '@/stores/setLayout'
type ScheduleField = 'levelId' | 'startDate' | 'targetDate'
type ScheduleFieldErrors = Partial>
-type PackedWorkloadPlacement = Exclude
type PlacementContext = 'unavailable' | 'sparse' | 'heavy' | 'balanced'
const route = useRoute()
@@ -30,17 +29,18 @@ const form = reactive({
targetDate: '',
})
const sparseWorkloadPlacement = ref('spread')
-const heavyWorkloadPlacement = ref('middle')
+const heavyWorkloadPlacement = ref('middle')
const fieldErrors = ref({})
const levels = computed(() =>
(layout.value?.levels ?? []).filter((level) => level.elementCount > 0),
)
const selectedLevel = computed(() => levels.value.find((level) => level.id === form.levelId))
-const packedWorkloadPlacementOptions: Array<{
- value: PackedWorkloadPlacement
+const workloadPlacementOptions: Array<{
+ value: WorkloadPlacement
label: string
}> = [
+ { value: 'spread', label: 'Spread evenly' },
{ value: 'start', label: 'At the start' },
{ value: 'middle', label: 'In the middle' },
{ value: 'end', label: 'At the end' },
@@ -78,15 +78,6 @@ const placementContext = computed(() => {
const showWorkloadPlacement = computed(
() => placementContext.value === 'sparse' || placementContext.value === 'heavy',
)
-const workloadPlacementOptions = computed>(
- () => {
- if (placementContext.value === 'sparse') {
- return [{ value: 'spread', label: 'Spread evenly' }, ...packedWorkloadPlacementOptions]
- }
-
- return packedWorkloadPlacementOptions
- },
-)
const selectedWorkloadPlacement = computed({
get() {
if (placementContext.value === 'sparse') {
@@ -102,9 +93,7 @@ const selectedWorkloadPlacement = computed({
return
}
- if (value !== 'spread') {
- heavyWorkloadPlacement.value = value
- }
+ heavyWorkloadPlacement.value = value
},
})
@@ -290,14 +279,10 @@ async function retry(): Promise {
Spread assignments across the schedule or keep them on consecutive days.
- Some days need one extra assignment. Choose where those days appear in the schedule.
+ Spread heavier days across the schedule or keep them together at the start, middle, or
+ end.
-