2 [% PROCESS 'i18n.inc' %]
4 [% INCLUDE 'doc-head-open.inc' %]
5 <title>[% FILTER collapse %]
6 [% t("Authority details") | html %] ›
9 [% INCLUDE 'doc-head-close.inc' %]
12 <body id="auth_blinddetail-biblio-search" class="auth">
14 <div class="main container-fluid">
16 <div class="col-md-8 col-md-offset-2">
18 <div id="loading"> <img src="[% interface | html %]/[% theme | html %]/img/spinner-small.gif" alt="" /> Loading </div>
23 [% MACRO jsinclude BLOCK %]
25 $(document).ready(function(){
27 function RancorReplaceField( new_text, ind_1, ind_2 ){
28 var cur_field = opener.opener.jQuery(".CodeMirror")[0].CodeMirror.marceditor.getCurrentField();
29 // The new_text is entity-encoded and we want decoded text
30 new_text = new DOMParser().parseFromString(new_text, 'text/html').body.innerText;
31 cur_field.setText(new_text);
32 [% IF update_ind1 %]cur_field.setIndicator1(ind_1);[% END %]
33 [% IF update_ind2 %]cur_field.setIndicator2(ind_2);[% END %]
40 [%- FOREACH SUBFIELD_LOO IN SUBFIELD_LOOP -%]‡
41 [%- To.json( SUBFIELD_LOO.marc_subfield ) | html -%]
42 [%- FOREACH marc_value IN SUBFIELD_LOO.marc_values -%]
43 [%- To.json( marc_value ) | html -%]
45 [%- END -%]‡9[% authid | html %]";
47 RancorReplaceField( new_line, "[% indicator1 | html %]", "[% indicator2 | html %]" );
49 var index_start = "[% index | html %]";
52 whichfield = opener.opener.document.getElementById(index_start);
53 autolinker_dialog = opener.opener.document.getElementById("autolinker_dialog");
55 whichfield = opener.document.getElementById(index_start);
56 autolinker_dialog = opener.document.getElementById("autolinker_dialog");
58 var field_start = whichfield.parentNode.parentNode.parentNode.parentNode;
60 // Sets the good number of form fields for the specified subfield
61 // Returns false if the cloning failed
62 function SetSubfieldNumber(subfield_name, nb) {
63 // Nothing to do if we only have one value
68 // Find the subfield we want to clone
69 var re = new RegExp('^subfield' + subfield_name,'g');
70 var subfields = $(field_start).children('ul').children('li').filter( function() {
71 return this.id.match(re);
74 // Try to add as many clones as needed
76 for(var i=0; i<nb-subfields.length; i++) {
77 window.opener.opener.CloneSubfield(subfields[0].getAttribute('id'),'[% advancedMARCEditor | html %]');
86 // Fills the subfield with the values entered in argument
87 function SetSubfieldValues() {
89 var subfield_name = arguments[0];
90 var values = new Array();
91 for(var i=1; i<arguments.length; i++) {
92 values.push(arguments[i]);
95 // Create the correct number of form fields for all values
96 // If the field cloning failed, only the first value will be added to the form.
97 SetSubfieldNumber(subfield_name, values.length);
99 // Find the subfields where we will add the new values
100 var re = new RegExp('^subfield' + subfield_name,'g');
101 var subfields = $(field_start).children('ul').children('li').filter( function() {
102 return this.id.match(re);
105 // Add the new values to those subfields, empty the additional fields
107 subfields.each(function() {
110 new_value = values[i];
115 $(this).find('.input_marceditor').val(new_value);
120 function ReOrderSubField(){
122 var subfield_start = $(field_start).children('ul')[0];
123 var first = subfield_start.firstElementChild;
125 [% FOREACH SUBFIELD IN SUBFIELD_LOOP %]
126 // grab all subfields
127 var subfield_name = "[% To.json(tag_number) | $raw %][% To.json(SUBFIELD.marc_subfield) | $raw %]"
128 var re = new RegExp('^subfield' + subfield_name,'g');
129 var subfields = $(subfield_start).children('li').filter( function() {return this.id.match(re); });
130 for (var i=0; i<subfields.length; i++){
131 var subfield = subfields[i];
133 first = subfield_start.insertBefore(subfield, first);
137 first = subfield_start.insertBefore(subfield, first.nextSibling);
143 [% UNLESS ( clear ) %]
145 [% FOREACH SUBFIELD_LOO IN SUBFIELD_LOOP %]
147 "[% To.json(tag_number) | $raw %][% To.json(SUBFIELD_LOO.marc_subfield) | $raw %]"
148 [% FOREACH marc_value IN SUBFIELD_LOO.marc_values %]
149 ,"[% To.json( marc_value ) | $raw %]"
153 var indicators = field_start.getElementsByClassName('indicator flat');
155 indicators[0].value="[% indicator1 | html %]";
158 indicators[1].value="[% indicator2 | html %]";
162 // browse all its subfields (clear and $9)
163 var subfields = field_start.getElementsByTagName('input');
164 var re = /^tag_\d*_code_/;
165 for(var i=0, len = subfields.length ; i< len ; i++) { // browse all subfields
166 if(subfields[i].hasAttribute('name') == 0 ) {continue; } // div elements specific to Select2
167 if(subfields[i].getAttribute('name').match(re)){ // it s a subfield
168 var code = subfields[i]; // code is the first input
169 var subfield = subfields[i+1]; // subfield the second
172 if (subfield){subfield.value="" ;}
175 subfield.value = "[% To.json(authid) | $raw %]";
176 subfield.className = subfield.className.replace("no_matching_authority_field", "matching_authority_field");
183 //Delete create authority button and status
184 var linkinfos = field_start.getElementsByTagName('i');
185 for (index = linkinfos.length - 1; index >= 0; index--) {
186 linkinfos[index].parentNode.removeChild(linkinfos[index]);
188 //Change message autolinker_dialog
189 var subfield_dialog = $(autolinker_dialog).children('ul').children('li');
190 for (index = subfield_dialog.length - 1; index >= 0; index--){
191 var tag_field = field_start.id.split("_")[1];
192 if (subfield_dialog[index].innerHTML.indexOf(tag_field) !== -1 ){
193 subfield_dialog[index].innerHTML = subfield_dialog[index].innerHTML.replace(_("No matching authority found."), _("No matching authority found. A new authority was created or imported"));
207 [% INCLUDE 'intranet-bottom.inc' popup_window = 1 %]