mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
New Map Menu (#15969)
* Map Menu New top level Map menu. Ability to group custom maps. Ajax Select controller improvements * Fix style
This commit is contained in:
@@ -32,7 +32,6 @@ use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Query\Builder;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
abstract class SelectController extends PaginatedAjaxController
|
||||
{
|
||||
@@ -78,8 +77,15 @@ abstract class SelectController extends PaginatedAjaxController
|
||||
*/
|
||||
protected function formatResponse($paginator)
|
||||
{
|
||||
$results = collect($paginator->items())->map([$this, 'formatItem']);
|
||||
|
||||
// prepend the initial item, unless filtered out
|
||||
if ($this->canPrependFirstItem(request())) {
|
||||
$results->prepend($this->prependItem());
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'results' => collect($paginator->items())->map([$this, 'formatItem']),
|
||||
'results' => $results,
|
||||
'pagination' => ['more' => $paginator->hasMorePages()],
|
||||
]);
|
||||
}
|
||||
@@ -111,11 +117,28 @@ abstract class SelectController extends PaginatedAjaxController
|
||||
];
|
||||
}
|
||||
|
||||
protected function includeGeneral(): bool
|
||||
protected function prependItem(): ?array
|
||||
{
|
||||
if (request()->has('id') && request('id') !== 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function canPrependFirstItem(Request $request): bool
|
||||
{
|
||||
$item = $this->prependItem();
|
||||
|
||||
if (empty($item)) {
|
||||
return false;
|
||||
} elseif (request()->has('term') && ! Str::contains('general', strtolower(request('term')))) {
|
||||
}
|
||||
|
||||
if ($request->page > 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($request->has('id') && $request->id != $item['id']) { // purposely loose comparison
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($request->has('term') && ! str_contains(strtolower($item['text']), strtolower($request->term))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user