From e18c224db4394fc1b71d0a0496383f2fdf675665 Mon Sep 17 00:00:00 2001 From: yflory Date: Thu, 27 Feb 2020 13:33:22 +0100 Subject: [PATCH] Faster sort function in drive --- www/common/drive-ui.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/www/common/drive-ui.js b/www/common/drive-ui.js index b102fba3d..f4eaa8556 100644 --- a/www/common/drive-ui.js +++ b/www/common/drive-ui.js @@ -2762,7 +2762,7 @@ define([ }); if (keys.length < 2) { return keys; } var mult = asc ? 1 : -1; - var getProp = function (el, prop) { + var getProp = function (el) { if (folder && root[el] && manager.isSharedFolder(root[el])) { var title = manager.getSharedFolderData(root[el]).title || el; return title.toLowerCase(); @@ -2777,13 +2777,19 @@ define([ return hrefData.type; } if (prop === 'atime' || prop === 'ctime') { - return new Date(data[prop]); + return typeof(data[prop]) === "number" ? data[prop] : new Date(data[prop]); } return (manager.getTitle(id) || "").toLowerCase(); }; + var props = {}; + keys.forEach(function (k) { + props[k] = getProp(k); + }); keys.sort(function(a, b) { - if (getProp(a, prop) < getProp(b, prop)) { return mult * -1; } - if (getProp(a, prop) > getProp(b, prop)) { return mult * 1; } + var _a = props[a]; + var _b = props[b]; + if (a < b) { return mult * -1; } + if (b > a) { return mult; } return 0; }); return keys;