Scripts/New-GoogleHistogram.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-GoogleHistogram { param( [Parameter()] [string]$Id = (New-Guid).ToString(), [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('linear', 'in', 'out', 'inAndOut')] $Animation = 'linear', [Parameter()] [int]$AnimationDuration = 2000, [Parameter()] [ValidateSet('horizontal', 'vertical')]$Orientation = 'vertical', [Parameter()] [string]$Colors = 'blue' ) 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-Histogram" # 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. data = $Data width = $Width height = $Height title = $Title backgroundColor = $BackgroundColor chartArea = $ChartArea color = $TitleFontColor fontSize = $TitleFontSize orientation = $Orientation easing = $Animation duration = $AnimationDuration colors = $Colors } } } |