View Source AdminElf.Resource behaviour (admin_elf v1.1.0)
Summary
Callbacks
@callback actions(conn :: Plug.Conn.t()) :: [AdminElf.ActionHelpers.action()]
@callback allow_creation(conn :: Plug.Conn.t()) :: boolean()
@callback create_resource( conn :: Plug.Conn.t(), attrs :: any() ) :: {:ok, created_item :: any()} | {:error, reason :: term()}
@callback delete_resource( conn :: Plug.Conn.t(), item :: term() ) :: {:ok, deleted_item :: any()} | {:error, reason :: term()}
@callback details_layout(conn :: Plug.Conn.t()) :: [AdminElf.LayoutHelpers.component()]
@callback filters(conn :: Plug.Conn.t()) :: [AdminElf.InputHelpers.input()]
@callback form_layout(conn :: Plug.Conn.t()) :: [AdminElf.LayoutHelpers.component()] | {module(), binary(), keyword()}
@callback get_resource( conn :: Plug.Conn.t(), item_id :: String.t() ) :: {:ok, resource :: term()} | {:error, reason :: term()}
@callback index_table(conn :: Plug.Conn.t()) :: [AdminElf.TableHelpers.column()]
@callback list_resource( conn :: Plug.Conn.t(), page :: pos_integer(), per_page :: pos_integer(), order :: keyword(atom()), filter :: map() ) :: {items :: list(), count :: pos_integer()}
@callback name() :: String.t()
@callback plural_name() :: String.t()
@callback quick_actions(conn :: Plug.Conn.t()) :: [atom()] | keyword()
@callback update_resource( conn :: Plug.Conn.t(), item :: any(), attrs :: any() ) :: {:ok, updated_item :: any()} | {:error, reason :: term()}