ash_admin/documentation/dsls/DSL:-AshAdmin.Resource.md

88 lines
3.9 KiB
Markdown
Raw Permalink Normal View History

2024-02-05 04:42:01 +13:00
<!--
This file was generated by Spark. Do not edit it by hand.
-->
# DSL: AshAdmin.Resource
2024-04-03 05:00:49 +13:00
A resource extension to alter the behaviour of a resource in the admin UI.
2024-02-05 04:42:01 +13:00
## admin
Configure the admin dashboard for a given resource.
### Nested DSLs
* [form](#admin-form)
* field
### Options
| Name | Type | Default | Docs |
|------|------|---------|------|
| [`name`](#admin-name){: #admin-name } | `String.t` | | The proper name to use when this resource appears in the admin interface. |
| [`actor?`](#admin-actor?){: #admin-actor? } | `boolean` | | Whether or not this resource can be used as the actor for requests. |
| [`show_action`](#admin-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){: #admin-read_actions } | `list(atom)` | | A list of read actions that can be used to show resource details. By default, all actions are included. |
| [`create_actions`](#admin-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){: #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){: #admin-destroy_actions } | `list(atom)` | | A list of destroy actions that can be used to destroy records. By default, all actions are included. |
2024-04-03 05:00:49 +13:00
| [`polymorphic_tables`](#admin-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. |
2024-02-05 04:42:01 +13:00
| [`polymorphic_actions`](#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){: #admin-table_columns } | `list(atom)` | | The list of attributes to render on the table view. |
| [`format_fields`](#admin-format_fields){: #admin-format_fields } | `list(any)` | | The list of fields and their formats. |
| [`relationship_display_fields`](#admin-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. |
2024-02-05 04:42:01 +13:00
| [`resource_group`](#admin-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){: #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. |
## admin.form
Configure the appearance of fields in admin forms.
### Nested DSLs
* [field](#admin-form-field)
## admin.form.field
```elixir
field name
```
Declare non-default behavior for a specific attribute.
### Arguments
| Name | Type | Default | Docs |
|------|------|---------|------|
| [`name`](#admin-form-field-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){: #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>