NextGen Geo
2026 Wave Two 2026 Wave Three 2026 Wave One
2026 Wave Two 2026 Wave Three 2026 Wave One

Extend the Field Execution module

Audience: Developers, System integrators

This topic explains how custom code adds buttons, tabs, and behaviour to the Field Execution module without modifying the standard product.

Available starting from NextGen Geo 5.0.0

Prerequisites

Before you start:

Understand the events of the module

The module both announces what the user is doing and accepts configuration from custom code. Events whose name reads as a fact — workOrderSelected — are fired by the module and listened to by the custom code. Events whose name reads as an instruction — registerButtons — are fired by the custom code and listened to by the module.

Event

Direction

Purpose

fieldExecution->workOrderSelected

Module → custom code

A work order detail card has been opened.

fieldExecution->workOrderGrid->rowClick

Module → custom code

A row of the work order list has been clicked.

fieldExecution->registerButtons

Custom code → module

Adds buttons to the main toolbar of the module.

fieldExecution->workOrderTabs

Custom code → module

Adds or replaces the tabs of the work order detail panel.

fieldExecution->functionalities

Custom code → module

Hides parts of the interface.

fieldExecution->forceOpenWorkOrder

Custom code → module

Opens the detail card of a work order.

fieldExecution->forceReturnToWorkOrderList

Custom code → module

Returns the module to the work order list.

Note: Every configuration event accepts an optional moduleName. When it is left out, the configuration is applied to every Field Execution module instance.

Add custom buttons to the toolbar

Buttons registered this way are added to the main toolbar of the work order list, next to the standard New Work Order button, and are typically used to act on the current selection.

To add a button to the toolbar:

  1. Listen for the event that tells you the module is showing a work order — for example fieldExecution->workOrderSelected — or fire the registration when your own code is initialised, while the module is open.

  2. Fire fieldExecution->registerButtons with the buttons to add.

JavaScript
GeoWeb.instance.fireEvent('fieldExecution->registerButtons', {
  moduleName: 'my_field_execution_module',
  customButtons: [
    {
      xtype: 'button',
      text: 'Send to dispatcher',
      iconCls: 'md-icon md-icon-send',
      handler: function () {
        // ...
      }
    }
  ]
});

Property

Input type

Mandatory

Description

moduleName

String

No

Name of the Field Execution module the buttons belong to. Omit it to apply them to every Field Execution module.

customButtons

Array

Yes

Button configurations, added to the toolbar in the order they are declared.

Note: The buttons are added to the toolbar as they are declared: their enabled state, their tooltip, and what they do with the current selection are the responsibility of the custom code.

Add or replace the tabs of the work order detail

To add tabs to the detail panel of a work order:

  1. Listen for fieldExecution->workOrderSelected, which carries the module name and the code of the work order that is being opened.

  2. Fire fieldExecution->workOrderTabs with the tabs to display.

Property

Input type

Mandatory

Description

moduleName

String

No

Name of the Field Execution module. Omit it to apply the tabs to every Field Execution module.

replaceStandard

Boolean

No

Set to true to replace the standard tabs with the custom ones. Default is false, which adds the custom tabs to the standard ones.

customTabs

Object

No

The tabs to add, keyed by tab name.

Hide parts of the interface

Fire fieldExecution->functionalities to hide capabilities that do not apply to a deployment — for instance, a read-only installation where work orders are created in NextGen FSM only.

Property

Input type

Mandatory

Description

moduleName

String

No

Name of the Field Execution module. Omit it to apply the configuration to every Field Execution module.

read

Boolean

No

Set to false to hide the work order list. Default is true.

create

Boolean

No

Set to false to hide the New Work Order button. Default is true.

operations

Boolean

No

Set to false to hide the button that opens the list of operations. Default is true.

Note: Hiding the creation button is a presentation choice, not a permission. Permissions stay defined on the user profile. See Users and permissions.

Drive navigation from custom code

Two events move the module between its cards, so that custom code — a button of its own, an external notification, a selection made elsewhere in the application — can bring the user where the action belongs.

To open a work order:

Fire fieldExecution->forceOpenWorkOrder with workOrderId, the identifier of the work order, and extensionMetadata, the extension metadata to render its custom fields with.

To go back to the list:

Fire fieldExecution->forceReturnToWorkOrderList.

What's next