ZwiiCMS/core/module/theme/view/header/header.js.php

165 lines
5.0 KiB
PHP
Raw Normal View History

2018-04-02 08:29:19 +02: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
* @license GNU General Public License, version 3
2019-05-13 20:37:50 +02:00
* @author Frédéric Tempez <frederic.tempez@outlook.com>
* @copyright Copyright (C) 2018-2019, Frédéric Tempez
2018-04-02 08:29:19 +02:00
* @link http://zwiicms.com/
*/
2018-04-02 08:29:19 +02:00
/**
* Aperçu en direct
*/
$("input, select").on("change", function() {
2019-11-09 18:37:15 +01:00
// Récupérer la taille de l'image
/*
var tmpImg = new Image();
var url = "<?php echo helper::baseUrl(false); ?>" + "site/file/source/" + $("#themeHeaderImage").val();
tmpImg.src= url;
*/
2018-04-02 08:29:19 +02:00
// Import des polices de caractères
var headerFont = $("#themeHeaderFont").val();
var css = "@import url('https://fonts.googleapis.com/css?family=" + headerFont + "');";
2018-04-02 08:29:19 +02:00
// Couleurs, image, alignement et hauteur de la bannière
css += "header{background-color:" + $("#themeHeaderBackgroundColor").val() + ";text-align:" + $("#themeHeaderTextAlign").val() + ";";
2019-11-09 15:36:14 +01:00
if ($("#themeHeaderImage").val()) {
2019-05-13 20:37:50 +02:00
// Une image est sélectionnée
2019-11-09 15:36:14 +01:00
css += "background-image:url('<?php echo helper::baseUrl(false); ?>site/file/source/" + $("#themeHeaderImage").val() + "');background-repeat:" + $("#themeHeaderImageRepeat").val() + ";background-position:" + $("#themeHeaderImagePosition").val() + ";";
css += "background-size:" + $("#themeHeaderImageContainer").val() + ";";
2019-05-13 20:37:50 +02:00
// Pas d'image sélectionnée
} else {
// Désactiver l'option responsive
2019-05-13 21:01:37 +02:00
css += "background-image:none;";
2019-11-09 15:36:14 +01:00
//$("header .container").show();
2019-05-13 20:37:50 +02:00
}
2019-11-09 18:37:15 +01:00
/*if ($("#themeHeaderHeight").val() !== "none") {*/
css += "line-height:" + $("#themeHeaderHeight").val() + ";height:" + $("#themeHeaderHeight").val() + "}";
/*} else {
css += "line-height:" + tmpImg.height + ";height:" + tmpImg.height + "}";
}*/
2019-05-13 21:01:37 +02:00
2018-04-02 08:29:19 +02:00
// Taille, couleur, épaisseur et capitalisation du titre de la bannière
css += "header span{color:" + $("#themeHeaderTextColor").val() + ";font-family:'" + headerFont.replace(/\+/g, " ") + "',sans-serif;font-weight:" + $("#themeHeaderFontWeight").val() + ";font-size:" + $("#themeHeaderFontSize").val() + ";text-transform:" + $("#themeHeaderTextTransform").val() + "}";
// Cache le titre de la bannière
2019-11-09 15:36:14 +01:00
2018-04-02 08:29:19 +02:00
if($("#themeHeaderTextHide").is(":checked")) {
2019-11-09 15:36:14 +01:00
$("header #themeHeaderTitle").hide();
2018-04-02 08:29:19 +02:00
}
else {
2019-11-09 15:36:14 +01:00
$("header #themeHeaderTitle").show();
2018-04-02 08:29:19 +02:00
}
2019-11-09 15:36:14 +01:00
2018-04-02 08:29:19 +02:00
// Marge
if($("#themeHeaderMargin").is(":checked")) {
if(<?php echo json_encode($this->getData(['theme', 'menu', 'position']) === 'site-first'); ?>) {
css += 'header{margin:0 20px}';
}
else {
css += 'header{margin:20px 20px 0 20px}';
}
}
else {
css += 'header{margin:0}';
}
// Position de la bannière
switch($("#themeHeaderPosition").val()) {
case 'hide':
$("header").hide();
break;
case 'site':
if(<?php echo json_encode($this->getData(['theme', 'menu', 'position']) === 'site-first'); ?>) {
$("header").show().insertAfter("nav");
}
else {
$("header").show().prependTo("#site");
// Supprime le margin en trop du menu
if(<?php echo json_encode($this->getData(['theme', 'menu', 'margin'])); ?>) {
css += 'nav{margin:0 20px}';
}
}
break;
case 'body':
if(<?php echo json_encode($this->getData(['theme', 'menu', 'position']) === 'body-first'); ?>) {
$("header").show().insertAfter("nav");
}
else {
$("header").show().insertAfter("#bar");
}
2019-01-22 13:46:35 +01:00
if(<?php echo json_encode($this->getData(['theme', 'menu', 'position']) === 'top'); ?>) {
$("header").show().insertAfter("nav");
}
2018-04-02 08:29:19 +02:00
break;
}
2018-04-02 08:29:19 +02:00
// Ajout du css au DOM
$("#themePreview").remove();
$("<style>")
.attr("type", "text/css")
.attr("id", "themePreview")
.text(css)
.appendTo("head");
}).trigger("change");
2019-11-09 15:36:14 +01:00
/**
2019-05-06 21:53:00 +02:00
$("#themeHeaderHeight").on("change", function() {
if($(this).val() === 'none') {
$("#themeHeaderTextHide").prop("disabled", true);
$("#themeHeaderTextHide").prop("checked", true).trigger("change");
} else {
$("#themeHeaderTextHide").prop("disabled", false);
}
}).trigger("change");
2019-11-09 15:36:14 +01:00
*/
2018-04-02 08:29:19 +02:00
// Affiche / Cache les options de l'image du fond
$("#themeHeaderImage").on("change", function() {
if($(this).val()) {
$("#themeHeaderImageOptions").slideDown();
}
else {
$("#themeHeaderImageOptions").slideUp(function() {
$("#themeHeaderTextHide").prop("checked", false).trigger("change");
});
}
}).trigger("change");
2018-04-02 08:29:19 +02:00
// Affiche / Cache les options de la position
$("#themeHeaderPosition").on("change", function() {
if($(this).val() === 'site') {
$("#themeHeaderPositionOptions").slideDown();
}
else {
$("#themeHeaderPositionOptions").slideUp(function() {
$("#themeHeaderMargin").prop("checked", false).trigger("change");
});
}
}).trigger("change");
// Affiche / Cache les options de la bannière cliquable si pas masquée
$("#themeHeaderPosition").on("change", function() {
if($(this).val() === 'hide') {
$("#themeHeaderShow").slideUp(function() {
$("#themeHeaderlinkHome").prop("checked", false).trigger("change");
});
}
else {
$("#themeHeaderShow").slideDown();
}
}).trigger("change");