mirror of
https://github.com/RWejlgaard/org.git
synced 2026-09-02 01:15:35 +00:00
feat: initialize datepicker when opening set-date modes
Claude-Session: https://claude.ai/code/session_01BA1doywpQD49rP1vezTe9U
This commit is contained in:
parent
e0f4be475a
commit
4c75d53b5b
2 changed files with 30 additions and 4 deletions
|
|
@ -159,3 +159,25 @@ func TestCalendarEscCancels(t *testing.T) {
|
|||
t.Fatalf("expected mode to return to list, got %v", rm.mode)
|
||||
}
|
||||
}
|
||||
|
||||
func TestOpeningDeadlineModeInitializesCalendar(t *testing.T) {
|
||||
cfg := config.DefaultConfig()
|
||||
item := &model.Item{Title: "Task", Level: 1}
|
||||
of := &model.OrgFile{Items: []*model.Item{item}}
|
||||
m := InitialModel(of, cfg, false, "")
|
||||
// default deadline key is "d"
|
||||
res, _ := m.Update(tea.KeyMsg{Type: tea.KeyRunes, Runes: []rune{'d'}})
|
||||
rm := res.(uiModel)
|
||||
if rm.mode != modeSetDeadline {
|
||||
t.Fatalf("expected modeSetDeadline, got %v", rm.mode)
|
||||
}
|
||||
if !rm.datepicker.Selected {
|
||||
t.Fatal("expected datepicker to have a selected date")
|
||||
}
|
||||
if rm.dateTextFocused {
|
||||
t.Fatal("expected calendar focus (dateTextFocused false)")
|
||||
}
|
||||
if rm.editingItem != item {
|
||||
t.Fatal("expected editingItem to be the cursor item")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -318,10 +318,12 @@ func (m uiModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|||
if len(items) > 0 && m.cursor < len(items) {
|
||||
m.editingItem = items[m.cursor]
|
||||
m.mode = modeSetDeadline
|
||||
m.datepicker = newDatePicker(m.editingItem.Deadline)
|
||||
m.dateTextFocused = false
|
||||
m.textinput.SetValue("")
|
||||
m.textinput.Placeholder = "YYYY-MM-DD or +N (days from today)"
|
||||
m.textinput.Focus()
|
||||
return m, textinput.Blink
|
||||
m.textinput.Blur()
|
||||
return m, nil
|
||||
}
|
||||
|
||||
case key.Matches(msg, m.keys.SetScheduled):
|
||||
|
|
@ -329,10 +331,12 @@ func (m uiModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|||
if len(items) > 0 && m.cursor < len(items) {
|
||||
m.editingItem = items[m.cursor]
|
||||
m.mode = modeSetScheduled
|
||||
m.datepicker = newDatePicker(m.editingItem.Scheduled)
|
||||
m.dateTextFocused = false
|
||||
m.textinput.SetValue("")
|
||||
m.textinput.Placeholder = "YYYY-MM-DD or +N (days from today)"
|
||||
m.textinput.Focus()
|
||||
return m, textinput.Blink
|
||||
m.textinput.Blur()
|
||||
return m, nil
|
||||
}
|
||||
|
||||
case key.Matches(msg, m.keys.SetPriority):
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue