From 9e8055bfee39f4e22059298caff7e222c54d9ab2 Mon Sep 17 00:00:00 2001 From: stephan Date: Thu, 9 Jul 2026 12:30:17 -0400 Subject: [PATCH] Refactor global simulation view handling, enhance styles, and increment version code to 4.72.783 This commit refines the rendering of the global simulation view by introducing a new wrapper function for better structure and maintainability. The CSS is updated to improve the layout and appearance of the simulation toolbar and title. Additionally, JavaScript functions are added to manage the insertion and removal of global simulation views. The version code is incremented to 4.72.783 to reflect these changes. --- ajax_bib_range.php | 5 +--- css/style.css | 19 +++++++++++++ js/v2/bib-assignments.js | 44 +++++++++++++++++------------ php/inc_fx_bib_global_generated.php | 5 +--- php/inc_fx_promoteur.php | 29 +++++++++++++++++++ php/inc_settings.php | 2 +- 6 files changed, 77 insertions(+), 27 deletions(-) diff --git a/ajax_bib_range.php b/ajax_bib_range.php index 82ce333..40bd0cd 100644 --- a/ajax_bib_range.php +++ b/ajax_bib_range.php @@ -568,10 +568,7 @@ if ($action == 'batch_global_simulate') { $intManque ); - $html = '
' - . '
' . fxBibEsc($info) . '
' - . implode('', $htmlParts) - . '
'; + $html = fxBibWrapGlobalSimView($info, implode('', $htmlParts)); echo json_encode([ 'success' => true, diff --git a/css/style.css b/css/style.css index 7bbff77..1128dea 100644 --- a/css/style.css +++ b/css/style.css @@ -1495,6 +1495,25 @@ ul.ms1-menu-compte li a:hover, ul.ms1-menu-compte li a:active { font-weight:600; margin-bottom:12px; } +.bib-global-sim-view__toolbar{ + display:flex; + align-items:center; + justify-content:space-between; + gap:12px; + flex-wrap:wrap; + margin-bottom:12px; + padding-bottom:10px; + border-bottom:1px solid #dee2e6; +} +.bib-global-sim-view__title{ + font-size:1rem; + font-weight:700; + margin:0; +} +/* Un seul Fermer en tête — pas les boutons par épreuve dans la simulation globale */ +.bib-global-sim-view .bib-global-sim-section .btn-close-view{ + display:none; +} .bib-global-sim-section{ margin-top:16px; padding-top:12px; diff --git a/js/v2/bib-assignments.js b/js/v2/bib-assignments.js index ecbea7a..4004d8f 100644 --- a/js/v2/bib-assignments.js +++ b/js/v2/bib-assignments.js @@ -386,6 +386,28 @@ } } + function bibRemoveGlobalSimViews() { + document.querySelectorAll('.bib-global-sim-view').forEach(function (el) { + el.remove(); + }); + } + + function bibInsertGlobalSimView(html) { + bibRemoveGlobalSimViews(); + + var detailBody = document.getElementById('bib-tool-detail-body'); + var anchor = bibGetGlobalBatchBody() || bibGetGlobalBatchPanel(); + + if (detailBody) { + detailBody.insertAdjacentHTML('beforeend', html); + return; + } + + if (anchor) { + anchor.insertAdjacentHTML('afterend', html); + } + } + // MSIN-4440 — Grille outils : un panneau de détail, contenu déplacé depuis #bib-tool-store. var bibActiveTool = null; var bibToolContentSlots = {}; @@ -484,6 +506,7 @@ bibActiveTool = null; bibSetActiveToolButton(null); bibSetToolDetailTitle(null); + bibRemoveGlobalSimViews(); var detail = document.getElementById('bib-tool-detail'); var detailBody = document.getElementById('bib-tool-detail-body'); @@ -617,6 +640,7 @@ bibRestoreToolContent(prevTool); bibInvalidateToolSlot(prevTool); } + bibRemoveGlobalSimViews(); return bibEnsureToolLoaded(toolId).then(function () { var panel = bibGetToolPanel(toolId); @@ -1309,15 +1333,7 @@ return; } - var existing = document.querySelector('.epr-row-view'); - if (existing) { - existing.remove(); - } - - var anchor = bibGetGlobalBatchBody() || bibGetGlobalBatchPanel(); - if (anchor) { - anchor.insertAdjacentHTML('afterend', data.html); - } + bibInsertGlobalSimView(data.html); }); return; @@ -1355,15 +1371,7 @@ return; } - var existing = document.querySelector('.epr-row-view'); - if (existing) { - existing.remove(); - } - - var anchor = bibGetGlobalBatchBody() || bibGetGlobalBatchPanel(); - if (anchor) { - anchor.insertAdjacentHTML('afterend', data.html); - } + bibInsertGlobalSimView(data.html); }); return; diff --git a/php/inc_fx_bib_global_generated.php b/php/inc_fx_bib_global_generated.php index b2316bd..a7533bc 100644 --- a/php/inc_fx_bib_global_generated.php +++ b/php/inc_fx_bib_global_generated.php @@ -423,10 +423,7 @@ function fxBibSimulateGlobalBatchGenerated($int_eve_id, $tabPlan, $strSort1, $st $intParticipants ); - $html = '
' - . '
' . fxBibEsc($info) . '
' - . implode('', $htmlParts) - . '
'; + $html = fxBibWrapGlobalSimView($info, implode('', $htmlParts), 'bib-global-sim-view--generated'); return [ 'success' => true, diff --git a/php/inc_fx_promoteur.php b/php/inc_fx_promoteur.php index 5428328..619db9d 100644 --- a/php/inc_fx_promoteur.php +++ b/php/inc_fx_promoteur.php @@ -4597,6 +4597,35 @@ function fxBibGlobalBatchSectionClose() { return ''; } +/** + * MSIN-4443 — Enveloppe résultats simulation assignation globale (bouton Fermer). + */ +function fxBibWrapGlobalSimView($strSummary, $strSectionsHtml, $strExtraClass = '') { + $strExtraClass = trim((string)$strExtraClass); + $strClass = 'epr-row-view bib-global-sim-view'; + if ($strExtraClass !== '') { + $strClass .= ' ' . preg_replace('/[^a-z0-9 _-]/', '', $strExtraClass); + } + + ob_start(); + ?> +
+
+ + + + + +
+
+ +
+