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:

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:

PropertyDescription
buttonStyleButton's Style; can be object or function that provides ButtonStyle object
disabledFunction to disable / enable button based on evaluation result
hiddenFunction to hide the Button
iconButton's Icon; can be object or function that provides AdaptableIcon object
idUnique id for the button
labelButton's Label; can be string or function that provides string
tooltipButton'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

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

Configures the default FDC3 Actions column

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:

PropertyDescription
buttonFDC3 Button to display
columnIdId of the Column
defaultWidthDefault Width of column
friendlyNameColumn'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
  • _defaultFdc3 overridden - the default provided by the developer is used
  • property is explicitly set - this value is used