diff --git a/DigitalLearningSolutions.Web/Scripts/searchSortFilterAndPaginate/sort.ts b/DigitalLearningSolutions.Web/Scripts/searchSortFilterAndPaginate/sort.ts index 242c1df871..27bceac0a7 100644 --- a/DigitalLearningSolutions.Web/Scripts/searchSortFilterAndPaginate/sort.ts +++ b/DigitalLearningSolutions.Web/Scripts/searchSortFilterAndPaginate/sort.ts @@ -35,19 +35,19 @@ export function getSortValue( case 'Name': return getElementText(searchableElement, 'name').toLocaleLowerCase(); case 'DateRegistered': - return parseDate(getElementText(searchableElement, 'registration-date')); + return parseDateAndTime(getElementText(searchableElement, 'registration-date')); case 'StartedDate': - return parseDate(getElementText(searchableElement, 'started-date')); + return parseDateAndTime(getElementText(searchableElement, 'started-date')); case 'Enrolled': - return parseDate(getElementText(searchableElement, 'enrolled-date')); + return parseDateAndTime(getElementText(searchableElement, 'enrolled-date')); case 'LastAccessed': - return parseDate(getElementText(searchableElement, 'accessed-date')); + return parseDateAndTime(getElementText(searchableElement, 'accessed-date')); case 'LastUpdated': - return parseDate(getElementText(searchableElement, 'last-updated-date')); + return parseDateAndTime(getElementText(searchableElement, 'last-updated-date')); case 'CompleteByDate': - return parseDate(getElementText(searchableElement, 'complete-by-date')); + return parseDateAndTime(getElementText(searchableElement, 'complete-by-date')); case 'Completed': - return parseDate(getElementText(searchableElement, 'completed-date')); + return parseDateAndTime(getElementText(searchableElement, 'completed-date')); case 'HasDiagnostic,DiagnosticScore': return parseInt(getElementText(searchableElement, 'diagnostic-score').split('/')[0] || '-1', 10); case 'IsAssessed,Passes': @@ -75,7 +75,7 @@ export function getSortValue( case 'CandidateNumber': return getElementText(searchableElement, 'delegate-id').toLocaleLowerCase(); case 'When': - return parseDate(getElementText(searchableElement, 'when')); + return parseDateAndTime(getElementText(searchableElement, 'when')); case 'LearningTime': return parseNonNegativeIntOrNotApplicable(getElementText(searchableElement, 'learning-time')); case 'AssessmentScore': @@ -91,9 +91,9 @@ function getElementText(searchableElement: ISearchableElement, elementName: stri ?? ''; } -function parseDate(dateString: string): Date { - const date = moment(dateString, 'DD/MM/YYYY').toDate(); - return date.toString() === 'Invalid Date' ? new Date(0) : date; +function parseDateAndTime(dateString: string): Date { + const dateAndTime = moment(dateString, 'DD/MM/YYYY hh:mm:ss').toDate(); + return dateAndTime.toString() === 'Invalid Date' ? new Date(0) : dateAndTime; } function parseNonNegativeIntOrNotApplicable(value: string): number {