Scripts/New-UDFileIcon.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-UDFileIcon { param( [Parameter()] [string]$Id = (New-Guid).ToString(), [Parameter()] [string]$Color, [Parameter()] [string]$Extension, [Parameter()] [bool]$Fold, [Parameter()] [string]$FoldColor, [Parameter()] [string]$GlyphColor, [Parameter()] [string]$GradientColor, [Parameter()] [decimal]$GradientOpacity, [Parameter()] [string]$LabelColor, [Parameter()] [string]$LabelTextColor, [Parameter()] [bool]$LabelUppercase, [Parameter()] [int]$Radius, [Parameter()] [ValidateSet( "3d", "acrobat", "audio", "binary", "code", "compressed", "document", "drive", "font", "image", "presentation", "settings", "spreadsheet", "vector", "video" )] [string]$FileType ) 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-FileIcon" # 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. color = $Color extension = $Extension fold = $Fold foldColor = $FoldColor glyphColor = $GlyphColor gradientColor = $GradientColor gradientOpacity = $GradientOpacity labelColor = $LabelColor labelTextColor = $LabelTextColor labelUppercase = $LabelUppercase radius = $Radius fileType = $FileType } } } |