@bpmn-io/feel-editor

1.9.1 • Public • Published

@bpmn-io/feel-editor

Embeddable Editor for FEEL expressions.

Usage

To get started, create a feel-editor instance:

import FeelEditor from '@bpmn-io/feel-editor';

const editor = new FeelEditor({
  container
});

Configure the FEEL dialect (expression or unary tests):

const editor = new FeelEditor({
  container,
  dialect: 'unaryTests' // defaults to 'expression'
});

You can provide a starting document and listen for changes:

const editor = new FeelEditor({
  container,
  onChange,
  onKeyDown,
  onLint,
  value
});

Variables

You can provide a variables array that will be used for auto completion. Nested structures are supported. The Variables need to be in the following format:

const editor = new FeelEditor({
  container,
  variables: [
    {
      name: 'variablename to match',
      detail: 'optional inline info',
      info: 'optional pop-out info',
      entries: [
        {
          name: 'nested variable',
          ...
        }
      ]
    }
  ]
});

The variables can be updated on the instance via FeelEditor#setVariables():

editor.setVariables([
  {
    name: 'newName',
    detail: 'new variable inline info',
    info: 'new pop-out info'
  }
]);

Content attributes

You can provide attributes which will be set on the content editable div:

const editor = new FeelEditor({
  container,
  contentAttributes: {
    'aria-label': 'Expression editor'
  }
});

Hacking the Project

To get the development setup make sure to have NodeJS installed. As soon as you are set up, clone the project and execute

npm install
npm start

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i @bpmn-io/feel-editor

Weekly Downloads

14,237

Version

1.9.1

License

MIT

Unpacked Size

167 kB

Total Files

5

Last publish

Collaborators

  • misiekhardcore
  • abdul99ahad
  • jarekdanielak
  • vsgoulart
  • skaiir-camunda
  • bpmn-io-admin
  • nikku
  • barmac
  • philippfromme
  • maxtru