Difference between revisions of "MediaWiki:Common.js"
From Observer GigaFlow Support | VIAVI Solutions Inc.
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
function timeStamp_AttackStrategies_js() { | function timeStamp_AttackStrategies_js() { | ||
return "2014.07.20 00:47 (UTC-7)"; | return "2014.07.20 00:47 (UTC-7)"; | ||
Line 263: | Line 242: | ||
} | } | ||
} | } | ||
− | |||
− |
Revision as of 11:04, 15 November 2018
function timeStamp_AttackStrategies_js() { return "2014.07.20 00:47 (UTC-7)"; } window.onload = function() { attackStrategyReset(); }; function attackStrategyFilter() { var minTH = document.getElementById("min-town-hall").value; var maxTH = document.getElementById("max-town-hall").value; var minTrophies = document.getElementById("min-trophies").value; var maxTrophies = document.getElementById("max-trophies").value; var troopFilter = $('#troop-filter-text').html(); var filterType = $('#troop-filter-type-text').html(); var troops; if (minTH === '') minTH = 0; else minTH = Number(minTH); if (maxTH === '') maxTH = 99; else maxTH = Number(maxTH); if (minTrophies === '') minTrophies = 0; else minTrophies = Number(minTrophies); if (maxTrophies === '') maxTrophies = 999999; else maxTrophies = Number(maxTrophies); if (minTH < 0) minTH = 0; if (maxTH < minTH) maxTH = minTH; if (minTrophies < 0) minTrophies = 0; if (maxTrophies < minTrophies) maxTrophies = minTrophies; if (troopFilter.toLowerCase() === 'all') troops = true; else if (troopFilter.toLowerCase() === 'none') troops = false; else { troops = troopFilter.split(', '); } var tbl = document.getElementById('attack-strategies-results'); var tr = tbl.getElementsByTagName('tr'); var troopList = troopInfo('list', 'trainable'); for (var i = 1; i < tr.length; i ++) { var td = tr[i].getElementsByClassName('attack-strategy-hidden-field'); var currMinTH = Number(td[0].innerHTML); var currMaxTH = Number(td[1].innerHTML); var currMinTrophies = Number(td[2].innerHTML); var currMaxTrophies = Number(td[3].innerHTML); if (currMinTH > maxTH || currMaxTH < minTH || currMinTrophies > maxTrophies || currMaxTrophies < minTrophies) $(tr[i]).css({'display': 'none'}); else if (troops === true && filterType === 'Includes') $(tr[i]).css({'display': ''}); else if (troops === false && filterType === 'Excludes') $(tr[i]).css({'display': ''}); else if (troops === true && filterType === 'Only') $(tr[i]).css({'display': ''}); else if (troops === false && filterType === 'Includes') $(tr[i]).css({'display': 'none'}); else if (troops === true && filterType === 'Excludes') $(tr[i]).css({'display': 'none'}); else if (troops === false && filterType === 'Only') $(tr[i]).css({'display': 'none'}); else if (filterType === 'Includes') { var include = false; for (var j = 0; j < troops.length; j ++) { var idx = tableIndex(troops[j]); if (idx >= 0 && td[idx].innerHTML === 'Yes') { include = true; break; } } $(tr[i]).css({'display': (include ? '' : 'none')}); } else if (filterType === 'Excludes') { var include = true; for (var j = 0; j < troops.length; j ++) { var idx = tableIndex(troops[j]); if (idx >= 0 && td[idx].innerHTML === 'Yes') { include = false; break; } } $(tr[i]).css({'display': (include ? '' : 'none')}); } else if (filterType === 'Only') { var include = false; for (var j = 0; j < troops.length; j ++) { var idx = tableIndex(troops[j]); if (idx >= 0 && td[idx].innerHTML === 'Yes') { include = true; break; } } if (include) { for (var j = 0; j < troopList.length; j ++) { var idx = tableIndex(troopList[j]); if (!hasTroop(troopList[j]) && idx >= 0 && td[idx].innerHTML === 'Yes') { include = false; break; } } } $(tr[i]).css({'display': (include ? '' : 'none')}); } else { $(tr[i]).css({'display': ''}); } } function hasTroop(trooptype) { if (troops === true || troops === false) return troops; return troops.indexOf(trooptype) >= 0; } function tableIndex(trooptype) { var idx = $('#troop-filter-selector option[value="' + trooptype + '"]').index(); return (idx >= 0 ? idx + 4 : idx); } } function attackStrategyReset() { document.getElementById("min-town-hall").value = 1; document.getElementById("max-town-hall").value = ''; document.getElementById("min-trophies").value = 0; document.getElementById("max-trophies").value = ''; document.getElementById("troop-filter-text").innerHTML = 'All'; document.getElementById("troop-filter-type-text").innerHTML = 'Includes'; document.getElementById("troop-filter-type-text").title = 'Will show all attack strategies that include at least one of the selected troop types.'; attackStrategyFilter(); } function troopFilterInitiate() { doTroopSelect($('#troop-filter-text').html()); $('#troop-filter-type').val($('#troop-filter-type-text').html()); $('#troop-background').addClass('window-visible'); } function troopFilterCancel() { $('#troop-background').removeClass('window-visible'); } function troopFilterExecute() { var select = $('#troop-filter-selector'); var all = true; var none = true; var selection = []; $('option', select).each(function(idx) { if ($(this).prop('selected')) { selection.push($(this).val()); none = false; } else all = false; }); if (none) $('#troop-filter-text').html('None'); else if (all) $('#troop-filter-text').html('All'); else $('#troop-filter-text').html(selection.join(', ')); $('#troop-filter-type-text').html($('#troop-filter-type').val()); switch ($('#troop-filter-type').val()) { case 'Includes': $('#troop-filter-type-text').prop('title', 'Will show all attack strategies that include at least one of the selected troop types.'); break; case 'Excludes': $('#troop-filter-type-text').prop('title', 'Will show all attack strategies that do not include any of the selected troop types.'); break; case 'Only': $('#troop-filter-type-text').prop('title', 'Will show all attack strategies that include only the selected troop types.'); break; } troopFilterCancel(); } function troopSelectNone() { doTroopSelect('none'); } function troopSelectAll() { doTroopSelect('all'); } function doTroopSelect(selection) { var select = $('#troop-filter-selector'); if (selection.toLowerCase() === 'all') $('option', select).prop('selected', true); else if (selection.toLowerCase() === 'none') $('option', select).prop('selected', false); else { var selects = selection.split(', '); $('option', select).each(function(idx) { $(this).prop('selected', selects.indexOf($(this).val()) >= 0); }); } }