Loading static/js/exercises.api.mjs +16 −0 Changes for static/js/exercises.api.mjs: 16 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -210,6 +210,22 @@ class Test { this.name = name this.exercises = exercises } /** * Return the next unsolved exercise, given the current state that's given as parameter */ getNextUnsolvedExercise(currentState) { if (currentState.solvedExercises.length === this.exercises.length) { return null } else { let nextUnsolvedExerciseIndex = currentState.exerciseIndex while (currentState.solvedExercises.includes(nextUnsolvedExerciseIndex)) { nextUnsolvedExerciseIndex = (nextUnsolvedExerciseIndex + 1) % this.exercises.length } return this.exercises[nextUnsolvedExerciseIndex] } } } /** Loading static/js/yalikejazz.mjs +1 −14 Changes for static/js/yalikejazz.mjs: 1 added line, 14 removed lines. Original line number Diff line number Diff line Loading @@ -3,19 +3,6 @@ import { pooltest } from "./exercises.mjs" import { getHandInToken } from "./snakeoil.mjs" import { createExerciseCard, displayAsSolved, displayAsNonCurrent, displayAsCurrent } from "./exercises.cards.mjs" function findNextUnsolvedExercise() { if (currentState.solvedExercises.length === pooltest.exercises.length) { return null } else { let nextUnsolvedExerciseIndex = currentState.exerciseIndex while (currentState.solvedExercises.includes(nextUnsolvedExerciseIndex)) { nextUnsolvedExerciseIndex = (nextUnsolvedExerciseIndex + 1) % pooltest.exercises.length } return pooltest.exercises[nextUnsolvedExerciseIndex] } } /** * Create a DOM card for the given exercise, displays is as solved if solved and inits event listeners * @param {Exercise} exercise The exercise Loading Loading @@ -59,7 +46,7 @@ function startExercise(exercise) { currentState.markAsSolved(exercise.index) displayAsSolved(cardEl) const nextExercise = findNextUnsolvedExercise() const nextExercise = pooltest.getNextUnsolvedExercise(currentState) if (nextExercise === null) { alert("Du hast den Pooltest erfolgreich abgeschlossen! Du kannst jetzt abgeben :)") Loading Loading
static/js/exercises.api.mjs +16 −0 Changes for static/js/exercises.api.mjs: 16 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -210,6 +210,22 @@ class Test { this.name = name this.exercises = exercises } /** * Return the next unsolved exercise, given the current state that's given as parameter */ getNextUnsolvedExercise(currentState) { if (currentState.solvedExercises.length === this.exercises.length) { return null } else { let nextUnsolvedExerciseIndex = currentState.exerciseIndex while (currentState.solvedExercises.includes(nextUnsolvedExerciseIndex)) { nextUnsolvedExerciseIndex = (nextUnsolvedExerciseIndex + 1) % this.exercises.length } return this.exercises[nextUnsolvedExerciseIndex] } } } /** Loading
static/js/yalikejazz.mjs +1 −14 Changes for static/js/yalikejazz.mjs: 1 added line, 14 removed lines. Original line number Diff line number Diff line Loading @@ -3,19 +3,6 @@ import { pooltest } from "./exercises.mjs" import { getHandInToken } from "./snakeoil.mjs" import { createExerciseCard, displayAsSolved, displayAsNonCurrent, displayAsCurrent } from "./exercises.cards.mjs" function findNextUnsolvedExercise() { if (currentState.solvedExercises.length === pooltest.exercises.length) { return null } else { let nextUnsolvedExerciseIndex = currentState.exerciseIndex while (currentState.solvedExercises.includes(nextUnsolvedExerciseIndex)) { nextUnsolvedExerciseIndex = (nextUnsolvedExerciseIndex + 1) % pooltest.exercises.length } return pooltest.exercises[nextUnsolvedExerciseIndex] } } /** * Create a DOM card for the given exercise, displays is as solved if solved and inits event listeners * @param {Exercise} exercise The exercise Loading Loading @@ -59,7 +46,7 @@ function startExercise(exercise) { currentState.markAsSolved(exercise.index) displayAsSolved(cardEl) const nextExercise = findNextUnsolvedExercise() const nextExercise = pooltest.getNextUnsolvedExercise(currentState) if (nextExercise === null) { alert("Du hast den Pooltest erfolgreich abgeschlossen! Du kannst jetzt abgeben :)") Loading