AshAdmin.Resource

View Source

A resource extension to alter the behaviour of a resource in the admin UI.

admin

Configure the admin dashboard for a given resource.

Nested DSLs

Options

NameTypeDefaultDocs
nameString.tThe proper name to use when this resource appears in the admin interface.
actor_loadanyA load statement to apply on the actor when fetching it
actor?booleanWhether or not this resource can be used as the actor for requests.
show_actionatomThe action to use when linking to the resource/viewing a single record. Defaults to the primary read action.
read_actionslist(atom)A list of read actions that can be used to show resource details. By default, all actions are included.
generic_actionslist(atom)A list of generic actions that can be used to show resource details. By default, all actions are included.
create_actionslist(atom)A list of create actions that can create records. By default, all actions are included.
update_actionslist(atom)A list of update actions that can be used to update records. By default, all actions are included.
destroy_actionslist(atom)A list of destroy actions that can be used to destroy records. By default, all actions are included.
polymorphic_tableslist(String.t)For resources that use ash_postgres' polymorphism capabilities, you can provide a list of tables that should be available to select. These will be added to the list of derivable tables based on scanning all domains and resources provided to ash_admin.
polymorphic_actionslist(atom)For resources that use ash_postgres' polymorphism capabilities, you can provide a list of actions that should require a table to be set. If this is not set, then all actions will require tables.
table_columnslist(atom)The list of attributes to render on the table view.
format_fieldslist(any)The list of fields and their formats represented as a MFA. For example: updated_at: {Timex, :format!, ["{0D}-{0M}-{YYYY} {h12}:{m} {AM}"]}. Datatable pages format all given fields. Show and Update pages format given read-only fields of types Ash.Type.Date, Ash.Type.DateTime, Ash.Type.Time, Ash.Type.NaiveDatetime, Ash.Type.UtcDatetime and Ash.Type.UtcDatetimeUsec.
relationship_display_fieldslist(atom)The list of attributes to render when this resource is shown as a relationship on another resource's datatable.
resource_groupatomThe group in the top resource dropdown that the resource appears in.
show_sensitive_fieldslist(atom)The list of fields that should not be redacted in the admin UI even if they are marked as sensitive.
show_calculationslist(atom)A list of calculation that can be calculate when this resource is shown. By default, all calculations are included.
label_fieldatomThe field to use as the label when the resource appears in a relationship select or typeahead field on another resource's form.
relationship_select_max_itemsinteger50The maximum number of items to show in a select field when this resource is shown as a relationship on another resource's form. If the number of related resources is higher, a typeahead selector will be used.

admin.form

Configure the appearance of fields in admin forms.

Nested DSLs

admin.form.field

field name

Declare non-default behavior for a specific attribute.

Arguments

NameTypeDefaultDocs
nameatomThe name of the field to be modified

Options

NameTypeDefaultDocs
type:default | :long_text | :short_text | :markdownThe type of the value in the form. Use default if you are just specifying field order
max_file_sizeintegerThe maximum file size in bytes to allow to be uploaded. Only applicable to action arguments of Ash.Type.File.
accepted_extensionsany | list(String.t)A list of unique file extensions (such as ".jpeg") or mime type (such as "image/jpeg" or "image/*"). Only applicable to action arguments of Ash.Type.File.

Introspection

Target: AshAdmin.Resource.Field