Pax

[!CAUTION] DO NOT USE THIS MODULE... YET

This module is under heavy development, and is not ready for anyone to use it yet. It is poorly documented, poorly tested, and in a heavy state of change. Nothing is being gracefully deprecated or even documented when it changes, until the API stabilizes.

Pax (Phoenix Admin eXtensions) is a toolkit for adding CRUD functionality to LiveViews, as well as an admin interface built on those tools.

Installation

Rough instructions for now.

Dependency

Add pax to your list of dependencies in "mix.exs":

def deps do
  [
    {:pax, "~> 0.0.1-dev.20251023"}
  ]
end

Static assets

Add the following to your "lib/myapp_web/endpoint.ex", after any socket lines, and before plug Plug.Parsers. The best place is right after any existing plug Plug.Static lines.

plug Pax.Assets

Add the pax static assets to "myapp_web/components/root.html.heex", in the <head>, and before your own css and js so you can easily override the pax css.

This only gives a bare-minimum of styling and functionality that is designed to be a good starting point for your own customizations.

This is only needed if you're using Pax.Interface directly, and not needed if you are only using Pax.Admin.

<head>
  ...
  <Pax.Components.assets />
  ...
</head>

Pax.Interface

Create some modules that implement Pax.Interface.with use Pax.Interface. Now draw the rest of the owl.

Pax.Admin

Create an admin with use Pax.Admin, then create some resources with use Pax.Admin.Resource. Now draw the rest of the owl.