Skillnad mellan versioner av "IntranetUserJS"
Hoppa till navigering
Hoppa till sök
Viktor (diskussion | bidrag) (Validering av personnummer) |
|||
Rad 45: | Rad 45: | ||
}); | }); | ||
} | } | ||
+ | }); | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | 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 andra på sidan. Utan sidan måste först ladda färdigt och sedan måste den del vi vill ändra på uppdateras. | ||
+ | |||
+ | 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(); | ||
+ | }); | ||
}); | }); | ||
</pre> | </pre> |
Versionen från 15 februari 2017 kl. 11.12
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 andra på sidan. Utan sidan måste först ladda färdigt och sedan måste den del vi vill ändra på uppdateras. 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(); }); });