Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apostrophecms/apostrophe-anchor-field-type
Improves `apostrophe-schemas` to add a select element with all ID attributes on current page
https://github.com/apostrophecms/apostrophe-anchor-field-type
Last synced: about 2 months ago
JSON representation
Improves `apostrophe-schemas` to add a select element with all ID attributes on current page
- Host: GitHub
- URL: https://github.com/apostrophecms/apostrophe-anchor-field-type
- Owner: apostrophecms
- License: mit
- Created: 2019-06-05T20:28:59.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-04-07T15:37:10.000Z (over 3 years ago)
- Last Synced: 2024-10-03T06:37:32.163Z (3 months ago)
- Language: JavaScript
- Size: 20.5 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.MD
Awesome Lists containing this project
README
# apostrophe-anchor-field-type
Improves `apostrophe-schemas` to add an `anchor` field type that displays all `id` and `name` attributes from the target remote URL.
## Configuration
An anchor field depends on other schema fields to tell it what URLs it should look up to find `id`s and `name`s. You must provide a `remoteAnchorsFields` property to tell it what fields to connect to.
### Shorthand
```javascript
// ... other schema fields
{
type: 'anchor',
name: 'anchor',
label: 'Anchor ID',
remoteAnchorsFields: ['_page', 'url'],
}
```
`remoteAnchorsFields` is an array of field names in the schema.Shorthand makes the assumption that `_page` is a join (because of the leading _ in its name) and, conversely, that `url` is a string field. These assumptions also mean that:
- Joins are internal pages, using a `joinByOne` field type, and should be treated as such in the context of the current site.
- String could be anything and must be treated as external URLs. They must be fully absolute.### Explicit singular
```javascript
// ... other schema fields
{
type: 'anchor',
name: 'anchor',
label: 'Anchor ID',
remoteAnchorsFields: {
fieldName: '_page',
urlType: 'relative',
fieldType: 'join'
},
}
```
Spells out what is assumed in shorthand syntax.
- `urlType` tells module how to request the remote page.
- `fieldType` tells module what type of apostrophe field to connect to.### Explicit array
```javascript
// ... other schema fields
{
type: 'anchor',
name: 'anchor',
label: 'Anchor ID',
remoteAnchorsFields: [
{
fieldName: '_page',
urlType: 'relative',
fieldType: 'join'
},
{
fieldName: 'url',
urlType: 'absolute',
fieldType: 'string'
},
],
}
```## Changelog
### 1.0.3 (2021-04-07)
- Updates axios version due to security patch.