@bpmn-io/form-js-playground 1.20.1 → 1.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/form-playground.umd.js +501 -170
- package/dist/index.cjs +6 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +6 -2
- package/dist/index.es.js.map +1 -1
- package/dist/types/Playground.d.ts +3 -0
- package/package.json +6 -6
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/components/Modal.js","../src/components/EmbedModal.js","../src/components/autocompletion/VariablesFacet.js","../src/components/autocompletion/index.js","../src/components/JSONEditor.js","../src/components/Section.js","../src/components/PlaygroundRoot.js","../src/Playground.js"],"sourcesContent":["import { useEffect } from 'preact/hooks';\n\nexport function Modal(props) {\n useEffect(() => {\n function handleKey(event) {\n if (event.key === 'Escape') {\n event.stopPropagation();\n\n props.onClose();\n }\n }\n\n document.addEventListener('keydown', handleKey);\n\n return () => {\n document.removeEventListener('keydown', handleKey);\n };\n });\n\n return (\n <div class=\"fjs-pgl-modal\">\n <div class=\"fjs-pgl-modal-backdrop\" onClick={props.onClose}></div>\n <div class=\"fjs-pgl-modal-content\">\n <h1 class=\"fjs-pgl-modal-header\">{props.name}</h1>\n <div class=\"fjs-pgl-modal-body\">{props.children}</div>\n <div class=\"fjs-pgl-modal-footer\">\n <button type=\"button\" class=\"fjs-pgl-button fjs-pgl-button-default\" onClick={props.onClose}>\n Close\n </button>\n </div>\n </div>\n </div>\n );\n}\n","import { useEffect, useRef } from 'preact/hooks';\n\nimport { Modal } from './Modal';\n\nexport function EmbedModal(props) {\n const schema = serializeValue(props.schema);\n const data = serializeValue(props.data || {});\n\n const fieldRef = useRef();\n\n const snippet = `<!-- styles needed for rendering -->\n<link rel=\"stylesheet\" href=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/assets/form-js.css\">\n\n<!-- container to render the form into -->\n<div class=\"fjs-pgl-form-container\"></div>\n\n<!-- scripts needed for embedding -->\n<script src=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/form-viewer.umd.js\"></script>\n\n<!-- actual script to instantiate the form and load form schema + data -->\n<script>\n const data = JSON.parse(${data});\n const schema = JSON.parse(${schema});\n\n const form = new FormViewer.Form({\n container: document.querySelector(\".fjs-pgl-form-container\")\n });\n\n form.on(\"submit\", (event) => {\n console.log(event.data, event.errors);\n });\n\n form.importSchema(schema, data).catch(err => {\n console.error(\"Failed to render form\", err);\n });\n</script>\n `.trim();\n\n useEffect(() => {\n fieldRef.current.select();\n });\n\n return (\n <Modal name=\"Embed form\" onClose={props.onClose}>\n <p>\n Use the following HTML snippet to embed your form with <a href=\"https://github.com/bpmn-io/form-js\">form-js</a>:\n </p>\n\n <textarea spellCheck=\"false\" ref={fieldRef}>\n {snippet}\n </textarea>\n </Modal>\n );\n}\n\n// helpers ///////////\n\nfunction serializeValue(obj) {\n return JSON.stringify(JSON.stringify(obj)).replace(/</g, '<').replace(/>/g, '>');\n}\n","import { Facet } from '@codemirror/state';\n\n/**\n * @type {Facet<import('..').Variables>} Variables\n */\nexport const variablesFacet = Facet.define();\n","import { autocompletion } from '@codemirror/autocomplete';\nimport { variablesFacet } from './VariablesFacet';\n\nimport { syntaxTree } from '@codemirror/language';\n\nexport function autocompletionExtension() {\n return [\n autocompletion({\n override: [completions],\n }),\n ];\n}\n\n/**\n * @param {import('@codemirror/autocomplete').CompletionContext} context\n */\nfunction completions(context) {\n const variables = context.state.facet(variablesFacet)[0];\n /** @type {import('@codemirror/autocomplete').Completion[]} */\n const objectOptions = variables.map((label) => ({\n displayLabel: `\"${label}\"`,\n label: `\"${label}\": `,\n type: 'variable',\n apply: (view, completion, from, to) => {\n const doc = view.state.doc;\n const beforeChar = doc.sliceString(from - 1, from);\n const line = doc.lineAt(from);\n const indentation = /^\\s*/.exec(line.text)[0];\n const baseInsert = completion.label;\n\n if (beforeChar === '{') {\n const insert = `\\n ${indentation}${baseInsert},\\n`;\n view.dispatch({\n changes: {\n from,\n to,\n insert,\n },\n selection: {\n anchor: from + insert.length - 2,\n },\n });\n } else if (beforeChar === ',') {\n const insert = `\\n${indentation}${baseInsert},`;\n view.dispatch({\n changes: {\n from,\n to,\n insert,\n },\n selection: {\n anchor: from + insert.length - 1,\n },\n });\n } else {\n const insert = `${baseInsert},`;\n view.dispatch({\n changes: {\n from,\n to,\n insert,\n },\n selection: {\n anchor: from + insert.length - 1,\n },\n });\n }\n },\n }));\n /** @type {import('@codemirror/autocomplete').Completion[]} */\n const propertyNameOptions = variables.map((label) => ({\n label,\n type: 'variable',\n }));\n /** @type {import('@codemirror/autocomplete').Completion[]} */\n const propertyValueOptions = [\n {\n label: 'true',\n type: 'constant keyword',\n boost: 3,\n },\n {\n label: 'false',\n type: 'constant keyword',\n boost: 2,\n },\n {\n label: 'null',\n type: 'constant keyword',\n boost: 1,\n },\n {\n displayLabel: '[ .. ]',\n label: '[ ]',\n apply: (view, completion, from, to) => {\n view.dispatch({\n changes: { from, to, insert: completion.label },\n selection: { anchor: from + 2 },\n });\n },\n },\n {\n displayLabel: '{ .. }',\n label: '{ }',\n apply: (view, completion, from, to) => {\n view.dispatch({\n changes: { from, to, insert: completion.label },\n selection: { anchor: from + 2 },\n });\n },\n },\n ];\n let finalOptions = [];\n let nodeBefore = syntaxTree(context.state).resolve(context.pos, -1);\n let word = context.matchBefore(/\\w*/);\n\n if (['Object', '{'].includes(nodeBefore.type.name)) {\n finalOptions = objectOptions;\n }\n\n if (nodeBefore.type.name === ',' && nodeBefore.parent?.type.name === 'Object') {\n finalOptions = objectOptions;\n }\n\n if (nodeBefore.type.name === 'PropertyName') {\n context.explicit = true;\n finalOptions = propertyNameOptions;\n }\n\n if (['Property', '[', 'Array'].includes(nodeBefore.type.name)) {\n finalOptions = propertyValueOptions;\n }\n\n if (nodeBefore.type.name === ':' && nodeBefore.parent?.type.name === 'Property') {\n finalOptions = propertyValueOptions;\n }\n\n if (word.from == word.to && !context.explicit) {\n return null;\n }\n\n return {\n from: word.from,\n options: finalOptions,\n };\n}\n","import mitt from 'mitt';\nimport { basicSetup } from 'codemirror';\nimport { EditorView, keymap, placeholder } from '@codemirror/view';\nimport { EditorState, Compartment } from '@codemirror/state';\nimport { lintGutter, linter } from '@codemirror/lint';\nimport { json, jsonParseLinter } from '@codemirror/lang-json';\nimport { indentWithTab } from '@codemirror/commands';\nimport { autocompletionExtension } from './autocompletion/index';\nimport { variablesFacet } from './autocompletion/VariablesFacet';\nimport { classes as domClasses } from 'min-dom';\n\nconst NO_LINT_CLS = 'fjs-cm-no-lint';\n\n/**\n * @param {object} options\n * @param {boolean} [options.readonly]\n * @param {object} [options.contentAttributes]\n * @param {string | HTMLElement} [options.placeholder]\n */\nexport function JSONEditor(options = {}) {\n const { contentAttributes = {}, placeholder: editorPlaceholder, readonly = false } = options;\n const emitter = mitt();\n\n const languageCompartment = new Compartment().of(json());\n const tabSizeCompartment = new Compartment().of(EditorState.tabSize.of(2));\n const autocompletionConfCompartment = new Compartment();\n const placeholderLinterExtension = createPlaceholderLinterExtension();\n\n let container = null;\n\n function createState(doc, variables = []) {\n const extensions = [\n basicSetup,\n languageCompartment,\n tabSizeCompartment,\n lintGutter(),\n linter(jsonParseLinter()),\n placeholderLinterExtension,\n autocompletionConfCompartment.of(variablesFacet.of(variables)),\n autocompletionExtension(),\n keymap.of([indentWithTab]),\n editorPlaceholder ? placeholder(editorPlaceholder) : [],\n EditorState.readOnly.of(readonly),\n EditorView.updateListener.of((update) => {\n if (update.docChanged) {\n emitter.emit('changed', { value: update.state.doc.toString() });\n }\n }),\n EditorView.contentAttributes.of(contentAttributes),\n ];\n\n return EditorState.create({ doc, extensions });\n }\n\n const view = new EditorView({\n state: createState(''),\n });\n\n this.setValue = function (newValue) {\n const oldValue = view.state.doc.toString();\n\n const diff = findDiff(oldValue, newValue);\n\n if (diff) {\n view.dispatch({\n changes: { from: diff.start, to: diff.end, insert: diff.text },\n selection: { anchor: diff.start + diff.text.length },\n });\n }\n };\n\n this.getValue = function () {\n return view.state.doc.toString();\n };\n\n this.setVariables = function (variables) {\n view.dispatch({ effects: autocompletionConfCompartment.reconfigure(variablesFacet.of(variables)) });\n };\n\n this.getView = function () {\n return view;\n };\n\n this.on = emitter.on;\n this.off = emitter.off;\n this.emit = emitter.emit;\n\n this.attachTo = function (_container) {\n container = _container;\n container.appendChild(view.dom);\n domClasses(container, document.body).add('fjs-json-editor');\n };\n\n this.destroy = function () {\n if (container && view.dom) {\n container.removeChild(view.dom);\n domClasses(container, document.body).remove('fjs-json-editor');\n }\n view.destroy();\n };\n\n function createPlaceholderLinterExtension() {\n return linter((view) => {\n if (!container) {\n return [];\n }\n\n const placeholders = view.dom.querySelectorAll('.cm-placeholder');\n if (placeholders.length > 0) {\n domClasses(container, document.body).add(NO_LINT_CLS);\n } else {\n domClasses(container, document.body).remove(NO_LINT_CLS);\n }\n return [];\n });\n }\n}\n\nfunction findDiff(oldStr, newStr) {\n if (oldStr === newStr) {\n return null;\n }\n\n oldStr = oldStr || '';\n newStr = newStr || '';\n\n let minLength = Math.min(oldStr.length, newStr.length);\n let start = 0;\n\n while (start < minLength && oldStr[start] === newStr[start]) {\n start++;\n }\n\n if (start === minLength) {\n return {\n start: start,\n text: newStr.slice(start),\n end: oldStr.length,\n };\n }\n\n let endOld = oldStr.length;\n let endNew = newStr.length;\n\n while (endOld > start && endNew > start && oldStr[endOld - 1] === newStr[endNew - 1]) {\n endOld--;\n endNew--;\n }\n\n return {\n start: start,\n text: newStr.slice(start, endNew),\n end: endOld,\n };\n}\n","export function Section(props) {\n const elements = Array.isArray(props.children) ? props.children : [props.children];\n\n const { headerItems, children } = elements.reduce(\n (_, child) => {\n const bucket = child.type === Section.HeaderItem ? _.headerItems : _.children;\n\n bucket.push(child);\n\n return _;\n },\n { headerItems: [], children: [] },\n );\n\n return (\n <div class=\"fjs-pgl-section\">\n <h1 class=\"header\">\n {props.name} {headerItems.length ? <span class=\"header-items\">{headerItems}</span> : null}\n </h1>\n <div class=\"body\">{children}</div>\n </div>\n );\n}\n\nSection.HeaderItem = function (props) {\n return props.children;\n};\n","import { useRef, useEffect, useState, useCallback } from 'preact/hooks';\nimport { isFunction } from 'min-dash';\nimport download from 'downloadjs';\n\nimport classNames from 'classnames';\n\nimport { Form, getSchemaVariables } from '@bpmn-io/form-js-viewer';\n\nimport { FormEditor } from '@bpmn-io/form-js-editor';\n\nimport { EmbedModal } from './EmbedModal';\nimport { JSONEditor } from './JSONEditor';\nimport { Section } from './Section';\n\nimport './FileDrop.css';\nimport './PlaygroundRoot.css';\n\nexport function PlaygroundRoot(config) {\n const {\n additionalModules, // goes into both editor + viewer\n actions: actionsConfig,\n emit,\n exporter: exporterConfig,\n viewerProperties,\n editorProperties,\n viewerAdditionalModules,\n editorAdditionalModules,\n propertiesPanel: propertiesPanelConfig,\n apiLinkTarget,\n onInit,\n } = config;\n\n const { display: displayActions = true } = actionsConfig || {};\n\n const editorContainerRef = useRef();\n const paletteContainerRef = useRef();\n const propertiesPanelContainerRef = useRef();\n const viewerContainerRef = useRef();\n const inputDataContainerRef = useRef();\n const outputDataContainerRef = useRef();\n\n const formEditorRef = useRef();\n const formViewerRef = useRef();\n const inputDataRef = useRef();\n const outputDataRef = useRef();\n\n const [showEmbed, setShowEmbed] = useState(false);\n const [schema, setSchema] = useState();\n const [data, setData] = useState();\n\n const load = useCallback((schema, data) => {\n formEditorRef.current.importSchema(schema, data);\n inputDataRef.current.setValue(toString(data));\n setData(data);\n }, []);\n\n // initialize and link the editors\n useEffect(() => {\n const inputDataEditor = (inputDataRef.current = new JSONEditor({\n contentAttributes: { 'aria-label': 'Form Input', tabIndex: 0 },\n placeholder: createDataEditorPlaceholder(),\n }));\n\n const outputDataEditor = (outputDataRef.current = new JSONEditor({\n readonly: true,\n contentAttributes: { 'aria-label': 'Form Output', tabIndex: 0 },\n }));\n\n const formViewer = (formViewerRef.current = new Form({\n container: viewerContainerRef.current,\n additionalModules: [...(additionalModules || []), ...(viewerAdditionalModules || [])],\n properties: {\n ...(viewerProperties || {}),\n ariaLabel: 'Form Preview',\n },\n }));\n\n const formEditor = (formEditorRef.current = new FormEditor({\n container: editorContainerRef.current,\n renderer: {\n compact: true,\n },\n palette: {\n parent: paletteContainerRef.current,\n },\n propertiesPanel: {\n parent: propertiesPanelContainerRef.current,\n ...(propertiesPanelConfig || {}),\n },\n exporter: exporterConfig,\n properties: {\n ...(editorProperties || {}),\n ariaLabel: 'Form Definition',\n },\n additionalModules: [...(additionalModules || []), ...(editorAdditionalModules || [])],\n }));\n\n formEditor.on('formField.add', ({ formField }) => {\n const formFields = formEditor.get('formFields');\n const { config } = formFields.get(formField.type);\n const { generateInitialDemoData } = config;\n const { id } = formField;\n\n if (!isFunction(generateInitialDemoData)) {\n return;\n }\n\n const initialDemoData = generateInitialDemoData(formField);\n\n if ([initialDemoData, id].includes(undefined)) {\n return;\n }\n\n setData((currentData) => {\n const newData = {\n ...currentData,\n [id]: initialDemoData,\n };\n\n inputDataRef.current.setValue(toString(newData));\n\n return newData;\n });\n });\n\n formEditor.on('changed', () => {\n setSchema(formEditor.getSchema());\n });\n\n formEditor.on('formEditor.rendered', () => {\n // notify interested parties after render\n emit('formPlayground.rendered');\n });\n\n const updateOutputData = () => {\n const submitData = formViewer._getSubmitData();\n outputDataEditor.setValue(toString(submitData));\n };\n\n // pipe viewer changes to output data editor\n formViewer.on('changed', updateOutputData);\n formViewer.on('formFieldInstance.added', updateOutputData);\n formViewer.on('formFieldInstance.removed', updateOutputData);\n\n inputDataEditor.on('changed', (event) => {\n try {\n setData(JSON.parse(event.value));\n } catch (error) {\n // notify interested about input data error\n emit('formPlayground.inputDataError', error);\n }\n });\n\n inputDataEditor.attachTo(inputDataContainerRef.current);\n outputDataEditor.attachTo(outputDataContainerRef.current);\n\n return () => {\n inputDataEditor.destroy();\n outputDataEditor.destroy();\n formViewer.destroy();\n formEditor.destroy();\n };\n }, [\n additionalModules,\n editorAdditionalModules,\n editorProperties,\n emit,\n exporterConfig,\n propertiesPanelConfig,\n viewerAdditionalModules,\n viewerProperties,\n ]);\n\n // initialize data through props\n useEffect(() => {\n if (!config.initialSchema) {\n return;\n }\n\n load(config.initialSchema, config.initialData || {});\n }, [config.initialSchema, config.initialData, load]);\n\n useEffect(() => {\n schema && formViewerRef.current.importSchema(schema, data);\n }, [schema, data]);\n\n useEffect(() => {\n if (schema && inputDataContainerRef.current) {\n const variables = getSchemaVariables(schema);\n inputDataRef.current.setVariables(variables);\n }\n }, [schema]);\n\n // exposes api to parent\n useEffect(() => {\n if (!apiLinkTarget) {\n return;\n }\n\n apiLinkTarget.api = {\n attachDataContainer: (node) => inputDataRef.current.attachTo(node),\n attachResultContainer: (node) => outputDataRef.current.attachTo(node),\n attachFormContainer: (node) => formViewerRef.current.attachTo(node),\n attachEditorContainer: (node) => formEditorRef.current.attachTo(node),\n attachPaletteContainer: (node) => formEditorRef.current.get('palette').attachTo(node),\n attachPropertiesPanelContainer: (node) => formEditorRef.current.get('propertiesPanel').attachTo(node),\n get: (name, strict) => formEditorRef.current.get(name, strict),\n getDataEditor: () => inputDataRef.current,\n getEditor: () => formEditorRef.current,\n getForm: () => formViewerRef.current,\n getResultView: () => outputDataRef.current,\n getSchema: () => formEditorRef.current.getSchema(),\n saveSchema: () => formEditorRef.current.saveSchema(),\n setSchema: (newSchema) => {\n return formEditorRef.current.importSchema(newSchema);\n },\n setData: setData,\n };\n\n onInit();\n }, [apiLinkTarget, onInit]);\n\n // separate effect for state to avoid re-creating the api object every time\n useEffect(() => {\n if (!apiLinkTarget) {\n return;\n }\n\n apiLinkTarget.api.getState = () => ({ schema, data });\n apiLinkTarget.api.load = load;\n }, [apiLinkTarget, schema, data, load]);\n\n const handleDownload = useCallback(() => {\n download(JSON.stringify(schema, null, ' '), 'form.json', 'text/json');\n }, [schema]);\n\n const hideEmbedModal = useCallback(() => {\n setShowEmbed(false);\n }, []);\n\n const showEmbedModal = useCallback(() => {\n setShowEmbed(true);\n }, []);\n\n return (\n <div class={classNames('fjs-container', 'fjs-pgl-root')}>\n <div class=\"fjs-pgl-modals\">\n {showEmbed ? <EmbedModal schema={schema} data={data} onClose={hideEmbedModal} /> : null}\n </div>\n <div class=\"fjs-pgl-palette-container\" ref={paletteContainerRef} />\n <div class=\"fjs-pgl-main\">\n <Section name=\"Form Definition\">\n {displayActions && (\n <Section.HeaderItem>\n <button type=\"button\" class=\"fjs-pgl-button\" title=\"Download form definition\" onClick={handleDownload}>\n Download\n </button>\n </Section.HeaderItem>\n )}\n\n {displayActions && (\n <Section.HeaderItem>\n <button type=\"button\" class=\"fjs-pgl-button\" onClick={showEmbedModal}>\n Embed\n </button>\n </Section.HeaderItem>\n )}\n\n <div ref={editorContainerRef} class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Preview\">\n <div ref={viewerContainerRef} class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Input\">\n <div ref={inputDataContainerRef} class=\"fjs-pgl-text-container\"></div>\n </Section>\n <Section name=\"Form Output\">\n <div ref={outputDataContainerRef} class=\"fjs-pgl-text-container\"></div>\n </Section>\n </div>\n <div class=\"fjs-pgl-properties-container\" ref={propertiesPanelContainerRef} />\n </div>\n );\n}\n\n// helpers ///////////////\n\nfunction toString(obj) {\n return JSON.stringify(obj, null, ' ');\n}\n\nfunction createDataEditorPlaceholder() {\n const element = document.createElement('p');\n\n element.innerHTML =\n 'Use this panel to simulate the form input, such as process variables.\\nThis helps to test the form by populating the preview.\\n\\n' +\n 'Follow the JSON format like this:\\n\\n' +\n '{\\n \"variable\": \"value\"\\n}';\n\n return element;\n}\n","import { render } from 'preact';\n\nimport fileDrop from 'file-drops';\n\nimport mitt from 'mitt';\n\nimport { PlaygroundRoot } from './components/PlaygroundRoot';\n\n/**\n * @typedef { import('@bpmn-io/form-js-viewer/dist/types/types').FormProperties } FormProperties\n * @typedef { import('@bpmn-io/form-js-editor/dist/types/types').FormEditorProperties } FormEditorProperties\n *\n * @typedef { {\n * actions?: { display: Boolean }\n * additionalModules?: Array<any>\n * container?: Element\n * data: any\n * editor?: { inlinePropertiesPanel: Boolean }\n * editorAdditionalModules?: Array<any>\n * editorProperties?: FormEditorProperties\n * exporter?: { name: String, version: String }\n * propertiesPanel?: { parent: Element, feelPopupContainer: Element }\n * schema: any\n * viewerAdditionalModules?: Array<any>\n * viewerProperties?: FormProperties\n * } } FormPlaygroundOptions\n */\n\n/**\n * @param {FormPlaygroundOptions} options\n */\nfunction Playground(options) {\n const { container: parent, schema: initialSchema, data: initialData, ...rest } = options;\n\n const emitter = mitt();\n\n const container = document.createElement('div');\n\n container.classList.add('fjs-pgl-parent');\n\n if (parent) {\n parent.appendChild(container);\n }\n\n const handleDrop = fileDrop('Drop a form file', function (files) {\n const file = files[0];\n\n if (file) {\n try {\n this.api.setSchema(JSON.parse(file.contents));\n } catch (err) {\n // TODO(nikku): indicate JSON parse error\n }\n }\n });\n\n const safe = function (fn) {\n return function (...args) {\n if (!this.api) {\n throw new Error('Playground is not initialized.');\n }\n\n return fn(...args);\n };\n };\n\n const onInit = function () {\n emitter.emit('formPlayground.init');\n };\n\n container.addEventListener('dragover', handleDrop);\n\n render(\n <PlaygroundRoot\n initialSchema={initialSchema}\n initialData={initialData}\n emit={emitter.emit}\n apiLinkTarget={this}\n onInit={onInit}\n {...rest}\n />,\n container,\n );\n\n this.on = emitter.on;\n this.off = emitter.off;\n\n this.emit = emitter.emit;\n\n this.on('destroy', () => {\n render(null, container);\n parent.removeChild(container);\n });\n\n this.destroy = () => this.emit('destroy');\n\n this.getState = safe(() => this.api.getState());\n\n this.getSchema = safe(() => this.api.getSchema());\n\n this.setSchema = safe((schema) => this.api.setSchema(schema));\n\n this.saveSchema = safe(() => this.api.saveSchema());\n\n this.get = safe((name, strict) => this.api.get(name, strict));\n\n this.getDataEditor = safe(() => this.api.getDataEditor());\n\n this.getEditor = safe(() => this.api.getEditor());\n\n this.getForm = safe((name, strict) => this.api.getForm(name, strict));\n\n this.getResultView = safe(() => this.api.getResultView());\n\n this.attachEditorContainer = safe((node) => this.api.attachEditorContainer(node));\n\n this.attachPreviewContainer = safe((node) => this.api.attachFormContainer(node));\n\n this.attachDataContainer = safe((node) => this.api.attachDataContainer(node));\n\n this.attachResultContainer = safe((node) => this.api.attachResultContainer(node));\n\n this.attachPaletteContainer = safe((node) => this.api.attachPaletteContainer(node));\n\n this.attachPropertiesPanelContainer = safe((node) => this.api.attachPropertiesPanelContainer(node));\n}\n\nexport { Playground };\n"],"names":["Modal","props","useEffect","handleKey","event","key","stopPropagation","onClose","document","addEventListener","removeEventListener","_jsxs","class","children","_jsx","onClick","name","type","EmbedModal","schema","serializeValue","data","fieldRef","useRef","snippet","trim","current","select","href","spellCheck","ref","obj","JSON","stringify","replace","variablesFacet","Facet","define","autocompletionExtension","autocompletion","override","completions","context","variables","state","facet","objectOptions","map","label","displayLabel","apply","view","completion","from","to","doc","beforeChar","sliceString","line","lineAt","indentation","exec","text","baseInsert","insert","dispatch","changes","selection","anchor","length","propertyNameOptions","propertyValueOptions","boost","finalOptions","nodeBefore","syntaxTree","resolve","pos","word","matchBefore","includes","parent","explicit","options","NO_LINT_CLS","JSONEditor","contentAttributes","placeholder","editorPlaceholder","readonly","emitter","mitt","languageCompartment","Compartment","of","json","tabSizeCompartment","EditorState","tabSize","autocompletionConfCompartment","placeholderLinterExtension","createPlaceholderLinterExtension","container","createState","extensions","basicSetup","lintGutter","linter","jsonParseLinter","keymap","indentWithTab","readOnly","EditorView","updateListener","update","docChanged","emit","value","toString","create","setValue","newValue","oldValue","diff","findDiff","start","end","getValue","setVariables","effects","reconfigure","getView","on","off","attachTo","_container","appendChild","dom","domClasses","body","add","destroy","removeChild","remove","placeholders","querySelectorAll","oldStr","newStr","minLength","Math","min","slice","endOld","endNew","Section","elements","Array","isArray","headerItems","reduce","_","child","bucket","HeaderItem","push","PlaygroundRoot","config","additionalModules","actions","actionsConfig","exporter","exporterConfig","viewerProperties","editorProperties","viewerAdditionalModules","editorAdditionalModules","propertiesPanel","propertiesPanelConfig","apiLinkTarget","onInit","display","displayActions","editorContainerRef","paletteContainerRef","propertiesPanelContainerRef","viewerContainerRef","inputDataContainerRef","outputDataContainerRef","formEditorRef","formViewerRef","inputDataRef","outputDataRef","showEmbed","setShowEmbed","useState","setSchema","setData","load","useCallback","importSchema","inputDataEditor","tabIndex","createDataEditorPlaceholder","outputDataEditor","formViewer","Form","properties","ariaLabel","formEditor","FormEditor","renderer","compact","palette","formField","formFields","get","generateInitialDemoData","id","isFunction","initialDemoData","undefined","currentData","newData","getSchema","updateOutputData","submitData","_getSubmitData","parse","error","initialSchema","initialData","getSchemaVariables","api","attachDataContainer","node","attachResultContainer","attachFormContainer","attachEditorContainer","attachPaletteContainer","attachPropertiesPanelContainer","strict","getDataEditor","getEditor","getForm","getResultView","saveSchema","newSchema","getState","handleDownload","download","hideEmbedModal","showEmbedModal","classNames","title","element","createElement","innerHTML","Playground","rest","classList","handleDrop","fileDrop","files","file","contents","err","safe","fn","args","Error","render","attachPreviewContainer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/components/Modal.js","../src/components/EmbedModal.js","../src/components/autocompletion/VariablesFacet.js","../src/components/autocompletion/index.js","../src/components/JSONEditor.js","../src/components/Section.js","../src/components/PlaygroundRoot.js","../src/Playground.js"],"sourcesContent":["import { useEffect } from 'preact/hooks';\n\nexport function Modal(props) {\n useEffect(() => {\n function handleKey(event) {\n if (event.key === 'Escape') {\n event.stopPropagation();\n\n props.onClose();\n }\n }\n\n document.addEventListener('keydown', handleKey);\n\n return () => {\n document.removeEventListener('keydown', handleKey);\n };\n });\n\n return (\n <div class=\"fjs-pgl-modal\">\n <div class=\"fjs-pgl-modal-backdrop\" onClick={props.onClose}></div>\n <div class=\"fjs-pgl-modal-content\">\n <h1 class=\"fjs-pgl-modal-header\">{props.name}</h1>\n <div class=\"fjs-pgl-modal-body\">{props.children}</div>\n <div class=\"fjs-pgl-modal-footer\">\n <button type=\"button\" class=\"fjs-pgl-button fjs-pgl-button-default\" onClick={props.onClose}>\n Close\n </button>\n </div>\n </div>\n </div>\n );\n}\n","import { useEffect, useRef } from 'preact/hooks';\n\nimport { Modal } from './Modal';\n\nexport function EmbedModal(props) {\n const schema = serializeValue(props.schema);\n const data = serializeValue(props.data || {});\n\n const fieldRef = useRef();\n\n const snippet = `<!-- styles needed for rendering -->\n<link rel=\"stylesheet\" href=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/assets/form-js.css\">\n\n<!-- container to render the form into -->\n<div class=\"fjs-pgl-form-container\"></div>\n\n<!-- scripts needed for embedding -->\n<script src=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/form-viewer.umd.js\"></script>\n\n<!-- actual script to instantiate the form and load form schema + data -->\n<script>\n const data = JSON.parse(${data});\n const schema = JSON.parse(${schema});\n\n const form = new FormViewer.Form({\n container: document.querySelector(\".fjs-pgl-form-container\")\n });\n\n form.on(\"submit\", (event) => {\n console.log(event.data, event.errors);\n });\n\n form.importSchema(schema, data).catch(err => {\n console.error(\"Failed to render form\", err);\n });\n</script>\n `.trim();\n\n useEffect(() => {\n fieldRef.current.select();\n });\n\n return (\n <Modal name=\"Embed form\" onClose={props.onClose}>\n <p>\n Use the following HTML snippet to embed your form with <a href=\"https://github.com/bpmn-io/form-js\">form-js</a>:\n </p>\n\n <textarea spellCheck=\"false\" ref={fieldRef}>\n {snippet}\n </textarea>\n </Modal>\n );\n}\n\n// helpers ///////////\n\nfunction serializeValue(obj) {\n return JSON.stringify(JSON.stringify(obj)).replace(/</g, '<').replace(/>/g, '>');\n}\n","import { Facet } from '@codemirror/state';\n\n/**\n * @type {Facet<import('..').Variables>} Variables\n */\nexport const variablesFacet = Facet.define();\n","import { autocompletion } from '@codemirror/autocomplete';\nimport { variablesFacet } from './VariablesFacet';\n\nimport { syntaxTree } from '@codemirror/language';\n\nexport function autocompletionExtension() {\n return [\n autocompletion({\n override: [completions],\n }),\n ];\n}\n\n/**\n * @param {import('@codemirror/autocomplete').CompletionContext} context\n */\nfunction completions(context) {\n const variables = context.state.facet(variablesFacet)[0];\n /** @type {import('@codemirror/autocomplete').Completion[]} */\n const objectOptions = variables.map((label) => ({\n displayLabel: `\"${label}\"`,\n label: `\"${label}\": `,\n type: 'variable',\n apply: (view, completion, from, to) => {\n const doc = view.state.doc;\n const beforeChar = doc.sliceString(from - 1, from);\n const line = doc.lineAt(from);\n const indentation = /^\\s*/.exec(line.text)[0];\n const baseInsert = completion.label;\n\n if (beforeChar === '{') {\n const insert = `\\n ${indentation}${baseInsert},\\n`;\n view.dispatch({\n changes: {\n from,\n to,\n insert,\n },\n selection: {\n anchor: from + insert.length - 2,\n },\n });\n } else if (beforeChar === ',') {\n const insert = `\\n${indentation}${baseInsert},`;\n view.dispatch({\n changes: {\n from,\n to,\n insert,\n },\n selection: {\n anchor: from + insert.length - 1,\n },\n });\n } else {\n const insert = `${baseInsert},`;\n view.dispatch({\n changes: {\n from,\n to,\n insert,\n },\n selection: {\n anchor: from + insert.length - 1,\n },\n });\n }\n },\n }));\n /** @type {import('@codemirror/autocomplete').Completion[]} */\n const propertyNameOptions = variables.map((label) => ({\n label,\n type: 'variable',\n }));\n /** @type {import('@codemirror/autocomplete').Completion[]} */\n const propertyValueOptions = [\n {\n label: 'true',\n type: 'constant keyword',\n boost: 3,\n },\n {\n label: 'false',\n type: 'constant keyword',\n boost: 2,\n },\n {\n label: 'null',\n type: 'constant keyword',\n boost: 1,\n },\n {\n displayLabel: '[ .. ]',\n label: '[ ]',\n apply: (view, completion, from, to) => {\n view.dispatch({\n changes: { from, to, insert: completion.label },\n selection: { anchor: from + 2 },\n });\n },\n },\n {\n displayLabel: '{ .. }',\n label: '{ }',\n apply: (view, completion, from, to) => {\n view.dispatch({\n changes: { from, to, insert: completion.label },\n selection: { anchor: from + 2 },\n });\n },\n },\n ];\n let finalOptions = [];\n let nodeBefore = syntaxTree(context.state).resolve(context.pos, -1);\n let word = context.matchBefore(/\\w*/);\n\n if (['Object', '{'].includes(nodeBefore.type.name)) {\n finalOptions = objectOptions;\n }\n\n if (nodeBefore.type.name === ',' && nodeBefore.parent?.type.name === 'Object') {\n finalOptions = objectOptions;\n }\n\n if (nodeBefore.type.name === 'PropertyName') {\n context.explicit = true;\n finalOptions = propertyNameOptions;\n }\n\n if (['Property', '[', 'Array'].includes(nodeBefore.type.name)) {\n finalOptions = propertyValueOptions;\n }\n\n if (nodeBefore.type.name === ':' && nodeBefore.parent?.type.name === 'Property') {\n finalOptions = propertyValueOptions;\n }\n\n if (word.from == word.to && !context.explicit) {\n return null;\n }\n\n return {\n from: word.from,\n options: finalOptions,\n };\n}\n","import mitt from 'mitt';\nimport { basicSetup } from 'codemirror';\nimport { EditorView, keymap, placeholder } from '@codemirror/view';\nimport { EditorState, Compartment } from '@codemirror/state';\nimport { lintGutter, linter } from '@codemirror/lint';\nimport { json, jsonParseLinter } from '@codemirror/lang-json';\nimport { indentWithTab } from '@codemirror/commands';\nimport { autocompletionExtension } from './autocompletion/index';\nimport { variablesFacet } from './autocompletion/VariablesFacet';\nimport { classes as domClasses } from 'min-dom';\n\nconst NO_LINT_CLS = 'fjs-cm-no-lint';\n\n/**\n * @param {object} options\n * @param {boolean} [options.readonly]\n * @param {object} [options.contentAttributes]\n * @param {string | HTMLElement} [options.placeholder]\n */\nexport function JSONEditor(options = {}) {\n const { contentAttributes = {}, placeholder: editorPlaceholder, readonly = false } = options;\n const emitter = mitt();\n\n const languageCompartment = new Compartment().of(json());\n const tabSizeCompartment = new Compartment().of(EditorState.tabSize.of(2));\n const autocompletionConfCompartment = new Compartment();\n const placeholderLinterExtension = createPlaceholderLinterExtension();\n\n let container = null;\n\n function createState(doc, variables = []) {\n const extensions = [\n basicSetup,\n languageCompartment,\n tabSizeCompartment,\n lintGutter(),\n linter(jsonParseLinter()),\n placeholderLinterExtension,\n autocompletionConfCompartment.of(variablesFacet.of(variables)),\n autocompletionExtension(),\n keymap.of([indentWithTab]),\n editorPlaceholder ? placeholder(editorPlaceholder) : [],\n EditorState.readOnly.of(readonly),\n EditorView.updateListener.of((update) => {\n if (update.docChanged) {\n emitter.emit('changed', { value: update.state.doc.toString() });\n }\n }),\n EditorView.contentAttributes.of(contentAttributes),\n ];\n\n return EditorState.create({ doc, extensions });\n }\n\n const view = new EditorView({\n state: createState(''),\n });\n\n this.setValue = function (newValue) {\n const oldValue = view.state.doc.toString();\n\n const diff = findDiff(oldValue, newValue);\n\n if (diff) {\n view.dispatch({\n changes: { from: diff.start, to: diff.end, insert: diff.text },\n selection: { anchor: diff.start + diff.text.length },\n });\n }\n };\n\n this.getValue = function () {\n return view.state.doc.toString();\n };\n\n this.setVariables = function (variables) {\n view.dispatch({ effects: autocompletionConfCompartment.reconfigure(variablesFacet.of(variables)) });\n };\n\n this.getView = function () {\n return view;\n };\n\n this.on = emitter.on;\n this.off = emitter.off;\n this.emit = emitter.emit;\n\n this.attachTo = function (_container) {\n container = _container;\n container.appendChild(view.dom);\n domClasses(container, document.body).add('fjs-json-editor');\n };\n\n this.destroy = function () {\n if (container && view.dom) {\n container.removeChild(view.dom);\n domClasses(container, document.body).remove('fjs-json-editor');\n }\n view.destroy();\n };\n\n function createPlaceholderLinterExtension() {\n return linter((view) => {\n if (!container) {\n return [];\n }\n\n const placeholders = view.dom.querySelectorAll('.cm-placeholder');\n if (placeholders.length > 0) {\n domClasses(container, document.body).add(NO_LINT_CLS);\n } else {\n domClasses(container, document.body).remove(NO_LINT_CLS);\n }\n return [];\n });\n }\n}\n\nfunction findDiff(oldStr, newStr) {\n if (oldStr === newStr) {\n return null;\n }\n\n oldStr = oldStr || '';\n newStr = newStr || '';\n\n let minLength = Math.min(oldStr.length, newStr.length);\n let start = 0;\n\n while (start < minLength && oldStr[start] === newStr[start]) {\n start++;\n }\n\n if (start === minLength) {\n return {\n start: start,\n text: newStr.slice(start),\n end: oldStr.length,\n };\n }\n\n let endOld = oldStr.length;\n let endNew = newStr.length;\n\n while (endOld > start && endNew > start && oldStr[endOld - 1] === newStr[endNew - 1]) {\n endOld--;\n endNew--;\n }\n\n return {\n start: start,\n text: newStr.slice(start, endNew),\n end: endOld,\n };\n}\n","export function Section(props) {\n const elements = Array.isArray(props.children) ? props.children : [props.children];\n\n const { headerItems, children } = elements.reduce(\n (_, child) => {\n const bucket = child.type === Section.HeaderItem ? _.headerItems : _.children;\n\n bucket.push(child);\n\n return _;\n },\n { headerItems: [], children: [] },\n );\n\n return (\n <div class=\"fjs-pgl-section\">\n <h1 class=\"header\">\n {props.name} {headerItems.length ? <span class=\"header-items\">{headerItems}</span> : null}\n </h1>\n <div class=\"body\">{children}</div>\n </div>\n );\n}\n\nSection.HeaderItem = function (props) {\n return props.children;\n};\n","import { useRef, useEffect, useState, useCallback } from 'preact/hooks';\nimport { isFunction } from 'min-dash';\nimport download from 'downloadjs';\n\nimport classNames from 'classnames';\n\nimport { Form, getSchemaVariables } from '@bpmn-io/form-js-viewer';\n\nimport { FormEditor } from '@bpmn-io/form-js-editor';\n\nimport { EmbedModal } from './EmbedModal';\nimport { JSONEditor } from './JSONEditor';\nimport { Section } from './Section';\n\nimport './FileDrop.css';\nimport './PlaygroundRoot.css';\n\nexport function PlaygroundRoot(config) {\n const {\n additionalModules, // goes into both editor + viewer\n actions: actionsConfig,\n emit,\n exporter: exporterConfig,\n viewerProperties,\n editorProperties,\n viewerAdditionalModules,\n editorAdditionalModules,\n editorSlots,\n propertiesPanel: propertiesPanelConfig,\n apiLinkTarget,\n onInit,\n } = config;\n\n const { display: displayActions = true } = actionsConfig || {};\n\n const editorContainerRef = useRef();\n const paletteContainerRef = useRef();\n const propertiesPanelContainerRef = useRef();\n const viewerContainerRef = useRef();\n const inputDataContainerRef = useRef();\n const outputDataContainerRef = useRef();\n\n const formEditorRef = useRef();\n const formViewerRef = useRef();\n const inputDataRef = useRef();\n const outputDataRef = useRef();\n\n const [showEmbed, setShowEmbed] = useState(false);\n const [schema, setSchema] = useState();\n const [data, setData] = useState();\n\n const load = useCallback((schema, data) => {\n formEditorRef.current.importSchema(schema, data);\n inputDataRef.current.setValue(toString(data));\n setData(data);\n }, []);\n\n // initialize and link the editors\n useEffect(() => {\n const inputDataEditor = (inputDataRef.current = new JSONEditor({\n contentAttributes: { 'aria-label': 'Form Input', tabIndex: 0 },\n placeholder: createDataEditorPlaceholder(),\n }));\n\n const outputDataEditor = (outputDataRef.current = new JSONEditor({\n readonly: true,\n contentAttributes: { 'aria-label': 'Form Output', tabIndex: 0 },\n }));\n\n const formViewer = (formViewerRef.current = new Form({\n container: viewerContainerRef.current,\n additionalModules: [...(additionalModules || []), ...(viewerAdditionalModules || [])],\n properties: {\n ...(viewerProperties || {}),\n ariaLabel: 'Form Preview',\n },\n }));\n\n const formEditor = (formEditorRef.current = new FormEditor({\n container: editorContainerRef.current,\n renderer: {\n compact: true,\n },\n palette: {\n parent: paletteContainerRef.current,\n },\n propertiesPanel: {\n parent: propertiesPanelContainerRef.current,\n ...(propertiesPanelConfig || {}),\n },\n exporter: exporterConfig,\n properties: {\n ...(editorProperties || {}),\n ariaLabel: 'Form Definition',\n },\n additionalModules: [...(additionalModules || []), ...(editorAdditionalModules || [])],\n ...(editorSlots ? { slots: editorSlots } : {}),\n }));\n\n formEditor.on('formField.add', ({ formField }) => {\n const formFields = formEditor.get('formFields');\n const { config } = formFields.get(formField.type);\n const { generateInitialDemoData } = config;\n const { id } = formField;\n\n if (!isFunction(generateInitialDemoData)) {\n return;\n }\n\n const initialDemoData = generateInitialDemoData(formField);\n\n if ([initialDemoData, id].includes(undefined)) {\n return;\n }\n\n setData((currentData) => {\n const newData = {\n ...currentData,\n [id]: initialDemoData,\n };\n\n inputDataRef.current.setValue(toString(newData));\n\n return newData;\n });\n });\n\n formEditor.on('changed', () => {\n setSchema(formEditor.getSchema());\n });\n\n formEditor.on('formEditor.rendered', () => {\n // notify interested parties after render\n emit('formPlayground.rendered');\n });\n\n const updateOutputData = () => {\n const submitData = formViewer._getSubmitData();\n outputDataEditor.setValue(toString(submitData));\n };\n\n // pipe viewer changes to output data editor\n formViewer.on('changed', updateOutputData);\n formViewer.on('formFieldInstance.added', updateOutputData);\n formViewer.on('formFieldInstance.removed', updateOutputData);\n\n inputDataEditor.on('changed', (event) => {\n try {\n setData(JSON.parse(event.value));\n } catch (error) {\n // notify interested about input data error\n emit('formPlayground.inputDataError', error);\n }\n });\n\n inputDataEditor.attachTo(inputDataContainerRef.current);\n outputDataEditor.attachTo(outputDataContainerRef.current);\n\n return () => {\n inputDataEditor.destroy();\n outputDataEditor.destroy();\n formViewer.destroy();\n formEditor.destroy();\n };\n }, [\n additionalModules,\n editorAdditionalModules,\n editorProperties,\n editorSlots,\n emit,\n exporterConfig,\n propertiesPanelConfig,\n viewerAdditionalModules,\n viewerProperties,\n ]);\n\n // initialize data through props\n useEffect(() => {\n if (!config.initialSchema) {\n return;\n }\n\n load(config.initialSchema, config.initialData || {});\n }, [config.initialSchema, config.initialData, load]);\n\n useEffect(() => {\n schema && formViewerRef.current.importSchema(schema, data);\n }, [schema, data]);\n\n useEffect(() => {\n if (schema && inputDataContainerRef.current) {\n const variables = getSchemaVariables(schema);\n inputDataRef.current.setVariables(variables);\n }\n }, [schema]);\n\n // exposes api to parent\n useEffect(() => {\n if (!apiLinkTarget) {\n return;\n }\n\n apiLinkTarget.api = {\n attachDataContainer: (node) => inputDataRef.current.attachTo(node),\n attachResultContainer: (node) => outputDataRef.current.attachTo(node),\n attachFormContainer: (node) => formViewerRef.current.attachTo(node),\n attachEditorContainer: (node) => formEditorRef.current.attachTo(node),\n attachPaletteContainer: (node) => formEditorRef.current.get('palette').attachTo(node),\n attachPropertiesPanelContainer: (node) => formEditorRef.current.get('propertiesPanel').attachTo(node),\n get: (name, strict) => formEditorRef.current.get(name, strict),\n getDataEditor: () => inputDataRef.current,\n getEditor: () => formEditorRef.current,\n getForm: () => formViewerRef.current,\n getResultView: () => outputDataRef.current,\n getSchema: () => formEditorRef.current.getSchema(),\n saveSchema: () => formEditorRef.current.saveSchema(),\n setSchema: (newSchema) => {\n return formEditorRef.current.importSchema(newSchema);\n },\n setData: setData,\n };\n\n onInit();\n }, [apiLinkTarget, onInit]);\n\n // separate effect for state to avoid re-creating the api object every time\n useEffect(() => {\n if (!apiLinkTarget) {\n return;\n }\n\n apiLinkTarget.api.getState = () => ({ schema, data });\n apiLinkTarget.api.load = load;\n }, [apiLinkTarget, schema, data, load]);\n\n const handleDownload = useCallback(() => {\n download(JSON.stringify(schema, null, ' '), 'form.json', 'text/json');\n }, [schema]);\n\n const hideEmbedModal = useCallback(() => {\n setShowEmbed(false);\n }, []);\n\n const showEmbedModal = useCallback(() => {\n setShowEmbed(true);\n }, []);\n\n return (\n <div class={classNames('fjs-container', 'fjs-pgl-root')}>\n <div class=\"fjs-pgl-modals\">\n {showEmbed ? <EmbedModal schema={schema} data={data} onClose={hideEmbedModal} /> : null}\n </div>\n <div class=\"fjs-pgl-palette-container\" ref={paletteContainerRef} />\n <div class=\"fjs-pgl-main\">\n <Section name=\"Form Definition\">\n {displayActions && (\n <Section.HeaderItem>\n <button type=\"button\" class=\"fjs-pgl-button\" title=\"Download form definition\" onClick={handleDownload}>\n Download\n </button>\n </Section.HeaderItem>\n )}\n\n {displayActions && (\n <Section.HeaderItem>\n <button type=\"button\" class=\"fjs-pgl-button\" onClick={showEmbedModal}>\n Embed\n </button>\n </Section.HeaderItem>\n )}\n\n <div ref={editorContainerRef} class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Preview\">\n <div ref={viewerContainerRef} class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Input\">\n <div ref={inputDataContainerRef} class=\"fjs-pgl-text-container\"></div>\n </Section>\n <Section name=\"Form Output\">\n <div ref={outputDataContainerRef} class=\"fjs-pgl-text-container\"></div>\n </Section>\n </div>\n <div class=\"fjs-pgl-properties-container\" ref={propertiesPanelContainerRef} />\n </div>\n );\n}\n\n// helpers ///////////////\n\nfunction toString(obj) {\n return JSON.stringify(obj, null, ' ');\n}\n\nfunction createDataEditorPlaceholder() {\n const element = document.createElement('p');\n\n element.innerHTML =\n 'Use this panel to simulate the form input, such as process variables.\\nThis helps to test the form by populating the preview.\\n\\n' +\n 'Follow the JSON format like this:\\n\\n' +\n '{\\n \"variable\": \"value\"\\n}';\n\n return element;\n}\n","import { render } from 'preact';\n\nimport fileDrop from 'file-drops';\n\nimport mitt from 'mitt';\n\nimport { PlaygroundRoot } from './components/PlaygroundRoot';\n\n/**\n * @typedef { import('@bpmn-io/form-js-viewer/dist/types/types').FormProperties } FormProperties\n * @typedef { import('@bpmn-io/form-js-editor/dist/types/types').FormEditorProperties } FormEditorProperties\n *\n * @typedef { {\n * actions?: { display: Boolean }\n * additionalModules?: Array<any>\n * container?: Element\n * data: any\n * editor?: { inlinePropertiesPanel: Boolean }\n * editorAdditionalModules?: Array<any>\n * editorProperties?: FormEditorProperties\n * editorSlots?: Object\n * exporter?: { name: String, version: String }\n * propertiesPanel?: { parent: Element, feelPopupContainer: Element }\n * schema: any\n * viewerAdditionalModules?: Array<any>\n * viewerProperties?: FormProperties\n * } } FormPlaygroundOptions\n */\n\n/**\n * @param {FormPlaygroundOptions} options\n */\nfunction Playground(options) {\n const { container: parent, schema: initialSchema, data: initialData, ...rest } = options;\n\n const emitter = mitt();\n\n const container = document.createElement('div');\n\n container.classList.add('fjs-pgl-parent');\n\n if (parent) {\n parent.appendChild(container);\n }\n\n const handleDrop = fileDrop('Drop a form file', function (files) {\n const file = files[0];\n\n if (file) {\n try {\n this.api.setSchema(JSON.parse(file.contents));\n } catch (err) {\n // TODO(nikku): indicate JSON parse error\n }\n }\n });\n\n const safe = function (fn) {\n return function (...args) {\n if (!this.api) {\n throw new Error('Playground is not initialized.');\n }\n\n return fn(...args);\n };\n };\n\n const onInit = function () {\n emitter.emit('formPlayground.init');\n };\n\n container.addEventListener('dragover', handleDrop);\n\n render(\n <PlaygroundRoot\n initialSchema={initialSchema}\n initialData={initialData}\n emit={emitter.emit}\n apiLinkTarget={this}\n onInit={onInit}\n {...rest}\n />,\n container,\n );\n\n this.on = emitter.on;\n this.off = emitter.off;\n\n this.emit = emitter.emit;\n\n this.on('destroy', () => {\n render(null, container);\n parent.removeChild(container);\n });\n\n this.destroy = () => this.emit('destroy');\n\n this.getState = safe(() => this.api.getState());\n\n this.getSchema = safe(() => this.api.getSchema());\n\n this.setSchema = safe((schema) => this.api.setSchema(schema));\n\n this.saveSchema = safe(() => this.api.saveSchema());\n\n this.get = safe((name, strict) => this.api.get(name, strict));\n\n this.getDataEditor = safe(() => this.api.getDataEditor());\n\n this.getEditor = safe(() => this.api.getEditor());\n\n this.getForm = safe((name, strict) => this.api.getForm(name, strict));\n\n this.getResultView = safe(() => this.api.getResultView());\n\n this.attachEditorContainer = safe((node) => this.api.attachEditorContainer(node));\n\n this.attachPreviewContainer = safe((node) => this.api.attachFormContainer(node));\n\n this.attachDataContainer = safe((node) => this.api.attachDataContainer(node));\n\n this.attachResultContainer = safe((node) => this.api.attachResultContainer(node));\n\n this.attachPaletteContainer = safe((node) => this.api.attachPaletteContainer(node));\n\n this.attachPropertiesPanelContainer = safe((node) => this.api.attachPropertiesPanelContainer(node));\n}\n\nexport { Playground };\n"],"names":["Modal","props","useEffect","handleKey","event","key","stopPropagation","onClose","document","addEventListener","removeEventListener","_jsxs","class","children","_jsx","onClick","name","type","EmbedModal","schema","serializeValue","data","fieldRef","useRef","snippet","trim","current","select","href","spellCheck","ref","obj","JSON","stringify","replace","variablesFacet","Facet","define","autocompletionExtension","autocompletion","override","completions","context","variables","state","facet","objectOptions","map","label","displayLabel","apply","view","completion","from","to","doc","beforeChar","sliceString","line","lineAt","indentation","exec","text","baseInsert","insert","dispatch","changes","selection","anchor","length","propertyNameOptions","propertyValueOptions","boost","finalOptions","nodeBefore","syntaxTree","resolve","pos","word","matchBefore","includes","parent","explicit","options","NO_LINT_CLS","JSONEditor","contentAttributes","placeholder","editorPlaceholder","readonly","emitter","mitt","languageCompartment","Compartment","of","json","tabSizeCompartment","EditorState","tabSize","autocompletionConfCompartment","placeholderLinterExtension","createPlaceholderLinterExtension","container","createState","extensions","basicSetup","lintGutter","linter","jsonParseLinter","keymap","indentWithTab","readOnly","EditorView","updateListener","update","docChanged","emit","value","toString","create","setValue","newValue","oldValue","diff","findDiff","start","end","getValue","setVariables","effects","reconfigure","getView","on","off","attachTo","_container","appendChild","dom","domClasses","body","add","destroy","removeChild","remove","placeholders","querySelectorAll","oldStr","newStr","minLength","Math","min","slice","endOld","endNew","Section","elements","Array","isArray","headerItems","reduce","_","child","bucket","HeaderItem","push","PlaygroundRoot","config","additionalModules","actions","actionsConfig","exporter","exporterConfig","viewerProperties","editorProperties","viewerAdditionalModules","editorAdditionalModules","editorSlots","propertiesPanel","propertiesPanelConfig","apiLinkTarget","onInit","display","displayActions","editorContainerRef","paletteContainerRef","propertiesPanelContainerRef","viewerContainerRef","inputDataContainerRef","outputDataContainerRef","formEditorRef","formViewerRef","inputDataRef","outputDataRef","showEmbed","setShowEmbed","useState","setSchema","setData","load","useCallback","importSchema","inputDataEditor","tabIndex","createDataEditorPlaceholder","outputDataEditor","formViewer","Form","properties","ariaLabel","formEditor","FormEditor","renderer","compact","palette","slots","formField","formFields","get","generateInitialDemoData","id","isFunction","initialDemoData","undefined","currentData","newData","getSchema","updateOutputData","submitData","_getSubmitData","parse","error","initialSchema","initialData","getSchemaVariables","api","attachDataContainer","node","attachResultContainer","attachFormContainer","attachEditorContainer","attachPaletteContainer","attachPropertiesPanelContainer","strict","getDataEditor","getEditor","getForm","getResultView","saveSchema","newSchema","getState","handleDownload","download","hideEmbedModal","showEmbedModal","classNames","title","element","createElement","innerHTML","Playground","rest","classList","handleDrop","fileDrop","files","file","contents","err","safe","fn","args","Error","render","attachPreviewContainer"],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export type FormPlaygroundOptions = {
|
|
|
12
12
|
};
|
|
13
13
|
editorAdditionalModules?: Array<any>;
|
|
14
14
|
editorProperties?: FormEditorProperties;
|
|
15
|
+
editorSlots?: any;
|
|
15
16
|
exporter?: {
|
|
16
17
|
name: string;
|
|
17
18
|
version: string;
|
|
@@ -36,6 +37,7 @@ export type FormPlaygroundOptions = {
|
|
|
36
37
|
* editor?: { inlinePropertiesPanel: Boolean }
|
|
37
38
|
* editorAdditionalModules?: Array<any>
|
|
38
39
|
* editorProperties?: FormEditorProperties
|
|
40
|
+
* editorSlots?: Object
|
|
39
41
|
* exporter?: { name: String, version: String }
|
|
40
42
|
* propertiesPanel?: { parent: Element, feelPopupContainer: Element }
|
|
41
43
|
* schema: any
|
|
@@ -60,6 +62,7 @@ export class Playground {
|
|
|
60
62
|
* editor?: { inlinePropertiesPanel: Boolean }
|
|
61
63
|
* editorAdditionalModules?: Array<any>
|
|
62
64
|
* editorProperties?: FormEditorProperties
|
|
65
|
+
* editorSlots?: Object
|
|
63
66
|
* exporter?: { name: String, version: String }
|
|
64
67
|
* propertiesPanel?: { parent: Element, feelPopupContainer: Element }
|
|
65
68
|
* schema: any
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bpmn-io/form-js-playground",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.21.1",
|
|
4
4
|
"description": "A form-js playground",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"scripts": {
|
|
25
25
|
"all": "run-s lint test build",
|
|
26
26
|
"build": "run-p bundle generate-types",
|
|
27
|
-
"bundle": "rollup -c --failAfterWarnings
|
|
28
|
-
"bundle:watch": "rollup -c -w
|
|
27
|
+
"bundle": "rollup -c --failAfterWarnings",
|
|
28
|
+
"bundle:watch": "rollup -c -w",
|
|
29
29
|
"start": "SINGLE_START=basic npm run dev",
|
|
30
30
|
"dev": "npm test -- --auto-watch --no-single-run",
|
|
31
31
|
"lint": "run-s lint:*",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"url": "https://github.com/bpmn-io"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@bpmn-io/form-js-editor": "1.
|
|
49
|
-
"@bpmn-io/form-js-viewer": "1.
|
|
48
|
+
"@bpmn-io/form-js-editor": "1.21.1",
|
|
49
|
+
"@bpmn-io/form-js-viewer": "1.21.1",
|
|
50
50
|
"@codemirror/autocomplete": "^6.20.0",
|
|
51
51
|
"@codemirror/commands": "^6.10.1",
|
|
52
52
|
"@codemirror/lang-json": "^6.0.2",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"rollup-plugin-css-only": "^4.5.5",
|
|
72
72
|
"style-loader": "^4.0.0"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "b36907be7a2b3d872369b1c44d5a8b059a5d4c5d"
|
|
75
75
|
}
|