Product: PowerShell Universal
Version: 2.7.3 & 2.8.1
Been banging my head against the wall trying to get Sync-UDElement to work on a ChartJS. Come to find out it appears the same code on 2.7.3 works but doesn’t on 2.8.1. Am I missing something?
Clicking the button should update the values and colors in the doughnut chart.
Clicking on the slices should change the slice colors.
New-UDDashboard -Title "Test Dashboard" -Content {
#standard colors
$Default1 = '#7ec0d5'
$Default2 = '#f69bb1'
$Default3 = '#fcd375'
$Default4 = '#78e9cc'
$Default5 = '#b3a9d3'
#hover colors
$Default1H = '#118ab2'
$Default2H = '#ef476f'
$Default3H = '#f9ae00'
$Default4H = '#06d6a0'
$Default5H = '#7261ad'
#deselected colors
$Default1D = '#d4eaf1'
$Default2D = '#fcdee5'
$Default3D = '#fef0d1'
$Default4D = '#d2f8ee'
$Default5D = '#e6e2f0'
#intermediate colors
$session:Color1 = $Default1
$session:Color2 = $Default2
$session:Color3 = $Default3
$session:Color4 = $Default4
$session:Color5 = $Default5
$session:ChartData = @(
@{Name = 'Option1'; Options = 1 }
@{Name = 'Option2'; Options = 1 }
@{Name = 'Option3'; Options = 1 }
@{Name = 'Option4'; Options = 1 }
@{Name = 'Option5'; Options = 1 }
)
New-UDButton -Text 'Update' -OnClick {
$session:ChartData = @(
@{Name = 'Option1'; Options = 2 }
@{Name = 'Option2'; Options = 1 }
@{Name = 'Option3'; Options = 3 }
@{Name = 'Option4'; Options = 1 }
@{Name = 'Option5'; Options = 1 }
)
$session:Color1 = $Default1D
$session:Color2 = $Default2D
$session:Color3 = $Default3D
$session:Color4 = $Default4D
$session:Color5 = $Default5H
Sync-UDElement -Id 'Dynamic123'
}
New-UDDynamic -Id 'Dynamic123' -Content {
$ChartOptions = @{
Id = 'ChartID1'
Data = $session:ChartData
BackgroundColor = ($session:Color1, $session:Color2, $session:Color3, $session:Color4, $session:Color5)
HoverBackgroundColor = ($Default1H, $Default2H, $Default3H, $Default4H, $Default5H)
Type = 'doughnut'
DataProperty = 'Options'
LabelProperty = 'Name'
OnClick = {
$SelectedItem = ($Body | ConvertFrom-Json).Label
switch ($SelectedItem) {
'Option1' {
$session:Color1 = $Default1H
$session:Color2 = $Default2D
$session:Color3 = $Default3D
$session:Color4 = $Default4D
$session:Color5 = $Default5D
}
'Option2' {
$session:Color1 = $Default1D
$session:Color2 = $Default2H
$session:Color3 = $Default3D
$session:Color4 = $Default4D
$session:Color5 = $Default5D
}
'Option3' {
$session:Color1 = $Default1D
$session:Color2 = $Default2D
$session:Color3 = $Default3H
$session:Color4 = $Default4D
$session:Color5 = $Default5D
}
'Option4' {
$session:Color1 = $Default1D
$session:Color2 = $Default2D
$session:Color3 = $Default3D
$session:Color4 = $Default4H
$session:Color5 = $Default5D
}
'Option5' {
$session:Color1 = $Default1D
$session:Color2 = $Default2D
$session:Color3 = $Default3D
$session:Color4 = $Default4D
$session:Color5 = $Default5H
}
default {
$session:Color1 = $Default1
$session:Color2 = $Default2
$session:Color3 = $Default3
$session:Color4 = $Default4
$session:Color5 = $Default5
}
}
Sync-UDElement -Id 'Dynamic123'
}
}
New-UDChartJS @ChartOptions
}
}