document.body.onload=loadOwnedGames() document.getElementById('owned_nav').classList.add('active') async function loadOwnedGames() { const name_input = document.getElementById("name_input") const player_amount_input = document.getElementById("player_amount_input") var boardgame_datatable = new DataTable('.boardgame_table', { "pageLength":-1, "bLengthChange": false, "bPaginate": false, "info": false, ajax: { url: api_url + '/owned?filter_expansions_out=true', dataSrc: '' }, columns: [ { data: 'thumbnail_url', render: function (data,type){ return '' } }, { data: 'name' }, { data: 'min_players', render: function(data,type,row){ if (row.min_players != row.max_players){ return row.min_players + '-' + row.max_players }else{ return row.min_players } } }, { data: 'min_playing_time', render: function(data,type,row){ if (row.min_playing_time != row.max_playing_time){ return row.min_playing_time + '-' + row.max_playing_time }else{ return row.min_playing_time } } }, { data: 'weight' } ], columnDefs: [ { targets: 'no-sort', orderable: false }, { targets: '_all', orderSequence: [ 'asc', 'desc' ] } ], order: [[1, 'asc']] }); // Custom range filtering function boardgame_datatable.search.fixed('range', function (searchStr, data, index) { function isCorrectPlayerAmount(player_amount_wanted, min_players, max_players){ if ((player_amount_wanted >= min_players && player_amount_wanted <= max_players) || isNaN(player_amount_wanted)){ return true; } } function isCorrectName(game_name_wanted, game_name){ if (game_name.includes(game_name_wanted) || game_name_wanted == ""){ return true; } } var player_amount_wanted = parseInt(player_amount_input.value, 10); var min_players = parseFloat(data['min_players']) var max_players = parseFloat(data['max_players']) var game_name_wanted = name_input.value.toLowerCase() var game_name = data['name'].toLowerCase() if (isCorrectPlayerAmount(player_amount_wanted, min_players, max_players) && isCorrectName(game_name_wanted, game_name)){ return true; } return false; }); player_amount_input.addEventListener('input', function () { boardgame_datatable.draw(); }); name_input.addEventListener('input', function () { boardgame_datatable.draw(); }); $('.boardgame_table').on('click', 'tbody tr', function() { var boardgame_id = boardgame_datatable.row(this).data().id; window.location.href = "/boardgame?id=" + boardgame_id }) }