FDC3 UI Components
- This AdapTable Help Page is being actively updated
- AdapTable has just upgraded to FDC3 2.0 and we are working on updating the documentation
Summary
- It is easy for developers to raise FDC3 Intents or Broadcast FDC3 Context using the AdapTable UI
- Both can be provided via FDC3 Menu Items that appear in the Context Menu
- Or they can be available using FDC3 Action Columns which can be:
- created dynamically by AdapTable using developer-provided Button definitions
- be full FDC3 Action Column definitions - supplied by developers
AdapTable makes it easy for developers to configure the AdapTable UI to perform FDC3-related actions.
These FDC3-related actions will most typically be to:
In particular 2 areas of UI Components are available:
- Context Menu
- FDC3 Action Columns
Context Menu Items
AdapTable leverages the Context Menu to make it easy for users to raise Intents or broadcast Context.
intents: {
raises: {
ViewResearch: [
{
contextType: 'fdc3.instrument',
contextMenu: {
columnIds: ['instrument', 'counterparty'],
icon: '_defaultFdc3',
},
},
],
}
},
contexts: {
broadcasts: {
'fdc3.currency': {
contextMenu: {
columnIds: ['currency'],
icon: '_defaultFdc3',
},
},
}
},FDC3 Action Columns
AdapTable makes it easy for developers to provide dedicated Buttons to perform FDC3-related actions.
Developers can provide buttons in one 2 ways:
- as standard Adaptable Button definitions (and AdapTable creates the Action Column)
- inside a bespoke Action Column definition
Note
This approach allows for as many FDC3 Action Columns as required and for full flexibility over look and feel
FDC3 Buttons
The more straightforward approach is to define FDC3 Buttons.
These buttons are of type Fdc3AdaptableButton - a specialist, reduced form of the standard Adaptable Button containing these poperties:
| Property | Description |
|---|---|
| buttonStyle | Button's Style; can be object or function that provides ButtonStyle object |
| disabled | Function to disable / enable button based on evaluation result |
| hidden | Function to hide the Button |
| icon | Button's Icon; can be object or function that provides AdaptableIcon object |
| id | Unique id for the button |
| label | Button's Label; can be string or function that provides string |
| tooltip | Button's Tooltip; can be string or function that provides string |
AdapTable will dynamically render these buttons inside an FDC3 Action Column.
Note
The Button definition is the same for Raising FDC3 Intents and Broadcasting FDC3 Context
Like all Adaptable Buttons, FDC3 Buttons can be provided with custom Label, Style, Icon and Tooltip.
Hint
- As a convenience, AdapTable provides default values for Icon and Tooltip properties to be rendered as required
- These defaults themselves can be overridden by developers if required
fdc3Options: {
intents: {
raises: {
ViewQuote: [
{
contextType: 'fdc3.instrument',
actionButton: {
id: 'ViewQuoteButton',
label: 'View Quote',
icon: '_defaultFdc3',
tooltip: '_defaultFdc3',
},
},
],
},
contexts: {
broadcasts: {
'fdc3.currency': {
actionButton: {
id: 'BroadCastCurrencyButton',
icon: '_defaultFdc3',
tooltip: '_defaultFdc3',
},
},
},
},
Default FDC3 Action Column
AdapTable creates a FDC3 Action Column automatically in which to render any defined FDC3 Buttons.
The Column has the Id fdc3ActionColumn and can be used like any other Action Column in AdapTable.
Caution
If you wish this Action Column to be visible it is your responsibility to list it in the relevant Layouts
The Default Action Column can itself be configured by developers using the actionColumnDefaultConfiguration property in FDC3 Options.
actionColumnDefaultConfiguration
Full FDC3 Action Columns
Instead of providing a set of FDC3 Buttons, developers can define a full FDC3 Action Column.
Note
- This allows for greater configurablity and flexibililty of the Action Column
- It also allows for more than one Action Column to be visible in the Grid
The Action Column is of type FDC3ActionColumn - a specialist, reduced form of the standard Action Column and contains these poperties:
| Property | Description |
|---|---|
| button | FDC3 Button to display |
| columnId | Id of the Column |
| defaultWidth | Default Width of column |
| friendlyName | Column's friendly name |
Hint
- Similar to FDC3 Buttons, AdapTable provides default Icon and Tooltip values for FDC3 Action Column Buttons
- These defaults themselves can be overridden by developers if required
Caution
All defined Action Columns should be included in any relevant Layouts definitions
fdc3Options: {
intents: {
raises: {
ViewInstrument: [
{
actionColumn: {
columnId: 'fdc3ViewInstrumentColumn',
friendlyName: 'FDC3: ViewInstrument',
button: {
id: 'ViewInstrumentButton',
label: '_defaultFdc3',
tooltip: '_defaultFdc3',
icon: '_defaultFdc3',
},
},
},
],
},
contexts: {
broadcasts: {
'fdc3.currency': {
actionColumn: {
columnId: 'currency_column',
friendlyName: 'Currency Column',
button: {
id: 'CurrencyButton',
label: 'Announce Currency',
icon: '_defaultFdc3',
}
},
},
},
},
},Default UI Property Values
As a helpful aid to developers, AdapTable provides a special _defaultFdc3 value.
It is available when defining both FDC3 Ui Components - Context Menus and FDC3 Action Columns.
Note
When used, AdapTable will automatically supply the real values using sensible defaults
The _defaultFdc3 can be supplied for 2 properties (in both Context Menus and Action Columns):
Icon- AdapTable displays an appropriate Icon (for the Intent or the Context)Tooltip- AdapTable renders relevant Tooltip text
AdapTable Default Icons
AdapTable provides a different default Icon to use for each Context and Intent.
These are used by AdapTable when the _defaultFdc3 value is given for an Icon property.
Deep Dive
List of Default Icons
User Default Icons
If the AdapTable Default FDC3 Icons are not suitable, Developers can provide their own Default Icons.
If provided, these developer-supplied icons will be used, in preference to the standard AdapTable defaults, whenever the _defaultFdc3 value is given for an Icon property.
The order of evaluation is:
- no value provided - nothing is shown
_defaultFdc3(and no override) - AdapTable's default value is used_defaultFdc3overridden - the default provided by the developer is used- property is explicitly set - this value is used