Bug 22979: Remove type attribute from script tags: Authorities
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / authorities / blinddetail-biblio-search.tt
1 [% SET footerjs = 1 %]
2 [% INCLUDE 'doc-head-open.inc' %]
3 <title>Koha &rsaquo; Authority details</title>
4 [% INCLUDE 'doc-head-close.inc' %]
5 </head>
6
7 <body id="auth_blinddetail-biblio-search" class="auth">
8
9     <div class="main container-fluid">
10         <div class="row">
11             <div class="col-md-8 col-md-offset-2">
12
13         <div id="loading"> <img src="[% interface | html %]/[% theme | html %]/img/spinner-small.gif" alt="" /> Loading </div>
14
15             </div>
16         </div>
17
18 [% MACRO jsinclude BLOCK %]
19     <script>
20         $(document).ready(function(){
21             [% IF rancor %]
22             function RancorReplaceField( new_text, ind_1, ind_2 ){
23                 var cur_field = opener.opener.jQuery(".CodeMirror")[0].CodeMirror.marceditor.getCurrentField();
24                 cur_field.setText(new_text);
25                 [% IF update_ind1 %]cur_field.setIndicator1(ind_1);[% END %]
26                 [% IF update_ind2 %]cur_field.setIndicator2(ind_2);[% END %]
27                 return true;
28             }
29                 [% IF ( clear ) %]
30                 var new_line = "";
31                 [% ELSE %]
32                 var new_line = "
33                 [%- FOREACH SUBFIELD_LOO IN SUBFIELD_LOOP -%]‡
34                     [%- SUBFIELD_LOO.marc_subfield |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r    ') | html -%]
35                     [%- FOREACH marc_value IN SUBFIELD_LOO.marc_values -%]
36                         [%- marc_value |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') | html -%]
37                     [%- END -%]
38                 [%- END -%]‡9[% authid | html %]";
39                 [% END %]
40                 RancorReplaceField( new_line, "[% indicator1 | html %]", "[% indicator2 | html %]" );
41             [% ELSE %]
42             var index_start = "[% index | html %]";
43             var whichfield;
44             try {
45                 whichfield = opener.opener.document.getElementById(index_start);
46             } catch(e) {
47                 return;
48             }
49             var field_start = whichfield.parentNode.parentNode;
50
51             // Sets the good number of form fields for the specified subfield
52             // Returns false if the cloning failed
53             function SetSubfieldNumber(subfield_name, nb) {
54                 // Nothing to do if we only have one value
55                 if(nb <= 1) {
56                     return true;
57                 }
58
59                 // Find the subfield we want to clone
60                 var re = new RegExp('^subfield' + subfield_name,'g');
61                 var subfields = $(field_start).children('div').filter( function() {
62                     return this.id.match(re);
63                 });
64
65                 // Try to add as many clones as needed
66                 try {
67                     for(var i=0; i<nb-subfields.length; i++) {
68                         window.opener.opener.CloneSubfield(subfields[0].getAttribute('id'),'[% advancedMARCEditor | html %]');
69                     }
70                 }
71                 catch(err) {
72                     return false;
73                 }
74                 return true;
75             }
76
77             // Fills the subfield with the values entered in argument
78             function SetSubfieldValues() {
79                 // Get the arguments
80                 var subfield_name = arguments[0];
81                 var values = new Array();
82                 for(var i=1; i<arguments.length; i++) {
83                     values.push(arguments[i]);
84                 }
85
86                 // Create the correct number of form fields for all values
87                 // If the field cloning failed, only the first value will be added to the form.
88                 SetSubfieldNumber(subfield_name, values.length);
89
90                 // Find the subfields where we will add the new values
91                 var re = new RegExp('^subfield' + subfield_name,'g');
92                 var subfields = $(field_start).children('div').filter( function() {
93                     return this.id.match(re);
94                 });
95
96                 // Add the new values to those subfields, empty the additional fields
97                 var i=0;
98                 subfields.each(function() {
99                     if(i in values) {
100                         this.getElementsByTagName('input')[1].value = values[i];
101                     }
102                     else {
103                         this.getElementsByTagName('input')[1].value = "";
104                     }
105                     i++;
106                 });
107             }
108             [% UNLESS ( clear ) %]
109                 [% FOREACH SUBFIELD_LOO IN SUBFIELD_LOOP %]
110                     SetSubfieldValues(
111                         "[% tag_number |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') | html %][% SUBFIELD_LOO.marc_subfield |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') | html %]"
112                     [% FOREACH marc_value IN SUBFIELD_LOO.marc_values %]
113                         ,"[% marc_value |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') | html %]"
114                     [% END %]
115                     );
116                 [% END %]
117                 var indicators = field_start.getElementsByClassName('indicator flat');
118                 [% IF update_ind1 %]
119                     indicators[0].value="[% indicator1 | html %]";
120                 [% END %]
121                 [% IF update_ind2 %]
122                     indicators[1].value="[% indicator2 | html %]";
123                 [% END %]
124             [% END %]
125
126             // browse all its subfields (clear and $9)
127             var subfields = field_start.getElementsByTagName('input');
128             var re = /^tag_\d*_code_/;
129             for(var i=0, len = subfields.length ; i< len ; i++) { // browse all subfields
130                 if(subfields[i].hasAttribute('name') == 0 ) {continue; }  // div elements specific to Select2
131                 if(subfields[i].getAttribute('name').match(re)){ // it s a subfield
132                     var code     = subfields[i];   // code is the first input
133                     var subfield = subfields[i+1]; // subfield the second
134
135                 [% IF ( clear ) %]
136                     if (subfield){subfield.value="" ;}
137                 [% ELSE %]
138                     if(code.value=='9'){
139                         subfield.value = "[% authid |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') | html %]";
140                         break;
141                     }
142                 [% END %]
143                 }
144             }
145             [% END %]
146
147             opener.close();
148             window.close();
149             return false;
150         });
151     </script>
152 [% END %]
153
154 [% INCLUDE 'intranet-bottom.inc' popup_window = 1 %]