Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kielivalikkojen priorisointi ei toimi kaikissa tapauksissa #1067

Closed
AnneliO opened this issue Feb 9, 2024 · 6 comments
Closed

Kielivalikkojen priorisointi ei toimi kaikissa tapauksissa #1067

AnneliO opened this issue Feb 9, 2024 · 6 comments
Assignees
Labels

Comments

@AnneliO
Copy link
Contributor

AnneliO commented Feb 9, 2024

Mikä vikana?

Kielivalikkojen priorisointi ei toimi, jos hakutuloksesen saatuaan klikkaa "Muokkaa hakua", jolloin palataan takaisin Tarkkaan hakuun muokkaamaan juuri tehtyä hakua. Sama kieli on edelleen valittuna kielivalikossa, mutta sieltä on kadonnut priorisoinnit eli suomi, ruotsi, englanti eivät enä olle valikon alussa.

Myöskin, jos klikkaa Tarkassa haussa yläreunasta "Tyhjennä kentät", niin priorisoinnit katoavat kielivalikoista.

Kyseessä on siis tämä IntranetUserJS-rimpsu:

//Kielten aakkostus/priorisointi tarkassa haussa
function sortSelect(select, startAt) {
    if(typeof startAt === 'undefined') {
        startAt = 0;
    }
    var texts = [];
    for(var i = startAt; i < select.length; i++) {
        texts[i] = [
            select.options[i].text.toUpperCase(),
            select.options[i].text,
            select.options[i].value
        ].join('|');
    }
    texts.sort();
    texts.forEach(function(text, index) {
        var parts = text.split('|');
        select.options[startAt + index].text = parts[1];
        select.options[startAt + index].value = parts[2];
    });
}

$(document).ready(function () {
  if (window.location.pathname == ("/cgi-bin/koha/catalogue/search.pl") && !window.location.search) {
    sortSelect(document.getElementById('language-limit'), 1); 
    var $select = $("#mySelect");
    $('#language-limit').find('option[value="ln,rtrn:eng"]')
         .insertBefore($('#language-limit').find('option:eq(1)'));
    $('#language-limit').find('option[value="ln,rtrn:swe"]')
         .insertBefore($('#language-limit').find('option:eq(1)'));
    $('#language-limit').find('option[value="ln,rtrn:fin"]')
         .insertBefore($('#language-limit').find('option:eq(1)'));
    sortSelect(document.getElementById('language-original-limit'), 1);
    $('#language-original-limit').find('option[value="language-original,rtrn:eng"]')
         .insertBefore($('#language-original-limit').find('option:eq(1)'));
    $('#language-original-limit').find('option[value="language-original,rtrn:swe"]')
         .insertBefore($('#language-original-limit').find('option:eq(1)'));
    $('#language-original-limit').find('option[value="language-original,rtrn:fin"]')
         .insertBefore($('#language-original-limit').find('option:eq(1)'));
  }
});
//LOPPU

Mitä pitäisi tapahtua

Kielten priorisoinnin tulisi säilyä myös yllä kuvatuissa tapauksissa.

Kuinka toistaa ongelma/asia

Tapaus 1

  1. Mene tarkkaan hakuun ja tee mikä tahansa haku. Vaihtoehtoisesti hae teoksia, joiden kieli on suomi, ruotsi tai englanti.
  2. Klikkaa hakutuloslistan yläpuolelta Muokkaa hakua -nappia, jolloin järjestelmä palaa Tarkkaan hakuun.
  3. Avaa kielivalikko ja huomaa, ettei suomi, ruotsi ja englanti ole enää valikoiden kärjessä.

Tapaus 2

  1. Mene tarkkaan hakuun ja klikkaa Haku-napin oikealta puolelta Tyhjennä kentät
  2. Avaa kielivalikot ja huomaa, ettei suomi, ruotsi ja englanti ole enää valikoiden kärjessä.

Selain

No response

Jotain muuta?

No response

@AnneliO AnneliO added the bug label Feb 9, 2024
@lmstrand
Copy link
Collaborator

lmstrand commented Feb 13, 2024

Korjattu rimpsu:

/// ALKU ///
//Kielten aakkostaminen tarkassa haussa
function sortSelect(select, startAt) {
    if(typeof startAt === 'undefined') {
        startAt = 0;
    }
    var texts = [];
    for(var i = startAt; i < select.length; i++) {
        texts[i] = [
            select.options[i].text.toUpperCase(),
            select.options[i].text,
            select.options[i].value
        ].join('|');
    }
    texts.sort();
    texts.forEach(function(text, index) {
        var parts = text.split('|');
        select.options[startAt + index].text = parts[1];
        select.options[startAt + index].value = parts[2];
    });
}

$(document).ready(function () {
  if ((window.location.pathname == ("/cgi-bin/koha/catalogue/search.pl") && !window.location.search) || (window.location.href.indexOf("/catalogue/search.pl?advsearch=1&edit_search") > -1) || (window.location.href.indexOf("/catalogue/search.pl?do=Clear") > -1))  {
    var selected_lang_limit = $( "#language-limit option:selected" ).val();
    var selected_orig_lang_limit = $( "#language-original-limit option:selected" ).val();

    sortSelect(document.getElementById('language-limit'), 1);
    $('#language-limit').find('option[value="ln,rtrn:eng"]')
         .insertBefore($('#language-limit').find('option:eq(1)'));
    $('#language-limit').find('option[value="ln,rtrn:swe"]')
         .insertBefore($('#language-limit').find('option:eq(1)'));
    $('#language-limit').find('option[value="ln,rtrn:fin"]')
         .insertBefore($('#language-limit').find('option:eq(1)'));
    $("#language-limit").val(selected_lang_limit);
    
    sortSelect(document.getElementById('language-original-limit'), 1);
    $('#language-original-limit').find('option[value="language-original,rtrn:eng"]')
         .insertBefore($('#language-original-limit').find('option:eq(1)'));
    $('#language-original-limit').find('option[value="language-original,rtrn:swe"]')
         .insertBefore($('#language-original-limit').find('option:eq(1)'));
    $('#language-original-limit').find('option[value="language-original,rtrn:fin"]')
         .insertBefore($('#language-original-limit').find('option:eq(1)'));
    $('#language-original-limit').val(selected_orig_lang_limit);
  }
});
/// LOPPU ///

@lmstrand lmstrand self-assigned this Feb 13, 2024
@ajrajala
Copy link

Testasin vaski-testillä, Annelin kuvaamien tapausten 1 ja 2 virheet ei näytä enää toistuvan vaan priorisoitu+aakkostettu järjestys näkyy kuten pitää.

@IrinaHalminen
Copy link

Vaara-testillä testattu molemmat tapaukset, kielten priorisointi säilyy, ja jos oli valittuna tietty kieli, se säilyi valittuna.

@Kati-Helle
Copy link

Vaihdoin Helle-testillä rimpsun testaukseen.
Testasin molemmat Annelin mainitsemat tavat. Toimii oikein eli kielten priorisointi säilyy.

@lmstrand
Copy link
Collaborator

Kiitos testailusta. Korjaus viety tuotantoihin.

@AnneliO
Copy link
Contributor Author

AnneliO commented Feb 15, 2024

Laitetaan vielä muistiin, että IntranetUserJS-kirjasto myös päivitetty tämän osalta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Suljettu
Development

No branches or pull requests

5 participants