Skip to content

Instantly share code, notes, and snippets.

@wstrinz
Created November 27, 2015 03:57
Show Gist options
  • Save wstrinz/e2dd63f914b0e1a5e6c2 to your computer and use it in GitHub Desktop.
Save wstrinz/e2dd63f914b0e1a5e6c2 to your computer and use it in GitHub Desktop.
var getAttrs = function(els, attr) {
return jQuery.map(els, function(el) { return jQuery(el).attr(attr); });
};
var getStarters = function() {
var els = jQuery('.MyLineup > table').not('.SitTable').find('tbody > tr > td > a.fpIcon');
var getPlayerName = function(str) {
return str.match(/(\w+)-(\w+)\.php$/).slice(1).join('-');
};
var getPlayerDeets = function(title) {
var mat = title.match(/(\w+ \w+) \((\w+) - (\w+)\)/);
var name = mat[1].toLowerCase().replace(' ', '-');
var team = mat[2];
var pos = mat[3];
return {name: name, team: team, pos: pos};
};
return jQuery.map(getAttrs(els, 'title'), getPlayerDeets);
};
var idForName = function(playerName) {
playerEl = jQuery.grep(jQuery('.playertablePlayerName'), function(el) {
return jQuery(el).find('a').text().toLowerCase().gsub(" ", "-") == playerName;
});
return parseInt(jQuery(playerEl).attr('id').match(/playername_(\d+)/)[1]);
};
var hasHereButton = function(rowEl){
return jQuery(rowEl).find('.pncButtonHere').length > 0;
};
var availableRowsForPos = function(pos) {
return jQuery.grep(jQuery('.pncPlayerRow'), function(el){
return jQuery(el).find('td.playerSlot').text() == pos && hasHereButton(el);
});
};
var swapPlayers = function(playerA, playerB) {
// find id for players
// click move on player A
// find 'here' for player B
// click 'here'
};
var selectPlayer = function(){};
var movePlayer = function(normalizedName, targetPos, targetIdx) {
var playerId = idForName(normalizedName);
rosterManager.selectPlayer(playerId);
setTimeout(function(){
var potentialSlots = availableRowsForPos(targetPos);
var target = potentialSlots[targetIdx];
if(!target){
console.log(targetIdx + ' not available for ' + targetPos + ', trying first of:', potentialSlots);
target = potentialSlots[0];
}
jQuery(target).find('.playerEditSlot > .pncButtonHere').click();
}, 100);
};
var playerNames = function(){
return jQuery.map(jQuery('.playertablePlayerName > a'), function(el) {
return jQuery(el).text();
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment