From ab97f64575f1b51bacced6ce1bc6bf22e0354615 Mon Sep 17 00:00:00 2001 From: zeroinformatique Date: Thu, 17 Sep 2020 15:51:42 +0200 Subject: viewer: sort by date ascending (#249) * viewer: sort by date ascending * viewer: sort by date ascending--- viewer/src/services/itemComparators.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'viewer/src/services/itemComparators.ts') diff --git a/viewer/src/services/itemComparators.ts b/viewer/src/services/itemComparators.ts index 6a7c81c..64ce288 100644 --- a/viewer/src/services/itemComparators.ts +++ b/viewer/src/services/itemComparators.ts @@ -27,7 +27,12 @@ export default class ItemComparators { static readonly ITEM_SORTS: ItemSort[] = [ { name: "name_asc", text: i18n.t("command.sort.byNameAsc"), fn: ItemComparators.sortByNameAsc }, - { name: "date_desc", text: i18n.t("command.sort.byDateDesc"), fn: ItemComparators.sortByDateDesc }, + { name: "date_asc", text: i18n.t("command.sort.byDateAsc"), fn: ItemComparators.sortByDateAsc }, + { + name: "date_desc", + text: i18n.t("command.sort.byDateDesc"), + fn: ItemComparators.reverse(ItemComparators.sortByDateAsc), + }, ]; static sortByNameAsc(left: Gallery.Item, right: Gallery.Item): number { @@ -38,7 +43,11 @@ export default class ItemComparators { }); } - static sortByDateDesc(left: Gallery.Item, right: Gallery.Item): number { - return -left.datetime.localeCompare(right.datetime); // TODO: handle timezones + static sortByDateAsc(left: Gallery.Item, right: Gallery.Item): number { + return left.datetime.localeCompare(right.datetime); // TODO: handle timezones + } + + static reverse(fn: ItemComparator): ItemComparator { + return (l, r) => -fn(l, r); } } -- cgit v1.2.3