Ask for confirmation before dropping changes or unregistering a player

This commit is contained in:
Claude Brisson
2024-04-10 09:13:23 +02:00
parent 7cef2e06fd
commit 6e5ea7168e
3 changed files with 78 additions and 59 deletions

View File

@@ -35,6 +35,7 @@ Delete Supprimer
Director Directeur Director Directeur
Download Télécharger Download Télécharger
Download the standalone web interface module which suits your need, then follow Télécharger le module dinterface web qui correspond à vos besoins, puis suivez Download the standalone web interface module which suits your need, then follow Télécharger le module dinterface web qui correspond à vos besoins, puis suivez
Drop changes? Abandonner les changements ?
Edit Éditer Edit Éditer
Encoding Encodage Encoding Encodage
Enter the magic word Entrer le mot magique Enter the magic word Entrer le mot magique
@@ -127,6 +128,7 @@ Tournament name Nom du tournoi
Tournament type Type de tournoi Tournament type Type de tournoi
Unpair Désapparier Unpair Désapparier
Unregister Désinscrire Unregister Désinscrire
Unregister this player? Désinscrire ce joueur ?
Update Mettre à jour Update Mettre à jour
We offer you the flexibility to use Nous vous offrons la flexibilité dutiliser We offer you the flexibility to use Nous vous offrons la flexibilité dutiliser
Welcome to Bienvenue sur Welcome to Bienvenue sur

View File

@@ -157,6 +157,12 @@ onLoad(() => {
}); });
$('#cancel-register').on('click', e => { $('#cancel-register').on('click', e => {
e.preventDefault(); e.preventDefault();
if ($('#player-form').hasClass('edit') && !$('#register').hasClass('disabled')) {
let confirmMessage = $('#drop-changes').text();
if (!confirm(confirmMessage)) {
return false;
}
}
close_modal(); close_modal();
searchHighlight = undefined; searchHighlight = undefined;
return false; return false;
@@ -246,6 +252,7 @@ onLoad(() => {
} }
form.removeClass('add'); form.removeClass('add');
$('#player').removeClass('create').addClass('edit'); $('#player').removeClass('create').addClass('edit');
$('#register').addClass('disabled');
modal('player'); modal('player');
} }
}); });
@@ -310,12 +317,15 @@ onLoad(() => {
$('#unregister').on('click', e => { $('#unregister').on('click', e => {
let form = $('#player-form')[0]; let form = $('#player-form')[0];
let id = form.val('id'); let id = form.val('id');
let confirmMessage = $('#unregister-player').text();
if (confirm(confirmMessage)) {
api.deleteJson(`tour/${tour_id}/part/${id}`) api.deleteJson(`tour/${tour_id}/part/${id}`)
.then(ret => { .then(ret => {
if (ret !== 'error') { if (ret !== 'error') {
window.location.reload(); window.location.reload();
} }
}); });
}
}); });
$('#reg-status').on('click', e => { $('#reg-status').on('click', e => {
let current = $('#final-reg').hasClass('final'); let current = $('#final-reg').hasClass('final');
@@ -429,4 +439,7 @@ onLoad(() => {
$('#browse-players').on('click', e => { $('#browse-players').on('click', e => {
search('*'); search('*');
}); });
$('.player-fields').on('change input', e => {
$('#register').removeClass('disabled');
});
}); });

View File

@@ -146,6 +146,7 @@
</div> </div>
<div id="search-result"></div> <div id="search-result"></div>
</div> </div>
<div class="player-fields">
<div class="two stackable fields"> <div class="two stackable fields">
<div class="eight wide field"> <div class="eight wide field">
<label>Family name</label> <label>Family name</label>
@@ -209,8 +210,9 @@
#end #end
</div> </div>
</div> </div>
</div>
<div class="popup-footer"> <div class="popup-footer">
<button id="cancel-register" type="button" class="ui gray right labeled icon floating close button"> <button id="cancel-register" type="button" class="ui gray right labeled icon floating button">
<i class="times icon"></i> <i class="times icon"></i>
<span class="edition">Close</span> <span class="edition">Close</span>
<span class="creation">Close</span> <span class="creation">Close</span>
@@ -288,6 +290,8 @@
</div> </div>
</div> </div>
#end #end
<div id="drop-changes" class="hidden">Drop changes?</div>
<div id="unregister-player" class="hidden">Unregister this player?</div>
#[[ #[[
<script id="result" type="text/template"> <script id="result" type="text/template">
{{for #data}} {{for #data}}