Browse Source

Bug 17988 - Select2 prevents correct tag expand/minimize functionality

Overview:
Select2 (Bug 13501) introduced divs and inputs that broke some assumptions about the expected HTML structure.
Because of that, expanding fields to show all hidden subfields does not work properly.

Steps to Reproduce:
1. Open some book in the editor or create new (cataloguing/addbiblio.pl)
2. Try to minimize or expand fields, that have among subfields the following:
	— Thesaurus driven subfield → subfield with Select2
	— Hidden subfield.

Actual Results:
 — some fields become hidden, some not, and vice versa
 — in the console, you'll see «Uncaught TypeError: Cannot read property 'match' of null»

Expected Results:
 — all subfields should minimize/maximize completely

Additional Information:
This happens because Select2 adds some divs, that do not have ID property.
The following patch adds check for the needed attribute existance.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
17.05.x
Oleg Vasylenko 7 years ago
committed by Kyle M Hall
parent
commit
317abac238
  1. 1
      koha-tmpl/intranet-tmpl/prog/js/cataloging.js

1
koha-tmpl/intranet-tmpl/prog/js/cataloging.js

@ -59,6 +59,7 @@ function ExpandField(index) {
var original = document.getElementById(index); //original <div>
var divs = original.getElementsByTagName('div');
for(var i=0,divslen = divs.length ; i<divslen ; i++){ // foreach div
if(divs[i].hasAttribute('id') == 0 ) {continue; }
if(divs[i].getAttribute('id').match(/^subfield/)){ // if it s a subfield
if (!divs[i].style.display) {
// first time => show all subfields

Loading…
Cancel
Save