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()) {
|
if ($child->hasChildren()) {
|
||||||
$files['dynamic'] = [];
|
$files['dynamic'] = [];
|
||||||
|
|
||||||
foreach ($child->children() as $key => $track) {
|
foreach ($child->children() as $key => $track) {
|
||||||
$trackData = [
|
$trackData = [
|
||||||
'title' => (string) $track->title(),
|
'title' => (string) $track->title(),
|
||||||
'slug' => (string) $track->slug(),
|
'slug' => (string) $track->slug(),
|
||||||
'backgroundColor' => (string) $track->backgroundColor(),
|
'backgroundColor' => (string) $track->backgroundColor(),
|
||||||
'files' => [],
|
'files' => [],
|
||||||
];
|
];
|
||||||
|
|
||||||
foreach ($track->views()->toFiles() as $view) {
|
foreach ($track->views()->toFiles() as $view) {
|
||||||
$trackData['files'][] = getFileData($view, true);
|
$trackData['files'][] = getFileData($view, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($track->group()->isNotEmpty()) {
|
if ($track->group()->isNotEmpty()) {
|
||||||
$files['dynamic'][$track->group()->value()][] = $trackData;
|
$files['dynamic'][$track->group()->value()][] = $trackData;
|
||||||
} else {
|
} 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'])) {
|
if (isset($files['dynamic']['Autres pistes'])) {
|
||||||
$others = $files['dynamic']['Autres pistes'];
|
$others = $files['dynamic']['Autres pistes'];
|
||||||
unset($files['dynamic']['Autres pistes']);
|
unset($files['dynamic']['Autres pistes']);
|
||||||
$files['dynamic']['Autres pistes'] = $others;
|
$files['dynamic']['Autres pistes'] = $others;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($child->rawGlass()->isNotEmpty() || $child->finishedGlass()->isNotEmpty()) {
|
if ($child->rawGlass()->isNotEmpty() || $child->finishedGlass()->isNotEmpty()) {
|
||||||
|
|
@ -177,7 +201,7 @@ class ProjectPage extends NotificationsPage {
|
||||||
if ($child->rawGlass()->isNotEmpty()) {
|
if ($child->rawGlass()->isNotEmpty()) {
|
||||||
$files['static']['rawGlass'] = getFileData($child->rawGlass()->toFile());
|
$files['static']['rawGlass'] = getFileData($child->rawGlass()->toFile());
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($child->finishedGlass()->isNotEmpty()) {
|
if ($child->finishedGlass()->isNotEmpty()) {
|
||||||
$files['static']['finishedGlass'] = getFileData($child->finishedGlass()->toFile());
|
$files['static']['finishedGlass'] = getFileData($child->finishedGlass()->toFile());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue