Cleanup of leftover-sorting-code from quickaccess-feature #9714 #9720

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
fnuesse 2018-07-21 00:30:04 +02:00 committed by John Molakvoæ (skjnldsv)
parent e595cad880
commit 7a78e0c641
No known key found for this signature in database
GPG Key ID: 60C25B8C072916CF
3 changed files with 2 additions and 279 deletions

View File

@ -81,56 +81,6 @@ $application->registerRoutes(
'url' => '/api/v1/toggleShowFolder/{key}',
'verb' => 'POST'
],
[
'name' => 'API#getShowQuickaccessSettings',
'url' => '/api/v1/quickaccess/showsettings',
'verb' => 'GET',
],
[
'name' => 'API#setShowQuickaccessSettings',
'url' => '/api/v1/quickaccess/set/showsettings',
'verb' => 'GET',
],
[
'name' => 'API#setSortingStrategy',
'url' => '/api/v1/quickaccess/set/SortingStrategy',
'verb' => 'GET',
],
[
'name' => 'API#setReverseQuickaccess',
'url' => '/api/v1/quickaccess/set/ReverseList',
'verb' => 'GET',
],
[
'name' => 'API#getSortingStrategy',
'url' => '/api/v1/quickaccess/get/SortingStrategy',
'verb' => 'GET',
],
[
'name' => 'API#getReverseQuickaccess',
'url' => '/api/v1/quickaccess/get/ReverseList',
'verb' => 'GET',
],
[
'name' => 'API#getFavoritesFolder',
'url' => '/api/v1/quickaccess/get/FavoriteFolders/',
'verb' => 'GET'
],
[
'name' => 'API#setSortingOrder',
'url' => '/api/v1/quickaccess/set/CustomSortingOrder',
'verb' => 'GET',
],
[
'name' => 'API#getSortingOrder',
'url' => '/api/v1/quickaccess/get/CustomSortingOrder',
'verb' => 'GET',
],
[
'name' => 'API#getNodeType',
'url' => '/api/v1/quickaccess/get/NodeType',
'verb' => 'GET',
],
]
]
);

View File

@ -39,18 +39,6 @@
*/
$currentContent: null,
/**
* Strategy by which the quickaccesslist is sorted
*
* Possible Strategies:
* customorder
* datemodified
* date
* alphabet
*
*/
$sortingStrategy: 'alphabet',
/**
* Key for the quick-acces-list
*/
@ -67,12 +55,7 @@
this.$currentContent = null;
this._setupEvents();
var scope=this;
$.get(OC.generateUrl("/apps/files/api/v1/quickaccess/get/SortingStrategy"), function (data, status) {
scope.$sortingStrategy=data;
scope.setInitialQuickaccessSettings();
});
this.setInitialQuickaccessSettings();
},
/**
@ -198,56 +181,9 @@
* Sort initially as setup of sidebar for QuickAccess
*/
setInitialQuickaccessSettings: function () {
var quickAccesKey = this.$quickAccessListKey;
var list = document.getElementById(quickAccesKey).getElementsByTagName('li');
var sort = true;
var reverse = false;
if (this.$sortingStrategy === 'datemodified') {
sort = false;
reverse = false;
var scope = this;
$.get(OC.generateUrl("/apps/files/api/v1/quickaccess/get/FavoriteFolders/"), function (data, status) {
for (var i = 0; i < data.favoriteFolders.length; i++) {
for (var j = 0; j < list.length; j++) {
if (scope.getCompareValue(list, j, 'alphabet').toLowerCase() === data.favoriteFolders[i].name.toLowerCase()) {
list[j].setAttribute("mtime", data.favoriteFolders[i].mtime);
}
}
}
scope.QuickSort(list, 0, list.length - 1);
scope.reverse(list);
});
} else if (this.$sortingStrategy === 'alphabet') {
sort = true;
} else if (this.$sortingStrategy === 'date') {
sort = true;
} else if (this.$sortingStrategy === 'customorder') {
var scope = this;
$.get(OC.generateUrl("/apps/files/api/v1/quickaccess/get/CustomSortingOrder"), function (data, status) {
var ordering = JSON.parse(data);
for (var i = 0; i < ordering.length; i++) {
for (var j = 0; j < list.length; j++) {
if (scope.getCompareValue(list, j, 'alphabet').toLowerCase() === ordering[i].name.toLowerCase()) {
list[j].setAttribute("folderPosition", ordering[i].id);
}
}
}
scope.QuickSort(list, 0, list.length - 1);
});
sort = false;
}
if (sort) {
this.QuickSort(list, 0, list.length - 1);
}
if (reverse) {
this.reverse(list);
}
this.QuickSort(list, 0, list.length - 1);
},
/**
@ -296,21 +232,7 @@
* This method allows easy access to the element which is sorted by.
*/
getCompareValue: function (nodes, int, strategy) {
if ((typeof strategy === 'undefined')) {
strategy = this.$sortingStrategy;
}
if (strategy === 'alphabet') {
return nodes[int].getElementsByTagName('a')[0].innerHTML.toLowerCase();
} else if (strategy === 'date') {
return nodes[int].getAttribute('folderPosition').toLowerCase();
} else if (strategy === 'datemodified') {
return nodes[int].getAttribute('mtime');
} else if (strategy === 'customorder') {
return nodes[int].getAttribute('folderPosition');
}
return nodes[int].getElementsByTagName('a')[0].innerHTML.toLowerCase();
},
/**
@ -320,16 +242,6 @@
swap: function (list, j, i) {
list[i].before(list[j]);
list[j].before(list[i]);
},
/**
* Reverse QuickAccess-List
*/
reverse: function (list) {
var len = list.length - 1;
for (var i = 0; i < len / 2; i++) {
this.swap(list, i, len - i);
}
}
};

View File

@ -199,30 +199,6 @@ class ApiController extends Controller {
return new DataResponse(['files' => $files]);
}
/**
* Returns a list of favorites modifed folder.
*
* @NoAdminRequired
*
* @return DataResponse
*/
public function getFavoritesFolder() {
$nodes = $this->userFolder->searchByTag('_$!<Favorite>!$_', $this->userSession->getUser()->getUID());
$favorites = [];
$i = 0;
foreach ($nodes as &$node) {
$favorites[$i]['id'] = $node->getId();
$favorites[$i]['name'] = $node->getName();
$favorites[$i]['path'] = $node->getInternalPath();
$favorites[$i]['mtime'] = $node->getMTime();
$i++;
}
return new DataResponse(['favoriteFolders' => $favorites]);
}
/**
* Return a list of share types for outgoing shares
*
@ -315,120 +291,5 @@ class ApiController extends Controller {
return $response;
}
/**
* quickaccess-sorting-strategy
*
* @NoAdminRequired
*
* @param string $strategy
* @return Response
*/
public function setSortingStrategy($strategy) {
$this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_sorting_strategy', (String)$strategy);
return new Response();
}
/**
* Get reverse-state for quickaccess-list
*
* @NoAdminRequired
*
* @return String
*/
public function getSortingStrategy() {
return $this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_sorting_strategy', 'alphabet');
}
/**
* Toggle for reverse quickaccess-list
*
* @NoAdminRequired
*
* @param bool $reverse
* @return Response
*/
public function setReverseQuickaccess($reverse) {
$this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_reverse_list', (int)$reverse);
return new Response();
}
/**
* Get reverse-state for quickaccess-list
*
* @NoAdminRequired
*
* @return bool
*/
public function getReverseQuickaccess() {
if ($this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_reverse_list', false)) {
return true;
}
return false;
}
/**
* Set state for show sorting menu
*
* @NoAdminRequired
*
* @param bool $show
* @return Response
*/
public function setShowQuickaccessSettings($show) {
$this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_show_settings', (int)$show);
return new Response();
}
/**
* Get state for show sorting menu
*
* @NoAdminRequired
*
* @return bool
*/
public function getShowQuickaccessSettings() {
if ($this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_show_settings', false)) {
return true;
}
return false;
}
/**
* Set sorting-order for custom sorting
*
* @NoAdminRequired
*
* @param String $order
* @return Response
*/
public function setSortingOrder($order) {
$this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_custom_sorting_order', (String)$order);
return new Response();
}
/**
* Get sorting-order for custom sorting
*
* @NoAdminRequired
*
* @return String
*/
public function getSortingOrder() {
return $this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_custom_sorting_order', "");
}
/**
* Get sorting-order for custom sorting
*
* @NoAdminRequired
*
* @param String
* @return String
*/
public function getNodeType($folderpath) {
$node = $this->userFolder->get($folderpath);
return $node->getType();
}
}