Documentation
¶
Overview ¶
Package tui provides a terminal user interface for msgvault.
Index ¶
- type ActionController
- func (c *ActionController) ExportAttachments(detail *query.MessageDetail, selection map[int]bool) tea.Cmd
- func (c *ActionController) SaveManifest(manifest *deletion.Manifest) error
- func (c *ActionController) StageForDeletion(aggregateSelection map[string]bool, messageSelection map[int64]bool, ...) (*deletion.Manifest, error)
- type ExportResultMsg
- type Model
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActionController ¶
type ActionController struct {
// contains filtered or unexported fields
}
ActionController handles business logic for actions like deletion and export, keeping domain operations out of the TUI Model.
func NewActionController ¶
func NewActionController(queries query.Engine, dataDir string, deletions *deletion.Manager) *ActionController
NewActionController creates a new action controller. If deletions is nil, the manager will be lazily initialized on first use.
func (*ActionController) ExportAttachments ¶
func (c *ActionController) ExportAttachments(detail *query.MessageDetail, selection map[int]bool) tea.Cmd
ExportAttachments performs the export logic.
func (*ActionController) SaveManifest ¶
func (c *ActionController) SaveManifest(manifest *deletion.Manifest) error
SaveManifest initializes the deletion manager if needed and saves the manifest.
func (*ActionController) StageForDeletion ¶
func (c *ActionController) StageForDeletion(aggregateSelection map[string]bool, messageSelection map[int64]bool, aggregateViewType query.ViewType, accountFilter *int64, accounts []query.AccountInfo, currentViewType query.ViewType, currentFilterKey string, timeGranularity query.TimeGranularity, messages []query.MessageSummary) (*deletion.Manifest, error)
StageForDeletion prepares messages for deletion based on selection.
type ExportResultMsg ¶
ExportResultMsg is returned when attachment export completes.
type Model ¶
type Model struct {
// contains filtered or unexported fields
}
Model is the main TUI model following the Elm architecture.
type Options ¶
type Options struct {
DataDir string
Version string
// AggregateLimit overrides the maximum number of aggregate rows to load.
// Zero uses the default (50,000).
AggregateLimit int
// ThreadMessageLimit overrides the maximum number of messages in a thread view.
// Zero uses the default (1,000).
ThreadMessageLimit int
}
Options configuration for TUI.