Persistent dialog state and recap for registration, some fixes for printing pairing

This commit is contained in:
Claude Brisson
2024-01-21 16:37:19 +01:00
parent 8c719d2fc7
commit fdf39612ff
7 changed files with 75 additions and 24 deletions

View File

@@ -146,3 +146,4 @@ to à
unpairable players joueurs non disponibles
version 0.1 supports the version 0.1 supporte le système dappariement
white vs. black blanc vs. Noir
confirmed. confirmé(s).

View File

@@ -161,6 +161,7 @@ function modal(id) {
function close_modal() {
$('body').removeClass('dimmed');
$(`.popup`).removeClass('shown');
store('addingPlayers', false);
}
function downloadFile(blob, filename) {

View File

@@ -84,6 +84,26 @@ function fillPlayer(player) {
$('#register').focus();
}
function addPlayers() {
let form = $('#player-form')[0];
form.addClass('add');
// keep preliminary/final status
let status = form.val('final') || false;
form.reset();
// initial search checkboxes position
['countryFilter', 'aga', 'egf', 'ffg'].forEach(id => {
let value = store(id);
if (value !== null && typeof(value) !== 'undefined') {
$(`#${id}`)[0].checked = value;
}
});
form.val('final', status);
$('#player').removeClass('edit').addClass('create');
modal('player');
$('#needle').focus();
store('addingPlayers', true);
}
let tableSort;
onLoad(() => {
@@ -125,22 +145,7 @@ onLoad(() => {
});
$('#add').on('click', e => {
let form = $('#player-form')[0];
form.addClass('add');
// keep preliminary/final status
let status = form.val('final') || false;
form.reset();
// initial search checkboxes position
['countryFilter', 'aga', 'egf', 'ffg'].forEach(id => {
let value = store(id);
if (value !== null && typeof(value) !== 'undefined') {
$(`#${id}`)[0].checked = value;
}
});
form.val('final', status);
$('#player').removeClass('edit').addClass('create');
modal('player');
$('#needle').focus();
addPlayers();
});
$('#cancel-register').on('click', e => {
e.preventDefault();
@@ -309,4 +314,7 @@ onLoad(() => {
$('#filter')[0].value = '';
$('tbody > tr').removeClass('hidden');
});
if (store('addingPlayers')) {
addPlayers();
}
});

View File

@@ -1,15 +1,18 @@
#set($parts = $api.get("tour/${params.id}/part"))
#set($pmap = $utils.toMap($parts))
<div class="tab-content" id="registration-tab">
<div id="reg-view">
<div>
<div id="list-header">
<div id="filter-box" class="ui icon input">
<input type="text" id="filter" placeholder="Search..."/>
<i class="circular times link icon"></i>
</div>
<div>
$parts.size() participants, $utils.countFinals($parts) confirmed.
</div>
</div>
<div id="players-list" class="roundbox">
#set($parts = $api.get("tour/${params.id}/part"))
#set($pmap = $utils.toMap($parts))
<table id="players" class="ui celled selectable striped table">
<thead>
<th>Reg</th>
@@ -175,7 +178,7 @@
<button id="cancel-register" type="button" class="ui gray right labeled icon floating close button">
<i class="times icon"></i>
<span class="edition">Close</span>
<span class="creation">Cancel</span>
<span class="creation">Close</span>
</button>
<button id="unregister" type="button" class="ui red right labeled icon floating button">
<i class="trash icon"></i>