MishkaGervaz.Form.Web.DataLoader.RecordLoader (MishkaGervaz v0.0.1-alpha.3)

Copy Markdown View Source

Loads records for edit mode and creates AshPhoenix.Form for forms.

Overridable Functions

  • load_for_edit/3 - Load a record and build an AshPhoenix.Form for editing
  • new_for_create/2 - Build an empty AshPhoenix.Form for creating
  • build_form/3 - Build an AshPhoenix.Form from a record or resource

User Override

defmodule MyApp.Form.RecordLoader do
  use MishkaGervaz.Form.Web.DataLoader.RecordLoader

  def load_for_edit(state, record_id, opts) do
    # Custom loading with extra preloads
    super(state, record_id, opts)
  end
end

Top-level helpers keyword_put_if_set/3 and resolve_tenant_from_record/2 are public so user overrides can reuse them without redefining.

See MishkaGervaz.Form.Web.DataLoader, MishkaGervaz.Form.Web.DataLoader.Helpers, MishkaGervaz.Form.Web.State (for State.get_action/2 and State.get_preloads/1), and the sibling sub-builders RelationLoader, TenantResolver, HookRunner.