FDC3 Technical Reference

Summary

  • FDC3 Options are to used configure FDC3
  • FDC3 API provides runtime programmatic access to FDC3
  • FDC3 Message Event is fired whenver an FDC3 Message is sent or received

FDC3 Options

The FDC3 Options section of Adaptable Options is the primary way to configure and manage FDC3:

PropertyDescriptionDefault
actionColumnDefaultConfigurationConfigures the default FDC3 Actions column
contextsConfigures FDC3 standard Contexts that AdapTable will listen for and broadcast
enableLoggingEnable logging message exchanges to Consolefalse
gridDataContextMappingMaps Context Type to AdapTable Grid Data
intentsConfigures FDC3 standard Intents that AdapTable will listen for and raise
resolveContextDataBuilds Context Data (useful for postprocessing Context Data mapped from Grid data)
uiControlsDefaultConfigurationCustomises FDC3 UI Controls

FDC3 Intent Options

The FDC3 Intent Options property handles FDC3 Intents behaviour:

PropertyDescription
handleIntentHandles incoming Intents (standard and custom)
handleIntentResolutionHandles the IntentResolution that a raised Intent might return
listensForSubscribe to given standard Intent(s)
raisesRaises given standard Intent(s) on various Grid Actions

FDC3 Context Options

The FDC3 Context Options property handles FDC3 Context behaviour:

PropertyDescription
broadcastsBroadcasts given standard Context(s) on various Grid Actions
handleContextHandles incoming Contexts (standard and custom)
listensForSubscribe to given standard Context(s)

FDC3 API

The FDC3 API section of Adaptable API contains functions relating to FDC3:

MethodDescription
broadcastFromPrimaryKey(primaryKeyValue, contextType, channel)Broadcasts the given Context from the given Row Node with the given Primary Key Value
broadcastFromRow(rowNode, contextType, channel)Broadcasts the given Context from the given Row Node
buildContextDataForPrimaryKey(contextType, primaryKeyValue)Builds FDC3 Context Data based on the given Context Type and the Row Node with the given Primary Key Value
buildContextDataFromRow(contextType, rowNode)Builds FDC3 Context Data based on the given Context Type and Row Node
getContextLabel(contextType)Returns the human-friendly label for the given Context Type
getDesktopAgent()Returns the FDC3 Desktop Agent
isStandardContextType(contextType)Checks if the given Context Type is a FDC3 standard Context Type
isStandardIntentType(intentType)Checks if the given Intent is a FDC3 standard Intent Type
raiseIntentForContextFromPrimaryKey(primaryKeyValue, contextType, appIdentifier)Finds and raises an Intent based on the given Context from the given Row Node with the given Primary Key Value
raiseIntentForContextFromRow(rowNode, contextType, appIdentifier)Finds and raises an Intent based on the given Context from the given Row Node
raiseIntentFromPrimaryKey(primaryKeyValue, intent, contextType, appIdentifier)Raises an Intent with the given Context from the given Row Node with the given Primary Key Value
raiseIntentFromRow(rowNode, intent, contextType, appIdentifier)Raises an Intent with the given Context from the given Row Node

FDC3 Message Event

The FDC3 Message Event is triggered whenever a FDC3 Message is sent or received.

Fdc3MessageInfo

There are 2 different Message Info objects that the Event provides depending whether the FDC3 message was sent or received:

PropertyDescription
appTarget application for the message
contextFull FDC3 Context for object related to the Event
directionDirection - always 'sent'
eventTypeEvent Type: RaiseIntent, RaiseIntentForContext,BroadcastMessage
intentFDC3 Intent which caused Event to fire (if type is RaiseIntent)
adaptableContextCustom application Context provided in AdaptableOptions.adaptableContext
PropertyDescription
contextFull FDC3 Context for object related to the Event
directionDirection - always 'received'
eventTypeEventType: IntentRaised, ContextBroadcast
intentFDC3 Intent which caused Event to fire (if type is IntentRaised)
metadataMetadata associated with the FDC3 Context
adaptableContextCustom application Context provided in AdaptableOptions.adaptableContext

Event Subscription

Subscribing to the Event is done the same way as with all Adaptable Events:

api.eventApi.on('Fdc3Message', (eventInfo: Fdc3MessageSentInfo) => {
    // do something with the info
});

api.eventApi.on('Fdc3Message', (eventInfo: Fdc3MessageReceivedInfo) => {
    // do something with the info
});