NewBackupTable creates a new backup table. nolint:dupl // Similar to snapshot table
(app *App, vm *api.VM)
| 22 | // |
| 23 | //nolint:dupl // Similar to snapshot table |
| 24 | func NewBackupTable(app *App, vm *api.VM) *BackupTable { |
| 25 | bt := &BackupTable{ |
| 26 | vm: vm, |
| 27 | app: app, |
| 28 | } |
| 29 | |
| 30 | bt.Table = tview.NewTable(). |
| 31 | SetSelectable(true, false). |
| 32 | SetFixed(1, 0). |
| 33 | SetSelectedStyle(tcell.StyleDefault.Background(theme.Colors.Selection).Foreground(theme.Colors.Primary).Attributes(tcell.AttrReverse)). |
| 34 | SetDoneFunc(func(key tcell.Key) { |
| 35 | // Go back when a back key is pressed. |
| 36 | if key == tcell.KeyEsc || key == tcell.KeyBackspace || key == tcell.KeyBackspace2 { |
| 37 | bt.goBack() |
| 38 | } |
| 39 | }) |
| 40 | bt.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey { |
| 41 | if event.Key() == tcell.KeyEsc || event.Key() == tcell.KeyBackspace || event.Key() == tcell.KeyBackspace2 { |
| 42 | bt.goBack() |
| 43 | return nil |
| 44 | } |
| 45 | return event |
| 46 | }) |
| 47 | |
| 48 | bt.SetBorder(true) |
| 49 | bt.SetBorderColor(theme.Colors.Border) |
| 50 | bt.SetTitle(" Backups for " + vm.Name + " (" + vm.Type + ") ") |
| 51 | bt.SetTitleColor(theme.Colors.Title) |
| 52 | |
| 53 | bt.setupTableHeaders() |
| 54 | return bt |
| 55 | } |
| 56 | |
| 57 | // setupTableHeaders sets up the table headers. |
| 58 | func (bt *BackupTable) setupTableHeaders() { |
no test coverage detected