Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ba09698ece | ||
|
|
abe412d8ed | ||
|
|
e25ca534ec | ||
|
|
4f01262eba | ||
|
|
314792b09e | ||
|
|
a9464c382b | ||
|
|
d204acd365 | ||
|
|
00dc405158 | ||
|
|
b87f557a62 | ||
|
|
689845d02a | ||
|
|
ae8aed446b | ||
|
|
c88a512ff8 |
@@ -86,11 +86,12 @@
|
|||||||
$items .= $tpl->load('menu/item-icon-badge', ['Meldeliste', '', 'html-id' => 'menu-item-entrylist', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-entrylist']);
|
$items .= $tpl->load('menu/item-icon-badge', ['Meldeliste', '', 'html-id' => 'menu-item-entrylist', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-entrylist']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Ergebnisse', '', 'html-id' => 'menu-item-results', 'icon' => 'fa-poll']);
|
$items .= $tpl->load('menu/item-icon', ['Ergebnisse', '', 'html-id' => 'menu-item-results', 'icon' => 'fa-poll']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Bericht', '', 'html-id' => 'menu-item-bericht', 'icon' => 'fa-book']);
|
$items .= $tpl->load('menu/item-icon', ['Bericht', '', 'html-id' => 'menu-item-bericht', 'icon' => 'fa-book']);
|
||||||
|
$items .= $tpl->load('menu/item-icon', ['Fakten', '', 'html-id' => 'menu-item-facts', 'icon' => 'fa-list']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Informationen', '', 'html-id' => 'menu-item-info', 'icon' => 'fa-info']);
|
$items .= $tpl->load('menu/item-icon', ['Informationen', '', 'html-id' => 'menu-item-info', 'icon' => 'fa-info']);
|
||||||
$items .= $tpl->load('menu/item-icon-badge', ['Meldung', '', 'html-id' => 'menu-item-meldung', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-meldung']);
|
$items .= $tpl->load('menu/item-icon-badge', ['Meldung', '', 'html-id' => 'menu-item-meldung', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-meldung']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['offizielle Ergebnisse', '', 'html-id' => 'menu-item-oresults', 'icon' => 'fa-poll']);
|
$items .= $tpl->load('menu/item-icon', ['offizielle Ergebnisse', '', 'html-id' => 'menu-item-oresults', 'icon' => 'fa-poll']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Vereins-Website', '', 'html-id' => 'menu-item-clubwebsite', 'icon' => 'fa-globe']);
|
$items .= $tpl->load('menu/item-icon', ['Vereins-Website', '', 'html-id' => 'menu-item-clubwebsite', 'icon' => 'fa-globe']);
|
||||||
$sp['menus'] .= $tpl->load('menu/bottom', [$items, 'html-id' => 'menu-regatta', 'title' => 'Regatta-Details', 'height' => 320]);
|
$sp['menus'] .= $tpl->load('menu/bottom', [$items, 'html-id' => 'menu-regatta', 'title' => 'Regatta-Details', 'height' => 400]);
|
||||||
|
|
||||||
// Favorites Menu
|
// Favorites Menu
|
||||||
$items = $tpl->load('menu/item-icon', ['Nicht mehr folgen', '#', 'html-id' => 'menu-item-unfollow', 'icon' => 'fa-heart', 'css-class' => ' border-0']);
|
$items = $tpl->load('menu/item-icon', ['Nicht mehr folgen', '#', 'html-id' => 'menu-item-unfollow', 'icon' => 'fa-heart', 'css-class' => ' border-0']);
|
||||||
|
|||||||
@@ -34,11 +34,12 @@
|
|||||||
$items .= $tpl->load('menu/item-icon-badge', ['Meldeliste', '', 'html-id' => 'menu-item-entrylist', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-entrylist']);
|
$items .= $tpl->load('menu/item-icon-badge', ['Meldeliste', '', 'html-id' => 'menu-item-entrylist', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-entrylist']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Ergebnisse', '', 'html-id' => 'menu-item-results', 'icon' => 'fa-poll']);
|
$items .= $tpl->load('menu/item-icon', ['Ergebnisse', '', 'html-id' => 'menu-item-results', 'icon' => 'fa-poll']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Bericht', '', 'html-id' => 'menu-item-bericht', 'icon' => 'fa-book']);
|
$items .= $tpl->load('menu/item-icon', ['Bericht', '', 'html-id' => 'menu-item-bericht', 'icon' => 'fa-book']);
|
||||||
|
$items .= $tpl->load('menu/item-icon', ['Fakten', '', 'html-id' => 'menu-item-facts', 'icon' => 'fa-list']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Informationen', '', 'html-id' => 'menu-item-info', 'icon' => 'fa-info']);
|
$items .= $tpl->load('menu/item-icon', ['Informationen', '', 'html-id' => 'menu-item-info', 'icon' => 'fa-info']);
|
||||||
$items .= $tpl->load('menu/item-icon-badge', ['Meldung', '', 'html-id' => 'menu-item-meldung', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-meldung']);
|
$items .= $tpl->load('menu/item-icon-badge', ['Meldung', '', 'html-id' => 'menu-item-meldung', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-meldung']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['offizielle Ergebnisse', '', 'html-id' => 'menu-item-oresults', 'icon' => 'fa-poll']);
|
$items .= $tpl->load('menu/item-icon', ['offizielle Ergebnisse', '', 'html-id' => 'menu-item-oresults', 'icon' => 'fa-poll']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Vereins-Website', '', 'html-id' => 'menu-item-clubwebsite', 'icon' => 'fa-globe']);
|
$items .= $tpl->load('menu/item-icon', ['Vereins-Website', '', 'html-id' => 'menu-item-clubwebsite', 'icon' => 'fa-globe']);
|
||||||
$sp['menus'] .= $tpl->load('menu/bottom', [$items, 'html-id' => 'menu-regatta', 'title' => 'Regatta-Details', 'height' => 320]);
|
$sp['menus'] .= $tpl->load('menu/bottom', [$items, 'html-id' => 'menu-regatta', 'title' => 'Regatta-Details', 'height' => 400]);
|
||||||
|
|
||||||
// Menu Edit status
|
// Menu Edit status
|
||||||
$items = $tpl->load('menu/item-switch', ['Gemeldet', 'html-id' => 'switch-status-gemeldet', 'icon' => 'fa-file-signature']);
|
$items = $tpl->load('menu/item-switch', ['Gemeldet', 'html-id' => 'switch-status-gemeldet', 'icon' => 'fa-file-signature']);
|
||||||
|
|||||||
@@ -26,11 +26,12 @@
|
|||||||
$items .= $tpl->load('menu/item-icon-badge', ['Meldeliste', '', 'html-id' => 'menu-item-entrylist', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-entrylist']);
|
$items .= $tpl->load('menu/item-icon-badge', ['Meldeliste', '', 'html-id' => 'menu-item-entrylist', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-entrylist']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Ergebnisse', '', 'html-id' => 'menu-item-results', 'icon' => 'fa-poll']);
|
$items .= $tpl->load('menu/item-icon', ['Ergebnisse', '', 'html-id' => 'menu-item-results', 'icon' => 'fa-poll']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Bericht', '', 'html-id' => 'menu-item-bericht', 'icon' => 'fa-book']);
|
$items .= $tpl->load('menu/item-icon', ['Bericht', '', 'html-id' => 'menu-item-bericht', 'icon' => 'fa-book']);
|
||||||
|
$items .= $tpl->load('menu/item-icon', ['Fakten', '', 'html-id' => 'menu-item-facts', 'icon' => 'fa-list']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Informationen', '', 'html-id' => 'menu-item-info', 'icon' => 'fa-info']);
|
$items .= $tpl->load('menu/item-icon', ['Informationen', '', 'html-id' => 'menu-item-info', 'icon' => 'fa-info']);
|
||||||
$items .= $tpl->load('menu/item-icon-badge', ['Meldung', '', 'html-id' => 'menu-item-meldung', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-meldung']);
|
$items .= $tpl->load('menu/item-icon-badge', ['Meldung', '', 'html-id' => 'menu-item-meldung', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-meldung']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['offizielle Ergebnisse', '', 'html-id' => 'menu-item-oresults', 'icon' => 'fa-poll']);
|
$items .= $tpl->load('menu/item-icon', ['offizielle Ergebnisse', '', 'html-id' => 'menu-item-oresults', 'icon' => 'fa-poll']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Vereins-Website', '', 'html-id' => 'menu-item-clubwebsite', 'icon' => 'fa-globe']);
|
$items .= $tpl->load('menu/item-icon', ['Vereins-Website', '', 'html-id' => 'menu-item-clubwebsite', 'icon' => 'fa-globe']);
|
||||||
$sp['menus'] .= $tpl->load('menu/bottom', [$items, 'html-id' => 'menu-regatta', 'title' => 'Regatta-Details', 'height' => 320]);
|
$sp['menus'] .= $tpl->load('menu/bottom', [$items, 'html-id' => 'menu-regatta', 'title' => 'Regatta-Details', 'height' => 400]);
|
||||||
|
|
||||||
$sp['scripts'] .= $scripts->load('onRegattaClicked');
|
$sp['scripts'] .= $scripts->load('onRegattaClicked');
|
||||||
$sp['scripts'] .= $scripts->load('planning_view');
|
$sp['scripts'] .= $scripts->load('planning_view');
|
||||||
|
|||||||
49
server/content/regatta_facts.php
Normal file
49
server/content/regatta_facts.php
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$sp['title'] = 'Fakten - Regatten.net ' . $_CLASS['name'];
|
||||||
|
$sp['backbutton'] = true;
|
||||||
|
$sp['activenav'] = 2;
|
||||||
|
|
||||||
|
// Title, Inputs
|
||||||
|
$content = '<h1 id="h1-title"></h1>';
|
||||||
|
$content .= '<p id="p-title"></p>';
|
||||||
|
|
||||||
|
$sp['output'] .= $tpl->load('card', [$content]);
|
||||||
|
|
||||||
|
// NO FACTS INFO
|
||||||
|
$content = '<p>Es sind keine Fakten zu dieser Veranstaltung hinterlegt. Bitte lies die Ausschreibung.</p>';
|
||||||
|
$sp['output'] .= $tpl->load('card', [$content, 'html-id' => 'card-nofactsinfo']);
|
||||||
|
|
||||||
|
// Meldegeld
|
||||||
|
$content = '<h2>Meldegeld</h2>';
|
||||||
|
$content .= '<p></p>';
|
||||||
|
$sp['output'] .= $tpl->load('card', [$content, 'html-id' => 'card-entryfee']);
|
||||||
|
|
||||||
|
// Wettfahrten
|
||||||
|
$content = '<h2>Wettfahrten</h2>';
|
||||||
|
$sp['output'] .= $tpl->load('card', [$content, 'html-id' => 'card-races']);
|
||||||
|
|
||||||
|
// Zeitplan
|
||||||
|
$content = '<h2>Zeitplan</h2>';
|
||||||
|
$content .= $tpl->load('table', ['css-class' => 'mb-0 text-nowrap']);
|
||||||
|
$sp['output'] .= $tpl->load('card', [$content, 'html-id' => 'card-times']);
|
||||||
|
|
||||||
|
// Camping
|
||||||
|
$content = '<h2>Camping</h2>';
|
||||||
|
$sp['output'] .= $tpl->load('card', [$content, 'html-id' => 'card-camping']);
|
||||||
|
|
||||||
|
// Verpflegung
|
||||||
|
$content = '<h2>Verpflegung</h2>';
|
||||||
|
$sp['output'] .= $tpl->load('card', [$content, 'html-id' => 'card-food']);
|
||||||
|
|
||||||
|
// Weitere Infos
|
||||||
|
$content = '<h2>Weitere Informationen</h2><p></p>';
|
||||||
|
$sp['output'] .= $tpl->load('card', [$content, 'html-id' => 'card-text']);
|
||||||
|
|
||||||
|
// Disclaimer
|
||||||
|
$content = '<p><i>Alle Angaben ohne Gewähr. Änderungen vorbehalten. Am Ende gilt, was in der Ausschreibung / Segelanweisung steht!</i></p>';
|
||||||
|
$sp['output'] .= $tpl->load('card', [$content]);
|
||||||
|
|
||||||
|
$sp['scripts'] .= $scripts->load('regatta_facts');
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -14,6 +14,11 @@
|
|||||||
|
|
||||||
$sp['output'] .= $tpl->load('card', [$content]);
|
$sp['output'] .= $tpl->load('card', [$content]);
|
||||||
|
|
||||||
|
// To today
|
||||||
|
$content = $tpl->load('button', ['<i class="fas fa-arrow-down"></i> Heute <i class="fas fa-arrow-down"></i>', '#', 'html-id' => 'button-totoday']);
|
||||||
|
|
||||||
|
$sp['output'] .= $tpl->load('card', [$content]);
|
||||||
|
|
||||||
// Regattas
|
// Regattas
|
||||||
$content = '<p id="p-count" class="mb-0"></p>';
|
$content = '<p id="p-count" class="mb-0"></p>';
|
||||||
$content .= $tpl->load('input', ['html-id' => 'input-search', 'placeholder' => 'Suche', 'type' => 'text', 'css-class' => 'mt-2']);
|
$content .= $tpl->load('input', ['html-id' => 'input-search', 'placeholder' => 'Suche', 'type' => 'text', 'css-class' => 'mt-2']);
|
||||||
@@ -30,11 +35,12 @@
|
|||||||
$items .= $tpl->load('menu/item-icon-badge', ['Meldeliste', '', 'html-id' => 'menu-item-entrylist', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-entrylist']);
|
$items .= $tpl->load('menu/item-icon-badge', ['Meldeliste', '', 'html-id' => 'menu-item-entrylist', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-entrylist']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Ergebnisse', '', 'html-id' => 'menu-item-results', 'icon' => 'fa-poll']);
|
$items .= $tpl->load('menu/item-icon', ['Ergebnisse', '', 'html-id' => 'menu-item-results', 'icon' => 'fa-poll']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Bericht', '', 'html-id' => 'menu-item-bericht', 'icon' => 'fa-book']);
|
$items .= $tpl->load('menu/item-icon', ['Bericht', '', 'html-id' => 'menu-item-bericht', 'icon' => 'fa-book']);
|
||||||
|
$items .= $tpl->load('menu/item-icon', ['Fakten', '', 'html-id' => 'menu-item-facts', 'icon' => 'fa-list']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Informationen', '', 'html-id' => 'menu-item-info', 'icon' => 'fa-info']);
|
$items .= $tpl->load('menu/item-icon', ['Informationen', '', 'html-id' => 'menu-item-info', 'icon' => 'fa-info']);
|
||||||
$items .= $tpl->load('menu/item-icon-badge', ['Meldung', '', 'html-id' => 'menu-item-meldung', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-meldung']);
|
$items .= $tpl->load('menu/item-icon-badge', ['Meldung', '', 'html-id' => 'menu-item-meldung', 'icon' => 'fa-file-signature', 'badge-id' => 'badge-regatta-meldung']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['offizielle Ergebnisse', '', 'html-id' => 'menu-item-oresults', 'icon' => 'fa-poll']);
|
$items .= $tpl->load('menu/item-icon', ['offizielle Ergebnisse', '', 'html-id' => 'menu-item-oresults', 'icon' => 'fa-poll']);
|
||||||
$items .= $tpl->load('menu/item-icon', ['Vereins-Website', '', 'html-id' => 'menu-item-clubwebsite', 'icon' => 'fa-globe']);
|
$items .= $tpl->load('menu/item-icon', ['Vereins-Website', '', 'html-id' => 'menu-item-clubwebsite', 'icon' => 'fa-globe']);
|
||||||
$sp['menus'] .= $tpl->load('menu/bottom', [$items, 'html-id' => 'menu-regatta', 'title' => 'Regatta-Details', 'height' => 320]);
|
$sp['menus'] .= $tpl->load('menu/bottom', [$items, 'html-id' => 'menu-regatta', 'title' => 'Regatta-Details', 'height' => 400]);
|
||||||
|
|
||||||
$sp['scripts'] .= $scripts->load('onRegattaClicked');
|
$sp['scripts'] .= $scripts->load('onRegattaClicked');
|
||||||
$sp['scripts'] .= $scripts->load('regattas');
|
$sp['scripts'] .= $scripts->load('regattas');
|
||||||
|
|||||||
@@ -137,6 +137,14 @@ async function onRegattaClicked(id) {
|
|||||||
$('#menu-item-bericht').hide();
|
$('#menu-item-bericht').hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fakten
|
||||||
|
if ('facts' in regatta && regatta['facts'] != null) {
|
||||||
|
$('#menu-item-facts').show();
|
||||||
|
$('#menu-item-facts').attr('href', LINK_PRE + 'regatta_facts?regatta=' + regatta['id']);
|
||||||
|
} else {
|
||||||
|
$('#menu-item-facts').hide();
|
||||||
|
}
|
||||||
|
|
||||||
// Info
|
// Info
|
||||||
if (regatta['info'] != '') {
|
if (regatta['info'] != '') {
|
||||||
$('#menu-item-info').show();
|
$('#menu-item-info').show();
|
||||||
@@ -151,10 +159,10 @@ async function onRegattaClicked(id) {
|
|||||||
$('#menu-item-meldung').show();
|
$('#menu-item-meldung').show();
|
||||||
$('#menu-item-meldung').attr('href', regatta['meldung']);
|
$('#menu-item-meldung').attr('href', regatta['meldung']);
|
||||||
$('#menu-item-meldung').attr('target', '_blank');
|
$('#menu-item-meldung').attr('target', '_blank');
|
||||||
if ((planning != null) && (planning['gemeldet'] == '1')) {
|
/*if ((planning != null) && (planning['gemeldet'] == '1')) {
|
||||||
$('#badge-regatta-meldung').text('schon gemeldet');
|
$('#badge-regatta-meldung').text('schon gemeldet');
|
||||||
$('#badge-regatta-meldung').addClass('bg-green2-dark').removeClass('bg-highlight bg-red2-dark bg-yellow2-dark');
|
$('#badge-regatta-meldung').addClass('bg-green2-dark').removeClass('bg-highlight bg-red2-dark bg-yellow2-dark');
|
||||||
} else if (regatta['meldungOffen'] == '0') {
|
} else*/ if (regatta['meldungOffen'] == '0') {
|
||||||
$('#badge-regatta-meldung').text('geschlossen');
|
$('#badge-regatta-meldung').text('geschlossen');
|
||||||
$('#badge-regatta-meldung').addClass('bg-highlight').removeClass('bg-green2-dark bg-red2-dark bg-yellow2-dark');
|
$('#badge-regatta-meldung').addClass('bg-highlight').removeClass('bg-green2-dark bg-red2-dark bg-yellow2-dark');
|
||||||
} else if (regatta['meldungSchluss'] != null) {
|
} else if (regatta['meldungSchluss'] != null) {
|
||||||
|
|||||||
@@ -108,143 +108,148 @@ async function onRankingClicked(id) {
|
|||||||
|
|
||||||
var rankings;
|
var rankings;
|
||||||
|
|
||||||
async function selectChange(callSiteScript = true) {
|
function selectChange(callSiteScript = true) {
|
||||||
var year = $('#select-year').val();
|
return new Promise(async function (resolve) {
|
||||||
if (year == "user") {
|
var year = $('#select-year').val();
|
||||||
$('#select-type').parent().hide();
|
if (year == "user") {
|
||||||
$('#input-from').trigger('focusin').trigger('focusout').parent().show();
|
$('#select-type').parent().hide();
|
||||||
$('#input-to').trigger('focusin').trigger('focusout').parent().show();
|
$('#input-from').trigger('focusin').trigger('focusout').parent().show();
|
||||||
$('#input-altm').trigger('focusin').trigger('focusout').parent().show();
|
$('#input-to').trigger('focusin').trigger('focusout').parent().show();
|
||||||
$('#input-maxage').trigger('focusin').trigger('focusout').parent().show();
|
$('#input-altm').trigger('focusin').trigger('focusout').parent().show();
|
||||||
$('#input-agestrict').parent().show();
|
$('#input-maxage').trigger('focusin').trigger('focusout').parent().show();
|
||||||
$('#input-agecrew').parent().show();
|
$('#input-agestrict').parent().show();
|
||||||
$('#button-show').show();
|
$('#input-agecrew').parent().show();
|
||||||
$('#card-special-ranks').hide();
|
$('#button-show').show();
|
||||||
} else {
|
$('#card-special-ranks').hide();
|
||||||
year = parseInt(year);
|
} else {
|
||||||
var type = $('#select-type').val();
|
year = parseInt(year);
|
||||||
console.log('[rank] selected', year, type);
|
var type = $('#select-type').val();
|
||||||
$('#select-type').parent().show();
|
console.log('[rank] selected', year, type);
|
||||||
$('#input-from').parent().hide();
|
$('#select-type').parent().show();
|
||||||
$('#input-to').parent().hide();
|
$('#input-from').parent().hide();
|
||||||
$('#input-altm').parent().hide();
|
$('#input-to').parent().hide();
|
||||||
$('#input-maxage').parent().hide();
|
$('#input-altm').parent().hide();
|
||||||
$('#input-agestrict').parent().hide();
|
$('#input-maxage').parent().hide();
|
||||||
$('#input-agecrew').parent().hide();
|
$('#input-agestrict').parent().hide();
|
||||||
$('#button-show').hide();
|
$('#input-agecrew').parent().hide();
|
||||||
$('#card-special-ranks').hide(); // first hide, show only when there are special ranks
|
$('#button-show').hide();
|
||||||
|
$('#card-special-ranks').hide(); // first hide, show only when there are special ranks
|
||||||
|
|
||||||
var rankingsShow = {};
|
var rankingsShow = {};
|
||||||
var options = '';
|
var options = '';
|
||||||
for (var i in rankings) {
|
for (var i in rankings) {
|
||||||
if (rankings[i].year_from !== null && rankings[i].year_from > year) continue;
|
if (rankings[i].year_from !== null && rankings[i].year_from > year) continue;
|
||||||
if (rankings[i].year_to !== null && rankings[i].year_to < year) continue;
|
if (rankings[i].year_to !== null && rankings[i].year_to < year) continue;
|
||||||
var alias = rankings[i].alias;
|
var alias = rankings[i].alias;
|
||||||
options += '<option value="' + alias + '">' + rankings[i].name + '</option>';
|
options += '<option value="' + alias + '">' + rankings[i].name + '</option>';
|
||||||
rankingsShow[alias] = rankings[i];
|
rankingsShow[alias] = rankings[i];
|
||||||
}
|
|
||||||
$('#select-type').html(options);
|
|
||||||
if (!(type in rankingsShow)) {
|
|
||||||
console.log('[rank] selected type', type, 'not found for year', year, '. Using `year`');
|
|
||||||
type = 'year';
|
|
||||||
}
|
|
||||||
$('#select-type').val(type).trigger('focusin').trigger('focusout');
|
|
||||||
|
|
||||||
// special ranks
|
|
||||||
getJSON(QUERY_URL + 'get_special_rankings', function (code, data) {
|
|
||||||
if (code == 200) {
|
|
||||||
var specialRanks = [];
|
|
||||||
for (var i in data.data) {
|
|
||||||
var sr = data.data[i];
|
|
||||||
if (sr.to < (year + '-01-01')) continue;
|
|
||||||
if (sr.to > (year + '-12-31')) continue;
|
|
||||||
specialRanks.push(sr);
|
|
||||||
}
|
|
||||||
if (specialRanks.length > 0) {
|
|
||||||
var btns = '';
|
|
||||||
for (var i in specialRanks) {
|
|
||||||
var sr = specialRanks[i];
|
|
||||||
var link = 'https://regatten.net/frame.php?class=' + BOATCLASS + '&site=special_rank&rank_id=' + sr.id;
|
|
||||||
var name = sr.title;
|
|
||||||
var cssclass = i > 0 ? ' mt-3' : '';
|
|
||||||
btns += '<a class="btn btn-full rounded-s text-uppercase font-900 shadow-m bg-highlight' + cssclass + '" href="' + link + '">' + name + '</a>';
|
|
||||||
}
|
|
||||||
$('#card-special-ranks').find('.content').html(btns);
|
|
||||||
$('#card-special-ranks').show();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
log("[rank] special_ranks: Something went wrong (HTTP " + code + ")");
|
|
||||||
}
|
}
|
||||||
});
|
$('#select-type').html(options);
|
||||||
|
if (!(type in rankingsShow)) {
|
||||||
|
console.log('[rank] selected type', type, 'not found for year', year, '. Using `year`');
|
||||||
|
type = 'year';
|
||||||
|
}
|
||||||
|
$('#select-type').val(type).trigger('focusin').trigger('focusout');
|
||||||
|
|
||||||
var from, to, altm, maxage, agestrict, agecrew;
|
// special ranks
|
||||||
altm = 9; maxage = false; agestrict = false; agecrew = false;
|
getJSON(QUERY_URL + 'get_special_rankings', function (code, data) {
|
||||||
var r = rankingsShow[type];
|
if (code == 200) {
|
||||||
console.log('[rank] type', type, '=>', r);
|
var specialRanks = [];
|
||||||
if (r.max_age !== null) {
|
for (var i in data.data) {
|
||||||
maxage = r.max_age;
|
var sr = data.data[i];
|
||||||
agestrict = r.age_strict == 1;
|
if (sr.to < (year + '-01-01')) continue;
|
||||||
agecrew = r.age_crew == 1;
|
if (sr.to > (year + '-12-31')) continue;
|
||||||
}
|
specialRanks.push(sr);
|
||||||
if (r.alt_m !== null) {
|
|
||||||
altm = r.alt_m;
|
|
||||||
}
|
|
||||||
switch (r.type) {
|
|
||||||
case 'year':
|
|
||||||
from = (year - 1) + '-12-01';
|
|
||||||
to = year + '-11-30';
|
|
||||||
break;
|
|
||||||
case 'quali':
|
|
||||||
// TODO: auslagern in function getRegattaBegin
|
|
||||||
var beginn = null;
|
|
||||||
var regattas = await dbGetData('regattas');
|
|
||||||
regattas.sort(function(a,b){ return b.date.localeCompare(a.date); });
|
|
||||||
for (var r in regattas) {
|
|
||||||
var regatta = regattas[r];
|
|
||||||
var date = parseDate(regatta.date);
|
|
||||||
if ((date < parseDate('01.01.' + year)) || (date > parseDate('31.12.' + year))) {
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
if (regatta.name.indexOf(r.quali_search) >= 0) {
|
if (specialRanks.length > 0) {
|
||||||
beginn = ((regatta.meldungSchluss != null) ? parseDate(regatta.meldungSchluss) : date);
|
var btns = '';
|
||||||
break;
|
for (var i in specialRanks) {
|
||||||
|
var sr = specialRanks[i];
|
||||||
|
var link = 'https://regatten.net/frame.php?class=' + BOATCLASS + '&site=special_rank&rank_id=' + sr.id;
|
||||||
|
var name = sr.title;
|
||||||
|
var cssclass = i > 0 ? ' mt-3' : '';
|
||||||
|
btns += '<a class="btn btn-full rounded-s text-uppercase font-900 shadow-m bg-highlight' + cssclass + '" href="' + link + '">' + name + '</a>';
|
||||||
|
}
|
||||||
|
$('#card-special-ranks').find('.content').html(btns);
|
||||||
|
$('#card-special-ranks').show();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
// END OF TODO
|
|
||||||
if (beginn !== null) {
|
|
||||||
from = new Date(beginn);
|
|
||||||
from.setFullYear(from.getFullYear() - 1);
|
|
||||||
from.setDate(from.getDate() - 13);
|
|
||||||
from = formatDate('Y-m-d', from);
|
|
||||||
to = new Date(beginn);
|
|
||||||
to.setDate(to.getDate() - 14);
|
|
||||||
to = formatDate('Y-m-d', to);
|
|
||||||
} else {
|
} else {
|
||||||
|
log("[rank] special_ranks: Something went wrong (HTTP " + code + ")");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var from, to, altm, maxage, agestrict, agecrew;
|
||||||
|
altm = 9; maxage = false; agestrict = false; agecrew = false;
|
||||||
|
var r = rankingsShow[type];
|
||||||
|
console.log('[rank] type', type, '=>', r);
|
||||||
|
if (r.max_age !== null) {
|
||||||
|
maxage = r.max_age;
|
||||||
|
agestrict = r.age_strict == 1;
|
||||||
|
agecrew = r.age_crew == 1;
|
||||||
|
}
|
||||||
|
if (r.alt_m !== null) {
|
||||||
|
altm = r.alt_m;
|
||||||
|
}
|
||||||
|
switch (r.type) {
|
||||||
|
case 'year':
|
||||||
from = (year - 1) + '-12-01';
|
from = (year - 1) + '-12-01';
|
||||||
to = year + '-11-30';
|
to = year + '-11-30';
|
||||||
break; // TODO: bessere Fehlermeldung - keine Regatta gefunden
|
break;
|
||||||
}
|
case 'quali':
|
||||||
break;
|
// TODO: auslagern in function getRegattaBegin
|
||||||
default: // TODO: bessere Fehlermeldung - tritt nur bei Fehlkonfiguration in DB auf
|
var beginn = null;
|
||||||
from = (year - 1) + '-12-01';
|
var regattas = await dbGetData('regattas');
|
||||||
to = year + '-11-30';
|
regattas.sort(function(a,b){ return b.date.localeCompare(a.date); });
|
||||||
break;
|
for (var ri in regattas) {
|
||||||
}
|
var regatta = regattas[ri];
|
||||||
|
var date = parseDate(regatta.date);
|
||||||
|
if ((date < parseDate('01.01.' + year)) || (date > parseDate('31.12.' + year))) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (regatta.name.toLowerCase().indexOf(r.quali_search.toLowerCase()) >= 0) {
|
||||||
|
console.log('FOUND', regatta);
|
||||||
|
beginn = ((regatta.meldungSchluss != null) ? parseDate(regatta.meldungSchluss) : date);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// END OF TODO
|
||||||
|
if (beginn !== null) {
|
||||||
|
from = new Date(beginn);
|
||||||
|
from.setFullYear(from.getFullYear() - 1);
|
||||||
|
from.setDate(from.getDate() - 13);
|
||||||
|
from = formatDate('Y-m-d', from);
|
||||||
|
to = new Date(beginn);
|
||||||
|
to.setDate(to.getDate() - 14);
|
||||||
|
to = formatDate('Y-m-d', to);
|
||||||
|
} else {
|
||||||
|
console.log('[rank] no regatta found');
|
||||||
|
from = year + '-12-31'; // reverse => no regattas will be found => no ranking
|
||||||
|
to = year + '-01-01';
|
||||||
|
break; // TODO: bessere Fehlermeldung - keine Regatta gefunden
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default: // TODO: bessere Fehlermeldung - tritt nur bei Fehlkonfiguration in DB auf
|
||||||
|
from = (year - 1) + '-12-01';
|
||||||
|
to = year + '-11-30';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
console.log('[rank] setting', from, to, altm, maxage, agestrict, agecrew);
|
console.log('[rank] setting', from, to, altm, maxage, agestrict, agecrew);
|
||||||
$('#input-from').val(from);
|
$('#input-from').val(from);
|
||||||
$('#input-to').val(to);
|
$('#input-to').val(to);
|
||||||
$('#input-altm').val(altm);
|
$('#input-altm').val(altm);
|
||||||
$('#input-maxage').val(maxage == false ? '' : maxage);
|
$('#input-maxage').val(maxage == false ? '' : maxage);
|
||||||
$('#input-agestrict').prop('checked', agestrict);
|
$('#input-agestrict').prop('checked', agestrict);
|
||||||
$('#input-agecrew').prop('checked', agecrew);
|
$('#input-agecrew').prop('checked', agecrew);
|
||||||
|
|
||||||
if (callSiteScript && (typeof siteScript === 'function')) {
|
if (callSiteScript && (typeof siteScript === 'function')) {
|
||||||
history.replaceState(null, '', '?year=' + year + '&type=' + type);
|
history.replaceState(null, '', '?year=' + year + '&type=' + type);
|
||||||
showLoader();
|
showLoader();
|
||||||
siteScript();
|
siteScript();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
resolve();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function buttonShowPressed() {
|
function buttonShowPressed() {
|
||||||
@@ -304,7 +309,7 @@ function initSelects() {
|
|||||||
$('#input-agecrew').prop('checked', agecrew !== null);
|
$('#input-agecrew').prop('checked', agecrew !== null);
|
||||||
}
|
}
|
||||||
|
|
||||||
selectChange(false);
|
await selectChange(false);
|
||||||
|
|
||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
|
|||||||
258
server/scripts/regatta_facts.js
Normal file
258
server/scripts/regatta_facts.js
Normal file
@@ -0,0 +1,258 @@
|
|||||||
|
var siteScript = async function() {
|
||||||
|
$('#card-nofactsinfo').hide();
|
||||||
|
$('#card-entryfee').hide();
|
||||||
|
$('#card-races').hide();
|
||||||
|
$('#card-races').find('p').remove();
|
||||||
|
$('#card-races').find('table').remove();
|
||||||
|
$('#card-times').hide();
|
||||||
|
$('#card-camping').hide();
|
||||||
|
$('#card-food').hide();
|
||||||
|
$('#card-text').hide();
|
||||||
|
|
||||||
|
var regattaId = findGetParameter('regatta');
|
||||||
|
if (regattaId == null) {
|
||||||
|
$('#h1-title').text('Regatta nicht gefunden');
|
||||||
|
hideLoader();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var regatta = await dbGetData('regattas', regattaId);
|
||||||
|
if (regatta == null) {
|
||||||
|
$('#h1-title').text('Regatta nicht gefunden');
|
||||||
|
hideLoader();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var dateFrom = parseDate(regatta['date']);
|
||||||
|
var dateTo = parseDate(regatta['date']);
|
||||||
|
dateTo.setDate(dateTo.getDate() + Math.max(parseInt(regatta['length']) - 1, 0));
|
||||||
|
|
||||||
|
$('#h1-title').text(regatta.name);
|
||||||
|
if (regatta.length < 1) {
|
||||||
|
if (formatDate('d.m', dateFrom) == '01.01') {
|
||||||
|
$('#p-title').html('<font class="color-red2-dark">Datum noch unklar</font>');
|
||||||
|
} else {
|
||||||
|
$('#p-title').html(formatDate('d.m.Y', dateFrom) + ' - <font class="color-red2-dark">Datum nicht final</font>');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$('#p-title').html(formatDate('d.m.Y', dateFrom) + ' - ' + formatDate('d.m.Y', dateTo));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (regatta.facts != null) {
|
||||||
|
var facts = JSON.parse(regatta.facts);
|
||||||
|
|
||||||
|
// Meldegeld
|
||||||
|
if ('entry' in facts && 'price' in facts.entry) {
|
||||||
|
$('#card-entryfee').show();
|
||||||
|
var content = 'Meldegeld: <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(facts.entry.price)) + '</b>';
|
||||||
|
if ('early' in facts.entry) {
|
||||||
|
content += '<br />vergünstigt: <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(facts.entry.early)) + '</b> (bis ' + formatDate('d.m.Y', parseDate(regatta.meldungEarly)) + ')';
|
||||||
|
}
|
||||||
|
if ('late' in facts.entry) {
|
||||||
|
content += '<br />nach Meldeschluss (' + formatDate('d.m.Y', parseDate(regatta.meldungSchluss)) + '): <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(facts.entry.late)) + '</b>';
|
||||||
|
}
|
||||||
|
$('#card-entryfee').find('p').html(content);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wettfahrten / Anzahl
|
||||||
|
if ('races' in facts && 'cnt' in facts.races) {
|
||||||
|
$('#card-races').show();
|
||||||
|
$('#card-races').find('.content').append('<p>Anzahl Wettfahrten: <b>' + facts.races.cnt + '</b></p>');
|
||||||
|
if ('days' in facts.races) {
|
||||||
|
var table = $('<table class="table table-striped table-bordered text-nowrap">');
|
||||||
|
var tbody = $('<tbody>');
|
||||||
|
for (var day in facts.races.days) {
|
||||||
|
var cnt = facts.races.days[day];
|
||||||
|
day = formatDate('D, j.', parseDate(day));
|
||||||
|
tbody.append('<tr><td>' + day + '</td><td><b>' + cnt + '</b></td></tr>')
|
||||||
|
}
|
||||||
|
table.append(tbody);
|
||||||
|
$('#card-races').find('.content').append(table);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wettfahrten / Racetimes
|
||||||
|
if ('racetimes' in facts) {
|
||||||
|
$('#card-races').show();
|
||||||
|
var table = $('<table class="table table-striped table-bordered mb-0 text-nowrap">');
|
||||||
|
var tbody = $('<tbody>');
|
||||||
|
if ('sollzeit' in facts.racetimes) {
|
||||||
|
tbody.append('<tr><td>Sollzeit</td><td>' + facts.racetimes.sollzeit + ' min</td></tr>');
|
||||||
|
}
|
||||||
|
if ('zeitlimit' in facts.racetimes) {
|
||||||
|
tbody.append('<tr><td>Zeitlimit</td><td>' + facts.racetimes.zeitlimit + ' min</td></tr>');
|
||||||
|
}
|
||||||
|
if ('zielzeitfenster' in facts.racetimes) {
|
||||||
|
tbody.append('<tr><td>Zielzeitfenster</td><td>' + facts.racetimes.zielzeitfenster + ' min</td></tr>');
|
||||||
|
}
|
||||||
|
table.append(tbody);
|
||||||
|
$('#card-races').find('.content').append(table);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Zeitplan
|
||||||
|
if ('times' in facts) {
|
||||||
|
$('#card-times').show();
|
||||||
|
var tbody = $('#card-times').find('table').find('tbody');
|
||||||
|
tbody.html('');
|
||||||
|
if ('checkin' in facts.times) {
|
||||||
|
tbody.append('<tr><td colspan="2" style="text-align: center; font-weight: bold;">Registrierung</td></tr>');
|
||||||
|
for (var day in facts.times.checkin) {
|
||||||
|
var times = facts.times.checkin[day];
|
||||||
|
day = formatDate('D, j.', parseDate(day));
|
||||||
|
var content = '';
|
||||||
|
if ('from' in times && 'to' in times) content = times.from + ' bis ' + times.to; // TODO:
|
||||||
|
else if ('from' in times) content = 'ab ' + times.from;
|
||||||
|
else if ('to' in times) content = 'bis ' + times.to;
|
||||||
|
tbody.append('<tr><td>' + day + '</td><td>' + content + '</td></tr>')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ('measurements' in facts.times) {
|
||||||
|
tbody.append('<tr><td colspan="2" style="text-align: center; font-weight: bold;">Vermessung</td></tr>');
|
||||||
|
for (var day in facts.times.measurements) {
|
||||||
|
var times = facts.times.measurements[day];
|
||||||
|
day = formatDate('D, j.', parseDate(day));
|
||||||
|
var content = '';
|
||||||
|
if ('from' in times && 'to' in times) content = times.from + ' bis ' + times.to; // TODO:
|
||||||
|
else if ('from' in times) content = 'ab ' + times.from;
|
||||||
|
else if ('to' in times) content = 'bis ' + times.to;
|
||||||
|
tbody.append('<tr><td>' + day + '</td><td>' + content + '</td></tr>')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ('helmmeeting' in facts.times) {
|
||||||
|
tbody.append('<tr><td colspan="2" style="text-align: center; font-weight: bold;">Steuerleutebesprechung</td></tr>');
|
||||||
|
for (var day in facts.times.helmmeeting) {
|
||||||
|
var time = facts.times.helmmeeting[day];
|
||||||
|
day = formatDate('D, j.', parseDate(day));
|
||||||
|
tbody.append('<tr><td>' + day + '</td><td>' + time + '</td></tr>')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ('firststart' in facts.times) {
|
||||||
|
tbody.append('<tr><td colspan="2" style="text-align: center; font-weight: bold;">Erster Start</td></tr>');
|
||||||
|
for (var day in facts.times.firststart) {
|
||||||
|
var time = facts.times.firststart[day];
|
||||||
|
day = formatDate('D, j.', parseDate(day));
|
||||||
|
tbody.append('<tr><td>' + day + '</td><td>' + time + '</td></tr>')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ('laststart' in facts.times) {
|
||||||
|
tbody.append('<tr><td colspan="2" style="text-align: center; font-weight: bold;">Letzter Start</td></tr>');
|
||||||
|
for (var day in facts.times.laststart) {
|
||||||
|
var time = facts.times.laststart[day];
|
||||||
|
day = formatDate('D, j.', parseDate(day));
|
||||||
|
tbody.append('<tr><td>' + day + '</td><td>' + time + '</td></tr>')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Camping
|
||||||
|
if ('camping' in facts) {
|
||||||
|
$('#card-camping').show();
|
||||||
|
$('#card-camping').find('p').remove();
|
||||||
|
if ('tent' in facts.camping) {
|
||||||
|
var content = '';
|
||||||
|
if ('price' in facts.camping.tent && facts.camping.tent.price > 0) {
|
||||||
|
content += 'Zelten möglich für <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(facts.camping.tent.price)) + '</b>';
|
||||||
|
}
|
||||||
|
else if ('pricepernight' in facts.camping.tent) {
|
||||||
|
content += 'Zelten möglich für <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(facts.camping.tent.pricepernight)) + ' pro Nacht</b>';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
content += 'Zelten möglich und im Preis enthalten';
|
||||||
|
}
|
||||||
|
if ('electricity' in facts.camping.tent) {
|
||||||
|
content += '<br />';
|
||||||
|
if (facts.camping.tent.electricity > 0) {
|
||||||
|
content += 'Strom: <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(facts.camping.tent.electricity)) + '</b>';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
content += 'Strom inklusive';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$('#card-camping').find('.content').append('<p>' + content + '</p>');
|
||||||
|
}
|
||||||
|
if ('van' in facts.camping) {
|
||||||
|
var content = '';
|
||||||
|
if ('price' in facts.camping.van && facts.camping.van.price > 0) {
|
||||||
|
content += 'Wohnwagen/-mobil möglich für <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(facts.camping.van.price)) + '</b>';
|
||||||
|
}
|
||||||
|
else if ('pricepernight' in facts.camping.van) {
|
||||||
|
content += 'Wohnwagen/-mobil möglich für <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(facts.camping.van.pricepernight)) + ' pro Nacht</b>';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
content += 'Wohnwagen/-mobil möglich und im Preis enthalten';
|
||||||
|
}
|
||||||
|
if ('electricity' in facts.camping.van) {
|
||||||
|
content += '<br />';
|
||||||
|
if (facts.camping.van.electricity > 0) {
|
||||||
|
content += 'Strom: <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(facts.camping.van.electricity)) + '</b>';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
content += 'Strom inklusive';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$('#card-camping').find('.content').append('<p>' + content + '</p>');
|
||||||
|
}
|
||||||
|
if ('beds' in facts.camping) {
|
||||||
|
var content = '';
|
||||||
|
if ('price' in facts.camping.beds && facts.camping.beds.price > 0) {
|
||||||
|
content += 'Betten im Clubhaus vorhanden für <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(facts.camping.beds.price)) + '</b>';
|
||||||
|
}
|
||||||
|
else if ('pricepernight' in facts.camping.beds) {
|
||||||
|
content += 'Betten im Clubhaus vorhanden für <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(facts.camping.beds.pricepernight)) + ' pro Nacht</b>';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
content += 'Betten im Clubhaus vorhanden und im Preis enthalten';
|
||||||
|
}
|
||||||
|
$('#card-camping').find('.content').append('<p>' + content + '</p>');
|
||||||
|
}
|
||||||
|
if ('text' in facts.camping) {
|
||||||
|
var p = $('<p>');
|
||||||
|
p.text(facts.camping.text);
|
||||||
|
p.html(p.html().replace(/\n/g, '<br />'));
|
||||||
|
$('#card-camping').find('.content').append(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Verpflegung
|
||||||
|
if ('food' in facts) {
|
||||||
|
$('#card-food').show();
|
||||||
|
$('#card-food').find('p').remove();
|
||||||
|
for (var day in facts.food) {
|
||||||
|
var food = facts.food[day];
|
||||||
|
if (day == 'text') {
|
||||||
|
var p = $('<p>');
|
||||||
|
p.text(food);
|
||||||
|
p.html(p.html().replace(/\n/g, '<br />'));
|
||||||
|
$('#card-food').find('.content').append(p);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
day = formatDate('D, j.', parseDate(day));
|
||||||
|
var content = '';
|
||||||
|
if ('breakfast' in food) {
|
||||||
|
content += 'Frühstück am ' + day;
|
||||||
|
if (food.breakfast > 0) content += ' für <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(food.breakfast)) + '</b><br />';
|
||||||
|
else content += ' inklusive<br />';
|
||||||
|
}
|
||||||
|
if ('dinner' in food) {
|
||||||
|
content += 'Abendessen';
|
||||||
|
if ('dinnerdesc' in food) content += ' (' + food.dinnerdesc + ')';
|
||||||
|
content += ' am ' + day;
|
||||||
|
if (food.dinner > 0) content += ' für <b>' + (new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(food.dinner)) + '</b><br />';
|
||||||
|
else content += ' inklusive<br />';
|
||||||
|
}
|
||||||
|
$('#card-food').find('.content').append('<p>' + content + '</p>');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Weitere Informationen
|
||||||
|
if ('text' in facts) {
|
||||||
|
$('#card-text').show();
|
||||||
|
var p = $('#card-text').find('p');
|
||||||
|
p.text(facts.text);
|
||||||
|
p.html(p.html().replace(/\n/g, '<br />'));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$('#card-nofactsinfo').show();
|
||||||
|
}
|
||||||
|
|
||||||
|
hideLoader();
|
||||||
|
}
|
||||||
@@ -1,3 +1,10 @@
|
|||||||
|
Element.prototype.documentOffsetTop = function() {
|
||||||
|
return this.offsetTop + (this.offsetParent ? this.offsetParent.documentOffsetTop() : 0);
|
||||||
|
};
|
||||||
|
function scrollToToday() {
|
||||||
|
window.scrollTo({ top: document.getElementById('div-today').documentOffsetTop() - (window.innerHeight / 2), behavior: 'smooth' });
|
||||||
|
}
|
||||||
|
|
||||||
function selectChange(callSiteScript = true) {
|
function selectChange(callSiteScript = true) {
|
||||||
var val = $('#select-year').val();
|
var val = $('#select-year').val();
|
||||||
if (val == "user") {
|
if (val == "user") {
|
||||||
@@ -60,7 +67,7 @@ async function drawList () {
|
|||||||
var list = '';
|
var list = '';
|
||||||
rows.forEach(function (entry) {
|
rows.forEach(function (entry) {
|
||||||
if (entry == null) {
|
if (entry == null) {
|
||||||
list += '<div><div align="center" class="color-highlight"><b>Heute ist der ' + formatDate('d.m.Y', today) + '</b></div></div>';
|
list += '<div><div id="div-today" align="center" class="color-highlight"><b>Heute ist der ' + formatDate('d.m.Y', today) + '</b></div></div>';
|
||||||
} else if (search($('#input-search').val(), entry.keywords)) {
|
} else if (search($('#input-search').val(), entry.keywords)) {
|
||||||
list += entry.content;
|
list += entry.content;
|
||||||
}
|
}
|
||||||
@@ -76,6 +83,7 @@ var siteScript = async function() {
|
|||||||
$('#select-year').change(selectChange);
|
$('#select-year').change(selectChange);
|
||||||
$('#button-show').click(buttonShowPressed);
|
$('#button-show').click(buttonShowPressed);
|
||||||
$('#input-search').on('input', drawList);
|
$('#input-search').on('input', drawList);
|
||||||
|
$('#button-totoday').click(scrollToToday);
|
||||||
}
|
}
|
||||||
|
|
||||||
today = getToday();
|
today = getToday();
|
||||||
@@ -84,6 +92,9 @@ var siteScript = async function() {
|
|||||||
var maxDate = parseDate($('#input-to').val());
|
var maxDate = parseDate($('#input-to').val());
|
||||||
var regattas = await dbGetRegattasRange(minDate, maxDate);
|
var regattas = await dbGetRegattasRange(minDate, maxDate);
|
||||||
|
|
||||||
|
if (minDate <= today && maxDate >= today) $('#button-totoday').parent().parent().show();
|
||||||
|
else $('#button-totoday').parent().parent().hide();
|
||||||
|
|
||||||
var selectedYear = $('#select-year').val();
|
var selectedYear = $('#select-year').val();
|
||||||
|
|
||||||
var years = await dbGetData('years');
|
var years = await dbGetData('years');
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
define('PWA_VERSION', '1.11.7');
|
define('PWA_VERSION', '1.11.9');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
Reference in New Issue
Block a user