Expand frontend, first attempt at sorting.

This commit is contained in:
James Cole
2024-02-25 18:09:52 +01:00
parent 243f283bfd
commit 9222c82af0
66 changed files with 1989 additions and 554 deletions

View File

@@ -31,10 +31,10 @@ use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/**
* Class ListRequest
* Class InfiniteListRequest
* Used specifically to list transactions.
*/
class ListByCountRequest extends FormRequest
class InfiniteListRequest extends FormRequest
{
use ChecksLogin;
use ConvertsDataTypes;
@@ -88,6 +88,29 @@ class ListByCountRequest extends FormRequest
return 0 === $page || $page > 65536 ? 1 : $page;
}
public function getSortInstructions(): array {
$allowed = config('firefly.sorting.allowed.transactions');
$set = $this->get('sorting', []);
$result= [];
if(0 === count($set)) {
return [];
}
foreach($set as $info) {
$column = $info['column'] ?? 'NOPE';
$direction = $info['direction'] ?? 'NOPE';
if('asc' !== $direction && 'desc' !== $direction) {
// skip invalid direction
continue;
}
if(in_array($column, $allowed, true) === false) {
// skip invalid column
continue;
}
$result[$column] = $direction;
}
return $result;
}
public function getTransactionTypes(): array
{
$type = (string)$this->get('type', 'default');