1.1.8 • Published 9 months ago
@zerozillatechnologies/form-js-editor v1.1.8
@@zerozillatechnologies//form-js-editor
An editor to create forms that can be displayed with the form-js viewer.
Installation
npm install @@zerozillatechnologies//form-js-editorUsage
import { FormEditor } from '@@zerozillatechnologies//form-js-editor';
const schema = {
type: 'default',
components: [
{
key: 'creditor',
label: 'Creditor',
type: 'textfield',
validate: {
required: true,
},
},
],
};
const formEditor = new FormEditor({
container: document.querySelector('#form-editor'),
});
await formEditor.importSchema(schema);Check out a full example.
Styling
For proper styling include the necessary stylesheets, and font used:
<link
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,600;1,400&display=swap"
rel="stylesheet" />
<link rel="stylesheet" href="https://unpkg.com/@@zerozillatechnologies//form-js@0.10.0/dist/assets/form-js.css" />
<link rel="stylesheet" href="https://unpkg.com/@@zerozillatechnologies//form-js@0.10.0/dist/assets/form-js-editor.css" />API
FormEditor
Create a new form editor with options { container?: HTMLElement }.
import { FormEditor } from '@@zerozillatechnologies//form-js-editor';
const formEditor = new FormEditor({
container: document.querySelector('#form-editor'),
});FormEditor#importSchema(schema: Schema) => Promise<Result, Error>
Display and edit a form represented via a form schema.
try {
await formEditor.importSchema(schema);
} catch (err) {
console.log('importing form failed', err);
}FormEditor#saveSchema() => Schema
Export the form schema.
const schema = formEditor.saveSchema(schema);
console.log('exported schema', schema);FormEditor#attachTo(parentNode: HTMLElement) => void
Attach the form editor to a parent node.
FormEditor#detach() => void
Detach the form editor from its parent node.
FormEditor#on(event, fn) => void
Subscribe to an event.
FormEditor#destroy() => void
Remove form from editor the document.
Events
selection.changed :: { selection }
Properties panel events
propertiesPanel.focusinpropertiesPanel.focusoutpropertiesPanel.showEntry :: { id }propertiesPanel.updated :: { formField }
Form lifecycle events
detachattachrenderedform.initform.clearform.destroydiagram.cleardiagram.destroydragula.createddragula.destroyededitorActions.init :: { editorActions }
Drag events
drag.start :: { element, source }drag.end :: { element }drag.drop :: { element, target, source, sibling }drag.hover :: { element, container, source }drag.out :: { element, container, source }drag.cancel :: { element, container, source }
Form field events
formField.add :: { formField }formField.remove :: { formField }formField.updateId :: { formField, newId }
License
Use under the terms of the bpmn.io license.
1.1.8
9 months ago
1.1.7
9 months ago
1.1.6
10 months ago
1.1.5
10 months ago
1.1.4
10 months ago
1.1.3
10 months ago
1.1.1
10 months ago
1.1.2
10 months ago
1.1.0
10 months ago
1.0.9
10 months ago
1.0.8
10 months ago
1.0.7
10 months ago
1.0.6
10 months ago
1.0.5
10 months ago
1.0.4
10 months ago
1.0.3
10 months ago
1.0.2
10 months ago
1.0.1
10 months ago
1.0.0
10 months ago