Class: SolidQueueTui::Views::ScheduledView
Constant Summary
Constants included
from Paginatable
Paginatable::LOAD_THRESHOLD
Constants included
from Filterable
Filterable::FILTER_FIELDS
Instance Method Summary
collapse
#format_duration, #format_number, #format_time, #humanize_duration, #time_ago, #time_until, #truncate
#current_offset, #init_pagination, #items, #reset_pagination!, #selected_item, #total_count=
#confirm_bindings, #confirm_mode?, #handle_confirm_input, #init_confirm, #render_confirm_popup
Methods included from Filterable
#clear_filter, #enter_filter_mode, #filter_bindings, #filter_mode?, #filter_title, #filters, #handle_filter_input, #init_filter, #render_filter_input
Constructor Details
11
12
13
14
15
16
|
# File 'lib/solid_queue_tui/views/scheduled_view.rb', line 11
def initialize(tui)
@tui = tui
init_confirm
init_filter
end
|
Instance Method Details
#append(jobs:) ⇒ Object
22
23
24
|
# File 'lib/solid_queue_tui/views/scheduled_view.rb', line 22
def append(jobs:)
append_items(jobs)
end
|
#bindings ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/solid_queue_tui/views/scheduled_view.rb', line 60
def bindings
if confirm_mode?
confirm_bindings
elsif filter_mode?
filter_bindings
else
[
{ key: "j/k", action: "Navigate" },
{ key: "Enter", action: "Detail" },
{ key: "/", action: "Filter" },
{ key: "N", action: "Run Now" },
{ key: "D", action: "Discard" },
{ key: "G/g", action: "Bottom/Top" }
]
end
end
|
#breadcrumb ⇒ Object
77
78
79
|
# File 'lib/solid_queue_tui/views/scheduled_view.rb', line 77
def breadcrumb
@filters.empty? ? "scheduled" : "scheduled:filtered"
end
|
56
57
58
|
# File 'lib/solid_queue_tui/views/scheduled_view.rb', line 56
def capturing_input?
filter_mode? || confirm_mode?
end
|
46
47
48
49
50
51
52
53
54
|
# File 'lib/solid_queue_tui/views/scheduled_view.rb', line 46
def handle_input(event)
if confirm_mode?
handle_confirm_input(event)
elsif filter_mode?
handle_filter_input(event)
else
handle_normal_input(event)
end
end
|
#render(frame, area) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/solid_queue_tui/views/scheduled_view.rb', line 26
def render(frame, area)
if confirm_mode?
render_table(frame, area)
(frame, area)
elsif filter_mode?
filter_area, content_area = @tui.layout_split(
area,
direction: :vertical,
constraints: [
@tui.constraint_length(3),
@tui.constraint_fill(1)
]
)
render_filter_input(frame, filter_area)
render_table(frame, content_area)
else
render_table(frame, area)
end
end
|
#update(jobs:) ⇒ Object
18
19
20
|
# File 'lib/solid_queue_tui/views/scheduled_view.rb', line 18
def update(jobs:)
update_items(jobs)
end
|