Code javascript pour l’intranet

Code javascript pour l’intranet

0. Configurations

Les codes suivant doivent être inscrits dans la préférence système IntranetUserJS.

Ils doivent également être inscrit entre ces deux balises en rouge (les balises ne doivent apparaître qu’une fois dans la préférence système que vous ayez un ou plusieurs codes).

Quote$(document).ready(function(){ CODE });

1. Acquisitions

1.1. Positionner le curseur dans la boîte Quantité lors de l'ajout d'une ligne de commande dans un panier

À noter que si la préférence système AcqCreateItem est à "placer une commande", la boîte Quantité est bloquée, donc ce code ne sert à rien.
Quote
//Placer curseur dans la boîte quantité du formulaire d'ajout d'une commande
$(window).load(function (){ $('[id="quantity"]').focus(); });

2. Administration

2.1. Cacher le menu de gauche dans la page des règles de prêt

Quote
//Caché pavé de gauche dans la page des règles de circulation
if ((""+window.location).indexOf("smart-rules.pl")>=0) { $("#navmenu").hide(); $(".yui-t1 #yui-main .yui-b").css("margin-left", "1em"); }

3. Autorités

3.1. Afficher une boite de recherche dans le module Autorités pour chercher par numéro de notices

Quote
//Boîte de recherche par numéros de notice Autorités
if (location.pathname.indexOf('authorities/authorities-home.pl')>-1 || location.pathname.indexOf('authorities/detail.pl')>-1) { $('#breadcrumbs').before('<form action="detail.pl"><div id="authid">Rechercher par numéro de notice: <input size="8" name="authid"> <input value="Rechercher" type="submit"></div></form>'); $('#authid').css('margin-left','200px'); }

3.2. Sélectionner par défaut l'index Rechercher dans toutes les vedettes du module Autorités

Quote
//Sélectionner par défaut index Rechercher dans toutes les vedettes
if (window.location.href.indexOf("cgi-bin/koha/authorities/authorities-home.pl") > -1) { $("#header_search a[href='#matchheading_search_panel']").click(); } if (window.location.href.indexOf("authorities/authorities-home.pl") > -1) { $("input[name='value']").focus(); }

4. Catalogage

4.1. Placer le curseur dans une boîte du formulaire de catalogage lors de la modification d'exemplaire

Le code de la sous-zone, dans l'exemple ci-dessous "z", peut-être changé par le code désiré. Dans l'exemple, le curseur sera positionné dans la boîte de la note destinée au public.
Quote
//Placer curseur dans zone spécifique formulaire catalogage exemplaires
$(window).load(function (){ $('[id^="tag_952_subfield_z_"]').focus(); });

4.2. Remplacer les intitulés des sections de la grille de catalogage

Le texte entre guillemet peut-être remplacer par le libellé désiré.
Quote
//Modifier libellés des sections du formulaire de catalogage 
$(".toolbar-tabs-container a[href='#tab0XX_panel'], #tab0XX h3").text("Numéros et codes");
$(".toolbar-tabs-container a[href='#tab1XX_panel'], #tab1XX h3").text("Vedettes principales");
 $(".toolbar-tabs-container a[href='#tab2XX_panel'], #tab2XX h3").text("Titre et édition");
 $(".toolbar-tabs-container a[href='#tab3XX_panel'], #tab3XX h3").text("Description matérielle");
 $(".toolbar-tabs-container a[href='#tab4XX_panel'], #tab4XX h3").text("Collection");
 $(".toolbar-tabs-container a[href='#tab5XX_panel'], #tab5XX h3").text("Notes");
 $(".toolbar-tabs-container a[href='#tab6XX_panel'], #tab6XX h3").text("Accès sujet");
 $(".toolbar-tabs-container a[href='#tab7XX_panel'], #tab7XX h3").text("Vedettes secondaires");
 $(".toolbar-tabs-container a[href='#tab8XX_panel'], #tab8XX h3").text("Vedettes secondaires de collection");
 $(".toolbar-tabs-container a[href='#tab9XX_panel'], #tab9XX h3").text("Zones supplémentaires");


5. Circulation

5.1. Mettre en avant le message qui apparait lors d’un retour d’un document perdu

La couleur ou la taille de la police peuvent être ajusté pour obtenir le résultat voulu.
Quote
//Mettre en évidence retour document perdu
$( ".problem:contains('retrouvé maintenant')" ).css({"backgroundColor": "red", "color": "white", "font-size":"150%"});


5.2. Mettre en rouge du texte dans le tableau des retours

Le code suivant permet de mettre des valeurs spécifiques en rouge. Par exemple, on pourrait écrire "Dictionnaires" pour que ce type de document apparaisse en rouge dans le tableau.
Quote
//Mettre en évidence infos dans le tableau des retours
$( ".circ tbody td:contains('TEXTE_A_COLORISER')" ).css({"color": "red"});

Si on désire mettre en évidence toute une colonne, sans préciser une valeur spécifique, on peut utiliser le code suivant. Dans l'exemple, l'élément choisi est celui du type de document, qui est identifié par ci-itemtype.
Quote
//Mettre en évidence infos dans le tableau des retours
$( ".circ tbody td.ci-itemtype" ).css({"color": "red"});


Les autres éléments possibles sont visibles dans le code source de la page.

5.4. Modifier le texte du pop-up lors d’un prêt d’un exemplaire Exclu du prêt

Quote
//modifier le texte pour le pret consultation sur place
$("#circ_needsconfirmation.dialog.alert.audio-alert-action li:contains('Consultation sur place')").html('VOTRE_TEXTE');

6. Dossiers des usagers

6.1. Afficher un message pop-up dans la page de prêt d'un dossier lorsqu'il n'y a pas d'adresse courriel

Quote
// Confirmer qu'on est dans un page de prêt
myvar0 = /circulation\.pl/.test(window.location.pathname);
  
//confirmer la présence d'une adresse courriel
myvar1 = $('a[href*="mailto"]').length;
//Message à afficher dans le pop-up
if(myvar0 != 0 && myvar1 == 0) {
                alert("Il n'y a aucune adresse courriel associée à ce dossier");
        }

6.2. Afficher un message pop-up pour avertir le personnel qu’il y a des avertissements dans le pavé Attention du dossier de l’usager (Expiration du dossier, Amendes)

Quote
//Message pop-up quand il y a des messages dans le pavé "attention" de la page de prêt
myvar0 = /circulation\.pl/.test(window.location.pathname); myvar4 = $('#circmessages span.circ-hlt').length; if (myvar0 != 0 && myvar4 != 0) { alert("VOTRE_MESSAGE!"); }

6.4. Cacher les boutons « Dupliquer » et « Ajouter un enfant » dans le dossier d’un usager

Quote
//Cacher boutons dupliquer et ajout de garant dans le dossier usager
$("a#duplicate.btn.btn-default").hide(); $("a#addchild.btn.btn-default").hide();

6.5. Retourner dans l’onglet Prêt des dossiers lorsqu'on clique sur l'usager dans le tableau des retours

Quote
Quote
//revenir dans onglet pret à partir du tableau des retours
var0 = $('body').is("#circ_returns"); if(var0 !=0) { $('a').each(function() {         this.href = this.href.replace('members/moremember.pl', 'circ/circulation.pl');         }     )}

6.6. Déplier par défaut Paramètres supplémentaires sous la boîte de prêt

Quote
//deplier par defaut Paramètres de prêt
$(".circ-settings").attr("class","").attr("style","");

6.7. Cacher le bouton « Payer toutes les amendes » dans le compte de l’utilisateur

Quote
//cacher bouton Payer toutes les amendes pages de détails et 
$("a.btn.btn-default.btn-xs:contains('Payer')").hide();

6.8. Cacher Autre contact dans la fiche de l’utilisateur en mode modification/création

Quote
//cacher autre contact dans la modification utilisateur
$("fieldset#memberentry_address.rows").hide(); $("fieldset#memberentry_altaddress.rows").hide();

6.9. Ajouter un bouton Imprimer le ticket rapide



Quote
//ajouter un bouton ticket rapide $("#circ_circulation #toolbar").parent().prepend("<button id='printquickslip' type='button'>Imprimer le ticket rapide</button>"); $("#printquickslip").click( function() { });

6.13. Afficher le tableau des prêts immédiatement (sans devoir cocher la case)

Quote
if ( typeof script !== 'undefined' && ! $.cookie("issues-table-load-immediately-" + script) ) { $.cookie("issues-table-load-immediately-" + script, true, { expires: 365 }); }

6.14. Cacher le pavé pour la déclaration des retours dans le compte de l'usager

Quote
// cacher le pavé des déclarations des retours
$("#return-claims-tab").parent().hide();

7. Listes

7.1. Positionner le curseur dans la boite d’ajout d’exemplaires dans les listes

Quote
if (window.location.href.indexOf("virtualshelves/shelves.pl") > -1) {$("input[name='barcode']").focus();}

8. Notices

8.1. Naviguer entre les onglets d’une notice en vue marc avec les touches du clavier

Voir la vidéo suivante pour comprendre l’usage de ce code


Quote
Quote
// édition notice Marc if (location.pathname.indexOf('cataloguing/addbiblio.pl')>-1) { $(document).keydown(function(e) { if (e.target.tagName == 'INPUT') return; if (e.target.tagName == 'TEXTAREA') return; var f = 0; // flag var c = e.which; // code key pressed if (c>=48 && c<=57) {f=1; c-=48;} // 0..9 keyboard if (c>=96 && c<=105) {f=1; c-=96;} // 0..9 keypad if (f==0) return; var marc_sections = $('#addbibliotabs ul li a').text().replace(/[^0-9]/g,''); var marc_section = marc_sections.indexOf(c); if (marc_section == -1) return; $($('#addbibliotabs ul li a')[marc_section]).click(); }); }

8.2. Naviguer dans les onglets d’une notice d’autorité en vue marc avec les touches du clavier

Quote
// édition d'une notice autorité if (location.pathname.indexOf('authorities/authorities.pl')>-1) { $(document).keydown(function(e) { if (e.target.tagName == 'INPUT') return; if (e.target.tagName == 'TEXTAREA') return; var f = 0; // flag var c = e.which; // code key pressed if (c>=48 && c<=57) {f=1; c-=48;} // 0..9 keyboard if (c>=96 && c<=105) {f=1; c-=96;} // 0..9 keypad if (f==0) return; var marc_sections = $('#authoritytabs ul li a').text().replace(/[^0-9]/g,''); var marc_section = marc_sections.indexOf(c); if (marc_section == -1) return; $($('#authoritytabs ul li a')[marc_section]).click(); }); }

8.3. Cacher la mention de la grille bibliographique utilisée dans la vue détaillée d'une notice

Quote
//Cacher la mention de la grille bibliographique dans la vue détaillée 
$("#catalogue_detail_framework.results_summary").hide();

8.4. Cacher la mention de ElasticSearch dans la vue détaillée d'une notice

Quote
//Cacher la mention de ElasticSearch dans la vue détaillée 
$("#catalogue_detail_elastic_record.results_summary").hide();

9. Outils

9.1. Déplacer la boite « Si une entrée concordante est trouvée » dans l’outil Importation d’un lot d’utilisateurs

Quote
//pour deplacer le bloc If matching record is already in the borrowers table $(window).bind("load", function() { $("#tools_import_borrowers.tools fieldset.rows:contains('If matching')").insertBefore("#tools_import_borrowers.tools fieldset.rows:contains('Default values')"); });

10. Périodiques

10.1. Positionner la barre de recherche du tableau des réclamations de fascicules en haut

Quote
//pour placer la barre de recherche en haut dans la page de reclamation des periodiques    $(window).bind("load", function() {       $("#claimst tfoot td").insertBefore("#claimst thead");    });

10.2. Alerte dans l’historique manuel des périodiques pour la limite de caractères dans les notes

Quote
// alerte dans historique periodique myvar0 = /subscription-history\.pl/.test(window.location.pathname); myvar4 = $('#subscription_form_history').length; if (myvar0 != 0 && myvar4 != 0) { myvar5 = $('#subscription_form_history .table').text(); alert('Attention! Les cases de notes sont limitées à 150 caractères'); }

10.3. Mettre l'option français par défaut pour le paramètre régional d'un abonnement de périodique

Quote
//paramètre régional pour périodique//
$("select[name='locale']").val("fre").attr("selected","selected");

11. Rapports

11.1. Cacher les colonnes de sites dans le rapport Mise de côté quotidienne

Quote
$('#holdst').on( 'init.dt', function () {     $('#holdst').dataTable().fnSetColumnVis( 9, false );  }); $('#holdst').on( 'init.dt', function () {     $('#holdst').dataTable().fnSetColumnVis( 8, false );  });

11.2. Modifier le texte Période dans le rapport Circulation de Bilans et Statistiques

Quote
//pour préciser comment recherche de date doit être faite dans rapport circulation $("td:contains('Période')").text("Période (choisir une date de fin supérieure à la date du jour recherchée)");

11.3. Ajouter un lien vers un rapport SQL

Exemple avec un lien vers un rapport sql rajouté dans la page d’acceuil du module circulation (sous le bouton Retards avec amendes)
Quote
//ajouter un lien vers un rapport sql sous le bouton Retards avec amendes $("#circ_circulation-home div.row div.col-sm-5.col-md-4 a.circ-button:contains('Retards avec amendes')").after('<p><ul class="buttons-list"><li><a class="circ-button" href="URL_RAPPORT_SQL"><i class="fa fa-clock-o"></i> Rapport des retards</a></li></ul></p>');

Exemple avec un lien vers un rapport sql rajouté dans la page d’acceuil du module circulation (sous le bouton File de réservations)
Quote
//ajouter un lien vers un rapport sql File réservation module circulation $("#circ_circulation-home div.row div.col-sm-5.col-md-4 a.circ-button:contains('File de réservations')").after('<li><a class="circ-button" href="URL_RAPPORT_SQL"><i class="fa fa-tasks"></i> File des réservations</a></li>');

Exemple avec un lien vers un rapport sql rajouté dans la page d’accueil Bilans et statistiques
Quote
//ajouter un lien Rapport de caisse $("#rep_reports-home.rep div.row a:contains('Périodiques')").after('<li><a href="URL_RAPPORT_SQL">Rapport de caisse (SQL)</a></li>');

12. Recherche

12.1. Afficher une boite de recherche de numéro de notice bibliographique dans le module de recherche, dans le module catalogage et dans la page des exemplaires

Quote
//boite recherche numero notice
if (location.pathname.indexOf('cataloguing/cataloging-home.pl')>-1 || location.pathname.indexOf('mainpage.pl')>-1 || location.pathname.indexOf('catalogue/detail.pl')>-1 || location.pathname.indexOf('catalogue/search.pl')>-1) {
$('#breadcrumbs').before('<form action="/cgi-bin/koha/catalogue/detail.pl"><div id="biblionumber">Rechercher par numéro de notice: <input size="8" name="biblionumber"> <input value="Rechercher" type="submit"></div></form>'); $('#biblionumber').css('margin-left','200px');
}

12.2. Positionner curseur dans la boite de recherche après une recherche

Quote
//positionner curseur barre recherche $("#header_search input[name=q]:eq(0)").focus();

12.3. Changer l’index Éditeur de la recherche avancée pour que la recherche se fasse sur la zone 264 et 260

Quote
//ajouter index editeur 264 et 260 $('option[value="curriculum"]').after("<option value='pv,wrdl'>Éditeur</option>"); $(".advsearch option[value='pb']").hide();

13. Réserve

13.1. Positionner par défaut les menus déroulants d’ajout d’exemplaire dans une réserve de cours



Pour choisir par défaut un type d’exemplaire voici le code. Il faut remplacer le texte en rouge par le code de votre type de document.
Quote
$("select[name='itype']").val("CODE_TYPE_DOCUMENT").attr("selected","selected");

    • Related Articles

    • Code javascript pour l’OPAC

      L'article suivant présente des codes Javascript pouvant être utilisés pour personnaliser l'OPAC. 0. Configurations 0.1 Préférence OPACUserJS Il faut ajouter les codes dans la préférence système OPACUserJS. Les changements effectués par ces codes ...
    • Code CSS pour l’intranet

      Les codes du présent article permettent de changer l'apparence d'alertes et de textes à différents endroits dans l'Intranet. 0. Configurations Il faut ajouter les codes dans la préférence système IntranetUserCSS. Les changements effectués par ces ...
    • Ajouter un index Titre de revue

      Cet ajout permet de rechercher rapidement un Titre de revue en cherchant dans l'index Titre et en ajoutant un filtre sur le ou les types de documents correspondant à vos revues. Le code fonctionnel avec ElasticSearch est beaucoup plus complexe que ce ...
    • Code CSS pour l’OPAC

      L'article suivant présente des codes CSS pouvant être utilisés pour personnaliser l'OPAC. 0. Configurations 0.1 Préférence OPACUserCSS Il faut ajouter les codes dans la préférence système OPACUserCSS. Les changements effectués par ces codes seront ...
    • Étiquettes avec code QR

      Vos utilisateurs peuvent choisir d’imprimer des étiquettes avec un code QR. Ces codes QR peuvent être utiles. Ils permettent d'avoir accès à la fiche de données de sécurité de vos produits rapidement. Les étiquettes avec un code QR peuvent être ...