Public/Page.ps1
function Move-MonoclePage { [CmdletBinding()] param( [Parameter(ParameterSetName='To')] [ValidateSet('Bottom', 'Middle', 'Top')] [string] $To, [Parameter(ParameterSetName='Position')] [int] $Position ) if ($PSCmdlet.ParameterSetName -ieq 'to') { $size = Get-MonoclePageSize $Position = (@{ Bottom = $size.Height Middle = $size.Height * 0.5 Top = 0 })[$To] } Write-MonocleHost -Message "Scrolling to: $Position" Invoke-MonocleJavaScript -Arguments $Position -Script 'window.scrollTo(0, arguments[0])' | Out-Null } function Get-MonoclePageSize { [CmdletBinding()] param() return @{ Height = (Invoke-MonocleJavaScript -Script 'return document.body.scrollHeight') Width = (Invoke-MonocleJavaScript -Script 'return document.body.scrollWidth') } } |