mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
feat: require 3 mots-clés in partage, language asterisk toggle, admin auto-save checkboxes
- tag-search: add minTags/required params, counter shows red if < 3, accent if ≥ 3 - form.php: pass minTags=3 for partage mode keywords - checkbox-list: support labelHtml for raw HTML label with targetable asterisk span - language-autre-fragment: OOB swap updates #languages-required-asterisk when autre pills change - language-search: client-side update #languages-required-asterisk on pill add/remove - contenus.php: replace 3 form+submit-button fieldsets with HTMX auto-save checkboxes - settings.php: detect HX-Request header, return OOB CSRF token updates, skip redirect
This commit is contained in:
@@ -193,12 +193,14 @@ $checkedFormatsForSiteWeb = $checkedFormatsForSiteWeb ?? [];
|
||||
$label = "Langue(s) du TFE :";
|
||||
$options = $languages;
|
||||
$checked = $formData["languages"] ?? [];
|
||||
$required = !$adminMode;
|
||||
$_hasLangAutre = !empty($formData['language_autre']) && is_array($formData['language_autre']) && count(array_filter($formData['language_autre'], fn($l) => is_string($l) && trim($l) !== '')) > 0;
|
||||
$required = !$adminMode && !$_hasLangAutre;
|
||||
$hxPost = $mode === 'partage' ? "/partage/language-autre-fragment" : "/admin/language-autre-fragment.php";
|
||||
$hxTarget = "#language-autre-required";
|
||||
$hxTarget = "#languages-required-asterisk";
|
||||
$hxSwap = "outerHTML";
|
||||
$labelHtml = htmlspecialchars($label) . '<span id="languages-required-asterisk">' . ($required ? ' <span class="asterisk">*</span>' : '') . '</span>';
|
||||
include APP_ROOT . "/templates/partials/form/checkbox-list.php";
|
||||
unset($hxSwap);
|
||||
unset($hxSwap, $_hasLangAutre, $labelHtml);
|
||||
?>
|
||||
<?php
|
||||
$_langAutreRequired = empty($formData["languages"]);
|
||||
@@ -274,9 +276,11 @@ $checkedFormatsForSiteWeb = $checkedFormatsForSiteWeb ?? [];
|
||||
$placeholder = "Rechercher un mot-clé…";
|
||||
$hint = "Tapez pour rechercher ou créer des mots-clés.";
|
||||
$selectedTags = $_selectedTags;
|
||||
$required = !$adminMode;
|
||||
$minTags = ($mode === 'partage') ? 3 : 0;
|
||||
$hxPost = ($mode === 'partage') ? "/partage/tag-search-fragment" : "/admin/tag-search-fragment.php";
|
||||
include APP_ROOT . "/templates/partials/form/tag-search.php";
|
||||
unset($_tagsRaw, $_selectedTags, $_t, $name, $label, $placeholder, $hint, $selectedTags, $hxPost);
|
||||
unset($_tagsRaw, $_selectedTags, $_t, $name, $label, $placeholder, $hint, $selectedTags, $hxPost, $minTags, $required);
|
||||
?>
|
||||
</fieldset>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user