mirror of
https://github.com/charmbracelet/gum
synced 2024-06-17 04:55:05 +02:00
feat: Adding Return Column to table command
Consider a table of ID Name Description 1 Task1 Task description It would be good to select the row but retrieve the ID for example for further processing like 'task 1 delete' when first row was selected
This commit is contained in:
parent
a63ea30136
commit
227904e6da
|
@ -105,8 +105,14 @@ func (o Options) Run() error {
|
|||
|
||||
m := tm.(model)
|
||||
|
||||
if err = writer.Write([]string(m.selected)); err != nil {
|
||||
return fmt.Errorf("failed to write selected row: %w", err)
|
||||
if o.ReturnColumn > 0 && o.ReturnColumn < len(m.selected) {
|
||||
if err = writer.Write([]string{m.selected[o.ReturnColumn-1]}); err != nil {
|
||||
return fmt.Errorf("failed to write col %d of selected row: %w", o.ReturnColumn, err)
|
||||
}
|
||||
} else {
|
||||
if err = writer.Write([]string(m.selected)); err != nil {
|
||||
return fmt.Errorf("failed to write selected row: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
writer.Flush()
|
||||
|
|
|
@ -12,4 +12,5 @@ type Options struct {
|
|||
HeaderStyle style.Styles `embed:"" prefix:"header." envprefix:"GUM_TABLE_HEADER_"`
|
||||
SelectedStyle style.Styles `embed:"" prefix:"selected." set:"defaultForeground=212" envprefix:"GUM_TABLE_SELECTED_"`
|
||||
File string `short:"f" help:"file path" default:""`
|
||||
ReturnColumn int `short:"r" help:"Which column number should be returned instead of whole row as string. Default=0 returns whole Row" default:"0"`
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue