From 01b9b735e582ce34f9d181fbb26545ea96cd27e4 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Fri, 18 Nov 2022 17:44:19 +0200 Subject: [PATCH] duration search fix --- client/src/views/fields/duration.js | 36 ++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/client/src/views/fields/duration.js b/client/src/views/fields/duration.js index 1380a12237..f0b75766c0 100644 --- a/client/src/views/fields/duration.js +++ b/client/src/views/fields/duration.js @@ -264,7 +264,41 @@ function (Dep, /** module:ui/select*/Select) { } } - Select.init(this.$duration, {}); + Select.init(this.$duration, { + /** + * @param {string} search + * @param {string} value + * @return {number} + */ + score: (search, value) => { + let num = parseInt(value); + let searchNum = parseInt(search); + + if (isNaN(searchNum)) { + return 0; + } + + let numOpposite = Number.MAX_SAFE_INTEGER - num; + + if (searchNum === 0 && num === 0) { + return numOpposite; + } + + if (searchNum * 60 === num) { + return numOpposite; + } + + if (searchNum * 60 * 60 === num) { + return numOpposite; + } + + if (searchNum * 60 * 60 * 24 === num) { + return numOpposite; + } + + return 0; + }, + }); } },