Class: SolidQueueTui::Views::RecurringTasksView
Instance Method Summary
collapse
#format_duration, #format_number, #format_time, #humanize_duration, #time_until, #truncate
#confirm_bindings, #confirm_mode?, #handle_confirm_input, #init_confirm, #render_confirm_popup
Constructor Details
Returns a new instance of RecurringTasksView.
9
10
11
12
13
14
15
16
|
# File 'lib/solid_queue_tui/views/recurring_tasks_view.rb', line 9
def initialize(tui)
@tui = tui
@table_state = RatatuiRuby::TableState.new(nil)
@table_state.select(0)
@selected_row = 0
@tasks = []
init_confirm
end
|
Instance Method Details
#bindings ⇒ Object
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/solid_queue_tui/views/recurring_tasks_view.rb', line 50
def bindings
if confirm_mode?
confirm_bindings
else
[
{ key: "j/k", action: "Navigate" },
{ key: "N", action: "Run Now" },
{ key: "G/g", action: "Bottom/Top" }
]
end
end
|
#breadcrumb ⇒ Object
62
|
# File 'lib/solid_queue_tui/views/recurring_tasks_view.rb', line 62
def breadcrumb = "recurring"
|
46
47
48
|
# File 'lib/solid_queue_tui/views/recurring_tasks_view.rb', line 46
def capturing_input?
confirm_mode?
end
|
33
34
35
36
37
38
39
|
# File 'lib/solid_queue_tui/views/recurring_tasks_view.rb', line 33
def handle_input(event)
if confirm_mode?
handle_confirm_input(event)
else
handle_normal_input(event)
end
end
|
#render(frame, area) ⇒ Object
24
25
26
27
28
29
30
31
|
# File 'lib/solid_queue_tui/views/recurring_tasks_view.rb', line 24
def render(frame, area)
if confirm_mode?
render_table(frame, area)
(frame, area)
else
render_table(frame, area)
end
end
|
#selected_item ⇒ Object
41
42
43
44
|
# File 'lib/solid_queue_tui/views/recurring_tasks_view.rb', line 41
def selected_item
return nil if @tasks.empty? || @selected_row >= @tasks.size
@tasks[@selected_row]
end
|
#update(tasks:) ⇒ Object
18
19
20
21
22
|
# File 'lib/solid_queue_tui/views/recurring_tasks_view.rb', line 18
def update(tasks:)
@tasks = tasks
@selected_row = @selected_row.clamp(0, [@tasks.size - 1, 0].max)
@table_state.select(@selected_row)
end
|