Skillnad mellan versioner av "IntranetUserJS"

Från Svenska kohanätverkets wiki
Hoppa till navigering Hoppa till sök
Rad 54: Rad 54:
 
Av: Magnus Pettersson, LTU - magnus.pettersson@ltu.se
 
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 andra på sidan. Utan sidan måste först ladda färdigt och sedan måste den del vi vill ändra på uppdateras.
+
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.
 
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.

Versionen från 28 mars 2017 kl. 10.56

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();
  });
});