Console Tools are JavaScript debugging commands Creators can run in the browser developer console while working in Express View. Two toolsets are available: EXTENSION.tools for custom extensions, and Angular scope commands for legacy Centauri modules.
Accessing Console Tools
Console Tools run in the browser developer console. To access the console, do the following:
- Open Express View in a browser tab.
- Press F12 (Windows/Linux) or Command + Option + I (Mac) to open the . Alternatively, right-click anywhere on the page and select Inspect.
- Select the Console tab in the developer tools panel.
- Enter a command from the tables below and press Enter.
Angular Console Tools
Use Centauri commands when working with legacy Centauri (Angular) modules in Express View. Centauri modules run on AngularJS, so debugging requires accessing the Angular scope directly through the browser console instead of a named tools object.
Syntax: angular.element('.unqorkio-form').scope().{property}
| Command | Syntax | Description |
|---|---|---|
| scope | angular.element('.unqorkio-form').scope() |
Returns the full AngularJS scope object for the active form. |
| submission | angular.element('.unqorkio-form').scope().submission |
Returns the current submission data for the active form. |
Centauri commands only work on pages running legacy Angular modules. Running them in a Vega module will return
undefinedor an error.
EXTENSION Console Tools
Use EXTENSION.tools commands when a custom extension is open in the Module Builder. These commands work inside the extension modal, not in the standard Express View page.
Syntax: EXTENSION.tools.{toolname}
Fields
| Field | Description |
|---|---|
EXTENSION.tools.ComponentState |
Returns the state of all components currently rendered in the extension modal. |
Methods
| Method | Syntax | Description |
|---|---|---|
| getRuntimeData | EXTENSION.tools.getRuntimeData() |
Returns all current data, including both persisted and non-persisted values. |
| getSubmissionData | EXTENSION.tools.getSubmissionData() |
Returns only the data that will persist at the next save. |
| getComponentValue | EXTENSION.tools.getComponentValue('propertyId') |
Returns the current value for a component by its Property ID. Replace propertyId with the component's Property ID. |
| getComponentState | EXTENSION.tools.getComponentState('propertyId') |
Returns the full state object for a component by its Property ID. Replace propertyId with the component's Property ID. |
| getAllValidationErrors | EXTENSION.tools.getAllValidationErrors() |
Returns all current validation errors. |
| getLastSavedSubmission | EXTENSION.tools.getLastSavedSubmission() |
Returns the submission data as it was when the page last loaded. |
| getCurrentUser | EXTENSION.tools.getCurrentUser() |
Returns data about the currently logged-in user. |
| logChangesByKey$ | EXTENSION.tools.logChangesByKey$('propertyId') |
Begins logging changes to a specific component. Replace propertyId with the component's Property ID. Logs continue until the page reloads. |
| logObjectByKey$ | EXTENSION.tools.logObjectByKey$('propertyId') |
Begins logging the full state object of a specific component each time it changes. Replace propertyId with the component's Property ID. Logs continue until the page reloads. |
| watchDomChanges$ | EXTENSION.tools.watchDomChanges$() |
Logs all DOM changes as MutationRecord entries. Logs continue until the page reloads. |
| profile | EXTENSION.tools.profile('label') |
Begins a performance profiling session. Replace label with a name for the session. |
| profileEnd | EXTENSION.tools.profileEnd('label') |
Ends the profiling session and loads results in the browser Performance tab. The label must match the value used in profile(). |
| updateComponentState | EXTENSION.tools.updateComponentState('propertyId', config) |
Applies a partial or complete state definition to a component. Replace propertyId with the component's Property ID. config must be a valid JavaScript object — for example, {hidden: true}. |
| getComponentTree | EXTENSION.tools.getComponentTree() |
Returns the full component hierarchy as a nested object with child IDs. |
Dynamic Commands
Commands ending with $ begin continuous logging. The three dynamic commands are logChangesByKey$, logObjectByKey$, and watchDomChanges$. They do not return a single value. Instead, output displays in the console each time the monitored change occurs. Logging continues until the page reloads or the browser tab is closed.
Changelog
| Date | Change |
|---|---|
| 2026-08-28 | Removed deprecated UNQENG.tools section; made EXTENSION.tools Methods table self-contained; updated intro (EN-8063). |
| 2026-05-11 | Initial publication. Added Centauri (Angular) Console Tools section. |