IntranetUserJS

Från Svenska kohanätverkets wiki
Version från den 25 april 2018 kl. 13.06 av JohanS (diskussion | bidrag)
Hoppa till navigering Hoppa till sök
Personnummer - visuell hjälp att se när det är i giltigt format. För bruk i personaldelen. 

Gör rutan för personnummer: 
* röd - om formatet på det som står i fältet inte stämmer med ett personnummer.
* grön - om formatet på det står i fältet stämmer med ett personnummer.
* ofärgad - om rutan är tom.

Klistra in i syspref IntranetUserJS för att använda.
OBS! Ändra alla förekomster av patron_attr_4 till det id som ert personnummer fält har i HTML-koden.
Gå till /cgi-bin/koha/admin/patron-attr-types.pl för att skapa personnummer-attribut om ni inte har det.
Aktivera sedan syspref för extendet patron attributes om ni inte redan har det på (Koha ger en varning isf).

// Koden ger en visuell hjälp att se att formatet stämmer men kontrollerar inte mot folkbokföringen att det är ett giltigt personnummer.

$(document).ready(function () {
    // Kör bara koden på sidan där låntagarna uppdaterar sina uppgifter
    if ($("body").is("#pat_memberentrygen")) {
        // Bevaka fältet för personnummer efter förändringar
        $("#patron_attr_4").on("input", function () {
            if ($(this).data("lastval") !== $(this).val()) {
                $(this).data("lastval", $(this).val());
                var VAL = $("#patron_attr_4").val();
                // Ett reguljärt uttryck för att matcha mönstret hos personnummer
                var personnummerPattern = /^(?:19|[2-9][0-9]){0,1}(?:[0-9]{2})(?!0229|0230|0231|0431|0631|0931|1131)(?:(?:0[1-9])|(?:1[0-2]))(?:(?:0[1-9])|(?:1[0-9])|(?:2[0-9])|(?:3[01]))[-+](?!0000)(?:[0-9]{4})$/;
        
                // Här logiken för kontroll av själva personnumret
                if (personnummerPattern.test(VAL)) {
                    // Visa någon indikator för att allt är ok.
                    $("#patron_attr_4").css("border-color", "green");
                    $("#patron_attr_4").css("background-color", "#d8ffe0");
                }
 
                else if ($("#patron_attr_4").val().length === 0) {
                    //alert("Inuti else if length 0");
                    $("#patron_attr_4").css("border-color", "initial");
                }
 
                else {
                    // Visa en indikator på att det finns problem med personnumret.
                    $("#patron_attr_4").css("border-color", "red");
                    $("#patron_attr_4").css("background-color", "#ffd8d8");                    
                }
            }
        });
    }
});
Tar bort sista kolumnen i reservationstabellen (#hold-table)

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

Problemet med det flesta tabeller i Koha är att de visas med hjälp av ajax. Det gör att vi inte kan använda oss enbart av "$(document).ready" funktionen för att ändra på sidan. Utan sidan måste först ladda färdigt innan vi kan ändra.

I mitt fall gick det utmärkt att ändra table header (th) men inte datan i tabellen (td) eftersom tabellen laddas vid två tillfällen. Lösningen blev att kolla efter DOMSubtreeModified event på table id. När tabellen är uppdaterad så fungerar det utmärkt att uppdatera sidan.

$(document).ready(function () {
  $('#holds-table').bind("DOMSubtreeModified", function() {
    $('#holds-table tr').find('td:eq(8),th:eq(8)').remove();
  });
});

Markerar raden med det aktuella exemplaret efter sökt streckkod

Koha-version: 17.11.04.000
Av: Johan Sahlberg, Bibliotek Mellansjö - johan.sahlberg@tidaholm.se


$(document).ready(function () {
  $('#cat-search-block .submit').on('click', function(){  // Vanlig katalogsökning
    $('input[type="text"]').each(function(){    
      var id = $(this).attr('id');
      var value = $(this).val();
      localStorage.setItem(id, value);
    });   
  });

  $('form[action="search.pl"] .btn').on('click', function(){ // Avancerad sökning
    $('input[type="text"]').each(function(){    
      var value = $(this).val();
      if (value !== '') {
        localStorage.setItem('search-form', value);}
    });   
  });

  $('td a[href^="/cgi-bin/koha/catalogue/moredetail.pl"]').text(function () {
    var storedsearch = localStorage.getItem('search-form');
    if ($(this).text() == storedsearch) {
      $(this).closest('tr').children().css('background-color','#d4efb7');
      localStorage.removeItem('search-form');}
  });
});