Scripts/New-UDButtonParticle.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-UDButtonParticle { param( [Parameter()] [string]$Id = (New-Guid).ToString(), [Parameter()] [object]$onClick, [Parameter()] [string]$Color = "#376693", [Parameter (Position = 0)] [string]$Text, [Parameter()] [int]$Duration = 1000, [Parameter()] [ValidateSet("fill", "stroke")] [String]$Style = "fill", [Parameter()] [ValidateSet("left", "right", "top", "bottom")] [String]$Direction = "right", [Parameter()] [int]$Padding = 150, [Parameter()] [int]$Amount = 3, [Parameter()] [int]$Oscillation = 20 ) End { if ($null -ne $onClick) { if ($onClick -is [scriptblock]) { $onClick = New-UDEndpoint -Endpoint $onClick -Id ($Id + "onClick") } elseif ($onClick -isnot [UniversalDashboard.Models.Endpoint]) { throw "onClick must be a script block or UDEndpoint." } $activeonClick = "true" } @{ # 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-ButtonParticle" # 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. text = $Text onClick = $activeonClick color = $Color duration = $Duration direction = $Direction style = $Style canvasPadding = $Padding particlesAmountCoefficient = $Amount oscillationCoefficient = $Oscillation } } } |