Text panel

The Text panel allows you to edit and display various types of text, including structured text. There are different views available, which may vary depending on the structure of the text. In its most basic form, the general text editor can display all types of text and even binary data.

To open the Text panel, click the magnifying glass icon indicated by the arrow. You can then open the editor by selecting the framed gear icon

Text panel

The text panel can be opened in all Processors, as long as the field type is suitable. Any field that has the magnifying glass icon supports the text panel function.

Text Editor

Navigation

textpanel-navigation
  1. Burger menu

  2. Select text type

  3. Show/hide formatting characters

Burger menu

Clicking the burger menu reveals additional options, such as uploading a file. It is also possible to save the data entered in the text editor. If you have any further questions about the text panel while editing, clicking the “Advanced features” item will redirect you to this documentation page.

textpanel burgermenu

Text Structure Selection

The text panel can automatically apply color highlighting based on the script type.

textpanel texteditor

Code Completion

When using multi-line text editors in IGUASU, you can use the "Ctrl + Space" keyboard shortcut to get code completion suggestions. For single-line text fields that are expandable, using the keyboard shortcut automatically switches to the multi-line text editor before the suggestions are displayed.

Which suggestions are displayed depends on the text editor’s active language. To change the active language, make sure the "Settings Panel" is maximized, and then select a supported language from the drop-down menu.

NiFi Expression Language Support

In most cases, the default active language for text editors is "text," which makes it easier to use the NiFi Expression Language (NiFi EL).

NiFi EL expressions must be written within "${}"; that is, the cursor must be in a valid position for code completion suggestions to appear.

Only text editors for properties that support NiFi EL will suggest NiFi EL expressions and have a $ button.

The TransformXML and JSONataTransformJSON Processors support NiFi EL, but require that expressions be wrapped. Read the Processor documentation to learn how.

When writing a NiFi EL expression, the text editor suggests the use of subjectless functions, function chaining, subject functions, environment variables, and attributes based on the context determined by NiFi EL syntax rules and the data currently loaded in IGUASU. You can also see a preview of the expression’s evaluation in the evaluation field below. The context required for each type of suggestion is explained below.

It is possible to nest NiFi EL expressions, e.g., to use attributes as arguments for a function.

Subjectless Function

Subjectless functions must not be preceded by any text within a NiFi EL expression.

Function Chaining

Within a NiFi expression, preceding text segments (including functions) are interpreted as potential subjects from which subject functions can be chained. Accordingly, the text editor offers a “Chain Function” suggestion that inserts a “:” (marking the end of a subject and the beginning of a subject function) and then suggests the use of a subject function.

Subject Function

Subject functions must be introduced with a subject followed by a ":".

Environment Variables

The environment variables that contain relevant directory paths for IGUASU: "IGUASU_DRIVER_PATH", "IGUASU_KEYSTORES_PATH", "IGUASU_PERSISTENCE_PATH", and "IGUASU_PATH" are also suggested. They can only be used on their own or as subjects. An explanation of the various environment variables can be found here.

Attributes

Attributes that are present in the Data Panel (either loaded from a provenance event or manually added to the Data Panel) are suggested. They can only be used on their own or as subjects.

Only properties with the appropriate "Expression Language Scope" can evaluate attributes. You can tell which scope a property has by the icon displayed on the far right of the evaluation field.
Text editors for properties without the appropriate scope will not suggest attributes from the data panel either.

Keyboard Shortcuts

In Text View

PC

Mac

Function

Ctrl+Space

⌃Space

Code Completion

Ctrl+F

⌘F

Search

Ctrl+G

⌘G

Next Search Result

Ctrl+⇧+G

⇧⌘G

Previous search result

Ctrl+H

⌥⌘F

Replace

Ctrl+Z

⌘Z

Undo

Ctrl+Y

⌘Y

Redo

Ctrl+⇧+E

⌘⇧E

Expand/Minimize Editor

Hierarchical Structures (XML, JSON)

If the content in the panel is in XML or JSON format, you can use a tree view in addition to the text view.

The elements in the tree have menus that allow you to add, delete, or edit elements. The menus also display the keyboard shortcuts that allow you to perform these actions directly.

textpanel xml baum

Individual elements or entire subtrees can be moved using drag-and-drop.

xml drag and drop

Navigation

  1. All actions can be undone using the built-in “Undo/Redo” feature.

  2. In the search area, you can search for text or display an XPath search field. Matches are then highlighted in blue.

  3. An additional field can be displayed that shows the path (in XPath/JSONata) of the currently selected field or error messages related to operations.

  4. Starts the search from the selected XML node.

textpanel xml uebersicht

If you create your file in the text editor and need a clearer view, you can use the "Pretty Print" button to restructure the layout of your file.

textpanel xml 3

JSON View

In the JSON view, a JSONata field is used in the search instead of an XPath.

textpannel jsonata