From 3bb6c52645af84832212c99fdec04143e4230180 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 19 Feb 2018 09:41:03 +0100 Subject: Fix sort inconsistency --- server/models/utils.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'server/models/utils.ts') diff --git a/server/models/utils.ts b/server/models/utils.ts index 1606453e0..59ce83c16 100644 --- a/server/models/utils.ts +++ b/server/models/utils.ts @@ -1,5 +1,5 @@ -// Translate for example "-name" to [ 'name', 'DESC' ] -function getSort (value: string) { +// Translate for example "-name" to [ [ 'name', 'DESC' ], [ 'id', 'ASC' ] ] +function getSort (value: string, lastSort: string[] = [ 'id', 'ASC' ]) { let field: string let direction: 'ASC' | 'DESC' @@ -11,14 +11,14 @@ function getSort (value: string) { field = value } - return [ field, direction ] + return [ [ field, direction ], lastSort ] } -function getSortOnModel (model: any, value: string) { - let sort = getSort(value) +function getSortOnModel (model: any, value: string, lastSort: string[] = [ 'id', 'ASC' ]) { + let [ firstSort ] = getSort(value) - if (model) return [ model, sort[0], sort[1] ] - return sort + if (model) return [ [ model, firstSort[0], firstSort[1] ], lastSort ] + return [ firstSort, lastSort ] } function throwIfNotValid (value: any, validator: (value: any) => boolean, fieldName = 'value') { -- cgit v1.2.3