Orange.Component.Modal (orange v0.3.1)
An modal/dialog component which renders an overlay in the middle of the viewport.
Attributes
:open
- Whether the modal is open or not. This attribute is required.:offset_x
- The offset from the left and right edge of the screen. This attribute is required.:offset_y
- The offset from the top and bottom edge of the screen. This attribute is required.Info
When the offset_x/y is too big for the terminal size, the modal will not be rendered.
:children
- The content of the modal. This attribute is optional.
Examples
defmodule Example do
@behaviour Orange.Component
import Orange.Macro
@impl true
def init(_attrs), do: %{state: %{search_value: ""}}
@impl true
def render(state, _attrs, update) do
modal_content =
rect do
"foo"
"bar"
end
rect do
line do
"Displaying modal..."
end
{
Orange.Component.Modal,
offset_x: 8,
offset_y: 4,
children: modal_content,
open: true
}
end
end
end