angular.module("teamRoster", []) .directive('teamRoster', function() { return { restrict: 'E', replace: true, scope: { game: '=', team: '=', playerSelection: '=', rosterLabel: '=', toggleAllPlayers: '&', togglePlayerSelection: '&' }, template: '
' + '

{{rosterLabel}}

' + '
' + '' + '
' + '' + '
', controller: function ($scope) { $scope.blurMe = function ($event) { $event.target.blur(); } $scope.getActiveStyle = function (getStyle) { var returnStyle = {}; if (typeof $scope.team !== 'undefined') { if (getStyle == true) { returnStyle['background-color'] = '#'+ $scope.team.homePrimaryColor; returnStyle['color'] = '#FFFFFF'; returnStyle['border-color'] = '#'+ $scope.team.homeSecondaryColor; } else { returnStyle['color'] = '#'+ $scope.team.homePrimaryColor; } } return returnStyle; } $scope.handlePlayerClick = function (event, player) { //if (event.metaKey || event.ctrlKey) { $scope.togglePlayerSelection({ player: player }); //} //else { // $scope.selectAllPlayers(); // $scope.togglePlayerSelection({ // player: player // }); //} } $scope.playerInSelection = function (player) { returnFlag = false; if ($scope.playerIndexInSelection(player) >= 0) { returnFlag = true; } return returnFlag; } $scope.playerIndexInSelection = function (player) { returnIndex = -1; for (var i=0;i<$scope.playerSelection.set.length;i++) { if (player.id == $scope.playerSelection.set[i].id) { returnIndex = i; break; } } return returnIndex; } } // end of controller }; // end of directoive factory })