1$(document).ready(function(){ 2 3 // Sorting for result table 4 $('#filterEinsatzstelle').change(function () { 5 document.getElementById('azEinsatzstelle').submit(); 6 }); 7 8 $('.toggle-detailsearch').click(function () { 9 $(this).toggleClass('open'); 10 $(".togglebox-detailsearch").slideToggle(500).toggleClass('show-box'); 11 }, function () { 12 $(this).toggleClass('open'); 13 $(".togglebox-detailsearch").slideToggle(500).toggleClass('show-box'); 14 }); 15 16 // disable checkboxes if "alle" is checked 17 $('.tx-bfd-einsatzstellensuche .sectionBox').click(function () { 18 var checkboxAlle = $('#alle'); 19 var checkboxNotAlle = $('.sectionBox:not(#alle)'); 20 if(checkboxAlle.is(':checked')) 21 checkboxNotAlle.prop( "checked", false ).prop( "disabled", true ); 22 else 23 checkboxNotAlle.prop( "disabled", false ); 24 }); 25 26 // Updates results per page for list view 27 // submits form if another option is selected 28 $('form .filter-update').change(function () { 29 $(this).closest( "form" ).submit(); 30 }); 31 32 // Switch-Toggle für Verfügbarkeit von Einsatzstellen/Einsatzplätzen 33 var switchToggle = function(formId) { 34 35 var on = $('.on'); 36 var off = $('.off'); 37 var checkbox = $('.verfuegbarkeit-check'); 38 39 on.click(function () { 40 checkbox.prop('checked', true); 41 42 $(formId).submit(); 43 }); 44 45 off.click(function () { 46 checkbox.prop('checked', false); 47 $(formId).submit(); 48 }); 49 }; 50 51 if($('#updateStammdaten').length) { 52 switchToggle('#updateStammdaten'); 53 } 54 55 // Submit form for sorting 56 // @todo Diese Funktionalität darf nur für die Filter funktionieren, nicht für das Formular 57 // var submitForm = function (formId) { 58 // 59 // var select = $('select'); 60 // 61 // select.change(function () { 62 // $(formId).submit(); 63 // }); 64 // }; 65 66 // Buchstabenfilter 67 var filterSelect = $('#filterOrt'); 68 69 filterSelect.change(function() { 70 71 var url = filterSelect.attr('data-url'); 72 var selectedVal = filterSelect.val(); 73 var stringToReplace = 'zuErsetzenderBuchstabe'; 74 75 76 var urlWithParameter = url.replace(stringToReplace, selectedVal); 77 78 window.open(urlWithParameter); 79 80 // f:uri -> einsatzstellensuche-mit-karte/einsatzstelle-suchen.html?tx_bfdeinsatzstellensuche_einsatzstellensuche%5Bfeld%5D=ort&tx_bfdeinsatzstellensuche_einsatzstellensuche%5Bbuchstabe%5D=buchstabe&tx_bfdeinsatzstellensuche_einsatzstellensuche%5Baction%5D=filter&tx_bfdeinsatzstellensuche_einsatzstellensuche%5Bcontroller%5D=Suchen%5CEinsatzstellensuche&cHash=b17219dcc07eec14072fd1ad80b77fe7 81 // einsatzstellensuche-mit-karte/einsatzstelle-suchen.html?tx_bfdeinsatzstellensuche_einsatzstellensuche%5Bfeld%5D=ort&tx_bfdeinsatzstellensuche_einsatzstellensuche%5Bbuchstabe%5D=C&tx_bfdeinsatzstellensuche_einsatzstellensuche%5Baction%5D=filter&tx_bfdeinsatzstellensuche_einsatzstellensuche%5Bcontroller%5D=Suchen%5CEinsatzstellensuche&cHash=941fdca420583cb919878bbac7b26888 82 83 84 }); 85 86 87 if($('#az-einsatzstelle').length) { 88 submitForm('#az-einsatzstelle'); 89 } 90 91 if($( ".datepicker-field" ).length) { 92 $( function() { 93 $.datepicker.setDefaults($.datepicker.regional['de']); 94 $( ".datepicker-field.startdate" ).datepicker({ 95 // prevText: "zurück", 96 // nextText: "vor", 97 onSelect: function(selected) { 98 $(".datepicker-field.enddate").datepicker("option","minDate", selected) 99 } 100 }); 101 $( ".datepicker-field.enddate" ).datepicker({ 102 // prevText: "zurück", 103 // nextText: "vor", 104 minDate: 0 105 }); 106 }); 107 } 108 109 const checkboxeinsatzstelle = document.getElementById('geodatenManuell'); 110 111 document.addEventListener('DOMContentLoaded', function () { 112 if (checkboxeinsatzstelle.checked) { 113 document.getElementById('geodatenBreitengrad').readOnly = false 114 document.getElementById('geodatenLaengengrad').readOnly = false 115 } else { 116 document.getElementById('geodatenBreitengrad').readOnly = true 117 document.getElementById('geodatenLaengengrad').readOnly = true 118 } 119 }); 120 if (document.getElementById('geodatenManuell')) { 121 checkboxeinsatzstelle.addEventListener('change', function (event) { 122 if (event.target.checked) { 123 document.getElementById('geodatenBreitengrad').readOnly = false 124 document.getElementById('geodatenLaengengrad').readOnly = false 125 } else { 126 document.getElementById('geodatenBreitengrad').readOnly = true 127 document.getElementById('geodatenLaengengrad').readOnly = true 128 } 129 }); 130 } 131 132 133 var emptyModalHtml = '<div class="modaleinstazstellensuche fade" tabindex="-1" role="dialog">' + 134 ' <div class="modal-content">' + 135 ' <div class="modal-header">' + 136 ' <button type="button" class="close" data-dismiss="modal">×</button>' + 137 ' <h1>HEADLINE</h1>' + 138 ' </div>' + 139 ' <div class="modal-body">' + 140 ' Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.' + 141 ' </div>' + 142 ' <div class="modal-footer">' + 143 ' <button class="btn-sm btn-danger" data-dismiss="modal" aria-hidden="true">CANCEL</button>' + 144 ' <button class="btn btn-primary">OK</button>' + 145 ' </div>' + 146 ' </div>' + 147 '</div>'; 148 149 150 $('a.bfd-einsatzstellensuche-modal').click(function(event) { 151 152 event.preventDefault(); 153 154 // Fetching parameters 155 var _this = this, 156 cntHeadline = $(_this).data('modal-headline') || 'Das ist meine Ãberschrift', 157 cntCopytext = $(_this).data('modal-copytext') || '<p>Hallo. Ich bin ein <strong>kleiner</strong> Blindtext.<br>
157Und zwar schon so lange ich denken kann. Es war nicht leicht zu verstehen, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn. Wirklich keinen Sinn.</p>', 158 btnOkay = $(_this).data('modal-okay') || 'okay', 159 btnCancel = $(_this).data('modal-cancel') || 'cancel', 160 actUrl = $(_this).data('modal-action') || 'http://www.google.de' 161 ; 162 163 // Initialize 164 var modal = $(emptyModalHtml).hide(); 165 166 // Replace parameter 167 $(modal).find('.modal-header h1').text(cntHeadline); 168 $(modal).find('.modal-body').html(cntCopytext); 169 $(modal).find('.modal-footer .btn-primary').text(btnOkay); 170 $(modal).find('.modal-footer .btn-danger').text(btnCancel); 171 172 // Bind actions 173 $(modal).find('.modal-footer .btn-primary').click(function () { 174 location.href = actUrl; 175 }); 176 177 $(modal).on('hidden.bs.modal', function (e) { 178 $(modal).remove(); 179 }); 180 181 // Append 182 $(_this).closest( ".tx-bfd-einsatzstellensuche" ).append(modal); 183 184 // Show 185 $(modal).modal('show'); 186 }); 187
188 $('.tx-bfd-einsatzstellensuche a.collapse-all').click(function(event) { 189 event.preventDefault(); 190 $('.tx-bfd-einsatzstellensuche .collapse').collapse({ toggle: false }); 191 if ($(this).data('collapseall') === 'hidden') { 192 $('.tx-bfd-einsatzstellensuche .collapse').collapse('show'); 193 $(this).data('collapseall', 'shown'); 194 $(this).html($(this).data('texthide') + '<i class="fa fa-info-circle"></i>'); 195 } else { 196 $('.tx-bfd-einsatzstellensuche .collapse').collapse('hide'); 197 $(this).data('collapseall', 'hidden'); 198 $(this).html($(this).data('textshow') + '<i class="fa fa-info-circle"></i>'); 199 } 200 }); 201 202 // Common datepicker 203 $.datepicker.setDefaults($.datepicker.regional['de']); 204 $( ".datepicker" ).datepicker(); 205 206 /** 207 * Einsatzlpatz neu/bearbeiten magie 208 * 209 * Anforderung hierbei ist, einen Hinweistext einzublenden, der den "Spätester Dienstbeginn" 210 * mit Text anzeigt. Herausforderung ist, wenn das Formular einen Fehler besitzt und neu geladen wird, 211 * muss der Dienstbeginn via onLoad in den Hinweistext geschrieben werden, da dieser ggf. 212 * aus dem Form-Kontext kommt. Zudem darf es keinen Text geben, wenn es keinen Dienstbeginn gibt. 213 */ 214 let dienstBeginnVonFormField = '.tx-bfd-einsatzstellensuche #dienstbeginnVon', 215 dienstBeginnBisFormField = '.tx-bfd-einsatzstellensuche #dienstbeginnBis', 216 217 // Convert date object to string 218 dateConvertToGermanString = function (dateObject) { 219 let string = '', 220 dateDay = '', 221 dateMonth = ''; 222 223 if (typeof dateObject == 'object') { 224 dateDay = (dateObject.getDate().toString().length < 2) ? '0' + dateObject.getDate() : dateObject.getDate(); 225 dateMonth = parseInt(dateObject.getMonth().toString()) + 1; 226 dateMonth = dateMonth < 10 ? '0' + dateMonth : dateMonth; 227 string = dateDay + '.' + dateMonth + '.' + dateObject.getFullYear(); 228 } 229 return string; 230 }, 231 232 // Convert string to date object 233 dateConvertFromGermanString = function (dateString) { 234 let dateArray = dateString.split("."), 235 dateObject = null; 236 237 if (dateArray.length === 3) { 238 dateObject = new Date(dateArray[2], dateArray[1] - 1, dateArray[0], 0,0,0,0); 239 } 240 return dateObject; 241 }, 242 243 // Adding days to date object 244 dateAddDay = function (dateObject, day) { 245 let cloneDateObject = new Date(dateObject.getTime()), 246 milliseconds = cloneDateObject.setDate(cloneDateObject.getDate() + day); 247 return new Date(milliseconds); 248 }, 249 250 // Adding month to date object 251 dateAddMonth = function (dateObject, month) { 252 let cloneDateObject = new Date(dateObject.getTime()), 253 milliseconds = cloneDateObject.setMonth(cloneDateObject.getMonth() + month); 254 return new Date(milliseconds); 255 }, 256 257 // check if dateObjectBis > dateObjectVon + 6 month 258 checkIfBisLaterThanMax = function (dateObjectVon, dateObjectBis) { 259 let dateObjectMax = dateAddMonth(dateObjectVon, 6); 260 return dateObjectBis.getTime() > dateObjectMax; 261 }, 262 263 // show notice: later than 264 showNoticeLaterThan = function (dateObjectVon) { 265 let dateObjectMax = dateAddMonth(dateObjectVon, 6); 266 // hide expire notice if shown 267 $('.tx-bfd-einsatzstellensuche .notice-disable').hide(); 268 // update date 269 $('.tx-bfd-einsatzstellensuche .notice-later-than .dienstbeginnLaterThan').html( 270 dateConvertToGermanString(dateObjectMax) 271 ); 272 // show laterThan notice 273 if ($('.tx-bfd-einsatzstellensuche .notice-later-than').not(":visible")) { 274 $('.tx-bfd-einsatzstellensuche .notice-later-than').fadeIn(); 275 } 276 }, 277 278 // show notice: expire 279 showNoticeExpire = function (dateObjectBis) { 280 let dateObjectExpire = dateAddDay(dateObjectBis, 14); 281 // hide laterThan notice 282 $('.tx-bfd-einsatzstellensuche .notice-later-than').hide(); 283 // update date 284 $('.tx-bfd-einsatzstellensuche .notice-disable .dienstbeginnBisHinweis').html( 285 dateConvertToGermanString(dateObjectExpire) 286 ); 287 // show expire notice if shown 288 if ($('.tx-bfd-einsatzstellensuche .notice-disable').not(":visible")) { 289 $('#dienstbeginn-bis-info').collapse({ toggle: false }); 290 $('#dienstbeginn-bis-info').collapse('hide'); 291 $('.tx-bfd-einsatzstellensuche .notice-disable').fadeIn(); 292 } 293 }, 294 295 dienstbeginnIndicator = function () { 296 let dateObjectVon = dateConvertFromGermanString($(dienstBeginnVonFormField).val()), 297 dateObjectBis = dateConvertFromGermanString($(dienstBeginnBisFormField).val()), 298 datepickerEndDate = '.tx-bfd-einsatzstellensuche .datepicker-field.enddate'; 299 300 if (dateObjectVon !== null) { 301 let dateObjectMax = dateAddMonth(dateObjectVon, 6); 302 $(datepickerEndDate).datepicker("option", "minDate", dateConvertToGermanString(dateObjectVon)); 303 // $(datepickerEndDate).datepicker("option", "maxDate", dateConvertToGermanString(dateObjectMax)); 304 } 305 306 if (dateObjectVon !== null && dateObjectBis !== null) { 307 if (checkIfBisLaterThanMax(dateObjectVon, dateObjectBis)) { 308 showNoticeLaterThan(dateObjectVon); 309 } else { 310 showNoticeExpire(dateObjectBis); 311 } 312 } else { 313 $('.tx-bfd-einsatzstellensuche .notice-disable').hide(); 314 $('.tx-bfd-einsatzstellensuche .notice-later-than').hide(); 315 $(datepickerEndDate).datepicker("option", "minDate", null); 316 // $(datepickerEndDate).datepicker("option", "maxDate", null); 317 } 318 }; 319 320 if ( $(".tx-bfd-einsatzstellensuche form[name='formEinsatzplatz']").length ) { 321 322 // disable onSelect option 323 $('.tx-bfd-einsatzstellensuche .datepicker-field.startdate').datepicker({ 324 onSelect: null 325 }); 326 327 dienstbeginnIndicator(); 328
329 // onChange (Bei änderung des Feldes soll der Text geändert werden) 330 $(dienstBeginnVonFormField).change(function (event) { 331 dienstbeginnIndicator(); 332 }); 333 334 $(dienstBeginnBisFormField).change(function (event) { 335 dienstbeginnIndicator(); 336 }); 337 338 // Togle more link 339 $('#accDienstbeginnBisHinweis a').click(function (event) { 340 $('#accDienstbeginnBisHinweis').collapse('hide'); 341 $('.accDienstbeginnBisHinweis').addClass('collapsed'); 342 event.preventDefault(); 343 }); 344 } 345 346 // Show modal "stammdaten incomplete" if rendered 347 if (document.getElementById('bafza-est-incomplete')) { 348 $('#bafza-est-incomplete').modal('show'); 349 } 350 351}); 352 353function showOnClick(elementID) { 354 355 var element = $("#" + elementID); 356 element.toggleClass('show-foldout') 357 if (element.hasClass('show-foldout')) { 358 $('.toggle-map').find("i").removeClass("fa-caret-down") 359 $('.toggle-map').find("i").addClass("fa-caret-right") 360 $('.toggle-map').find("span").html(' Ergebnisse auf Karte anzeigen'); 361 element.animate({ 362 opacity: 0, 363 }, 1 ); 364 element.css("visibility","hidden"); 365 element.css("z-index","-9999"); 366 element.css("position","absolute"); 367 } else { 368 $('.toggle-map').find("i").removeClass("fa-caret-right") 369 $('.toggle-map').find("i").addClass("fa-caret-down") 370 $('.toggle-map').find("span").html(' Karte ausblenden'); 371 element.animate({ 372 opacity: 1, 373 }, 1500 ); 374 element.css("visibility","visible"); 375 element.css("z-index","1"); 376 element.css("position","relative"); 377 } 378 379}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.