Skip to content

Latest commit

 

History

History
91 lines (51 loc) · 5.21 KB

DSL-AshAdmin.Resource.md

File metadata and controls

91 lines (51 loc) · 5.21 KB

AshAdmin.Resource

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

Name Type Default Docs
name{: #admin-name } String.t The proper name to use when this resource appears in the admin interface.
actor?{: #admin-actor? } boolean Whether or not this resource can be used as the actor for requests.
show_action{: #admin-show_action } atom The action to use when linking to the resource/viewing a single record. Defaults to the primary read action.
read_actions{: #admin-read_actions } list(atom) A list of read actions that can be used to show resource details. By default, all actions are included.
generic_actions{: #admin-generic_actions } list(atom) A list of generic actions that can be used to show resource details. By default, all actions are included.
create_actions{: #admin-create_actions } list(atom) A list of create actions that can create records. By default, all actions are included.
update_actions{: #admin-update_actions } list(atom) A list of update actions that can be used to update records. By default, all actions are included.
destroy_actions{: #admin-destroy_actions } list(atom) A list of destroy actions that can be used to destroy records. By default, all actions are included.
polymorphic_tables{: #admin-polymorphic_tables } list(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_actions{: #admin-polymorphic_actions } list(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_columns{: #admin-table_columns } list(atom) The list of attributes to render on the table view.
format_fields{: #admin-format_fields } list(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_fields{: #admin-relationship_display_fields } list(atom) The list of attributes to render when this resource is shown as a relationship on another resource's datatable.
resource_group{: #admin-resource_group } atom The group in the top resource dropdown that the resource appears in.
show_sensitive_fields{: #admin-show_sensitive_fields } list(atom) The list of fields that should not be redacted in the admin UI even if they are marked as sensitive.
show_calculations{: #admin-show_calculations } list(atom) A list of calculation that can be calculate when this resource is shown. By default, all calculations are included.
label_field{: #admin-label_field } atom The 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_items{: #admin-relationship_select_max_items } integer 50 The 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

Name Type Default Docs
name{: #admin-form-field-name .spark-required} atom The name of the field to be modified

Options

Name Type Default Docs
type{: #admin-form-field-type .spark-required} :default | :long_text | :short_text | :markdown The type of the value in the form. Use default if you are just specifying field order

Introspection

Target: AshAdmin.Resource.Field

<style type="text/css">.spark-required::after { content: "*"; color: red !important; }</style>