Sort directories before files in source views. Thanks to William Martin!
(closes issue 573)
This commit is contained in:
parent
777937b70c
commit
d4929622bf
@ -154,6 +154,7 @@ class IDF_Views_Source
|
|||||||
}
|
}
|
||||||
$scmConf = $request->conf->getVal('scm', 'git');
|
$scmConf = $request->conf->getVal('scm', 'git');
|
||||||
$props = $scm->getProperties($commit);
|
$props = $scm->getProperties($commit);
|
||||||
|
$res->uasort(array('IDF_Views_Source', 'treeSort'));
|
||||||
return Pluf_Shortcuts_RenderToResponse('idf/source/'.$scmConf.'/tree.html',
|
return Pluf_Shortcuts_RenderToResponse('idf/source/'.$scmConf.'/tree.html',
|
||||||
array(
|
array(
|
||||||
'page_title' => $title,
|
'page_title' => $title,
|
||||||
@ -246,6 +247,7 @@ class IDF_Views_Source
|
|||||||
$previous = substr($request_file, 0, -strlen($l.' '));
|
$previous = substr($request_file, 0, -strlen($l.' '));
|
||||||
$scmConf = $request->conf->getVal('scm', 'git');
|
$scmConf = $request->conf->getVal('scm', 'git');
|
||||||
$props = $scm->getProperties($commit, $request_file);
|
$props = $scm->getProperties($commit, $request_file);
|
||||||
|
$res->uasort(array('IDF_Views_Source', 'treeSort'));
|
||||||
return Pluf_Shortcuts_RenderToResponse('idf/source/'.$scmConf.'/tree.html',
|
return Pluf_Shortcuts_RenderToResponse('idf/source/'.$scmConf.'/tree.html',
|
||||||
array(
|
array(
|
||||||
'page_title' => $page_title,
|
'page_title' => $page_title,
|
||||||
@ -455,6 +457,28 @@ class IDF_Views_Source
|
|||||||
$scm->getFile($file_info));
|
$scm->getFile($file_info));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback function to sort tree entries
|
||||||
|
*/
|
||||||
|
public static function treeSort($a, $b)
|
||||||
|
{
|
||||||
|
// compare two nodes of the same type
|
||||||
|
if ($a->type === $b->type) {
|
||||||
|
if (mb_convert_case($a->file, MB_CASE_LOWER) <
|
||||||
|
mb_convert_case ($b->file, MB_CASE_LOWER)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// compare two nodes of different types, directories ("tree")
|
||||||
|
// should come before files ("blob")
|
||||||
|
if ($a->type > $b->type) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the scm type for page title
|
* Get the scm type for page title
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user