diff options
author | Vincent Petry <pvince81@owncloud.com> | 2014-05-12 12:50:27 +0200 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2014-05-12 12:50:27 +0200 |
commit | 9a9665f361c42764f5ae9f5f3ce63f71fdfcad5c (patch) | |
tree | ca04fac8b2ea1ca922a11fd17a7d4b913117a92e /apps/files_trashbin | |
parent | f4e8de3cbbf426e7b22d5100085626b2e4fefc29 (diff) | |
parent | 61db16321f1bf7ceea22672b33cd165fc3620a4a (diff) | |
download | nextcloud-server-9a9665f361c42764f5ae9f5f3ce63f71fdfcad5c.tar.gz nextcloud-server-9a9665f361c42764f5ae9f5f3ce63f71fdfcad5c.zip |
Merge pull request #8041 from owncloud/files-sortcolumns
File list sorting by clicking on column headers
Diffstat (limited to 'apps/files_trashbin')
-rw-r--r-- | apps/files_trashbin/ajax/list.php | 4 | ||||
-rw-r--r-- | apps/files_trashbin/js/filelist.js | 1 | ||||
-rw-r--r-- | apps/files_trashbin/lib/helper.php | 10 | ||||
-rw-r--r-- | apps/files_trashbin/templates/index.php | 21 |
4 files changed, 22 insertions, 14 deletions
diff --git a/apps/files_trashbin/ajax/list.php b/apps/files_trashbin/ajax/list.php index 89a55114524..e1f52e814bb 100644 --- a/apps/files_trashbin/ajax/list.php +++ b/apps/files_trashbin/ajax/list.php @@ -4,11 +4,13 @@ OCP\JSON::checkLoggedIn(); // Load the files $dir = isset( $_GET['dir'] ) ? $_GET['dir'] : ''; +$sortAttribute = isset( $_GET['sort'] ) ? $_GET['sort'] : 'name'; +$sortDirection = isset( $_GET['sortdirection'] ) ? ($_GET['sortdirection'] === 'desc') : false; $data = array(); // make filelist try { - $files = \OCA\Files_Trashbin\Helper::getTrashFiles($dir); + $files = \OCA\Files_Trashbin\Helper::getTrashFiles($dir, $sortAttribute, $sortDirection); } catch (Exception $e) { header("HTTP/1.0 404 Not Found"); exit(); diff --git a/apps/files_trashbin/js/filelist.js b/apps/files_trashbin/js/filelist.js index 3bb3a92b60d..00fc7e16b88 100644 --- a/apps/files_trashbin/js/filelist.js +++ b/apps/files_trashbin/js/filelist.js @@ -80,6 +80,7 @@ FileList.initialize = function() { var result = oldInit.apply(this, arguments); $('.undelete').click('click', FileList._onClickRestoreSelected); + this.setSort('mtime', 'desc'); return result; }; diff --git a/apps/files_trashbin/lib/helper.php b/apps/files_trashbin/lib/helper.php index e6ca73520a6..c98d57586d3 100644 --- a/apps/files_trashbin/lib/helper.php +++ b/apps/files_trashbin/lib/helper.php @@ -8,11 +8,14 @@ class Helper { /** * Retrieves the contents of a trash bin directory. + * * @param string $dir path to the directory inside the trashbin * or empty to retrieve the root of the trashbin + * @param string $sortAttribute attribute to sort on or empty to disable sorting + * @param bool $sortDescending true for descending sort, false otherwise * @return \OCP\Files\FileInfo[] */ - public static function getTrashFiles($dir){ + public static function getTrashFiles($dir, $sortAttribute = '', $sortDescending = false){ $result = array(); $timestamp = null; $user = \OCP\User::getUser(); @@ -57,8 +60,9 @@ class Helper closedir($dirContent); } - usort($result, array('\OCA\Files\Helper', 'fileCmp')); - + if ($sortAttribute !== '') { + return \OCA\Files\Helper::sortFiles($result, $sortAttribute, $sortDescending); + } return $result; } diff --git a/apps/files_trashbin/templates/index.php b/apps/files_trashbin/templates/index.php index 323e7495535..7c673c317e0 100644 --- a/apps/files_trashbin/templates/index.php +++ b/apps/files_trashbin/templates/index.php @@ -1,3 +1,4 @@ +<?php /** @var $l OC_L10N */ ?> <div id="controls"> <div id="file_action_panel"></div> </div> @@ -5,29 +6,29 @@ <div id="emptycontent" class="hidden"><?php p($l->t('Nothing in here. Your trash bin is empty!'))?></div> -<input type="hidden" id="permissions" value="0"></input> -<input type="hidden" id="disableSharing" data-status="<?php p($_['disableSharing']); ?>"></input> +<input type="hidden" id="permissions" value="0"> +<input type="hidden" id="disableSharing" data-status="<?php p($_['disableSharing']); ?>"> <input type="hidden" name="dir" value="<?php p($_['dir']) ?>" id="dir"> <table id="filestable"> <thead> <tr> - <th id='headerName'> + <th id='headerName' class="hidden column-name"> <div id="headerName-container"> - <input type="checkbox" id="select_all" /> - <label for="select_all"></label> - <span class='name'><?php p($l->t( 'Name' )); ?></span> - <span class='selectedActions'> + <input type="checkbox" id="select_all" /> + <label for="select_all"></label> + <a class="name sort columntitle" data-sort="name"><span><?php p($l->t( 'Name' )); ?></span><span class="sort-indicator"></span></a> + <span id="selectedActionsList" class='selectedActions'> <a href="" class="undelete"> <img class="svg" alt="<?php p($l->t( 'Restore' )); ?>" src="<?php print_unescaped(OCP\image_path("core", "actions/history.svg")); ?>" /> <?php p($l->t('Restore'))?> </a> - </span> + </span> </div> </th> - <th id="headerDate"> - <span id="modified"><?php p($l->t( 'Deleted' )); ?></span> + <th id="headerDate" class="hidden column-mtime"> + <a id="modified" class="columntitle" data-sort="mtime"><span><?php p($l->t( 'Deleted' )); ?></span><span class="sort-indicator"></span></a> <span class="selectedActions"> <a href="" class="delete-selected"> <?php p($l->t('Delete'))?> |