1 /* global dataTablesDefaults tagsubfield */
2 $(document).ready(function() {
3 if( tagsubfield && tagsubfield == "@"){
4 $("#subfieldtabs a[href='#subATfield']").tab("show");
5 } else if ( tagsubfield && tagsubfield != "@"){
6 $("#subfieldtabs a[href='#sub" + tagsubfield + "field'").tab("show");
8 $("#subfieldtabs a:first").tab("show");
12 $("#subfieldtabs > ul").sortable({
14 start: function (e, ui) {
15 current_index = $(ui.item[0]).index();
17 stop: function (e, ui) {
18 var new_index = $(ui.item[0]).index();
19 if (current_index < new_index) new_index++;
20 var subfield_code = $(ui.item[0]).attr('id').replace( /^tab_subfield_/, '');
21 var content = $('#sub' + subfield_code + 'field');
22 var panels = $("#subfieldtabs .tab-pane");
23 if ( new_index < $(panels).size() ){
24 $(content).insertBefore( panels[new_index]);
26 $(content).insertAfter( panels[new_index-1]);
31 $("input[id^='hidden_']").click(setHiddenValue);
32 $("input[id^='hidden-']").each(function() {
33 populateHiddenCheckboxes($(this).attr('id').split('-')[1]);
35 $("#table_marcsubfieldstructure").dataTable($.extend(true, {}, dataTablesDefaults, {
37 { 'sortable': false, 'targets': [ 'NoSort' ] }
44 /* Function to enable/disable hidden values checkboxes when Flag is (de)selected */
45 function enable_cb(tab) {
46 if ($("#hidden_flagged_" + tab).is(':checked')) {
47 $('.inclusive_' + tab).prop('disabled', true).prop('checked', false);
50 $('.inclusive_' + tab).prop('disabled', false);
54 /* Function to serialize and set the 'hidden' field */
55 function setHiddenValue() {
57 var tab = $(this).attr('id').split('_')[2];
58 var flagged_checked = $("#hidden_flagged_" + tab).is(':checked');
59 var opac_checked = $("#hidden_opac_" + tab).is(':checked');
60 var intranet_checked = $("#hidden_intranet_" + tab).is(':checked');
61 var editor_checked = $("#hidden_editor_" + tab).is(':checked');
62 var collapsed_checked = $("#hidden_collapsed_" + tab).is(':checked');
63 var hidden_value = "";
65 if ( flagged_checked ) {
67 } else if ( opac_checked && ! intranet_checked && ! editor_checked && collapsed_checked ) {
69 } else if ( opac_checked && intranet_checked && ! editor_checked && ! collapsed_checked) {
71 } else if ( opac_checked && intranet_checked && ! editor_checked && collapsed_checked) {
73 } else if ( opac_checked && ! intranet_checked && ! editor_checked && ! collapsed_checked) {
75 } else if ( opac_checked && ! intranet_checked && editor_checked && collapsed_checked) {
77 } else if ( opac_checked && ! intranet_checked && editor_checked && ! collapsed_checked) {
79 } else if ( opac_checked && intranet_checked && editor_checked && collapsed_checked) {
81 } else if ( opac_checked && intranet_checked && editor_checked && ! collapsed_checked) {
83 } else if ( ! opac_checked && intranet_checked && editor_checked && collapsed_checked) {
85 } else if ( ! opac_checked && ! intranet_checked && editor_checked && ! collapsed_checked) {
87 } else if ( ! opac_checked && ! intranet_checked && editor_checked && collapsed_checked) {
89 } else if ( ! opac_checked && intranet_checked && editor_checked && ! collapsed_checked) {
91 } else if ( ! opac_checked && ! intranet_checked && ! editor_checked && collapsed_checked) {
93 } else if ( ! opac_checked && intranet_checked && ! editor_checked && ! collapsed_checked) {
95 } else if ( ! opac_checked && intranet_checked && ! editor_checked && collapsed_checked) {
97 } else if ( ! opac_checked && ! intranet_checked && ! editor_checked && ! collapsed_checked) {
101 var hidden_protected = $('#hidden-'+ tab).attr('data-koha-protected');
102 if ( hidden_protected != 1 ) {
106 $('#hidden-' + tab).val(hidden_value);
110 function populateHiddenCheckboxes(tab) {
111 // read the serialized value
112 var hidden_value = $('#hidden-' + tab).val();
113 var hidden_protected = $('#hidden-'+ tab).attr('data-koha-protected');
115 var opac_checked = false;
116 var intranet_checked = false;
117 var editor_checked = false;
118 var collapsed_checked = false;
119 var flagged_checked = false;
121 if ( hidden_value == '-8' ) {
122 flagged_checked = true;
123 } else if ( hidden_value == '-7') {
125 collapsed_checked = true;
126 } else if ( hidden_value == '-6' ) {
128 intranet_checked = true;
129 } else if ( hidden_value == '-5') {
131 intranet_checked = true;
132 collapsed_checked = true;
133 } else if ( hidden_value == '-4' ) {
135 } else if ( hidden_value == '-3') {
137 editor_checked = true;
138 collapsed_checked = true;
139 } else if ( hidden_value == '-2' ) {
141 editor_checked = true;
142 } else if ( hidden_value == '-1' ) {
144 intranet_checked = true;
145 editor_checked = true;
146 collapsed_checked = true;
147 } else if ( hidden_value == '0' ) {
149 intranet_checked = true;
150 editor_checked = true;
151 } else if ( hidden_value == '1' ) {
152 intranet_checked = true;
153 editor_checked = true;
154 collapsed_checked = true;
155 } else if ( hidden_value == '2' ) {
156 editor_checked = true;
157 } else if ( hidden_value == '3' ) {
158 editor_checked = true;
159 collapsed_checked = true;
160 } else if ( hidden_value == '4' ) {
161 intranet_checked = true;
162 editor_checked = true;
163 } else if ( hidden_value == '5' ) {
164 collapsed_checked = true;
165 } else if ( hidden_value == '6' ) {
166 intranet_checked = true;
167 } else if ( hidden_value == '7' ) {
168 intranet_checked = true;
169 collapsed_checked = true;
170 } // else if ( hidden_value == '8') { skip }
172 $("#hidden_opac_" + tab).prop('checked',opac_checked);
173 $("#hidden_intranet_" + tab).prop('checked',intranet_checked);
174 $("#hidden_editor_" + tab).prop('checked',editor_checked);
175 $("#hidden_collapsed_" + tab).prop('checked',collapsed_checked);
176 $("#hidden_flagged_" + tab).prop('checked',flagged_checked);
178 if ( hidden_protected == 1 ) {
179 $("#hidden_opac_" + tab).prop('disabled','disabled');
180 $("#hidden_intranet_" + tab).prop('disabled','disabled');
181 $("#hidden_editor_" + tab).prop('disabled','disabled');
182 $("#hidden_collapsed_" + tab).prop('disabled','disabled');
183 $("#hidden_flagged_" + tab).prop('disabled','disabled');