ConsoleGuiTools icon indicating copy to clipboard operation
ConsoleGuiTools copied to clipboard

Show dynamically updating OCGV while pipeline input is being received

Open maskati opened this issue 2 years ago • 4 comments

Summary of the new feature / enhancement

Compare 1..5|%{Start-Sleep -Seconds 1;$_}|Out-GridView with 1..5|%{Start-Sleep -Seconds 1;$_}|Out-ConsoleGridView. OGV displays records as they are received (ProcessRecord) while OCGV shows records only at the end (EndProcessing).

Proposed technical implementation details (optional)

No response

maskati avatar Aug 07 '23 08:08 maskati

Thanks @maskati. I didn't realize OGV did that!

Can you explain the use case for having the results show up dynamically?

tig avatar Aug 07 '23 12:08 tig

@tig I think this may be a choice to change how OCGV display the results. Instead displaying on the same terminal, it can be displayed on a separate terminal through using the ProcessStartInfo. If you using various OGV commands it'll open on separated terminals.

BDisp avatar Aug 07 '23 13:08 BDisp

@tig anything where you are handling larger or slower to enumerate datasets, and when using the grid view as a filterable view of such records. See for example Stream Application Insights live metrics to a local PowerShell grid view.

maskati avatar Aug 07 '23 13:08 maskati

@tig anything where you are handling larger or slower to enumerate datasets, and when using the grid view as a filterable view of such records. See for example Stream Application Insights live metrics to a local PowerShell grid view.

Thanks for this!

I'll take a closer look at how hard it would be to change OCGV to support this use case. I can't imagine any blockers.

Terminal.Gui now supports a TableView that was designed to support very large data sets, loaded dynamically. When OCGV was first developed this didn't exist and thus it uses ListView which is not great with huge amounts of data, and not ideally suited for dynamic updating. I have an ambition to re-factor OCGV to use TableView. This provides more motivation!

tig avatar Aug 07 '23 14:08 tig