FEAT Introduced the save button

This commit is contained in:
Antoine M 2025-04-09 09:44:45 +02:00
parent 8faa096529
commit 86d4e24a34

View File

@ -133,11 +133,60 @@ add_action('edit_form_after_title', function () {
$return_to = isset($_GET['return_to']) ? $_GET['return_to'] : '';
$edit_artisan_link = get_edit_post_link($linked_artisan_id);
?>
<?php if ($return_to) : ?>
<a href="<?php echo esc_url($return_to) ?>" class="edit-fiche-artisan-link"><img src='<?php echo get_stylesheet_directory_uri() . '/resources/img/icons/tools.svg' ?>' /> Voir la fiche de l'artisan </a>
<?php elseif ($linked_artisan_id) : ?>
<a href="<?php echo esc_url($edit_artisan_link) ?>" class="edit-fiche-artisan-link"><img src='<?php echo get_stylesheet_directory_uri() . '/resources/img/icons/tools.svg' ?>' /> Voir la fiche de l'artisan </a>
<?php endif; ?>
<div id="post-custom-superior-toolbar">
<?php if ($return_to) : ?>
<a href="<?php echo esc_url($return_to) ?>" class="edit-fiche-artisan-link"><img src='<?php echo get_stylesheet_directory_uri() . '/resources/img/icons/tools.svg' ?>' /> Voir la fiche de l'artisan </a>
<?php elseif ($linked_artisan_id) : ?>
<a href="<?php echo esc_url($edit_artisan_link) ?>" class="edit-fiche-artisan-link"><img src='<?php echo get_stylesheet_directory_uri() . '/resources/img/icons/tools.svg' ?>' /> Voir la fiche de l'artisan </a>
<?php endif; ?>
<div id="save-post-custom">
<button class="">Sauvegarder</button>
<span class="spinner"></span>
</div>
</div>
<script>
jQuery(function($) {
$('#save-post-custom').on('click', function(e) {
e.preventDefault();
const $button = $(this.querySelector('button'));
const $spinner = $(this.querySelector('.spinner'));
// Désactiver le bouton et changer le texte
$button.prop('disabled', true).text('Sauvegarde en cours...');
$spinner.show();
$spinner.addClass('is-active');
// Déclencher la sauvegarde
$('#publish').trigger('click');
// Vérifier les erreurs ACF après un court délai
setTimeout(function() {
// Vérifier s'il y a des messages d'erreur ACF
if ($('.acf-notice.-error').length > 0) {
// Réinitialiser le bouton immédiatement si une erreur est détectée
$button.prop('disabled', false).text('Sauvegarder');
$spinner.hide();
$spinner.removeClass('is-active');
}
}, 2000);
// Réactiver le bouton et restaurer le texte après un délai plus long
// (ceci ne s'exécutera que si la page n'est pas rechargée)
setTimeout(function() {
$button.prop('disabled', false).text('Sauvegarder');
$spinner.hide();
$spinner.removeClass('is-active');
}, 20000);
});
});
</script>
<?php
}
});
/* ---------------------------------------
CUSTOM TOP CONTENT AFTER POST TYPE TITLE
------------------------------------------*/