From e71275a0dc7a05f10cb992df8ef47e2f58c58ccf Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Wed, 25 Jun 2025 12:15:27 +0530 Subject: [PATCH] feat: javascript exercises --- frontend/components.d.ts | 1 - frontend/src/components/AppSidebar.vue | 21 +-- frontend/src/components/Assessments.vue | 2 +- frontend/src/components/BatchDashboard.vue | 3 +- .../src/components/Controls/Autocomplete.vue | 1 + .../src/components/Controls/ChildTable.vue | 13 +- frontend/src/components/Controls/Link.vue | 1 + frontend/src/components/MobileLayout.vue | 9 -- frontend/src/components/Modals/Event.vue | 9 ++ .../ProgrammingExerciseForm.vue | 89 ++++++++--- .../ProgrammingExerciseSubmission.vue | 151 ++++++++++++++---- .../ProgrammingExerciseSubmissions.vue | 54 ++++++- .../ProgrammingExercises.vue | 18 ++- .../src/pages/ProgrammingExercises/types.ts | 25 +++ frontend/src/utils/index.js | 11 ++ .../lms_programming_exercise.json | 23 ++- .../lms_programming_exercise.py | 10 +- .../lms_programming_exercise_submission.json | 49 +++++- 18 files changed, 387 insertions(+), 103 deletions(-) diff --git a/frontend/components.d.ts b/frontend/components.d.ts index a69cab6e..98fda927 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -79,7 +79,6 @@ declare module 'vue' { PageModal: typeof import('./src/components/Modals/PageModal.vue')['default'] PaymentSettings: typeof import('./src/components/Settings/PaymentSettings.vue')['default'] Play: typeof import('./src/components/Icons/Play.vue')['default'] - ProgrammingExerciseModal: typeof import('./src/components/Modals/ProgrammingExerciseModal.vue')['default'] ProgressBar: typeof import('./src/components/ProgressBar.vue')['default'] Question: typeof import('./src/components/Modals/Question.vue')['default'] Quiz: typeof import('./src/components/Quiz.vue')['default'] diff --git a/frontend/src/components/AppSidebar.vue b/frontend/src/components/AppSidebar.vue index c3d9c173..9a96b146 100644 --- a/frontend/src/components/AppSidebar.vue +++ b/frontend/src/components/AppSidebar.vue @@ -313,7 +313,7 @@ const addNotifications = () => { const addQuizzes = () => { if (isInstructor.value || isModerator.value) { - sidebarLinks.value.push({ + sidebarLinks.value.splice(4, 0, { label: 'Quizzes', icon: 'CircleHelp', to: 'Quizzes', @@ -329,7 +329,7 @@ const addQuizzes = () => { const addAssignments = () => { if (isInstructor.value || isModerator.value) { - sidebarLinks.value.push({ + sidebarLinks.value.splice(5, 0, { label: 'Assignments', icon: 'Pencil', to: 'Assignments', @@ -343,22 +343,6 @@ const addAssignments = () => { } } -const addProgrammingExercises = () => { - if (isInstructor.value || isModerator.value) { - sidebarLinks.value.push({ - label: 'Programming Exercises', - icon: 'Code', - to: 'ProgrammingExercises', - activeFor: [ - 'ProgrammingExercises', - 'ProgrammingExerciseForm', - 'ProgrammingExerciseSubmissions', - 'ProgrammingExerciseSubmission', - ], - }) - } -} - const addPrograms = () => { let activeFor = ['Programs', 'ProgramForm'] let index = 1 @@ -644,7 +628,6 @@ watch(userResource, () => { addPrograms() addQuizzes() addAssignments() - addProgrammingExercises() setUpOnboarding() } }) diff --git a/frontend/src/components/Assessments.vue b/frontend/src/components/Assessments.vue index 94db559a..bd1918a7 100644 --- a/frontend/src/components/Assessments.vue +++ b/frontend/src/components/Assessments.vue @@ -231,7 +231,7 @@ const getAssessmentColumns = () => { } const getStatusTheme = (status) => { - if (status === 'Pass') { + if (status === 'Pass' || status === 'Passed') { return 'green' } else if (status === 'Not Graded') { return 'orange' diff --git a/frontend/src/components/BatchDashboard.vue b/frontend/src/components/BatchDashboard.vue index 196cbf88..d7639490 100644 --- a/frontend/src/components/BatchDashboard.vue +++ b/frontend/src/components/BatchDashboard.vue @@ -6,13 +6,12 @@ :courses="batch.data.courses" /> - + diff --git a/frontend/src/pages/ProgrammingExercises/ProgrammingExerciseSubmission.vue b/frontend/src/pages/ProgrammingExercises/ProgrammingExerciseSubmission.vue index d9ea9bcd..8c232371 100644 --- a/frontend/src/pages/ProgrammingExercises/ProgrammingExerciseSubmission.vue +++ b/frontend/src/pages/ProgrammingExercises/ProgrammingExerciseSubmission.vue @@ -6,10 +6,15 @@
-
+
+
+ {{ __('Problem Statement') }} +
+
+
@@ -22,7 +27,13 @@ > {{ submission.doc.status }} -