mirror of
https://github.com/status-im/consul.git
synced 2025-01-13 15:26:48 +00:00
fc14a412fd
* Add Partition to all our models * Add partitions into our serializers/fingerprinting * Make some amends to a few adapters ready for partitions * Amend blueprints to avoid linting error * Update all our repositories to include partitions, also Remove enabled/disable nspace repo and just use a nspace with conditionals * Ensure nspace and parition parameters always return '' no matter what * Ensure data-sink finds the model properly This will later be replaced by a @dataSink decorator but we are find kicking that can down the road a little more * Add all the new partition data layer * Add a way to set the title of the page from inside the route and make it accessibile via a route announcer * Make the Consul Route the default/basic one * Tweak nspace and partition abilities not to check the length * Thread partition through all the components that need it * Some ACL tweaks * Move the entire app to use partitions * Delete all the tests we no longer need * Update some Unit tests to use partition * Fix up KV title tests * Fix up a few more acceptance tests * Fixup and temporarily ignore some acceptance tests * Stop using ember-cli-page-objects fillable as it doesn't seem to work * Fix lint error * Remove old ACL related test * Add a tick after filling out forms * Fix token warning modal * Found some more places where we need a partition var * Fixup some more acceptance tests * Tokens still needs a repo service for CRUD * Remove acceptance tests we no longer need * Fixup and "FIXME ignore" a few tests * Remove an s * Disable blocking queries for KV to revert to previous release for now * Fixup adapter tests to follow async/function resolving interface * Fixup all the serializer integration tests * Fixup service/repo integration tests * Fixup deleting acceptance test * Fixup some ent tests * Make sure nspaces passes the dc through for when thats important * ...aaaand acceptance nspaces with the extra dc param
74 lines
2.2 KiB
Plaintext
74 lines
2.2 KiB
Plaintext
# DataLoader
|
|
|
|
`<DataLoader />` works similarly to, and uses, `<DataSource />` but additionally
|
|
exposes various common states based on the status of the loading of the data.
|
|
These states are exposed as slots to enable you to easily render different
|
|
elements based on the state of the data.
|
|
|
|
|
|
Use the `@dataSource` decorator in your repositories to define URI to async
|
|
method mapping.
|
|
|
|
```javascript
|
|
class SomethingRepository extends Service {
|
|
@dataSource('/:partition/:nspace/:dc/services')
|
|
async youCouldCallItAnythingTodoWithGettingServices(params) {
|
|
console.log(params);
|
|
// {partition: "partition", nspace: "nspace", dc: "dc"}
|
|
return getTheThing(params);
|
|
}
|
|
}
|
|
```
|
|
|
|
```hbs preview-template
|
|
<DataLoader
|
|
@src="/partition/nspace/dc/services"
|
|
as |loader|>
|
|
<BlockSlot @name="loading">
|
|
Loading...
|
|
</BlockSlot>
|
|
<BlockSlot @name="error">
|
|
Error {{loader.error.status}}
|
|
</BlockSlot>
|
|
<BlockSlot @name="disconnected">
|
|
Whilst we could load the initial data, something happened subsequently that
|
|
meant we could load longer load updates to the data.
|
|
</BlockSlot>
|
|
<BlockSlot @name="loaded">
|
|
{{#each loader.data as |service|}}
|
|
{{service.Name}}<br />
|
|
{{/each}}
|
|
</BlockSlot>
|
|
</DataLoader>
|
|
```
|
|
|
|
## Attributes
|
|
|
|
| Argument | Type | Default | Description |
|
|
| --- | --- | --- | --- |
|
|
| `src` | `String` | | The source to subscribe to updates to, this should map to a string based URI |
|
|
|
|
## Exports
|
|
|
|
| Name | Description |
|
|
| --- | --- |
|
|
| `data` | The loaded dataset once any data has been loaded successfully |
|
|
| `error` | The error thrown if an error is encountered whilst loading data |
|
|
|
|
## Slots
|
|
|
|
| Name | Description |
|
|
| --- | --- |
|
|
| `loading` | Rendered whilst waiting for the initial data to load. |
|
|
| `error` | If there is an error only whilst waiting for the initial data to load, this slot is rendered. |
|
|
| `disconnected` | Rendered when the initial data has already loaded, but a subsequent set of loaded data causes an error to be thrown.|
|
|
| `loaded` | Rendered once the initial data is loaded and on subsequent successful loads of data. |
|
|
|
|
## See
|
|
|
|
- [DataSource](../data-source/README.mdx)
|
|
- [Component Source Code](./index.js)
|
|
- [Template Source Code](./index.hbs)
|
|
|
|
---
|