Skip to content

Commit

Permalink
feat(filepicker): add file selection persistence
Browse files Browse the repository at this point in the history
- Introduced `FileSelected` field to `Model` to store the selected file name.
- Updated `Update` method to restore the selected file index based on `FileSelected`.
- Adjusted min and max values to ensure the selected file is within the visible range.
  • Loading branch information
CoMfUcIoS committed Oct 1, 2024
1 parent 4382fdf commit cce3805
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion filepicker/filepicker.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ func New() Model {
maxStack: newStack(),
KeyMap: DefaultKeyMap(),
Styles: DefaultStyles(),
FileSelected: "",
}
}

Expand Down Expand Up @@ -247,8 +248,18 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) {
if msg.id != m.id {
break
}
if m.FileSelected != "" {
for i, f := range msg.entries {
if f.Name() == m.FileSelected {
m.selected = i
m.FileSelected = ""

break
}
}
}
m.files = msg.entries
m.max = max(m.max, m.Height-1)
m.max = max(m.Height-1, m.max)
case tea.WindowSizeMsg:
if m.AutoHeight {
m.Height = msg.Height - marginBottom
Expand Down

0 comments on commit cce3805

Please sign in to comment.