From 78b34dcf8d52f23a32060e26efb0bb9b5663b67a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Janis=20Daniel=20Da=CC=88hne?=
 <janis.daehne@informatik.uni-halle.de>
Date: Wed, 28 Dec 2022 18:30:17 +0100
Subject: [PATCH] - exercise overview plang sorting is now working - fixed some
 typing issues because of webpack uses require from node

---
 .../closedExercisesSite/listView.tsx                       | 7 ++++++-
 .../allAccessibleExercisesSite/openExercises/listView.tsx  | 7 ++++++-
 .../openExercises/openExercisesViaCodeSite.tsx             | 2 +-
 .../openExercises/openExercisesViaVisibilitySite.tsx       | 2 +-
 src/components/sites/dashboardSite/hardwareUsageView.tsx   | 2 +-
 src/components/sites/doExerciseSite/doExerciseSite.tsx     | 4 ++--
 .../submissionsSite/headerBarContent.tsx                   | 2 +-
 src/global.d.ts                                            | 2 +-
 yarn.lock                                                  | 2 +-
 9 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/src/components/sites/allAccessibleExercisesSite/closedExercisesSite/listView.tsx b/src/components/sites/allAccessibleExercisesSite/closedExercisesSite/listView.tsx
index a873edd5..6dc3c1dc 100644
--- a/src/components/sites/allAccessibleExercisesSite/closedExercisesSite/listView.tsx
+++ b/src/components/sites/allAccessibleExercisesSite/closedExercisesSite/listView.tsx
@@ -210,7 +210,12 @@ class AllAccessibleExercisesList extends React.Component<Props, any> {
                   }
                 </span>
               </Table.HeaderCell>
-              <Table.HeaderCell>
+              <Table.HeaderCell
+                sorted={
+                  isCurrentSortingColumnPaginated<ExercisePreviewFromBackend>(this.props.sortByKey, 'releasedForPLangId',
+                    this.props.sortDirection)
+                }
+              >
                 <span className="clickable"
                       onClick={() => {
                         this.props.setSortByKey('releasedForPLangId',
diff --git a/src/components/sites/allAccessibleExercisesSite/openExercises/listView.tsx b/src/components/sites/allAccessibleExercisesSite/openExercises/listView.tsx
index 2b32075b..eb0a5b4b 100644
--- a/src/components/sites/allAccessibleExercisesSite/openExercises/listView.tsx
+++ b/src/components/sites/allAccessibleExercisesSite/openExercises/listView.tsx
@@ -219,7 +219,12 @@ class AllAccessibleExercisesList extends React.Component<Props, any> {
                   }
                 </span>
               </Table.HeaderCell>
-              <Table.HeaderCell>
+              <Table.HeaderCell
+                sorted={
+                  isCurrentSortingColumnPaginated<ExercisePreviewFromBackend>(this.props.sortByKey, 'releasedForPLangId',
+                    this.props.sortDirection)
+                }
+              >
                 <span className="clickable"
                       onClick={() => {
                         this.props.setSortByKey('releasedForPLangId',
diff --git a/src/components/sites/allAccessibleExercisesSite/openExercises/openExercisesViaCodeSite.tsx b/src/components/sites/allAccessibleExercisesSite/openExercises/openExercisesViaCodeSite.tsx
index 97f8d9fc..e4ac3912 100644
--- a/src/components/sites/allAccessibleExercisesSite/openExercises/openExercisesViaCodeSite.tsx
+++ b/src/components/sites/allAccessibleExercisesSite/openExercises/openExercisesViaCodeSite.tsx
@@ -142,7 +142,7 @@ class OpenExercisesViaCodeSite extends React.Component<Props, any> {
 
     clearInterval(updateLeftTimeIntervals)
 
-    updateLeftTimeIntervals = setInterval(() => {
+    updateLeftTimeIntervals = window.setInterval(() => {
 
       const copy = updateExercisePreviews(this.props.openExercisePreviewsViaCode, clientServerTimeDiffInS, this.props.langId)
 
diff --git a/src/components/sites/allAccessibleExercisesSite/openExercises/openExercisesViaVisibilitySite.tsx b/src/components/sites/allAccessibleExercisesSite/openExercises/openExercisesViaVisibilitySite.tsx
index 8992eff3..3c7edebb 100644
--- a/src/components/sites/allAccessibleExercisesSite/openExercises/openExercisesViaVisibilitySite.tsx
+++ b/src/components/sites/allAccessibleExercisesSite/openExercises/openExercisesViaVisibilitySite.tsx
@@ -141,7 +141,7 @@ class OpenExercisesViaVisibilitySite extends React.Component<Props, any> {
 
     clearInterval(updateLeftTimeIntervalsViaVisibility)
 
-    updateLeftTimeIntervalsViaVisibility = setInterval(() => {
+    updateLeftTimeIntervalsViaVisibility = window.setInterval(() => {
 
       const copy = updateExercisePreviews(this.props.openExercisePreviewsViaVisibility, clientServerTimeDiffInS, this.props.langId)
 
diff --git a/src/components/sites/dashboardSite/hardwareUsageView.tsx b/src/components/sites/dashboardSite/hardwareUsageView.tsx
index e7dfdbc2..1ad2b0f9 100644
--- a/src/components/sites/dashboardSite/hardwareUsageView.tsx
+++ b/src/components/sites/dashboardSite/hardwareUsageView.tsx
@@ -59,7 +59,7 @@ class hardwareUsageView extends React.Component<Props, any> {
 
   async componentWillMount(): Promise<void> {
 
-    intervalHandle = setInterval(async () => {
+    intervalHandle = window.setInterval(async () => {
 
       if (this.props.isHardwareUsageStatisticRefreshing) {
         await this.props.getHardwareUsageAsync()
diff --git a/src/components/sites/doExerciseSite/doExerciseSite.tsx b/src/components/sites/doExerciseSite/doExerciseSite.tsx
index c0d4afaa..c39ac391 100644
--- a/src/components/sites/doExerciseSite/doExerciseSite.tsx
+++ b/src/components/sites/doExerciseSite/doExerciseSite.tsx
@@ -517,7 +517,7 @@ class doExerciseSite extends React.Component<Props & RouteComponentProps<Matched
   componentDidMount(): void {
 
     //could be moved to  componentWillMount but not needed
-    this.refreshTokenTimeoutHandler = setInterval(this.hasEditorChangedAndUpdateAuthTokenLifetime.bind(this),
+    this.refreshTokenTimeoutHandler = window.setInterval(this.hasEditorChangedAndUpdateAuthTokenLifetime.bind(this),
                                                   refreshAuthTokenLifetimeIntervalWhenEditingInMs
     )
   }
@@ -888,7 +888,7 @@ class doExerciseSite extends React.Component<Props & RouteComponentProps<Matched
     const clientServerTimeDiff = moment().diff(serverTime, 'seconds')
 
     const wasAtSomePointEditable = this.checkTimeUsedUp(clientServerTimeDiff, null) //call it immediately because the first tick of the interval will be in 1 sec
-    updateLeftTimeIntervals = setInterval(() => this.checkTimeUsedUp(clientServerTimeDiff, wasAtSomePointEditable),
+    updateLeftTimeIntervals = window.setInterval(() => this.checkTimeUsedUp(clientServerTimeDiff, wasAtSomePointEditable),
                                           1000
     )
 
diff --git a/src/components/sites/manageOwnOrGroupExerciseComponents/submissionsSite/headerBarContent.tsx b/src/components/sites/manageOwnOrGroupExerciseComponents/submissionsSite/headerBarContent.tsx
index 465ef872..d7b047f5 100644
--- a/src/components/sites/manageOwnOrGroupExerciseComponents/submissionsSite/headerBarContent.tsx
+++ b/src/components/sites/manageOwnOrGroupExerciseComponents/submissionsSite/headerBarContent.tsx
@@ -113,7 +113,7 @@ class HeaderBar extends React.Component<Props, any> {
   }
 
   createAutoRefreshViewInterval(): void {
-    this.automaticRefreshViewIntervalHandle = setInterval(() => {
+    this.automaticRefreshViewIntervalHandle = window.setInterval(() => {
 
       this.props.setAutomaticRefreshViewIntervalCounter(this.props.automaticRefreshViewIntervalCounter - 1)
 
diff --git a/src/global.d.ts b/src/global.d.ts
index 4f582d86..7e966f6a 100644
--- a/src/global.d.ts
+++ b/src/global.d.ts
@@ -7,4 +7,4 @@ declare const require: {
   ensure: (paths: string[], callback: (require: <T>(path: string) => T) => void) => void;
 };
 */
-declare function require(s: string): any
\ No newline at end of file
+// declare function require(s: string): any
diff --git a/yarn.lock b/yarn.lock
index cc4e299b..b5635d5d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3722,7 +3722,7 @@ map-visit@^1.0.0:
   dependencies:
     object-visit "^1.0.0"
 
-markdown-it-container@^3.0.0:
+markdown-it-container@3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/markdown-it-container/-/markdown-it-container-3.0.0.tgz#1d19b06040a020f9a827577bb7dbf67aa5de9a5b"
   integrity sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw==
-- 
GitLab