Scripts/New-GoogleBarChart.ps1
<# .SYNOPSIS Sample control for UniversalDashboard. .DESCRIPTION Sample control function for UniversalDashboard. This function must have an ID and return a hash table. .PARAMETER Id An id for the component default value will be generated by new-guid. .EXAMPLE PS C:\> <example usage> Explanation of what the example does .INPUTS Inputs (if any) .OUTPUTS Output (if any) .NOTES General notes #> function New-GoogleBarChart { param( [Parameter()] [string]$Id = (New-Guid).ToString(), [Parameter()] [ValidateSet('BarChart', 'ColumnChart')]$ChartType = 'BarChart', [Parameter(Mandatory)] [System.Collections.ArrayList]$Data, [Parameter()] [string]$Width = "500px", [Parameter()] [string]$Height = "500px", [Parameter()] [string]$Title, [Parameter()] [string]$BackgroundColor = '#FFF', [Parameter()] [string]$ChartArea = '70%', [Parameter()] [string]$TitleFontColor = '#000', [Parameter()] [int]$TitleFontSize = 25, [Parameter()] [ValidateSet('top', 'bottom', 'left', 'right', 'none', 'in')] $LegendPosition = 'right', [Parameter()] [int]$LegendFontSize = 16, [Parameter()] [string]$LegendFontColor = '#000', [Parameter()] [ValidateSet('linear', 'in', 'out', 'inAndOut')] $Animation = 'linear', [Parameter()] [int]$AnimationDuration = 2000, [Parameter()] [bool]$Stacked = $false, [Parameter()] [string]$BottomTitle, [Parameter()] [int]$StartingValue = 0, [Parameter()] [string]$VerticalTitle ) End { @{ # The AssetID of the main JS File assetId = $AssetId # Tell UD this is a plugin isPlugin = $true # This ID must be the same as the one used in the JavaScript to register the control with UD type = "Google-BarChart" # An ID is mandatory id = $Id # This is where you can put any other properties. They are passed to the React control's props # The keys are case-sensitive in JS. chartType = $ChartType data = $Data width = $Width height = $Height title = $Title backgroundColor = $BackgroundColor chartArea = $ChartArea color = $TitleFontColor fontSize = $TitleFontSize position = $LegendPosition legendSize = $LegendFontSize legendColor = $LegendFontColor easing = $Animation isStacked = $Stacked bottomTitle = $BottomTitle minValue = $StartingValue verticalTitle = $VerticalTitle duration = $AnimationDuration } } } |