FDC3 Technical Reference

View as Markdown

FDC3 Options

Fdc3Options

Options for configuring FDC3 in AdapTable

Configures the default FDC3 Actions column

Default

columnId: 'fdc3ActionColumn', headerName: 'FDC3 Actions', width: 200, resizable: true, movable: false, rowScope: ExcludeDataRows: false, ExcludeGroupRows: true, ExcludeSummaryRows: true, ExcludeTotalRows: true

Configures FDC3 standard Contexts that AdapTable will listen for and broadcast

Enable logging message exchanges to Console

Default

false

Maps Context Type to AdapTable Grid Data

Configures FDC3 standard Intents that AdapTable will listen for and raise

Builds Context Data (useful for postprocessing Context Data mapped from Grid data)

uiControlsDefaultConfiguration?

{ contexts?: { [contextName in StandardContextType]?:UIControlConfig; }; intents?: { [intentName in StandardIntent]?:UIControlConfig; }; }

Customises FDC3 UI Controls

Default

contexts: , intents:

actionColumnDefaultConfiguration is an ActionColumnDefaultConfiguration:

gridDataContextMapping is a GridDataContextMapping:

GridDataContextMapping

Which grid columns fill each standard FDC3 context, keyed by the context type.

Set custom for a context type that is not one of the standard names.

"fdc3.action"

Fdc3ContentMapping<Action>

Maps an fdc3.action context. Each field is a _colId. or _field. reference.

"fdc3.chart"

Fdc3ContentMapping<Chart>

Maps an fdc3.chart context. Each field is a _colId. or _field. reference.

"fdc3.chat.initSettings"

Fdc3ContentMapping<ChatInitSettings>

Maps an fdc3.chat.initSettings context. Each field is a _colId. or _field. reference.

"fdc3.chat.message"

Fdc3ContentMapping<ChatMessage>

Maps an fdc3.chat.message context. Each field is a _colId. or _field. reference.

"fdc3.chat.room"

Fdc3ContentMapping<ChatRoom>

Maps an fdc3.chat.room context. Each field is a _colId. or _field. reference.

"fdc3.chat.searchCriteria"

Fdc3ContentMapping<ChatSearchCriteria>

Maps an fdc3.chat.searchCriteria context. Each field is a _colId. or _field. reference.

"fdc3.contact"

Fdc3ContentMapping<Contact>

Maps an fdc3.contact context. Each field is a _colId. or _field. reference.

"fdc3.contactList"

Fdc3ContentMapping<ContactList>

Maps an fdc3.contactList context. Each field is a _colId. or _field. reference.

"fdc3.country"

Fdc3ContentMapping<Country>

Maps an fdc3.country context. Each field is a _colId. or _field. reference.

"fdc3.currency"

Fdc3ContentMapping<Currency>

Maps an fdc3.currency context. Each field is a _colId. or _field. reference.

"fdc3.email"

Fdc3ContentMapping<Email>

Maps an fdc3.email context. Each field is a _colId. or _field. reference.

"fdc3.instrument"

Fdc3ContentMapping<Instrument>

Maps an fdc3.instrument context. Each field is a _colId. or _field. reference.

"fdc3.instrumentList"

Fdc3ContentMapping<InstrumentList>

Maps an fdc3.instrumentList context. Each field is a _colId. or _field. reference.

"fdc3.interaction"

Fdc3ContentMapping<Interaction>

Maps an fdc3.interaction context. Each field is a _colId. or _field. reference.

"fdc3.message"

Fdc3ContentMapping<Message>

Maps an fdc3.message context. Each field is a _colId. or _field. reference.

"fdc3.organization"

Fdc3ContentMapping<Organization>

Maps an fdc3.organization context. Each field is a _colId. or _field. reference.

"fdc3.portfolio"

Fdc3ContentMapping<Portfolio>

Maps an fdc3.portfolio context. Each field is a _colId. or _field. reference.

"fdc3.position"

Fdc3ContentMapping<Position>

Maps an fdc3.position context. Each field is a _colId. or _field. reference.

"fdc3.timerange"

Fdc3ContentMapping<TimeRange>

Maps an fdc3.timerange context. Each field is a _colId. or _field. reference.

"fdc3.transactionResult"

Fdc3ContentMapping<TransactionResult>

Maps an fdc3.transactionResult context. Each field is a _colId. or _field. reference.

"fdc3.valuation"

Fdc3ContentMapping<Valuation>

Maps an fdc3.valuation context. Each field is a _colId. or _field. reference.

custom?

{ [key: string]: Fdc3ContentMapping<Context>; }

Column mapping for a context type that is not one of the standard names. The key is the context type.

resolveContextData receives a ResolveContextDataContext:

ResolveContextDataContext

Used to build Context Data

FDC3 Context Data which has been mapped from the grid data based on the given configuration in gridDataContextMapping

contextType

ContextType

FDC3 Context Type

Primary Key value of row

Row data which is the source of the context data

rowNode

IRowNode

Row Node which is source of the context data

Custom application Context provided in AdaptableOptions.adaptableContext

uiControlsDefaultConfiguration is a UIControlConfig:

FDC3 Intent Options

The FDC3 Intent Options property handles FDC3 Intents behaviour:

raises is a RaiseIntentConfiguration:

RaiseIntentConfiguration

When each standard FDC3 intent is raised from the grid. The property name is the intent.

Each value lists the grid actions that raise it (for example a cell click or a button). Use custom for an intent that is not a standard name.

custom?

{ [customIntent: string]:RaiseIntentConfig[]; }

When to raise an intent that is not one of the standard names. The key is the intent name.

Grid actions that raise the standard StartCall intent.

Grid actions that raise the standard StartChat intent.

Grid actions that raise the standard StartEmail intent.

Grid actions that raise the standard ViewAnalysis intent.

Grid actions that raise the standard ViewChart intent.

Grid actions that raise the standard ViewContact intent.

Grid actions that raise the standard ViewHoldings intent.

Grid actions that raise the standard ViewInstrument intent.

Grid actions that raise the standard ViewInteractions intent.

Grid actions that raise the standard ViewNews intent.

Grid actions that raise the standard ViewOrders intent.

Grid actions that raise the standard ViewProfile intent.

Grid actions that raise the standard ViewQuote intent.

Grid actions that raise the standard ViewResearch intent.

handleIntent receives a HandleFdc3IntentContext:

handleIntentResolution receives a HandleFdc3IntentResolutionContext:

FDC3 Context Options

The FDC3 Context Options property handles FDC3 Context behaviour:

broadcasts is a BroadcastConfiguration:

BroadcastConfiguration

When each standard FDC3 context is broadcast from the grid. The property name is the context type.

Use custom for a context type that is not a standard name.

When to broadcast an fdc3.chart context.

When to broadcast an fdc3.chat.initSettings context.

When to broadcast an fdc3.contact context.

When to broadcast an fdc3.contactList context.

When to broadcast an fdc3.country context.

When to broadcast an fdc3.currency context.

When to broadcast an fdc3.email context.

When to broadcast an fdc3.instrument context.

When to broadcast an fdc3.instrumentList context.

When to broadcast an fdc3.organization context.

When to broadcast an fdc3.portfolio context.

When to broadcast an fdc3.position context.

When to broadcast an fdc3.timerange context.

When to broadcast an fdc3.valuation context.

custom?

{ [customContext: string]:BroadcastConfig; }

When to broadcast a context type that is not one of the standard names. The key is the context type.

handleContext receives a HandleFdc3Context:


FDC3 API

Fdc3Api

FDC3 intents and context raised from a grid row, and checks for standard FDC3 types.

Broadcasts the given Context from the given Row Node with the given Primary Key Value

Broadcasts the given Context from the given Row Node

Builds FDC3 Context Data based on the given Context Type and the Row Node with the given Primary Key Value

Builds FDC3 Context Data based on the given Context Type and Row Node

Returns the human-friendly label for the given Context Type

getDesktopAgent()
returns

DesktopAgent

Returns the FDC3 Desktop Agent

Whether this context type is one of the FDC3 standard types.

Whether this intent is one of the FDC3 standard intents.

Finds and raises an Intent based on the given Context from the given Row Node with the given Primary Key Value

Finds and raises an Intent based on the given Context from the given Row Node

Raises an Intent with the given Context from the given Row Node with the given Primary Key Value

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:

Fdc3MessageSentInfo

A message AdapTable sent through FDC3.

eventType is RaiseIntent, RaiseIntentForContext or BroadcastMessage. intent is set for RaiseIntent.

Extends , so adaptableApi is included.

app?

AppIdentifier

Target application for the message

context

Context

Full FDC3 Context for object related to the Event

direction

'sent'

Direction - always 'sent'

eventType

'RaiseIntent' | 'RaiseIntentForContext' | 'BroadcastMessage'

What was sent: RaiseIntent, RaiseIntentForContext or BroadcastMessage.

intent?

Intent

FDC3 Intent which caused Event to fire (if type is RaiseIntent)

Custom application Context provided in AdaptableOptions.adaptableContext

Fdc3MessageReceivedInfo

A message AdapTable received through FDC3.

eventType is IntentRaised or ContextBroadcast. intent is set for IntentRaised.

Extends , so adaptableApi is included.

context

Context

Full FDC3 Context for object related to the Event

direction

'received'

Direction - always 'received'

eventType

'IntentRaised' | 'ContextBroadcast'

EventType: IntentRaised, ContextBroadcast

intent?

Intent

FDC3 Intent which caused Event to fire (if type is IntentRaised)

metadata?

ContextMetadata

Metadata associated with the FDC3 Context

Custom 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
});