class
Opal::UI::Table
- Opal::UI::Table
- Opal::UI::Control
- Opal::UI::Element
- Reference
- Object
Overview
Formatted data table component with column alignment, headers, row selection cursor, windowed scrolling pagination, and cell truncation.
Defined in:
opal/ui/components/table.crConstructors
Class Method Summary
-
.print(headers : Array(String), rows : Array(Array(String)), io : IO = STDOUT, width : Int32 | Nil = nil, zebra : Bool = false, border_style : Border | Symbol | String | Nil = nil, theme : Theme | Nil = nil, color : Bool | Nil = nil) : Nil
Class convenience method printing styled table directly to IO
-
.to_string(headers : Array(String), rows : Array(Array(String)), width : Int32 | Nil = nil, zebra : Bool = false, border_style : Border | Symbol | String | Nil = nil, theme : Theme | Nil = nil, color : Bool | Nil = nil) : String
Class convenience method returning styled table string
Instance Method Summary
- #add_row(cells : Array(String)) : self
- #border_fg : Color | Nil
- #border_fg=(border_fg : Color | Nil)
- #border_style : Border | Nil
- #border_style=(border_style : Border | Nil)
- #cursor_char : String | Nil
- #cursor_char=(cursor_char : String | Nil)
- #divider_char : String | Nil
- #divider_char=(divider_char : String | Nil)
-
#handle_key(key : Terminal::KeyEvent) : Bool
Default key event handler.
-
#handle_mouse(event : Terminal::MouseEvent) : Bool
Default mouse event handler.
- #header_bg : Color | Nil
- #header_bg=(header_bg : Color | Nil)
- #header_fg : Color | Nil
- #header_fg=(header_fg : Color | Nil)
- #headers : Array(String)
- #headers=(headers : Array(String))
- #horizontal_char : Char | Nil
- #horizontal_char=(horizontal_char : Char | Nil)
- #junction_char : Char | Nil
- #junction_char=(junction_char : Char | Nil)
- #markdown_mode=(markdown_mode : Bool)
- #markdown_mode? : Bool
- #move_down(count : Int32 = 1) : self
- #move_up(count : Int32 = 1) : self
- #page_down(count : Int32 = 10) : self
- #page_up(count : Int32 = 10) : self
-
#preferred_print_size(available_w : Int32) : Tuple(Int32, Int32)
Preferred size in print mode: full row height and natural column width
- #preferred_size(available_w : Int32, available_h : Int32) : Tuple(Int32, Int32)
- #print_mode=(print_mode : Bool)
- #print_mode? : Bool
- #render(buffer : Buffer, x : Int32, y : Int32, width : Int32, height : Int32) : Nil
-
#render_print(buffer : Buffer, width : Int32, height : Int32) : Nil
Render hook for one-shot print mode: renders all rows without cursor or scroll clipping
- #row(cells : Array(String)) : self
- #rows : Array(Array(String))
- #rows=(rows : Array(Array(String)))
- #scroll_offset : Int32
- #scroll_offset=(scroll_offset : Int32)
- #select(idx : Int32 | Nil) : self
- #selected_bg : Color | Nil
- #selected_bg=(selected_bg : Color | Nil)
- #selected_fg : Color | Nil
- #selected_fg=(selected_fg : Color | Nil)
- #selected_index : Int32 | Nil
- #selected_index=(selected_index : Int32 | Nil)
- #truncate=(truncate : Bool)
- #truncate? : Bool
- #vertical_char : Char | Nil
- #vertical_char=(vertical_char : Char | Nil)
- #visible_rows : Int32 | Nil
- #visible_rows=(visible_rows : Int32 | Nil)
- #zebra=(zebra : Bool)
- #zebra? : Bool
- #zebra_bg : Color | Nil
- #zebra_bg=(zebra_bg : Color | Nil)
Constructor methods inherited from class Opal::UI::Control
new
new
Instance methods inherited from module Opal::UI::InputHookable
custom_inputs=(custom_inputs : Bool)
custom_inputs=,
custom_inputs? : Bool
custom_inputs?,
default_input_proc : Proc(InputEvent, Bool) | Nil
default_input_proc,
default_input_proc=(default_input_proc : Proc(InputEvent, Bool) | Nil)
default_input_proc=,
fallback_to_defaults!(enabled : Bool = true) : self
fallback_to_defaults!,
fallback_to_defaults=(fallback_to_defaults : Bool)
fallback_to_defaults=,
fallback_to_defaults? : Bool
fallback_to_defaults?,
focus : self
focus,
focused=(focused : Bool)
focused=,
focused? : Bool
focused?,
handle_default_input(event : InputEvent) : Bool
handle_default_input,
handle_input(event : InputEvent) : Bool
handle_input,
handle_key(key : Terminal::KeyEvent) : Bool
handle_key,
handle_mouse(event : Terminal::MouseEvent) : Bool
handle_mouse,
input_hook : Proc(InputEvent, Bool) | Nil
input_hook,
input_hook=(input_hook : Proc(InputEvent, Bool) | Nil)
input_hook=,
on_input(&block : self, InputEvent -> Bool) : self
on_input,
puppet(&block : self, InputEvent -> Bool) : self
puppet,
reset_inputs : self
reset_inputs,
setup_default_inputs : Nil
setup_default_inputs,
unfocus : self
unfocus,
use_custom_inputs!(enabled : Bool = true) : self
use_custom_inputs!
Instance methods inherited from class Opal::UI::Element
add_class(name : String) : self
add_class,
children : Array(Element)
children,
classes : Set(String)
classes,
classes=(classes : Set(String))
classes=,
has_class?(name : String) : Bool
has_class?,
id : String | Nil
id,
id=(id : String | Nil)
id=,
preferred_print_size(available_w : Int32) : Tuple(Int32, Int32)
preferred_print_size,
preferred_size(available_w : Int32, available_h : Int32) : Tuple(Int32, Int32)
preferred_size,
print(io : IO = STDOUT, width : Int32 | Nil = nil, color : Bool | Nil = nil, theme : Theme | Nil = nil) : Nil
print,
query(selector : String) : Array(Element)query(klass : T.class) : Array(T) forall T query, query_one(selector : String) : Element
query_one(klass : T.class) : T forall T query_one, query_one?(selector : String) : Element | Nil
query_one?(klass : T.class) : T | Nil forall T query_one?, remove_class(name : String) : self remove_class, render(buffer : Buffer, x : Int32, y : Int32, width : Int32, height : Int32) : Nil render, render_print(buffer : Buffer, width : Int32, height : Int32) : Nil render_print, to_print_s(width : Int32 | Nil = nil, color : Bool | Nil = nil, theme : Theme | Nil = nil) : String to_print_s, to_string(width : Int32 | Nil = nil, color : Bool | Nil = nil, theme : Theme | Nil = nil) : String to_string
Instance methods inherited from module Opal::UI::Themable
current_theme : Theme
current_theme,
style(&block : self -> Nil) : self
style,
theme : Theme | Nil
theme,
theme=(theme : Theme | Nil)
theme=,
with_theme(new_theme : Theme | Symbol | String) : self
with_theme
Constructor Detail
Class Method Detail
Class convenience method printing styled table directly to IO
Class convenience method returning styled table string
Instance Method Detail
Default key event handler. Override in subclasses if not using @default_input_proc.
Default mouse event handler. Override in subclasses if not using @default_input_proc.
Preferred size in print mode: full row height and natural column width
Render hook for one-shot print mode: renders all rows without cursor or scroll clipping