Kohas OPACUserJS systeminställning

Från Svenska kohanätverkets wiki
Hoppa till: navigering, sök

Här delas programmeringskod och tips som är kopplade till Kohas OPACUserJS systeminställning.

OBS! När du infogar javascript (troligen vill du använda använda jQuery (som redan finns laddat av Koha), men vanlig rå javascript funkar naturligtvis också) så skall du låta sidan ladda färdigt genom att skriva din kod inuti följande kodsnutt.

$(document).ready(function(){ <skriv din kod här> });

Använder du flera kodsnuttar kan du lägga dem inuti samma "document ready"-block.

Gör så att bara obetalda böter visas.

Koha version: 16.05.04.000
Av: Magnus Pettersson, LTU - magnus.pettersson@ltu.se

$(document).ready(function() {
  if ($("#useraccount").length > 0) {
    $('table tr').each(function() {
      if ($(this).find("td:eq(3)").html() == "0.00") {
        $(this).closest('tr').remove();
      }
    });
  };
});
Dölja delar av en lista där <li> inte har ett ID nummer. Vi använder istället ett ID som finns inuti <li> och tar bort "föräldern"

Koha version: 16.05.04.000
Av: Magnus Pettersson, LTU - magnus.pettersson@ltu.se

$(document).ready(function () {
   if ($("#opac-patron-update").length > 0) {
      $("#borrower_dateofbirth").parent().remove();
      $("#borrower_initials").parent().remove();
      $("#borrower_othernames").parent().remove();
      $("#sex-female").parent().remove();
   }
});
SMS - minska låntagarnas möjligheter att själva välja att få SMS till endast tillgängliga reservationer. Motsvarande kan göras i personalklienten om man inte vill att personalen heller lägger in SMS på låntagarna för andra funktioner. Nyare version kan ev finnas på https://github.com/regionbibliotekhalland/koha-hacks/blob/master/opac-remove-SMS-boxes.js

$(document).ready(function () {
    $("input#sms1").remove();
    $("input#sms2").remove();
    $("input#sms5").remove();
    $("input#sms6").remove();
});
Ta bort högerspalten på opacs förstasida och gör huvudytan bredare. Obs - något av ett "fulhack" som bygger på att bara de två berörda elementen har klasserna .span3 och .span7. (Bootstrap har ett gridsystem som bygger på tolv kolumner så .span10 är en klass i bootstrap som betyder att huvudytan får tio tolftedelar av föräldraelementet). Nyare version kan finnas på https://github.com/regionbibliotekhalland/koha-hacks/blob/master/opac-remove-right-column-widen-main.js

$(document).ready(function () {
    if ($("body").is("#opac-main")) {
        $(".span3").remove();
        $(".span7").toggleClass("span7 span10");
    }
});
Ta bort vidaresökningslänkar för författare mm i detaljsidan för en bok (alla länkar i elementet med id catalogue_detail_biblio). HTML-koden för länkarna ersätts med själva länktexten. Eventuell nyare version finns på https://github.com/regionbibliotekhalland/koha-hacks/blob/master/opac-detail-remove-author-links-etc.js

$(document).ready(function () {
    if ($("body").is("#opac-detail")) {
        $("#catalogue_detail_biblio a").replaceWith(function () {
            return $(this).text();
        });
    }
});


Validera SMS-nummer. OBS - ren demokod, anpassa och se över den innan du använder. Byt allra minst ut rött/grönt mot någon signal som inte är problematisk för färgblinda. Kanske ikoner? Trigga också gärna visning av en lämplig ledtext som visar vad som är fel. 

Kolla gärna efter en nyare version på: https://github.com/regionbibliotekhalland/koha-hacks/blob/master/opac-validate-smsnumber.js

$(document).ready(function () {
    // Kör bara koden på sidan där låntagarna uppdaterar sina uppgifter
    if ($("body").is("#opac-patron-update")) {
        // Bevaka fältet borrower_phone efter förändringar
        $("#borrower_phone").on("input", function () {
            if ($(this).data("lastval") !== $(this).val()) {
                $(this).data("lastval", $(this).val());
                var VAL = $("#borrower_phone").val();
                // Ett reguljärt uttryck för att matcha mönstret hos mobilnummer
                var phonepattern = /^\+46[1-9][0-9]{7,9}$/;
        
                // Här logiken för kontroll av själva telefonnumret
                if (phonepattern.test(VAL)) {
                    // Visa någon indikator för att allt är ok.
                    $("#borrower_phone").css("border-color", "green");
                    // Aktivera submit-knappen.
                    // Kod för detta här isf.
                }
 
                else if ($("#borrower_phone").val().length === 0) {
                    $("#borrower_phone").css("border-color", "#cccccc");
                    // Aktivera submit-knappen.
                }
 
                else {
                    // Visa en indikator på att det finns problem med telefonnumret.
                    $("#borrower_phone").css("border-color", "red");
                    // Deaktivera submit-knappen.
                }
            }
        });
    }
});