HEX
Server: Apache/2.4.65 (Debian)
System: Linux kubikelcreative 5.10.0-35-amd64 #1 SMP Debian 5.10.237-1 (2025-05-19) x86_64
User: www-data (33)
PHP: 8.4.13
Disabled: NONE
Upload Files
File: /var/www/gosurya-id/wp-content/plugins/woo-image-seo/assets/settings.js
jQuery(document).ready(function($) {
	// @var applyDefaultSettings modifies the back-end logic to render the "form-settings" partial
	function ajaxSaveForm(data) {
		jQuery.ajax({
			type: 'POST',
			url: window.ajaxurl,
			data: data,
			beforeSend: successMessageSaving,
			success: function (response) {
				successMessageSaved()

				if (data.hasOwnProperty('apply_default_settings')) {
					jQuery('#woo_image_seo_form').html(response)
				}
			},
			error: ajaxErrorHandle
		})
	}

	function successMessageSaving() {
		var $successMessage = jQuery('#post-success');

		$successMessage.text($successMessage.data('saving')).fadeIn()
	}

	function successMessageSaved() {
		var $successMessage = jQuery('#post-success');

		$successMessage.text($successMessage.data('saved')).addClass('bg-green')

		window.setTimeout(function () {
			$successMessage.fadeOut()
		}, 2000)
	}

	function ajaxErrorHandle(jqXhr, textStatus, errorThrown) {
		console.log(errorThrown)

		var $successMessage = jQuery('#post-success');

		$successMessage.text('ERROR!')

		window.setTimeout(function () {
			$successMessage.fadeOut()
		}, 2000)
	}

	function settingsFormSubmitHandle(event) {
		event.preventDefault()

		ajaxSaveForm(jQuery(this).serialize())
	}

	function settingsFormResetHandle() {
		var $resetSettingsButton = $(this);

		$resetSettingsButton.blur()

		if (!window.confirm($resetSettingsButton.data('confirm'))) {
			return
		}

		ajaxSaveForm({
			action: saveAction,
			_wpnonce: saveActionNonce,
			_wp_http_referer: saveActionReferer,
			apply_default_settings: true,
		})
	}

	function feedbackFormSubmitHandle(event) {
		event.preventDefault()

		var $feedbackSubmit = jQuery(this).find('input[type="submit"]');
		var $feedbackFormBody = jQuery(this).find('.form__body');

		jQuery.ajax({
			type: 'POST',
			url: window.ajaxurl,
			data: jQuery(this).serialize(),
			beforeSend: function() {
				$feedbackSubmit.replaceWith(`<strong>${$feedbackSubmit.data('submitting')}</strong>`)
			},
			success: function() {
				$feedbackFormBody.html(`${$feedbackFormBody.data('sent')}<br>${$feedbackFormBody.data('thanks')}`)
			},
			error: ajaxErrorHandle
		})
	}

	function helpIconClickHandle(event) {
		event.preventDefault()
		event.stopPropagation()

		var $target = jQuery(this.hash)
		var $helpBackground = jQuery('#help-background')

		$helpBackground.fadeIn()
		$target.fadeIn()

		$helpBackground.click(function() {
			$helpBackground.fadeOut()
			$target.fadeOut()
		})
	}

	var saveAction = jQuery('#woo_image_seo_form [name="action"]').val();
	var saveActionNonce = jQuery('#woo_image_seo_form [name="_wpnonce"]').val();
	var saveActionReferer = jQuery('#woo_image_seo_form [name="_wp_http_referer"]').val();

	var $wrapper = jQuery('#woo_image_seo');

	// save settings on form submit
	$wrapper.on('submit', '#woo_image_seo_form', settingsFormSubmitHandle);

	// reset settings on button click
	$wrapper.on('click', '#reset-settings', settingsFormResetHandle);

	// submit feedback form
	$wrapper.on('submit', '#woo_image_seo_feedback', feedbackFormSubmitHandle);

	// show help modal on icon click
	$wrapper.on('click', 'a.dashicons-editor-help, a.help-trigger', helpIconClickHandle)

	// add helper classes for better accessibility
	$('body').on('mousedown', function() {
		this.classList.add('no-focus');
	}).on('keydown', function() {
		this.classList.remove('no-focus');
	});
})