@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
81 lines (80 loc) • 4.08 kB
TypeScript
import { IRowNode } from 'ag-grid-enterprise';
import { AppIdentifier, Channel, Context, ContextType, DesktopAgent, Intent, IntentResolution } from '@finos/fdc3';
/**
* Provides run-time access to AdapTable's FDC3 functionality
*/
export interface Fdc3Api {
/**
* Returns the FDC3 Desktop Agent
*/
getDesktopAgent(): DesktopAgent;
/**
* Returns the human-friendly label for the given Context Type
* @param contextType - The FDC3 Context Type
*/
getContextLabel(contextType: ContextType): string;
/**
* Builds FDC3 Context Data based on the given Context Type and Row Node
* @param contextType - The FDC3 Context Type
* @param rowNode - The Row Node
*/
buildContextDataFromRow(contextType: ContextType, rowNode: IRowNode): Context;
/**
* Builds FDC3 Context Data based on the given Context Type and the Row Node with the given Primary Key Value
* @param contextType - The FDC3 Context Type
* @param primaryKeyValue - The Primary Key Value
*/
buildContextDataForPrimaryKey(contextType: ContextType, primaryKeyValue: string | number): Context | undefined;
/**
* Raises an Intent with the given Context from the given Row Node
* @param rowNode - The Row Node
* @param intent - The FDC3 Intent
* @param contextType - The FDC3 Context Type
* @param appIdentifier - The App Identifier
*/
raiseIntentFromRow(rowNode: IRowNode, intent: Intent, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution>;
/**
* Raises an Intent with the given Context from the given Row Node with the given Primary Key Value
* @param primaryKeyValue - The Primary Key Value
* @param intent - The FDC3 Intent
* @param contextType - The FDC3 Context Type
* @param appIdentifier - The App Identifier
*/
raiseIntentFromPrimaryKey(primaryKeyValue: string | number, intent: Intent, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution> | undefined;
/**
* Finds and raises an Intent based on the given Context from the given Row Node
* @param rowNode - The Row Node
* @param contextType - The FDC3 Context Type
* @param appIdentifier - The App Identifier
*/
raiseIntentForContextFromRow(rowNode: IRowNode, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution>;
/**
* Finds and raises an Intent based on the given Context from the given Row Node with the given Primary Key Value
* @param primaryKeyValue - The Primary Key Value
* @param contextType - The FDC3 Context Type
* @param appIdentifier - The App Identifier
*/
raiseIntentForContextFromPrimaryKey(primaryKeyValue: string | number, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution> | undefined;
/**
* Broadcasts the given Context from the given Row Node
* @param rowNode - The Row Node
* @param contextType - The FDC3 Context Type
* @param channel - (optional) Channel to broadcast to; if not provided, the Context will be broadcast to whatever User Channel the app is joined to
*/
broadcastFromRow(rowNode: IRowNode, contextType: ContextType, channel?: Channel): Promise<void>;
/**
* Broadcasts the given Context from the given Row Node with the given Primary Key Value
* @param primaryKeyValue - The Primary Key Value
* @param contextType - The FDC3 Context Type
* @param channel - (optional) Channel to broadcast to; if not provided, the Context will be broadcast to whatever User Channel the app is joined to
*/
broadcastFromPrimaryKey(primaryKeyValue: string | number, contextType: ContextType, channel?: Channel): Promise<void> | undefined;
/**
* Checks if the given Context Type is a FDC3 standard Context Type
*/
isStandardContextType(contextType: string): boolean;
/**
* Checks if the given Intent is a FDC3 standard Intent Type
*/
isStandardIntentType(intentType: string): boolean;
}