diff --git a/web/themes/custom/eql/dist/assets/bundle.js b/web/themes/custom/eql/dist/assets/bundle.js index 896276b..c27e171 100644 --- a/web/themes/custom/eql/dist/assets/bundle.js +++ b/web/themes/custom/eql/dist/assets/bundle.js @@ -36,7 +36,7 @@ eval("/**\n * @file\n * External links js file.\n */\n\n (function ($, Drupal, d \*************************/ /***/ (function() { -eval("\nconsole.log('salut');\n// menu burger open\n\nvar burger = document.getElementById(\"block-burger\");\nvar burgertitle = document.getElementById(\"block-burger-menu\");\n\n\nburgertitle.addEventListener(\"click\", toggleMenu);\n\nfunction toggleMenu(event) {\n // console.log(event);\n burger.classList.toggle('opened');\n}\n\n//////////////////////////\n// faq reponse open \n\nvar answers = document.getElementsByClassName(\"field--name-field-reponse\");\nvar fichiers = document.getElementsByClassName(\"field--name-field-fichiers\");\nvar questions = document.getElementsByClassName(\"field--name-field-question\");\n\nfor (let i = 0; i < questions.length; i++) {\n const question = questions[i]\n question.addEventListener(\"click\", toggleFaq);\n}\nfunction toggleFaq(event) {\n // console.log(event, this);\n // fermé tout\n for (let i = 0; i < answers.length; i++) {\n answers[i].classList.remove('opened'); \n }\n // la réponse correspndante a la question clické\n // | this c'est l'élément sur le quel on a clické\n // | |le parent |la réponse dans le parent\n let answer = this.parentNode.querySelector('.field--name-field-reponse');\n // console.log(answer); \n answer.classList.add('opened');\n\n}\n///// répète fonction pour les fichiers, les liens et ressources\n//// il faudrait créer un tableau d'objet ?\n\nvar fichiers = document.getElementsByClassName(\"field--name-field-fichiers\");\nvar questions = document.getElementsByClassName(\"field--name-field-question\");\n\nfor (let i = 0; i < questions.length; i++) {\n const question = questions[i]\n question.addEventListener(\"click\", toggleFaqFichiers);\n}\nfunction toggleFaqFichiers(event) {\n // console.log(event, this);\nfor (let i = 0; i < fichiers.length; i++) {\n fichiers[i].classList.remove('opened'); \n}\nlet fichier = this.parentNode.querySelector('.field--name-field-fichiers');\n\nfichier.classList.add('opened');\n}\n\n\n////////////////////////\nvar liens = document.getElementsByClassName(\"field--name-field-liens\");\nvar questions = document.getElementsByClassName(\"field--name-field-question\");\n\nfor (let i = 0; i < questions.length; i++) {\n const question = questions[i]\n question.addEventListener(\"click\", toggleFaqLiens);\n}\nfunction toggleFaqLiens(event) {\n // console.log(event, this);\nfor (let i = 0; i < liens.length; i++) {\n liens[i].classList.remove('opened'); \n}\nlet lien = this.parentNode.querySelector('.field--name-field-liens');\n \nlien.classList.add('opened');\n}\n\n//////////////////////\nvar ressources = document.getElementsByClassName(\"field--name-field-ress\");\nvar questions = document.getElementsByClassName(\"field--name-field-question\");\n\nfor (let i = 0; i < questions.length; i++) {\n const question = questions[i]\n question.addEventListener(\"click\", toggleFaqRessources);\n}\nfunction toggleFaqRessources(event) {\n // console.log(event, this);\nfor (let i = 0; i < resources.length; i++) {\n ressources[i].classList.remove('opened'); \n}\nlet ressource = this.parentNode.querySelector('.field--name-field-ress');\n\nressource.classList.add('opened');\n}\n\n///////////////////////////////\n////////////////////////////////\n// fleche qui tourne faq\n\n// var questions = document.getElementsByClassName(\"field--name-field-question\");\n// var paragraph = document.querySelector('.field--name-field-question p::after');\n// console.log(paragraph)\n// var styles = window.getComputedStyle(element,':after')\n// console.log(styles)\n// var content = styles['content']\n// console.log(content)\n\n\n// for (let i = 0; i < questions.length; i++) {\n// const question = questions[i]\n// question.addEventListener(\"click\", rotateFleche);\n// }\n// function rotateFleche(event) {\n// console.log(event, this);\n// // for (let i = 0; i < answers.length; i++) {\n// // answers[i].classList.remove('opened'); \n// // }\n// }\n\n//////////////////////////////////////////\n// block collection reste bleu quand actif\n \njQuery(function($) {\n var path = window.location.href; // because the 'href' property of the DOM element is the absolute path\n console.log(path);\n $(\".view-id-collections .view-content .views-row a\").each(function() {\n if (this.href === path) {\n $(this).parent().closest('.views-row').addClass('active');\n }\n });\n });\n\n// /////////////////\n//// ancre dans texte au click parragraphe correspondant arrive en dessous du header \n\n\n(function($, window) {\n var adjustAnchor = function() {\n var $anchor = $('.block-entity-fieldnodefield-textes'),\n fixedElementHeight = 350;\n if ($anchor.length > 0) {\n $('html, body').stop().animate({scrollTop: $anchor.offset().top - fixedElementHeight }, 0);\n }\n };\n\n $(window).on('hashchange', function() {\n adjustAnchor();\n });\n\n})(jQuery, window);\n\n\n// ///////////////////////////////\n\n\n// slideshow home // marche pas. attention ai rajouter des class dans template views.view.html.twig et views-view-actus-blocks-pages--block-1.html.twig\n\n(function($, window) {\n console.log('hello')\n $(document).ready(function(){\n $('.path-frontpage .view-actus-blocks-pages .view-content').slick({\n slidesToShow: 1,\n // slidesToScroll: 1,\n dots: true,\n arrows: true,\n centerMode: true,\n // centerPadding: '100px',\n responsive: [\n {\n breakpoint: 810,\n settings: {\n slidesToShow: 1,\n adaptiveHeight: true,\n arrows: false,\n draggable: true,\n centerMode: true,\n }\n }]\n });\n console.log('salut slick home');\n $('.page-node-type-actualite .block-entity-fieldnodefield-images .field--type-image').slick({\n dots: true,\n arrows: false,\n adaptiveHeight: true,\n responsive: [\n {\n breakpoint: 800,\n settings: {\n adaptiveHeight: true\n }\n }]\n });\n console.log('salut slick actus');\n $('.page-node-type-projet .block-entity-fieldnodefield-photo .field--type-image').slick({\n slidesToShow: 1,\n dots: true,\n arrows: false,\n draggable: true,\n adaptiveHeight: true,\n responsive: [\n {\n breakpoint: 800,\n settings: {\n adaptiveHeight: true\n }\n }]\n });\n console.log('salut slick projets');\n\n $('.path-ressources .view:not(.view-partenaires) .view-content .view-type-ressource-slide .views-row-wrapper').slick({\n slidesToShow: 3,\n dots: false,\n arrows: true,\n centerMode: false,\n // responsive: [\n // {\n // breakpoint: 810,\n // settings: {\n // slidesToShow: 3,\n // arrows: false,\n // draggable: true,\n // centerMode: true,\n // }\n // }]\n });\n console.log('salut slick ressource');\n });\n\n\n// //////// start class à views-row-wrapper ////////\n$(document).ready(function () {\n $(\".views-row-wrapper\").each(function () {\n let h3 = $(this).prev(\"h3\");\n let link = h3.find(\"a\");\n if (link.length) {\n let text = link.text().trim();\n let className = text\n .toLowerCase()\n .normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\") // enlever les accents\n .replace(/[^a-z0-9]+/g, '-') // remplacer tout ce qui n'est pas a-z0-9 par -\n .replace(/(^-|-$)/g, ''); // enlever tirets début/fin\n\n $(this).addClass('type-' + className);\n // Ajouter la même classe sur le

\n h3.addClass('type-' + className);\n }\n });\n});\n// /////// end class à views-row-wrapper ///////\n\n\n\n\n\n})(jQuery, window);\n\n\n\n//# sourceURL=webpack://dev.eql.fr/./scripts/main.js?"); +eval("\nconsole.log('salut');\n// menu burger open\n\nvar burger = document.getElementById(\"block-burger\");\nvar burgertitle = document.getElementById(\"block-burger-menu\");\n\n\nburgertitle.addEventListener(\"click\", toggleMenu);\n\nfunction toggleMenu(event) {\n // console.log(event);\n burger.classList.toggle('opened');\n}\n\n//////////////////////////\n// faq reponse open \n\nvar answers = document.getElementsByClassName(\"field--name-field-reponse\");\nvar fichiers = document.getElementsByClassName(\"field--name-field-fichiers\");\nvar questions = document.getElementsByClassName(\"field--name-field-question\");\n\nfor (let i = 0; i < questions.length; i++) {\n const question = questions[i]\n question.addEventListener(\"click\", toggleFaq);\n}\nfunction toggleFaq(event) {\n // console.log(event, this);\n // fermé tout\n for (let i = 0; i < answers.length; i++) {\n answers[i].classList.remove('opened'); \n }\n // la réponse correspndante a la question clické\n // | this c'est l'élément sur le quel on a clické\n // | |le parent |la réponse dans le parent\n let answer = this.parentNode.querySelector('.field--name-field-reponse');\n // console.log(answer); \n answer.classList.add('opened');\n\n}\n///// répète fonction pour les fichiers, les liens et ressources\n//// il faudrait créer un tableau d'objet ?\n\nvar fichiers = document.getElementsByClassName(\"field--name-field-fichiers\");\nvar questions = document.getElementsByClassName(\"field--name-field-question\");\n\nfor (let i = 0; i < questions.length; i++) {\n const question = questions[i]\n question.addEventListener(\"click\", toggleFaqFichiers);\n}\nfunction toggleFaqFichiers(event) {\n // console.log(event, this);\nfor (let i = 0; i < fichiers.length; i++) {\n fichiers[i].classList.remove('opened'); \n}\nlet fichier = this.parentNode.querySelector('.field--name-field-fichiers');\n\nfichier.classList.add('opened');\n}\n\n\n////////////////////////\nvar liens = document.getElementsByClassName(\"field--name-field-liens\");\nvar questions = document.getElementsByClassName(\"field--name-field-question\");\n\nfor (let i = 0; i < questions.length; i++) {\n const question = questions[i]\n question.addEventListener(\"click\", toggleFaqLiens);\n}\nfunction toggleFaqLiens(event) {\n // console.log(event, this);\nfor (let i = 0; i < liens.length; i++) {\n liens[i].classList.remove('opened'); \n}\nlet lien = this.parentNode.querySelector('.field--name-field-liens');\n \nlien.classList.add('opened');\n}\n\n//////////////////////\nvar ressources = document.getElementsByClassName(\"field--name-field-ress\");\nvar questions = document.getElementsByClassName(\"field--name-field-question\");\n\nfor (let i = 0; i < questions.length; i++) {\n const question = questions[i]\n question.addEventListener(\"click\", toggleFaqRessources);\n}\nfunction toggleFaqRessources(event) {\n // console.log(event, this);\nfor (let i = 0; i < resources.length; i++) {\n ressources[i].classList.remove('opened'); \n}\nlet ressource = this.parentNode.querySelector('.field--name-field-ress');\n\nressource.classList.add('opened');\n}\n\n///////////////////////////////\n////////////////////////////////\n// fleche qui tourne faq\n\n// var questions = document.getElementsByClassName(\"field--name-field-question\");\n// var paragraph = document.querySelector('.field--name-field-question p::after');\n// console.log(paragraph)\n// var styles = window.getComputedStyle(element,':after')\n// console.log(styles)\n// var content = styles['content']\n// console.log(content)\n\n\n// for (let i = 0; i < questions.length; i++) {\n// const question = questions[i]\n// question.addEventListener(\"click\", rotateFleche);\n// }\n// function rotateFleche(event) {\n// console.log(event, this);\n// // for (let i = 0; i < answers.length; i++) {\n// // answers[i].classList.remove('opened'); \n// // }\n// }\n\n//////////////////////////////////////////\n// block collection reste bleu quand actif\n \njQuery(function($) {\n var path = window.location.href; // because the 'href' property of the DOM element is the absolute path\n console.log(path);\n $(\".view-id-collections .view-content .views-row a\").each(function() {\n if (this.href === path) {\n $(this).parent().closest('.views-row').addClass('active');\n }\n });\n });\n\n// /////////////////\n//// ancre dans texte au click parragraphe correspondant arrive en dessous du header \n\n\n(function($, window) {\n var adjustAnchor = function() {\n var $anchor = $('.block-entity-fieldnodefield-textes'),\n fixedElementHeight = 350;\n if ($anchor.length > 0) {\n $('html, body').stop().animate({scrollTop: $anchor.offset().top - fixedElementHeight }, 0);\n }\n };\n\n $(window).on('hashchange', function() {\n adjustAnchor();\n });\n\n})(jQuery, window);\n\n\n// ///////////////////////////////\n\n\n// slideshow home // marche pas. attention ai rajouter des class dans template views.view.html.twig et views-view-actus-blocks-pages--block-1.html.twig\n\n(function($, window) {\n console.log('hello')\n $(document).ready(function(){\n $('.path-frontpage .view-actus-blocks-pages .view-content').slick({\n slidesToShow: 1,\n // slidesToScroll: 1,\n dots: true,\n arrows: true,\n centerMode: true,\n // centerPadding: '100px',\n responsive: [\n {\n breakpoint: 810,\n settings: {\n slidesToShow: 1,\n adaptiveHeight: true,\n arrows: false,\n draggable: true,\n centerMode: true,\n }\n }]\n });\n console.log('salut slick home');\n $('.page-node-type-actualite .block-entity-fieldnodefield-images .field--type-image').slick({\n dots: true,\n arrows: false,\n adaptiveHeight: true,\n responsive: [\n {\n breakpoint: 800,\n settings: {\n adaptiveHeight: true\n }\n }]\n });\n console.log('salut slick actus');\n $('.page-node-type-projet .block-entity-fieldnodefield-photo .field--type-image').slick({\n slidesToShow: 1,\n dots: true,\n arrows: false,\n draggable: true,\n adaptiveHeight: true,\n responsive: [\n {\n breakpoint: 800,\n settings: {\n adaptiveHeight: true\n }\n }]\n });\n console.log('salut slick projets');\n\n $('.path-ressources .view:not(.view-partenaires) .view-content .view-type-ressource-slide .views-row-wrapper').slick({\n slidesToShow: 3,\n dots: false,\n arrows: true,\n centerMode: false,\n // responsive: [\n // {\n // breakpoint: 810,\n // settings: {\n // slidesToShow: 3,\n // arrows: false,\n // draggable: true,\n // centerMode: true,\n // }\n // }]\n });\n console.log('salut slick ressource');\n });\n\n\n// //////// start class à views-row-wrapper ////////\n$(document).ready(function () {\n $(\".views-row-wrapper\").each(function () {\n let h3 = $(this).prev(\"h3\");\n let link = h3.find(\"a\");\n if (link.length) {\n let text = link.text().trim();\n let className = text\n .toLowerCase()\n .normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\") // enlever les accents\n .replace(/[^a-z0-9]+/g, '-') // remplacer tout ce qui n'est pas a-z0-9 par -\n .replace(/(^-|-$)/g, ''); // enlever tirets début/fin\n\n $(this).addClass('type-' + className);\n // Ajouter la même classe sur le

\n h3.addClass('type-' + className);\n }\n });\n\n\n $(\".wrapper-ressource\").each(function(){\n let media = $(this).find(\".field--name-field-type-de-media\");\n\n // console.log(media);\n \n let mediaText = media.text().trim();\n let className = mediaText\n .toLowerCase()\n .normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\") // enlever les accents\n .replace(/[^a-z0-9]+/g, '-') // remplacer tout ce qui n'est pas a-z0-9 par -\n .replace(/(^-|-$)/g, ''); // enlever tirets début/fin\n // console.log(mediaText);\n $(this).addClass('type-media-' + className);\n });\n\n});\n// /////// end class à views-row-wrapper ///////\n\n\n\n\n\n})(jQuery, window);\n\n\n\n//# sourceURL=webpack://dev.eql.fr/./scripts/main.js?"); /***/ }) diff --git a/web/themes/custom/eql/scripts/main.js b/web/themes/custom/eql/scripts/main.js index 7cbb9d8..a3b35d3 100644 --- a/web/themes/custom/eql/scripts/main.js +++ b/web/themes/custom/eql/scripts/main.js @@ -247,6 +247,23 @@ $(document).ready(function () { h3.addClass('type-' + className); } }); + + + $(".wrapper-ressource").each(function(){ + let media = $(this).find(".field--name-field-type-de-media"); + + // console.log(media); + + let mediaText = media.text().trim(); + let className = mediaText + .toLowerCase() + .normalize("NFD").replace(/[\u0300-\u036f]/g, "") // enlever les accents + .replace(/[^a-z0-9]+/g, '-') // remplacer tout ce qui n'est pas a-z0-9 par - + .replace(/(^-|-$)/g, ''); // enlever tirets début/fin + // console.log(mediaText); + $(this).addClass('type-media-' + className); + }); + }); // /////// end class à views-row-wrapper /////// diff --git a/web/themes/custom/eql/scss/pages/_ressource.scss b/web/themes/custom/eql/scss/pages/_ressource.scss index 3d54613..8d49ad8 100644 --- a/web/themes/custom/eql/scss/pages/_ressource.scss +++ b/web/themes/custom/eql/scss/pages/_ressource.scss @@ -163,6 +163,12 @@ } } + + .block-region-top:has(.type-de-media-video){ + + } + + /* Hide empty blocks */ .block-block-content4e5df355-e76c-4e44-bec0-e211d94f2640:empty, .block-entity-fieldnodefield-type-de-ressource:empty,