Skillnad mellan versioner av "IntranetUserJS/mellansjo"
| Rad 1: | Rad 1: | ||
| − | == Väntfunktionen == | + | == Väntfunktionen '''VIKTIGT''' == |
'''Lägg denna högst upp i intranetuserjs under $(document).ready(function() {, Viktig funktion för att scripten ska fungera.''' | '''Lägg denna högst upp i intranetuserjs under $(document).ready(function() {, Viktig funktion för att scripten ska fungera.''' | ||
| Rad 17: | Rad 17: | ||
</pre> | </pre> | ||
| − | |||
== Periodika / Ta emot == | == Periodika / Ta emot == | ||
Versionen från 2 april 2019 kl. 10.55
Väntfunktionen VIKTIGT
Lägg denna högst upp i intranetuserjs under $(document).ready(function() {, Viktig funktion för att scripten ska fungera.
// Vänt-funktion
var waitForEl = function(selector, callback) {
if (jQuery(selector).length) {
callback();
} else {
setTimeout(function() {
waitForEl(selector, callback);
}, 100);
}
};
Periodika / Ta emot
Lättare att se hembibliotekets prenumeration genom att markera den grön och förstora rutan vid sökning.
ver 1
2019-03-22
if ($('#ser_serials-home').length) {
waitForEl('.dataTables_wrapper', function() {
var logbib = localStorage.getItem('loggedinbranch');
$('.dataTables_wrapper td:nth-child(5)').each(function() {
if ($(this).text().indexOf(logbib) > -1) {
$(this).closest('tr').children().css('background-color','#d4efb7');
$(this).closest('tr').children().css('padding','30px 4px');
};
});
});
};
Katalog / Sökning
Skapar språkfält vid enkel sökning i katalogen. Språk hämtas från 008 och 040 fler språk går att lägga till.
if ($('#header_search').length) {
$('<select id="language-limit" name="limit" style="margin-left:3px;"><option value="">Alla språk</option><option value="ln,rtrn:alb">Albanska</option><option value="ln,rtrn:ara">Arabiska</option><option value="ln,rtrn:bos">Bosniska</option><option value="ln,rtrn:dan">Danska</option><option value="ln,rtrn:eng">Engelska</option><option value="ln,rtrn:fin">Finska</option><option value="ln,rtrn:fre">Franska</option><option value="ln,rtrn:heb">Hebreiska</option><option value="ln,rtrn:ita">Italienska</option><option value="ln,rtrn:hrv">Kroatiska</option><option value="ln,rtrn:chi">Kinesiska</option><option value="ln,rtrn:nob">Norskt bokmål</option><option value="ln,rtrn:nno">Nynorsk</option><option value="ln,rtrn:per">Persiska</option><option value="ln,rtrn:pol">Polska</option><option value="ln,rtrn:prs">Dari</option><option value="ln,rtrn:por">Portugisiska</option><option value="ln,rtrn:rum">Romani</option><option value="ln,rtrn:rus">Ryska</option><option value="ln,rtrn:srp">Serbiska</option><option value="ln,rtrn:slo">Slovakiska</option><option value="ln,rtrn:slv">Slovenska</option><option value="ln,rtrn:som">Somaliska</option><option value="ln,rtrn:spa">Spanska</option><option value="ln,rtrn:swe">Svenska</option><option value="ln,rtrn:tha">Thailändska</option><option value="ln,rtrn:tgl">Tagalog </option><option value="ln,rtrn:tir">Tigriska</option><option value="ln,rtrn:tur">Turkiska</option><option value="ln,rtrn:ger">Tyska</option><option value="ln,rtrn:urd">Urdu</option></select>').insertAfter('#header_search #search-form');
};
Cirkulation / Återlämning
Meddelande om återlämnad Magasin-bok.
if ($('#circ_returns').length) {
if ($('#checkedintable tbody tr:first .ci-type').text().indexOf('Magasin') > -1) {
$('#bd .yui-g:first').append('<div class="dialog message"><h3 class="problem" style="margin:25px;color:#990000">Detta exemplar tillhör Magasin</hr></div>');
};
};
Cirkulation / Omlån
Skapar en egen låna om-knapp för varje utlånat exemplar.
// IntranetUserJS
if ($('#circ_circulation').length) {
waitForEl('.renew', function() {
$('.renew:visible').each(function() {
var itemId = $(this).attr('value');
$(this).parent().parent().append('<button class="btn btn-default btn-xs renewlink" value="' + itemId + '">Låna om</a>');
});
$('.renewlink').on('click', function(event) {
event.preventDefault();
var id = $(this).attr('value');
console.log('Button pressed! - ' + id);
$(".renew:visible").prop("checked", false);
$(this).siblings().find('.renew').prop('checked', true);
$('#RenewCheckinChecked').trigger('click');
$(".renew:visible").prop("checked", true);
});
$('.renewals-disabled:visible').each(function() {
$(this).parent().append('<i class="fa fa-frown-o" style="float:right;font-size:x-large;color:#d0d0d0;"></i>');
});
});
};
OBS. Detta stycke här under måste även läggas till i "IntranetUserCSS"
// IntranetUserCSS
/* Lånaom-knapp */
.renewlink {
font-size: smaller !important;
}
.renewals-disabled {
color: #c00;
}
Katalog / Reservationer
Hämta mer information om reservationer på detaljsidan.
// IntranetUserJS
if ($('#catalog_detail').length) {
var bibnr = $('input[name="bib"]').attr('value');
if ($('.number_box').length) {
$.get('https://' + window.location.hostname + '/cgi-bin/koha/svc/report?id=463&sql_params=' + bibnr, "json").done(function(data) {
function countResStat(type) {
val = 0;
for (i = 0;i < data.length;i++) {
if (data[i][2] === type) {
val = val + 1;
};
};
return val;
};
var res = data[data.length - 1][3];
var trans = countResStat('T');
var waiting = countResStat('W');
if (res > 0) {
$('.number_box').parent().append('<span class="resDetail">Antal i kö: ' + res + '</span>');
};
if (trans > 0) {
$('.number_box').parent().append('<span class="resDetail">På väg: ' + trans + '</span>');
};
if (waiting > 0) {
$('.number_box').parent().append('<span class="resDetail">Aviserade: ' + waiting + '</span>');
};
});
};
};
OBS. Detta stycke här under måste även läggas till i "IntranetUserCSS"
//IntranetUserCSS
.resDetail { /* Detaljsidan: Reservationsdetaljer avstånd */
padding: 10px;
color: #900;
}
.resExtra {
padding: 20px !important;
font-size: large;
}
Katalog / Shelving location
Lägg till en pil och ändra färg på shelving locations på detaljsidan.
// IntranetUserJS
if ($('#bibliodetails').length) {
$('.shelvingloc').each(function() {
if ($(this).text().length) {
var loc = $(this).text();
$(this).html('<span class="pil">↳ </span>' + loc);
};
});
};
OBS. Detta stycke här under måste även läggas till i "IntranetUserCSS"
// IntranetUserCSS
.shelvingloc {
color: olive;
}
.pil { /* Pil framför Lokal placering under Hembibliotek */
font-style: normal; /* Normal font */
color: #900; /* Färg (rödaktig) */
font-size: large; /* Större text */
}
Katalog / postsammanslagning
Skapar en sammanslagningsknapp på resultatsidan för enklare hantering av dublettposter.
// IntranetUserJS
if ($('#catalog_results').length) {
$('#selection_ops').append('<div class="btn-group"><button id="mergeposts" class="btn btn-default btn-xs" type="submit"><i class="fa fa-compress"></i> Slå samman</button></div>');
$('#mergeposts').on('click', function() {
var selIDs = [];
var link = 'https://' + window.location.hostname + '/cgi-bin/koha/cataloguing/merge.pl?';
$('.selection').each(function() {
if ($(this).is(':checked')) {
selIDs.push($(this).attr('value'));
};
});
for (i = 0; i < selIDs.length; i++) {
link = link + 'biblionumber=' + selIDs[i] + '&';
}
link = link.substring(0, link.length -1);
if (selIDs.length > 1) {
window.open(link);
} else {
alert('Välj vilka poster du vill slå samman först...');
};
});
};
Katalog / Knappar
Skapar knappar för Kopiera streckkod, Återlämna exemplar och Radera exemplar bredvid streckkoden i katalogen.
// IntranetUserJS
if ($('#catalog_detail').length) {
$('#holdings_table tbody tr td:nth-child(9), #otherholdings_table tbody tr td:nth-child(9)').each(function() {
$(this).append('<br /><a href="#" class="btn btn-default btn-xs bcopy" data-toggle="tooltip" title="Kopiera"><i class="fa fa-copy"></i></a><a href="#" class="btn btn-default btn-xs breturn" data-toggle="tooltip" title="Återlämna"><i class="fa fa-sign-in"></i></a><a href="#" class="btn btn-default btn-xs btrash" data-toggle="tooltip" title="Radera"><i class="fa fa-trash"></i></a>');
});
// Kopiera
$('.bcopy').on('click', function(event) {
event.preventDefault();
$('a').removeClass('bcSel');
$(this).siblings('a:first').addClass('bcSel');
var bcLink = document.querySelector('.bcSel');
var range = document.createRange();
range.selectNode(bcLink);
window.getSelection().addRange(range);
try {
document.execCommand('copy');
} catch(e) {
alert(e);
};
window.getSelection().removeAllRanges();
});
// Återlämna
$('.breturn').on('click', function(event) {
event.preventDefault();
var bc = $(this).siblings('a:first').text();
if(confirm("Är du säker på att du vill återlämna detta exemplaret? \n\r\n\r" + bc)){
window.location.href = 'https://' + window.location.hostname + '/cgi-bin/koha/circ/returns.pl?barcode=' + bc;
};
});
// Radera
$('.btrash').on('click', function(event) {
event.preventDefault();
var bc = $(this).siblings('a:first').text();
var itemnr = $(this).siblings('a:first').attr('href');
itemnr = itemnr.slice(itemnr.indexOf('itemnumber=') + 11, itemnr.indexOf('&biblionumber'));
var bibnr = $('.yui-b #menu li:first a').attr('href');
bibnr = bibnr.slice(bibnr.indexOf('biblionumber') + 13);
var link = 'https://' + window.location.hostname + '/cgi-bin/koha/tools/batchMod.pl?op=show&del=1&itemnumber=' + itemnr + '&src=%2Fcgi-bin%2Fkoha%2Fcatalogue%2Fdetail.pl%3Fbiblionumber%3D' + bibnr;
if (confirm("Är du säker på att du vill radera detta exemplaret? \n\r\n\r" + bc)) {
window.location.href = link;
};
});
};
OBS. Detta stycke här under måste även läggas till i "IntranetUserCSS"
// IntranetUserCSS
.bcSel {
background-color: gold;
}
.bcopy, .breturn, .btrash {
min-width: 22px;
margin: 5px 7px 2px 0;
}
Cirkulation / Knappar
Skapar knappar för Kopiera streckkod och Återlämna bredvid streckkod på utlåningssidan.
// IntranetUserJS
if ($('#circ_circulation').length | $('#pat_moremember').length) {
waitForEl('#issues-table tbody tr td:nth-child(2)', function() {
$('#issues-table tbody tr td:nth-child(2)').each(function() {
$(this).append('</br><a href="#" class="btn btn-default btn-xs bcopy" data-toggle="tooltip" title="Kopiera"><i class="fa fa-copy"></i><a href="#" class="btn btn-default btn-xs breturn" data-toggle="tooltip" title="Återlämna"><i class="fa fa-sign-in"></i></a>');
});
// Kopiera
$('.bcopy').on('click', function(event) {
event.preventDefault();
var isSupported = document.queryCommandSupported('copy');
console.log('Går kopiera? = ' + isSupported);
$('td a').removeClass('bcSel');
$(this).siblings('a:first').addClass('bcSel');
var bcLink = document.querySelector('.bcSel');
var range = document.createRange();
range.selectNode(bcLink);
window.getSelection().addRange(range);
try {
document.execCommand('copy');
} catch(e) {
alert(e);
};
window.getSelection().removeAllRanges();
});
// Återlämna
$('.breturn').on('click', function(event) {
event.preventDefault();
var bc = $(this).siblings('a:first').text();
if(confirm("Är du säker på att du vill återlämna detta exemplaret? \n\r\n\r" + bc)){
window.location.href = 'https://' + window.location.hostname + '/cgi-bin/koha/circ/returns.pl?barcode=' + bc;
};
});
});
};
OBS. Detta stycke här under måste även läggas till i "IntranetUserCSS"
// IntranetUserCSS
.bcSel {
background-color: gold;
}
.bcopy, .breturn, .btrash {
min-width: 22px;
margin: 5px 7px 2px 0;
}
Katalog / Visning
Visa antal exemplar på flikarna för både egna och andra bibliotek.
$('#holdings').each(function() {
var nrex = $('#holdings tbody tr').length;
var nroex = $('#otherholdings tbody tr').length;
$('a[href="#holdings"]').append('<span> (' + nrex + ')</span>');
$('a[href="#otherholdings"]').append('<span> (' + nroex + ')</span>');
});
Katalog / Barnmedia
Ändrar automatiskt till itemtype "BARNBOK" om man skriver in Hcf, Hcg eller något med litet u i Full call number vid exemplarinläggning eller redigering.
$('#subfield952o input:first').change(function() {
if ($(this).val().indexOf('Hcf') > -1 | $(this).val().indexOf('Hcg') > -1 | ($(this).val().startsWith('u',0) && $(this).val().charAt(1) === $(this).val().charAt(1).toUpperCase()) | $(this).val().indexOf(',u') > -1 ) {
$('select[id^="tag_952_subfield_y"]').select2('val','BARNBOK');
};
});
Katalog / Exemplar
Döljer onödiga fält vid exemplarredigering/registrering.
if ($('#cat_additem').length) {
var hiddenArr = ['1','3','5','6','f','j','t','u','w'];
for (i = 0; i < hiddenArr.length; i++) {
$('.subfield_line label').each(function() {
if ($(this).text().charAt(0) == hiddenArr[i]) {
$(this).closest('li').hide();
};
});
};
};
Låntagare / Registrering
Tvingar stor bokstav i början på alla namn och adresser på låntagaranmälan och redigering.
jQuery.fn.capitalize = function() {
$(this[0]).keyup(function(event) {
var box = event.target;
var txt = $(this).val();
var stringStart = box.selectionStart;
var stringEnd = box.selectionEnd;
$(this).val(txt.replace(/^(.)|(\s|\-)(.)/g, function($word) {
return $word.toUpperCase();
}));
box.setSelectionRange(stringStart , stringEnd);
});
return this;
}
jQuery.fn.capitalizefw = function() {
$(this).keyup(function(event) {
var textBox = event.target;
var start = textBox.selectionStart;
var end = textBox.selectionEnd;
textBox.value = textBox.value.charAt(0).toUpperCase() + textBox.value.slice(1);
textBox.setSelectionRange(start, end);
});
return this;
}
$('#surname, #firstname, #city, #country, #B_city, #B_country').addClass('capitalizer');
$('#address, #address2, #B_address, #B_address2').addClass('capitalizerfw');
$('.capitalizer').on('input', function() {
$(this).capitalize();
});
$('.capitalizerfw').on('input', function() {
$(this).capitalizefw();
});
Endast småbokstäver i e-postfält.
jQuery.fn.decapitalize = function() {
$(this[0]).keyup(function(event) {
var box = event.target;
var txt = $(this).val();
var stringStart = box.selectionStart;
var stringEnd = box.selectionEnd;
$(this).val(txt.replace(/^(.)|(\s|\-)(.)/g, function($word) {
return $word.toLowerCase();
}));
box.setSelectionRange(stringStart , stringEnd);
});
return this;
}
$('#email').addClass('decapitalizer');
$('.decapitalizer').on('input', function() {
$(this).decapitalize();
});
Cirkulation / Utlåning och detaljer för låntagare
Meddelanden på låntagarsidan går nu redigera så man slipper skriva en nya varje gång.
$('<a class="editmsg btn btn-link btn-sm" href="#"><i class="fa fa-edit"></i>Ändra</a>').insertAfter('#messages .circ-hlt');
$('.editmsg').on('click', function() {
var delmsglink = $(this).next().attr('href');
var msg = $(this).closest('li').find('span.circ-hlt i').text().slice(1,-1);
localStorage.setItem('editmsg', msg);
$('#addnewmessageLabel').trigger('click');
$('#borrower_message').val(msg);
$('.modal-footer button.btn.btn-default.approve').on('click', function (event) {
event.preventDefault();
$.get('https://' + window.location.hostname + delmsglink).done(function(datan) {
$('form#message_form').trigger('submit');
});
});
$('.modal-footer button.btn.btn-default.deny.cancel').on('click', function () {
$('#borrower_message').val(msg);
});
});
Exemplar / Streckkoder
Markera innehållet i Streckkodsrutan när man klickar i rutan, förenklar så man kan dra streckkoden direkt när man ställer sig i rutan.
$('input[id^="tag_952_subfield_p"]').each(function() {
$(this).addClass('bcselect');
});
$('.bcselect').on('focus', function(){
$(this).select();
});
$('input[id^="tag_952_subfield_p"]').on('click', function() {
if (!$('input[id^="tag_952_subfield_p"]').val() > -1) {
$(this).select();
};
});
Cirkulation / Reservationer
Visar antal reservationer i kö vid utlån.
$('#circ_needsconfirmation').each(function() {
var barcode = sessionStorage.getItem('lastbarcode');
if ($('#circ_needsconfirmation ul li').text().indexOf('Efterfrågat') > -1 | $('#circ_needsconfirmation ul li').text().indexOf('High demand') > -1) {
$('#circ_needsconfirmation ul').append('<li>Antal reservationer i kö:\t <span id="antal"><i>Hämtar...</i></span></li>');
$.get('https://' + window.location.hostname + '/cgi-bin/koha/svc/report?id=454&sql_params=' + barcode, "json").done(function(data) {
var res = data[data.length - 1][4];
var link = '/cgi-bin/koha/reserve/request.pl?biblionumber=' + data[0][5];
$('#antal').html('<b>' + res + '</b><a href="https://' + window.location.hostname + link +'" target="_blank"> (Öppna kön i ny flik)</a>');
});
};
});
Cirkulation / Sparade lån
SPARADE LÅN - Varning med datum, Vid försök av lån tidigare lånad bok så anges nu senast lånat datum i bekräftelserutan, även om annan streckkod av samma titel försöker lånas.
$('form#mainform').on('submit', function(event) { // Spara senast dragna streckkod vid utlån i webbläsaren
sessionStorage.setItem('lastbarcode',$('#barcode').val());
});
$('#circ_needsconfirmation').each(function() { // Bekräfta lån-rutan
var link = $.cookie('patronlink');
var barcode = sessionStorage.getItem('lastbarcode');
if (link.indexOf("findborrower") > -1) {
var type = "cardnumber=";
}
else {
var type = "borrowernumber=";
};
link = link.slice(link.indexOf('=')+1);
if ($('#circ_needsconfirmation ul li').text().indexOf('previously ') > -1 | $('#circ_needsconfirmation ul li').text().indexOf('tidigare') > -1) {
$('#circ_needsconfirmation ul').append('<h4 id="lastdateloading">Hämtar information... vänta</h4>');
$.get('https://' + window.location.hostname + '/cgi-bin/koha/svc/report?id=450&sql_params=' + link + '&sql_params=' + barcode, "json").done(function(data) {
var lastdate = data[0][5];
if (lastdate == null) {
lastdate = 0;
};
$('#circ_needsconfirmation #lastdateloading').remove();
if (lastdate == 0) {
$('#circ_needsconfirmation ul').append('<li id="lastdate">Senast lånad:\t <b>Okänt</b> <i>(före övergång till koha)</i></li>');
sessionStorage.removeItem('lastbarcode');
}
else {
$('#circ_needsconfirmation ul').append('<li id="lastdate">Senast lånad:\t <b>' + lastdate + '</b></li>');
sessionStorage.removeItem('lastbarcode');
};
});
};
});


