jQuery(document).ready(function(){ //icones reseaux Sociaux + fluxRSS var barreIcones = jQuery('<div class="header-icons"></div>'); barreIcones.ajouterIcone = function(lien, id, classe, title){ this.append('<a href="' + lien + '" target="_blank"><i id="' + id + '"class="fas fa-' + classe + '"></i>' + '</a>'); } barreIcones.ajouterIcone("/items/browse?output=rss2", "rss-icon", "rss-square"); barreIcones.ajouterIcone("/admin/", "user-icon", "user-circle"); var partage = jQuery('<i id="share-icon" class="fas fa-share-alt"></i>'); barreIcones.prepend(partage); var shareMenu = jQuery('<div class="shareMenu"></div>'); barreIcones.append(shareMenu); partage.css("cursor", "pointer"); shareMenu.append('<h4>Partager sur : </h4>'); shareMenu.append(jQuery('<a href="https://twitter.com/share?ref_src=twsrc%5Etfw" target="_blank"><img src="/custom/themes/default/logos_img/icones/Twitter.png"><h5>Twitter</h5></a>')); shareMenu.append(jQuery('<a href="https://www.facebook.com/sharer/sharer.php?u=' + encodeURI(location.href) + '" target="_blank"><img src="/custom/themes/default/logos_img/icones/facebookIcon.png"><h5>Facebook</h5></a>')); let copyButton = jQuery('<div><img src="/custom/themes/default/logos_img/icones/pressePapier.png"><h5>Copier l\'URL</h5></div>') copyButton.on('click', function(){ let fant = document.createElement("textarea"); shareMenu.append(fant); fant.value = 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({ title: 'share', url: location.href }); } }); jQuery('header').append(barreIcones); //____________________________________________________________________________________________ deplacerIconesHeader('header .header-icons', '#site-title'); // Permet de mettre les icones User,Flux et Share 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 deplacerSearchBarVers("header .header-icons"); // Permet le positionnement de la barre de RECHERCHE dans le header reorganiserContenu(); // Réorganise et améliore l'affichage des div d'omeka (met #featured-item,#featured-collection et #featured-exhibit dans le #secondary) renommerChamps(); // Les champs titres Recherche de Contenu et Search the Collection pour une meilleur UX reorganiserDisposition(); // Permet de réorganiser le contenu sur la page items/browse/<item> epuration(); //Permet de supprimer le troplus de barres de recherches dans recherche sous carte et recherche avancée jQuery('#search-container #submit_search').attr('title', 'Rechercher ou afficher directement tout le contenu'); jQuery('#share-icon').attr('title', 'Partager ce site'); jQuery('#rss-icon').attr('title', 'Flux RSS'); jQuery('#user-icon').attr('title', 'Se connecter'); jQuery('#primary-nav > ul.navigation').prepend(jQuery('<a href="/"><img src="/custom/themes/default/logos_img/icones/maison_icone.png" id="nav-homeButton" style="height: 2em; width: 2em"> </a>')); jQuery('footer #footer-text .license div a').attr({ target: "_blank", title: "Licence Creative Commons" }); if(jQuery('#admin-bar').length){ jQuery('.header-icons').css('top', '3em'); } //page d'accueil if(jQuery('#home')){ // cache les boites "vides" if(jQuery('#primary').children().length == 0) jQuery('#primary').css('display', "none"); if(jQuery('#secondary').children().length == 0) jQuery('#secondary').css('display', "none"); // bloc collection avec liens var liens = [ ["/collections/show/1", "files/square_thumbnails/0a4bdef65d2605a944e1f40ff91200b6.jpg", "Archives J. Gascou"], //["/collections/show/2", "files/square_thumbnails/0a4bdef65d2605a944e1f40ff91200b6.jpg", "Impact de bombardements"], ["/collections/show/3", "files/square_thumbnails/0a4bdef65d2605a944e1f40ff91200b6.jpg", "Archives P. Leveau"] ]; if(jQuery('#admin-bar').length){ liens.push(["/collections/show/2", "files/square_thumbnails/0a4bdef65d2605a944e1f40ff91200b6.jpg", "Impact de bombardements"]); } blocCollections(liens); splitURL(); } 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 --'; } if(jQuery('.collections.browse').length){ 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"))); } }); } if(jQuery('.outputs-label').length){ jQuery('.outputs-label').text("Format d'export des métadonnées"); } cookies(); jQuery("#accept").on('click', function(){ jQuery("#cookies").hide(1000); localStorage.setItem("bannerCookies", true); }); function cookies(){ if(!localStorage.getItem("bannerCookies")){ var banniere = 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("body").append(banniere) } } //remplacer texte, donner le selecteur précis dans lequel il n'y a que le texte a remplacer, pas la boite parent function remplacerTexte(selecteur, texte){ jQuery(selecteur).text(texte); } //document.location.pathname.startsWith("/items/show/") 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 remplacerTexte("#dublin-core-creator h3", "Créateur :"); remplacerTexte("#dublin-core-publisher h3", "Éditeur :"); remplacerTexte("#dublin-core-provenance h3", "Lieu de conservation :"); remplacerTexte("#dublin-core-description h3", "Description :"); remplacerTexte("#dublin-core-date h3", "Date de découverte :"); remplacerTexte("#dublin-core-spatial-coverage h3", "Lieu :"); remplacerTexte("#dublin-core-temporal-coverage h3", "Datation :"); remplacerTexte("#dublin-core-type h3", "Type de document :"); remplacerTexte("#dublin-core-medium h3", "Type de support :"); remplacerTexte("#dublin-core-date-created h3", "Date de création :"); remplacerTexte("#dublin-core-references h3", "Cité dans :"); remplacerTexte("#dublin-core-rights h3", "Droits :"); remplacerTexte("#dublin-core-subject h3", "Sujet :"); remplacerTexte("#dublin-core-date-created h3", "Date de création :"); remplacerTexte("#dublin-core-relation h3", "N° du négatif :"); remplacerTexte("#dublin-core-format h3", "Format :"); remplacerTexte("#pactols-item-type-metadata-pactols-anthroponymes h3", "Anthroponymes :"); remplacerTexte("#pactols-item-type-metadata-pactols-oeuvres h3", "Oeuvres :"); remplacerTexte("#pactols-item-type-metadata-pactols-peuples h3", "Peuples :"); remplacerTexte("#pactols-item-type-metadata-pactols-chronologie h3", "Chronologie :"); remplacerTexte("#pactols-item-type-metadata-pactols-lieux h3", "Lieu :"); remplacerTexte("#pactols-item-type-metadata-pactols-sujets h3", "Sujets :"); remplacerTexte("#pactols-item-type-metadata-identifiant-original h3", "Identifiant original :"); remplacerTexte("#collection h3", "Collection :"); remplacerTexte("#item-citation h3", "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(", "); } }); } } if(jQuery('.solr').length){ solrWrapFacettes(); solrPlus(5); jQuery("#solr-results h2").text(jQuery("#solr-results h2").text().replace("results", "résultats")); } if(jQuery('#scripto-transcribe').length && jQuery('#scripto-transcription')){ } }); /* _______________________________________________________________________________ * FUNCTIONS */ 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); } }); var solrGlobal = jQuery('.facet-value'); solrGlobal.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"); }; }); } var solrPlus = function(param){ var allUl = jQuery("#solr-facets ul"); allUl.each(function(){ var ul = jQuery(this); var allLi = ul.children(); var longueur = allLi.length; if(longueur > param){ var cache = allLi.slice(param, longueur); cache.hide(); let diff = longueur - param; let afficherPlus = jQuery('<div class="more">Afficher tout (' + diff + ')</div>'); ul.after(afficherPlus); afficherPlus.on("click", function(){ cache.toggle(); let texte = afficherPlus.html(); if(texte.includes("tout")) afficherPlus.html(texte.replace("tout", "moins")); else afficherPlus.html(texte.replace("tout", "plus")); }); } }); } function deplacerIconesHeader(objetADeplacer, endroit){ jQuery(objetADeplacer).insertAfter(jQuery(endroit)); } function deplacerNavBarVers(lieu){ jQuery('#primary-nav').insertAfter(jQuery(lieu)); // Positionnement de la barre de navigation après le bandeau de titre personnalisé jQuery(".menu-button.button").insertBefore("#primary-nav");// Positionnement de la barre noire "Menu" avant le la barre de navigation(pour le responsive) } function deplacerSearchBarVers(lieu){ jQuery('#search-container').insertBefore(jQuery(lieu)); // Positionnement et personnalisation de la barre de recherche 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")); } function reorganiserContenu(){ //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")); //parcourir les collections 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>'); 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)); }); } if(jQuery('#content #collection-tree').length){ jQuery('#content').css('min-height', '0').css('flex-direction', 'column').css('float', 'none').css('margin', '0 auto').css('width','80%'); jQuery("#collection-tree").before(nav); jQuery(nav).before("<h1>Hiérarchie des collections</h1>"); jQuery("#views a:nth-of-type(2) i").addClass("active"); jQuery("#collection-tree ul li a").each(function(){ var linkTree = jQuery(this); var url = document.location.origin + "/api/collections/" + linkTree.attr("href").split("/")[3]; // on recupere les items et on les compte jQuery.get(url, function(data){ linkTree.after(" <span>(contenu : " + data.items.count + " total)</span>"); }); }); } } function renommerChamps(){ var remplacement_h1 = document.querySelector("#wrap #content h1:first-of-type"); var remplacement_h2 = document.querySelector("#solr-facets > h2:first-of-type"); if(jQuery('.map.browse').length){ document.querySelector(".remove_search").innerHTML = (''); } 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'; } if(jQuery('#content .solr').length){ remplacement_h1.innerHTML = 'Résultats de recherche'; } if(remplacement_h2){ remplacement_h2.innerHTML = 'Filtrer les résultats'; } if(jQuery('.items.advanced-search').length){ remplacement_h1.innerHTML = 'Recherche avancée'; } if(jQuery('.items.advanced-search').length || jQuery('.map.browse').length){ 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("(et/ou) Restreindre à une collection particulière"); jQuery("#content #submit_search_advanced").attr('value', "Lancer la recherche"); } if(jQuery('.items.browse').length || jQuery('.items.tags').length){ jQuery("#content .items-nav.navigation.secondary-nav ul li:last-of-type").remove(); } } //items et collections /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 if(jQuery('.item.show').length){ 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("Format d'export des métadonnées"); } if(jQuery('.items.browse').length){ jQuery('#content .items-nav.navigation.secondary-nav').remove(); } if(jQuery('.item.show').length){ 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')); //collections/shows -> épuration if(jQuery(".collections.show").length){ countItems(jQuery('.collections.show #collection-items h2 a')); jQuery('.collections.show #collection-items .item.hentry').remove(); jQuery('.admin-bar.collections.show #collection-items .item.hentry').remove(); } } // 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 if(jQuery('.item.show').length){ 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>'); } }); } } function epuration(){ /*Recherche avancée*/ if(jQuery('.items.advanced-search').length || jQuery('.map.browse').length){ jQuery('.field').each(function(i){ if(i == 2 || i >= 4){ jQuery(this).remove(); } }); } } // collections dans la page d'accueil function blocCollections(liens){ var div = jQuery("<div id='collections'></div>"); jQuery(liens).each(function(){ // s'il y a un lien if(this[0]){ var element = "<a href='" + this[0] + "' "; // s'il y a une image de fond if(this[1]){ element += " style='background-image: url(" + this[1] + ")'"; } element += ">"; // s'il y a un titre if(this[2]){ element += "<div>" + this[2] + "</div>"; } element += "</a>"; div.append(jQuery(element)); } }); jQuery('<h2>Collections</h2>').prependTo(div); jQuery("#home #content #primary").append(div); } // affiche le nombre d'items d'une collection entre parenthèses 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 + ")"); }); }