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:
parent
a342b29e9d
commit
bd35c64e21
@ -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;
|
||||
});
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user