Pax.Admin.Resource behaviour (Pax v0.0.1-dev)

View Source

Summary

Types

t()

@type t() :: %Pax.Admin.Resource{
  label: String.t(),
  mod: module(),
  name: atom(),
  opts: Keyword.t(),
  path: String.t(),
  section: Pax.Admin.Section.t()
}

Callbacks

adapter(socket)

@callback adapter(socket :: Phoenix.LiveView.Socket.t()) ::
  module() | {module(), keyword()} | {module(), module(), keyword()}

config(socket)

@callback config(socket :: Phoenix.LiveView.Socket.t()) :: keyword() | map()

init(params, session, socket)

@callback init(
  params :: Phoenix.LiveView.unsigned_params() | :not_mounted_at_router,
  session :: map(),
  socket :: Phoenix.LiveView.Socket.t()
) :: {:cont, Phoenix.LiveView.Socket.t()} | {:halt, Phoenix.LiveView.Socket.t()}

plugins(socket)

@callback plugins(socket :: Phoenix.LiveView.Socket.t()) :: [Pax.Plugin.pluginspec()]