@hydrofoil/shaperone-wc
TypeScript icon, indicating that this package has built-in type declarations

0.8.1 • Public • Published

shaperone-form

A custom element which renders a form element using graph description in SHACL format. The underlying value is a graph represented using the RDF/JS data model specification

Usage

This example shows the element used with the default lit renderer

import '@hypermedia-app/shaperone-form/shaperone-form.js'
import Environment from '@zazuko/env/Environment.js'
import { configure } from '@hydrofoil/shaperone-wc/configure.js'
import { html } from '@hypermedia-app/shaperone-form'
import alcaeus from 'alcaeus/Factory.js'
import parent from '@zazuko/env/web.js'

const env = new Environment([alcaeus()], { parent })
configure(env)

const shapes = await env.hydra.loadResource('http://example.com/api/shape')
const resource = rdf.clownface().blankNode()

const formTemplate = html`<shaperone-form .shapes=${shapes} .resource=${resource}></shaperone-form>`

The above snippet assumes that shapes get loaded from a remote resource and the form value is initialized with a blank node without any properties.

Such setup will render a very basic and unstyled form using native browser input elements and no specific layout. Check the main documentation page for instructions on customizing the form's rendering.

Mixins: connect

Properties

Property Attribute Modifiers Type Default Description
components components readonly ComponentsState Gets the state of the editor components
editors editors readonly EditorsState Gets the state of the DASH editors model
env readonly Environment<any> Gets the RDF/JS environment
isValid readonly boolean Gets a value indicating if there are any sh:Violation violation results
noEditorSwitches no-editor-switches boolean false Disables the ability to change object editors. Only the one with highest score will be rendered
renderer Renderer<UncompiledTemplateResult<ResultType>> "DefaultRenderer" Gets or sets the renderer implementation
rendererOptions rendererOptions readonly RendererState Gets the state of the renderer
resource GraphPointer<BlankNode | NamedNode<string>, DatasetCore<Quad, Quad>> | undefined Gets or sets the resource graph as graph pointer
shapes DatasetCore<Quad, Quad> | AnyPointer<AnyContext, DatasetCore<Quad, Quad>> | undefined Gets or sets the shapes graph
state state FormState Gets the internal state of the form element
validationReport readonly GraphPointer<Term, DatasetCore<Quad, Quad>> | undefined Gets a graph pointer to the latest SHACL Validation Report
validationResults readonly ValidationResultState[] Get all validation results found in the {@see validationReport} graph
value readonly RdfResource<DatasetCore<Quad, Quad>> | null Gets the resource as a rdfine object

Methods

Method Type Description
mapEvents ((): DispatchMap) | undefined
validate (): void Triggers validation of the current resource against the shapes graph

Events

Event Type
changed CustomEvent<any>

Readme

Keywords

none

Package Sidebar

Install

npm i @hydrofoil/shaperone-wc

Weekly Downloads

116

Version

0.8.1

License

MIT

Unpacked Size

109 kB

Total Files

46

Last publish

Collaborators

  • tpluscode