From ca313a2b18f90a8d0a66d83526df29f736cc3360 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Thu, 30 Jan 2025 16:36:36 +0100 Subject: [PATCH] 1.20.03 revert page edit --- core/module/page/view/edit/edit.js.php | 926 ++++++++++++++++++------- core/module/page/view/edit/edit.php | 32 +- 2 files changed, 682 insertions(+), 276 deletions(-) diff --git a/core/module/page/view/edit/edit.js.php b/core/module/page/view/edit/edit.js.php index c132512..6ec1a69 100644 --- a/core/module/page/view/edit/edit.js.php +++ b/core/module/page/view/edit/edit.js.php @@ -6,306 +6,732 @@ * * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean - * @author Frédéric Tempez + * @authorFrédéric Tempez * @copyright Copyright (C) 2018-2025, Frédéric Tempez * @license CC Attribution-NonCommercial-NoDerivatives 4.0 International * @link http://zwiicms.fr/ */ -// Cache jQuery objects for better performance -const $pageEditDelete = $("#pageEditDelete"); -const $pageEditModuleId = $("#pageEditModuleId"); -const $pageEditModuleIdOld = $("#pageEditModuleIdOld"); -const $pageEditModuleIdOldText = $("#pageEditModuleIdOldText"); -const $pageEditGroup = $("#pageEditGroup"); -const $pageEditGroupProfil = $(".pageEditGroupProfil"); -const $pageEditContentContainer = $("#pageEditContentContainer"); -const $pageEditExtensionContainer = $("#pageEditExtensionContainer"); -const $pageEditPositionContainer = $("#pageEditPositionContainer"); -const $pageEditLayoutContainer = $("#pageEditLayoutContainer"); -const $pageEditPermissionContainer = $("#pageEditPermissionContainer"); -const $pageEditModuleConfig = $("#pageEditModuleConfig"); -const $pageModulePositionWrapper = $("#pageModulePositionWrapper"); -const $pageEditContentWrapper = $("#pageEditContentWrapper"); -const $pageEditHideTitleWrapper = $("#pageEditHideTitleWrapper"); -const $pageEditBlockLayout = $("#pageEditBlockLayout"); -const $pageEditBlock = $("#pageEditBlock"); -const $pageEditBarLeftWrapper = $("#pageEditBarLeftWrapper"); -const $pageEditBarRightWrapper = $("#pageEditBarRightWrapper"); -const $pageEditMenu = $("#pageEditMenu"); -const $pageEditbreadCrumbWrapper = $("#pageEditbreadCrumbWrapper"); -const $pageEditModuleIdWrapper = $("#pageEditModuleIdWrapper"); -const $pageEditDisplayMenuWrapper = $("#pageEditDisplayMenuWrapper"); -const $pageTypeMenuWrapper = $("#pageTypeMenuWrapper"); -const $pageEditSeoWrapper = $("#pageEditSeoWrapper"); -const $pageEditAdvancedWrapper = $("#pageEditAdvancedWrapper"); -const $pageEditHideMenuSideWrapper = $("#pageEditHideMenuSideWrapper"); -const $pageEditHideMenuChildrenWrapper = $("#pageEditHideMenuChildrenWrapper"); -const $pageEditParentPageId = $("#pageEditParentPageId"); -const $pageEditDisable = $("#pageEditDisable"); -const $pageEditExtraPosition = $("#pageEditExtraPosition"); -const $pageEditPosition = $("#pageEditPosition"); -const $pageEditHideTitle = $("#pageEditHideTitle"); -const $pageTypeMenu = $("#pageTypeMenu"); -const $pageIconUrlWrapper = $("#pageIconUrlWrapper"); -const $pageEditTitle = $("#pageEditTitle"); -const $pageEditShortTitle = $("#pageEditShortTitle"); - -// Confirmation de suppression -$pageEditDelete.on("click", function() { - return core.confirm($("#pageEditDataContainer").data("translate-delete"), () => { - $(location).attr("href", $(this).attr("href")); - }); +/** + * Confirmation de suppression +*/ + $("#pageEditDelete").on("click", function() { + var _this = $(this); + var message_delete = ""; + return core.confirm(message_delete, function() { + $(location).attr("href", _this.attr("href")); + }); }); -// Gestion du changement de module -$pageEditModuleId.on("change", protectModule); +$("#pageEditModuleId").on("change", function() { + protectModule(); +}); function protectModule() { - const oldModule = $pageEditModuleIdOld.val(); - const newModule = $pageEditModuleId.val(); - if (oldModule && oldModule !== newModule) { - core.confirm($("#pageEditDataContainer").data("translate-module-delete") + " " + $pageEditModuleIdOldText.val(), () => { - $(location).attr("href", $(this).attr("href")); - }, () => { - $pageEditModuleId.val(oldModule); - }); - } + var oldModule = $("#pageEditModuleIdOld").val(); + var oldModuleText = $("#pageEditModuleIdOldText").val(); + var newModule = $("#pageEditModuleId").val(); + if ( oldModule !== "" && + oldModule !== newModule) { + var _this = $(this); + var message_delete = ""; + core.confirm(message_delete + " " + oldModuleText, + 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() { - // Changement de profil - $pageEditGroupProfil.hide(); - $(`#pageEditGroupProfil${$pageEditGroup.val()}`).show(); - $pageEditGroup.on("change", function() { - $pageEditGroupProfil.hide(); - $(`#pageEditGroupProfil${$(this).val()}`).show(); - }); - // Sélection des onglets - const pageLayout = $("#pageEditDataContainer").data("page-layout") || "content"; - $pageEditContentContainer.hide(); - $pageEditExtensionContainer.hide(); - $pageEditPositionContainer.hide(); - $pageEditLayoutContainer.hide(); - $pageEditPermissionContainer.hide(); - $(`#pageEdit${capitalizeFirstLetter(pageLayout)}Container`).show(); - $(`#pageEdit${capitalizeFirstLetter(pageLayout)}Button`).addClass("activeButton"); +/** +* Paramètres par défaut au chargement +*/ +$( document ).ready(function() { - // Enleve le menu fixe en édition de page - $("nav").removeAttr('id'); + // Changement de profil + $(".pageEditGroupProfil").hide(); + $("#pageEditGroupProfil" + $("#pageEditGroup").val()).show(); - // Gestion des modules - if ($pageEditModuleId.val() === "") { - $pageEditModuleConfig.addClass("disabled"); - } else { - $pageEditModuleConfig.removeClass("disabled"); - $pageEditBlock.find("option[value='bar']").remove(); - } + $("#pageEditGroup").on("change", function () { + $(".pageEditGroupProfil").hide(); + $("#pageEditGroupProfil" + $(this).val()).show(); + }); - // Masquer et afficher les éléments en fonction du module sélectionné - toggleModuleElements($pageEditModuleId.val()); - // Masquer et afficher les éléments en fonction du bloc sélectionné - toggleBlockElements($pageEditBlock.val()); + /** + * Sélection des onglets + */ + var pageLayout = "getData(['user', $this->getUser('id'), 'view', 'page']);?>"; + // Non défini, valeur par défaut + if (pageLayout == "") { + pageLayout = "content"; + } + // Tout cacher + $("#pageEditContentContainer").hide(); + $("#pageEditExtensionContainer").hide(); + $("#pageEditPositionContainer").hide(); + $("#pageEditLayoutContainer").hide(); + $("#pageEditPermissionContainer").hide(); + // Afficher la bonne tab + $("#pageEdit" + capitalizeFirstLetter(pageLayout) + "Container").show(); + $("#pageEdit" + capitalizeFirstLetter(pageLayout) + "Button").addClass("activeButton"); - // Masquer ou afficher le chemin de fer - toggleBreadCrumb($pageEditHideTitle.is(':checked'), $pageEditParentPageId.val()); - // Masquer ou afficher la sélection de l'icône - toggleIconUrl($pageTypeMenu.val()); + /* + * 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"); + /*$("#pageEditContentContainer").hide();*/ + + } + else { + $("#pageEditModuleConfig").removeClass("disabled"); + /*$("#pageEditContentContainer").hide();*/ + $("#pageEditBlock option[value='bar']").remove(); + } + + /** + * Masquer et affiche la sélection de position du module + */ + if( $("#pageEditModuleId").val() === "redirection" || + $("#pageEditModuleId").val() === "" ) { + $("#pageModulePositionWrapper").removeClass("disabled"); + $("#pageModulePositionWrapper").slideUp(); + } + else { + $("#pageModulePositionWrapper").addClass("disabled"); + $("#pageModulePositionWrapper").slideDown(); + } + + + /** + * 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(); + $(".navSelect").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 + */ + if ($("#pageEditExtraPosition").val() == 1 ) { + var positionDOM = $("#pageEditPosition"); + var positionInitial = getData(['page',$this->getUrl(2),"position"]); ?>; + buildPagesList(true); + $("#pageEditPosition").val(positionInitial); + } - // Masquer ou afficher les options de masquage dans les menus - toggleMenuOptions($pageEditPosition.val(), $pageEditParentPageId.val(), $pageEditDisable.is(':checked')); - // Liste des pages pour le menu accessoire - if ($pageEditExtraPosition.val() == 1) { - buildPagesList(true); - $pageEditPosition.val($("#pageEditDataContainer").data("position-initial")); - } }); -// Gestion des événements -$('#pageEditForm').on('submit', function() { - $('#containerSelected').val(pageLayout); + + // Gestion des évènements + //-------------------------------------------------------------------------------------- + + /** + * Transmet le bouton de l'onglet sélectionné avant la soumission + */ + $('#pageEditForm').on('submit', function () { + $('#containerSelected').val(pageLayout); + }); + + /** + * Sélection de la page de configuration à afficher + */ + $("#pageEditContentButton").on("click", function () { + pageLayout = "locale"; + $("#pageEditContentContainer").show(); + $("#pageEditExtensionContainer").hide(); + $("#pageEditPositionContainer").hide(); + $("#pageEditLayoutContainer").hide(); + $("#pageEditPermissionContainer").hide(); + $("#pageEditContentButton").addClass("activeButton"); + $("#pageEditExtensionButton").removeClass("activeButton"); + $("#pageEditPositionButton").removeClass("activeButton"); + $("#pageEditLayoutButton").removeClass("activeButton"); + $("#pageEditPermissionButton").removeClass("activeButton"); + }); + $("#pageEditPositionButton").on("click", function () { + pageLayout = "position"; + $("#pageEditContentContainer").hide(); + $("#pageEditExtensionContainer").hide(); + $("#pageEditPositionContainer").show(); + $("#pageEditLayoutContainer").hide(); + $("#pageEditPermissionContainer").hide(); + $("#pageEditContentButton").removeClass("activeButton"); + $("#pageEditExtensionButton").removeClass("activeButton"); + $("#pageEditPositionButton").addClass("activeButton"); + $("#pageEditLayoutButton").removeClass("activeButton"); + $("#pageEditPermissionButton").removeClass("activeButton"); + }); + $("#pageEditExtensionButton").on("click", function () { + pageLayout = "extension"; + $("#pageEditContentContainer").hide(); + $("#pageEditExtensionContainer").show(); + $("#pageEditPositionContainer").hide(); + $("#pageEditLayoutContainer").hide(); + $("#pageEditPermissionContainer").hide(); + $("#pageEditContentButton").removeClass("activeButton"); + $("#pageEditExtensionButton").addClass("activeButton"); + $("#pageEditPositionButton").removeClass("activeButton"); + $("#pageEditLayoutButton").removeClass("activeButton"); + $("#pageEditPermissionButton").removeClass("activeButton"); + }); + $("#pageEditLayoutButton").on("click", function () { + pageLayout = "layout"; + $("#pageEditContentContainer").hide(); + $("#pageEditExtensionContainer").hide(); + $("#pageEditPositionContainer").hide(); + $("#pageEditLayoutContainer").show(); + $("#pageEditPermissionContainer").hide(); + $("#pageEditContentButton").removeClass("activeButton"); + $("#pageEditExtensionButton").removeClass("activeButton"); + $("#pageEditPositionButton").removeClass("activeButton"); + $("#pageEditLayoutButton").addClass("activeButton"); + $("#pageEditPermissionButton").removeClass("activeButton"); + }); + $("#pageEditPermissionButton").on("click", function () { + pageLayout = "permission"; + $("#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"); + }); + +/** + * 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(); + } }); -$("#pageEditContentButton, #pageEditPositionButton, #pageEditExtensionButton, #pageEditLayoutButton, #pageEditPermissionButton").on("click", function() { - const tab = $(this).attr("id").replace("pageEdit", "").replace("Button", "").toLowerCase(); - $pageEditContentContainer.hide(); - $pageEditExtensionContainer.hide(); - $pageEditPositionContainer.hide(); - $pageEditLayoutContainer.hide(); - $pageEditPermissionContainer.hide(); - $(`#pageEdit${capitalizeFirstLetter(tab)}Container`).show(); - $(this).addClass("activeButton").siblings().removeClass("activeButton"); + +/** +* 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(); + } }); -$pageEditDisable.on("change", function() { - toggleMenuOptions($pageEditPosition.val(), $pageEditParentPageId.val(), $(this).is(':checked')); +/** + * 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(''); + } + else { + $("#pageEditModuleConfig").removeClass("disabled"); + $("#pageEditBlock option[value='bar']").remove(); + } }); -$pageEditPosition.on("change", function() { - toggleMenuOptions($(this).val(), $pageEditParentPageId.val(), $pageEditDisable.is(':checked')); + + +/** + * Masquer et affiche la sélection de position du module + * + * */ +var pageEditModuleIdDOM = $("#pageEditModuleId"); +pageEditModuleIdDOM.on("change", function() { + if( $(this).val() === "redirection" || + $(this).val() === "") { + $("#pageModulePositionWrapper").removeClass("disabled"); + $("#pageModulePositionWrapper").slideUp(); + } + else { + $("#pageModulePositionWrapper").addClass("disabled"); + $("#pageModulePositionWrapper").slideDown(); + } }); -$pageEditModuleId.on("change", function() { - toggleModuleElements($(this).val()); + + + +/** + * 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(); + } }); -$pageEditBlock.on("change", function() { - toggleBlockElements($(this).val()); + + +/** + * 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(); + } }); -$pageEditHideTitle.on("change", function() { - toggleBreadCrumb($(this).is(':checked'), $pageEditParentPageId.val()); + +/** + * 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(); + $(".navSelect").slideUp(); + /* + $("#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(); + $(".navSelect").slideDown(); + if ($("#pageEditParentPageId").val() !== "") { + $("#pageEditbreadCrumbWrapper").addClass("disabled"); + $("#pageEditbreadCrumbWrapper").slideDown(); + $("#pageEditExtraPositionWrapper").slideDown(); + } else { + } + if ($("#pageEditModuleId").val() === "") { + $("#pageEditModuleConfig").addClass("disabled"); + } else { + $("#pageEditModuleConfig").removeClass("disabled"); + } + /* + $("#pageEditBlockLayout").removeClass("col12"); + $("#pageEditBlockLayout").addClass("col6"); + */ + } }); -$pageTypeMenu.on("change", function() { - toggleIconUrl($(this).val()); + + + +/** + * 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(); + } + } }); -$pageEditTitle.on("input", function() { - $pageEditShortTitle.val($(this).val()); + +/** + * 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(); + $("#pageEditExtraPositionWrapper").slideUp(); + } else { + $("#pageEditbreadCrumbWrapper").addClass("disabled"); + $("#pageEditbreadCrumbWrapper").slideDown(); + $("#pageEditExtraPositionWrapper").slideDown(); + + } + if ($(this).val() !== "") { + $("#pageEditHideMenuChildrenWrapper").removeClass("disabled"); + $("#pageEditHideMenuChildrenWrapper").slideUp(); + $("#pageEditExtraPositionWrapper").slideUp(); + } else { + $("#pageEditHideMenuChildrenWrapper").addClass("disabled"); + $("#pageEditHideMenuChildrenWrapper").slideDown(); + $("#pageEditExtraPositionWrapper").slideDown(); + } + }); -$pageEditExtraPosition.on("change", function() { - buildPagesList($(this).val() == 1); + + +/** + * 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(); + } }); -$pageEditModuleConfig.on("click", function() { - $("#pageEditModuleRedirect").val(1); - $("#pageEditForm").trigger("submit"); +/** + * Duplication du champ Title dans Short title + */ +$("#pageEditTitle").on("input", function() { + $("#pageEditShortTitle").val($(this).val()); }); -$pageEditParentPageId.on("change", function() { - buildPagesList(false); +/** + * 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 ) { + buildPagesList(true); + } else { + buildPagesList(false); + //$("#pageEditParentPageId").trigger("change"); + } +}); +/** + * 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"); +/** + * Construit un select contenant la liste des pages du site. + */ + function buildPagesList(extraPosition) { - // Récupération des données depuis les attributs data-* - const hierarchy = $("#pageEditDataContainer").data("hierarchy"); - const pages = $("#pageEditDataContainer").data("pages"); - const positionInitial = $("#pageEditDataContainer").data("position-initial"); - const currentPage = $("#pageEditDataContainer").data("current-page"); - - const positionDOM = $pageEditPosition; - const message_none = $("#pageEditDataContainer").data("translate-none"); - const message_begin = $("#pageEditDataContainer").data("translate-begin"); - const message_after = $("#pageEditDataContainer").data("translate-after"); + var hierarchy = getHierarchy()); ?>; + var pages = getPageInfo(); ?>; + var positionInitial = getData(['page',$this->getUrl(2),"position"]); ?>; + var extraPosition = $("#pageEditExtraPosition").val(); + var positionDOM = $("#pageEditPosition"); + var message_none = ""; + var message_begin = ""; + var message_after = ""; + positionDOM.empty().append( + $("