Fix ordre des pistes dans virtual sample
All checks were successful
Deploy Preprod / Build and Deploy to Preprod (push) Successful in 30s
All checks were successful
Deploy Preprod / Build and Deploy to Preprod (push) Successful in 30s
Respect de l'ordre des groupes défini dans le champ groups du panel. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
f9be7fa025
commit
2b5175900c
1 changed files with 30 additions and 6 deletions
|
|
@ -142,19 +142,19 @@ class ProjectPage extends NotificationsPage {
|
|||
|
||||
if ($child->hasChildren()) {
|
||||
$files['dynamic'] = [];
|
||||
|
||||
|
||||
foreach ($child->children() as $key => $track) {
|
||||
$trackData = [
|
||||
'title' => (string) $track->title(),
|
||||
'slug' => (string) $track->slug(),
|
||||
'backgroundColor' => (string) $track->backgroundColor(),
|
||||
'files' => [],
|
||||
];
|
||||
|
||||
];
|
||||
|
||||
foreach ($track->views()->toFiles() as $view) {
|
||||
$trackData['files'][] = getFileData($view, true);
|
||||
}
|
||||
|
||||
|
||||
if ($track->group()->isNotEmpty()) {
|
||||
$files['dynamic'][$track->group()->value()][] = $trackData;
|
||||
} else {
|
||||
|
|
@ -162,12 +162,36 @@ class ProjectPage extends NotificationsPage {
|
|||
}
|
||||
}
|
||||
|
||||
// Récupérer l'ordre des groupes depuis le champ groups
|
||||
$orderedGroups = $child->groups()->split();
|
||||
|
||||
// Réorganiser $files['dynamic'] selon l'ordre défini
|
||||
if (!empty($orderedGroups)) {
|
||||
$orderedDynamic = [];
|
||||
|
||||
foreach ($orderedGroups as $group) {
|
||||
if (isset($files['dynamic'][$group])) {
|
||||
$orderedDynamic[$group] = $files['dynamic'][$group];
|
||||
}
|
||||
}
|
||||
|
||||
// Ajouter les groupes non définis dans le champ à la fin
|
||||
foreach ($files['dynamic'] as $group => $tracks) {
|
||||
if (!isset($orderedDynamic[$group])) {
|
||||
$orderedDynamic[$group] = $tracks;
|
||||
}
|
||||
}
|
||||
|
||||
$files['dynamic'] = $orderedDynamic;
|
||||
}
|
||||
|
||||
// Toujours mettre "Autres pistes" à la fin
|
||||
if (isset($files['dynamic']['Autres pistes'])) {
|
||||
$others = $files['dynamic']['Autres pistes'];
|
||||
unset($files['dynamic']['Autres pistes']);
|
||||
$files['dynamic']['Autres pistes'] = $others;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if ($child->rawGlass()->isNotEmpty() || $child->finishedGlass()->isNotEmpty()) {
|
||||
|
|
@ -177,7 +201,7 @@ class ProjectPage extends NotificationsPage {
|
|||
if ($child->rawGlass()->isNotEmpty()) {
|
||||
$files['static']['rawGlass'] = getFileData($child->rawGlass()->toFile());
|
||||
}
|
||||
|
||||
|
||||
if ($child->finishedGlass()->isNotEmpty()) {
|
||||
$files['static']['finishedGlass'] = getFileData($child->finishedGlass()->toFile());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue