From 1dfec66a958771823e02573edc29e179d4fe531b Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Wed, 21 Feb 2024 16:42:20 +0800 Subject: [PATCH 01/22] Add generic type argument to column definitions Improves type safety. --- .../adminPanel/subcomponents/NotificationConfigPanel.tsx | 2 +- .../assessmentConfigPanel/AssessmentConfigPanel.tsx | 4 ++-- .../subcomponents/userConfigPanel/UserConfigPanel.tsx | 4 ++-- src/pages/academy/notiPreference/NotiPreference.tsx | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/academy/adminPanel/subcomponents/NotificationConfigPanel.tsx b/src/pages/academy/adminPanel/subcomponents/NotificationConfigPanel.tsx index 034b56ab43..008531d606 100644 --- a/src/pages/academy/adminPanel/subcomponents/NotificationConfigPanel.tsx +++ b/src/pages/academy/adminPanel/subcomponents/NotificationConfigPanel.tsx @@ -94,7 +94,7 @@ const NotificationConfigPanel = () => { return params.data!.notificationType.forStaff ? 'Staff' : 'Student'; }; - const columnDefs: ColDef[] = [ + const columnDefs: ColDef[] = [ { headerName: 'Notification Type', field: 'notificationType.name', diff --git a/src/pages/academy/adminPanel/subcomponents/assessmentConfigPanel/AssessmentConfigPanel.tsx b/src/pages/academy/adminPanel/subcomponents/assessmentConfigPanel/AssessmentConfigPanel.tsx index 0e471efac7..867edf7518 100644 --- a/src/pages/academy/adminPanel/subcomponents/assessmentConfigPanel/AssessmentConfigPanel.tsx +++ b/src/pages/academy/adminPanel/subcomponents/assessmentConfigPanel/AssessmentConfigPanel.tsx @@ -112,7 +112,7 @@ const AssessmentConfigPanel: React.FC = props => { setAssessmentConfigsToDelete(deleted[0]); }; - const columnDefs: ColDef[] = [ + const columnDefs: ColDef[] = [ { headerName: 'Assessment Type', field: 'type', @@ -166,7 +166,7 @@ const AssessmentConfigPanel: React.FC = props => { }, { headerName: 'Delete Row', - field: 'placeholderToPreventColumnRerender', + field: 'placeholderToPreventColumnRerender' as any, cellRenderer: DeleteRowCell, cellRendererParams: { deleteRowHandler: deleteRowHandler diff --git a/src/pages/academy/adminPanel/subcomponents/userConfigPanel/UserConfigPanel.tsx b/src/pages/academy/adminPanel/subcomponents/userConfigPanel/UserConfigPanel.tsx index 8d88ade90d..4db0fc5849 100644 --- a/src/pages/academy/adminPanel/subcomponents/userConfigPanel/UserConfigPanel.tsx +++ b/src/pages/academy/adminPanel/subcomponents/userConfigPanel/UserConfigPanel.tsx @@ -31,7 +31,7 @@ const UserConfigPanel: React.FC = props => { !e.name ? { ...e, name: '(user has yet to log in)' } : e ); - const columnDefs: ColDef[] = [ + const columnDefs: ColDef[] = [ { headerName: 'Name', field: 'name', @@ -57,7 +57,7 @@ const UserConfigPanel: React.FC = props => { }, { headerName: 'Actions', - field: 'actions', + field: 'actions' as any, cellRenderer: UserActionsCell, cellRendererParams: { handleDeleteUserFromCourse: props.handleDeleteUserFromCourse diff --git a/src/pages/academy/notiPreference/NotiPreference.tsx b/src/pages/academy/notiPreference/NotiPreference.tsx index bc32b2981a..34ded47605 100644 --- a/src/pages/academy/notiPreference/NotiPreference.tsx +++ b/src/pages/academy/notiPreference/NotiPreference.tsx @@ -87,7 +87,7 @@ const NotiPreference: React.FC = () => { return params.data!.notificationType.forStaff ? 'Staff' : 'Student'; }; - const columnDefs: ColDef[] = [ + const columnDefs: ColDef[] = [ { headerName: 'Notification Type', field: 'notificationType.name', From 0fadb9b3b1b8f0ed918844e001d8c99b5924e0ab Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Wed, 21 Feb 2024 16:45:14 +0800 Subject: [PATCH 02/22] Migrate bp4 classes to bp5 This was missed during the initial migration. --- .../__tests__/__snapshots__/AssessmentWorkspace.tsx.snap | 8 ++++---- src/commons/editor/Editor.tsx | 2 +- src/commons/sagas/AchievementSaga.ts | 4 ++-- src/commons/sideContent/SideContentDataVisualizer.tsx | 6 +++--- src/commons/sourceRecorder/SourceRecorderEditor.tsx | 2 +- .../subcomponents/StorySimulatorChapterEditor.tsx | 4 ++-- .../subcomponents/StorySimulatorChapterSim.tsx | 2 +- .../subcomponents/StorySimulatorCheckpointTxtLoader.tsx | 2 +- .../__tests__/__snapshots__/Playground.tsx.snap | 4 ++-- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/commons/assessmentWorkspace/__tests__/__snapshots__/AssessmentWorkspace.tsx.snap b/src/commons/assessmentWorkspace/__tests__/__snapshots__/AssessmentWorkspace.tsx.snap index c936aa38ae..5f0069bdad 100644 --- a/src/commons/assessmentWorkspace/__tests__/__snapshots__/AssessmentWorkspace.tsx.snap +++ b/src/commons/assessmentWorkspace/__tests__/__snapshots__/AssessmentWorkspace.tsx.snap @@ -219,7 +219,7 @@ exports[`AssessmentWorkspace AssessmentWorkspace page with ContestVoting questio class="editor-container" >
{ }); return ( - +
diff --git a/src/commons/sagas/AchievementSaga.ts b/src/commons/sagas/AchievementSaga.ts index 0d712d9d0a..c27d92fbf4 100644 --- a/src/commons/sagas/AchievementSaga.ts +++ b/src/commons/sagas/AchievementSaga.ts @@ -195,10 +195,10 @@ export default function* AchievementSaga(): SagaIterator { // Flash the home icon if there is an error and the user is in the env viz or subst viz tab const introIcon = document.getElementById(SideContentType.introduction + '-icon'); const envTab = document.getElementById( - 'bp4-tab-panel_side-content-tabs_' + SideContentType.envVisualizer + 'bp5-tab-panel_side-content-tabs_' + SideContentType.envVisualizer ); const substTab = document.getElementById( - 'bp4-tab-panel_side-content-tabs_' + SideContentType.substVisualizer + 'bp5-tab-panel_side-content-tabs_' + SideContentType.substVisualizer ); if ( (envTab && envTab.ariaHidden === 'false') || diff --git a/src/commons/sideContent/SideContentDataVisualizer.tsx b/src/commons/sideContent/SideContentDataVisualizer.tsx index bd7624f02b..cd2229e4f9 100644 --- a/src/commons/sideContent/SideContentDataVisualizer.tsx +++ b/src/commons/sideContent/SideContentDataVisualizer.tsx @@ -2,7 +2,7 @@ import { Button, Card, Classes } from '@blueprintjs/core'; import { IconNames } from '@blueprintjs/icons'; import classNames from 'classnames'; import React from 'react'; -import { configure, GlobalHotKeys } from 'react-hotkeys'; +import { GlobalHotKeys, configure } from 'react-hotkeys'; import DataVisualizer from '../../features/dataVisualizer/dataVisualizer'; import { Step } from '../../features/dataVisualizer/dataVisualizerTypes'; @@ -85,7 +85,7 @@ class SideContentDataVisualizer extends React.Component<{}, State> { > Previous -

+

Call {this.state.currentStep + 1}/{this.state.steps.length}

Checkpoint Txt Files diff --git a/src/pages/academy/storySimulator/subcomponents/StorySimulatorChapterSim.tsx b/src/pages/academy/storySimulator/subcomponents/StorySimulatorChapterSim.tsx index 879f15d478..4181144931 100644 --- a/src/pages/academy/storySimulator/subcomponents/StorySimulatorChapterSim.tsx +++ b/src/pages/academy/storySimulator/subcomponents/StorySimulatorChapterSim.tsx @@ -36,7 +36,7 @@ const ChapterSim = React.memo(() => { return ( <>

Chapter Simulator

- setChosenIndex(e.target.value)}> {chapters.map((chapter, chapterIndex) => (