From c533b5beebbf0131be1af5f7a4d3ce3e72ec4c96 Mon Sep 17 00:00:00 2001 From: Dorian Merz <merz@ub.uni-leipzig.de> Date: Fri, 17 Jul 2020 10:00:57 +0200 Subject: [PATCH] refs #17063 [master] sort hierarchy children naturally --- .../TreeDataFormatter/NoCollections.php | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/module/finc/src/finc/Hierarchy/TreeDataFormatter/NoCollections.php b/module/finc/src/finc/Hierarchy/TreeDataFormatter/NoCollections.php index 5d1fbf8a353..f3a54bc1421 100644 --- a/module/finc/src/finc/Hierarchy/TreeDataFormatter/NoCollections.php +++ b/module/finc/src/finc/Hierarchy/TreeDataFormatter/NoCollections.php @@ -64,4 +64,29 @@ class NoCollections extends \VuFind\Hierarchy\TreeDataFormatter\Json } return parent::pickTitle($record, $parentID); } + + + /** + * Sort Nodes + * Convert an unsorted array of [ key, value ] pairs into a sorted array + * of values. + * + * @param array $array The array of arrays to sort + * + * @return array + */ + protected function sortNodes($array) + { + // Sort arrays based on first element + $sorter = function ($a, $b) { + return strnatcmp($a[0], $b[0]); + }; + usort($array, $sorter); + + // Collapse array to remove sort values + $mapper = function ($i) { + return $i[1]; + }; + return array_map($mapper, $array); + } } -- GitLab