1var WPJB = WPJB || {}; 2 3WPJB.execute = function(functionName, context /*, args */) { 4 var args = [].slice.call(arguments).splice(2); 5 var namespaces = functionName.split("."); 6 var func = namespaces.pop(); 7 for(var i = 0; i < namespaces.length; i++) { 8 context = context[namespaces[i]]; 9 } 10 return context[func].apply(context, args); 11} 12 13WPJB.form = function( selector ) { 14 15 this.form = selector; 16 17 this.addError = function(message) { 18 var $ = jQuery; 19 var error = $("<div></div>"); 20 error.addClass("wpjb-flash-error"); 21 error.append($("<span></span>").addClass("wpjb-glyphs wpjb-icon-attention")); 22 error.append($("<span></span>").text(message)); 23 24 $(this.form).prepend(error); 25 }; 26 27 this.addFieldError = function(field, message) { 28 var $ = jQuery; 29 var row = $(this.form + " " + field); 30 31 row.addClass("wpjb-error"); 32 33 if(row.find(".wpjb-errors").length == 0) { 34 row.find(".wpjb-field").append($("<ul></ul>").addClass("wpjb-errors")); 35 } 36 37 row.find(".wpjb-errors").append($("<li></li>").text(message)); 38 }; 39 40 this.clearErrors = function() { 41 var $ = jQuery; 42 $(this.form).find(".wpjb-flash-error").remove(); 43 $(this.form).find(".wpjb-errors").remove(); 44 $(this.form).find(".wpjb-error").removeClass("wpjb-error"); 45 }; 46} 47 48jQuery(function($) { 49 50 if($(".wpjb-date-picker, .daq-date-picker").length == 0) { 51 return; 52 } 53 54 $(".wpjb-date-picker, .daq-date-picker").each(function(index, item) { 55 var $item = $(item); 56 var yearRange = "c-10:c+10"; 57 58 if($item.data("year-range") && $item.data("year-range").length > 0) { 59 yearRange = $item.data("year-range"); 60 } 61 62 var data = { 63 dateFormat: WpjbData.datepicker_date_format, 64 yearRange: yearRange, 65 changeMonth: false, 66 changeYear: true 67 }; 68 69 if($item.data("date-min") && $item.data("date-min").length > 0) { 70 data.minDate = wpjb_get_date_formatted($item.data("date-min")); 71 } 72 73 if($item.data("date-max") && $item.data("date-max").length > 0) { 74 data.maxDate = wpjb_get_date_formatted($item.data("date-max")); 75 } 76 77 $item.datepicker(data); 78 }); 79 80}); 81 82function wpjb_get_date_formatted(str) { 83 const regex = /^\d{4}-\d{2}-\d{2}$/; 84 if (!regex.test(str)) { 85 return str; 86 } 87 88 const date = new Date(str); 89 const [year, month, day] = str.split('-').map(Number); 90 91 if ( 92 date.getFullYear() === year && 93 date.getMonth() === month - 1 && 94 date.getDate() === day 95 ) { 96 return date; 97 } else { 98 return str; 99 } 100} 101 102jQuery(function($) { 103 104 if(! $.isFunction($.fn.selectList)) { 105 return; 106 } 107 108 $(".daq-multiselect").selectList({ 109 sort: false, 110 template: '<li class="wpjb-upload-item">%text%</li>', 111 onAdd: function (select, value, text) { 112 113 if(value.length == 0) { 114 $(select).parent().find(".selectlist-item:last-child") 115 .css("display", "none") 116 .click(); 117 } 118 119 $(select).next().val(""); 120 } 121 }); 122 $(".daq-multiselect").each(function(index, item) { 123 if($(item).find("option[selected=selected]").length == 0) { 124 $(item).prepend('<option value="" selected="selected"> </option>'); 125 } 126 }); 127}); 128 129(function($) { 130 $.fn.wpjb_menu = function(options) { 131 132 // merge default options with user options 133 var settings = $.extend({ 134 position: "left", 135 classes: "wpjb-dropdown wpjb-dropdown-shadow", 136 postfix: "-menu" 137 }, options); 138 139 return this.each(function() { 140 141 var menu = $(this); 142 var img = menu.find("img"); 143 var ul = menu.find("ul"); 144 145 //var id = $(this).attr("id"); 146 var menuId = ul.attr("id"); 147 148 $("html").click(function() { 149 $("#"+menuId).hide(); 150 $("#"+menuId+"-img").removeClass("wpjb-dropdown-open"); 151 }); 152 153 ul.find("li a").hover(function() { 154 $(this).addClass("wpjb-hover"); 155 }, function() { 156 $(this).removeClass("wpjb-hover"); 157 }); 158 159 ul.hide(); 160 $(this).after(ul); 161 $(this).click(function(e) { 162 var dd = $("#"+menuId); 163 var visible = dd.is(":visible"); 164 dd.css("position", "absolute"); 165 dd.css("margin", "0"); 166 dd.css("padding", "0"); 167 168 $("html").click(); 169 170 img.addClass("wpjb-dropdown-open"); 171 172 var parent = $(this).position(); 173 var parent_width = $(this).width(); 174 175 //dd.css("top", parent.top+$(this).height()); 176 177 if(settings.position == "left") { 178 dd.css("left", parent.left); 179 } else { 180 dd.show(); 181 dd.css("left", parent.left+parent_width-dd.width()); 182 } 183 184 if(visible) { 185 dd.hide(); 186 } else { 187 dd.show(); 188 } 189 190 e.stopPropagation(); 191 e.preventDefault(); 192 }); 193 }); 194 195 196 } 197})(jQuery); 198 199jQuery(function() { 200 201 if(jQuery("input#protection").length > 0) { 202 jQuery("input#protection").attr("value", WpjbData.Protection); 203 } 204 205 if(jQuery(".wpjb_apply_form").length > 0) { 206 var hd = jQuery('<input type="hidden" />'); 207 hd.attr("name", "protection"); 208 hd.attr("value", WpjbData.Protection); 209 jQuery(".wpjb_apply_form").append(hd); 210 } 211}); 212 213jQuery(function() { 214 215 var autoClear = jQuery("input.wpjb-auto-clear"); 216 217 autoClear.each(function(index, item) { 218 var input = jQuery(item); 219 input.attr("autocomplete", "off"); 220 input.attr("wpjbdef", input.val()); 221 input.addClass("wpjb-ac-enabled"); 222 }); 223 224 autoClear.keydown(function() { 225 jQuery(this).removeClass("wpjb-ac-enabled"); 226 }); 227 228 autoClear.focus(function() { 229 var input = jQuery(this); 230 231 if(input.val() == input.attr("wpjbdef")) { 232 input.val(""); 233 input.addClass("wpjb-ac-enabled"); 234 } 235 236 }); 237 238 autoClear.blur(function() { 239 var input = jQuery(this); 240 input.removeClass("wpjb-ac-enabled"); 241 242 if(input.val() == "") { 243 input.val(input.attr("wpjbdef")); 244 input.addClass("wpjb-ac-enabled"); 245 } 246 }); 247 248 autoClear.closest("form").submit(function() { 249 autoClear.unbind("click"); 250 if(autoClear.val() == autoClear.attr("wpjbdef")) { 251 autoClear.val(""); 252 } 253 }); 254 255}); 256 257jQuery(function($) {
258 $(".wpjb-form-toggle").click(function(event) { 259 var id = $(this).data("wpjb-form"); 260 261 if(!id) { 262 id = $(this).attr("data-wpjb-form"); 263 } 264 265 $(this).find(".wpjb-slide-icon").toggleClass("wpjb-slide-up"); 266 267 $("#"+id).slideToggle("fast", function() { 268 if(typeof WPJB.upload == 'object') WPJB.upload.refresh(); 269 }); 270 return false; 271 }); 272 $(".wpjb-slide-icon").removeClass("wpjb-none"); 273}); 274 275jQuery(function($) { 276 $(".wpjb-subscribe").click(function() { 277 278 $("#wpjb-overlay").show(); 279 280 //$("#wpjb-overlay").css("height", $(document).height()); 281 //$("#wpjb-overlay").css("width", $(document).width()); 282 283 284 return false; 285 }); 286 287 $(".wpjb-overlay-close").click(function() { 288 $(this).closest(".wpjb-overlay").hide(); 289 return false; 290 }); 291 $(".wpjb-overlay").click(function() { 292 $(this).hide(); 293 return false; 294 }); 295 $(".wpjb-overlay > div").click(function(e) { 296 e.stopPropagation(); 297 }); 298 $(".wpjb-subscribe-save").click(function(e) { 299 300 e.preventDefault(); 301 302 if(typeof WPJB_SEARCH_CRITERIA === 'undefined' || WPJB_SEARCH_CRITERIA == "") { 303 304 WPJB_SEARCH_CRITERIA = { 305 'filter' : 'active', 306 'query' : $(".wpjb-ls-query").val(), 307 'category' : $(".wpjb-ls-category").val(), 308 'type' : $(".wpjb-ls-type").val(), 309 } 310 } 311 312 var data = { 313 action: "wpjb_main_subscribe", 314 email: $("#wpjb-subscribe-email").val(), 315 frequency: $(".wpjb-subscribe-frequency:checked").val(), 316 criteria: WPJB_SEARCH_CRITERIA 317 }; 318 319 $(".wpjb-subscribe-save").hide(); 320 $(".wpjb-subscribe-load").show(); 321 322 $.post(ajaxurl, data, function(response) { 323 324 $(".wpjb-subscribe-load").hide(); 325 326 var span = $(".wpjb-subscribe-result"); 327 328 span.css("display", "block"); 329 span.text(response.msg); 330 span.removeClass("wpjb-subscribe-success"); 331 span.removeClass("wpjb-subscribe-fail"); 332 span.removeClass("wpjb-flash-info"); 333 span.removeClass("wpjb-flash-error"); 334 335 if(response.result == "1") { 336 span.addClass("wpjb-subscribe-success"); 337 span.addClass("wpjb-flash-info"); 338 $("#wpjb-subscribe-email").hide(); 339 } else { 340 span.addClass("wpjb-subscribe-fail"); 341 span.addClass("wpjb-flash-error"); 342 $(".wpjb-subscribe-save").show(); 343 344 } 345 }, "json"); 346 347 return false; 348 }); 349}); 350 351jQuery(function($) { 352 $(".wpjb-tooltip").click(function() { 353 if($(".wpjb-map-slider iframe").length==0) { 354 return false; 355 } 356 if($(".wpjb-map-slider iframe").attr("src").length == 0) { 357 $(".wpjb-map-slider iframe").attr("src", $(this).attr("href")); 358 $(".wpjb-map-slider iframe").fadeIn(); 359 } 360 $(".wpjb-map-slider").toggle(); 361 return false; 362 }); 363}); 364 365jQuery(function($) { 366 if($(".wpjb-form .switch-tmce").length>0) { 367 $(".wpjb-form .switch-tmce").closest("form").submit(function() { 368 $(this).find(".html-active .switch-tmce").click(); 369 }); 370 } 371}); 372 373jQuery(function($) { 374 $(".wpjb-refine-button").click(function(e) { 375 e.preventDefault(); 376 $(".wpjb-form-to-refine").slideToggle("fast"); 377 }); 378 379 $(".wpjb-refine-cancel").click(function(e) { 380 e.preventDefault(); 381 382 var field = $(this).data("wpjb-field-remove"); 383 var element = $(".wpjb-element-name-"+field); 384 385 if(element.find("input[type=text]").length > 0) { 386 element.find("input[type=text]").val(""); 387 } 388 if(element.find(".daq-multiselect-holder").length > 0) { 389 var v = $(this).data("wpjb-field-value"); 390 element.find("input[type=checkbox][value='"+v+"']").attr("checked", null).change(); 391 } 392 if(element.find("select").length > 0) { 393 element.find("select").val(""); 394 } 395 if(element.find("input[type=checkbox]").length > 0) { 396 var v = $(this).data("wpjb-field-value"); 397 element.find("input[type=checkbox][value='"+v+"']").attr("checked", null).change(); 398 } 399 if(element.find("input[type=radio]").length > 0) { 400 var v = $(this).data("wpjb-field-value"); 401 element.find("input[type=radio][value='"+v+"']").attr("checked", null).change(); 402 } 403 404 $(".wpjb-form-to-refine").submit(); 405 }); 406 407 $(".wpjb-form[method=get]").submit(function(e) { 408 var all_empty = true; 409 $(this).find('input, textarea, select').each(function(_, inp) { 410 if ($(inp).val() === '' || $(inp).val() === null) { 411 $(inp).attr("name", ""); 412 } else { 413 all_empty = true; 414 } 415 }); 416 if(all_empty) { 417 $(this).append('<input type="hidden" name="results" value="1" />'); 418 } 419 }); 420}); 421 422jQuery(function($) { 423 $(".wpjb-button-submit").on("click", function(e) { 424 e.preventDefault(); 425 jQuery(this).closest("form").submit(); 426 }); 427}); 428 429if(window.location.hash == "#wpjb-sent" && history.pushState) { 430 history.pushState('', document.title, window.location.pathname); 431} 432 433function wpjb_hide_scroll_hash() { 434 if(window.location.hash == "#wpjb-scroll" && history.pushState) { 435 history.pushState('', document.title, window.location.pathname); 436 } 437} 438 439jQuery(function($) { 440 441 $(".wpjb-candidate-remove-application-btn").click( function(e) { 442 e.preventDefault(); 443 var id = $(this).data("id"); 444 $(".wpjb-candidate-remove-application-box-"+id).show(); 445 }); 446 447 $(".wpjb-candidate-remove-application-cancel").click( function(e) { 448 e.preventDefault(); 449 var id = $(this).data("id"); 450 $(".wpjb-candidate-remove-application-box-"+id).hide(); 451 }); 452}); 453 454 455 456// live search livesearch 457 458var WPJB_SEARCH_CRITERIA = WPJB_SEARCH_CRITERIA || {}; 459var WpjbXHR = null; 460 461function wpjb_ls_jobs_init() { 462 463 var $ = jQuery; 464 465 466 $("#wpjb-top-search ul").css("width", "100%"); 467 $(".wpjb-top-search-submit").hide(); 468 469 $('#wpjb-top-search-form').on('change', 'select', function(e) { 470 471 //var f_name = $(this).attr("name"); 472 //var f_val = $(this).children("option:selected").val(); 473 474 $(this).blur(); 475 476 wpjb_ls_jobs(); 477 478 wpjbMapCallbacks.loadData.location = function(data) { 479 480 481 $.each( WPJB_SEARCH_CRITERIA, function( index, value ) { 482 data[index] = value; 483 } ); 484 //data[f_name] = f_val; 485 } 486 487 wpjb_map_load_data(); 488 489 return false;
490 }); 491 492 $('#wpjb-top-search-form').on('change', 'input[type="checkbox"]', function(e) { 493 494 var f_name = $(this).attr("name"); 495 var checkedVals = $('input[name="'+f_name+'"]:checked').map(function() { 496 return this.value; 497 }).get(); 498 499 $(this).blur(); 500 501 if( typeof wpjbMapCallbacks !== "undefined" ) { 502 wpjbMapCallbacks.loadData.location = function(data) { 503 data[f_name] = checkedVals; 504 } 505 } 506 507 wpjb_ls_jobs(); 508 509 if( typeof wpjbMapCallbacks !== "undefined" ) { 510 wpjb_map_load_data(); 511 } 512 return false; 513 }) 514 515 $('#wpjb-top-search-form').on('keyup', ':input', function(e) { 516 517 var f_name = $(this).attr("name"); 518 var f_val = $(this).val(); 519 520 if( typeof wpjbMapCallbacks !== "undefined" ) { 521 wpjbMapCallbacks.loadData.location = function(data) { 522 data[f_name] = f_val; 523 } 524 } 525 526 wpjb_ls_jobs(); 527 528 if( typeof wpjbMapCallbacks !== "undefined" ) { 529 wpjb_map_load_data(); 530 } 531 532 return false; 533 }); 534 535 /*$(".wpjb-ls-query, .wpjb-ls-location").keyup(function() { 536 wpjb_ls_jobs(); 537 }); 538 $(".wpjb-ls-type").change(function() { 539 wpjb_ls_jobs(); 540 return false; 541 });*/ 542 543 $(".wpjb-paginate-links").hide(); 544 545 wpjb_ls_jobs(); 546} 547 548function wpjb_ls_jobs(e) { 549 550 var $ = jQuery; 551 552 if(WpjbXHR) { 553 WpjbXHR.abort(); 554 } 555 556 var page = null; 557 558 if(typeof e == 'undefined') { 559 page = 1; 560 } else { 561 page = parseInt($(".wpjb-ls-load-more a.btn").data("wpjb-page")); 562 } 563 564 var data = $.extend({}, WPJB_SEARCH_CRITERIA); 565 data.action = "wpjb_jobs_search"; 566 data.page = page; 567 //data.type = []; 568 569 $('#wpjb-top-search-form select').each( function ( index ) { 570 571 var key = $(this).attr("name"); 572 var value = $(this).children("option:selected").val(); 573 574 if( typeof key !== "undefined" ) { 575 576 WPJB_SEARCH_CRITERIA[key] = value; 577 data[key] = value; 578 } 579 580 } ); 581 582 $('#wpjb-top-search-form input[type="checkbox"], input[type="radio"]').each( function ( index ) { 583 584 var key = $(this).attr("name"); 585 586 var checkedVals = $('#wpjb-top-search-form input[name="' + key + '"]:checked').map(function() { 587 return this.value; 588 }).get(); 589 590 if( typeof key !== "undefined" ) { 591 592 WPJB_SEARCH_CRITERIA[key] = checkedVals; 593 data[key] = checkedVals; 594 } 595 596 } ); 597 598 $('#wpjb-top-search-form input[type="text"]').each( function ( index ) { 599 600 var value = $(this).val(); 601 var key = $(this).attr("name"); 602 603 if( typeof key !== "undefined" ) { 604 605 WPJB_SEARCH_CRITERIA[key] = value; 606 data[key] = value; 607 } 608 609 } ); 610 611 $(".wpjb-job-list").css("opacity", "0.4"); 612 613 WpjbXHR = $.ajax({ 614 type: "POST", 615 data: data, 616 url: ajaxurl, 617 dataType: "json", 618 success: function(response) { 619 620 var total = parseInt(response.total); 621 var nextPage = parseInt(response.page)+1; 622 var perPage = parseInt(response.perPage); 623 var loaded = 0; 624 625 $(".wpjb-subscribe-rss input[name=feed]").val(response.url.feed); 626 $(".wpjb-subscribe-rss a.wpjb-button.btn").attr("href", response.url.feed); 627 628 if(total == 0) { 629 $(".wpjb-job-list").css("opacity", "1"); 630 $(".wpjb-job-list").html('<div>'+WpjbData.no_jobs_found+'</div>'); 631 return; 632 } 633 634 var more = perPage; 635 636 if(nextPage == 2) { 637 $(".wpjb-job-list").empty(); 638 } 639 640 $(".wpjb-job-list .wpjb-ls-load-more").remove(); 641 $(".wpjb-job-list").css("opacity", "1"); 642 $(".wpjb-job-list").append(response.html); 643 644 loaded = $(".wpjb-job-list").children().length; 645 646 var delta = total-loaded; 647 648 if(delta > perPage) { 649 more = perPage; 650 } else if(delta > 0) { 651 more = delta; 652 } else { 653 more = 0; 654 } 655 656 if(more) { 657 var txt = WpjbData.load_x_more.replace("%d", more); 658 var loadMoreHtml = ""; 659 660 if($(".wpjb-job-list").prop("tagName") == "TBODY") {
661 loadMoreHtml = '<tr class="wpjb-ls-load-more"><td colspan="3"><a href="#" data-wpjb-page="'+(nextPage)+'" class="btn">'+txt+'</a></td></tr>'; 662 } else { 663 loadMoreHtml = '<div class="wpjb-ls-load-more"><a href="#" data-wpjb-page="'+(nextPage)+'" class="wpjb-button btn">'+txt+'</a></div>'; 664 } 665 666 $(".wpjb-job-list").append(loadMoreHtml); 667 $(".wpjb-job-list .wpjb-ls-load-more a").click(wpjb_ls_jobs); 668 } 669 670 } 671 }); 672 673 return false; 674} 675 676/** 677 * Repositions $path 678 * 679 * @deprecated No longer needed since version 4.4.4 680 * @param string $path jQuery selector 681 * @returns Null 682 */ 683function wpjb_overlay_reposition(path) { 684 // do nothing 685} 686 687// Job Details Page 688var WPJB_ALREADY_SENT = false; 689jQuery(function($) { 690 if($("form#wpjb-apply-form").length === 1) { 691 $("form#wpjb-apply-form").on("submit", function(e) { 692 if(WPJB_ALREADY_SENT===true) { 693 e.preventDefault(); 694 return; 695 } 696 697 $(this).find("input[type=submit]").prop("disabled", true); 698 WPJB_ALREADY_SENT = true; 699 }); 700 701 } 702});
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.