fix date modal left/right
This commit is contained in:
parent
fea33eb62e
commit
257b8795bc
@ -154,9 +154,8 @@ class DateModal(ModalScreen):
|
||||
def compose(self):
|
||||
with Vertical():
|
||||
with Horizontal():
|
||||
yield Label(f"{self.pieces[0]}")
|
||||
yield Label(f"{self.pieces[1]}", classes="selected-date")
|
||||
yield Label(f"{self.pieces[2]}")
|
||||
for i in range(3):
|
||||
yield Label(f"{self.pieces[i]}", classes="selected-date" if self.selected == i else "")
|
||||
yield Label("""(h/j/k/l) move (enter) confirm (esc) quit
|
||||
(p)ast (t)oday (f)uture""", classes="hints")
|
||||
|
||||
@ -173,18 +172,11 @@ class DateModal(ModalScreen):
|
||||
def action_cursor_left(self):
|
||||
# cycle Y/M/D
|
||||
self.selected = (self.selected - 1) % 3
|
||||
self._update_highlight()
|
||||
self.mutate_reactive(DateModal.pieces)
|
||||
|
||||
def action_cursor_right(self):
|
||||
self.selected = (self.selected + 1) % 3
|
||||
self._update_highlight()
|
||||
|
||||
def _update_highlight(self):
|
||||
for idx, lbl in enumerate(self.query("Label")):
|
||||
if idx == self.selected:
|
||||
lbl.add_class("selected-date")
|
||||
else:
|
||||
lbl.remove_class("selected-date")
|
||||
self.mutate_reactive(DateModal.pieces)
|
||||
|
||||
def max_for(self, piece):
|
||||
days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
|
||||
|
Loading…
Reference in New Issue
Block a user