Page dans le menu accessoire, actualisation de la liste des pages dans le sélecteur

This commit is contained in:
Fred Tempez 2022-02-14 12:34:41 +01:00
parent 0f77fd4d2b
commit 050386826d
1 changed files with 42 additions and 13 deletions

View File

@ -234,6 +234,17 @@ $( document ).ready(function() {
$("#pageEditHideMenuChildrenWrapper").slideDown(); $("#pageEditHideMenuChildrenWrapper").slideDown();
} }
/**
* Liste des pages pour le menu accessoire
*/
if ($("#pageEditExtraPosition").val() == 1 ) {
var positionDOM = $("#pageEditPosition");
positionDOM.empty().append(
$("<option>").val(0).text("Ne pas afficher"),
$("<option>").val(1).text("Au début")
);
}
}); });
@ -427,7 +438,7 @@ pageEditBlockDOM.on("change", function() {
} else { } else {
} }
if ($("#pageEditModuleId").val() === "") { if ($("#pageEditModuleId").val() === "") {
$("#pageEditModuleConfig").addClass("disabled"); $("#pageEditModuleConfig").addClass("disabled");
} else { } else {
$("#pageEditModuleConfig").removeClass("disabled"); $("#pageEditModuleConfig").removeClass("disabled");
} }
@ -505,8 +516,24 @@ pageTypeMenuDOM.on("change", function() {
}); });
/**
* Actualise la liste de pages lorsque le menu accessoire est sélectionné
*/
// Initialise à Début si le menu accessoire est sélectionné
$("#pageEditExtraPosition").on("change", function() {
if ($("#pageEditExtraPosition").val() == 1 ) {
var positionDOM = $("#pageEditPosition");
positionDOM.empty().append(
$("<option>").val(0).text("Ne pas afficher"),
$("<option>").val(1).text("Au début")
);
} else {
getPages();
//$("#pageEditParentPageId").trigger("change");
}
});
/** /**
* Soumission du formulaire pour éditer le module * Soumission du formulaire pour éditer le module
*/ */
@ -518,23 +545,27 @@ $("#pageEditModuleConfig").on("click", function() {
/** /**
* Affiche les pages en fonction de la page parent dans le choix de la position * Affiche les pages en fonction de la page parent dans le choix de la position
*/ */
var hierarchy = <?php echo json_encode($this->getHierarchy()); ?>;
var pages = <?php echo json_encode($this->getData(['page'])); ?>;
// 9.0.07 corrige une mauvaise sélection d'une page orpheline avec enfant
var positionInitial = <?php echo $this->getData(['page',$this->getUrl(2),"position"]); ?>;
// 9.0.07
$("#pageEditParentPageId").on("change", function() { $("#pageEditParentPageId").on("change", function() {
getPages();
}).trigger("change");
/**
* Construit un select contenant la liste des pages du site.
*/
function getPages() {
var hierarchy = <?php echo json_encode($this->getHierarchy()); ?>;
var pages = <?php echo json_encode($this->getData(['page'])); ?>;
var positionInitial = <?php echo $this->getData(['page',$this->getUrl(2),"position"]); ?>;
var positionDOM = $("#pageEditPosition"); var positionDOM = $("#pageEditPosition");
positionDOM.empty().append( positionDOM.empty().append(
$("<option>").val(0).text("Ne pas afficher"), $("<option>").val(0).text("Ne pas afficher"),
$("<option>").val(1).text("Au début") $("<option>").val(1).text("Au début")
); );
var parentSelected = $(this).val(); var parentSelected = $("#pageEditParentPageId").val();
var positionSelected = 0; var positionSelected = 0;
var positionPrevious = 1; var positionPrevious = 1;
// Aucune page parent selectionnée // Aucune page parent selectionnée
if(parentSelected === "") { if(parentSelected === "") {
// Liste des pages sans parents // Liste des pages sans parents
@ -555,11 +586,9 @@ $("#pageEditParentPageId").on("change", function() {
} }
} }
} }
// 9.0.07 corrige une mauvaise sélection d'une page orpheline avec enfant
if (positionInitial === 0) { if (positionInitial === 0) {
positionSelected = 0; positionSelected = 0;
} }
// 9.0.07
} }
// Un page parent est selectionnée // Un page parent est selectionnée
else { else {
@ -582,4 +611,4 @@ $("#pageEditParentPageId").on("change", function() {
} }
// Sélectionne la bonne position // Sélectionne la bonne position
positionDOM.val(positionSelected); positionDOM.val(positionSelected);
}).trigger("change"); };