Private/CmdletHelp/_CmdletHelpUIEvents.ps1
function _CmdletHelpUIEvents { #region General UI $CmdletHelp.Add_SourceInitialized({ _OnCmdletHelpSourceInitialized }) $CmdletHelp.Add_Activated({ if ($HomeWindow) { $HomeWindow_LoadingLabel.Visibility = 'Hidden' } }) $CmdletHelp.Add_Closing({ if ($HomeWindow) { $_.Cancel = $true $CmdletHelp.hide() } else { # $CmdletHelp.close() } }) #endregion $CmdletHelp_DropdownButton.Add_Click({ # This uses the Marlett font. $UpArrow = '5' $DownArrow = '6' switch ($CmdletHelp_DropdownButton.Content) { $UpArrow { $CmdletHelp_FilterStackPanel.Visibility = 'Collapsed' $CmdletHelp_DropdownButton.Content = $DownArrow } $DownArrow { $CmdletHelp_FilterStackPanel.Visibility = 'Visible' $CmdletHelp_DropdownButton.Content = $UpArrow } Default { } } }) $CmdletHelp_FilterTextBox.Add_SelectionChanged({ $InputText = $CmdletHelp_FilterTextBox.Text $FilterType = $CmdletHelp_FilterComboBox.Text switch ($FilterType) { 'Cmdlet Names' { $filter = "[Name] LIKE '%$InputText%'" } 'Content' { # I'm not putting this header in the datagrid so it can't filter on it. $filter = "[ScriptBlock] LIKE '%$InputText%'" } Default { } } $CmdletDataTable.DefaultView.RowFilter = $filter $CmdletHelp_CmdletDataGrid.ItemsSource = $CmdletDataTable.DefaultView }) $CmdletHelp_LookupButton.Add_Click({ # $Repository = $CmdletHelp_PSRepositoryComboBox.Text _PopulateCmdletDataGrid -Repository $CmdletHelp_PSRepositoryComboBox.Text }) $CmdletHelp_CmdletDataGrid.Add_SelectionChanged({ $SelectedItem = $CmdletHelp_CmdletDataGrid.SelectedItem $CmdletHelp_CmdletTextBlock.Text = '' if ($SelectedItem) { $CmdletHelp_ScrollViewer.Visibility = 'Visible' $SelectedCmdlet = Get-Command $SelectedItem.Name switch ($SelectedCmdlet.CommandType) { Alias { $CmdletHelp_FileContentsTabItem.Visibility = 'Visible' $CmdletHelp_FileContentsTextBox.Text = Get-Help $SelectedCmdlet.ResolvedCommandName -Full | Out-String } Function { $CmdletHelp_FileContentsTabItem.Visibility = 'Visible' $CmdletHelp_FileContentsTextBox.Text = $SelectedCmdlet.ScriptBlock } Cmdlet { $CmdletHelp_FileContentsTabItem.Visibility = 'Collapsed' } Default { $CmdletHelp_FileContentsTabItem.Visibility = 'Visible' $CmdletHelp_FileContentsTextBox.Text = $SelectedCmdlet.ScriptBlock } } $CmdletHelp_CmdletTextBlock.Text = $SelectedCmdlet.Name $CmdletHelp_HelpDocumentationTextBox.Text = Get-Help -Name $SelectedItem.Name -Full | Out-String } else { $CmdletHelp_ScrollViewer.Visibility = 'Collapsed' } }) $CmdletHelp_CraftButton.Add_Click({ $CmdletName = $CmdletHelp_CmdletTextBlock.Text $ShowCommand = Show-Command $CmdletName -PassThru $CmdletHelp_CommandTextBox.Text = $ShowCommand }) } |