HEX
Server: Apache
System: Linux webm010.cluster127.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: alloesb (202139)
PHP: 8.3.31
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/a/l/l/alloesb/www/wp-content/plugins/wp-job-manager-locations/assets/js/main.js
(function($) {
	'use strict';

	var jobRegions = {
		cache: {
			$document: $(document),
			$window: $(window),
		},

		init: function() {
			this.bindEvents();
		},

		bindEvents: function() {
			var self = this;

			this.cache.$document.on( 'ready', function() {
				self.$forms = $( '.search_jobs' );

				if ( typeof job_manager_select2_args === "undefined" ) {
					this.select2_args = {};
				} else {
					this.select2_args = job_manager_select2_args;
				}

				this.select2_args['allowClear']              = true;
				this.select2_args['minimumResultsForSearch'] = 10;

				self.addSubmission();
				self.addRegions();
				self.updateResults();
				self.resetResults();
			});
		},

		addSubmission: function() {
			if ( $.isFunction($.fn.chosen) ) {
				$( '#job_region, #resume_region' ).chosen( {
					search_contains: true,
				} );
			} else if( $.isFunction($.fn.select2) ) {
				$( '#job_region, #resume_region' ).select2( this.select2_args );
			}
		},

		addRegions: function() {
			this.$forms.each(function(i, el) {
				var wrapper = false;
				var $regions = $(el).find( 'select.search_region' );

				// Grab Listify's wrapper element.
				if ( $regions.parent().hasClass( 'select' ) ) {
					wrapper = true;
					$regions = $regions.parent();
				}

				if ( ! $regions.length ) {
					return;
				}

				var location = $(el).find( '.search_location' );
				location.html( '' );
				location.removeClass( 'search_location' ).addClass( 'search_region' );

				$regions.detach().appendTo(location);

				var args = {
						search_contains: true
				};

				if ( $.isFunction($.fn.chosen) ) {
					if ( ! wrapper ) {
						$regions.chosen( args );
					} else {
						$regions.children( 'select' ).chosen( args );
					}
				} else {
					if ( ! wrapper ) {
						$regions.select2( this.select2_args );
					} else {
						$regions.children( 'select' ).select2( this.select2_args );
					}
				}
			});
		},

		updateResults: function() {
			this.$forms.each(function(i, el) {
				var region = $(this).find( '.search_region' );

				region.on( 'change', function() {
					var target = $(this).closest( 'div.job_listings' );

					target.trigger( 'update_results', [ 1, false ] );
				});
			});
		},

		resetResults: function() {
			var self = this;

			$( '.job_listings' ).on( 'reset', function() {
				self.$forms.each(function(i, el) {
					var $regions = $(el).find( 'select.search_region' );
					$regions.val(0).trigger( 'change' ).trigger( 'chosen:updated' );
				});
			});
		}
	};

	jobRegions.init();
	
	var resumeRegions = {
		cache: {
			$document: $(document),
			$window: $(window),
		},

		init: function() {
			this.bindEvents();
		},

		bindEvents: function() {
			var self = this;

			this.cache.$document.on( 'ready', function() {
				self.$forms = $( '.search_resumes' );

				self.addSubmission();
				self.addRegions();
				self.updateResults();
				self.resetResults();
			});
		},

		addSubmission: function() {		
			var filter_id = $( '#job_region, #resume_region' );
			if(filter_id.length){		 
				filter_id.chosen({
					search_contains: true
				});			
			}		
		},

		addRegions: function() {
			this.$forms.each(function(i, el) {
				var wrapper = false;
				var $regions = $(el).find( 'select.search_region' );

				// Grab Listify's wrapper element.
				if ( $regions.parent().hasClass( 'select' ) ) {
					wrapper = true;
					$regions = $regions.parent();
				}

				if ( ! $regions.length ) {
					return;
				}

				var location = $(el).find( '.search_location' );
				location.html( '' );
				location.removeClass( 'search_location' ).addClass( 'search_region' );

				$regions.detach().appendTo(location);

				var args = {
						search_contains: true
				};

				if ( ! wrapper ) {
					$regions.chosen( args );
				} else {
					$regions.children( 'select' ).chosen( args );
				}
			});
		},

		updateResults: function() {
			this.$forms.each(function(i, el) {
				var region = $(this).find( '.search_region' );

				region.on( 'change', function() {
					var target = $(this).closest( 'div.resumes' );

					target.trigger( 'update_results', [ 1, false ] );
				});
			});
		},

		resetResults: function() {
			var self = this;

			$( '.resumes' ).on( 'reset', function() {
				self.$forms.each(function(i, el) {
					var $regions = $(el).find( 'select.search_region' );
					$regions.val(0).trigger( 'change' ).trigger( 'chosen:updated' );
				});
			});
		}
	};

	resumeRegions.init();

})(jQuery);