機械翻訳について

ITabContext

アプリケーション・レベルのイベントをリスニングし、特定のブラウザ・タブまたはMSIタブからアプリケーション・レベルの操作を実行できます。 たとえば、コンテキストのオープン、コンテキストのクローズなどをリスニングします。

TabContextへの参照を取得するには、getTabContext関数を使用します。 この関数は、アプリケーションがロードされるアクティブなタブへの参照を提供します。 browserTabIdをオプションのパラメータとして渡して、特定のブラウザ・タブのコンテキストを取得できます。

構文は次のとおりです:

getTabContext(browserTabId?: string): Promise<ITabContext>;

パラメータ

パラメータ名 必須かどうか 説明
browserTabId No 特定のブラウザ・タブのID。
ノート: 各ブラウザ・タブからframeworkProviderでgetCurrentTabId APIをコールすることで、各ブラウザのtabIdを取得できます。
/// <reference path="uiEventsFramework.d.ts"/> 
    const  frameworkProvider : IUiEventsFrameworkProvider  = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID', 'v1');
    const tabContext: ITabContext = await frameworkProvider.getTabContext();
JavaScriptの例を次に示します:
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID', 'v1');
const tabContext = await frameworkProvider.getTabContext();

getTypeファンクション

tabContextオブジェクトの型を返します。 タイプは、「ブラウザ」タブ、「MSI」タブまたは「MSIサブ」タブです。

次のブロックは、getTypeの構文を示しています:
getType(): string;
次のコード・サンプルは、getTypeのtypescriptの例を示しています。
/// <reference path="uiEventsFramework.d.ts"/>
      const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
      const tabContext: ITabContext = await frameworkProvider.getTabContext();
      const type: string = tabContext.getType();
  
次のコード・サンプルは、getTypeのJavascriptの例を示しています。
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
  const tabContext = await frameworkProvider.getTabContext();
  const type = tabContext.getType();
  

サブスクライブ

このAPIを使用して、Fusionアプリケーションからイベントをサブスクライブします。 このAPIを使用すると、外部アプリケーションはFusionアプリケーションからアプリケーション・レベルのイベントをリスニングできます。 イベントがこのAPIを使用してサブスクライブされると、サブスクリプションが処分されるまで外部アプリケーションに通知されます。

次のコード・サンプルは、サブスクライブの構文を示しています:
subscribe: (payload: IEventSubscriptionPayload, callbackFunction: (response:IEventResponsePayload) => void)
=> ISubscriptionContext;
パラメータは次のとおりです:
パラメータ 必須かどうか 説明
payload Yes サブスクライブ中のイベントのリクエスト・オブジェクト。
callbackFunction Yes イベント・レスポンスを引数として取得するコールバック関数。
Typescriptのコード・サンプルを次に示します:
/// <reference path="uiEventsFramework.d.ts"/>
      const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
      const tabContext: ITabContext = await frameworkProvider.getTabContext();
      const payload: IEventRequest = frameworkProvider.requestHelper.createSubscriptionRequest('cxEventBusContextCloseEvent');
      const subscriptionContext: ISubscriptionContext  = tabContext.subscribe(payload, (response: IEventResponse) => {
           // custom code
       });
  
JavaScriptのコード・サンプルを次に示します:
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
  const tabContext = await frameworkProvider.getTabContext();
  const payload = frameworkProvider.requestHelper.createSubscriptionRequest('cxEventBusContextCloseEvent');
  const subscriptionContext = tabContext.subscribe(payload, (response) => {
      // custom code
  });

subscribeOnce

このAPIを使用して、Fusionイベントを1回のみサブスクライブします。 このAPIを使用すると、外部アプリケーションはFusionアプリケーションからアプリケーション・レベルのイベントをリスニングできます。 ただし、このサブスクリプションは、最初の通知後に自動的に破棄されます。

次のコード例は、構文を示しています:
subscribeOnce: (payload: IEventSubscriptionPayload, callbackFunction: (response: IEventResponsePayload) => void) => ISubscriptionContext;
パラメータは次のとおりです:
パラメータ 必須かどうか 説明
payload Yes サブスクライブ中のイベントのリクエスト・オブジェクト。
callbackFunction Yes イベント・レスポンスを引数として取得するコールバック関数。
Typescriptのコード・サンプルを次に示します:
/// <reference path="uiEventsFramework.d.ts"/>
      const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
      const tabContext: ITabContext = await frameworkProvider.getTabContext();
      const payload: IEventRequest = frameworkProvider.requestHelper.createSubscriptionRequest('cxEventBusContextCloseEvent');
      const subscriptionContext = tabContext.subscribeOnce(payload, (response: IEventResponse) => {
           // custom code
       });
JavaScriptのコード・サンプルを次に示します:
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
  const tabContext = await frameworkProvider.getTabContext();
  const payload = frameworkProvider.requestHelper.createSubscriptionRequest('cxEventBusContextCloseEvent');
  const subscriptionContext = tabContext.subscribeOnce(payload, (response) => {
      // custom code
  });

公開

このAPIは、動作するようにFusionアプリケーションに通知できます。 APIは、then-catchブロックを追加できるpromiseを返します。 thenブロックは、操作のステータスと、プロセスの完了後に返されるデータを返します。

次のコード・サンプルは、subscribeOnceの構文を示しています:
publish: (requestObject: IOperationRequest) => Promise<IOperationResponse>;
Typescriptのコード・サンプルを次に示します:
/// <reference path="uiEventsFramework.d.ts"/>
      const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1'); 
      const tabs: ITabContext[] = await frameworkProvider.getAvailableTabs();
      const tabContext: ITabContext = tabs[0];
      const payload: IOperationRequest = frameworkProvider.requestHelper.createPublishRequest('cxEventBusFocusTabOperation');
      tabContext.publish(payload).then((message: IOperationResponse) => {
           const response: IFocusTabResponseData = message as IFocusTabResponseData;
           const currentTab: ITabContext = response.getResponseData().getCurrentTab();
           const previousTab: ITabContext = response.getResponseData().getPreviousTab()
      }).catch((error: IErrorData) => {
           // error    
      });
JavaScriptのコード・サンプルを次に示します:
const tabs = await frameworkProvider.getAvailableTabs();
  const tabContext = tabs[0];
  const payload = frameworkProvider.requestHelper.createPublishRequest('cxEventBusFocusTabOperation');
  tabContext.publish(payload).then((response) => {
      const currentTab = response.getResponseData().getCurrentTab();
      const previousTab = response.getResponseData().getPreviousTab()
  }).catch((error) => {
      // error    
  });

処分

このAPIは、イベントに追加されたサブスクリプションを処分または登録解除できます。 サブスクリプションを処分することで、APIはクライアント側レシーバへのそれ以上の通知をトリガーしません。
dispose:() => void;
次のコード・サンプルは、dispose APIのtypescriptの例を示しています。
/// <reference path="uiEventsFramework.d.ts"/>
      const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
      const tabContext: ITabContext = await frameworkProvider.getTabContext();
      const payload: IEventRequest = frameworkProvider.requestHelper.createSubscriptionRequest('cxEventBusContextCloseEvent');
      const subscriptionContext: ISubscriptionContext  = tabContext.subscribe(payload, (response: IEventResponse) => {
           // custom code
      });
      tabContext.dispose();
次のコード・サンプルは、Javascriptのdispose APIの例を示しています。
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
  const tabContext = await frameworkProvider.getTabContext();
  const payload = frameworkProvider.requestHelper.createSubscriptionRequest('cxEventBusContextCloseEvent');
  const subscriptionContext  = tabContext.subscribe(payload, (response) => {
      // custom code
  });
  tabContext.dispose();
  

getSupportedEvents

このメソッドは、globalContext上でサポートされているすべてのイベントを返します。

次のコード・サンプルは、getSupportedEventsの構文を示しています:
getSuportedEvents(): string[];
次のコード・サンプルは、TypescriptのgetSupportedEventsの例を示しています。
/// <reference path="uiEventsFramework.d.ts"/>
      const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
      const tabContext: ITabContext = await frameworkProvider.getTabContext();
      const supportedEvents: string[] = tabContext.getSupportedEvents();
  
次のコード・サンプルは、JavascriptのgetSupportedEventsの例を示しています。
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
  const tabContext = await frameworkProvider.getTabContext();
  const supportedEvents = tabContext.getSupportedEvents();

getSupportedActions

このメソッドは、globalContext上でサポートされているすべてのアクションを返します。

次のコード・サンプルは、getSupportedActionsの構文を示しています:
getSupportedActions(): string[];
次のコード・サンプルは、Typescriptの例を示しています。
/// <reference path="uiEventsFramework.d.ts"/>
      const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
      const tabContext: ITabContext = await frameworkProvider.getTabContext();
      const supportedActions: string[] = tabContext.getSupportedActions();
  
次のコード・サンプルは、JavascriptのgetSupportedActionsの例を示しています。
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
  const tabContext = await frameworkProvider.getTabContext();
  const supportedActions = tabContext.getSupportedActions();

getAvailableTabs

このメソッドは、特定のタブまたはそのtabContextの上で使用可能なすべてのタブを返します。

次のコード例は、構文を示しています:
getAvailableTabs(): Promise<ITabContext[]>;
Typescriptのコード・サンプルを次に示します。
/// <reference path="uiEventsFramework.d.ts"/>
      const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
      const tabContext: ITabContext = await frameworkProvider.getTabContext();
      const availableTabs: ITabContext[] = await tabContext.getAvailableTabs();
  
Javascriptのコード・サンプルを次に示します。
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
  const tabContext = await frameworkProvider.getTabContext();
  const availableTabs = await tabContext.getAvailableTabs();

getActiveRecord

このメソッドは、特定のタブ上のすべてのアクティブなレコードを返します。

次のコード例は、構文を示しています:
getActiveRecord(): Promise<IRecordContext>;
Typescriptのコード・サンプルを次に示します。
/// <reference path="uiEventsFramework.d.ts"/>
      const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
      const tabContext: ITabContext = await frameworkProvider.getTabContext();
      const activeRecord: IRecordContext = await tabContext.getActiveRecord();
  
Javascriptのコード・サンプルを次に示します。
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
  const tabContext = await frameworkProvider.getTabContext();
  const activeRecord = await tabContext.getActiveRecord();

getAvailableRecord

このメソッドは、特定のタブで使用可能なすべてのレコードを返します。

次のコード例は、構文を示しています:
getAvailableRecords(): Promise<IRecordContext[]>;
Typescriptのコード・サンプルを次に示します。
/// <reference path="uiEventsFramework.d.ts"/>
      const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
      const tabContext: ITabContext = await frameworkProvider.getTabContext();
      const availableRecords: IRecordContext[] = await tabContext.getAvailableRecords();
  
Javascriptのコード・サンプルを次に示します。
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
  const tabContext = await frameworkProvider.getTabContext();
  const dependentTabs = await tabContext.getDependentTabs();

getTabInfo

このメソッドは、TabContextに関連付けられたタブID、MSIタブIDおよびMSIタブIDを返します。

次のコード例は、構文を示しています:
getTabInfo(): ITabInfo;
Typescriptのコード・サンプルを次に示します。
/// <reference path="uiEventsFramework.d.ts"/>
const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
const tabContext: ITabContext = await frameworkProvider.getTabContext();
const tabInfo: ITabInfo = tabContext.getTabInfo();
  
Javascriptのコード・サンプルを次に示します。
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
const tabContext = await frameworkProvider.getTabContext();
const tabInfo = await tabContext.getTabInfo();

getEngagementInfo

このメソッドは、TabContextに関連付けられたエンゲージメントを返します。

次のコード例は、構文を示しています:
getEngagementInfo(): Promise<IEngagementInfo>;
Typescriptのコード・サンプルを次に示します。
/// <reference path="uiEventsFramework.d.ts"/>
const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
const tabContext: ITabContext = await frameworkProvider.getTabContext();
const engagementInfo: IEngagementInfo = await tabContext.getEngagementInfo();
  
Javascriptのコード・サンプルを次に示します。
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID''v1');
const tabContext = await frameworkProvider.getTabContext();
const engagementInfo = await tabContext.getEngagementInfo();