jQuery(document).ready(function () { //for all pages jQuery(".breadcrumb").remove(); jQuery("#simple-pages-breadcrumbs").remove(); jQuery("p:empty").remove(); //header icones(); SearchBar("header .header-icons"); // Permet le positionnement de la barre de RECHERCHE dans le header bandeauPersonnalise(); // Ajout et positionnement de la barre de titre personnalisée deplacerNavBarVers("#bandeauTitre"); // Permet le positionnement de la barre de NAVIGATION ailleurs que dans le header jQuery('#primary-nav > ul.navigation').prepend(jQuery('<li><a href="/"><i class="fas fa-home"></i></a></li>')); // home if (jQuery("#home").length) { //Positionnement de la #featured-item dans la partie secondary. Correspond au contenu, collection et exposition mis en avant. jQuery("#featured-item").prependTo(jQuery("#secondary")); jQuery("#featured-collection").appendTo(jQuery("#secondary")); jQuery("#featured-exhibit").appendTo(jQuery("#secondary")); jQuery("#recent-items").appendTo(jQuery("#secondary")); jQuery("#recent-items .item.record").each(function(){ if(jQuery(this).children("a")){ jQuery(this).children("h3").before(jQuery(this).children("a")); } }); // cache les boites "vides" if (jQuery('#primary').children().length == 0){ jQuery('#primary').remove(); } if (jQuery('#secondary').children().length == 0){ jQuery('#secondary').remove(); } // bloc collection prive avec liens if (!jQuery('#admin-bar').length) { jQuery('.prive').remove(); } } // page items if (jQuery(".items.browse").length) { jQuery("#content").prepend(jQuery("#item-filters")); //formats de sortie jQuery('.outputs-label').text("Formats d'export des métadonnées"); //jQuery('#content .items-nav.navigation.secondary-nav').remove(); } // page items browse et tags if (jQuery('.items.browse').length || jQuery('.items.tags').length) { jQuery("#content .items-nav.navigation.secondary-nav ul li:last-of-type").remove(); } // page item if (jQuery('.item.show').length) { var pageTitle = jQuery('#content > h1').first().text(); jQuery('head').append(jQuery('<title>' + pageTitle + '</title>')); //traduction francaise des titres champs item jQuery("#dublin-core-creator h3").text("Créateur"); jQuery("#dublin-core-publisher h3").text("Éditeur"); jQuery("#dublin-core-provenance h3").text("Lieu de conservation"); jQuery("#dublin-core-description h3").text("Description"); jQuery("#dublin-core-date h3").text("Date de découverte"); jQuery("#dublin-core-spatial-coverage h3").text("Lieu"); jQuery("#dublin-core-temporal-coverage h3").text("Datation"); jQuery("#dublin-core-type h3").text("Type de document"); jQuery("#dublin-core-medium h3").text("Type de support"); jQuery("#dublin-core-date-created h3").text("Date de création"); jQuery("#dublin-core-references h3").text("Cité dans"); jQuery("#dublin-core-rights h3").text("Droits"); jQuery("#dublin-core-subject h3").text("Sujet"); jQuery("#dublin-core-date-created h3").text("Date de création"); jQuery("#dublin-core-relation h3").text("N° du négatif"); jQuery("#dublin-core-format h3").text("Format"); jQuery("#pactols-item-type-metadata-pactols-anthroponymes h3").text("Anthroponymes"); jQuery("#pactols-item-type-metadata-pactols-oeuvres h3").text("Oeuvres"); jQuery("#pactols-item-type-metadata-pactols-peuples h3").text("Peuples"); jQuery("#pactols-item-type-metadata-pactols-chronologie h3").text("Chronologie"); jQuery("#pactols-item-type-metadata-pactols-lieux h3").text("Lieu"); jQuery("#pactols-item-type-metadata-pactols-sujets h3").text("Sujets"); jQuery("#pactols-item-type-metadata-identifiant-original h3").text("Identifiant original"); jQuery("#collection h3").text("Collection"); jQuery("#item-citation h3").text("Citer ce document"); if (jQuery('#pactols-item-type-metadata-pactols-sujets').children().length == 2) { jQuery('#pactols-item-type-metadata-pactols-sujets').css('display', 'block'); } // traitement citation if (jQuery('#item-citation').length) { jQuery("#item-citation .element-text").text(jQuery("#item-citation .element-text").text().replace(",”", "”,")); let contents = jQuery("#item-citation .element-text"); let split = jQuery(contents).html().split(","); split.shift(); jQuery(contents).empty(); jQuery(split).each(function (i) { if (i == 1) { jQuery(contents).append(" dans <em>" + split[i] + "</em>"); jQuery(contents).append(", " + jQuery("#collection .element-text").text()); } else { jQuery(contents).append(split[i]); } if (i < split.length - 1) { jQuery(contents).append(", "); } }); } reorganiserDisposition(); splitURL(); } // page scripto-transcription if (jQuery(".scripto").length) { jQuery("body").addClass("pageScripto"); } //nuage de mots clés ??? à vérifier pour corea if (jQuery(".items.tags").length) { jQuery(".hTagcloud .popularity").html(jQuery(".hTagcloud .popularity").children().sort(tri)); jQuery(".hTagcloud .popularity li a").each(function () { jQuery(this).css("color", '#' + (Math.random() * 0xFFFFFF << 0).toString(16)); }); } //nav for collections and collection-tree var nav = jQuery('<div id="views"><div><a href="/collections/browse"><i class="fas fa-bars"></i></a><a href="/collection-tree"><i class="fas fa-indent"></i></a></div></div>'); // page collections if (jQuery('.collections.browse').length) { if (jQuery(".collections.browse #content h1").length) { jQuery(".collections #content #sort-links").before(nav); jQuery("#views a:first-of-type i").addClass("active"); } jQuery(".view-items-link a").each(function () { countItems(jQuery(this)); }); jQuery('<div id="description-box"></div>').insertAfter(jQuery('.collections.browse #wrap #content .collection h2')); jQuery(".collection").each(function () { if (jQuery(this).find(".image").length) { jQuery(this).find(".image").prependTo(jQuery(jQuery(this).find("#description-box"))); } if (jQuery(this).find(".image").length) { jQuery('.image').attr('title', 'Description de la collection'); jQuery('.image img').attr('title', 'Description de la collection'); jQuery('.image img').attr('alt', 'Description de la collection'); } if (jQuery(this).find(".collection-description").length) { jQuery(this).find(".collection-description").appendTo(jQuery(jQuery(this).find("#description-box"))); } }); } // collection-tree if (jQuery("#collection-tree").length) { jQuery("body").addClass("collection-tree"); jQuery("#collection-tree li > a:first-of-type").each(function () { collectionTree(jQuery(this)); jQuery(this).addClass("hasH2"); }); jQuery("#collection-tree").before(nav); jQuery(nav).before("<h1>Hiérarchie des collections</h1>"); jQuery("#views a:nth-of-type(2) i").addClass("active"); } // page collection if (jQuery(".collections.show").length) { jQuery("#content > h2").remove(); jQuery(".item.hentry").remove(); jQuery("#collection-items h2 a").text("Voir les contenus"); countItems(jQuery("#collection-items h2 a")); jQuery(".collections.show h1:nth-of-type(2)").remove(); jQuery("#views").remove(); jQuery("#collection-tree").remove(); } // advanced-search (y compris pour map) - à vérifier epuration(); if (jQuery('.items.advanced-search').length || jQuery('.map.browse').length) { var titreStrong = jQuery('#content #search-narrow-by-fields .advanced-search-element').children(); titreStrong.each(function () { var modif = jQuery(this).text().split(/Terme/); jQuery(this).text(modif[0]); if (jQuery(this).text() == 'PACTOLS Peuples URI'/*||this.getAttribute('value')=='95'*/) { jQuery(this).remove(); } ; if (jQuery(this).text() == 'Date Created'/*||this.getAttribute('value')=='57'*/) { jQuery(this).text('Date de création'); } ; }); var champ1 = jQuery(' #content #search-narrow-by-fields .advanced-search-element').children()[0]; champ1.innerHTML = '-- Sélectionner un champ --'; var champ2 = jQuery('#content #search-narrow-by-fields .advanced-search-type option:first-child'); champ2.remove(); jQuery(champ2).attr('selected', 'true'); var champ3 = jQuery('#content #search-narrow-by-fields .advanced-search-terms'); champ3.attr('placeholder', 'exemple: Jacques Gascou'); var champ4 = jQuery('#collection-search').children()[0]; champ4.innerHTML = '-- Sélectionner une collection --'; jQuery(".items.advanced-search #content h1:first-of-type").text("Recherche avancée"); jQuery("#search-keywords label").text("Rechercher dans tous les champs"); jQuery(".inputs #keyword-search").attr('placeholder', "Entrer le(s) terme(s) à rechercher"); jQuery("#content .items-nav.navigation.secondary-nav ul").remove(); jQuery("#content #search-narrow-by-fields .label:first-of-type").text("(et/ou) Restreindre à des champs particuliers"); jQuery("#content label[for=collection-search]").text("Restreindre à une collection particulière"); jQuery("#content #submit_search_advanced").attr('value', "Lancer la recherche"); if (jQuery('.items.advanced-search').length && jQuery("#content .items-nav.navigation.secondary-nav ul li:last-of-type a").length) { var remplacementRechercheContenus = document.querySelector("#content .items-nav.navigation.secondary-nav ul li:last-of-type a"); remplacementRechercheContenus.innerHTML = 'Recherche avancée'; } } // solr if (jQuery('.solr').length) { jQuery("#solr-search-form").remove(); var pagination = jQuery(".pagination-nav").clone(); jQuery("#solr-results h2").before(pagination); jQuery("#content h1:first-of-type").text("Résultats de recherche"); jQuery("#solr-facets > h2:first-of-type").text("Filtrer les résultats"); jQuery("#solr-applied-facets ul li a").each(function(){ jQuery(this).html("<i class='fas fa-times'></i>"); }); jQuery("#solr-applied-facets ul li").each(function(){ jQuery(this).html(jQuery(this).html().replace("(", "")); jQuery(this).html(jQuery(this).html().replace(")", "")); }); solrWrapFacettes(); solrPlus(5); jQuery(".Creator strong").text("Auteur"); jQuery("#solr-results h2").text(jQuery("#solr-results h2").text().replace("results", "résultats")); } // footer jQuery('footer #footer-text .license div a').attr({ target: "_blank", title: "Licence Creative Commons" }); jQuery("footer #footer-text > p").last().remove(); // cookies cookies(); }); /*----function ---- */ // header function icones() { var barreIcones = jQuery("<div class='header-icons'></div>"); function ajouterIcone(lien, id, classe, title) { jQuery(barreIcones).append('<a href="' + lien + '" target="_blank" title="' + title + '"><i id="' + id + '"class="fas fa-' + classe + '"></i>' + '</a>'); } jQuery(barreIcones).append('<i id="rss-icon" class="fas fa-rss-square" title="Flux RSS disponible dans les formats d\'export"></i>'); ajouterIcone("/admin/", "user-icon", "user-circle", "Se connecter"); var partage = jQuery("<i id='share-icon' class='fas fa-share-alt' title='Partager ce site'></i>"); barreIcones.prepend(partage); var shareMenu = jQuery("<div id='shareMenu'><h4>Partager sur : </h4></div>"); barreIcones.append(shareMenu); shareMenu.append(jQuery("<a href='https://twitter.com/share?ref_src=twsrc%5Etfw' target='_blank' class='shareLinks'><h5>Twitter</h5><i class='fab fa-twitter'></i></a>")); shareMenu.append(jQuery("<a href='https://www.facebook.com/sharer/sharer.php?u=" + encodeURI(window.location.href) + "' target='_blank' class='shareLinks'><h5>Facebook</h5><i class='fab fa-facebook-square'></i></a>")); let copyButton = jQuery("<div class='shareLinks'><h5>Copier l'url</h5><i class='fas fa-copy'></i></div>"); copyButton.on('click', function () { let fant = document.createElement("textarea"); shareMenu.append(fant); fant.value = window.location.href; fant.select(); document.execCommand("copy"); fant.remove(); }); shareMenu.append(copyButton); jQuery(document).on("click", function (e) { if (shareMenu.css("display") == "block" && !jQuery(e.target).is(partage)) { shareMenu.toggle(); } }); partage.on("click", function () { if (navigator.share === undefined) { shareMenu.toggle(); } else { navigator.share({url: window.location.href}); } }); jQuery('header').append(barreIcones); } // Positionnement et personnalisation de la barre de recherche function SearchBar(lieu) { jQuery('#search-container').insertBefore(jQuery(lieu)); jQuery('#search-container #submit_search').attr('title', 'Rechercher ou afficher directement tout le contenu'); jQuery("#search-container #search-form #query").attr('placeholder', "Rechercher ou cliquer sur la loupe ");// UX- Ajout d'un texte de base grisé dans la barre de recherche } function bandeauPersonnalise() { jQuery("<div id=\"bandeauTitre\"><div id=\"titre1\"><h1>Corpus <span id=\"et\">&</span> Ressources Archéologiques </h1></div></div>").insertBefore(jQuery("#wrap")); jQuery("<div id=\"titre2\"><h1>du centre Camille Jullian </h1></div>").appendTo(jQuery("#bandeauTitre")); } // Positionnement de la barre de navigation après le bandeau de titre personnalisé function deplacerNavBarVers(lieu) { jQuery('#primary-nav').insertAfter(jQuery(lieu)); // Positionnement de la barre noire "Menu" avant le la barre de navigation(pour le responsive) jQuery(".menu-button.button").insertBefore("#primary-nav"); } // home //item show function reorganiserDisposition() { //rightDiv jQuery('<div id=rightDiv></div>').insertAfter(jQuery(".item.show #wrap #content")); //geolocation jQuery('.item.show #geolocation').prependTo(jQuery('#rightDiv')); jQuery('#item-output-formats').appendTo(jQuery('#rightDiv')); //fichiers jQuery('<div id=fichiers></div>').insertBefore(jQuery('#item-output-formats')); jQuery('#itemfiles').appendTo(jQuery('#fichiers')); jQuery('#itemfiles h3').css('font-variant', 'small-caps').css('font-weight', 'bold'); jQuery('#item-images a').attr('target', '_blank'); if (jQuery('#itemfiles').length) { jQuery('ol li a').each(function (i) { jQuery("#item-images div:nth-of-type(" + (i + 1) + ")").append(jQuery(this).text('Transcrire')); }); jQuery('ol').remove(); } //relations jQuery('.item.show #item-relations-display-item-relations').insertAfter(jQuery('#fichiers')); jQuery('.item.show #wrap #content h2').prependTo(jQuery('#item-relations-display-item-relations')); //transciption jQuery('#scripto-transcription').insertBefore(jQuery('#item-relations-display-item-relations')); if (jQuery('#scripto-transcription .element-text pre').length == 0 && jQuery('#scripto-transcription .element-text p').length == 0) { jQuery('<pre></pre>').insertAfter(jQuery('#scripto-transcription .element-text')); jQuery('#scripto-transcription > pre').prependTo(jQuery('#scripto-transcription .element-text')); } if (jQuery('#scripto-transcription .element-text pre').text().trim().length == 0) { jQuery('#scripto-transcription .element-text pre').text("Aucune transciption n'est disponible"); jQuery('#scripto-transcription .element-text pre').css('font-family', 'inherit'); } //format de sortie if (jQuery('#item-output-formats').length) { jQuery('.item.show #item-output-formats h2').text("Formats d'export des métadonnées"); } jQuery('#pactols-item-type-metadata-identifiant-original').insertAfter(jQuery('#dublin-core-date-created')); jQuery('h2').css('font-weight', 'bold'); jQuery('.item.show #item-relations-display-item-relations h2').html("Document(s) en relation"); jQuery('#collection').prependTo(jQuery('#content .element-set:nth-of-type(1)')); jQuery('#item-relations-display-item-relations table tbody tr td span').parent().parent().remove(); jQuery('<h2 id="titre-pactols">Mots-clés PACTOLS</h2>').prependTo(jQuery('#pactols-item-type-metadata-pactols-peuples').parent()); //réorganisation de l'affichage des images dans le tableau Documents en relation jQuery('#item-relations-display-item-relations table tbody tr td:first-of-type').empty(); var imgTable = jQuery('#item-relations-display-item-relations table tbody tr td:not(:first-of-type) img'); var destinationImgTable = jQuery('#item-relations-display-item-relations table tbody tr').children(); for (var i = 0, j = 0; i < imgTable.length; i++, j += 2) { var imgClass = jQuery(imgTable[i]).attr("class"); var imgStyle = jQuery(imgTable[i]).attr("style"); var imgSrc = jQuery(imgTable[i]).attr("src"); var imgLink = jQuery(imgTable[i]).attr("title"); var imgAlt = jQuery(imgTable[i]).attr("alt"); jQuery(destinationImgTable[j]).html('<a href="' + imgLink + '"><img' + ' class=' + imgClass + ' style=' + imgStyle + ' target="_blank"' + ' src=' + imgSrc + ' alt=' + imgAlt + ' /></a>'); jQuery(imgTable[i]).remove(); } jQuery('#item-relations-display-item-relations table tbody tr td img.thumbnail').css('width', 'auto').css('height', '60px').css('float', 'none').css('padding', '0'); jQuery('#item-relations-display-item-relations table tr td a').attr('target', '_blank'); //Formats de sortie jQuery('.item.show #wrap #content nav').insertBefore(jQuery('footer')); } // transformation des url dans la fiche item function splitURL() { var regexURL = /http.*/; //expression régulière récupérant tout ce qui commence par http var toSplit1 = jQuery('#dublin-core-creator .element-text').text(); var checkCreatorURLCreator = regexURL.test(toSplit1); //vérifie que le contenu de l'expression régulère existe if (checkCreatorURLCreator) { var split1 = regexURL.exec(toSplit1); var lienISNI = '<a href="' + split1 + '" title="Consulter dans l\'ISNI" target="_blank"><i class="fas fa-external-link-alt"></i></a>'; var regResult = toSplit1.replace(regexURL, lienISNI); jQuery('#dublin-core-creator .element-text').html(regResult); } var toSplit3 = jQuery('#dublin-core-references .element-text').text(); var checkReferencesURLReferences = regexURL.test(toSplit3); //vérifie que le contenu de l'expression régulère existe if (checkReferencesURLReferences) { var split3 = regexURL.exec(toSplit3); var lienARK = '<a href="' + split3 + '" title="Consulter la référence Frantiq" target="_blank"><i class="fas fa-external-link-alt"></i></a>'; var regResult = toSplit3.replace(regexURL, lienARK); jQuery('#dublin-core-references .element-text').html(regResult); } var emplacement = jQuery("#content .element-set:nth-of-type(n+2) .element .element-text a"); emplacement.each(function () { var split2 = jQuery(this).text().split(/(http:\/\/|https:\/\/)/); if (split2.length > 1) { jQuery(this).html(split2[0].trim()); jQuery(this).parent().append('<a href="https://' + split2[2] + '" title="Consulter dans le thésaurus" target="blank" style="text-decoration:none"><i class="fas fa-external-link-alt"></i></a>'); } }); } // collections function countItems(element) { var url = document.location.origin + "/api/collections/" + element.attr("href").split("=")[1]; jQuery.get(url, function (data) { element.text(element.text() + " (" + data.items.count + ")"); }); } function collectionTree(element) { var id = element.attr("href").split("/")[3]; var url = document.location.origin + "/api/collections/" + id; jQuery.get(url, function (data) { var lienContenus = jQuery("<a href='/items/browse?collection=" + id + "' class='itemsLink'>Voir les contenus</a>"); element.after(jQuery("<p class='view-items-link'></p>").prepend(lienContenus)); //element.after(lienContenus); countItems(lienContenus); //description var element_texts = data.element_texts; if(element_texts[1]){ var text = element_texts[1].text; if (text.length > 200) { text = text.substr(0, 200) + " ..."; if(text.includes("<img")){ var img = text.substr(text.indexOf("<img")); text = text.split("<img")[0]; element.after("<div class='description-box'><a href='/collections/show/" + id + "'>" + img + "</a><p class='collection-description'>" + text + "</p></div>"); } else{ element.after("<div class='description-box'><p class='collection-description'>" + text + "</p></div>"); } } } }); } // advanced-search (y compris pour map) - à vérifier //Permet de supprimer le troplus de barres de recherches dans recherche sous carte et recherche avancée function epuration() { if (jQuery('.items.advanced-search').length || jQuery('.map.browse').length) { jQuery('.field').each(function (i) { if (i == 2 || i >= 4) { jQuery(this).remove(); } }); } } // solr var solrWrapFacettes = function () { jQuery("#solr-facets strong").each(function () { let nomFacette = jQuery(this); let classFacette = nomFacette.text().replace(/\s/g, ''); let listeFacettes = nomFacette.next(); let affPlus = listeFacettes.next(); nomFacette.wrap('<div class="' + classFacette + '"></div>'); jQuery('.' + classFacette + '').append(listeFacettes); if (affPlus.hasClass('more')) { jQuery('.' + classFacette + '').append(affPlus); } }); jQuery('.facet-value').each(function () { jQuery(this).html(jQuery(this).text().trim()); }); var place = jQuery('#solr-facets .Creator ul li a'); place.each(function () { var split = jQuery(this).text().split("http://"); if (split.length > 1) { jQuery(this).html(split[0].trim()); jQuery('<a href="http://' + split[1] + '" title="Lien ISNI "target="blank" style="text-decoration:none"<i class="fas fa-external-link-alt"></i></a>').insertAfter(jQuery(this)); } }); var titreStrong = jQuery('#solr-facets div strong'); titreStrong.each(function () { var modified = jQuery(this).text().split(/Terme/); jQuery(this).text(modified[0]); if (jQuery(this).text() == "Creator") { jQuery(this).text("Créateur"); } ; if (jQuery(this).text() == "Medium") { jQuery(this).text("Type de support"); } ; }); }; function solrPlus(nbFacettes){ var ul = jQuery("#solr-facets ul"); ul.each(function () { var li = jQuery(this).children(); var longueur = li.length; if (longueur > nbFacettes) { var cache = li.slice(nbFacettes, longueur); cache.hide(); var diff = longueur - nbFacettes; var afficherPlus = jQuery("<div class='more'>Afficher tout (" + diff + ")</div>"); jQuery(this).after(afficherPlus); afficherPlus.on("click", function () { cache.toggle(); var texte = afficherPlus.html(); if (texte.includes("tout")){ afficherPlus.text("Afficher moins"); } else{ afficherPlus.text("Afficher tout (" + diff + ")"); } }); } }); }; // cookies function cookies() { if (!localStorage.getItem("bannerCookies")) { jQuery("body").append(jQuery("<div id='cookies'><p>En poursuivant votre navigation, vous acceptez le dépôt de cookies destinés à mesurer la fréquentation du site grâce au logiciel Matomo. <br/>Cliquez sur 'OK' pour continuer.</p><button id='accept'>OK</button><a href='/politique-confidentialite'>En savoir plus</a></div>")); } jQuery("#cookies button#accept").on("click", function () { jQuery("#cookies").hide(1000); localStorage.setItem("bannerCookies", true); }); } // tri ordre alphabétique des mots clés function tri(a, b) { if (jQuery(a).text() < jQuery(b).text()) { return -1; } if (jQuery(a).text() > jQuery(b).text()) { return 1; } return 0; }