View | Details | Raw Unified | Return to bug 17817
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/js/cataloging.js (-6 / +37 lines)
Lines 73-78 function ExpandField(index) { Link Here
73
        }
73
        }
74
    }
74
    }
75
}
75
}
76
77
var Select2Utils = {
78
  removeSelect2: function(element) {
79
    var selects = element.getElementsByTagName('select');
80
    for (var i=0; i < selects.length; i++) {
81
      $(selects[i]).select2('destroy');
82
    }
83
  },
84
85
  initSelect2: function(element) {
86
    var selects = element.getElementsByTagName('select');
87
    for (var i=0; i < selects.length; i++) {
88
      $(selects[i]).select2();
89
    }
90
  }
91
};
92
76
/**
93
/**
77
 * To clone a field
94
 * To clone a field
78
 * @param hideMarc '0' for false, '1' for true
95
 * @param hideMarc '0' for false, '1' for true
Lines 80-85 function ExpandField(index) { Link Here
80
 */
97
 */
81
function CloneField(index, hideMarc, advancedMARCEditor) {
98
function CloneField(index, hideMarc, advancedMARCEditor) {
82
    var original = document.getElementById(index); //original <div>
99
    var original = document.getElementById(index); //original <div>
100
    Select2Utils.removeSelect2(original);
101
83
    var clone = original.cloneNode(true);
102
    var clone = original.cloneNode(true);
84
    var new_key = CreateKey();
103
    var new_key = CreateKey();
85
    var new_id  = original.getAttribute('id')+new_key;
104
    var new_id  = original.getAttribute('id')+new_key;
Lines 244-251 function CloneField(index, hideMarc, advancedMARCEditor) { Link Here
244
263
245
    // insert this line on the page
264
    // insert this line on the page
246
    original.parentNode.insertBefore(clone,original.nextSibling);
265
    original.parentNode.insertBefore(clone,original.nextSibling);
266
267
    Select2Utils.initSelect2(original);
268
    Select2Utils.initSelect2(clone);
247
}
269
}
248
270
271
249
/**
272
/**
250
 * To clone a subfield
273
 * To clone a subfield
251
 * @param index
274
 * @param index
Lines 253-258 function CloneField(index, hideMarc, advancedMARCEditor) { Link Here
253
 */
276
 */
254
function CloneSubfield(index, advancedMARCEditor){
277
function CloneSubfield(index, advancedMARCEditor){
255
    var original = document.getElementById(index); //original <div>
278
    var original = document.getElementById(index); //original <div>
279
    Select2Utils.removeSelect2(original);
256
    var clone = original.cloneNode(true);
280
    var clone = original.cloneNode(true);
257
    var new_key = CreateKey();
281
    var new_key = CreateKey();
258
    // set the attribute for the new 'div' subfields
282
    // set the attribute for the new 'div' subfields
Lines 327-334 function CloneSubfield(index, advancedMARCEditor){ Link Here
327
    }
351
    }
328
    // insert this line on the page
352
    // insert this line on the page
329
    original.parentNode.insertBefore(clone,original.nextSibling);
353
    original.parentNode.insertBefore(clone,original.nextSibling);
354
355
    //Restablish select2 for the cloned elements.
356
    Select2Utils.initSelect2(original);
357
    Select2Utils.initSelect2(clone);
358
330
    // delete data of cloned subfield
359
    // delete data of cloned subfield
331
    document.getElementById(linkid).value = "";
360
    clone.querySelectorAll('input.input_marceditor').value = "";
332
}
361
}
333
362
334
function AddEventHandlers (oldcontrol, newcontrol, newinputid ) {
363
function AddEventHandlers (oldcontrol, newcontrol, newinputid ) {
Lines 413-420 function upSubfield(index) { Link Here
413
    }
442
    }
414
    var tag = line.parentNode; // get the dad of this line. (should be "<div id='tag_...'>")
443
    var tag = line.parentNode; // get the dad of this line. (should be "<div id='tag_...'>")
415
444
416
    // getting all subfields for this tag
445
    // getting all visible subfields for this tag
417
    var subfields = tag.getElementsByTagName('div');
446
    var subfields = tag.querySelectorAll("div.subfield_line");
418
    var subfieldsLength = subfields.length;
447
    var subfieldsLength = subfields.length;
419
448
420
    if(subfieldsLength<=1) return; // nothing to do if there is just one subfield.
449
    if(subfieldsLength<=1) return; // nothing to do if there is just one subfield.
Lines 422-429 function upSubfield(index) { Link Here
422
    // among all subfields
451
    // among all subfields
423
    for(var i=0;i<subfieldsLength;i++){
452
    for(var i=0;i<subfieldsLength;i++){
424
        if(subfields[i].getAttribute('id') == index){ //looking for the subfield which is clicked :
453
        if(subfields[i].getAttribute('id') == index){ //looking for the subfield which is clicked :
425
            if(i==1){ // if the clicked subfield is on the top
454
            if(i==0){ // if the clicked subfield is on the top
426
                tag.appendChild(subfields[1]);
455
                tag.appendChild(subfields[0]);
427
                return;
456
                return;
428
            } else {
457
            } else {
429
                var lineAbove = subfields[i-1];
458
                var lineAbove = subfields[i-1];
Lines 449-454 function unHideSubfield(index,labelindex) { Link Here
449
 * @param original subfield div to clone
478
 * @param original subfield div to clone
450
 */
479
 */
451
function CloneItemSubfield(original){
480
function CloneItemSubfield(original){
481
    Select2Utils.removeSelect2(original);
452
    var clone = original.cloneNode(true);
482
    var clone = original.cloneNode(true);
453
    var new_key = CreateKey();
483
    var new_key = CreateKey();
454
484
Lines 488-493 function CloneItemSubfield(original){ Link Here
488
518
489
    // insert this line on the page
519
    // insert this line on the page
490
    original.parentNode.insertBefore(clone,original.nextSibling);
520
    original.parentNode.insertBefore(clone,original.nextSibling);
521
    Select2Utils.initSelect2(original);
522
    Select2Utils.initSelect2(clone);
491
}
523
}
492
524
493
/**
525
/**
494
- 

Return to bug 17817