Scripts/New-GoogleTable.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-GoogleTable { param( [Parameter()] [string]$Id = (New-Guid).ToString(), [Parameter(Mandatory)] [System.Collections.ArrayList]$Data, [Parameter()] [string]$Width = "500px", [Parameter()] [string]$Height = "500px", [Parameter()] [int]$ColumnWidth = 120, [Parameter()] [bool]$RowNumber = $true, [Parameter()] [int]$FirstRow = 1, [Parameter()] [int]$FrozenColumn, [Parameter()] [ValidateSet('enable', 'event', 'disable')]$Paging = 'disabled', [Parameter()] [int]$TableRows = 10, [Parameter()] [bool]$SortAscending = $true, [Parameter()] [int]$SortColumn ) 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 = "Google-Table" # 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. data = $Data width = $Width height = $Height columnWidth = $ColumnWidth showRowNumber = $RowNumber firstRowNumber = $FirstRow frozenColumns = $FrozenColumn page = $Paging pageSize = $TableRows sortAscending = $SortAscending sortColumn = $SortColumn } } } |