From c32e171c47de924a79b7aa5e8268dae845e1d792 Mon Sep 17 00:00:00 2001 From: Henrik Nygren Date: Fri, 6 Oct 2023 14:11:40 +0300 Subject: [PATCH] Fix stuff (#1185) * Sort peer review questions in the editor * Rename old quiz types to use Old -prefix * Remove duplicate type * Move quizzes components around * Fixes to received peer review sorting * Add a warning to users of really old browsers * Fixes to the outdated browser warning * Increase max peer review question length --- .../cms/src/components/PeerReviewEditor.tsx | 12 ++- services/cms/src/pages/_app.tsx | 5 ++ .../Essay.tsx | 0 .../Likert.tsx | 0 .../ReceivedPeerReview.tsx} | 27 +++++- .../SVGmatcher.tsx | 0 .../index.tsx | 60 +++++++------ .../moocfi/ExerciseBlock/index.tsx | 2 +- services/course-material/src/pages/_app.tsx | 23 +++-- ...reate_peer_review_question_length.down.sql | 2 + ...ncreate_peer_review_question_length.up.sql | 2 + services/main-frontend/src/pages/_app.tsx | 5 ++ .../components/SubmissionComponents/index.tsx | 18 ---- .../impl-by-quiz-item-type}/Checkbox.tsx | 8 +- .../impl-by-quiz-item-type}/ChooseN.tsx | 10 +-- .../ClosedEndedQuestion.tsx | 14 +-- .../impl-by-quiz-item-type}/Essay.tsx | 10 +-- .../impl-by-quiz-item-type}/Matrix/Matrix.tsx | 6 +- .../Matrix/MatrixCell.tsx | 0 .../MultipleChoice.tsx | 20 ++--- .../MultipleChoiceDropdown.tsx | 10 +-- .../impl-by-quiz-item-type}/Scale.tsx | 12 +-- .../impl-by-quiz-item-type}/Timeline.tsx | 8 +- .../impl-by-quiz-item-type}/Unsupported.tsx | 2 +- .../impl-by-quiz-item-type}/index.tsx | 16 ++-- .../AnswerExercise/index.tsx} | 12 +-- .../ExerciseEditor}/QuizCommonInfo.tsx | 12 +-- .../QuizComponents/QuizEditor.tsx | 2 +- .../QuizComponents/checkbox/index.tsx | 8 +- .../QuizComponents/choose-n/index.tsx | 14 +-- .../closed-ended-question/index.tsx | 14 +-- .../QuizComponents/common/EditorCard.tsx | 6 +- .../QuizComponents/common/MessageDialog.tsx | 0 .../common/MultipleChoiceOption.tsx | 8 +- .../QuizComponents/common/ParsedTextField.tsx | 4 +- .../QuizComponents/common/ToggleCard.tsx | 2 +- .../QuizComponents/essay/index.tsx | 6 +- .../matrix/TableCellContent.tsx | 2 +- .../QuizComponents/matrix/TableContent.tsx | 4 +- .../QuizComponents/matrix/index.tsx | 0 .../multiple-choice-dropdown/index.tsx | 16 ++-- .../QuizComponents/multiple-choice/index.tsx | 16 ++-- .../QuizComponents/scale/index.tsx | 6 +- .../timeline/TimelineContent.tsx | 14 +-- .../QuizComponents/timeline/index.tsx | 0 .../QuizComponents/unsupported/index.tsx | 0 .../QuizCreation/QuizOption.tsx | 6 +- .../ExerciseEditor}/QuizCreation/index.tsx | 6 +- .../ExerciseEditor/index.tsx} | 8 +- .../ExerciseEditor}/utils/general.tsx | 2 +- .../{ => exercise-service-views}/Renderer.tsx | 11 ++- .../impl-by-quiz-item-type}/Checkbox.tsx | 8 +- .../impl-by-quiz-item-type}/ChooseN.tsx | 12 +-- .../Closed-ended-question.tsx | 14 +-- .../impl-by-quiz-item-type}/Essay.tsx | 10 +-- .../impl-by-quiz-item-type}/Matrix.tsx | 8 +- .../MultipleChoice.tsx | 20 ++--- .../MultipleChoiceDropdown.tsx | 12 +-- .../impl-by-quiz-item-type}/Scale.tsx | 12 +-- .../impl-by-quiz-item-type}/Timeline.tsx | 10 +-- .../impl-by-quiz-item-type}/Unsupported.tsx | 6 +- .../impl-by-quiz-item-type/index.tsx | 18 ++++ .../ViewSubmission/index.tsx} | 40 ++++----- services/quizzes/src/grading/utils.ts | 10 +-- .../quizzes/src/pages/api/model-solution.ts | 8 +- services/quizzes/src/pages/api/public-spec.ts | 6 +- services/quizzes/src/pages/iframe.tsx | 36 ++++---- services/quizzes/src/util/migrate.ts | 37 ++++---- .../src/util/migration/migrationSettings.ts | 19 ++-- .../util/migration/modelSolutionSpecQuiz.ts | 10 +-- .../src/util/migration/privateSpecQuiz.ts | 17 ++-- .../src/util/migration/publicSpecQuiz.ts | 6 +- .../src/util/migration/userAnswerSpec.ts | 8 +- .../quizzes/tests/api/utils/quizGenerator.ts | 22 ++--- .../modelSolutionSpecMigration.test.ts | 35 ++++---- .../privateSpecMigration.test.ts | 6 +- .../publicSpecMigration.test.ts | 32 +++---- .../userAnswerMigration.test.ts | 2 +- .../util/migrationTests/utils/comparison.ts | 33 +++---- .../utils/exerciseGeneration.ts | 84 +++++++++--------- .../utils/userAnswerGeneration.ts | 32 +++---- .../types/{types.d.ts => oldQuizTypes.ts} | 88 +++++++++---------- .../types/quizTypes/modelSolutionSpec.ts | 11 --- .../quizzes/types/quizTypes/oldQuizTypes.ts | 1 + .../quizzes/types/quizTypes/privateSpec.ts | 11 --- shared-module/src/locales/en/cms.json | 1 + shared-module/src/utils/constants.ts | 1 + 87 files changed, 587 insertions(+), 550 deletions(-) rename services/course-material/src/components/ContentRenderer/moocfi/ExerciseBlock/PeerReviewView/{PeerReviewReceivedComponent => PeerReviewsReceivedComponent}/Essay.tsx (100%) rename services/course-material/src/components/ContentRenderer/moocfi/ExerciseBlock/PeerReviewView/{PeerReviewReceivedComponent => PeerReviewsReceivedComponent}/Likert.tsx (100%) rename services/course-material/src/components/ContentRenderer/moocfi/ExerciseBlock/PeerReviewView/{PeerReviewReceivedComponent/PeerReviewQuestionAnswer.tsx => PeerReviewsReceivedComponent/ReceivedPeerReview.tsx} (62%) rename services/course-material/src/components/ContentRenderer/moocfi/ExerciseBlock/PeerReviewView/{PeerReviewReceivedComponent => PeerReviewsReceivedComponent}/SVGmatcher.tsx (100%) rename services/course-material/src/components/ContentRenderer/moocfi/ExerciseBlock/PeerReviewView/{PeerReviewReceivedComponent => PeerReviewsReceivedComponent}/index.tsx (73%) create mode 100644 services/headless-lms/migrations/20231006092702_increate_peer_review_question_length.down.sql create mode 100644 services/headless-lms/migrations/20231006092702_increate_peer_review_question_length.up.sql delete mode 100644 services/quizzes/src/components/SubmissionComponents/index.tsx rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/Checkbox.tsx (84%) rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/ChooseN.tsx (87%) rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/ClosedEndedQuestion.tsx (84%) rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/Essay.tsx (88%) rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/Matrix/Matrix.tsx (94%) rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/Matrix/MatrixCell.tsx (100%) rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/MultipleChoice.tsx (86%) rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/MultipleChoiceDropdown.tsx (92%) rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/Scale.tsx (86%) rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/Timeline.tsx (97%) rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/Unsupported.tsx (87%) rename services/quizzes/src/components/{widget => exercise-service-views/AnswerExercise/impl-by-quiz-item-type}/index.tsx (94%) rename services/quizzes/src/components/{AnswerExercise.tsx => exercise-service-views/AnswerExercise/index.tsx} (78%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizCommonInfo.tsx (86%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/QuizEditor.tsx (94%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/checkbox/index.tsx (83%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/choose-n/index.tsx (93%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/closed-ended-question/index.tsx (93%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/common/EditorCard.tsx (96%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/common/MessageDialog.tsx (100%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/common/MultipleChoiceOption.tsx (95%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/common/ParsedTextField.tsx (94%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/common/ToggleCard.tsx (97%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/essay/index.tsx (87%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/matrix/TableCellContent.tsx (98%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/matrix/TableContent.tsx (94%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/matrix/index.tsx (100%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/multiple-choice-dropdown/index.tsx (95%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/multiple-choice/index.tsx (95%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/scale/index.tsx (88%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/timeline/TimelineContent.tsx (92%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/timeline/index.tsx (100%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizComponents/unsupported/index.tsx (100%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizCreation/QuizOption.tsx (87%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/QuizCreation/index.tsx (96%) rename services/quizzes/src/components/{ExerciseEditor.tsx => exercise-service-views/ExerciseEditor/index.tsx} (71%) rename services/quizzes/src/components/{QuizV2 => exercise-service-views/ExerciseEditor}/utils/general.tsx (98%) rename services/quizzes/src/components/{ => exercise-service-views}/Renderer.tsx (86%) rename services/quizzes/src/components/{SubmissionComponents => exercise-service-views/ViewSubmission/impl-by-quiz-item-type}/Checkbox.tsx (87%) rename services/quizzes/src/components/{SubmissionComponents => exercise-service-views/ViewSubmission/impl-by-quiz-item-type}/ChooseN.tsx (80%) rename services/quizzes/src/components/{SubmissionComponents => exercise-service-views/ViewSubmission/impl-by-quiz-item-type}/Closed-ended-question.tsx (82%) rename services/quizzes/src/components/{SubmissionComponents => exercise-service-views/ViewSubmission/impl-by-quiz-item-type}/Essay.tsx (80%) rename services/quizzes/src/components/{SubmissionComponents => exercise-service-views/ViewSubmission/impl-by-quiz-item-type}/Matrix.tsx (94%) rename services/quizzes/src/components/{SubmissionComponents => exercise-service-views/ViewSubmission/impl-by-quiz-item-type}/MultipleChoice.tsx (89%) rename services/quizzes/src/components/{SubmissionComponents => exercise-service-views/ViewSubmission/impl-by-quiz-item-type}/MultipleChoiceDropdown.tsx (92%) rename services/quizzes/src/components/{SubmissionComponents => exercise-service-views/ViewSubmission/impl-by-quiz-item-type}/Scale.tsx (84%) rename services/quizzes/src/components/{SubmissionComponents => exercise-service-views/ViewSubmission/impl-by-quiz-item-type}/Timeline.tsx (94%) rename services/quizzes/src/components/{SubmissionComponents => exercise-service-views/ViewSubmission/impl-by-quiz-item-type}/Unsupported.tsx (63%) create mode 100644 services/quizzes/src/components/exercise-service-views/ViewSubmission/impl-by-quiz-item-type/index.tsx rename services/quizzes/src/components/{ViewSubmission.tsx => exercise-service-views/ViewSubmission/index.tsx} (90%) rename services/quizzes/types/{types.d.ts => oldQuizTypes.ts} (80%) diff --git a/services/cms/src/components/PeerReviewEditor.tsx b/services/cms/src/components/PeerReviewEditor.tsx index 80186aa57e44..268fef50417d 100644 --- a/services/cms/src/components/PeerReviewEditor.tsx +++ b/services/cms/src/components/PeerReviewEditor.tsx @@ -95,8 +95,6 @@ const StyledQuestionType = styled.div` } ` -const HEADING_TEXT = "Configure review answers option" - export interface PeerReviewEditorExtraProps { attributes: Readonly> setAttributes: (attr: Partial) => void @@ -407,10 +405,11 @@ const PeerReviewEditor: React.FC = ({ handlePeerReviewValueChange(value, "accepting_threshold") }} /> -

{HEADING_TEXT}

+

{t("configure-review-answers-option")}

{parsedPeerReviewQuestionConfig && - parsedPeerReviewQuestionConfig.map( - ({ id, question, question_type, answer_required }) => ( + parsedPeerReviewQuestionConfig + .sort((o1, o2) => o1.order_number - o2.order_number) + .map(({ id, question, question_type, answer_required }) => ( = ({ - ), - )} + ))}