1 /* global dataTablesDefaults */
2 $(document).ready(function() {
3 var tabs = $('#subfieldtabs').tabs();
5 tabs.find( ".ui-tabs-nav" ).sortable({
7 start: function (e, ui) {
8 current_index = $(ui.item[0]).index();
10 stop: function (e, ui) {
11 var new_index = $(ui.item[0]).index();
12 if (current_index < new_index) new_index++;
13 var subfield_code = $(ui.item[0]).attr('id').replace( /^tab_subfield_/, '');
14 var content = $('#sub' + subfield_code + 'field');
15 var panels = $("#subfieldtabs > div");
16 if ( new_index < $(panels).size() ){
17 $(content).insertBefore($("#subfieldtabs > div")[new_index]);
19 $(content).insertAfter($("#subfieldtabs > div")[new_index-1]);
24 $("input[id^='hidden_']").click(setHiddenValue);
25 $("input[id^='hidden-']").each(function() {
26 populateHiddenCheckboxes($(this).attr('id').split('-')[1]);
28 $("#table_marcsubfieldstructure").dataTable($.extend(true, {}, dataTablesDefaults, {
30 { 'sortable': false, 'targets': [ 'NoSort' ] }
37 /* Function to enable/disable hidden values checkboxes when Flag is (de)selected */
38 function enable_cb(tab) {
39 if ($("#hidden_flagged_" + tab).is(':checked')) {
40 $('.inclusive_' + tab).prop('disabled', true).prop('checked', false);
43 $('.inclusive_' + tab).prop('disabled', false);
47 /* Function to serialize and set the 'hidden' field */
48 function setHiddenValue() {
50 var tab = $(this).attr('id').split('_')[2];
51 var flagged_checked = $("#hidden_flagged_" + tab).is(':checked');
52 var opac_checked = $("#hidden_opac_" + tab).is(':checked');
53 var intranet_checked = $("#hidden_intranet_" + tab).is(':checked');
54 var editor_checked = $("#hidden_editor_" + tab).is(':checked');
55 var collapsed_checked = $("#hidden_collapsed_" + tab).is(':checked');
56 var hidden_value = "";
58 if ( flagged_checked ) {
60 } else if ( opac_checked && ! intranet_checked && ! editor_checked && collapsed_checked ) {
62 } else if ( opac_checked && intranet_checked && ! editor_checked && ! collapsed_checked) {
64 } else if ( opac_checked && intranet_checked && ! editor_checked && collapsed_checked) {
66 } else if ( opac_checked && ! intranet_checked && ! editor_checked && ! collapsed_checked) {
68 } else if ( opac_checked && ! intranet_checked && editor_checked && collapsed_checked) {
70 } else if ( opac_checked && ! intranet_checked && editor_checked && ! collapsed_checked) {
72 } else if ( opac_checked && intranet_checked && editor_checked && collapsed_checked) {
74 } else if ( opac_checked && intranet_checked && editor_checked && ! collapsed_checked) {
76 } else if ( ! opac_checked && intranet_checked && editor_checked && collapsed_checked) {
78 } else if ( ! opac_checked && ! intranet_checked && editor_checked && ! collapsed_checked) {
80 } else if ( ! opac_checked && ! intranet_checked && editor_checked && collapsed_checked) {
82 } else if ( ! opac_checked && intranet_checked && editor_checked && ! collapsed_checked) {
84 } else if ( ! opac_checked && ! intranet_checked && ! editor_checked && collapsed_checked) {
86 } else if ( ! opac_checked && intranet_checked && ! editor_checked && ! collapsed_checked) {
88 } else if ( ! opac_checked && intranet_checked && ! editor_checked && collapsed_checked) {
90 } else if ( ! opac_checked && ! intranet_checked && ! editor_checked && ! collapsed_checked) {
94 var hidden_protected = $('#hidden-'+ tab).attr('data-koha-protected');
95 if ( hidden_protected != 1 ) {
99 $('#hidden-' + tab).val(hidden_value);
103 function populateHiddenCheckboxes(tab) {
104 // read the serialized value
105 var hidden_value = $('#hidden-' + tab).val();
106 var hidden_protected = $('#hidden-'+ tab).attr('data-koha-protected');
108 var opac_checked = false;
109 var intranet_checked = false;
110 var editor_checked = false;
111 var collapsed_checked = false;
112 var flagged_checked = false;
114 if ( hidden_value == '-8' ) {
115 flagged_checked = true;
116 } else if ( hidden_value == '-7') {
118 collapsed_checked = true;
119 } else if ( hidden_value == '-6' ) {
121 intranet_checked = true;
122 } else if ( hidden_value == '-5') {
124 intranet_checked = true;
125 collapsed_checked = true;
126 } else if ( hidden_value == '-4' ) {
128 } else if ( hidden_value == '-3') {
130 editor_checked = true;
131 collapsed_checked = true;
132 } else if ( hidden_value == '-2' ) {
134 editor_checked = true;
135 } else if ( hidden_value == '-1' ) {
137 intranet_checked = true;
138 editor_checked = true;
139 collapsed_checked = true;
140 } else if ( hidden_value == '0' ) {
142 intranet_checked = true;
143 editor_checked = true;
144 } else if ( hidden_value == '1' ) {
145 intranet_checked = true;
146 editor_checked = true;
147 collapsed_checked = true;
148 } else if ( hidden_value == '2' ) {
149 editor_checked = true;
150 } else if ( hidden_value == '3' ) {
151 editor_checked = true;
152 collapsed_checked = true;
153 } else if ( hidden_value == '4' ) {
154 intranet_checked = true;
155 editor_checked = true;
156 } else if ( hidden_value == '5' ) {
157 collapsed_checked = true;
158 } else if ( hidden_value == '6' ) {
159 intranet_checked = true;
160 } else if ( hidden_value == '7' ) {
161 intranet_checked = true;
162 collapsed_checked = true;
163 } // else if ( hidden_value == '8') { skip }
165 $("#hidden_opac_" + tab).prop('checked',opac_checked);
166 $("#hidden_intranet_" + tab).prop('checked',intranet_checked);
167 $("#hidden_editor_" + tab).prop('checked',editor_checked);
168 $("#hidden_collapsed_" + tab).prop('checked',collapsed_checked);
169 $("#hidden_flagged_" + tab).prop('checked',flagged_checked);
171 if ( hidden_protected == 1 ) {
172 $("#hidden_opac_" + tab).prop('disabled','disabled');
173 $("#hidden_intranet_" + tab).prop('disabled','disabled');
174 $("#hidden_editor_" + tab).prop('disabled','disabled');
175 $("#hidden_collapsed_" + tab).prop('disabled','disabled');
176 $("#hidden_flagged_" + tab).prop('disabled','disabled');