filter && fotter
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
"drupal/geofield": "^1.15",
|
||||
"drupal/geofield_map": "^2.66",
|
||||
"drupal/geolocation": "^3.2",
|
||||
"drupal/leaflet": "^1.41",
|
||||
"drupal/linkit": "^4.3",
|
||||
"drupal/mediteran": "^1.10",
|
||||
"drupal/metatag": "^1.13",
|
||||
@@ -43,6 +44,7 @@
|
||||
"drupal/video_embed_field": "^2.4",
|
||||
"drupal/views_url_path_arguments": "^1.1",
|
||||
"drush/drush": "^10.2",
|
||||
"geocoder-php/chain-provider": "^4.2",
|
||||
"geocoder-php/google-maps-provider": "^4.5",
|
||||
"sierrafayad/osm-pbf": "^1.0",
|
||||
"twbs/bootstrap": "4.5.0"
|
||||
|
||||
Generated
+129
-1
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "915e6ec916535b32ce8892a6234cb992",
|
||||
"content-hash": "93ffc8bc2bab9aea79ee40fc534d99f1",
|
||||
"packages": [
|
||||
{
|
||||
"name": "asm89/stack-cors",
|
||||
@@ -3514,6 +3514,78 @@
|
||||
"source": "https://git.drupalcode.org/project/jquery_ui_droppable"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "drupal/leaflet",
|
||||
"version": "1.41.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://git.drupalcode.org/project/leaflet.git",
|
||||
"reference": "8.x-1.41"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://ftp.drupal.org/files/projects/leaflet-8.x-1.41.zip",
|
||||
"reference": "8.x-1.41",
|
||||
"shasum": "b947380e846a85bc2ddb378c6a451400dd614fe2"
|
||||
},
|
||||
"require": {
|
||||
"drupal/core": "^8.8 || ^9",
|
||||
"drupal/geofield": "^1.0"
|
||||
},
|
||||
"type": "drupal-module",
|
||||
"extra": {
|
||||
"drupal": {
|
||||
"version": "8.x-1.41",
|
||||
"datestamp": "1595068845",
|
||||
"security-coverage": {
|
||||
"status": "covered",
|
||||
"message": "Covered by Drupal's security advisory policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packages.drupal.org/8/downloads",
|
||||
"license": [
|
||||
"GPL-2.0+"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Italo Mairo",
|
||||
"homepage": "https://www.drupal.org/u/itamair",
|
||||
"role": "Maintainer"
|
||||
},
|
||||
{
|
||||
"name": "Peter Vanhee (pvhee)",
|
||||
"homepage": "https://www.drupal.org/u/pvhee",
|
||||
"role": "Maintainer"
|
||||
},
|
||||
{
|
||||
"name": "Rik de Boer (RdeBoer)",
|
||||
"homepage": "https://www.drupal.org/u/rdeboer",
|
||||
"role": "Maintainer"
|
||||
},
|
||||
{
|
||||
"name": "Gabriel Carleton-Barnes (gcb)",
|
||||
"homepage": "https://www.drupal.org/u/gcb",
|
||||
"role": "Maintainer"
|
||||
},
|
||||
{
|
||||
"name": "Lev Tsypin (levelos)",
|
||||
"homepage": "https://www.drupal.org/u/levelos",
|
||||
"role": "Maintainer"
|
||||
},
|
||||
{
|
||||
"name": "Sean Larkin (seanberto)",
|
||||
"homepage": "https://www.drupal.org/u/seanberto",
|
||||
"role": "Maintainer"
|
||||
}
|
||||
],
|
||||
"description": "Integration with the Leaflet map scripting library.",
|
||||
"homepage": "https://www.drupal.org/project/leaflet",
|
||||
"support": {
|
||||
"source": "https://git.drupalcode.org/project/leaflet",
|
||||
"issues": "https://www.drupal.org/project/issues/leaflet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "drupal/linkit",
|
||||
"version": "4.3.0",
|
||||
@@ -4940,6 +5012,62 @@
|
||||
],
|
||||
"time": "2020-05-23T09:10:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "geocoder-php/chain-provider",
|
||||
"version": "4.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/geocoder-php/chain-provider.git",
|
||||
"reference": "f9f8d33e958eb795c80a86a98064793d2a1084aa"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/geocoder-php/chain-provider/zipball/f9f8d33e958eb795c80a86a98064793d2a1084aa",
|
||||
"reference": "f9f8d33e958eb795c80a86a98064793d2a1084aa",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2",
|
||||
"psr/log": "^1.0",
|
||||
"willdurand/geocoder": "^4.0"
|
||||
},
|
||||
"provide": {
|
||||
"geocoder-php/provider-implementation": "1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"nyholm/nsa": "^1.1",
|
||||
"php-http/curl-client": "^1.7",
|
||||
"php-http/message": "^1.0",
|
||||
"phpunit/phpunit": "^7.5"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.0-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Geocoder\\Provider\\Chain\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "William Durand",
|
||||
"email": "william.durand1@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Geocoder chain adapter",
|
||||
"homepage": "http://geocoder-php.org/Geocoder/",
|
||||
"time": "2020-07-04T13:18:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "geocoder-php/common-http",
|
||||
"version": "4.3.0",
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
# 'example.settings.local.php' file, which sits next to this file.
|
||||
parameters:
|
||||
http.response.debug_cacheability_headers: true
|
||||
twig.config:
|
||||
debug: false
|
||||
auto_reload: true
|
||||
services:
|
||||
cache.backend.null:
|
||||
class: Drupal\Core\Cache\NullBackendFactory
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -3,6 +3,50 @@ footer{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
padding: 2rem 0;
|
||||
h2{
|
||||
font-size: 1rem;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
a{
|
||||
color: black;
|
||||
&:hover{
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
#block-renderedsitesettingsblock-4{
|
||||
.site_setting_entity{
|
||||
& > div{
|
||||
margin: 1rem 0;
|
||||
&:first-child{
|
||||
&::after,&:before{
|
||||
margin: 0.5rem 0;
|
||||
display: block;
|
||||
content: " ";
|
||||
width: 1rem;
|
||||
height: 1px;
|
||||
background: black;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sub-title{
|
||||
font-size: 1rem;
|
||||
}
|
||||
.d-flex{
|
||||
margin-top: 1rem;
|
||||
& > div{
|
||||
width: 30px;
|
||||
margin-right: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.site_setting_entity{
|
||||
img{
|
||||
// width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
& > div{
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
|
||||
@@ -2,8 +2,15 @@
|
||||
#views-exposed-form-bibliographie-page-1{
|
||||
margin: 2rem 0;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
& > div{
|
||||
margin-right: 2rem;
|
||||
&:not(:last-child){
|
||||
margin-bottom: 1rem;
|
||||
@media screen and (min-width: 992px) {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
}
|
||||
select{
|
||||
border: 1px solid $color2;
|
||||
background: white;
|
||||
@@ -20,3 +27,85 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.views-exposed-form{
|
||||
input{
|
||||
height: auto;
|
||||
background: $color2;
|
||||
color: white;
|
||||
border: none;
|
||||
outline: none;
|
||||
margin-right: 1rem;
|
||||
padding: 0.5rem 1rem;
|
||||
&:focus{
|
||||
border: none;
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.js-form-type-select {
|
||||
position: relative;
|
||||
font-family: Arial;
|
||||
display: inline-flex;
|
||||
align-items: baseline;
|
||||
label{
|
||||
margin-right: 1rem;
|
||||
}
|
||||
.select-selected{
|
||||
min-width: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
.js-form-type-select select {
|
||||
display: none; /*hide original SELECT element: */
|
||||
}
|
||||
|
||||
.select-selected {
|
||||
background-color: white;
|
||||
color: $color2!important;
|
||||
}
|
||||
|
||||
/* Style the arrow inside the select element: */
|
||||
.select-selected:after {
|
||||
position: absolute;
|
||||
content: "";
|
||||
top: 14px;
|
||||
right: 10px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border: 6px solid transparent;
|
||||
border-color: $color2 transparent transparent transparent;
|
||||
}
|
||||
|
||||
/* Point the arrow upwards when the select box is open (active): */
|
||||
.select-selected.select-arrow-active:after {
|
||||
border-color: transparent transparent $color2 transparent;
|
||||
top: 7px;
|
||||
}
|
||||
|
||||
/* style the items (options), including the selected item: */
|
||||
.select-items div,.select-selected {
|
||||
color: #ffffff;
|
||||
padding: 8px 16px;
|
||||
border: 1px solid transparent;
|
||||
border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Style items (options): */
|
||||
.select-items {
|
||||
position: absolute;
|
||||
background-color: $color2;
|
||||
top: 100%;
|
||||
right: 0;
|
||||
z-index: 99;
|
||||
min-width: 150px;
|
||||
}
|
||||
|
||||
/* Hide the items when the select box is closed: */
|
||||
.select-hide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.select-items div:hover, .same-as-selected {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
@@ -163,14 +163,6 @@ header{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.site_setting_entity{
|
||||
img{
|
||||
width: 50%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
header.front{
|
||||
#block-popsu-colloque-branding{
|
||||
width: 100%;
|
||||
|
||||
@@ -22,7 +22,7 @@ main{
|
||||
main:not(.home){
|
||||
padding-top: 0rem;
|
||||
@media screen and (min-width: 768px) {
|
||||
padding-top: 5rem!important;
|
||||
padding: 5rem 0!important;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,11 @@ img{
|
||||
color: $color2;
|
||||
}
|
||||
}
|
||||
|
||||
#block-popsu-colloque-page-title{
|
||||
padding: 0 15px;
|
||||
margin: 0 auto 2rem auto;
|
||||
@include croix_or;
|
||||
}
|
||||
#block-views-block-slide-programme-block-1,
|
||||
#block-views-block-dernieres-publications-block-1{
|
||||
margin: 5rem 0;
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
.leaflet-popup-content-wrapper{
|
||||
|
||||
}
|
||||
.leaflet-popup-content{
|
||||
p{
|
||||
font-size: 0.9rem;
|
||||
line-height: 1.5;
|
||||
font-family: 'truenoregular';
|
||||
strong{
|
||||
color: $color2;
|
||||
line-height: 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -94,6 +94,8 @@
|
||||
.__ressources{
|
||||
.__publications{
|
||||
.publications{
|
||||
// margin: $gutter1;
|
||||
|
||||
.__media{
|
||||
padding: 0.5rem 0 0.5rem 0.5rem;
|
||||
}
|
||||
@@ -101,13 +103,13 @@
|
||||
padding: 0.5rem;
|
||||
}
|
||||
@media screen and (min-width: 768px) {
|
||||
width: calc(100% / 2 - #{$gutter1});
|
||||
width: calc(100% / 2 - #{$gutter1} * 2);
|
||||
}
|
||||
@media screen and (min-width: 992px) {
|
||||
width: calc(100% / 2 - #{$gutter1});
|
||||
width: calc(100% / 2 - #{$gutter1} * 2);
|
||||
}
|
||||
@media screen and (min-width: 1200px) {
|
||||
width: calc(100% / 2 - #{$gutter1});
|
||||
width: calc(100% / 2 - #{$gutter1} * 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -122,6 +124,16 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 768px) {
|
||||
width: calc(100% / 2 - #{$gutter1} * 2);
|
||||
}
|
||||
@media screen and (min-width: 992px) {
|
||||
width: calc(100% / 2 - #{$gutter1} * 2);
|
||||
}
|
||||
@media screen and (min-width: 1200px) {
|
||||
width: calc(100% / 2 - #{$gutter1} * 2);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
@import "variables/var.scss";
|
||||
@import "mixins/mixin.scss";
|
||||
@import "./typography.scss";
|
||||
@import "typography.scss";
|
||||
@import "components/admin/edit.scss";
|
||||
@import "components/admin/toolbar.scss";
|
||||
@import "hamburgers/hamburgers.scss";
|
||||
@@ -47,6 +47,7 @@ h1,h2,h3,h4{
|
||||
@import "components/thumbnails/thumbnails.scss";
|
||||
@import "components/btn/all_btn.scss";
|
||||
@import "components/footer/footer.scss";
|
||||
@import "components/leaflet/custom_leaflet.scss";
|
||||
|
||||
main{
|
||||
// margin-top: $margin-hero;
|
||||
|
||||
@@ -89,7 +89,6 @@ a{
|
||||
}
|
||||
}
|
||||
main{
|
||||
|
||||
h2{
|
||||
font-family: 'dukefill';
|
||||
font-size: 3.5rem;
|
||||
@@ -146,6 +145,7 @@ main{
|
||||
letter-spacing: $letter_spacingH;
|
||||
color: $lightgrey;
|
||||
}
|
||||
|
||||
.__ressources{
|
||||
h4{
|
||||
text-transform: uppercase;
|
||||
|
||||
@@ -1,93 +1,193 @@
|
||||
function notes() {
|
||||
(function ($) {
|
||||
|
||||
var $link = $('#presentation a');
|
||||
$link.each(function(){
|
||||
$(this).click(function(e) {
|
||||
$this = $(this);
|
||||
if ( $this.is('#ressource') || $this.is('#publication') ) {
|
||||
e.preventDefault();
|
||||
function notes() {
|
||||
|
||||
var $url = $this.attr("href");
|
||||
var $link = $('#presentation a');
|
||||
$link.each(function(){
|
||||
$(this).click(function(e) {
|
||||
$this = $(this);
|
||||
if ( $this.is('#ressource') || $this.is('#publication') ) {
|
||||
e.preventDefault();
|
||||
|
||||
if ($( ".side_notes" )[0]) {
|
||||
$( ".side_notes" ).remove();
|
||||
var $url = $this.attr("href");
|
||||
|
||||
if ($( ".side_notes" )[0]) {
|
||||
$( ".side_notes" ).remove();
|
||||
}
|
||||
content_type($url, $this);
|
||||
ajax($url, $this);
|
||||
}
|
||||
content_type($url, $this);
|
||||
ajax($url, $this);
|
||||
}
|
||||
});
|
||||
})
|
||||
});
|
||||
})
|
||||
|
||||
function content_type($url, $this) {
|
||||
if ($this.is('#ressource')) {
|
||||
$("<div class='side_notes'><a href="+$url+"></a> </div>").insertAfter("article");
|
||||
}else if ( $this.is('#publication') ) {
|
||||
console.log('clcik');
|
||||
$("<div class='side_notes'></>").insertAfter("article");
|
||||
function content_type($url, $this) {
|
||||
if ($this.is('#ressource')) {
|
||||
$("<div class='side_notes'><a href="+$url+"></a> </div>").insertAfter("article");
|
||||
}else if ( $this.is('#publication') ) {
|
||||
console.log('clcik');
|
||||
$("<div class='side_notes'></>").insertAfter("article");
|
||||
}
|
||||
}
|
||||
|
||||
function ajax($url , $this) {
|
||||
$.ajax({
|
||||
url: $url,
|
||||
method: "GET",
|
||||
dataType:'html',
|
||||
async: true,
|
||||
success: function(data) {
|
||||
if ($this.is('#ressource')) {
|
||||
$(data).find('article > div:not(.__wrap_side) .__wrapper').appendTo('.side_notes a');
|
||||
}else if ($this.is('#publication')) {
|
||||
$(data).find('article > div:not(.__wrap_side) .__wrapper').appendTo('.side_notes');
|
||||
}
|
||||
position_link($this);
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
function position_link($this) {
|
||||
var $top_link = $this.position().top;
|
||||
console.log($top_link);
|
||||
$('.side_notes > *').css("top", $top_link);
|
||||
}
|
||||
}
|
||||
|
||||
function ajax($url , $this) {
|
||||
$.ajax({
|
||||
url: $url,
|
||||
method: "GET",
|
||||
dataType:'html',
|
||||
async: true,
|
||||
success: function(data) {
|
||||
if ($this.is('#ressource')) {
|
||||
$(data).find('article > div:not(.__wrap_side) .__wrapper').appendTo('.side_notes a');
|
||||
}else if ($this.is('#publication')) {
|
||||
$(data).find('article > div:not(.__wrap_side) .__wrapper').appendTo('.side_notes');
|
||||
}
|
||||
position_link($this);
|
||||
},
|
||||
})
|
||||
function slide() {
|
||||
var $slide = $('main .__slide');
|
||||
$slide.each(function() {
|
||||
$(this).flickity({
|
||||
cellAlign: 'left',
|
||||
pageDots: false,
|
||||
contain: true
|
||||
})
|
||||
});
|
||||
|
||||
var $footer_slide = $('footer .__slide');
|
||||
$footer_slide.each(function() {
|
||||
$(this).flickity({
|
||||
cellAlign: 'left',
|
||||
pageDots: false,
|
||||
autoPlay: true,
|
||||
pauseAutoPlayOnHover: false,
|
||||
contain: true,
|
||||
prevNextButtons: false,
|
||||
})
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function position_link($this) {
|
||||
var $top_link = $this.position().top;
|
||||
console.log($top_link);
|
||||
$('.side_notes > *').css("top", $top_link);
|
||||
function burger() {
|
||||
var hamburgers = document.querySelector(".hamburger");
|
||||
var nav = document.querySelector(".nav-main");
|
||||
hamburgers.addEventListener("click", function() {
|
||||
this.classList.toggle("is-active");
|
||||
nav.classList.toggle("is-active");
|
||||
$('html, body').toggleClass("is-active");
|
||||
$('#block-popsu-colloque-branding').toggleClass("is-active");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function slide() {
|
||||
var $slide = $('main .__slide');
|
||||
$slide.each(function() {
|
||||
$(this).flickity({
|
||||
cellAlign: 'left',
|
||||
pageDots: false,
|
||||
contain: true
|
||||
})
|
||||
});
|
||||
function replaceAny(){
|
||||
var $any_value = $('#edit-field-theme-target-id option').attr('value');
|
||||
if ($any_value == "All") {
|
||||
var $any_content = $('#edit-field-theme-target-id option:first-child').html();
|
||||
var newhtml = $any_content.replace("- Any -", "Thèmes");
|
||||
$('#edit-field-theme-target-id option:first-child').html(newhtml);
|
||||
}
|
||||
}
|
||||
|
||||
var $footer_slide = $('footer .__slide');
|
||||
$footer_slide.each(function() {
|
||||
$(this).flickity({
|
||||
cellAlign: 'left',
|
||||
pageDots: false,
|
||||
autoPlay: true,
|
||||
pauseAutoPlayOnHover: false,
|
||||
contain: true,
|
||||
prevNextButtons: false,
|
||||
})
|
||||
});
|
||||
function select_custom() {
|
||||
|
||||
var x, i, j, l, ll, selElmnt, a, b, c;
|
||||
/* Look for any elements with the class "form-select": */
|
||||
x = document.querySelectorAll(".js-form-item-field-theme-target-id, .js-form-item-field-type-de-publication-target-id ");
|
||||
l = x.length;
|
||||
for (i = 0; i < l; i++) {
|
||||
selElmnt = x[i].getElementsByTagName("select")[0];
|
||||
ll = selElmnt.length;
|
||||
/* For each element, create a new DIV that will act as the selected item: */
|
||||
a = document.createElement("DIV");
|
||||
a.setAttribute("class", "select-selected");
|
||||
a.innerHTML = selElmnt.options[selElmnt.selectedIndex].innerHTML;
|
||||
x[i].appendChild(a);
|
||||
/* For each element, create a new DIV that will contain the option list: */
|
||||
b = document.createElement("DIV");
|
||||
b.setAttribute("class", "select-items select-hide");
|
||||
for (j = 1; j < ll; j++) {
|
||||
/* For each option in the original select element,
|
||||
create a new DIV that will act as an option item: */
|
||||
c = document.createElement("DIV");
|
||||
c.innerHTML = selElmnt.options[j].innerHTML;
|
||||
c.addEventListener("click", function(e) {
|
||||
/* When an item is clicked, update the original select box,
|
||||
and the selected item: */
|
||||
var y, i, k, s, h, sl, yl;
|
||||
s = this.parentNode.parentNode.getElementsByTagName("select")[0];
|
||||
sl = s.length;
|
||||
h = this.parentNode.previousSibling;
|
||||
for (i = 0; i < sl; i++) {
|
||||
if (s.options[i].innerHTML == this.innerHTML) {
|
||||
s.selectedIndex = i;
|
||||
h.innerHTML = this.innerHTML;
|
||||
y = this.parentNode.getElementsByClassName("same-as-selected");
|
||||
yl = y.length;
|
||||
for (k = 0; k < yl; k++) {
|
||||
y[k].removeAttribute("class");
|
||||
}
|
||||
this.setAttribute("class", "same-as-selected");
|
||||
break;
|
||||
}
|
||||
}
|
||||
h.click();
|
||||
});
|
||||
b.appendChild(c);
|
||||
}
|
||||
x[i].appendChild(b);
|
||||
a.addEventListener("click", function(e) {
|
||||
/* When the select box is clicked, close any other select boxes,
|
||||
and open/close the current select box: */
|
||||
e.stopPropagation();
|
||||
closeAllSelect(this);
|
||||
this.nextSibling.classList.toggle("select-hide");
|
||||
this.classList.toggle("select-arrow-active");
|
||||
});
|
||||
}
|
||||
|
||||
function closeAllSelect(elmnt) {
|
||||
/* A function that will close all select boxes in the document,
|
||||
except the current select box: */
|
||||
var x, y, i, xl, yl, arrNo = [];
|
||||
x = document.getElementsByClassName("select-items");
|
||||
y = document.getElementsByClassName("select-selected");
|
||||
xl = x.length;
|
||||
yl = y.length;
|
||||
for (i = 0; i < yl; i++) {
|
||||
if (elmnt == y[i]) {
|
||||
arrNo.push(i)
|
||||
} else {
|
||||
y[i].classList.remove("select-arrow-active");
|
||||
}
|
||||
}
|
||||
for (i = 0; i < xl; i++) {
|
||||
if (arrNo.indexOf(i)) {
|
||||
x[i].classList.add("select-hide");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* If the user clicks anywhere outside the select box,
|
||||
then close all select boxes: */
|
||||
document.addEventListener("click", closeAllSelect);
|
||||
|
||||
}
|
||||
|
||||
function burger() {
|
||||
var hamburgers = document.querySelector(".hamburger");
|
||||
var nav = document.querySelector(".nav-main");
|
||||
hamburgers.addEventListener("click", function() {
|
||||
this.classList.toggle("is-active");
|
||||
nav.classList.toggle("is-active");
|
||||
$('html, body').toggleClass("is-active");
|
||||
$('#block-popsu-colloque-branding').toggleClass("is-active");
|
||||
$( document ).ready(function() {
|
||||
notes();
|
||||
slide();
|
||||
burger();
|
||||
replaceAny();
|
||||
select_custom();
|
||||
});
|
||||
}
|
||||
|
||||
$( document ).ready(function() {
|
||||
notes();
|
||||
slide();
|
||||
burger();
|
||||
});
|
||||
})(jQuery);
|
||||
|
||||
@@ -13,7 +13,9 @@ regions:
|
||||
header: Header
|
||||
primary_menu: 'Primary menu'
|
||||
highlighted: Highlighted
|
||||
filter: 'Filter'
|
||||
content: Content
|
||||
sidebar_first: 'Sidebar first'
|
||||
sidebar_second: 'Sidebar second'
|
||||
footer: 'Footer'
|
||||
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@
|
||||
%}
|
||||
|
||||
<h4>{{ label }}</h4>
|
||||
<div class="d-lg-flex d-block pb-4">
|
||||
<div class="d-lg-flex flex-wrap d-block pb-4">
|
||||
{% for item in items %}
|
||||
{{ item.content }}
|
||||
{% endfor %}
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@
|
||||
%}
|
||||
|
||||
<h4>{{ label }}</h4>
|
||||
<div class="row flex-wrap">
|
||||
<div class="row flex-wrap mx-0">
|
||||
{% for item in items %}
|
||||
{{ item.content }}
|
||||
{% endfor %}
|
||||
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a field.
|
||||
*
|
||||
* To override output, copy the "field.html.twig" from the templates directory
|
||||
* to your theme's directory and customize it, just like customizing other
|
||||
* Drupal templates such as page.html.twig or node.html.twig.
|
||||
*
|
||||
* Instead of overriding the theming for all fields, you can also just override
|
||||
* theming for a subset of fields using
|
||||
* @link themeable Theme hook suggestions. @endlink For example,
|
||||
* here are some theme hook suggestions that can be used for a field_foo field
|
||||
* on an article node type:
|
||||
* - field--node--field-foo--article.html.twig
|
||||
* - field--node--field-foo.html.twig
|
||||
* - field--node--article.html.twig
|
||||
* - field--field-foo.html.twig
|
||||
* - field--text-with-summary.html.twig
|
||||
* - field.html.twig
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* - label_hidden: Whether to show the field label or not.
|
||||
* - title_attributes: HTML attributes for the title.
|
||||
* - label: The label for the field.
|
||||
* - multiple: TRUE if a field can contain multiple items.
|
||||
* - items: List of all the field items. Each item contains:
|
||||
* - attributes: List of HTML attributes for each item.
|
||||
* - content: The field item's content.
|
||||
* - entity_type: The entity type to which the field belongs.
|
||||
* - field_name: The name of the field.
|
||||
* - field_type: The type of the field.
|
||||
* - label_display: The display settings for the label.
|
||||
*
|
||||
* @see template_preprocess_field()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set title_classes = [
|
||||
label_display == 'visually_hidden' ? 'visually-hidden',
|
||||
]
|
||||
%}
|
||||
|
||||
{% if label_hidden %}
|
||||
{% for item in items %}
|
||||
<h2>{{ item.content }}</h2>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a field.
|
||||
*
|
||||
* To override output, copy the "field.html.twig" from the templates directory
|
||||
* to your theme's directory and customize it, just like customizing other
|
||||
* Drupal templates such as page.html.twig or node.html.twig.
|
||||
*
|
||||
* Instead of overriding the theming for all fields, you can also just override
|
||||
* theming for a subset of fields using
|
||||
* @link themeable Theme hook suggestions. @endlink For example,
|
||||
* here are some theme hook suggestions that can be used for a field_foo field
|
||||
* on an article node type:
|
||||
* - field--node--field-foo--article.html.twig
|
||||
* - field--node--field-foo.html.twig
|
||||
* - field--node--article.html.twig
|
||||
* - field--field-foo.html.twig
|
||||
* - field--text-with-summary.html.twig
|
||||
* - field.html.twig
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* - label_hidden: Whether to show the field label or not.
|
||||
* - title_attributes: HTML attributes for the title.
|
||||
* - label: The label for the field.
|
||||
* - multiple: TRUE if a field can contain multiple items.
|
||||
* - items: List of all the field items. Each item contains:
|
||||
* - attributes: List of HTML attributes for each item.
|
||||
* - content: The field item's content.
|
||||
* - entity_type: The entity type to which the field belongs.
|
||||
* - field_name: The name of the field.
|
||||
* - field_type: The type of the field.
|
||||
* - label_display: The display settings for the label.
|
||||
*
|
||||
* @see template_preprocess_field()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set title_classes = [
|
||||
label_display == 'visually_hidden' ? 'visually-hidden',
|
||||
]
|
||||
%}
|
||||
|
||||
{% if label_hidden %}
|
||||
{% if multiple %}
|
||||
<div{{ attributes }}>
|
||||
{% for item in items %}
|
||||
<div{{ item.attributes }}>{{ item.content }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% for item in items %}
|
||||
<div{{ attributes }}>{{ item.content }}</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div{{ attributes }}>
|
||||
<div{{ title_attributes.addClass(title_classes) }} class="sub-title">{{ label }}</div>
|
||||
{% if multiple %}
|
||||
<div class="d-flex">
|
||||
{% endif %}
|
||||
{% for item in items %}
|
||||
<div{{ item.attributes }}>{{ item.content }}</div>
|
||||
{% endfor %}
|
||||
{% if multiple %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
+1
-1
@@ -46,7 +46,7 @@
|
||||
|
||||
{% if label_hidden %}
|
||||
{% if multiple %}
|
||||
<div{{ attributes }}>
|
||||
<div{{ attributes }} class="__slide">
|
||||
{% for item in items %}
|
||||
<div{{ item.attributes }}>{{ item.content }}</div>
|
||||
{% endfor %}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default microdata theme implementation for a geolocation with latitude, longitude.
|
||||
*
|
||||
* Available variables:
|
||||
* - lat: The latitude value.
|
||||
* - lng: The longitude value.
|
||||
*
|
||||
* @see template_preprocess()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
<span typeof="Place">
|
||||
<span property="geo" typeof="GeoCoordinates">
|
||||
<meta property="latitude" content="{{ lat }}">
|
||||
<meta property="longitude" content="{{ lng }}">
|
||||
</span>
|
||||
<div id="mapid"></div>
|
||||
{# <span class="geolocation-latlng">{{ lat }}, {{ lng }}</span> #}
|
||||
</span>
|
||||
@@ -0,0 +1,17 @@
|
||||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a 'form' element.
|
||||
*
|
||||
* Available variables
|
||||
* - attributes: A list of HTML attributes for the wrapper element.
|
||||
* - children: The child elements of the form.
|
||||
*
|
||||
* @see template_preprocess_form()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
<form{{ attributes }}>
|
||||
{{ children }}
|
||||
</form>
|
||||
@@ -12,8 +12,9 @@
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
|
||||
{% spaceless %}
|
||||
<select{{ attributes }}>
|
||||
<select{{ attributes }} >
|
||||
{% for option in options %}
|
||||
{% if option.type == 'optgroup' %}
|
||||
<optgroup label="{{ option.label }}">
|
||||
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation to display a node.
|
||||
*
|
||||
* Available variables:
|
||||
* - node: The node entity with limited access to object properties and methods.
|
||||
* Only method names starting with "get", "has", or "is" and a few common
|
||||
* methods such as "id", "label", and "bundle" are available. For example:
|
||||
* - node.getCreatedTime() will return the node creation timestamp.
|
||||
* - node.hasField('field_example') returns TRUE if the node bundle includes
|
||||
* field_example. (This does not indicate the presence of a value in this
|
||||
* field.)
|
||||
* - node.isPublished() will return whether the node is published or not.
|
||||
* Calling other methods, such as node.delete(), will result in an exception.
|
||||
* See \Drupal\node\Entity\Node for a full list of public properties and
|
||||
* methods for the node object.
|
||||
* - label: (optional) The title of the node.
|
||||
* - content: All node items. Use {{ content }} to print them all,
|
||||
* or print a subset such as {{ content.field_example }}. Use
|
||||
* {{ content|without('field_example') }} to temporarily suppress the printing
|
||||
* of a given child element.
|
||||
* - author_picture: The node author user entity, rendered using the "compact"
|
||||
* view mode.
|
||||
* - metadata: Metadata for this node.
|
||||
* - date: (optional) Themed creation date field.
|
||||
* - author_name: (optional) Themed author name field.
|
||||
* - url: Direct URL of the current node.
|
||||
* - display_submitted: Whether submission information should be displayed.
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* The attributes.class element may contain one or more of the following
|
||||
* classes:
|
||||
* - node: The current template type (also known as a "theming hook").
|
||||
* - node--type-[type]: The current node type. For example, if the node is an
|
||||
* "Article" it would result in "node--type-article". Note that the machine
|
||||
* name will often be in a short form of the human readable label.
|
||||
* - node--view-mode-[view_mode]: The View Mode of the node; for example, a
|
||||
* teaser would result in: "node--view-mode-teaser", and
|
||||
* full: "node--view-mode-full".
|
||||
* The following are controlled through the node publishing options.
|
||||
* - node--promoted: Appears on nodes promoted to the front page.
|
||||
* - node--sticky: Appears on nodes ordered above other non-sticky nodes in
|
||||
* teaser listings.
|
||||
* - node--unpublished: Appears on unpublished nodes visible only to site
|
||||
* admins.
|
||||
* - title_attributes: Same as attributes, except applied to the main title
|
||||
* tag that appears in the template.
|
||||
* - content_attributes: Same as attributes, except applied to the main
|
||||
* content tag that appears in the template.
|
||||
* - author_attributes: Same as attributes, except applied to the author of
|
||||
* the node tag that appears in the template.
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title_suffix: Additional output populated by modules, intended to be
|
||||
* displayed after the main title tag that appears in the template.
|
||||
* - view_mode: View mode; for example, "teaser" or "full".
|
||||
* - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'.
|
||||
* - page: Flag for the full page state. Will be true if view_mode is 'full'.
|
||||
* - readmore: Flag for more state. Will be true if the teaser content of the
|
||||
* node cannot hold the main body content.
|
||||
* - logged_in: Flag for authenticated user status. Will be true when the
|
||||
* current user is a logged-in member.
|
||||
* - is_admin: Flag for admin user status. Will be true when the current user
|
||||
* is an administrator.
|
||||
*
|
||||
* @see template_preprocess_node()
|
||||
*
|
||||
* @todo Remove the id attribute (or make it a class), because if that gets
|
||||
* rendered twice on a page this is invalid CSS for example: two lists
|
||||
* in different view modes.
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
<article{{ attributes }} class="col-12 col-md-10 mb-5">
|
||||
{{ title_prefix }}
|
||||
{% if label and not page %}
|
||||
<h2{{ title_attributes }}>
|
||||
<a href="{{ url }}" rel="bookmark">{{ label }}</a>
|
||||
</h2>
|
||||
{% endif %}
|
||||
{{ title_suffix }}
|
||||
|
||||
{% if display_submitted %}
|
||||
<footer>
|
||||
{{ author_picture }}
|
||||
<div{{ author_attributes }}>
|
||||
{% trans %}Submitted by {{ author_name }} on {{ date }}{% endtrans %}
|
||||
{{ metadata }}
|
||||
</div>
|
||||
</footer>
|
||||
{% endif %}
|
||||
|
||||
<div{{ content_attributes }}>
|
||||
{{ content }}
|
||||
</div>
|
||||
|
||||
</article>
|
||||
+94
@@ -0,0 +1,94 @@
|
||||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation to display a node.
|
||||
*
|
||||
* Available variables:
|
||||
* - node: The node entity with limited access to object properties and methods.
|
||||
* Only method names starting with "get", "has", or "is" and a few common
|
||||
* methods such as "id", "label", and "bundle" are available. For example:
|
||||
* - node.getCreatedTime() will return the node creation timestamp.
|
||||
* - node.hasField('field_example') returns TRUE if the node bundle includes
|
||||
* field_example. (This does not indicate the presence of a value in this
|
||||
* field.)
|
||||
* - node.isPublished() will return whether the node is published or not.
|
||||
* Calling other methods, such as node.delete(), will result in an exception.
|
||||
* See \Drupal\node\Entity\Node for a full list of public properties and
|
||||
* methods for the node object.
|
||||
* - label: (optional) The title of the node.
|
||||
* - content: All node items. Use {{ content }} to print them all,
|
||||
* or print a subset such as {{ content.field_example }}. Use
|
||||
* {{ content|without('field_example') }} to temporarily suppress the printing
|
||||
* of a given child element.
|
||||
* - author_picture: The node author user entity, rendered using the "compact"
|
||||
* view mode.
|
||||
* - metadata: Metadata for this node.
|
||||
* - date: (optional) Themed creation date field.
|
||||
* - author_name: (optional) Themed author name field.
|
||||
* - url: Direct URL of the current node.
|
||||
* - display_submitted: Whether submission information should be displayed.
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* The attributes.class element may contain one or more of the following
|
||||
* classes:
|
||||
* - node: The current template type (also known as a "theming hook").
|
||||
* - node--type-[type]: The current node type. For example, if the node is an
|
||||
* "Article" it would result in "node--type-article". Note that the machine
|
||||
* name will often be in a short form of the human readable label.
|
||||
* - node--view-mode-[view_mode]: The View Mode of the node; for example, a
|
||||
* teaser would result in: "node--view-mode-teaser", and
|
||||
* full: "node--view-mode-full".
|
||||
* The following are controlled through the node publishing options.
|
||||
* - node--promoted: Appears on nodes promoted to the front page.
|
||||
* - node--sticky: Appears on nodes ordered above other non-sticky nodes in
|
||||
* teaser listings.
|
||||
* - node--unpublished: Appears on unpublished nodes visible only to site
|
||||
* admins.
|
||||
* - title_attributes: Same as attributes, except applied to the main title
|
||||
* tag that appears in the template.
|
||||
* - content_attributes: Same as attributes, except applied to the main
|
||||
* content tag that appears in the template.
|
||||
* - author_attributes: Same as attributes, except applied to the author of
|
||||
* the node tag that appears in the template.
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title_suffix: Additional output populated by modules, intended to be
|
||||
* displayed after the main title tag that appears in the template.
|
||||
* - view_mode: View mode; for example, "teaser" or "full".
|
||||
* - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'.
|
||||
* - page: Flag for the full page state. Will be true if view_mode is 'full'.
|
||||
* - readmore: Flag for more state. Will be true if the teaser content of the
|
||||
* node cannot hold the main body content.
|
||||
* - logged_in: Flag for authenticated user status. Will be true when the
|
||||
* current user is a logged-in member.
|
||||
* - is_admin: Flag for admin user status. Will be true when the current user
|
||||
* is an administrator.
|
||||
*
|
||||
* @see template_preprocess_node()
|
||||
*
|
||||
* @todo Remove the id attribute (or make it a class), because if that gets
|
||||
* rendered twice on a page this is invalid CSS for example: two lists
|
||||
* in different view modes.
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{% set isoClassTheme = content.field_theme[0][ '#plain_text'] %}
|
||||
{% set isoClassPublication = content.field_type_de_publication[0][ '#plain_text'] %}
|
||||
|
||||
<article{{ attributes }} class="{{isoClassTheme}} {{isoClassPublication}} thumbnails publications">
|
||||
<div{{ content_attributes }}>
|
||||
<a href="{{ url }}">
|
||||
<div class="d-flex">
|
||||
<div class="__media">
|
||||
{{content.field_ajouter_un_media}}
|
||||
</div>
|
||||
<div class="__wrap">
|
||||
<div class="__content">
|
||||
{{ label|raw }}
|
||||
{{content.field_complement_d_info|raw}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</article>
|
||||
+2
-1
@@ -72,7 +72,8 @@
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
<article{{ attributes }} class=" thumbnails publications">
|
||||
|
||||
<article{{ attributes }} class="thumbnails publications">
|
||||
<div{{ content_attributes }}>
|
||||
<a href="{{ url }}">
|
||||
<div class="d-flex">
|
||||
|
||||
@@ -62,6 +62,13 @@
|
||||
<main role="main">
|
||||
<a id="main-content" tabindex="-1"></a>{# link is in html.html.twig #}
|
||||
|
||||
{% if page.filter %}
|
||||
<section class="container" role="complementary">
|
||||
{{ page.filter }}
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<div class="layout-content">
|
||||
{{ page.content }}
|
||||
</div>{# /.layout-content #}
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
{{ attachment_before }}
|
||||
|
||||
{% if rows -%}
|
||||
<section class="d-flex flex-wrap" >
|
||||
<section class="grid d-flex flex-wrap" >
|
||||
{{ rows }}
|
||||
</section>
|
||||
{% elseif empty -%}
|
||||
|
||||
Reference in New Issue
Block a user