Scripts/New-UDBurger.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-UDBurger { param( [Parameter()] [string]$Id = (New-Guid).ToString(), [Parameter()] [ValidateSet( "slide", "stack", "elastic", "bubble", "push", "pushRotate", "scaleDown", "scaleRotate", "fallDown", "reveal" )]$Effect = "pushRotate", #effect for menu [Parameter()] [scriptblock]$Links, #provide links for the menu [Parameter()] [scriptblock]$Content, #Content of dashboard page [Parameter()] [Switch]$Right, #Will open the menu on the right hand side [Parameter()] [string]$BurgerMarginLeft, #To position the menu more to the right [Parameter()] [string]$BurgerBackgroundColor = "#373a47", #Burger menu background [Parameter()] [string]$BurgerHoverColor = "#a90000", #Burger menu hover color [Parameter()] [string]$MenuCrossColor = "#bdc3c7", #Cross to close the menu color [Parameter()] [string]$MenuInnerColor = "#3F51B5", #Inner menu background color [Parameter()] [string]$MenuOuterColor = "#1B224B", #Outer menu background color [Parameter()] [string]$MorphShapeFill = "#373a47", [Parameter()] [ValidateSet("fixed", "absolute")]$BurgerPosition = "absolute", #To scroll with the page or not [Parameter()] [string]$BurgerTop = "16px", #Top margin for burger menu [Parameter()] [string]$BurgerWidth = "36px", #Sets width of the burger menu [Parameter()] [string]$BurgerHeight = "30px", #Sets height of the burger menu [Parameter()] [string]$BurgerLeft = "36px", #Determines how far left of the page to display burger menu [Parameter()] [string]$Padding = "0px 50px 0px 50px", #Padding for the main content of the page [Parameter()] [string]$MenuMarginLeft = "-50px", #Allows you to set the left margin of the menu [Parameter()] [string]$MenuMarginRight, #Allows you to set the margin right of the menu [Parameter()] [string]$MenuMarginBottom = "-20px", #Prevents little gap at the bottom of the page [Parameter()] [string]$MenuWidth = "300px", #This is defaulted to 300px [Parameter()] [string]$InnerMenuWidth = "300px", #Adjusts the coloured inner menu width [Parameter()] [decimal]$BurgerOpacity = 1 #Visibility of the button 0 sets it to invisible ) 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-Burger" # 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. tag = $Effect links = $Links.Invoke() content = $Content.Invoke() right = $Right.IsPresent burgerMarginLeft = $BurgerMarginLeft burgerBackground = $BurgerBackgroundColor burgerHover = $BurgerHoverColor crossColor = $MenuCrossColor menuInnerColor = $MenuInnerColor menuOuterColor = $MenuOuterColor morphShapeFill = $MorphShapeFill burgerPosition = $BurgerPosition burgerTop = $BurgerTop burgerWidth = $BurgerWidth burgerHeight = $BurgerHeight burgerLeft = $BurgerLeft padding = $Padding menuMarginLeft = $MenuMarginLeft menuMarginRight = $MenuMarginRight menuMarginBottom = $MenuMarginBottom menuWidth = $MenuWidth innerMenuWidth = $InnerMenuWidth burgerOpacity = $BurgerOpacity } } } |