mirror of https://github.com/hashicorp/consul
52 lines
1.6 KiB
Markdown
52 lines
1.6 KiB
Markdown
# ErrorState
|
|
|
|
Consul UIs default 'error state' used when an error is returned form the
|
|
backend. This component used `EmptyState` internally, so please refer to that
|
|
for more details.
|
|
|
|
Using this component for all of our errors means we can show a consistent
|
|
error page for generic errors.
|
|
|
|
This component show slightly different visuals and copy depending on the
|
|
`status` of the error (the status is generally a HTTP error code).
|
|
|
|
Please note: The examples below use a `hash` for demonstration purposes, you'll
|
|
probably just be using an `error` object in real-life.
|
|
|
|
## Arguments
|
|
|
|
| Argument | Type | Default | Description |
|
|
| --- | --- | --- | --- |
|
|
| `login` | `Function` | `undefined` | A login action to call when the login button is pressed (if not provided no login button will be shown |
|
|
| `error` | `Object` | `undefined` | 'Consul UI error shaped' JSON `{status: String, message: String, detail: String}` |
|
|
|
|
Specifically 403 errors **always** use the same header/body copy, this is hardcoded in and not currently overridable.
|
|
|
|
```hbs preview-template
|
|
<ErrorState
|
|
@error={{hash status='403'}}
|
|
/>
|
|
```
|
|
|
|
Other StatusCodes have a global default text but these *are* overridable by using the message/detail properties of the Consul UI shaped errors.
|
|
|
|
```hbs preview-template
|
|
<ErrorState
|
|
@error={{hash
|
|
status='404'
|
|
message="`message` is what is shown in the header"
|
|
detail="`detail` is what shown in the body"
|
|
}}
|
|
/>
|
|
```
|
|
|
|
As with `EmptyState` you can optionally chose to show a login button using the
|
|
`@login` argument.
|
|
|
|
```hbs preview-template
|
|
<ErrorState
|
|
@error={{hash status='403'}}
|
|
@login={{noop}}
|
|
/>
|
|
```
|