Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>tags/v14.0.0beta3
@@ -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', | |||
], | |||
] | |||
] | |||
); |
@@ -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); | |||
} | |||
} | |||
}; |
@@ -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(); | |||
} | |||
} |