ZwiiCMS/core/module/page/view/edit/edit.js.php

739 lines
24 KiB
PHP
Raw Normal View History

2021-12-02 11:16:10 +01:00
/**
* This file is part of Zwii.
*
* For full copyright and license information, please see the LICENSE
* file that was distributed with this source code.
*
* @author Rémi Jean <remi.jean@outlook.com>
* @copyright Copyright (C) 2008-2018, Rémi Jean
* @authorFrédéric Tempez <frederic.tempez@outlook.com>
2023-01-09 10:23:32 +01:00
* @copyright Copyright (C) 2018-2023, Frédéric Tempez
* @license CC Attribution-NonCommercial-NoDerivatives 4.0 International
2021-12-02 11:16:10 +01:00
* @link http://zwiicms.fr/
*/
/**
* Confirmation de suppression
*/
$("#pageEditDelete").on("click", function() {
2021-12-02 11:16:10 +01:00
var _this = $(this);
var message_delete = "<?php echo helper::translate('Confirmer la suppression de la page'); ?>";
2022-09-17 17:45:52 +02:00
return core.confirm(message_delete, function() {
2021-12-02 11:16:10 +01:00
$(location).attr("href", _this.attr("href"));
});
});
$("#pageEditModuleId").on("change", function() {
2021-12-02 11:16:10 +01:00
protectModule();
});
function protectModule() {
var oldModule = $("#pageEditModuleIdOld").val();
var oldModuleText = $("#pageEditModuleIdOldText").val();
var newModule = $("#pageEditModuleId").val();
if ( oldModule !== "" &&
oldModule !== newModule) {
var _this = $(this);
var message_delete = "<?php echo helper::translate('Confirmer la suppression des données du module'); ?>";
2022-09-17 17:45:52 +02:00
core.confirm(message_delete + " " + oldModuleText,
2021-12-02 11:16:10 +01:00
function() {
$(location).attr("href", _this.attr("href"));
return true;
},
function() {
$("#pageEditModuleId").val(oldModule);
return false;
}
);
}
}
/**
* Paramètres par défaut au chargement
*/
$( document ).ready(function() {
2022-03-04 10:15:24 +01:00
/**
2022-05-06 18:55:14 +02:00
* Sélection des onglets
2022-03-04 10:15:24 +01:00
*/
2022-05-06 18:55:14 +02:00
var pageLayout = getCookie("pageLayout");
if (pageLayout == null) {
pageLayout = "content";
setCookie("pageLayout", "content");
}
$("#pageEditContentContainer").hide();
2022-04-13 16:11:41 +02:00
$("#pageEditExtensionContainer").hide();
2022-03-04 10:15:24 +01:00
$("#pageEditPositionContainer").hide();
$("#pageEditLayoutContainer").hide();
2022-04-13 16:11:41 +02:00
$("#pageEditPermissionContainer").hide();
2022-05-06 18:55:14 +02:00
$("#pageEdit" + capitalizeFirstLetter(pageLayout) + "Container").show();
$("#pageEdit" + capitalizeFirstLetter(pageLayout) + "Button").addClass("activeButton");
2022-03-04 10:15:24 +01:00
2021-12-02 11:16:10 +01:00
/*
* Enleve le menu fixe en édition de page
*/
$("nav").removeAttr('id');
/**
* Bloque/Débloque le bouton de configuration au changement de module
* Affiche ou masque la position du module selon le call_user_func
*/
if($("#pageEditModuleId").val() === "") {
$("#pageEditModuleConfig").addClass("disabled");
2022-03-04 10:15:24 +01:00
/*$("#pageEditContentContainer").hide();*/
2021-12-02 11:16:10 +01:00
}
else {
$("#pageEditModuleConfig").removeClass("disabled");
2022-03-04 10:15:24 +01:00
/*$("#pageEditContentContainer").hide();*/
2021-12-02 11:16:10 +01:00
$("#pageEditBlock option[value='bar']").remove();
}
/**
* Masquer et affiche la sélection de position du module
*/
if( $("#pageEditModuleId").val() === "redirection" ||
$("#pageEditModuleId").val() === "" ) {
2022-05-06 18:55:14 +02:00
$("#pageModulePositionWrapper").removeClass("disabled");
$("#pageModulePositionWrapper").slideUp();
2021-12-02 11:16:10 +01:00
}
else {
2022-05-06 18:55:14 +02:00
$("#pageModulePositionWrapper").addClass("disabled");
$("#pageModulePositionWrapper").slideDown();
2021-12-02 11:16:10 +01:00
}
/**
* Masquer et démasquer le contenu pour les modules code et redirection
*/
if( $("#pageEditModuleId").val() === "redirection") {
$("#pageEditContentWrapper").removeClass("disabled");
$("#pageEditContentWrapper").slideUp();
} else {
$("#pageEditContentWrapper").addClass("disabled");
$("#pageEditContentWrapper").slideDown();
}
/**
* Masquer et démasquer le masquage du titre pour le module redirection
*/
if( $("#pageEditModuleId").val() === "redirection" ) {
$("#pageEditHideTitleWrapper").removeClass("disabled");
$("#pageEditHideTitleWrapper").hide();
$("#pageEditBlockLayout").removeClass("disabled");
$("#pageEditBlockLayout").hide();
} else {
$("#pageEditHideTitleWrapper").addClass("disabled");
$("#pageEditHideTitleWrapper").show();
$("#pageEditBlockLayout").addClass("disabled");
$("#pageEditBlockLayout").show();
}
/**
* Masquer et démasquer la sélection des barres
*/
switch ($("#pageEditBlock").val()) {
case "bar":
case "12":
$("#pageEditBarLeftWrapper").removeClass("disabled");
$("#pageEditBarLeftWrapper").slideUp();
$("#pageEditBarRightWrapper").removeClass("disabled");
$("#pageEditBarRightWrapper").slideUp();
break;
case "3-9":
case "4-8":
$("#pageEditBarLeftWrapper").addClass("disabled");
$("#pageEditBarLeftWrapper").slideDown();
$("#pageEditBarRightWrapper").removeClass("disabled");
$("#pageEditBarRightWrapper").slideUp();
break;
case "9-3":
case "8-4":
$("#pageEditBarLeftWrapper").removeClass("disabled");
$("#pageEditBarLeftWrapper").slideUp();
$("#pageEditBarRightWrapper").addClass("disabled");
$("#pageEditBarRightWrapper").slideDown();
break;
case "3-6-3":
case "2-7-3":
case "3-7-2":
$("#pageEditBarLeftWrapper").addClass("disabled");
$("#pageEditBarLeftWrapper").slideDown();
$("#pageEditBarRightWrapper").addClass("disabled");
$("#pageEditBarRightWrapper").slideDown();
break;
};
if ($("#pageEditBlock").val() === "bar") {
$("#pageEditMenu").removeClass("disabled");
$("#pageEditMenu").hide();
$("#pageEditHideTitleWrapper").removeClass("disabled");
$("#pageEditHideTitleWrapper").slideUp();
$("#pageEditbreadCrumbWrapper").removeClass("disabled");
$("#pageEditbreadCrumbWrapper").slideUp();
$("#pageEditModuleIdWrapper").removeClass("disabled");
$("#pageEditModuleIdWrapper").slideUp();
$("#pageEditModuleConfig").removeClass("disabled");
$("#pageEditModuleConfig").slideUp();
$("#pageEditDisplayMenuWrapper").addClass("disabled");
$("#pageEditDisplayMenuWrapper").slideDown();
$("#pageTypeMenuWrapper").removeClass("disabled");
$("#pageTypeMenuWrapper").slideUp();
$("#pageEditSeoWrapper").removeClass("disabled");
$("#pageEditSeoWrapper").slideUp();
$("#pageEditAdvancedWrapper").removeClass("disabled");
$("#pageEditAdvancedWrapper").slideUp();
/*
$("#pageEditBlockLayout").removeClass("col6");
$("#pageEditBlockLayout").addClass("col12");
*/
} else {
$("#pageEditDisplayMenuWrapper").removeClass("disabled");
$("#pageEditDisplayMenuWrapper").slideUp();
}
/**
* Masquer ou afficher le chemin de fer
* Quand le titre est masqué
*/
if ($("input[name=pageEditHideTitle]").is(':checked') ||
$("#pageEditParentPageId").val() === "" ) {
$("#pageEditbreadCrumbWrapper").removeClass("disabled");
$("#pageEditbreadCrumbWrapper").slideUp();
} else {
if ($("#pageEditParentPageId").val() !== "") {
$("#pageEditbreadCrumbWrapper").addClass("disabled");
$("#pageEditbreadCrumbWrapper").slideDown();
}
}
/**
* Masquer ou afficher la sélection de l'icône
*/
if ($("#pageTypeMenu").val() !== "text") {
$("#pageIconUrlWrapper").addClass("disabled");
$("#pageIconUrlWrapper").slideDown();
} else {
$("#pageIconUrlWrapper").removeClass("disabled");
$("#pageIconUrlWrapper").slideUp();
}
/**
* Cache les options de masquage dans les menus quand la page n'est pas affichée.
*/
if ($("#pageEditPosition").val() === "0" ) {
$("#pageEditHideMenuSideWrapper").removeClass("disabled");
$("#pageEditHideMenuSideWrapper").slideUp();
} else {
$("#pageEditHideMenuSideWrapper").addClass("disabled");
$("#pageEditHideMenuSideWrapper").slideDown();
}
/**
* Cache l'option de masquage des pages enfants
*/
if ($("#pageEditParentPageId").val() !== "") {
$("#pageEditHideMenuChildrenWrapper").removeClass("disabled");
$("#pageEditHideMenuChildrenWrapper").slideUp();
} else {
$("#pageEditHideMenuChildrenWrapper").addClass("disabled");
$("#pageEditHideMenuChildrenWrapper").slideDown();
}
/**
* Cache le l'option "ne pas afficher les pages enfants dans le menu horizontal" lorsque la page est désactivée
*/
if ($("#pageEditDisable").is(':checked') ) {
$("#pageEditHideMenuChildrenWrapper").removeClass("disabled");
$("#pageEditHideMenuChildrenWrapper").slideUp();
} else {
$("#pageEditHideMenuChildrenWrapper").addClass("disabled");
$("#pageEditHideMenuChildrenWrapper").slideDown();
}
/**
* Liste des pages pour le menu accessoire
*/
2022-03-04 10:15:24 +01:00
if ($("#pageEditExtraPosition").val() == 1 ) {
var positionDOM = $("#pageEditPosition");
var positionInitial = <?php echo $this->getData(['page',$this->getUrl(2),"position"]); ?>;
buildPagesList(true);
$("#pageEditPosition").val(positionInitial);
}
2021-12-02 11:16:10 +01:00
});
2022-03-25 09:53:42 +01:00
// Gestion des évènements
2022-03-04 10:15:24 +01:00
//--------------------------------------------------------------------------------------
/**
* Sélection de la page de configuration à afficher
*/
$("#pageEditContentButton").on("click", function () {
$("#pageEditContentContainer").show();
2022-04-13 16:11:41 +02:00
$("#pageEditExtensionContainer").hide();
2022-03-04 10:15:24 +01:00
$("#pageEditPositionContainer").hide();
$("#pageEditLayoutContainer").hide();
2022-04-13 16:11:41 +02:00
$("#pageEditPermissionContainer").hide();
2022-03-04 10:15:24 +01:00
$("#pageEditContentButton").addClass("activeButton");
2022-04-13 16:11:41 +02:00
$("#pageEditExtensionButton").removeClass("activeButton");
2022-03-04 10:15:24 +01:00
$("#PageEditPositionButton").removeClass("activeButton");
$("#pageEditLayoutButton").removeClass("activeButton");
2022-04-13 16:11:41 +02:00
$("#pageEditPermissionButton").removeClass("activeButton");
2022-05-06 18:55:14 +02:00
setCookie("pageLayout", "content");
2022-03-04 10:15:24 +01:00
});
2022-04-13 16:11:41 +02:00
$("#pageEditExtensionButton").on("click", function () {
2022-03-04 10:15:24 +01:00
$("#pageEditContentContainer").hide();
2022-04-13 16:11:41 +02:00
$("#pageEditExtensionContainer").show();
2022-03-04 10:15:24 +01:00
$("#pageEditPositionContainer").hide();
$("#pageEditLayoutContainer").hide();
2022-04-13 16:11:41 +02:00
$("#pageEditPermissionContainer").hide();
2022-03-04 10:15:24 +01:00
$("#pageEditContentButton").removeClass("activeButton");
2022-04-13 16:11:41 +02:00
$("#pageEditExtensionButton").addClass("activeButton");
2022-03-04 10:15:24 +01:00
$("#PageEditPositionButton").removeClass("activeButton");
$("#pageEditLayoutButton").removeClass("activeButton");
2022-04-13 16:11:41 +02:00
$("#pageEditPermissionButton").removeClass("activeButton");
setCookie("pageLayout", "extension");
2022-03-04 10:15:24 +01:00
});
$("#PageEditPositionButton").on("click", function () {
$("#pageEditContentContainer").hide();
2022-04-13 16:11:41 +02:00
$("#pageEditExtensionContainer").hide();
2022-03-04 10:15:24 +01:00
$("#pageEditPositionContainer").show();
$("#pageEditLayoutContainer").hide();
2022-04-13 16:11:41 +02:00
$("#pageEditPermissionContainer").hide();
2022-03-04 10:15:24 +01:00
$("#pageEditContentButton").removeClass("activeButton");
2022-04-13 16:11:41 +02:00
$("#pageEditExtensionButton").removeClass("activeButton");
2022-03-04 10:15:24 +01:00
$("#PageEditPositionButton").addClass("activeButton");
$("#pageEditLayoutButton").removeClass("activeButton");
2022-04-13 16:11:41 +02:00
$("#pageEditPermissionButton").removeClass("activeButton");
2022-05-06 18:55:14 +02:00
setCookie("pageLayout", "position");
2022-03-04 10:15:24 +01:00
});
$("#pageEditLayoutButton").on("click", function () {
$("#pageEditContentContainer").hide();
2022-04-13 16:11:41 +02:00
$("#pageEditExtensionContainer").hide();
2022-03-04 10:15:24 +01:00
$("#pageEditPositionContainer").hide();
$("#pageEditLayoutContainer").show();
2022-04-13 16:11:41 +02:00
$("#pageEditPermissionContainer").hide();
2022-03-04 10:15:24 +01:00
$("#pageEditContentButton").removeClass("activeButton");
2022-04-13 16:11:41 +02:00
$("#pageEditExtensionButton").removeClass("activeButton");
2022-03-04 10:15:24 +01:00
$("#PageEditPositionButton").removeClass("activeButton");
$("#pageEditLayoutButton").addClass("activeButton");
2022-04-13 16:11:41 +02:00
$("#pageEditPermissionButton").removeClass("activeButton");
2022-05-06 18:55:14 +02:00
setCookie("pageLayout", "layout");
2022-04-13 16:11:41 +02:00
});
$("#pageEditPermissionButton").on("click", function () {
$("#pageEditContentContainer").hide();
$("#pageEditExtensionContainer").hide();
$("#pageEditPositionContainer").hide();
$("#pageEditLayoutContainer").hide();
$("#pageEditPermissionContainer").show();
$("#pageEditContentButton").removeClass("activeButton");
$("#pageEditExtensionButton").removeClass("activeButton");
$("#pageEditPositionButton").removeClass("activeButton");
$("#pageEditLayoutButton").removeClass("activeButton");
$("#pageEditPermissionButton").addClass("activeButton");
2022-05-06 18:55:14 +02:00
setCookie("pageLayout", "permission");
2022-03-04 10:15:24 +01:00
});
2021-12-02 11:16:10 +01:00
/**
* Cache le l'option "ne pas afficher les pages enfants dans le menu horizontal" lorsque la page est désactivée
*/
var pageEditDisableDOM = $("#pageEditDisable");
pageEditDisableDOM.on("change", function() {
if ($(this).is(':checked') ) {
$("#pageEditHideMenuChildrenWrapper").removeClass("disabled");
$("#pageEditHideMenuChildrenWrapper").slideUp();
$("#pageEditHideMenuChildren").prop("checked", false);
} else {
$("#pageEditHideMenuChildrenWrapper").addClass("disabled");
$("#pageEditHideMenuChildrenWrapper").slideDown();
}
});
/**
* Cache les options de masquage dans les menus quand la page n'est pas affichée.
*/
var pageEditPositionDOM = $("#pageEditPosition");
pageEditPositionDOM.on("change", function() {
if ($(this).val() === "0" ) {
$("#pageEditHideMenuSideWrapper").removeClass("disabled");
$("#pageEditHideMenuSideWrapper").slideUp();
} else {
$("#pageEditHideMenuSideWrapper").addClass("disabled");
$("#pageEditHideMenuSideWrapper").slideDown();
}
});
/**
* Bloque/Débloque le bouton de configuration au changement de module
* Affiche ou masque la position du module selon le call_user_func
*/
var pageEditModuleIdDOM = $("#pageEditModuleId");
pageEditModuleIdDOM.on("change", function() {
if($(this).val() === "") {
$("#pageEditModuleConfig").addClass("disabled");
$("#pageEditBlock").append('<option value="bar">Barre latérale</option>');
}
else {
$("#pageEditModuleConfig").removeClass("disabled");
$("#pageEditBlock option[value='bar']").remove();
}
});
/**
* Masquer et affiche la sélection de position du module
*
* */
var pageEditModuleIdDOM = $("#pageEditModuleId");
pageEditModuleIdDOM.on("change", function() {
if( $(this).val() === "redirection" ||
$(this).val() === "") {
2022-05-06 18:55:14 +02:00
$("#pageModulePositionWrapper").removeClass("disabled");
$("#pageModulePositionWrapper").slideUp();
2021-12-02 11:16:10 +01:00
}
else {
2022-05-06 18:55:14 +02:00
$("#pageModulePositionWrapper").addClass("disabled");
$("#pageModulePositionWrapper").slideDown();
2021-12-02 11:16:10 +01:00
}
});
/**
* Masquer et démasquer le contenu pour les modules code et redirection
*/
var pageEditModuleIdDOM = $("#pageEditModuleId");
pageEditModuleIdDOM.on("change", function() {
if( $(this).val() === "redirection") {
$("#pageEditContentWrapper").removeClass("disabled");
$("#pageEditContentWrapper").slideUp();
}
else {
$("#pageEditContentWrapper").addClass("disabled");
$("#pageEditContentWrapper").slideDown();
}
});
/**
* Masquer et démasquer le masquage du titre pour le module redirection
*/
var pageEditModuleIdDOM = $("#pageEditModuleId");
pageEditModuleIdDOM.on("change", function() {
if( $(this).val() === "redirection") {
$("#pageEditHideTitleWrapper").removeClass("disabled");
$("#pageEditHideTitleWrapper").slideUp();
$("#pageEditBlockLayout").removeClass("disabled");
$("#pageEditBlockLayout").slideUp();
}
else {
$("#pageEditHideTitleWrapper").addClass("disabled");
$("#pageEditHideTitleWrapper").slideDown();
$("#pageEditBlockLayout").addClass("disabled");
$("#pageEditBlockLayout").slideDown();
}
});
/**
* Masquer et démasquer la sélection des barres
*/
var pageEditBlockDOM = $("#pageEditBlock");
pageEditBlockDOM.on("change", function() {
switch ($(this).val()) {
case "bar":
case "12":
$("#pageEditBarLeftWrapper").removeClass("disabled");
$("#pageEditBarLeftWrapper").slideUp();
$("#pageEditBarRightWrapper").removeClass("disabled");
$("#pageEditBarRightWrapper").slideUp();
break;
case "3-9":
case "4-8":
$("#pageEditBarLeftWrapper").addClass("disabled");
$("#pageEditBarLeftWrapper").slideDown();
$("#pageEditBarRightWrapper").removeClass("disabled");
$("#pageEditBarRightWrapper").slideUp();
break;
case "9-3":
case "8-4":
$("#pageEditBarLeftWrapper").removeClass("disabled");
$("#pageEditBarLeftWrapper").slideUp();
$("#pageEditBarRightWrapper").addClass("disabled");
$("#pageEditBarRightWrapper").slideDown();
break;
case "3-6-3":
case "2-7-3":
case "3-7-2":
$("#pageEditBarLeftWrapper").addClass("disabled");
$("#pageEditBarLeftWrapper").slideDown();
$("#pageEditBarRightWrapper").addClass("disabled");
$("#pageEditBarRightWrapper").slideDown();
break;
}
if ($(this).val() === "bar") {
$("#pageEditMenu").removeClass("disabled");
$("#pageEditMenu").hide();
$("#pageEditHideTitleWrapper").removeClass("disabled");
$("#pageEditHideTitleWrapper").slideUp();
$("#pageTypeMenuWrapper").removeClass("disabled");
$("#pageTypeMenuWrapper").slideUp();
$("#pageEditSeoWrapper").removeClass("disabled");
$("#pageEditSeoWrapper").slideUp();
$("#pageEditAdvancedWrapper").removeClass("disabled");
$("#pageEditAdvancedWrapper").slideUp();
$("#pageEditbreadCrumbWrapper").removeClass("disabled");
$("#pageEditbreadCrumbWrapper").slideUp();
$("#pageEditModuleIdWrapper").removeClass("disabled");
$("#pageEditModuleIdWrapper").slideUp();
$("#pageEditModuleConfig").removeClass("disabled");
$("#pageEditModuleConfig").slideUp();
$("#pageEditDisplayMenuWrapper").addClass("disabled");
$("#pageEditDisplayMenuWrapper").slideDown();
/*
$("#pageEditBlockLayout").removeClass("col6");
$("#pageEditBlockLayout").addClass("col12");
*/
} else {
$("#pageEditMenu").addClass("disabled");
$("#pageEditMenu").show();
$("#pageEditHideTitleWrapper").addClass("disabled");
$("#pageEditHideTitleWrapper").slideDown();
$("#pageTypeMenuWrapper").addClass("disabled");
$("#pageTypeMenuWrapper").slideDown();
$("#pageEditSeoWrapper").addClass("disabled");
$("#pageEditSeoWrapper").slideDown();
$("#pageEditAdvancedWrapper").addClass("disabled");
$("#pageEditAdvancedWrapper").slideDown();
$("#pageEditModuleIdWrapper").addClass("disabled");
$("#pageEditModuleIdWrapper").slideDown();
$("#pageEditModuleConfig").slideDown();
$("#pageEditDisplayMenuWrapper").removeClass("disabled");
$("#pageEditDisplayMenuWrapper").slideUp();
if ($("#pageEditParentPageId").val() !== "") {
$("#pageEditbreadCrumbWrapper").addClass("disabled");
$("#pageEditbreadCrumbWrapper").slideDown();
2022-02-12 16:55:41 +01:00
$("#pageEditExtraPositionWrapper").slideDown();
} else {
2021-12-02 11:16:10 +01:00
}
if ($("#pageEditModuleId").val() === "") {
$("#pageEditModuleConfig").addClass("disabled");
2021-12-02 11:16:10 +01:00
} else {
$("#pageEditModuleConfig").removeClass("disabled");
}
/*
$("#pageEditBlockLayout").removeClass("col12");
$("#pageEditBlockLayout").addClass("col6");
*/
}
});
/**
* Masquer ou afficher le chemin de fer
* Quand le titre est masqué
*/
var pageEditHideTitleDOM = $("#pageEditHideTitle");
pageEditHideTitleDOM.on("change", function() {
if ($("input[name=pageEditHideTitle]").is(':checked')) {
$("#pageEditbreadCrumbWrapper").removeClass("disabled");
$("#pageEditbreadCrumbWrapper").slideUp();
} else {
if ($("#pageEditParentPageId").val() !== "") {
$("#pageEditbreadCrumbWrapper").addClass("disabled");
$("#pageEditbreadCrumbWrapper").slideDown();
}
}
});
/**
* Masquer ou afficher le chemin de fer
* Quand la page n'est pas mère et que le menu n'est pas masqué
*/
var pageEditParentPageIdDOM = $("#pageEditParentPageId");
pageEditParentPageIdDOM.on("change", function() {
if ($(this).val() === "" &&
!$('input[name=pageEditHideTitle]').is(':checked') ) {
$("#pageEditbreadCrumbWrapper").removeClass("disabled");
$("#pageEditbreadCrumbWrapper").slideUp();
2022-02-12 16:55:41 +01:00
$("#pageEditExtraPositionWrapper").slideUp();
2021-12-02 11:16:10 +01:00
} else {
$("#pageEditbreadCrumbWrapper").addClass("disabled");
$("#pageEditbreadCrumbWrapper").slideDown();
2022-02-12 16:55:41 +01:00
$("#pageEditExtraPositionWrapper").slideDown();
2021-12-02 11:16:10 +01:00
}
if ($(this).val() !== "") {
$("#pageEditHideMenuChildrenWrapper").removeClass("disabled");
$("#pageEditHideMenuChildrenWrapper").slideUp();
2022-02-12 16:55:41 +01:00
$("#pageEditExtraPositionWrapper").slideUp();
} else {
2021-12-02 11:16:10 +01:00
$("#pageEditHideMenuChildrenWrapper").addClass("disabled");
$("#pageEditHideMenuChildrenWrapper").slideDown();
2022-02-12 16:55:41 +01:00
$("#pageEditExtraPositionWrapper").slideDown();
}
2021-12-02 11:16:10 +01:00
});
/**
* Masquer ou afficher la sélection de l'icône
*/
var pageTypeMenuDOM = $("#pageTypeMenu");
pageTypeMenuDOM.on("change", function() {
if ($(this).val() !== "text") {
$("#pageIconUrlWrapper").addClass("disabled");
$("#pageIconUrlWrapper").slideDown();
} else {
$("#pageIconUrlWrapper").removeClass("disabled");
$("#pageIconUrlWrapper").slideUp();
}
});
2022-03-25 10:15:49 +01:00
/**
* Duplication du champ Title dans Short title
*/
$("#pageEditTitle").on("input", function() {
$("#pageEditShortTitle").val($(this).val());
});
2021-12-02 11:16:10 +01:00
/**
* Actualise la liste de pages lorsque le menu accessoire est sélectionné
*/
// Initialise à Début si le menu accessoire est sélectionné
2021-12-02 11:16:10 +01:00
$("#pageEditExtraPosition").on("change", function() {
if ($("#pageEditExtraPosition").val() == 1 ) {
buildPagesList(true);
} else {
buildPagesList(false);
//$("#pageEditParentPageId").trigger("change");
}
});
2021-12-02 11:16:10 +01:00
/**
* Soumission du formulaire pour éditer le module
*/
$("#pageEditModuleConfig").on("click", function() {
$("#pageEditModuleRedirect").val(1);
$("#pageEditForm").trigger("submit");
});
/**
* Affiche les pages en fonction de la page parent dans le choix de la position
*/
$("#pageEditParentPageId").on("change", function() {
buildPagesList(false);
}).trigger("change");
2021-12-02 11:16:10 +01:00
/**
* Construit un select contenant la liste des pages du site.
*/
2021-12-02 11:16:10 +01:00
function buildPagesList(extraPosition) {
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"]); ?>;
2022-02-22 16:29:47 +01:00
var extraPosition = $("#pageEditExtraPosition").val();
2021-12-02 11:16:10 +01:00
var positionDOM = $("#pageEditPosition");
var message_none = "<?php echo helper::translate('Ne pas afficher'); ?>";
var message_begin = "<?php echo helper::translate('Au début'); ?>";
var message_after = "<?php echo helper::translate('Après'); ?>";
2021-12-02 11:16:10 +01:00
positionDOM.empty().append(
2022-09-17 17:45:52 +02:00
$("<option>").val(0).text(message_none),
$("<option>").val(1).text(message_begin)
2021-12-02 11:16:10 +01:00
);
var parentSelected = $("#pageEditParentPageId").val();
2021-12-02 11:16:10 +01:00
var positionSelected = 0;
var positionPrevious = 1;
2022-02-22 16:29:47 +01:00
// Aucune page parent sélectionnée
2021-12-02 11:16:10 +01:00
if(parentSelected === "") {
// Liste des pages sans parents
for(var key in hierarchy) {
2022-02-25 20:03:12 +01:00
if(hierarchy.hasOwnProperty(key) ) {
2021-12-02 11:16:10 +01:00
// Sélectionne la page avant s'il s'agit de la page courante
if(key === "<?php echo $this->getUrl(2); ?>") {
positionSelected = positionPrevious;
}
// Sinon ajoute la page à la liste
else {
// Enregistre la position de cette page afin de la sélectionner si la prochaine page de la liste est la page courante
2022-02-25 20:03:12 +01:00
if (extraPosition == pages[key].extraPosition ) {
positionPrevious++;
// Ajout à la liste
positionDOM.append(
2022-09-17 17:45:52 +02:00
$("<option>").val(positionPrevious).html(message_after + " \"" + (pages[key].title) + "\"")
2022-02-25 20:03:12 +01:00
);
}
2021-12-02 11:16:10 +01:00
}
}
}
if (positionInitial === 0) {
positionSelected = 0;
}
}
2022-02-22 16:29:47 +01:00
// Une page parent est sélectionnée
2021-12-02 11:16:10 +01:00
else {
// Liste des pages enfants de la page parent
for(var i = 0; i < hierarchy[parentSelected].length; i++) {
// Pour page courante sélectionne la page précédente (pas de - 1 à positionSelected à cause des options par défaut)
if(hierarchy[parentSelected][i] === "<?php echo $this->getUrl(2); ?>") {
positionSelected = positionPrevious;
}
// Sinon ajoute la page à la liste
else {
// Enregistre la position de cette page afin de la sélectionner si la prochaine page de la liste est la page courante
positionPrevious++;
// Ajout à la liste
positionDOM.append(
2022-09-17 17:45:52 +02:00
$("<option>").val(positionPrevious).html(message_after + " \"" + (pages[hierarchy[parentSelected][i]].title) + "\"")
2021-12-02 11:16:10 +01:00
);
}
}
}
// Sélectionne la bonne position
positionDOM.val(positionSelected);
};
2022-05-06 18:55:14 +02:00
/**
* Cookies
*/
function setCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/; samesite=lax";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
// Define function to capitalize the first letter of a string
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}