Issue 23: Added progress indicators and cancellation (#34)
- Wrapped all table operations in a new foreground job context, which mediates foreground tasks. - Added cancellation support and partial results for table read operations. - Added the "mark" command, which can mark, unmark & toggle marked items - Added support for alias arguments. - Removed the "unmark" command, and replaced it as an alias to the "marked" command - Fixed seg faults raised when there is no table shown in the result set.
This commit is contained in:
parent
982d3a9ca7
commit
79692302af
29 changed files with 609 additions and 170 deletions
|
|
@ -16,6 +16,7 @@ import (
|
|||
"github.com/lmika/audax/internal/dynamo-browse/providers/settingstore"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/providers/workspacestore"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/services/itemrenderer"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/services/jobs"
|
||||
keybindings_service "github.com/lmika/audax/internal/dynamo-browse/services/keybindings"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/services/tables"
|
||||
workspaces_service "github.com/lmika/audax/internal/dynamo-browse/services/workspaces"
|
||||
|
|
@ -94,10 +95,12 @@ func main() {
|
|||
tableService := tables.NewService(dynamoProvider, settingStore)
|
||||
workspaceService := workspaces_service.NewService(resultSetSnapshotStore)
|
||||
itemRendererService := itemrenderer.NewService(uiStyles.ItemView.FieldType, uiStyles.ItemView.MetaInfo)
|
||||
jobsService := jobs.NewService(eventBus)
|
||||
|
||||
state := controllers.NewState()
|
||||
tableReadController := controllers.NewTableReadController(state, tableService, workspaceService, itemRendererService, eventBus, *flagTable)
|
||||
tableWriteController := controllers.NewTableWriteController(state, tableService, tableReadController, settingStore)
|
||||
jobsController := controllers.NewJobsController(jobsService, eventBus, false)
|
||||
tableReadController := controllers.NewTableReadController(state, tableService, workspaceService, itemRendererService, jobsController, eventBus, *flagTable)
|
||||
tableWriteController := controllers.NewTableWriteController(state, tableService, jobsController, tableReadController, settingStore)
|
||||
columnsController := controllers.NewColumnsController(eventBus)
|
||||
exportController := controllers.NewExportController(state, columnsController)
|
||||
settingsController := controllers.NewSettingsController(settingStore)
|
||||
|
|
@ -114,6 +117,7 @@ func main() {
|
|||
columnsController,
|
||||
exportController,
|
||||
settingsController,
|
||||
jobsController,
|
||||
itemRendererService,
|
||||
commandController,
|
||||
keyBindingController,
|
||||
|
|
@ -122,9 +126,11 @@ func main() {
|
|||
|
||||
// Pre-determine if layout has dark background. This prevents calls for creating a list to hang.
|
||||
osstyle.DetectCurrentScheme()
|
||||
|
||||
|
||||
p := tea.NewProgram(model, tea.WithAltScreen())
|
||||
|
||||
jobsController.SetMessageSender(p.Send)
|
||||
|
||||
log.Println("launching")
|
||||
if err := p.Start(); err != nil {
|
||||
fmt.Printf("Alas, there's been an error: %v", err)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue