Scripts/New-UDTagCloud.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-UDTagCloud { param( [Parameter()] [string]$Id = (New-Guid).ToString(), [Parameter()] [string]$height = "200px", [Parameter()] [int]$padding = 5, [Parameter()] [string]$fontFamily = "sans-serif", [Parameter()] [int]$rotate = 0, [Parameter()] [array]$colorarray = @( '#3772ff', '#df2935', '#fdca40', '#09e85e', '#16c172', '#172a3a', '#004346', '#fa7921', '#fe9920', '#0c4767' ), [Parameter()] [scriptblock]$data, [Parameter()] [int]$fontSize, [Parameter()] [int]$timeInterval = 10000, [Parameter()] [ValidateSet("archimedean", "rectangular")] [string]$spiral = "archimedean" ) 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 = "UD-TagCloud" # 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 padding = $padding fontFamily = $fontFamily rotate = $rotate colorarray = $colorarray data = [array]$data.invoke() fontSize = $fontSize timeInterval = $timeInterval spiral = $spiral } } } |