1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-23 14:57:46 +01:00

perf: Migliorato output endpoint /modules

This commit is contained in:
Maicol Battistini 2022-01-25 12:49:51 +01:00
parent a342b29e9d
commit bd35c64e21
2 changed files with 12 additions and 16 deletions

View File

@ -25,13 +25,15 @@ class Controller extends BaseController
$modules = $packages->filter(fn ($package) => $package->type === 'openstamanager-module');
$modules->transform(function ($module) {
$drawer_entries = [];
$osm_modules = collect($module->extra->{'osm-modules'});
foreach ($module->extra->{'osm-modules'} as $id => $data) {
$drawer_entries[] = config("$id.drawer_entries");
}
$module->drawer_entries = $osm_modules
->mapWithKeys(fn ($item, $name) => config("$name.drawer_entries"))
->whereNotNull()
->all();
$module->drawer_entries = array_merge(...array_filter($drawer_entries, static fn ($entry) => $entry !== null));
// Modules (for Frontend)
$module->modules = $osm_modules->mapWithKeys(fn ($item, $key) => [$module->name => $item]);
return $module;
});

View File

@ -1,18 +1,12 @@
<mwc-list activatable>
@php
$entries = [
'dashboard' => [
/** @var \Illuminate\Support\Collection $modules */
$entries = $modules->pluck('drawer_entries')
->collapse()
->prepend([
'icon' => 'view-dashboard-outline',
'text' => __('Dashboard')
],
];
$to_merge = [];
foreach ($modules as $module) {
$to_merge[] = $module->drawer_entries;
}
$entries = array_merge($entries, ...$to_merge);
], 'dashboard');
@endphp
@foreach($entries as $route => $details)
@switch($route)