"use strict"; function DataHandler() { let aCurrentPlayerData = []; this.getSelectedPlayerData = function () { let value = $('#playersTableBody tr input[name="selectedPlayer"]:checked').val(); if (value === "newPlayer") return getFormData(); let selectedRow = $('#playersTableBody tr input[name="selectedPlayer"]:checked').closest('tr'); return getTableRowData(selectedRow) } this.getEmail = function () { return $('#singleSubmit input[name="email"]').val().trim(); } this.getClubEmail = function () { return $('#clubSubmit input[name="email"]').val().trim(); } function getTableRowData(tableRow) { let playerData = {}; playerData.zps = tableRow.find('td:eq(0) input').val().trim(); playerData.first_name = tableRow.find('td:eq(2)').text().trim(); playerData.last_name = tableRow.find('td:eq(1)').text().trim(); playerData.club_name = tableRow.find('td:eq(3)').text().trim(); playerData.member_nr = tableRow.find('td:eq(4)').text().trim(); playerData.sex = tableRow.find('td:eq(5)').text().trim(); playerData.birth_year = tableRow.find('td:eq(6)').text().trim(); playerData.group = getSelectedGroup(); // Tournament return playerData } function getClubTableRowData(tableRow) { let playerData = {}; playerData.zps = tableRow.find('td:eq(0) input').val().trim(); // ID playerData.member_nr = tableRow.find('td:eq(0) input').attr('data-member-id').trim(); playerData.first_name = tableRow.find('td:eq(2)').text().trim(); // Index 2 for firstname playerData.last_name = tableRow.find('td:eq(1)').text().trim(); // Index 1 for lastname playerData.sex = tableRow.find('td:eq(3)').text().trim(); // Index 3 for gender playerData.birth_year = tableRow.find('td:eq(4)').text().trim(); // Index 4 for birth_year playerData.group = tableRow.find('td:eq(5) select').val().trim(); // Index 5 for tournament return playerData } function getFormData() { let formData = {}; formData.first_name = $('#newPlayerForm input[name="first_name"]').val().trim(); formData.last_name = $('#newPlayerForm input[name="last_name"]').val().trim(); formData.club_name = $('#newPlayerForm input[name="club"]').val().trim(); formData.sex = $('#newPlayerForm select[name="sex"] option:selected').val(); formData.birth_year = $('#newPlayerForm input[name="birth_year"]').val().trim(); formData.group = getSelectedGroup(); // Tournament return formData; } function getSelectedGroup() { try { return $('input[name="selectedTournament"]:checked').closest('tr').attr("data-id").trim(); } catch (e) { return "" } } this.setModalValues = function () { let modalBody = $('#summaryModal').find('.modal-body'); let playerData = this.getSelectedPlayerData() aCurrentPlayerData = [playerData]; modalBody.find('.firstname').text(playerData.first_name || ""); modalBody.find('.lastname').text(playerData.last_name || ""); modalBody.find('.club').text(playerData.club_name || ""); modalBody.find('.gender').text(playerData.sex || ""); modalBody.find('.birth_year').text(playerData.birth_year || ""); modalBody.find('.group').text(playerData.group || ""); } this.getClubPlayers = function () { let playerDataTable = $('#clubPlayersTable').DataTable(); let selectedRows = playerDataTable.$('input[name="clubPlayer"]:checked').closest('tr'); let aSelectedPlayers = [] aCurrentPlayerData = [] selectedRows.each(function () { aSelectedPlayers.push(getClubTableRowData($(this))) }) aCurrentPlayerData = aSelectedPlayers return aSelectedPlayers } this.getCurrentPlayerArray = function () { return aCurrentPlayerData; } }