Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
parent
e595cad880
commit
7a78e0c641
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue