Add tabbed interface to configuration page

- Split configuration page into two tabs: PCG Mapping and Template Management
- Move CA-3 PDF template upload section to separate 'Template Management' tab
- Add JavaScript for tab switching functionality
- Add language strings for tab labels in French and English
- Improve user experience by organizing configuration options logically
- Maintain all existing functionality while improving navigation
This commit is contained in:
Frank Cools 2025-10-07 18:32:41 +02:00
parent 6918e92168
commit f7d27ae649
3 changed files with 48 additions and 3 deletions

View File

@ -120,7 +120,19 @@ print '<strong>Notice 4722 - Summary Table CA3 (3310-CA3-SD)</strong><br>';
print 'Configuration basée sur la structure officielle la plus récente du formulaire CA-3.'; print 'Configuration basée sur la structure officielle la plus récente du formulaire CA-3.';
print '</div><br>'; print '</div><br>';
// Print configuration form // Tab navigation
print '<div class="tabs">';
print '<ul class="tabBar">';
print '<li class="tabBar tabBarActive"><a href="#tab_mapping" class="tabBar">' . $langs->trans("PCGMapping") . '</a></li>';
print '<li class="tabBar"><a href="#tab_templates" class="tabBar">' . $langs->trans("TemplateManagement") . '</a></li>';
print '</ul>';
print '</div>';
// Tab content container
print '<div class="tabContainer">';
// Tab 1: PCG Mapping
print '<div id="tab_mapping" class="tabContent">';
print '<form method="POST" action="' . $_SERVER['PHP_SELF'] . '">'; print '<form method="POST" action="' . $_SERVER['PHP_SELF'] . '">';
print '<input type="hidden" name="action" value="update_mappings">'; print '<input type="hidden" name="action" value="update_mappings">';
print '<input type="hidden" name="token" value="' . newToken() . '">'; print '<input type="hidden" name="token" value="' . newToken() . '">';
@ -254,7 +266,10 @@ if (empty($mappings_by_line)) {
} }
} }
// Template Management Section print '</div>'; // Close tab_mapping
// Tab 2: Template Management
print '<div id="tab_templates" class="tabContent" style="display: none;">';
print '<div class="fichecenter">'; print '<div class="fichecenter">';
print '<div class="fichehalfleft">'; print '<div class="fichehalfleft">';
@ -372,7 +387,29 @@ print '</form>';
print '</div>'; print '</div>';
print '</div>'; print '</div>';
print '</div>'; print '</div>'; // Close tab_templates
print '</div>'; // Close tabContainer
// Add JavaScript for tab functionality
print '<script type="text/javascript">
jQuery(document).ready(function() {
// Tab switching functionality
jQuery(".tabBar a").click(function(e) {
e.preventDefault();
// Remove active class from all tabs
jQuery(".tabBar li").removeClass("tabBarActive");
jQuery(".tabContent").hide();
// Add active class to clicked tab
jQuery(this).parent().addClass("tabBarActive");
// Show corresponding content
var target = jQuery(this).attr("href");
jQuery(target).show();
});
});
</script>';
// Print footer // Print footer
llxFooter(); llxFooter();

View File

@ -16,6 +16,10 @@ DeclarationTVASetup = DeclarationTVA setup
Settings = Settings Settings = Settings
DeclarationTVASetupPage = DeclarationTVA setup page DeclarationTVASetupPage = DeclarationTVA setup page
NewSection=New section NewSection=New section
# Configuration tabs
PCGMapping = PCG Mapping
TemplateManagement = Template Management
DECLARATIONTVA_MYPARAM1 = My param 1 DECLARATIONTVA_MYPARAM1 = My param 1
DECLARATIONTVA_MYPARAM1Tooltip = My param 1 tooltip DECLARATIONTVA_MYPARAM1Tooltip = My param 1 tooltip
DECLARATIONTVA_MYPARAM2=My param 2 DECLARATIONTVA_MYPARAM2=My param 2

View File

@ -21,6 +21,10 @@ NewSection = Nouvelle section
DECLARATIONTVA_PCG_CONFIG = Configuration des comptes PCG DECLARATIONTVA_PCG_CONFIG = Configuration des comptes PCG
DECLARATIONTVA_PCG_CONFIG_TOOLTIP = Configuration des comptes du Plan Comptable Général pour chaque case de la CA3 DECLARATIONTVA_PCG_CONFIG_TOOLTIP = Configuration des comptes du Plan Comptable Général pour chaque case de la CA3
# Onglets de configuration
PCGMapping = Mapping PCG
TemplateManagement = Gestion des modèles
# Sélection multiple de comptes # Sélection multiple de comptes
DECLARATIONTVA_MULTIPLE_ACCOUNTS = Sélection multiple de comptes DECLARATIONTVA_MULTIPLE_ACCOUNTS = Sélection multiple de comptes
DECLARATIONTVA_ACCOUNT_SELECTION = Sélection de comptes DECLARATIONTVA_ACCOUNT_SELECTION = Sélection de comptes