Skip to content

Instantly share code, notes, and snippets.

@sk82jack
Created November 2, 2019 12:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sk82jack/d8f47381ae866fdf5eb3c4489fe20349 to your computer and use it in GitHub Desktop.
Save sk82jack/d8f47381ae866fdf5eb3c4489fe20349 to your computer and use it in GitHub Desktop.
$Images = @{
ARS = 'https://draftfantasyfootball.co.uk/badges/ARS.png'
AVL = 'https://draftfantasyfootball.co.uk/badges/AVL.png'
BHA = 'https://draftfantasyfootball.co.uk/badges/BHA.png'
BOU = 'https://draftfantasyfootball.co.uk/badges/BOU.png'
BUR = 'https://draftfantasyfootball.co.uk/badges/BUR.png'
CHE = 'https://draftfantasyfootball.co.uk/badges/CHE.png'
CRY = 'https://draftfantasyfootball.co.uk/badges/CRY.png'
EVE = 'https://draftfantasyfootball.co.uk/badges/EVE.png'
LEI = 'https://draftfantasyfootball.co.uk/badges/LEI.png'
LIV = 'https://draftfantasyfootball.co.uk/badges/LIV.png'
MCI = 'https://draftfantasyfootball.co.uk/badges/MCI.png'
MUN = 'https://draftfantasyfootball.co.uk/badges/MUN.png'
NEW = 'https://draftfantasyfootball.co.uk/badges/NEW.png'
NOR = 'https://draftfantasyfootball.co.uk/badges/NOR.png'
SHU = 'https://draftfantasyfootball.co.uk/badges/SHU.png'
SOU = 'https://draftfantasyfootball.co.uk/badges/SOU.png'
TOT = 'https://draftfantasyfootball.co.uk/badges/TOT.png'
WAT = 'https://draftfantasyfootball.co.uk/badges/WAT.png'
WHU = 'https://draftfantasyfootball.co.uk/badges/WHU.png'
WOL = 'https://draftfantasyfootball.co.uk/badges/WOL.png'
}
$TeamJson = @'
{
"Players":
[
{
"WebName": "Pope",
"TeamNameShort": "BUR",
"ElementTypeId": 1,
"IsSub": false,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Alexander-Arnold",
"TeamNameShort": "LIV",
"ElementTypeId": 2,
"IsSub": false,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Doherty",
"TeamNameShort": "WOL",
"ElementTypeId": 2,
"IsSub": false,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Montoya",
"TeamNameShort": "BHA",
"ElementTypeId": 2,
"IsSub": false,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Eriksen",
"TeamNameShort": "TOT",
"ElementTypeId": 3,
"IsSub": false,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Fraser",
"TeamNameShort": "BOU",
"ElementTypeId": 3,
"IsSub": false,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Propper",
"TeamNameShort": "BHA",
"ElementTypeId": 3,
"IsSub": false,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Maddison",
"TeamNameShort": "LEI",
"ElementTypeId": 3,
"IsSub": false,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Barnes",
"TeamNameShort": "LEI",
"ElementTypeId": 3,
"IsSub": false,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Deeney",
"TeamNameShort": "WAT",
"ElementTypeId": 4,
"IsSub": false,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Sharp",
"TeamNameShort": "SHU",
"ElementTypeId": 4,
"IsSub": false,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "McNeil",
"TeamNameShort": "BUR",
"ElementTypeId": 3,
"IsSub": true,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Rudiger",
"TeamNameShort": "CHE",
"ElementTypeId": 2,
"IsSub": true,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Aurier",
"TeamNameShort": "TOT",
"ElementTypeId": 2,
"IsSub": true,
"TeamAgainst": "vs ARS (A)"
},
{
"WebName": "Lo Celso",
"TeamNameShort": "TOT",
"ElementTypeId": 3,
"IsSub": true,
"TeamAgainst": "vs ARS (A)"
}
]
}
'@
$Team = $TeamJson | ConvertFrom-Json
$Theme = New-UDTheme -Parent Default -Name 'test_theme' -Definition @{
'.card .card-image img' = @{
'width' = 'unset'
'margin' = 'auto'
'max-height' = '72px'
}
'.card .card-content .card-title' = @{
'text-align' = 'center'
'margin-bottom' = '0px'
}
'.card .card-content' = @{
'padding' = 'unset'
}
}
Get-UDDashboard | Where Port -eq 10001 | Stop-UDDashboard
Start-UDDashboard -Port 10001 -Dashboard (
New-UDDashboard -Title Test -Theme $Theme -EndpointInitialization (New-UDEndpointInitialization -Variable 'Team', 'Images') -Pages (
New-UDPage -Name 'Test' -Endpoint {
New-UDCollapsible -Items {
$Subs = $Team.Players.Where{$_.IsSub}
$GK = $Team.Players.Where{(-not $_.IsSub) -and $_.ElementTypeId -eq 1}
$DEF = $Team.Players.Where{(-not $_.IsSub) -and $_.ElementTypeId -eq 2}
$MID = $Team.Players.Where{(-not $_.IsSub) -and $_.ElementTypeId -eq 3}
$FWD = $Team.Players.Where{(-not $_.IsSub) -and $_.ElementTypeId -eq 4}
New-UDCollapsibleItem -Title 'Test team' -Content {
New-UDRow -Columns {
New-UDColumn -SmallSize 2 -SmallOffset 4 -Content {
New-UDCard -Title $GK.WebName -Text $GK.TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$GK.TeamNameShort]
)
}
}
New-UDRow -Columns {
if ($DEF.Count -eq 3) {
New-UDColumn -SmallSize 2 -SmallOffset 2 -Content {
New-UDCard -Title $DEF[0].WebName -Text $DEF[0].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$DEF[0].TeamNameShort]
)
}
foreach ($Defender in $DEF[1..2]) {
New-UDColumn -SmallSize 2 {
New-UDCard -Title $Defender.WebName -Text $Defender.TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$Defender.TeamNameShort]
)
}
}
}
elseif ($DEF.Count -eq 4) {
New-UDColumn -SmallSize 2 {
New-UDCard -Title $DEF[0].WebName -Text $DEF[0].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$DEF[0].TeamNameShort]
)
}
New-UDColumn -SmallSize 2 {
New-UDCard -Title $DEF[1].WebName -Text $DEF[1].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$DEF[1].TeamNameShort]
)
}
New-UDColumn -SmallSize 2 -SmallOffset 2 {
New-UDCard -Title $DEF[2].WebName -Text $DEF[2].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$DEF[2].TeamNameShort]
)
}
New-UDColumn -SmallSize 2 {
New-UDCard -Title $DEF[3].WebName -Text $DEF[3].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$DEF[3].TeamNameShort]
)
}
}
elseif ($DEF.Count -eq 5) {
New-UDColumn -SmallSize 2 -Content {
New-UDCard -Title $DEF[0].WebName -Text $DEF[0].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$DEF[0].TeamNameShort]
)
}
foreach ($Defender in $DEF[1..4]) {
New-UDColumn -SmallSize 2 {
New-UDCard -Title $Defender.WebName -Text $Defender.TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$Defender.TeamNameShort]
)
}
}
}
}
New-UDRow -Columns {
if ($MID.Count -eq 2) {
New-UDColumn -SmallSize 2 -SmallOffset 2 {
New-UDCard -Title $MID[0].WebName -Text $MID[0].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$MID[0].TeamNameShort]
)
}
New-UDColumn -SmallSize 2 -SmallOffset 2 {
New-UDCard -Title $MID[1].WebName -Text $MID[1].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$MID[1].TeamNameShort]
)
}
}
elseif ($MID.Count -eq 3) {
New-UDColumn -SmallSize 2 -SmallOffset 2 -Content {
New-UDCard -Title $MID[0].WebName -Text $MID[0].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$MID[0].TeamNameShort]
)
}
foreach ($Midfielder in $MID[1..2]) {
New-UDColumn -SmallSize 2 {
New-UDCard -Title $Midfielder.WebName -Text $Midfielder.TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$Midfielder.TeamNameShort]
)
}
}
}
elseif ($MID.Count -eq 4) {
New-UDColumn -SmallSize 2 {
New-UDCard -Title $MID[0].WebName -Text $MID[0].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$MID[0].TeamNameShort]
)
}
New-UDColumn -SmallSize 2 {
New-UDCard -Title $MID[1].WebName -Text $MID[1].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$MID[1].TeamNameShort]
)
}
New-UDColumn -SmallSize 2 -SmallOffset 2 {
New-UDCard -Title $MID[2].WebName -Text $MID[2].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$MID[2].TeamNameShort]
)
}
New-UDColumn -SmallSize 2 {
New-UDCard -Title $MID[3].WebName -Text $MID[3].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$MID[3].TeamNameShort]
)
}
}
elseif ($MID.Count -eq 5) {
New-UDColumn -SmallSize 2 {
New-UDCard -Title $MID[0].WebName -Text $MID[0].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$MID[0].TeamNameShort]
)
}
foreach ($Midfielder in $MID[1..4]) {
New-UDColumn -SmallSize 2 {
New-UDCard -Title $Midfielder.WebName -Text $Midfielder.TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$Midfielder.TeamNameShort]
)
}
}
}
}
New-UDRow -Columns {
if ($FWD.Count -eq 3) {
New-UDColumn -SmallSize 2 -SmallOffset 2 -Content {
New-UDCard -Title $FWD[0].WebName -Text $FWD[0].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$FWD[0].TeamNameShort]
)
}
foreach ($Forward in $FWD[1..2]) {
New-UDColumn -SmallSize 2 {
New-UDCard -Title $Forward.WebName -Text $Forward.TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$Forward.TeamNameShort]
)
}
}
}
elseif ($FWD.Count -eq 2) {
New-UDColumn -SmallSize 2 -SmallOffset 2 {
New-UDCard -Title $FWD[0].WebName -Text $FWD[0].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$FWD[0].TeamNameShort]
)
}
New-UDColumn -SmallSize 2 -SmallOffset 2 -Content {
New-UDCard -Title $FWD[1].WebName -Text $FWD[1].TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$FWD[1].TeamNameShort]
)
}
}
elseif ($FWD.Count -eq 1) {
New-UDColumn -SmallSize 2 -SmallOffset 4 -Content {
New-UDCard -Title $FWD.WebName -Text $FWD.TeamAgainst -TextAlignment center -Image (
New-UDImage -Url $Images[$FWD.TeamNameShort]
)
}
}
}
}
}
}
)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment