Scripts/New-UDGaugeChart.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-UDGaugeChart { param( [Parameter()] [string]$Id = (New-Guid).ToString(), [Parameter()] [int]$Height = 120, [Parameter()] [int]$Width = 400, [Parameter()] [int]$RedFrom = 90, [Parameter()] [int]$RedTo = 100, [Parameter()] [int]$YellowFrom = 75, [Parameter()] [int]$YellowTo = 90, [Parameter()] [int]$MinorTicks = 5, [Parameter()] [scriptblock]$Data ) End { [System.Collections.ArrayList]$MainData = @() foreach ($Item in [array]$Data.Invoke()) { [System.Collections.ArrayList]$ItemData = @( $Item.Label $Item.Value ) $MainData.Add($ItemData) | Out-Null } @{ # 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 = "UD-GaugeChart" # 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. height = $Height width = $Width redFrom = $RedFrom redTo = $RedTo yellowFrom = $YellowFrom yellowTo = $YellowTo minorTicks = $MinorTicks data = $MainData } } } |