Scripts/New-UDSimpleDrawer.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-UDSimpleDrawer { param( [Parameter()] [string]$Id = (New-Guid).ToString(), [Parameter()] [ValidateSet("top", "bottom", "left", "right")] [string]$Placement = "right", [Parameter()] [string]$Class = "btn", [Parameter()] [string]$ButtonText, [Parameter()] [bool]$Overlay = $true, [Parameter()] [bool]$Open = $false, [Parameter()] [bool]$CloseIcon = $true, [Parameter()] [bool]$CloseOnEscape = $true, [Parameter()] [bool]$CloseOnMask = $true, [Parameter()] [scriptblock]$Content ) 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-SimpleDrawer" # 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 buttonText = $ButtonText placement = $Placement maskable = $Overlay open = $Open closable = $CloseIcon closeOnEscapePress = $CloseOnEscape closeOnMaskClick = $CloseOnMask className = $Class content = $Content.Invoke() } } } |